{"version":3,"file":"js/chunk-vendors.acf9201b.js","mappings":"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E,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAA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,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,SAAU,GAAO+xG,EAAiB,CAAC,IAAI/xG,WAAW,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OA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EA,GAAY,CAAC,EAAEA,GAAY,CAAC,EAAEA,GAAY,CAAC,EAAEA,GAAY,CAAC,EAAEC,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEG,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAED,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAEA,GAAc,CAAC,EAAED,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,GAAa,CAAC,EAAEA,IAAkBQ,EAAY,CAAC,EAAE,GAAG,GAAG,CAAC,GAAGZ,GAAU,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,OAAWa,EAAY,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAQC,EAAY,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAGd,GAAU,CAAC,GAAGA,GAAU,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAASe,EAAY,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAASC,EAAY,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAA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AW,GAAG,CAACH,GAAG,MAAOC,KAAK,EAAEC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,MAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC,KAAK,GAAGC,KAAK,GAAGC,WAAW,GAAG,CAACH,GAAG,KAAOC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AY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,WAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,WAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,UAAW,WAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,UAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,IAAIA,EAAO,WAAW,YAAY,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AAK,EAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,EAAK,IAAK,GAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,IAAK,EAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,GAAK,IAAK,GAAK,IAAK,EAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,GAAK,GAAK,GAAK,EAAK,GAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAK,IAAK,IAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,EAAK,IAAK,GAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,KAAO3Y,KAAK4lP,OAAO,IAAIjtO,WAAW,CAAC,GAAK,EAAK,IAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,EAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,EAAK,IAAK,IAAK,GAAK,EAAK,IAAK,GAAK,GAAK,IAAK,IAAK,GAAK,GAAK,EAAK,IAAK,IAAK,IAAK,EAAK,EAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,IAAK,GAAK,IAAK,EAAK,IAAK,GAAK,IAAK,GAAK,GAAK,GAAK,GAAK,IAAK,IAAK,GAAK,GAAK,GAAK,IAAK,IAAK,GAAK,IAAK,GAAK,GAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,GAAK,IAAK,GAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,GAAK,IAAK,GAAK,GAAK,GAAK,EAAK,IAAK,IAAK,IAAK,IAAK,GAAK,IAAK,IAAK,GAAK,GAAK,GAAK,GAAK,GAAK,MAAO3Y,KAAK6lP,KAAK,IAAIjwE,YAAY,CAAC,EAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,UAAW,UAAW,SAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,UAAW,UAAW,SAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,UAAW,UAAW,UAAW,WAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,WAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,SAAW,UAAW,UAAW,UAAW,WAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,SAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAW,UAAW,UAAW,UAAW,UAAW,SAAW,UAAW,UAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,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AAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,MAAOA,EAAE,aAAa,MAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,MAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,MAAOA,EAAE,aAAa,MAAOA,EAAE,aAAa,KAAOA,EAAE,WAAW,KAAOA,EAAE,WAAW,KAAOA,EAAE,WAAW,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,KAAOA,EAAE,aAAa,K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AOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,MAAOA,EAAE,QAAQ,MAAOA,EAAE,OAAO,MAAOA,EAAE,QAAQ,MAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,KAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,KAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,QAAQ,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,QAAQ,MAAOA,EAAE,OAAO,MAAOA,EAAE,QAAQ,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,OAAO,MAAOA,EAAE,WAAW,KAAUl9C,EAAQ+2Q,iBAAiBA,EAAiB/2Q,EAAQiqR,yBAAyBA,GAA8C,SAAShqR,EAAOD,EAAQkqL,GAAqB,aAAa5+K,OAAOE,eAAexL,EAAQ,aAAa,CAACkD,OAAM,IAAOlD,EAAQ8pR,kCAAkC9pR,EAAQ4pR,qCAAqC5pR,EAAQ0pR,4BAA4B1pR,EAAQ06Q,gBAAgB16Q,EAAQu5Q,cAAcv5Q,EAAQupR,iBAAiBvpR,EAAQ05Q,mBAAc,EAAO,IAAIhvF,EAAYR,EAAoB,GAAOwvF,GAAc,EAAGhvF,EAAYga,wBAAuB,SAASxnJ,GAAGA,EAAE,eAAe,YAAYA,EAAE,oBAAoB,iBAAiBA,EAAE,0BAA0B,wBAAwBA,EAAE,sBAAsB,oBAAoBA,EAAE,cAAc,YAAYA,EAAE,mBAAmB,iBAAiBA,EAAE,yBAAyB,wBAAwBA,EAAE,qBAAqB,oBAAoBA,EAAE,eAAe,YAAYA,EAAE,oBAAoB,iBAAiBA,EAAE,0BAA0B,wBAAwBA,EAAE,sBAAsB,oBAAoBA,EAAE,SAAS,YAAYA,EAAE,cAAc,iBAAiBA,EAAE,oBAAoB,wBAAwBA,EAAE,gBAAgB,oBAAoBA,EAAE,sBAAsB,wBAAwBA,EAAE,gBAAgB,iBAAiBA,EAAE,kBAAkB,oBAAoBA,EAAE,WAAW,YAAYA,EAAE,gBAAgB,eAAeA,EAAE,sBAAsB,sBAAsBA,EAAE,kBAAkB,kBAAkBA,EAAE,cAAc,UAAUA,EAAE,mBAAmB,eAAeA,EAAE,yBAAyB,sBAAsBA,EAAE,qBAAqB,kBAAkBA,EAAE,6BAA6B,sBAAsBA,EAAE,uBAAuB,eAAeA,EAAE,yBAAyB,kBAAkBA,EAAE,kBAAkB,UAAUA,EAAE,aAAa,YAAYA,EAAE,kBAAkB,iBAAiBA,EAAE,wBAAwB,wBAAwBA,EAAE,yBAAyB,wBAAwBA,EAAE,oBAAoB,oBAAoBA,EAAE,qBAAqB,oBAAoBA,EAAE,eAAe,SAASA,EAAE,qBAAqB,SAASA,EAAE,iBAAiB,SAASA,EAAE,iBAAiB,cAAcA,EAAE,sBAAsB,aAAaA,EAAE,4BAA4B,mBAAmBA,EAAE,wBAAwB,eAAeA,EAAE,mBAAmB,cAAcA,EAAE,wBAAwB,aAAaA,EAAE,8BAA8B,mBAAmBA,EAAE,gCAAgC,mBAAmBA,EAAE,0BAA0B,aAAaA,EAAE,0BAA0B,eAAeA,EAAE,4BAA4B,eAAeA,EAAE,qBAAqB,cAAcA,EAAE,0BAA0B,aAAaA,EAAE,gCAAgC,mBAAmBA,EAAE,4BAA4B,kBAAkBl9C,EAAQ05Q,cAAcA,EAAc,IAAI6P,GAAiB,EAAG7+F,EAAYga,wBAAuB,SAASxnJ,GAAGA,EAAE,WAAW,YAAYA,EAAE,gBAAgB,iBAAiBA,EAAE,sBAAsB,wBAAwBA,EAAE,kBAAkB,oBAAoBA,EAAE,iBAAiB,YAAYA,EAAE,sBAAsB,iBAAiBA,EAAE,4BAA4B,wBAAwBA,EAAE,wBAAwB,oBAAoBA,EAAE,eAAe,gBAAgBA,EAAE,oBAAoB,qBAAqBA,EAAE,0BAA0B,2BAA2BA,EAAE,sBAAsB,uBAAuBA,EAAE,iBAAiB,UAAUA,EAAE,sBAAsB,eAAeA,EAAE,4BAA4B,sBAAsBA,EAAE,wBAAwB,kBAAkBA,EAAE,mBAAmB,iBAAiBA,EAAE,aAAa,YAAYA,EAAE,kBAAkB,iBAAiBA,EAAE,wBAAwB,uBAAuBA,EAAE,oBAAoB,mBAAmBA,EAAE,aAAa,YAAYA,EAAE,kBAAkB,iBAAiBA,EAAE,wBAAwB,uBAAuBA,EAAE,oBAAoB,mBAAmBA,EAAE,cAAc,aAAaA,EAAE,mBAAmB,kBAAkBA,EAAE,yBAAyB,wBAAwBA,EAAE,qBAAqB,oBAAoBA,EAAE,cAAc,aAAaA,EAAE,mBAAmB,kBAAkBA,EAAE,yBAAyB,wBAAwBA,EAAE,qBAAqB,oBAAoBA,EAAE,iBAAiB,eAAeA,EAAE,iBAAiB,YAAYA,EAAE,aAAa,eAAeA,EAAE,qBAAqB,kBAAkBl9C,EAAQupR,iBAAiBA,EAAiB,IAAIhQ,GAAc,EAAG7uF,EAAYga,wBAAuB,SAASxnJ,GAAGA,EAAE,iBAAgB,EAAKA,EAAE,eAAc,EAAKA,EAAE,aAAY,EAAKA,EAAE,UAAS,EAAKA,EAAE,eAAc,EAAKA,EAAE,aAAY,EAAKA,EAAE,wBAAuB,EAAKA,EAAE,YAAW,EAAKA,EAAE,SAAQ,EAAKA,EAAE,SAAQ,EAAKA,EAAE,UAAS,EAAKA,EAAE,WAAU,EAAKA,EAAE,gBAAe,EAAKA,EAAE,SAAQ,EAAKA,EAAE,UAAS,EAAKA,EAAE,qBAAoB,EAAKA,EAAE,aAAY,EAAKA,EAAE,uBAAsB,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,kBAAiB,EAAKA,EAAE,WAAU,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,YAAW,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,aAAY,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,WAAU,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,sBAAqB,EAAKA,EAAE,uBAAsB,EAAKA,EAAE,cAAa,EAAKA,EAAE,eAAc,EAAKA,EAAE,eAAc,EAAKA,EAAE,gBAAe,EAAKA,EAAE,cAAa,EAAKA,EAAE,cAAa,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,eAAc,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,eAAc,EAAKA,EAAE,aAAY,EAAKA,EAAE,cAAa,EAAKA,EAAE,cAAa,EAAKA,EAAE,aAAY,EAAKA,EAAE,YAAW,EAAKA,EAAE,cAAa,EAAKA,EAAE,cAAa,EAAKA,EAAE,kBAAiB,EAAKA,EAAE,aAAY,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,eAAc,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,qBAAoB,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,YAAW,EAAKA,EAAE,sBAAqB,EAAKA,EAAE,YAAW,EAAKA,EAAE,aAAY,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,cAAa,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,YAAW,EAAKA,EAAE,gBAAe,EAAKA,EAAE,WAAU,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,qBAAoB,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,kBAAiB,EAAKA,EAAE,WAAU,EAAKA,EAAE,kBAAiB,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,WAAU,EAAKA,EAAE,WAAU,EAAKA,EAAE,WAAU,EAAKA,EAAE,cAAa,EAAKA,EAAE,cAAa,EAAKA,EAAE,aAAY,EAAKA,EAAE,eAAc,EAAKA,EAAE,aAAY,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,0BAAyB,EAAKA,EAAE,kBAAiB,EAAKA,EAAE,aAAY,EAAKA,EAAE,aAAY,EAAKA,EAAE,YAAW,EAAKA,EAAE,uBAAsB,EAAKA,EAAE,aAAY,EAAKA,EAAE,iBAAgB,EAAKA,EAAE,sBAAqB,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,aAAY,EAAKA,EAAE,UAAS,EAAKA,EAAE,gBAAe,EAAKA,EAAE,UAAS,EAAKA,EAAE,UAAS,EAAKA,EAAE,YAAW,EAAKA,EAAE,YAAW,EAAKA,EAAE,aAAY,EAAKA,EAAE,SAAQ,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,gBAAe,EAAKA,EAAE,YAAW,EAAKA,EAAE,UAAS,EAAKA,EAAE,WAAU,EAAKA,EAAE,YAAW,EAAKA,EAAE,oBAAmB,EAAKA,EAAE,WAAU,EAAKA,EAAE,cAAa,EAAKA,EAAE,mBAAkB,EAAKA,EAAE,eAAc,EAAKA,EAAE,eAAc,EAAKA,EAAE,WAAU,EAAKA,EAAE,UAAS,EAAKA,EAAE,eAAc,EAAKA,EAAE,YAAW,EAAKA,EAAE,SAAQ,KAAQl9C,EAAQu5Q,cAAcA,EAAc,IAAImB,GAAgB,EAAGhwF,EAAYga,wBAAuB,SAASxnJ,GAAGA,EAAE,aAAY,EAAKA,EAAE,WAAU,EAAKA,EAAE,iBAAgB,KAAQl9C,EAAQ06Q,gBAAgBA,EAAgB,IAAIgP,GAA4B,EAAGh/F,EAAYga,wBAAuB,SAASxnJ,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,IAAIA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,IAAI,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,MAAMA,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAMA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,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M,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,MAAQ,CAAC4rE,MAAM,KAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAQ5rE,IAAI,OAAS,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CAAC4rE,MAAM,MAAO5rE,IAAI,OAAQ,CA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,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,MAAMA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,KAAKA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,OAAOA,EAAE,KAAU,KAAKA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,KAAKA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,OAAOA,EAAE,KAAU,KAAKA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,KAAeA,EAAE,KAAU,MAAqBA,EAAE,KAAU,KAAeA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,OAAOA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,OAA2BA,EAAE,KAAU,MAAMA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,OAAiBA,EAAE,KAAU,UAAmCA,EAAE,KAAU,SAA6BA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAUA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,MAAWA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAKA,EAAE,KAAU,MAAMA,EAAE,KAAU,MAAMA,EAAE,KAAU,KAAUA,EAAE,KAAU,KAAKA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,MAAgBA,EAAE,KAAU,MAAgBA,EAAE,KAAU,MAAgBA,EAAE,KAAU,MAAgBA,EAAE,KAAU,MAAgBA,EAAE,KAAU,MAAgBA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,KAAeA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,MAAqBA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAAIA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IAASA,EAAE,KAAU,IA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E,EAAoB,GAAOgjH,EAAU,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAASC,EAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAA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wBAAuB,SAASxnJ,GAAGA,EAAE,SAAS,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,QAAQ,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,MAAM,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,IAAIA,EAAE,QAAQ,I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AoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,mCAAoB,QAAQ,IAAIk2H,SAAS,mCAAoB;;;;;;;;;;;;;;;;;;;;;IAoBj9F,SAA2Cx8O,EAAKnt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","sources":["webpack://edital-frontend/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://edital-frontend/./node_modules/axios/index.js","webpack://edital-frontend/./node_modules/axios/lib/adapters/xhr.js","webpack://edital-frontend/./node_modules/axios/lib/axios.js","webpack://edital-frontend/./node_modules/axios/lib/cancel/CancelToken.js","webpack://edital-frontend/./node_modules/axios/lib/cancel/CanceledError.js","webpack://edital-frontend/./node_modules/axios/lib/cancel/isCancel.js","webpack://edital-frontend/./node_modules/axios/lib/core/Axios.js","webpack://edital-frontend/./node_modules/axios/lib/core/AxiosError.js","webpack://edital-frontend/./node_modules/axios/lib/core/InterceptorManager.js","webpack://edital-frontend/./node_modules/axios/lib/core/buildFullPath.js","webpack://edital-frontend/./node_modules/axios/lib/core/dispatchRequest.js","webpack://edital-frontend/./node_modules/axios/lib/core/mergeConfig.js","webpack://edital-frontend/./node_modules/axios/lib/core/settle.js","webpack://edital-frontend/./node_modules/axios/lib/core/transformData.js","webpack://edital-frontend/./node_modules/axios/lib/defaults/index.js","webpack://edital-frontend/./node_modules/axios/lib/defaults/transitional.js","webpack://edital-frontend/./node_modules/axios/lib/env/data.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/bind.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/buildURL.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/combineURLs.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/cookies.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/null.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/spread.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/toFormData.js","webpack://edital-frontend/./node_modules/axios/lib/helpers/validator.js","webpack://edital-frontend/./node_modules/axios/lib/utils.js","webpack://edital-frontend/./node_modules/core-js/internals/a-callable.js","webpack://edital-frontend/./node_modules/core-js/internals/a-possible-prototype.js","webpack://edital-frontend/./node_modules/core-js/internals/add-to-unscopables.js","webpack://edital-frontend/./node_modules/core-js/internals/an-instance.js","webpack://edital-frontend/./node_modules/core-js/internals/an-object.js","webpack://edital-frontend/./node_modules/core-js/internals/array-includes.js","webpack://edital-frontend/./node_modules/core-js/internals/classof-raw.js","webpack://edital-frontend/./node_modules/core-js/internals/classof.js","webpack://edital-frontend/./node_modules/core-js/internals/clear-error-stack.js","webpack://edital-frontend/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://edital-frontend/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://edital-frontend/./node_modules/core-js/internals/create-property-descriptor.js","webpack://edital-frontend/./node_modules/core-js/internals/define-built-in.js","webpack://edital-frontend/./node_modules/core-js/internals/define-global-property.js","webpack://edital-frontend/./node_modules/core-js/internals/descriptors.js","webpack://edital-frontend/./node_modules/core-js/internals/document-create-element.js","webpack://edital-frontend/./node_modules/core-js/internals/dom-exception-constants.js","webpack://edital-frontend/./node_modules/core-js/internals/engine-user-agent.js","webpack://edital-frontend/./node_modules/core-js/internals/engine-v8-version.js","webpack://edital-frontend/./node_modules/core-js/internals/enum-bug-keys.js","webpack://edital-frontend/./node_modules/core-js/internals/error-stack-installable.js","webpack://edital-frontend/./node_modules/core-js/internals/export.js","webpack://edital-frontend/./node_modules/core-js/internals/fails.js","webpack://edital-frontend/./node_modules/core-js/internals/function-apply.js","webpack://edital-frontend/./node_modules/core-js/internals/function-bind-native.js","webpack://edital-frontend/./node_modules/core-js/internals/function-call.js","webpack://edital-frontend/./node_modules/core-js/internals/function-name.js","webpack://edital-frontend/./node_modules/core-js/internals/function-uncurry-this.js","webpack://edital-frontend/./node_modules/core-js/internals/get-built-in.js","webpack://edital-frontend/./node_modules/core-js/internals/get-method.js","webpack://edital-frontend/./node_modules/core-js/internals/global.js","webpack://edital-frontend/./node_modules/core-js/internals/has-own-property.js","webpack://edital-frontend/./node_modules/core-js/internals/hidden-keys.js","webpack://edital-frontend/./node_modules/core-js/internals/html.js","webpack://edital-frontend/./node_modules/core-js/internals/ie8-dom-define.js","webpack://edital-frontend/./node_modules/core-js/internals/indexed-object.js","webpack://edital-frontend/./node_modules/core-js/internals/inherit-if-required.js","webpack://edital-frontend/./node_modules/core-js/internals/inspect-source.js","webpack://edital-frontend/./node_modules/core-js/internals/install-error-cause.js","webpack://edital-frontend/./node_modules/core-js/internals/internal-state.js","webpack://edital-frontend/./node_modules/core-js/internals/is-callable.js","webpack://edital-frontend/./node_modules/core-js/internals/is-forced.js","webpack://edital-frontend/./node_modules/core-js/internals/is-object.js","webpack://edital-frontend/./node_modules/core-js/internals/is-pure.js","webpack://edital-frontend/./node_modules/core-js/internals/is-symbol.js","webpack://edital-frontend/./node_modules/core-js/internals/length-of-array-like.js","webpack://edital-frontend/./node_modules/core-js/internals/make-built-in.js","webpack://edital-frontend/./node_modules/core-js/internals/math-trunc.js","webpack://edital-frontend/./node_modules/core-js/internals/native-symbol.js","webpack://edital-frontend/./node_modules/core-js/internals/native-weak-map.js","webpack://edital-frontend/./node_modules/core-js/internals/normalize-string-argument.js","webpack://edital-frontend/./node_modules/core-js/internals/object-create.js","webpack://edital-frontend/./node_modules/core-js/internals/object-define-properties.js","webpack://edital-frontend/./node_modules/core-js/internals/object-define-property.js","webpack://edital-frontend/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://edital-frontend/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://edital-frontend/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://edital-frontend/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://edital-frontend/./node_modules/core-js/internals/object-keys-internal.js","webpack://edital-frontend/./node_modules/core-js/internals/object-keys.js","webpack://edital-frontend/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://edital-frontend/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://edital-frontend/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://edital-frontend/./node_modules/core-js/internals/own-keys.js","webpack://edital-frontend/./node_modules/core-js/internals/proxy-accessor.js","webpack://edital-frontend/./node_modules/core-js/internals/require-object-coercible.js","webpack://edital-frontend/./node_modules/core-js/internals/shared-key.js","webpack://edital-frontend/./node_modules/core-js/internals/shared-store.js","webpack://edital-frontend/./node_modules/core-js/internals/shared.js","webpack://edital-frontend/./node_modules/core-js/internals/to-absolute-index.js","webpack://edital-frontend/./node_modules/core-js/internals/to-indexed-object.js","webpack://edital-frontend/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://edital-frontend/./node_modules/core-js/internals/to-length.js","webpack://edital-frontend/./node_modules/core-js/internals/to-object.js","webpack://edital-frontend/./node_modules/core-js/internals/to-primitive.js","webpack://edital-frontend/./node_modules/core-js/internals/to-property-key.js","webpack://edital-frontend/./node_modules/core-js/internals/to-string-tag-support.js","webpack://edital-frontend/./node_modules/core-js/internals/to-string.js","webpack://edital-frontend/./node_modules/core-js/internals/try-to-string.js","webpack://edital-frontend/./node_modules/core-js/internals/uid.js","webpack://edital-frontend/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://edital-frontend/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://edital-frontend/./node_modules/core-js/internals/well-known-symbol.js","webpack://edital-frontend/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://edital-frontend/./node_modules/core-js/modules/es.array.includes.js","webpack://edital-frontend/./node_modules/core-js/modules/es.error.cause.js","webpack://edital-frontend/./node_modules/core-js/modules/web.dom-exception.stack.js","webpack://edital-frontend/./node_modules/jiff/jiff.js","webpack://edital-frontend/./node_modules/jiff/lib/InvalidPatchOperationError.js","webpack://edital-frontend/./node_modules/jiff/lib/PatchNotInvertibleError.js","webpack://edital-frontend/./node_modules/jiff/lib/TestFailedError.js","webpack://edital-frontend/./node_modules/jiff/lib/array.js","webpack://edital-frontend/./node_modules/jiff/lib/clone.js","webpack://edital-frontend/./node_modules/jiff/lib/commutePaths.js","webpack://edital-frontend/./node_modules/jiff/lib/deepEquals.js","webpack://edital-frontend/./node_modules/jiff/lib/inverse.js","webpack://edital-frontend/./node_modules/jiff/lib/jsonPatch.js","webpack://edital-frontend/./node_modules/jiff/lib/jsonPointer.js","webpack://edital-frontend/./node_modules/jiff/lib/jsonPointerParse.js","webpack://edital-frontend/./node_modules/jiff/lib/lcs.js","webpack://edital-frontend/./node_modules/jiff/lib/patches.js","webpack://edital-frontend/./node_modules/register-service-worker/index.js","webpack://edital-frontend/./node_modules/sweetalert2/dist/sweetalert2.all.js","webpack://edital-frontend/../../../src/mixins/transitionable/index.ts","webpack://edital-frontend/../../../src/components/VAlert/VAlert.ts","webpack://edital-frontend/../../../src/components/VApp/VApp.ts","webpack://edital-frontend/../../../src/directives/scroll/index.ts","webpack://edital-frontend/../../../src/mixins/scrollable/index.ts","webpack://edital-frontend/../../../src/components/VAppBar/VAppBar.ts","webpack://edital-frontend/../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack://edital-frontend/../../../src/components/VAutocomplete/VAutocomplete.ts","webpack://edital-frontend/../../../src/components/VAvatar/VAvatar.ts","webpack://edital-frontend/../../../src/components/VProgressCircular/index.ts","webpack://edital-frontend/../../../src/components/VBtn/VBtn.ts","webpack://edital-frontend/../../../src/components/VBtn/index.ts","webpack://edital-frontend/../../../src/components/VCard/VCard.ts","webpack://edital-frontend/../../../src/components/VCard/index.ts","webpack://edital-frontend/../../../src/components/VCheckbox/VCheckbox.ts","webpack://edital-frontend/../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack://edital-frontend/../../../src/components/VChip/VChip.ts","webpack://edital-frontend/../../../src/components/VChip/index.ts","webpack://edital-frontend/../../../src/components/VData/VData.ts","webpack://edital-frontend/../../../src/components/VDataIterator/VDataFooter.ts","webpack://edital-frontend/../../../src/components/VDataIterator/VDataIterator.ts","webpack://edital-frontend/../../../../src/components/VDataTable/mixins/header.ts","webpack://edital-frontend/../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack://edital-frontend/../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack://edital-frontend/../../src/util/dedupeModelListeners.ts","webpack://edital-frontend/../../src/util/rebuildFunctionalSlots.ts","webpack://edital-frontend/../../../src/components/VDataTable/VDataTableHeader.ts","webpack://edital-frontend/../../../src/components/VDataTable/Row.ts","webpack://edital-frontend/../../../src/components/VDataTable/RowGroup.ts","webpack://edital-frontend/../../../src/components/VDataTable/MobileRow.ts","webpack://edital-frontend/../../../src/components/VDataTable/VDataTable.ts","webpack://edital-frontend/../../../src/components/VDataTable/VSimpleTable.ts","webpack://edital-frontend/../../../src/components/VDialog/VDialog.ts","webpack://edital-frontend/../../../src/components/VDivider/VDivider.ts","webpack://edital-frontend/../../../src/components/VTextField/index.ts","webpack://edital-frontend/../../../src/components/VFileInput/VFileInput.ts","webpack://edital-frontend/../../../src/components/VFooter/VFooter.ts","webpack://edital-frontend/../../../src/components/VForm/VForm.ts","webpack://edital-frontend/../../../src/components/VGrid/VCol.ts","webpack://edital-frontend/../../../src/components/VGrid/grid.ts","webpack://edital-frontend/../../../src/components/VGrid/VContainer.ts","webpack://edital-frontend/../../../src/components/VGrid/VRow.ts","webpack://edital-frontend/../../../src/components/VGrid/VSpacer.ts","webpack://edital-frontend/../../../src/components/VIcon/VIcon.ts","webpack://edital-frontend/../../../src/components/VIcon/index.ts","webpack://edital-frontend/../../../src/components/VResponsive/VResponsive.ts","webpack://edital-frontend/../../../src/components/VResponsive/index.ts","webpack://edital-frontend/../../../src/components/VImg/VImg.ts","webpack://edital-frontend/../../../src/components/VMessages/VMessages.ts","webpack://edital-frontend/../../../src/components/VMessages/index.ts","webpack://edital-frontend/../../../src/components/VInput/VInput.ts","webpack://edital-frontend/../../../src/components/VInput/index.ts","webpack://edital-frontend/../../../src/components/VItemGroup/VItemGroup.ts","webpack://edital-frontend/../../../src/components/VLabel/VLabel.ts","webpack://edital-frontend/../../../src/components/VLabel/index.ts","webpack://edital-frontend/../../../src/components/VList/VList.ts","webpack://edital-frontend/../../../src/components/VList/VListGroup.ts","webpack://edital-frontend/../../../src/components/VList/VListItem.ts","webpack://edital-frontend/../../../src/components/VList/VListItemAction.ts","webpack://edital-frontend/../../../src/components/VList/VListItemGroup.ts","webpack://edital-frontend/../../../src/components/VList/VListItemIcon.ts","webpack://edital-frontend/../../../src/components/VAvatar/index.ts","webpack://edital-frontend/../../../src/components/VList/VListItemAvatar.ts","webpack://edital-frontend/../../../src/components/VList/index.ts","webpack://edital-frontend/../../../src/components/VMenu/VMenu.ts","webpack://edital-frontend/../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack://edital-frontend/../../../src/components/VOverlay/VOverlay.ts","webpack://edital-frontend/../../../src/components/VProgressCircular/VProgressCircular.ts","webpack://edital-frontend/../../../src/components/VRadioGroup/VRadio.ts","webpack://edital-frontend/../../../src/components/VRadioGroup/VRadioGroup.ts","webpack://edital-frontend/../../../src/components/VRating/VRating.ts","webpack://edital-frontend/../../../src/components/VMenu/index.ts","webpack://edital-frontend/../../../src/components/VDivider/index.ts","webpack://edital-frontend/../../../src/components/VSubheader/index.ts","webpack://edital-frontend/../../../src/components/VSelect/VSelectList.ts","webpack://edital-frontend/../../../src/mixins/filterable/index.ts","webpack://edital-frontend/../../../src/components/VSelect/VSelect.ts","webpack://edital-frontend/../../../src/components/VSheet/VSheet.ts","webpack://edital-frontend/../../../src/components/VSheet/index.ts","webpack://edital-frontend/../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack://edital-frontend/../../../src/components/VStepper/VStepper.ts","webpack://edital-frontend/../../../src/components/VStepper/VStepperContent.ts","webpack://edital-frontend/../../../src/components/VStepper/VStepperStep.ts","webpack://edital-frontend/../../../src/components/VSubheader/VSubheader.ts","webpack://edital-frontend/../../../src/components/VSwitch/VSwitch.ts","webpack://edital-frontend/../../../src/components/VCounter/VCounter.ts","webpack://edital-frontend/../../../src/components/VCounter/index.ts","webpack://edital-frontend/../../../src/mixins/intersectable/index.ts","webpack://edital-frontend/../../../src/components/VTextField/VTextField.ts","webpack://edital-frontend/../../../src/components/VTextarea/VTextarea.ts","webpack://edital-frontend/../../../src/components/VThemeProvider/VThemeProvider.ts","webpack://edital-frontend/../../../src/components/VToolbar/VToolbar.ts","webpack://edital-frontend/../../../src/components/VToolbar/index.ts","webpack://edital-frontend/../../../src/components/VTooltip/VTooltip.ts","webpack://edital-frontend/../../../src/components/transitions/createTransition.ts","webpack://edital-frontend/../../../src/components/transitions/expand-transition.ts","webpack://edital-frontend/../../../src/components/transitions/index.ts","webpack://edital-frontend/../../../src/directives/click-outside/index.ts","webpack://edital-frontend/../../../src/directives/intersect/index.ts","webpack://edital-frontend/../../../src/directives/resize/index.ts","webpack://edital-frontend/../../../src/directives/ripple/index.ts","webpack://edital-frontend/../../../src/directives/touch/index.ts","webpack://edital-frontend/../src/install.ts","webpack://edital-frontend/../../src/locale/en.ts","webpack://edital-frontend/../../../src/presets/default/index.ts","webpack://edital-frontend/../../../src/services/presets/index.ts","webpack://edital-frontend/../../../src/services/application/index.ts","webpack://edital-frontend/../../../src/services/breakpoint/index.ts","webpack://edital-frontend/../../../../src/services/icons/presets/mdi-svg.ts","webpack://edital-frontend/../../../../src/services/icons/presets/md.ts","webpack://edital-frontend/../../../../src/services/icons/presets/mdi.ts","webpack://edital-frontend/../../../../src/services/icons/presets/fa.ts","webpack://edital-frontend/../../../../src/services/icons/presets/fa4.ts","webpack://edital-frontend/../../../../src/services/icons/presets/fa-svg.ts","webpack://edital-frontend/../../../../src/services/icons/presets/index.ts","webpack://edital-frontend/../../../src/services/icons/index.ts","webpack://edital-frontend/../../../src/services/lang/index.ts","webpack://edital-frontend/../../../src/util/color/transformSRGB.ts","webpack://edital-frontend/../../../src/util/color/transformCIELAB.ts","webpack://edital-frontend/../../../src/services/theme/utils.ts","webpack://edital-frontend/../../../src/services/theme/index.ts","webpack://edital-frontend/../src/framework.ts","webpack://edital-frontend/../../src/locale/pt.ts","webpack://edital-frontend/../../../src/mixins/activatable/index.ts","webpack://edital-frontend/../../../src/mixins/applicationable/index.ts","webpack://edital-frontend/../../../src/mixins/binds-attrs/index.ts","webpack://edital-frontend/../../../src/mixins/bootable/index.ts","webpack://edital-frontend/../../../src/mixins/colorable/index.ts","webpack://edital-frontend/../../../src/mixins/comparable/index.ts","webpack://edital-frontend/../../../src/mixins/delayable/index.ts","webpack://edital-frontend/../../../src/mixins/dependent/index.ts","webpack://edital-frontend/../../../src/mixins/detachable/index.ts","webpack://edital-frontend/../../../src/mixins/elevatable/index.ts","webpack://edital-frontend/../../../src/mixins/groupable/index.ts","webpack://edital-frontend/../../../src/components/VProgressLinear/VProgressLinear.ts","webpack://edital-frontend/../../../src/components/VProgressLinear/index.ts","webpack://edital-frontend/../../../src/mixins/loadable/index.ts","webpack://edital-frontend/../../../src/mixins/measurable/index.ts","webpack://edital-frontend/../../../src/mixins/menuable/index.ts","webpack://edital-frontend/../../../src/mixins/mobile/index.ts","webpack://edital-frontend/../../../src/components/VOverlay/index.ts","webpack://edital-frontend/../../../src/mixins/overlayable/index.ts","webpack://edital-frontend/../../../src/mixins/positionable/index.ts","webpack://edital-frontend/../../../src/mixins/proxyable/index.ts","webpack://edital-frontend/../../../src/mixins/registrable/index.ts","webpack://edital-frontend/../../../src/mixins/returnable/index.ts","webpack://edital-frontend/../../../src/mixins/rippleable/index.ts","webpack://edital-frontend/../../../src/mixins/roundable/index.ts","webpack://edital-frontend/../../../src/mixins/routable/index.ts","webpack://edital-frontend/../../../src/mixins/selectable/index.ts","webpack://edital-frontend/../../../src/mixins/sizeable/index.ts","webpack://edital-frontend/../../../src/mixins/ssr-bootable/index.ts","webpack://edital-frontend/../../../src/mixins/stackable/index.ts","webpack://edital-frontend/../../../src/mixins/themeable/index.ts","webpack://edital-frontend/../../../src/mixins/toggleable/index.ts","webpack://edital-frontend/../../../src/mixins/validatable/index.ts","webpack://edital-frontend/../../../src/services/goto/easing-patterns.ts","webpack://edital-frontend/../../../src/services/goto/util.ts","webpack://edital-frontend/../../../src/services/goto/index.ts","webpack://edital-frontend/../../../src/services/service/index.ts","webpack://edital-frontend/../../src/util/colorUtils.ts","webpack://edital-frontend/../../src/util/colors.ts","webpack://edital-frontend/../../src/util/console.ts","webpack://edital-frontend/../../src/util/dom.ts","webpack://edital-frontend/../../src/util/helpers.ts","webpack://edital-frontend/../../src/util/mergeData.ts","webpack://edital-frontend/../../src/util/mixins.ts","webpack://edital-frontend/./node_modules/vue-pdf-app/dist/vue-pdf-app.umd.js","webpack://edital-frontend/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://edital-frontend/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://edital-frontend/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://edital-frontend/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://edital-frontend/./node_modules/vue-router/dist/vue-router.esm.js","webpack://edital-frontend/./node_modules/vue-sweetalert2/dist/vue-sweetalert.umd.js","webpack://edital-frontend/./node_modules/vue-the-mask/dist/vue-the-mask.js","webpack://edital-frontend/./node_modules/vue/dist/vue.runtime.esm.js","webpack://edital-frontend/./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack://edital-frontend/./node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://edital-frontend/./node_modules/chart.js/dist/chart.mjs","webpack://edital-frontend/./node_modules/@babel/runtime/helpers/esm/defineProperty.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */,\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options =\n    typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) {\n    // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n          injectStyles.call(\n            this,\n            (options.functional ? this.parent : this).$root.$options.shadowRoot\n          )\n        }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection(h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n    var responseType = config.responseType;\n    var onCanceled;\n    function done() {\n      if (config.cancelToken) {\n        config.cancelToken.unsubscribe(onCanceled);\n      }\n\n      if (config.signal) {\n        config.signal.removeEventListener('abort', onCanceled);\n      }\n    }\n\n    if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    function onloadend() {\n      if (!request) {\n        return;\n      }\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !responseType || responseType === 'text' ||  responseType === 'json' ?\n        request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(function _resolve(value) {\n        resolve(value);\n        done();\n      }, function _reject(err) {\n        reject(err);\n        done();\n      }, response);\n\n      // Clean up request\n      request = null;\n    }\n\n    if ('onloadend' in request) {\n      // Use onloadend if available\n      request.onloadend = onloadend;\n    } else {\n      // Listen for ready state to emulate onloadend\n      request.onreadystatechange = function handleLoad() {\n        if (!request || request.readyState !== 4) {\n          return;\n        }\n\n        // The request errored out and we didn't get a response, this will be\n        // handled by onerror instead\n        // With one exception: request that using file: protocol, most browsers\n        // will return status as 0 even though it's a successful request\n        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n          return;\n        }\n        // readystate handler is calling before onerror or ontimeout handlers,\n        // so we should call onloadend on the next 'tick'\n        setTimeout(onloadend);\n      };\n    }\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n      var transitional = config.transitional || transitionalDefaults;\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(new AxiosError(\n        timeoutErrorMessage,\n        transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n        config,\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (responseType && responseType !== 'json') {\n      request.responseType = config.responseType;\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken || config.signal) {\n      // Handle cancellation\n      // eslint-disable-next-line func-names\n      onCanceled = function(cancel) {\n        if (!request) {\n          return;\n        }\n        reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n        request.abort();\n        request = null;\n      };\n\n      config.cancelToken && config.cancelToken.subscribe(onCanceled);\n      if (config.signal) {\n        config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n      }\n    }\n\n    if (!requestData) {\n      requestData = null;\n    }\n\n    var protocol = parseProtocol(fullPath);\n\n    if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n      return;\n    }\n\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  // Factory for creating new instances\n  instance.create = function create(instanceConfig) {\n    return createInstance(mergeConfig(defaultConfig, instanceConfig));\n  };\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n\n  // eslint-disable-next-line func-names\n  this.promise.then(function(cancel) {\n    if (!token._listeners) return;\n\n    var i;\n    var l = token._listeners.length;\n\n    for (i = 0; i < l; i++) {\n      token._listeners[i](cancel);\n    }\n    token._listeners = null;\n  });\n\n  // eslint-disable-next-line func-names\n  this.promise.then = function(onfulfilled) {\n    var _resolve;\n    // eslint-disable-next-line func-names\n    var promise = new Promise(function(resolve) {\n      token.subscribe(resolve);\n      _resolve = resolve;\n    }).then(onfulfilled);\n\n    promise.cancel = function reject() {\n      token.unsubscribe(_resolve);\n    };\n\n    return promise;\n  };\n\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new CanceledError(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n  if (this.reason) {\n    listener(this.reason);\n    return;\n  }\n\n  if (this._listeners) {\n    this._listeners.push(listener);\n  } else {\n    this._listeners = [listener];\n  }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n  if (!this._listeners) {\n    return;\n  }\n  var index = this._listeners.indexOf(listener);\n  if (index !== -1) {\n    this._listeners.splice(index, 1);\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n  // eslint-disable-next-line no-eq-null,eqeqeq\n  AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n  this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n  __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof configOrUrl === 'string') {\n    config = config || {};\n    config.url = configOrUrl;\n  } else {\n    config = configOrUrl || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  var transitional = config.transitional;\n\n  if (transitional !== undefined) {\n    validator.assertOptions(transitional, {\n      silentJSONParsing: validators.transitional(validators.boolean),\n      forcedJSONParsing: validators.transitional(validators.boolean),\n      clarifyTimeoutError: validators.transitional(validators.boolean)\n    }, false);\n  }\n\n  // filter out skipped interceptors\n  var requestInterceptorChain = [];\n  var synchronousRequestInterceptors = true;\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n      return;\n    }\n\n    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  var responseInterceptorChain = [];\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  var promise;\n\n  if (!synchronousRequestInterceptors) {\n    var chain = [dispatchRequest, undefined];\n\n    Array.prototype.unshift.apply(chain, requestInterceptorChain);\n    chain = chain.concat(responseInterceptorChain);\n\n    promise = Promise.resolve(config);\n    while (chain.length) {\n      promise = promise.then(chain.shift(), chain.shift());\n    }\n\n    return promise;\n  }\n\n\n  var newConfig = config;\n  while (requestInterceptorChain.length) {\n    var onFulfilled = requestInterceptorChain.shift();\n    var onRejected = requestInterceptorChain.shift();\n    try {\n      newConfig = onFulfilled(newConfig);\n    } catch (error) {\n      onRejected(error);\n      break;\n    }\n  }\n\n  try {\n    promise = dispatchRequest(newConfig);\n  } catch (error) {\n    return Promise.reject(error);\n  }\n\n  while (responseInterceptorChain.length) {\n    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  var fullPath = buildFullPath(config.baseURL, config.url);\n  return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n\n  function generateHTTPMethod(isForm) {\n    return function httpMethod(url, data, config) {\n      return this.request(mergeConfig(config || {}, {\n        method: method,\n        headers: isForm ? {\n          'Content-Type': 'multipart/form-data'\n        } : {},\n        url: url,\n        data: data\n      }));\n    };\n  }\n\n  Axios.prototype[method] = generateHTTPMethod();\n\n  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n  Error.call(this);\n  this.message = message;\n  this.name = 'AxiosError';\n  code && (this.code = code);\n  config && (this.config = config);\n  request && (this.request = request);\n  response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n  toJSON: function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code,\n      status: this.response && this.response.status ? this.response.status : null\n    };\n  }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n  'ERR_BAD_OPTION_VALUE',\n  'ERR_BAD_OPTION',\n  'ECONNABORTED',\n  'ETIMEDOUT',\n  'ERR_NETWORK',\n  'ERR_FR_TOO_MANY_REDIRECTS',\n  'ERR_DEPRECATED',\n  'ERR_BAD_RESPONSE',\n  'ERR_BAD_REQUEST',\n  'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n  descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n  var axiosError = Object.create(prototype);\n\n  utils.toFlatObject(error, axiosError, function filter(obj) {\n    return obj !== Error.prototype;\n  });\n\n  AxiosError.call(axiosError, error.message, code, config, request, response);\n\n  axiosError.name = error.name;\n\n  customProps && Object.assign(axiosError, customProps);\n\n  return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected,\n    synchronous: options ? options.synchronous : false,\n    runWhen: options ? options.runWhen : null\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n\n  if (config.signal && config.signal.aborted) {\n    throw new CanceledError();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData.call(\n    config,\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData.call(\n      config,\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData.call(\n          config,\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  function getMergedValue(target, source) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge(target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDeepProperties(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(config1[prop], config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function valueFromConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(undefined, config2[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function defaultToConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      return getMergedValue(undefined, config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  // eslint-disable-next-line consistent-return\n  function mergeDirectKeys(prop) {\n    if (prop in config2) {\n      return getMergedValue(config1[prop], config2[prop]);\n    } else if (prop in config1) {\n      return getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  var mergeMap = {\n    'url': valueFromConfig2,\n    'method': valueFromConfig2,\n    'data': valueFromConfig2,\n    'baseURL': defaultToConfig2,\n    'transformRequest': defaultToConfig2,\n    'transformResponse': defaultToConfig2,\n    'paramsSerializer': defaultToConfig2,\n    'timeout': defaultToConfig2,\n    'timeoutMessage': defaultToConfig2,\n    'withCredentials': defaultToConfig2,\n    'adapter': defaultToConfig2,\n    'responseType': defaultToConfig2,\n    'xsrfCookieName': defaultToConfig2,\n    'xsrfHeaderName': defaultToConfig2,\n    'onUploadProgress': defaultToConfig2,\n    'onDownloadProgress': defaultToConfig2,\n    'decompress': defaultToConfig2,\n    'maxContentLength': defaultToConfig2,\n    'maxBodyLength': defaultToConfig2,\n    'beforeRedirect': defaultToConfig2,\n    'transport': defaultToConfig2,\n    'httpAgent': defaultToConfig2,\n    'httpsAgent': defaultToConfig2,\n    'cancelToken': defaultToConfig2,\n    'socketPath': defaultToConfig2,\n    'responseEncoding': defaultToConfig2,\n    'validateStatus': mergeDirectKeys\n  };\n\n  utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n    var merge = mergeMap[prop] || mergeDeepProperties;\n    var configValue = merge(prop);\n    (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n  });\n\n  return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(new AxiosError(\n      'Request failed with status code ' + response.status,\n      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n      response.config,\n      response.request,\n      response\n    ));\n  }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  var context = this || defaults;\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn.call(context, data, headers);\n  });\n\n  return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('../adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('../adapters/http');\n  }\n  return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n  if (utils.isString(rawValue)) {\n    try {\n      (parser || JSON.parse)(rawValue);\n      return utils.trim(rawValue);\n    } catch (e) {\n      if (e.name !== 'SyntaxError') {\n        throw e;\n      }\n    }\n  }\n\n  return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n  transitional: transitionalDefaults,\n\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n\n    var isObjectPayload = utils.isObject(data);\n    var contentType = headers && headers['Content-Type'];\n\n    var isFileList;\n\n    if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n      var _FormData = this.env && this.env.FormData;\n      return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n    } else if (isObjectPayload || contentType === 'application/json') {\n      setContentTypeIfUnset(headers, 'application/json');\n      return stringifySafely(data);\n    }\n\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    var transitional = this.transitional || defaults.transitional;\n    var silentJSONParsing = transitional && transitional.silentJSONParsing;\n    var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n    var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n    if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n      try {\n        return JSON.parse(data);\n      } catch (e) {\n        if (strictJSONParsing) {\n          if (e.name === 'SyntaxError') {\n            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n          }\n          throw e;\n        }\n      }\n    }\n\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  env: {\n    FormData: require('./env/FormData')\n  },\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  },\n\n  headers: {\n    common: {\n      'Accept': 'application/json, text/plain, */*'\n    }\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n  silentJSONParsing: true,\n  forcedJSONParsing: true,\n  clarifyTimeoutError: false\n};\n","module.exports = {\n  \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n  return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n  var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n  return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n  // eslint-disable-next-line no-param-reassign\n  formData = formData || new FormData();\n\n  var stack = [];\n\n  function convertValue(value) {\n    if (value === null) return '';\n\n    if (utils.isDate(value)) {\n      return value.toISOString();\n    }\n\n    if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n      return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n    }\n\n    return value;\n  }\n\n  function build(data, parentKey) {\n    if (utils.isPlainObject(data) || utils.isArray(data)) {\n      if (stack.indexOf(data) !== -1) {\n        throw Error('Circular reference detected in ' + parentKey);\n      }\n\n      stack.push(data);\n\n      utils.forEach(data, function each(value, key) {\n        if (utils.isUndefined(value)) return;\n        var fullKey = parentKey ? parentKey + '.' + key : key;\n        var arr;\n\n        if (value && !parentKey && typeof value === 'object') {\n          if (utils.endsWith(key, '{}')) {\n            // eslint-disable-next-line no-param-reassign\n            value = JSON.stringify(value);\n          } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n            // eslint-disable-next-line func-names\n            arr.forEach(function(el) {\n              !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n            });\n            return;\n          }\n        }\n\n        build(value, fullKey);\n      });\n\n      stack.pop();\n    } else {\n      formData.append(parentKey, convertValue(data));\n    }\n  }\n\n  build(obj);\n\n  return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n  validators[type] = function validator(thing) {\n    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n  };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n  function formatMessage(opt, desc) {\n    return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n  }\n\n  // eslint-disable-next-line func-names\n  return function(value, opt, opts) {\n    if (validator === false) {\n      throw new AxiosError(\n        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n        AxiosError.ERR_DEPRECATED\n      );\n    }\n\n    if (version && !deprecatedWarnings[opt]) {\n      deprecatedWarnings[opt] = true;\n      // eslint-disable-next-line no-console\n      console.warn(\n        formatMessage(\n          opt,\n          ' has been deprecated since v' + version + ' and will be removed in the near future'\n        )\n      );\n    }\n\n    return validator ? validator(value, opt, opts) : true;\n  };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n  if (typeof options !== 'object') {\n    throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n  }\n  var keys = Object.keys(options);\n  var i = keys.length;\n  while (i-- > 0) {\n    var opt = keys[i];\n    var validator = schema[opt];\n    if (validator) {\n      var value = options[opt];\n      var result = value === undefined || validator(value, opt, options);\n      if (result !== true) {\n        throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n      }\n      continue;\n    }\n    if (allowUnknown !== true) {\n      throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n    }\n  }\n}\n\nmodule.exports = {\n  assertOptions: assertOptions,\n  validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n  // eslint-disable-next-line func-names\n  return function(thing) {\n    var str = toString.call(thing);\n    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n  };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n  type = type.toLowerCase();\n  return function isKindOf(thing) {\n    return kindOf(thing) === type;\n  };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n  if (kindOf(val) !== 'object') {\n    return false;\n  }\n\n  var prototype = Object.getPrototypeOf(val);\n  return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n  var pattern = '[object FormData]';\n  return thing && (\n    (typeof FormData === 'function' && thing instanceof FormData) ||\n    toString.call(thing) === pattern ||\n    (isFunction(thing.toString) && thing.toString() === pattern)\n  );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (isPlainObject(result[key]) && isPlainObject(val)) {\n      result[key] = merge(result[key], val);\n    } else if (isPlainObject(val)) {\n      result[key] = merge({}, val);\n    } else if (isArray(val)) {\n      result[key] = val.slice();\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n  constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n  constructor.prototype.constructor = constructor;\n  props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n  var props;\n  var i;\n  var prop;\n  var merged = {};\n\n  destObj = destObj || {};\n\n  do {\n    props = Object.getOwnPropertyNames(sourceObj);\n    i = props.length;\n    while (i-- > 0) {\n      prop = props[i];\n      if (!merged[prop]) {\n        destObj[prop] = sourceObj[prop];\n        merged[prop] = true;\n      }\n    }\n    sourceObj = Object.getPrototypeOf(sourceObj);\n  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n  return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n  str = String(str);\n  if (position === undefined || position > str.length) {\n    position = str.length;\n  }\n  position -= searchString.length;\n  var lastIndex = str.indexOf(searchString, position);\n  return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n  if (!thing) return null;\n  var i = thing.length;\n  if (isUndefined(i)) return null;\n  var arr = new Array(i);\n  while (i-- > 0) {\n    arr[i] = thing[i];\n  }\n  return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n  // eslint-disable-next-line func-names\n  return function(thing) {\n    return TypedArray && thing instanceof TypedArray;\n  };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isPlainObject: isPlainObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  extend: extend,\n  trim: trim,\n  stripBOM: stripBOM,\n  inherits: inherits,\n  toFlatObject: toFlatObject,\n  kindOf: kindOf,\n  kindOfTest: kindOfTest,\n  endsWith: endsWith,\n  toArray: toArray,\n  isTypedArray: isTypedArray,\n  isFileList: isFileList\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (typeof argument == 'object' || isCallable(argument)) return argument;\n  throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n  defineProperty(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw $TypeError('Incorrect invocation');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n  if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n  } return stack;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n      defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n    }\n  }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","var isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n  if (!options) options = {};\n  var simple = options.enumerable;\n  var name = options.name !== undefined ? options.name : key;\n  if (isCallable(value)) makeBuiltIn(value, name, options);\n  if (options.global) {\n    if (simple) O[key] = value;\n    else defineGlobalProperty(key, value);\n  } else {\n    if (!options.unsafe) delete O[key];\n    else if (O[key]) simple = true;\n    if (simple) O[key] = value;\n    else createNonEnumerableProperty(O, key, value);\n  } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(global, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = {\n  IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n  DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n  HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n  WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n  InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n  NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n  NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n  NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n  NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n  InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n  InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n  SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n  InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n  NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n  InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n  ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n  TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n  SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n  NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n  AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n  URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n  QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n  TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n  InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n  DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n  var error = Error('a');\n  if (!('stack' in error)) return true;\n  // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n  return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || defineGlobalProperty(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty == typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    defineBuiltIn(target, key, sourceProperty, options);\n  }\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n  return fn && uncurryThis(fn);\n} : function (fn) {\n  return fn && function () {\n    return call.apply(fn, arguments);\n  };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es-x/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    isCallable(NewTarget = dummy.constructor) &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n  if (isObject(options) && 'cause' in options) {\n    createNonEnumerableProperty(O, 'cause', options.cause);\n  }\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  var wmget = uncurryThis(store.get);\n  var wmhas = uncurryThis(store.has);\n  var wmset = uncurryThis(store.set);\n  set = function (it, metadata) {\n    if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    wmset(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n  return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n  if (String(name).slice(0, 7) === 'Symbol(') {\n    name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n  }\n  if (options && options.getter) name = 'get ' + name;\n  if (options && options.setter) name = 'set ' + name;\n  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n    defineProperty(value, 'name', { value: name, configurable: true });\n  }\n  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n    defineProperty(value, 'length', { value: options.arity });\n  }\n  try {\n    if (options && hasOwn(options, 'constructor') && options.constructor) {\n      if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n    // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n    } else if (value.prototype) value.prototype = undefined;\n  } catch (error) { /* empty */ }\n  var state = enforceInternalState(value);\n  if (!hasOwn(state, 'source')) {\n    state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n  } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol();\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n    setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n  key in Target || defineProperty(Target, key, {\n    configurable: true,\n    get: function () { return Source[key]; },\n    set: function (it) { Source[key] = it; }\n  });\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.22.8',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n  return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  && !Symbol.sham\n  && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n    var description = 'Symbol.' + name;\n    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n      WellKnownSymbolsStore[name] = Symbol[name];\n    } else if (USE_SYMBOL_AS_UID && symbolFor) {\n      WellKnownSymbolsStore[name] = symbolFor(description);\n    } else {\n      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n    }\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n  var STACK_TRACE_LIMIT = 'stackTraceLimit';\n  var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n  var path = FULL_NAME.split('.');\n  var ERROR_NAME = path[path.length - 1];\n  var OriginalError = getBuiltIn.apply(null, path);\n\n  if (!OriginalError) return;\n\n  var OriginalErrorPrototype = OriginalError.prototype;\n\n  // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n  if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n  if (!FORCED) return OriginalError;\n\n  var BaseError = getBuiltIn('Error');\n\n  var WrappedError = wrapper(function (a, b) {\n    var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n    var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n    if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n    if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n    if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n    if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n    return result;\n  });\n\n  WrappedError.prototype = OriginalErrorPrototype;\n\n  if (ERROR_NAME !== 'Error') {\n    if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n    else copyConstructorProperties(WrappedError, BaseError, { name: true });\n  } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n    proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n    proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n  }\n\n  copyConstructorProperties(WrappedError, OriginalError);\n\n  if (!IS_PURE) try {\n    // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n    if (OriginalErrorPrototype.name !== ERROR_NAME) {\n      createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n    }\n    OriginalErrorPrototype.constructor = WrappedError;\n  } catch (error) { /* empty */ }\n\n  return WrappedError;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n  return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n  var O = {};\n  O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n  $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n  if (WebAssembly && WebAssembly[ERROR_NAME]) {\n    var O = {};\n    O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n    $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n  }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n  return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n  return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n  return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n  return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n  return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n  return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n  return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n  return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n  return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n  return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n  anInstance(this, DOMExceptionPrototype);\n  var argumentsLength = arguments.length;\n  var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n  var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n  var that = new NativeDOMException(message, name);\n  var error = Error(message);\n  error.name = DOM_EXCEPTION;\n  defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n  inheritIfRequired(that, this, $DOMException);\n  return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n  if (!IS_PURE) {\n    defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n  }\n\n  for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n    var constant = DOMExceptionConstants[key];\n    var constantName = constant.s;\n    if (!hasOwn(PolyfilledDOMException, constantName)) {\n      defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n    }\n  }\n}\n","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nvar lcs = require('./lib/lcs');\nvar array = require('./lib/array');\nvar patch = require('./lib/jsonPatch');\nvar inverse = require('./lib/inverse');\nvar jsonPointer = require('./lib/jsonPointer');\nvar encodeSegment = jsonPointer.encodeSegment;\n\nexports.diff = diff;\nexports.patch = patch.apply;\nexports.patchInPlace = patch.applyInPlace;\nexports.inverse = inverse;\nexports.clone = patch.clone;\n\n// Errors\nexports.InvalidPatchOperationError = require('./lib/InvalidPatchOperationError');\nexports.TestFailedError = require('./lib/TestFailedError');\nexports.PatchNotInvertibleError = require('./lib/PatchNotInvertibleError');\n\nvar isValidObject = patch.isValidObject;\nvar defaultHash = patch.defaultHash;\n\n/**\n * Compute a JSON Patch representing the differences between a and b.\n * @param {object|array|string|number|null} a\n * @param {object|array|string|number|null} b\n * @param {?function|?object} options if a function, see options.hash\n * @param {?function(x:*):String|Number} options.hash used to hash array items\n *  in order to recognize identical objects, defaults to JSON.stringify\n * @param {?function(index:Number, array:Array):object} options.makeContext\n *  used to generate patch context. If not provided, context will not be generated\n * @returns {array} JSON Patch such that patch(diff(a, b), a) ~ b\n */\nfunction diff(a, b, options) {\n\treturn appendChanges(a, b, '', initState(options, [])).patch;\n}\n\n/**\n * Create initial diff state from the provided options\n * @param {?function|?object} options @see diff options above\n * @param {array} patch an empty or existing JSON Patch array into which\n *  the diff should generate new patch operations\n * @returns {object} initialized diff state\n */\nfunction initState(options, patch) {\n\tif(typeof options === 'object') {\n\t\treturn {\n\t\t\tpatch: patch,\n\t\t\thash: orElse(isFunction, options.hash, defaultHash),\n\t\t\tmakeContext: orElse(isFunction, options.makeContext, defaultContext),\n\t\t\tinvertible: !(options.invertible === false)\n\t\t};\n\t} else {\n\t\treturn {\n\t\t\tpatch: patch,\n\t\t\thash: orElse(isFunction, options, defaultHash),\n\t\t\tmakeContext: defaultContext,\n\t\t\tinvertible: true\n\t\t};\n\t}\n}\n\n/**\n * Given two JSON values (object, array, number, string, etc.), find their\n * differences and append them to the diff state\n * @param {object|array|string|number|null} a\n * @param {object|array|string|number|null} b\n * @param {string} path\n * @param {object} state\n * @returns {Object} updated diff state\n */\nfunction appendChanges(a, b, path, state) {\n\tif(Array.isArray(a) && Array.isArray(b)) {\n\t\treturn appendArrayChanges(a, b, path, state);\n\t}\n\n\tif(isValidObject(a) && isValidObject(b)) {\n\t\treturn appendObjectChanges(a, b, path, state);\n\t}\n\n\treturn appendValueChanges(a, b, path, state);\n}\n\n/**\n * Given two objects, find their differences and append them to the diff state\n * @param {object} o1\n * @param {object} o2\n * @param {string} path\n * @param {object} state\n * @returns {Object} updated diff state\n */\nfunction appendObjectChanges(o1, o2, path, state) {\n\tvar keys = Object.keys(o2);\n\tvar patch = state.patch;\n\tvar i, key;\n\n\tfor(i=keys.length-1; i>=0; --i) {\n\t\tkey = keys[i];\n\t\tvar keyPath = path + '/' + encodeSegment(key);\n\t\tif(o1[key] !== void 0) {\n\t\t\tappendChanges(o1[key], o2[key], keyPath, state);\n\t\t} else {\n\t\t\tpatch.push({ op: 'add', path: keyPath, value: o2[key] });\n\t\t}\n\t}\n\n\tkeys = Object.keys(o1);\n\tfor(i=keys.length-1; i>=0; --i) {\n\t\tkey = keys[i];\n\t\tif(o2[key] === void 0) {\n\t\t\tvar p = path + '/' + encodeSegment(key);\n\t\t\tif(state.invertible) {\n\t\t\t\tpatch.push({ op: 'test', path: p, value: o1[key] });\n\t\t\t}\n\t\t\tpatch.push({ op: 'remove', path: p });\n\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Given two arrays, find their differences and append them to the diff state\n * @param {array} a1\n * @param {array} a2\n * @param {string} path\n * @param {object} state\n * @returns {Object} updated diff state\n */\nfunction appendArrayChanges(a1, a2, path, state) {\n\tvar a1hash = array.map(state.hash, a1);\n\tvar a2hash = array.map(state.hash, a2);\n\n\tvar lcsMatrix = lcs.compare(a1hash, a2hash);\n\n\treturn lcsToJsonPatch(a1, a2, path, state, lcsMatrix);\n}\n\n/**\n * Transform an lcsMatrix into JSON Patch operations and append\n * them to state.patch, recursing into array elements as necessary\n * @param {array} a1\n * @param {array} a2\n * @param {string} path\n * @param {object} state\n * @param {object} lcsMatrix\n * @returns {object} new state with JSON Patch operations added based\n *  on the provided lcsMatrix\n */\nfunction lcsToJsonPatch(a1, a2, path, state, lcsMatrix) {\n\tvar offset = 0;\n\treturn lcs.reduce(function(state, op, i, j) {\n\t\tvar last, context;\n\t\tvar patch = state.patch;\n\t\tvar p = path + '/' + (j + offset);\n\n\t\tif (op === lcs.REMOVE) {\n\t\t\t// Coalesce adjacent remove + add into replace\n\t\t\tlast = patch[patch.length-1];\n\t\t\tcontext = state.makeContext(j, a1);\n\n\t\t\tif(state.invertible) {\n\t\t\t\tpatch.push({ op: 'test', path: p, value: a1[j], context: context });\n\t\t\t}\n\n\t\t\tif(last !== void 0 && last.op === 'add' && last.path === p) {\n\t\t\t\tlast.op = 'replace';\n\t\t\t\tlast.context = context;\n\t\t\t} else {\n\t\t\t\tpatch.push({ op: 'remove', path: p, context: context });\n\t\t\t}\n\n\t\t\toffset -= 1;\n\n\t\t} else if (op === lcs.ADD) {\n\t\t\t// See https://tools.ietf.org/html/rfc6902#section-4.1\n\t\t\t// May use either index===length *or* '-' to indicate appending to array\n\t\t\tpatch.push({ op: 'add', path: p, value: a2[i],\n\t\t\t\tcontext: state.makeContext(j, a1)\n\t\t\t});\n\n\t\t\toffset += 1;\n\n\t\t} else {\n\t\t\tappendChanges(a1[j], a2[i], p, state);\n\t\t}\n\n\t\treturn state;\n\n\t}, state, lcsMatrix);\n}\n\n/**\n * Given two number|string|null values, if they differ, append to diff state\n * @param {string|number|null} a\n * @param {string|number|null} b\n * @param {string} path\n * @param {object} state\n * @returns {object} updated diff state\n */\nfunction appendValueChanges(a, b, path, state) {\n\tif(a !== b) {\n\t\tif(state.invertible) {\n\t\t\tstate.patch.push({ op: 'test', path: path, value: a });\n\t\t}\n\n\t\tstate.patch.push({ op: 'replace', path: path, value: b });\n\t}\n\n\treturn state;\n}\n\n/**\n * @param {function} predicate\n * @param {*} x\n * @param {*} y\n * @returns {*} x if predicate(x) is truthy, otherwise y\n */\nfunction orElse(predicate, x, y) {\n\treturn predicate(x) ? x : y;\n}\n\n/**\n * Default patch context generator\n * @returns {undefined} undefined context\n */\nfunction defaultContext() {\n\treturn void 0;\n}\n\n/**\n * @param {*} x\n * @returns {boolean} true if x is a function, false otherwise\n */\nfunction isFunction(x) {\n\treturn typeof x === 'function';\n}\n","module.exports = InvalidPatchOperationError;\n\nfunction InvalidPatchOperationError(message) {\n\tError.call(this);\n\tthis.name = this.constructor.name;\n\tthis.message = message;\n\tif(typeof Error.captureStackTrace === 'function') {\n\t\tError.captureStackTrace(this, this.constructor);\n\t}\n}\n\nInvalidPatchOperationError.prototype = Object.create(Error.prototype);\nInvalidPatchOperationError.prototype.constructor = InvalidPatchOperationError;","module.exports = PatchNotInvertibleError;\n\nfunction PatchNotInvertibleError(message) {\n\tError.call(this);\n\tthis.name = this.constructor.name;\n\tthis.message = message;\n\tif(typeof Error.captureStackTrace === 'function') {\n\t\tError.captureStackTrace(this, this.constructor);\n\t}\n}\n\nPatchNotInvertibleError.prototype = Object.create(Error.prototype);\nPatchNotInvertibleError.prototype.constructor = PatchNotInvertibleError;","module.exports = TestFailedError;\n\nfunction TestFailedError(message) {\n\tError.call(this);\n\tthis.name = this.constructor.name;\n\tthis.message = message;\n\tif(typeof Error.captureStackTrace === 'function') {\n\t\tError.captureStackTrace(this, this.constructor);\n\t}\n}\n\nTestFailedError.prototype = Object.create(Error.prototype);\nTestFailedError.prototype.constructor = TestFailedError;","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nexports.cons = cons;\nexports.tail = tail;\nexports.map = map;\n\n/**\n * Prepend x to a, without mutating a. Faster than a.unshift(x)\n * @param {*} x\n * @param {Array} a array-like\n * @returns {Array} new Array with x prepended\n */\nfunction cons(x, a) {\n\tvar l = a.length;\n\tvar b = new Array(l+1);\n\tb[0] = x;\n\tfor(var i=0; i<l; ++i) {\n\t\tb[i+1] = a[i];\n\t}\n\n\treturn b;\n}\n\n/**\n * Create a new Array containing all elements in a, except the first.\n *  Faster than a.slice(1)\n * @param {Array} a array-like\n * @returns {Array} new Array, the equivalent of a.slice(1)\n */\nfunction tail(a) {\n\tvar l = a.length-1;\n\tvar b = new Array(l);\n\tfor(var i=0; i<l; ++i) {\n\t\tb[i] = a[i+1];\n\t}\n\n\treturn b;\n}\n\n/**\n * Map any array-like. Faster than Array.prototype.map\n * @param {function} f\n * @param {Array} a array-like\n * @returns {Array} new Array mapped by f\n */\nfunction map(f, a) {\n\tvar b = new Array(a.length);\n\tfor(var i=0; i< a.length; ++i) {\n\t\tb[i] = f(a[i]);\n\t}\n\treturn b;\n}","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n/**\n * Create a deep copy of x which must be a legal JSON object/array/value\n * @param {object|array|string|number|null} x object/array/value to clone\n * @returns {object|array|string|number|null} clone of x\n */\nmodule.exports = clone;\n\nfunction clone(x) {\n\tif(x == null || typeof x !== 'object') {\n\t\treturn x;\n\t}\n\n\tif(Array.isArray(x)) {\n\t\treturn cloneArray(x);\n\t}\n\n\treturn cloneObject(x);\n}\n\nfunction cloneArray (x) {\n\tvar l = x.length;\n\tvar y = new Array(l);\n\n\tfor (var i = 0; i < l; ++i) {\n\t\ty[i] = clone(x[i]);\n\t}\n\n\treturn y;\n}\n\nfunction cloneObject (x) {\n\tvar keys = Object.keys(x);\n\tvar y = {};\n\n\tfor (var k, i = 0, l = keys.length; i < l; ++i) {\n\t\tk = keys[i];\n\t\ty[k] = clone(x[k]);\n\t}\n\n\treturn y;\n}\n","var jsonPointer = require('./jsonPointer');\n\n/**\n * commute the patch sequence a,b to b,a\n * @param {object} a patch operation\n * @param {object} b patch operation\n */\nmodule.exports = function commutePaths(a, b) {\n\t// TODO: cases for special paths: '' and '/'\n\tvar left = jsonPointer.parse(a.path);\n\tvar right = jsonPointer.parse(b.path);\n\tvar prefix = getCommonPathPrefix(left, right);\n\tvar isArray = isArrayPath(left, right, prefix.length);\n\n\t// Never mutate the originals\n\tvar ac = copyPatch(a);\n\tvar bc = copyPatch(b);\n\n\tif(prefix.length === 0 && !isArray) {\n\t\t// Paths share no common ancestor, simple swap\n\t\treturn [bc, ac];\n\t}\n\n\tif(isArray) {\n\t\treturn commuteArrayPaths(ac, left, bc, right);\n\t} else {\n\t\treturn commuteTreePaths(ac, left, bc, right);\n\t}\n};\n\nfunction commuteTreePaths(a, left, b, right) {\n\tif(a.path === b.path) {\n\t\tthrow new TypeError('cannot commute ' + a.op + ',' + b.op + ' with identical object paths');\n\t}\n\t// FIXME: Implement tree path commutation\n\treturn [b, a];\n}\n\n/**\n * Commute two patches whose common ancestor (which may be the immediate parent)\n * is an array\n * @param a\n * @param left\n * @param b\n * @param right\n * @returns {*}\n */\nfunction commuteArrayPaths(a, left, b, right) {\n\tif(left.length === right.length) {\n\t\treturn commuteArraySiblings(a, left, b, right);\n\t}\n\n\tif (left.length > right.length) {\n\t\t// left is longer, commute by \"moving\" it to the right\n\t\tleft = commuteArrayAncestor(b, right, a, left, -1);\n\t\ta.path = jsonPointer.absolute(jsonPointer.join(left));\n\t} else {\n\t\t// right is longer, commute by \"moving\" it to the left\n\t\tright = commuteArrayAncestor(a, left, b, right, 1);\n\t\tb.path = jsonPointer.absolute(jsonPointer.join(right));\n\t}\n\n\treturn [b, a];\n}\n\nfunction isArrayPath(left, right, index) {\n\treturn jsonPointer.isValidArrayIndex(left[index])\n\t\t&& jsonPointer.isValidArrayIndex(right[index]);\n}\n\n/**\n * Commute two patches referring to items in the same array\n * @param l\n * @param lpath\n * @param r\n * @param rpath\n * @returns {*[]}\n */\nfunction commuteArraySiblings(l, lpath, r, rpath) {\n\n\tvar target = lpath.length-1;\n\tvar lindex = +lpath[target];\n\tvar rindex = +rpath[target];\n\n\tvar commuted;\n\n\tif(lindex < rindex) {\n\t\t// Adjust right path\n\t\tif(l.op === 'add' || l.op === 'copy') {\n\t\t\tcommuted = rpath.slice();\n\t\t\tcommuted[target] = Math.max(0, rindex - 1);\n\t\t\tr.path = jsonPointer.absolute(jsonPointer.join(commuted));\n\t\t} else if(l.op === 'remove') {\n\t\t\tcommuted = rpath.slice();\n\t\t\tcommuted[target] = rindex + 1;\n\t\t\tr.path = jsonPointer.absolute(jsonPointer.join(commuted));\n\t\t}\n\t} else if(r.op === 'add' || r.op === 'copy') {\n\t\t// Adjust left path\n\t\tcommuted = lpath.slice();\n\t\tcommuted[target] = lindex + 1;\n\t\tl.path = jsonPointer.absolute(jsonPointer.join(commuted));\n\t} else if (lindex > rindex && r.op === 'remove') {\n\t\t// Adjust left path only if remove was at a (strictly) lower index\n\t\tcommuted = lpath.slice();\n\t\tcommuted[target] = Math.max(0, lindex - 1);\n\t\tl.path = jsonPointer.absolute(jsonPointer.join(commuted));\n\t}\n\n\treturn [r, l];\n}\n\n/**\n * Commute two patches with a common array ancestor\n * @param l\n * @param lpath\n * @param r\n * @param rpath\n * @param direction\n * @returns {*}\n */\nfunction commuteArrayAncestor(l, lpath, r, rpath, direction) {\n\t// rpath is longer or same length\n\n\tvar target = lpath.length-1;\n\tvar lindex = +lpath[target];\n\tvar rindex = +rpath[target];\n\n\t// Copy rpath, then adjust its array index\n\tvar rc = rpath.slice();\n\n\tif(lindex > rindex) {\n\t\treturn rc;\n\t}\n\n\tif(l.op === 'add' || l.op === 'copy') {\n\t\trc[target] = Math.max(0, rindex - direction);\n\t} else if(l.op === 'remove') {\n\t\trc[target] = Math.max(0, rindex + direction);\n\t}\n\n\treturn rc;\n}\n\nfunction getCommonPathPrefix(p1, p2) {\n\tvar p1l = p1.length;\n\tvar p2l = p2.length;\n\tif(p1l === 0 || p2l === 0 || (p1l < 2 && p2l < 2)) {\n\t\treturn [];\n\t}\n\n\t// If paths are same length, the last segment cannot be part\n\t// of a common prefix.  If not the same length, the prefix cannot\n\t// be longer than the shorter path.\n\tvar l = p1l === p2l\n\t\t? p1l - 1\n\t\t: Math.min(p1l, p2l);\n\n\tvar i = 0;\n\twhile(i < l && p1[i] === p2[i]) {\n\t\t++i\n\t}\n\n\treturn p1.slice(0, i);\n}\n\nfunction copyPatch(p) {\n\tif(p.op === 'remove') {\n\t\treturn { op: p.op, path: p.path };\n\t}\n\n\tif(p.op === 'copy' || p.op === 'move') {\n\t\treturn { op: p.op, path: p.path, from: p.from };\n\t}\n\n\t// test, add, replace\n\treturn { op: p.op, path: p.path, value: p.value };\n}","module.exports = deepEquals;\n\n/**\n * Compare 2 JSON values, or recursively compare 2 JSON objects or arrays\n * @param {object|array|string|number|boolean|null} a\n * @param {object|array|string|number|boolean|null} b\n * @returns {boolean} true iff a and b are recursively equal\n */\nfunction deepEquals(a, b) {\n\tif(a === b) {\n\t\treturn true;\n\t}\n\n\tif(Array.isArray(a) && Array.isArray(b)) {\n\t\treturn compareArrays(a, b);\n\t}\n\n\tif(typeof a === 'object' && typeof b === 'object') {\n\t\treturn compareObjects(a, b);\n\t}\n\n\treturn false;\n}\n\nfunction compareArrays(a, b) {\n\tif(a.length !== b.length) {\n\t\treturn false;\n\t}\n\n\tfor(var i = 0; i<a.length; ++i) {\n\t\tif(!deepEquals(a[i], b[i])) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction compareObjects(a, b) {\n\tif((a === null && b !== null) || (a !== null && b === null)) {\n\t\treturn false;\n\t}\n\n\tvar akeys = Object.keys(a);\n\tvar bkeys = Object.keys(b);\n\n\tif(akeys.length !== bkeys.length) {\n\t\treturn false;\n\t}\n\n\tfor(var i = 0, k; i<akeys.length; ++i) {\n\t\tk = akeys[i];\n\t\tif(!(k in b && deepEquals(a[k], b[k]))) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}","var patches = require('./patches');\n\nmodule.exports = function inverse(p) {\n\tvar pr = [];\n\tvar i, skip;\n\tfor(i = p.length-1; i>= 0; i -= skip) {\n\t\tskip = invertOp(pr, p[i], i, p);\n\t}\n\n\treturn pr;\n};\n\nfunction invertOp(patch, c, i, context) {\n\tvar op = patches[c.op];\n\treturn op !== void 0 && typeof op.inverse === 'function'\n\t\t? op.inverse(patch, c, i, context)\n\t\t: 1;\n}\n","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nvar patches = require('./patches');\nvar clone = require('./clone');\nvar InvalidPatchOperationError = require('./InvalidPatchOperationError');\n\nexports.apply = patch;\nexports.applyInPlace = patchInPlace;\nexports.clone = clone;\nexports.isValidObject = isValidObject;\nexports.defaultHash = defaultHash;\n\nvar defaultOptions = {};\n\n/**\n * Apply the supplied JSON Patch to x\n * @param {array} changes JSON Patch\n * @param {object|array|string|number} x object/array/value to patch\n * @param {object} options\n * @param {function(index:Number, array:Array, context:object):Number} options.findContext\n *  function used adjust array indexes for smarty/fuzzy patching, for\n *  patches containing context\n * @returns {object|array|string|number} patched version of x. If x is\n *  an array or object, it will be mutated and returned. Otherwise, if\n *  x is a value, the new value will be returned.\n */\nfunction patch(changes, x, options) {\n\treturn patchInPlace(changes, clone(x), options);\n}\n\nfunction patchInPlace(changes, x, options) {\n\tif(!options) {\n\t\toptions = defaultOptions;\n\t}\n\n\t// TODO: Consider throwing if changes is not an array\n\tif(!Array.isArray(changes)) {\n\t\treturn x;\n\t}\n\n\tvar patch, p;\n\tfor(var i=0; i<changes.length; ++i) {\n\t\tp = changes[i];\n\t\tpatch = patches[p.op];\n\n\t\tif(patch === void 0) {\n\t\t\tthrow new InvalidPatchOperationError('invalid op ' + JSON.stringify(p));\n\t\t}\n\n\t\tx = patch.apply(x, p, options);\n\t}\n\n\treturn x;\n}\n\nfunction defaultHash(x) {\n\treturn isValidObject(x) || isArray(x) ? JSON.stringify(x) : x;\n}\n\nfunction isValidObject (x) {\n\treturn x !== null && Object.prototype.toString.call(x) === '[object Object]';\n}\n\nfunction isArray (x) {\n\treturn Object.prototype.toString.call(x) === '[object Array]';\n}\n","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nvar _parse = require('./jsonPointerParse');\n\nexports.find = find;\nexports.join = join;\nexports.absolute = absolute;\nexports.parse = parse;\nexports.contains = contains;\nexports.encodeSegment = encodeSegment;\nexports.decodeSegment = decodeSegment;\nexports.parseArrayIndex = parseArrayIndex;\nexports.isValidArrayIndex = isValidArrayIndex;\n\n// http://tools.ietf.org/html/rfc6901#page-2\nvar separator = '/';\nvar separatorRx = /\\//g;\nvar encodedSeparator = '~1';\nvar encodedSeparatorRx = /~1/g;\n\nvar escapeChar = '~';\nvar escapeRx = /~/g;\nvar encodedEscape = '~0';\nvar encodedEscapeRx = /~0/g;\n\n/**\n * Find the parent of the specified path in x and return a descriptor\n * containing the parent and a key.  If the parent does not exist in x,\n * return undefined, instead.\n * @param {object|array} x object or array in which to search\n * @param {string} path JSON Pointer string (encoded)\n * @param {?function(index:Number, array:Array, context:object):Number} findContext\n *  optional function used adjust array indexes for smarty/fuzzy patching, for\n *  patches containing context.  If provided, context MUST also be provided.\n * @param {?{before:Array, after:Array}} context optional patch context for\n *  findContext to use to adjust array indices.  If provided, findContext MUST\n *  also be provided.\n * @returns {{target:object|array|number|string, key:string}|undefined}\n */\nfunction find(x, path, findContext, context) {\n\tif(typeof path !== 'string') {\n\t\treturn;\n\t}\n\n\tif(path === '') {\n\t\t// whole document\n\t\treturn { target: x, key: void 0 };\n\t}\n\n\tif(path === separator) {\n\t\treturn { target: x, key: '' };\n\t}\n\n\tvar parent = x, key;\n\tvar hasContext = context !== void 0;\n\n\t_parse(path, function(segment) {\n\t\t// hm... this seems like it should be if(typeof x === 'undefined')\n\t\tif(x == null) {\n\t\t\t// Signal that we prematurely hit the end of the path hierarchy.\n\t\t\tparent = null;\n\t\t\treturn false;\n\t\t}\n\n\t\tif(Array.isArray(x)) {\n\t\t\tkey = hasContext\n\t\t\t\t? findIndex(findContext, parseArrayIndex(segment), x, context)\n\t\t\t\t: segment === '-' ? segment : parseArrayIndex(segment);\n\t\t} else {\n\t\t\tkey = segment;\n\t\t}\n\n\t\tparent = x;\n\t\tx = x[key];\n\t});\n\n\treturn parent === null\n\t\t? void 0\n\t\t: { target: parent, key: key };\n}\n\nfunction absolute(path) {\n\treturn path[0] === separator ? path : separator + path;\n}\n\nfunction join(segments) {\n\treturn segments.join(separator);\n}\n\nfunction parse(path) {\n\tvar segments = [];\n\t_parse(path, segments.push.bind(segments));\n\treturn segments;\n}\n\nfunction contains(a, b) {\n\treturn b.indexOf(a) === 0 && b[a.length] === separator;\n}\n\n/**\n * Decode a JSON Pointer path segment\n * @see http://tools.ietf.org/html/rfc6901#page-3\n * @param {string} s encoded segment\n * @returns {string} decoded segment\n */\nfunction decodeSegment(s) {\n\t// See: http://tools.ietf.org/html/rfc6901#page-3\n\treturn s.replace(encodedSeparatorRx, separator).replace(encodedEscapeRx, escapeChar);\n}\n\n/**\n * Encode a JSON Pointer path segment\n * @see http://tools.ietf.org/html/rfc6901#page-3\n * @param {string} s decoded segment\n * @returns {string} encoded segment\n */\nfunction encodeSegment(s) {\n\treturn s.replace(escapeRx, encodedEscape).replace(separatorRx, encodedSeparator);\n}\n\nvar arrayIndexRx = /^(0|[1-9]\\d*)$/;\n\n/**\n * Return true if s is a valid JSON Pointer array index\n * @param {String} s\n * @returns {boolean}\n */\nfunction isValidArrayIndex(s) {\n\treturn arrayIndexRx.test(s);\n}\n\n/**\n * Safely parse a string into a number >= 0. Does not check for decimal numbers\n * @param {string} s numeric string\n * @returns {number} number >= 0\n */\nfunction parseArrayIndex (s) {\n\tif(isValidArrayIndex(s)) {\n\t\treturn +s;\n\t}\n\n\tthrow new SyntaxError('invalid array index ' + s);\n}\n\nfunction findIndex (findContext, start, array, context) {\n\tvar index = start;\n\n\tif(index < 0) {\n\t\tthrow new Error('array index out of bounds ' + index);\n\t}\n\n\tif(context !== void 0 && typeof findContext === 'function') {\n\t\tindex = findContext(start, array, context);\n\t\tif(index < 0) {\n\t\t\tthrow new Error('could not find patch context ' + context);\n\t\t}\n\t}\n\n\treturn index;\n}","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nmodule.exports = jsonPointerParse;\n\nvar parseRx = /\\/|~1|~0/g;\nvar separator = '/';\nvar escapeChar = '~';\nvar encodedSeparator = '~1';\n\n/**\n * Parse through an encoded JSON Pointer string, decoding each path segment\n * and passing it to an onSegment callback function.\n * @see https://tools.ietf.org/html/rfc6901#section-4\n * @param {string} path encoded JSON Pointer string\n * @param {{function(segment:string):boolean}} onSegment callback function\n * @returns {string} original path\n */\nfunction jsonPointerParse(path, onSegment) {\n\tvar pos, accum, matches, match;\n\n\tpos = path.charAt(0) === separator ? 1 : 0;\n\taccum = '';\n\tparseRx.lastIndex = pos;\n\n\twhile(matches = parseRx.exec(path)) {\n\n\t\tmatch = matches[0];\n\t\taccum += path.slice(pos, parseRx.lastIndex - match.length);\n\t\tpos = parseRx.lastIndex;\n\n\t\tif(match === separator) {\n\t\t\tif (onSegment(accum) === false) return path;\n\t\t\taccum = '';\n\t\t} else {\n\t\t\taccum += match === encodedSeparator ? separator : escapeChar;\n\t\t}\n\t}\n\n\taccum += path.slice(pos);\n\tonSegment(accum);\n\n\treturn path;\n}\n","/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\nexports.compare = compare;\nexports.reduce = reduce;\n\nvar REMOVE, RIGHT, ADD, DOWN, SKIP;\n\nexports.REMOVE = REMOVE = RIGHT = -1;\nexports.ADD    = ADD    = DOWN  =  1;\nexports.EQUAL  = SKIP   = 0;\n\n/**\n * Create an lcs comparison matrix describing the differences\n * between two array-like sequences\n * @param {array} a array-like\n * @param {array} b array-like\n * @returns {object} lcs descriptor, suitable for passing to reduce()\n */\nfunction compare(a, b) {\n\tvar cols = a.length;\n\tvar rows = b.length;\n\n\tvar prefix = findPrefix(a, b);\n\tvar suffix = prefix < cols && prefix < rows\n\t\t? findSuffix(a, b, prefix)\n\t\t: 0;\n\n\tvar remove = suffix + prefix - 1;\n\tcols -= remove;\n\trows -= remove;\n\tvar matrix = createMatrix(cols, rows);\n\n\tfor (var j = cols - 1; j >= 0; --j) {\n\t\tfor (var i = rows - 1; i >= 0; --i) {\n\t\t\tmatrix[i][j] = backtrack(matrix, a, b, prefix, j, i);\n\t\t}\n\t}\n\n\treturn {\n\t\tprefix: prefix,\n\t\tmatrix: matrix,\n\t\tsuffix: suffix\n\t};\n}\n\n/**\n * Reduce a set of lcs changes previously created using compare\n * @param {function(result:*, type:number, i:number, j:number)} f\n *  reducer function, where:\n *  - result is the current reduce value,\n *  - type is the type of change: ADD, REMOVE, or SKIP\n *  - i is the index of the change location in b\n *  - j is the index of the change location in a\n * @param {*} r initial value\n * @param {object} lcs results returned by compare()\n * @returns {*} the final reduced value\n */\nfunction reduce(f, r, lcs) {\n\tvar i, j, k, op;\n\n\tvar m = lcs.matrix;\n\n\t// Reduce shared prefix\n\tvar l = lcs.prefix;\n\tfor(i = 0;i < l; ++i) {\n\t\tr = f(r, SKIP, i, i);\n\t}\n\n\t// Reduce longest change span\n\tk = i;\n\tl = m.length;\n\ti = 0;\n\tj = 0;\n\twhile(i < l) {\n\t\top = m[i][j].type;\n\t\tr = f(r, op, i+k, j+k);\n\n\t\tswitch(op) {\n\t\t\tcase SKIP:  ++i; ++j; break;\n\t\t\tcase RIGHT: ++j; break;\n\t\t\tcase DOWN:  ++i; break;\n\t\t}\n\t}\n\n\t// Reduce shared suffix\n\ti += k;\n\tj += k;\n\tl = lcs.suffix;\n\tfor(k = 0;k < l; ++k) {\n\t\tr = f(r, SKIP, i+k, j+k);\n\t}\n\n\treturn r;\n}\n\nfunction findPrefix(a, b) {\n\tvar i = 0;\n\tvar l = Math.min(a.length, b.length);\n\twhile(i < l && a[i] === b[i]) {\n\t\t++i;\n\t}\n\treturn i;\n}\n\nfunction findSuffix(a, b) {\n\tvar al = a.length - 1;\n\tvar bl = b.length - 1;\n\tvar l = Math.min(al, bl);\n\tvar i = 0;\n\twhile(i < l && a[al-i] === b[bl-i]) {\n\t\t++i;\n\t}\n\treturn i;\n}\n\nfunction backtrack(matrix, a, b, start, j, i) {\n\tif (a[j+start] === b[i+start]) {\n\t\treturn { value: matrix[i + 1][j + 1].value, type: SKIP };\n\t}\n\tif (matrix[i][j + 1].value < matrix[i + 1][j].value) {\n\t\treturn { value: matrix[i][j + 1].value + 1, type: RIGHT };\n\t}\n\n\treturn { value: matrix[i + 1][j].value + 1, type: DOWN };\n}\n\nfunction createMatrix (cols, rows) {\n\tvar m = [], i, j, lastrow;\n\n\t// Fill the last row\n\tlastrow = m[rows] = [];\n\tfor (j = 0; j<cols; ++j) {\n\t\tlastrow[j] = { value: cols - j, type: RIGHT };\n\t}\n\n\t// Fill the last col\n\tfor (i = 0; i<rows; ++i) {\n\t\tm[i] = [];\n\t\tm[i][cols] = { value: rows - i, type: DOWN };\n\t}\n\n\t// Fill the last cell\n\tm[rows][cols] = { value: 0, type: SKIP };\n\n\treturn m;\n}\n","var jsonPointer = require('./jsonPointer');\nvar clone = require('./clone');\nvar deepEquals = require('./deepEquals');\nvar commutePaths = require('./commutePaths');\n\nvar array = require('./array');\n\nvar TestFailedError = require('./TestFailedError');\nvar InvalidPatchOperationError = require('./InvalidPatchOperationError');\nvar PatchNotInvertibleError = require('./PatchNotInvertibleError');\n\nvar find = jsonPointer.find;\nvar parseArrayIndex = jsonPointer.parseArrayIndex;\n\nexports.test = {\n\tapply: applyTest,\n\tinverse: invertTest,\n\tcommute: commuteTest\n};\n\nexports.add = {\n\tapply: applyAdd,\n\tinverse: invertAdd,\n\tcommute: commuteAddOrCopy\n};\n\nexports.remove = {\n\tapply: applyRemove,\n\tinverse: invertRemove,\n\tcommute: commuteRemove\n};\n\nexports.replace = {\n\tapply: applyReplace,\n\tinverse: invertReplace,\n\tcommute: commuteReplace\n};\n\nexports.move = {\n\tapply: applyMove,\n\tinverse: invertMove,\n\tcommute: commuteMove\n};\n\nexports.copy = {\n\tapply: applyCopy,\n\tinverse: notInvertible,\n\tcommute: commuteAddOrCopy\n};\n\n/**\n * Apply a test operation to x\n * @param {object|array} x\n * @param {object} test test operation\n * @throws {TestFailedError} if the test operation fails\n */\n\nfunction applyTest(x, test, options) {\n\tvar pointer = find(x, test.path, options.findContext, test.context);\n\tvar target = pointer.target;\n\tvar index, value;\n\n\tif(Array.isArray(target)) {\n\t\tindex = parseArrayIndex(pointer.key);\n\t\t//index = findIndex(options.findContext, index, target, test.context);\n\t\tvalue = target[index];\n\t} else {\n\t\tvalue = pointer.key === void 0 ? pointer.target : pointer.target[pointer.key];\n\t}\n\n\tif(!deepEquals(value, test.value)) {\n\t\tthrow new TestFailedError('test failed ' + JSON.stringify(test));\n\t}\n\n\treturn x;\n}\n\n/**\n * Invert the provided test and add it to the inverted patch sequence\n * @param pr\n * @param test\n * @returns {number}\n */\nfunction invertTest(pr, test) {\n\tpr.push(test);\n\treturn 1;\n}\n\nfunction commuteTest(test, b) {\n\tif(test.path === b.path && b.op === 'remove') {\n\t\tthrow new TypeError('Can\\'t commute test,remove -> remove,test for same path');\n\t}\n\n\tif(b.op === 'test' || b.op === 'replace') {\n\t\treturn [b, test];\n\t}\n\n\treturn commutePaths(test, b);\n}\n\n/**\n * Apply an add operation to x\n * @param {object|array} x\n * @param {object} change add operation\n */\nfunction applyAdd(x, change, options) {\n\tvar pointer = find(x, change.path, options.findContext, change.context);\n\n\tif(notFound(pointer)) {\n\t\tthrow new InvalidPatchOperationError('path does not exist ' + change.path);\n\t}\n\n\tif(change.value === void 0) {\n\t\tthrow new InvalidPatchOperationError('missing value');\n\t}\n\n\tvar val = clone(change.value);\n\n\t// If pointer refers to whole document, replace whole document\n\tif(pointer.key === void 0) {\n\t\treturn val;\n\t}\n\n\t_add(pointer, val);\n\treturn x;\n}\n\nfunction _add(pointer, value) {\n\tvar target = pointer.target;\n\n\tif(Array.isArray(target)) {\n\t\t// '-' indicates 'append' to array\n\t\tif(pointer.key === '-') {\n\t\t\ttarget.push(value);\n\t\t} else if (pointer.key > target.length) {\n\t\t\tthrow new InvalidPatchOperationError('target of add outside of array bounds')\n\t\t} else {\n\t\t\ttarget.splice(pointer.key, 0, value);\n\t\t}\n\t} else if(isValidObject(target)) {\n\t\ttarget[pointer.key] = value;\n\t} else {\n\t\tthrow new InvalidPatchOperationError('target of add must be an object or array ' + pointer.key);\n\t}\n}\n\nfunction invertAdd(pr, add) {\n\tvar context = add.context;\n\tif(context !== void 0) {\n\t\tcontext = {\n\t\t\tbefore: context.before,\n\t\t\tafter: array.cons(add.value, context.after)\n\t\t}\n\t}\n\tpr.push({ op: 'test', path: add.path, value: add.value, context: context });\n\tpr.push({ op: 'remove', path: add.path, context: context });\n\treturn 1;\n}\n\nfunction commuteAddOrCopy(add, b) {\n\tif(add.path === b.path && b.op === 'remove') {\n\t\tthrow new TypeError('Can\\'t commute add,remove -> remove,add for same path');\n\t}\n\n\treturn commutePaths(add, b);\n}\n\n/**\n * Apply a replace operation to x\n * @param {object|array} x\n * @param {object} change replace operation\n */\nfunction applyReplace(x, change, options) {\n\tvar pointer = find(x, change.path, options.findContext, change.context);\n\n\tif(notFound(pointer) || missingValue(pointer)) {\n\t\tthrow new InvalidPatchOperationError('path does not exist ' + change.path);\n\t}\n\n\tif(change.value === void 0) {\n\t\tthrow new InvalidPatchOperationError('missing value');\n\t}\n\n\tvar value = clone(change.value);\n\n\t// If pointer refers to whole document, replace whole document\n\tif(pointer.key === void 0) {\n\t\treturn value;\n\t}\n\n\tvar target = pointer.target;\n\n\tif(Array.isArray(target)) {\n\t\ttarget[parseArrayIndex(pointer.key)] = value;\n\t} else {\n\t\ttarget[pointer.key] = value;\n\t}\n\n\treturn x;\n}\n\nfunction invertReplace(pr, c, i, patch) {\n\tvar prev = patch[i-1];\n\tif(prev === void 0 || prev.op !== 'test' || prev.path !== c.path) {\n\t\tthrow new PatchNotInvertibleError('cannot invert replace w/o test');\n\t}\n\n\tvar context = prev.context;\n\tif(context !== void 0) {\n\t\tcontext = {\n\t\t\tbefore: context.before,\n\t\t\tafter: array.cons(prev.value, array.tail(context.after))\n\t\t}\n\t}\n\n\tpr.push({ op: 'test', path: prev.path, value: c.value });\n\tpr.push({ op: 'replace', path: prev.path, value: prev.value });\n\treturn 2;\n}\n\nfunction commuteReplace(replace, b) {\n\tif(replace.path === b.path && b.op === 'remove') {\n\t\tthrow new TypeError('Can\\'t commute replace,remove -> remove,replace for same path');\n\t}\n\n\tif(b.op === 'test' || b.op === 'replace') {\n\t\treturn [b, replace];\n\t}\n\n\treturn commutePaths(replace, b);\n}\n\n/**\n * Apply a remove operation to x\n * @param {object|array} x\n * @param {object} change remove operation\n */\nfunction applyRemove(x, change, options) {\n\tvar pointer = find(x, change.path, options.findContext, change.context);\n\n\t// key must exist for remove\n\tif(notFound(pointer) || pointer.target[pointer.key] === void 0) {\n\t\tthrow new InvalidPatchOperationError('path does not exist ' + change.path);\n\t}\n\n\t_remove(pointer);\n\treturn x;\n}\n\nfunction _remove (pointer) {\n\tvar target = pointer.target;\n\n\tvar removed;\n\tif (Array.isArray(target)) {\n\t\tremoved = target.splice(parseArrayIndex(pointer.key), 1);\n\t\treturn removed[0];\n\n\t} else if (isValidObject(target)) {\n\t\tremoved = target[pointer.key];\n\t\tdelete target[pointer.key];\n\t\treturn removed;\n\n\t} else {\n\t\tthrow new InvalidPatchOperationError('target of remove must be an object or array');\n\t}\n}\n\nfunction invertRemove(pr, c, i, patch) {\n\tvar prev = patch[i-1];\n\tif(prev === void 0 || prev.op !== 'test' || prev.path !== c.path) {\n\t\tthrow new PatchNotInvertibleError('cannot invert remove w/o test');\n\t}\n\n\tvar context = prev.context;\n\tif(context !== void 0) {\n\t\tcontext = {\n\t\t\tbefore: context.before,\n\t\t\tafter: array.tail(context.after)\n\t\t}\n\t}\n\n\tpr.push({ op: 'add', path: prev.path, value: prev.value, context: context });\n\treturn 2;\n}\n\nfunction commuteRemove(remove, b) {\n\tif(remove.path === b.path && b.op === 'remove') {\n\t\treturn [b, remove];\n\t}\n\n\treturn commutePaths(remove, b);\n}\n\n/**\n * Apply a move operation to x\n * @param {object|array} x\n * @param {object} change move operation\n */\nfunction applyMove(x, change, options) {\n\tif(jsonPointer.contains(change.path, change.from)) {\n\t\tthrow new InvalidPatchOperationError('move.from cannot be ancestor of move.path');\n\t}\n\n\tvar pto = find(x, change.path, options.findContext, change.context);\n\tvar pfrom = find(x, change.from, options.findContext, change.fromContext);\n\n\t_add(pto, _remove(pfrom));\n\treturn x;\n}\n\nfunction invertMove(pr, c) {\n\tpr.push({ op: 'move',\n\t\tpath: c.from, context: c.fromContext,\n\t\tfrom: c.path, fromContext: c.context });\n\treturn 1;\n}\n\nfunction commuteMove(move, b) {\n\tif(move.path === b.path && b.op === 'remove') {\n\t\tthrow new TypeError('Can\\'t commute move,remove -> move,replace for same path');\n\t}\n\n\treturn commutePaths(move, b);\n}\n\n/**\n * Apply a copy operation to x\n * @param {object|array} x\n * @param {object} change copy operation\n */\nfunction applyCopy(x, change, options) {\n\tvar pto = find(x, change.path, options.findContext, change.context);\n\tvar pfrom = find(x, change.from, options.findContext, change.fromContext);\n\n\tif(notFound(pfrom) || missingValue(pfrom)) {\n\t\tthrow new InvalidPatchOperationError('copy.from must exist');\n\t}\n\n\tvar target = pfrom.target;\n\tvar value;\n\n\tif(Array.isArray(target)) {\n\t\tvalue = target[parseArrayIndex(pfrom.key)];\n\t} else {\n\t\tvalue = target[pfrom.key];\n\t}\n\n\t_add(pto, clone(value));\n\treturn x;\n}\n\n// NOTE: Copy is not invertible\n// See https://github.com/cujojs/jiff/issues/9\n// This needs more thought. We may have to extend/amend JSON Patch.\n// At first glance, this seems like it should just be a remove.\n// However, that's not correct.  It violates the involution:\n// invert(invert(p)) ~= p.  For example:\n// invert(copy) -> remove\n// invert(remove) -> add\n// thus: invert(invert(copy)) -> add (DOH! this should be copy!)\n\nfunction notInvertible(_, c) {\n\tthrow new PatchNotInvertibleError('cannot invert ' + c.op);\n}\n\nfunction notFound (pointer) {\n\treturn pointer === void 0 || (pointer.target == null && pointer.key !== void 0);\n}\n\nfunction missingValue(pointer) {\n\treturn pointer.key !== void 0 && pointer.target[pointer.key] === void 0;\n}\n\n/**\n * Return true if x is a non-null object\n * @param {*} x\n * @returns {boolean}\n */\nfunction isValidObject (x) {\n\treturn x !== null && typeof x === 'object';\n}\n","// Register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\nvar isLocalhost = function () { return Boolean(\n  window.location.hostname === 'localhost' ||\n    // [::1] is the IPv6 localhost address.\n    window.location.hostname === '[::1]' ||\n    // 127.0.0.1/8 is considered localhost for IPv4.\n    window.location.hostname.match(\n      /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n    )\n); }\n\nvar waitWindowLoad\n// https://github.com/yyx990803/register-service-worker/pull/33#discussion_r394181861\nif (typeof window !== 'undefined') {\n  // Typically, a browser that supports `serviceWorker` should also have supported\n  // `Promise`. But as this package can be used in environments without service\n  // worker support (in that case it would do nothing), there's a chance that\n  // `Promise` does not exist. So we must check for its existence first.\n  if (typeof Promise !== 'undefined') {\n    waitWindowLoad = new Promise(function (resolve) { return window.addEventListener('load', resolve); })\n  } else {\n    waitWindowLoad = { then: function (cb) { return window.addEventListener('load', cb); } }\n  }\n}\n\nexport function register (swUrl, hooks) {\n  if ( hooks === void 0 ) hooks = {};\n\n  var registrationOptions = hooks.registrationOptions; if ( registrationOptions === void 0 ) registrationOptions = {};\n  delete hooks.registrationOptions\n\n  var emit = function (hook) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n    if (hooks && hooks[hook]) {\n      hooks[hook].apply(hooks, args)\n    }\n  }\n\n  if ('serviceWorker' in navigator) {\n    waitWindowLoad.then(function () {\n      if (isLocalhost()) {\n        // This is running on localhost. Lets check if a service worker still exists or not.\n        checkValidServiceWorker(swUrl, emit, registrationOptions)\n        navigator.serviceWorker.ready.then(function (registration) {\n          emit('ready', registration)\n        }).catch(function (error) { return handleError(emit, error); })\n      } else {\n        // Is not local host. Just register service worker\n        registerValidSW(swUrl, emit, registrationOptions)\n        navigator.serviceWorker.ready.then(function (registration) {\n          emit('ready', registration)\n        }).catch(function (error) { return handleError(emit, error); })\n      }\n    })\n  }\n}\n\nfunction handleError (emit, error) {\n  if (!navigator.onLine) {\n    emit('offline')\n  }\n  emit('error', error)\n}\n\nfunction registerValidSW (swUrl, emit, registrationOptions) {\n  navigator.serviceWorker\n    .register(swUrl, registrationOptions)\n    .then(function (registration) {\n      emit('registered', registration)\n      if (registration.waiting) {\n        emit('updated', registration)\n        return\n      }\n      registration.onupdatefound = function () {\n        emit('updatefound', registration)\n        var installingWorker = registration.installing\n        installingWorker.onstatechange = function () {\n          if (installingWorker.state === 'installed') {\n            if (navigator.serviceWorker.controller) {\n              // At this point, the old content will have been purged and\n              // the fresh content will have been added to the cache.\n              // It's the perfect time to display a \"New content is\n              // available; please refresh.\" message in your web app.\n              emit('updated', registration)\n            } else {\n              // At this point, everything has been precached.\n              // It's the perfect time to display a\n              // \"Content is cached for offline use.\" message.\n              emit('cached', registration)\n            }\n          }\n        }\n      }\n    })\n    .catch(function (error) { return handleError(emit, error); })\n}\n\nfunction checkValidServiceWorker (swUrl, emit, registrationOptions) {\n  // Check if the service worker can be found.\n  fetch(swUrl)\n    .then(function (response) {\n      // Ensure service worker exists, and that we really are getting a JS file.\n      if (response.status === 404) {\n        // No service worker found.\n        emit('error', new Error((\"Service worker not found at \" + swUrl)))\n        unregister()\n      } else if (response.headers.get('content-type').indexOf('javascript') === -1) {\n        emit('error', new Error(\n          \"Expected \" + swUrl + \" to have javascript content-type, \" +\n          \"but received \" + (response.headers.get('content-type'))))\n        unregister()\n      } else {\n        // Service worker found. Proceed as normal.\n        registerValidSW(swUrl, emit, registrationOptions)\n      }\n    })\n    .catch(function (error) { return handleError(emit, error); })\n}\n\nexport function unregister () {\n  if ('serviceWorker' in navigator) {\n    navigator.serviceWorker.ready.then(function (registration) {\n      registration.unregister()\n    }).catch(function (error) { return handleError(emit, error); })\n  }\n}\n","/*!\n* sweetalert2 v11.4.17\n* Released under the MIT License.\n*/\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global = global || self, global.Sweetalert2 = factory());\n}(this, function () { 'use strict';\n\n  const consolePrefix = 'SweetAlert2:';\n  /**\n   * Filter the unique values into a new array\n   * @param arr\n   */\n\n  const uniqueArray = arr => {\n    const result = [];\n\n    for (let i = 0; i < arr.length; i++) {\n      if (result.indexOf(arr[i]) === -1) {\n        result.push(arr[i]);\n      }\n    }\n\n    return result;\n  };\n  /**\n   * Capitalize the first letter of a string\n   * @param {string} str\n   * @returns {string}\n   */\n\n  const capitalizeFirstLetter = str => str.charAt(0).toUpperCase() + str.slice(1);\n  /**\n   * @param {NodeList | HTMLCollection | NamedNodeMap | DOMTokenList} nodeList\n   * @returns {array}\n   */\n\n  const toArray = nodeList => Array.prototype.slice.call(nodeList);\n  /**\n   * Standardize console warnings\n   * @param {string | array} message\n   */\n\n  const warn = message => {\n    console.warn(\"\".concat(consolePrefix, \" \").concat(typeof message === 'object' ? message.join(' ') : message));\n  };\n  /**\n   * Standardize console errors\n   * @param {string} message\n   */\n\n  const error = message => {\n    console.error(\"\".concat(consolePrefix, \" \").concat(message));\n  };\n  /**\n   * Private global state for `warnOnce`\n   * @type {Array}\n   * @private\n   */\n\n  const previousWarnOnceMessages = [];\n  /**\n   * Show a console warning, but only if it hasn't already been shown\n   * @param {string} message\n   */\n\n  const warnOnce = message => {\n    if (!previousWarnOnceMessages.includes(message)) {\n      previousWarnOnceMessages.push(message);\n      warn(message);\n    }\n  };\n  /**\n   * Show a one-time console warning about deprecated params/methods\n   */\n\n  const warnAboutDeprecation = (deprecatedParam, useInstead) => {\n    warnOnce(\"\\\"\".concat(deprecatedParam, \"\\\" is deprecated and will be removed in the next major release. Please use \\\"\").concat(useInstead, \"\\\" instead.\"));\n  };\n  /**\n   * If `arg` is a function, call it (with no arguments or context) and return the result.\n   * Otherwise, just pass the value through\n   * @param arg\n   */\n\n  const callIfFunction = arg => typeof arg === 'function' ? arg() : arg;\n  const hasToPromiseFn = arg => arg && typeof arg.toPromise === 'function';\n  const asPromise = arg => hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n  const isPromise = arg => arg && Promise.resolve(arg) === arg;\n  const getRandomElement = arr => arr[Math.floor(Math.random() * arr.length)];\n\n  const defaultParams = {\n    title: '',\n    titleText: '',\n    text: '',\n    html: '',\n    footer: '',\n    icon: undefined,\n    iconColor: undefined,\n    iconHtml: undefined,\n    template: undefined,\n    toast: false,\n    showClass: {\n      popup: 'swal2-show',\n      backdrop: 'swal2-backdrop-show',\n      icon: 'swal2-icon-show'\n    },\n    hideClass: {\n      popup: 'swal2-hide',\n      backdrop: 'swal2-backdrop-hide',\n      icon: 'swal2-icon-hide'\n    },\n    customClass: {},\n    target: 'body',\n    color: undefined,\n    backdrop: true,\n    heightAuto: true,\n    allowOutsideClick: true,\n    allowEscapeKey: true,\n    allowEnterKey: true,\n    stopKeydownPropagation: true,\n    keydownListenerCapture: false,\n    showConfirmButton: true,\n    showDenyButton: false,\n    showCancelButton: false,\n    preConfirm: undefined,\n    preDeny: undefined,\n    confirmButtonText: 'OK',\n    confirmButtonAriaLabel: '',\n    confirmButtonColor: undefined,\n    denyButtonText: 'No',\n    denyButtonAriaLabel: '',\n    denyButtonColor: undefined,\n    cancelButtonText: 'Cancel',\n    cancelButtonAriaLabel: '',\n    cancelButtonColor: undefined,\n    buttonsStyling: true,\n    reverseButtons: false,\n    focusConfirm: true,\n    focusDeny: false,\n    focusCancel: false,\n    returnFocus: true,\n    showCloseButton: false,\n    closeButtonHtml: '&times;',\n    closeButtonAriaLabel: 'Close this dialog',\n    loaderHtml: '',\n    showLoaderOnConfirm: false,\n    showLoaderOnDeny: false,\n    imageUrl: undefined,\n    imageWidth: undefined,\n    imageHeight: undefined,\n    imageAlt: '',\n    timer: undefined,\n    timerProgressBar: false,\n    width: undefined,\n    padding: undefined,\n    background: undefined,\n    input: undefined,\n    inputPlaceholder: '',\n    inputLabel: '',\n    inputValue: '',\n    inputOptions: {},\n    inputAutoTrim: true,\n    inputAttributes: {},\n    inputValidator: undefined,\n    returnInputValueOnDeny: false,\n    validationMessage: undefined,\n    grow: false,\n    position: 'center',\n    progressSteps: [],\n    currentProgressStep: undefined,\n    progressStepsDistance: undefined,\n    willOpen: undefined,\n    didOpen: undefined,\n    didRender: undefined,\n    willClose: undefined,\n    didClose: undefined,\n    didDestroy: undefined,\n    scrollbarPadding: true\n  };\n  const updatableParams = ['allowEscapeKey', 'allowOutsideClick', 'background', 'buttonsStyling', 'cancelButtonAriaLabel', 'cancelButtonColor', 'cancelButtonText', 'closeButtonAriaLabel', 'closeButtonHtml', 'color', 'confirmButtonAriaLabel', 'confirmButtonColor', 'confirmButtonText', 'currentProgressStep', 'customClass', 'denyButtonAriaLabel', 'denyButtonColor', 'denyButtonText', 'didClose', 'didDestroy', 'footer', 'hideClass', 'html', 'icon', 'iconColor', 'iconHtml', 'imageAlt', 'imageHeight', 'imageUrl', 'imageWidth', 'preConfirm', 'preDeny', 'progressSteps', 'returnFocus', 'reverseButtons', 'showCancelButton', 'showCloseButton', 'showConfirmButton', 'showDenyButton', 'text', 'title', 'titleText', 'willClose'];\n  const deprecatedParams = {};\n  const toastIncompatibleParams = ['allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusDeny', 'focusCancel', 'returnFocus', 'heightAuto', 'keydownListenerCapture'];\n  /**\n   * Is valid parameter\n   * @param {string} paramName\n   */\n\n  const isValidParameter = paramName => {\n    return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n  };\n  /**\n   * Is valid parameter for Swal.update() method\n   * @param {string} paramName\n   */\n\n  const isUpdatableParameter = paramName => {\n    return updatableParams.indexOf(paramName) !== -1;\n  };\n  /**\n   * Is deprecated parameter\n   * @param {string} paramName\n   */\n\n  const isDeprecatedParameter = paramName => {\n    return deprecatedParams[paramName];\n  };\n\n  const checkIfParamIsValid = param => {\n    if (!isValidParameter(param)) {\n      warn(\"Unknown parameter \\\"\".concat(param, \"\\\"\"));\n    }\n  };\n\n  const checkIfToastParamIsValid = param => {\n    if (toastIncompatibleParams.includes(param)) {\n      warn(\"The parameter \\\"\".concat(param, \"\\\" is incompatible with toasts\"));\n    }\n  };\n\n  const checkIfParamIsDeprecated = param => {\n    if (isDeprecatedParameter(param)) {\n      warnAboutDeprecation(param, isDeprecatedParameter(param));\n    }\n  };\n  /**\n   * Show relevant warnings for given params\n   *\n   * @param params\n   */\n\n\n  const showWarningsForParams = params => {\n    if (!params.backdrop && params.allowOutsideClick) {\n      warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n    }\n\n    for (const param in params) {\n      checkIfParamIsValid(param);\n\n      if (params.toast) {\n        checkIfToastParamIsValid(param);\n      }\n\n      checkIfParamIsDeprecated(param);\n    }\n  };\n\n  const swalPrefix = 'swal2-';\n  /**\n   * @param {string[]} items\n   * @returns {object}\n   */\n\n  const prefix = items => {\n    const result = {};\n\n    for (const i in items) {\n      result[items[i]] = swalPrefix + items[i];\n    }\n\n    return result;\n  };\n  const swalClasses = prefix(['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error', 'no-war']);\n  const iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']);\n\n  /**\n   * Gets the popup container which contains the backdrop and the popup itself.\n   *\n   * @returns {HTMLElement | null}\n   */\n\n  const getContainer = () => document.body.querySelector(\".\".concat(swalClasses.container));\n  /**\n   * @param {string} selectorString\n   * @returns {HTMLElement | null}\n   */\n\n  const elementBySelector = selectorString => {\n    const container = getContainer();\n    return container ? container.querySelector(selectorString) : null;\n  };\n  /**\n   * @param {string} className\n   * @returns {HTMLElement | null}\n   */\n\n  const elementByClass = className => {\n    return elementBySelector(\".\".concat(className));\n  };\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n\n  const getPopup = () => elementByClass(swalClasses.popup);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getIcon = () => elementByClass(swalClasses.icon);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getTitle = () => elementByClass(swalClasses.title);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getHtmlContainer = () => elementByClass(swalClasses['html-container']);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getImage = () => elementByClass(swalClasses.image);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getProgressSteps = () => elementByClass(swalClasses['progress-steps']);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getValidationMessage = () => elementByClass(swalClasses['validation-message']);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getConfirmButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.confirm));\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getDenyButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.deny));\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getInputLabel = () => elementByClass(swalClasses['input-label']);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getLoader = () => elementBySelector(\".\".concat(swalClasses.loader));\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getCancelButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.cancel));\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getActions = () => elementByClass(swalClasses.actions);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getFooter = () => elementByClass(swalClasses.footer);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getTimerProgressBar = () => elementByClass(swalClasses['timer-progress-bar']);\n  /**\n   * @returns {HTMLElement | null}\n   */\n\n  const getCloseButton = () => elementByClass(swalClasses.close); // https://github.com/jkup/focusable/blob/master/index.js\n\n  const focusable = \"\\n  a[href],\\n  area[href],\\n  input:not([disabled]),\\n  select:not([disabled]),\\n  textarea:not([disabled]),\\n  button:not([disabled]),\\n  iframe,\\n  object,\\n  embed,\\n  [tabindex=\\\"0\\\"],\\n  [contenteditable],\\n  audio[controls],\\n  video[controls],\\n  summary\\n\";\n  /**\n   * @returns {HTMLElement[]}\n   */\n\n  const getFocusableElements = () => {\n    const focusableElementsWithTabindex = toArray(getPopup().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])')) // sort according to tabindex\n    .sort((a, b) => {\n      const tabindexA = parseInt(a.getAttribute('tabindex'));\n      const tabindexB = parseInt(b.getAttribute('tabindex'));\n\n      if (tabindexA > tabindexB) {\n        return 1;\n      } else if (tabindexA < tabindexB) {\n        return -1;\n      }\n\n      return 0;\n    });\n    const otherFocusableElements = toArray(getPopup().querySelectorAll(focusable)).filter(el => el.getAttribute('tabindex') !== '-1');\n    return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)).filter(el => isVisible(el));\n  };\n  /**\n   * @returns {boolean}\n   */\n\n  const isModal = () => {\n    return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n  };\n  /**\n   * @returns {boolean}\n   */\n\n  const isToast = () => {\n    return getPopup() && hasClass(getPopup(), swalClasses.toast);\n  };\n  /**\n   * @returns {boolean}\n   */\n\n  const isLoading = () => {\n    return getPopup().hasAttribute('data-loading');\n  };\n\n  const states = {\n    previousBodyPadding: null\n  };\n  /**\n   * Securely set innerHTML of an element\n   * https://github.com/sweetalert2/sweetalert2/issues/1926\n   *\n   * @param {HTMLElement} elem\n   * @param {string} html\n   */\n\n  const setInnerHtml = (elem, html) => {\n    elem.textContent = '';\n\n    if (html) {\n      const parser = new DOMParser();\n      const parsed = parser.parseFromString(html, \"text/html\");\n      toArray(parsed.querySelector('head').childNodes).forEach(child => {\n        elem.appendChild(child);\n      });\n      toArray(parsed.querySelector('body').childNodes).forEach(child => {\n        elem.appendChild(child);\n      });\n    }\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {string} className\n   * @returns {boolean}\n   */\n\n  const hasClass = (elem, className) => {\n    if (!className) {\n      return false;\n    }\n\n    const classList = className.split(/\\s+/);\n\n    for (let i = 0; i < classList.length; i++) {\n      if (!elem.classList.contains(classList[i])) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {SweetAlertOptions} params\n   */\n\n  const removeCustomClasses = (elem, params) => {\n    toArray(elem.classList).forEach(className => {\n      if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass).includes(className)) {\n        elem.classList.remove(className);\n      }\n    });\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {SweetAlertOptions} params\n   * @param {string} className\n   */\n\n\n  const applyCustomClass = (elem, params, className) => {\n    removeCustomClasses(elem, params);\n\n    if (params.customClass && params.customClass[className]) {\n      if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n        return warn(\"Invalid type of customClass.\".concat(className, \"! Expected string or iterable object, got \\\"\").concat(typeof params.customClass[className], \"\\\"\"));\n      }\n\n      addClass(elem, params.customClass[className]);\n    }\n  };\n  /**\n   * @param {HTMLElement} popup\n   * @param {import('./renderers/renderInput').InputClass} inputClass\n   * @returns {HTMLInputElement | null}\n   */\n\n  const getInput = (popup, inputClass) => {\n    if (!inputClass) {\n      return null;\n    }\n\n    switch (inputClass) {\n      case 'select':\n      case 'textarea':\n      case 'file':\n        return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses[inputClass]));\n\n      case 'checkbox':\n        return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.checkbox, \" input\"));\n\n      case 'radio':\n        return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:checked\")) || popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:first-child\"));\n\n      case 'range':\n        return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.range, \" input\"));\n\n      default:\n        return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.input));\n    }\n  };\n  /**\n   * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n   */\n\n  const focusInput = input => {\n    input.focus(); // place cursor at end of text in text input\n\n    if (input.type !== 'file') {\n      // http://stackoverflow.com/a/2345915\n      const val = input.value;\n      input.value = '';\n      input.value = val;\n    }\n  };\n  /**\n   * @param {HTMLElement | HTMLElement[] | null} target\n   * @param {string | string[] | readonly string[]} classList\n   * @param {boolean} condition\n   */\n\n  const toggleClass = (target, classList, condition) => {\n    if (!target || !classList) {\n      return;\n    }\n\n    if (typeof classList === 'string') {\n      classList = classList.split(/\\s+/).filter(Boolean);\n    }\n\n    classList.forEach(className => {\n      if (Array.isArray(target)) {\n        target.forEach(elem => {\n          condition ? elem.classList.add(className) : elem.classList.remove(className);\n        });\n      } else {\n        condition ? target.classList.add(className) : target.classList.remove(className);\n      }\n    });\n  };\n  /**\n   * @param {HTMLElement | HTMLElement[] | null} target\n   * @param {string | string[] | readonly string[]} classList\n   */\n\n  const addClass = (target, classList) => {\n    toggleClass(target, classList, true);\n  };\n  /**\n   * @param {HTMLElement | HTMLElement[] | null} target\n   * @param {string | string[] | readonly string[]} classList\n   */\n\n  const removeClass = (target, classList) => {\n    toggleClass(target, classList, false);\n  };\n  /**\n   * Get direct child of an element by class name\n   *\n   * @param {HTMLElement} elem\n   * @param {string} className\n   * @returns {HTMLElement | null}\n   */\n\n  const getDirectChildByClass = (elem, className) => {\n    const childNodes = toArray(elem.childNodes);\n\n    for (let i = 0; i < childNodes.length; i++) {\n      if (hasClass(childNodes[i], className)) {\n        return childNodes[i];\n      }\n    }\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {string} property\n   * @param {*} value\n   */\n\n  const applyNumericalStyle = (elem, property, value) => {\n    if (value === \"\".concat(parseInt(value))) {\n      value = parseInt(value);\n    }\n\n    if (value || parseInt(value) === 0) {\n      elem.style[property] = typeof value === 'number' ? \"\".concat(value, \"px\") : value;\n    } else {\n      elem.style.removeProperty(property);\n    }\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {string} display\n   */\n\n  const show = function (elem) {\n    let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n    elem.style.display = display;\n  };\n  /**\n   * @param {HTMLElement} elem\n   */\n\n  const hide = elem => {\n    elem.style.display = 'none';\n  };\n  /**\n   * @param {HTMLElement} parent\n   * @param {string} selector\n   * @param {string} property\n   * @param {string} value\n   */\n\n  const setStyle = (parent, selector, property, value) => {\n    /** @type {HTMLElement} */\n    const el = parent.querySelector(selector);\n\n    if (el) {\n      el.style[property] = value;\n    }\n  };\n  /**\n   * @param {HTMLElement} elem\n   * @param {any} condition\n   * @param {string} display\n   */\n\n  const toggle = function (elem, condition) {\n    let display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n    condition ? show(elem, display) : hide(elem);\n  };\n  /**\n   * borrowed from jquery $(elem).is(':visible') implementation\n   *\n   * @param {HTMLElement} elem\n   * @returns {boolean}\n   */\n\n  const isVisible = elem => !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n  /**\n   * @returns {boolean}\n   */\n\n  const allButtonsAreHidden = () => !isVisible(getConfirmButton()) && !isVisible(getDenyButton()) && !isVisible(getCancelButton());\n  /**\n   * @returns {boolean}\n   */\n\n  const isScrollable = elem => !!(elem.scrollHeight > elem.clientHeight);\n  /**\n   * borrowed from https://stackoverflow.com/a/46352119\n   *\n   * @param {HTMLElement} elem\n   * @returns {boolean}\n   */\n\n  const hasCssAnimation = elem => {\n    const style = window.getComputedStyle(elem);\n    const animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n    const transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n    return animDuration > 0 || transDuration > 0;\n  };\n  /**\n   * @param {number} timer\n   * @param {boolean} reset\n   */\n\n  const animateTimerProgressBar = function (timer) {\n    let reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    const timerProgressBar = getTimerProgressBar();\n\n    if (isVisible(timerProgressBar)) {\n      if (reset) {\n        timerProgressBar.style.transition = 'none';\n        timerProgressBar.style.width = '100%';\n      }\n\n      setTimeout(() => {\n        timerProgressBar.style.transition = \"width \".concat(timer / 1000, \"s linear\");\n        timerProgressBar.style.width = '0%';\n      }, 10);\n    }\n  };\n  const stopTimerProgressBar = () => {\n    const timerProgressBar = getTimerProgressBar();\n    const timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n    timerProgressBar.style.removeProperty('transition');\n    timerProgressBar.style.width = '100%';\n    const timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n    const timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n    timerProgressBar.style.removeProperty('transition');\n    timerProgressBar.style.width = \"\".concat(timerProgressBarPercent, \"%\");\n  };\n\n  /**\n   * Detect Node env\n   *\n   * @returns {boolean}\n   */\n  const isNodeEnv = () => typeof window === 'undefined' || typeof document === 'undefined';\n\n  const RESTORE_FOCUS_TIMEOUT = 100;\n\n  /** @type {GlobalState} */\n\n  const globalState = {};\n\n  const focusPreviousActiveElement = () => {\n    if (globalState.previousActiveElement instanceof HTMLElement) {\n      globalState.previousActiveElement.focus();\n      globalState.previousActiveElement = null;\n    } else if (document.body) {\n      document.body.focus();\n    }\n  };\n  /**\n   * Restore previous active (focused) element\n   *\n   * @param {boolean} returnFocus\n   * @returns {Promise}\n   */\n\n\n  const restoreActiveElement = returnFocus => {\n    return new Promise(resolve => {\n      if (!returnFocus) {\n        return resolve();\n      }\n\n      const x = window.scrollX;\n      const y = window.scrollY;\n      globalState.restoreFocusTimeout = setTimeout(() => {\n        focusPreviousActiveElement();\n        resolve();\n      }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n      window.scrollTo(x, y);\n    });\n  };\n\n  const sweetHTML = \"\\n <div aria-labelledby=\\\"\".concat(swalClasses.title, \"\\\" aria-describedby=\\\"\").concat(swalClasses['html-container'], \"\\\" class=\\\"\").concat(swalClasses.popup, \"\\\" tabindex=\\\"-1\\\">\\n   <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.close, \"\\\"></button>\\n   <ul class=\\\"\").concat(swalClasses['progress-steps'], \"\\\"></ul>\\n   <div class=\\\"\").concat(swalClasses.icon, \"\\\"></div>\\n   <img class=\\\"\").concat(swalClasses.image, \"\\\" />\\n   <h2 class=\\\"\").concat(swalClasses.title, \"\\\" id=\\\"\").concat(swalClasses.title, \"\\\"></h2>\\n   <div class=\\\"\").concat(swalClasses['html-container'], \"\\\" id=\\\"\").concat(swalClasses['html-container'], \"\\\"></div>\\n   <input class=\\\"\").concat(swalClasses.input, \"\\\" />\\n   <input type=\\\"file\\\" class=\\\"\").concat(swalClasses.file, \"\\\" />\\n   <div class=\\\"\").concat(swalClasses.range, \"\\\">\\n     <input type=\\\"range\\\" />\\n     <output></output>\\n   </div>\\n   <select class=\\\"\").concat(swalClasses.select, \"\\\"></select>\\n   <div class=\\\"\").concat(swalClasses.radio, \"\\\"></div>\\n   <label for=\\\"\").concat(swalClasses.checkbox, \"\\\" class=\\\"\").concat(swalClasses.checkbox, \"\\\">\\n     <input type=\\\"checkbox\\\" />\\n     <span class=\\\"\").concat(swalClasses.label, \"\\\"></span>\\n   </label>\\n   <textarea class=\\\"\").concat(swalClasses.textarea, \"\\\"></textarea>\\n   <div class=\\\"\").concat(swalClasses['validation-message'], \"\\\" id=\\\"\").concat(swalClasses['validation-message'], \"\\\"></div>\\n   <div class=\\\"\").concat(swalClasses.actions, \"\\\">\\n     <div class=\\\"\").concat(swalClasses.loader, \"\\\"></div>\\n     <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.confirm, \"\\\"></button>\\n     <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.deny, \"\\\"></button>\\n     <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.cancel, \"\\\"></button>\\n   </div>\\n   <div class=\\\"\").concat(swalClasses.footer, \"\\\"></div>\\n   <div class=\\\"\").concat(swalClasses['timer-progress-bar-container'], \"\\\">\\n     <div class=\\\"\").concat(swalClasses['timer-progress-bar'], \"\\\"></div>\\n   </div>\\n </div>\\n\").replace(/(^|\\n)\\s*/g, '');\n  /**\n   * @returns {boolean}\n   */\n\n  const resetOldContainer = () => {\n    const oldContainer = getContainer();\n\n    if (!oldContainer) {\n      return false;\n    }\n\n    oldContainer.remove();\n    removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n    return true;\n  };\n\n  const resetValidationMessage = () => {\n    globalState.currentInstance.resetValidationMessage();\n  };\n\n  const addInputChangeListeners = () => {\n    const popup = getPopup();\n    const input = getDirectChildByClass(popup, swalClasses.input);\n    const file = getDirectChildByClass(popup, swalClasses.file);\n    /** @type {HTMLInputElement} */\n\n    const range = popup.querySelector(\".\".concat(swalClasses.range, \" input\"));\n    /** @type {HTMLOutputElement} */\n\n    const rangeOutput = popup.querySelector(\".\".concat(swalClasses.range, \" output\"));\n    const select = getDirectChildByClass(popup, swalClasses.select);\n    /** @type {HTMLInputElement} */\n\n    const checkbox = popup.querySelector(\".\".concat(swalClasses.checkbox, \" input\"));\n    const textarea = getDirectChildByClass(popup, swalClasses.textarea);\n    input.oninput = resetValidationMessage;\n    file.onchange = resetValidationMessage;\n    select.onchange = resetValidationMessage;\n    checkbox.onchange = resetValidationMessage;\n    textarea.oninput = resetValidationMessage;\n\n    range.oninput = () => {\n      resetValidationMessage();\n      rangeOutput.value = range.value;\n    };\n\n    range.onchange = () => {\n      resetValidationMessage();\n      rangeOutput.value = range.value;\n    };\n  };\n  /**\n   * @param {string | HTMLElement} target\n   * @returns {HTMLElement}\n   */\n\n\n  const getTarget = target => typeof target === 'string' ? document.querySelector(target) : target;\n  /**\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const setupAccessibility = params => {\n    const popup = getPopup();\n    popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n    popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n\n    if (!params.toast) {\n      popup.setAttribute('aria-modal', 'true');\n    }\n  };\n  /**\n   * @param {HTMLElement} targetElement\n   */\n\n\n  const setupRTL = targetElement => {\n    if (window.getComputedStyle(targetElement).direction === 'rtl') {\n      addClass(getContainer(), swalClasses.rtl);\n    }\n  };\n  /**\n   * Add modal + backdrop + no-war message for Russians to DOM\n   *\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const init = params => {\n    // Clean up the old popup container if it exists\n    const oldContainerExisted = resetOldContainer();\n    /* istanbul ignore if */\n\n    if (isNodeEnv()) {\n      error('SweetAlert2 requires document to initialize');\n      return;\n    }\n\n    const container = document.createElement('div');\n    container.className = swalClasses.container;\n\n    if (oldContainerExisted) {\n      addClass(container, swalClasses['no-transition']);\n    }\n\n    setInnerHtml(container, sweetHTML);\n    const targetElement = getTarget(params.target);\n    targetElement.appendChild(container);\n    setupAccessibility(params);\n    setupRTL(targetElement);\n    addInputChangeListeners();\n    noWarMessageForRussians(container, params);\n  };\n  /**\n   * @param {HTMLElement} container\n   * @param {SweetAlertOptions} params\n   */\n\n  const noWarMessageForRussians = (container, params) => {\n    if (params.toast) {\n      return;\n    } // This message is targeted at people who are corrupted by propaganda, everybody else\n    // is already against war either silently or actively.\n    //\n    // The point is to wrap the truth-bomb into a patriotic title so they will actually click it\n    // and listen to the uncomfortable truth about the war from the people they love or respect.\n\n\n    const message = getRandomElement([{\n      text: 'ШВАРЦЕНЕГГЕР обратился <br> к РУССКОМУ НАРОДУ о войне',\n      // Arnold is loved in Russia by all people including those who are for this war\n      // His speech might change the mind of those who are brainwashed by propaganda\n      youtubeId: 'fWClXZd9c78'\n    }, {\n      text: 'РУССКИЙ ПАТРИОТ <br> открыл главную тайну спецоперации',\n      // In this video one of the most famous Russian nationalist leaders, Dmitry Demushkin,\n      // explains that this war has no sense and produces the exact opposite result of what\n      // it was intended to do.\n      youtubeId: '_RjBNkn88yA'\n    }, {\n      text: 'ГЕРОЙ НОВОРОССИИ СТРЕЛКОВ <br> дал оценку ходу спецоперации',\n      // In this video Igor Girkin, who played a key role in the annexation of Crimea,\n      // explains that this war has failed already and all possible outcomes are bad for Russia.\n      youtubeId: 'yUmzQT4C8JY'\n    }, {\n      text: 'ФИНСКИЙ ДРУГ РОССИИ <br> говорит ПО-РУССКИ о спецоперации',\n      youtubeId: 'hkCYb6edUrQ'\n    }, {\n      text: 'ЮРИЙ ПОДОЛЯКА честно <br> о генералах РУССКОЙ АРМИИ',\n      youtubeId: 'w4-_8BJKfpk'\n    }, {\n      text: 'Полковник ФСБ СТРЕЛКОВ <br> об успехах РОССИИ в спецоперации',\n      youtubeId: 'saK5UTKroDA'\n    }]); // The message will only be shown to Russian users visiting Russian sites\n\n    if (navigator.language === 'ru' && location.host.match(/\\.(ru|su|xn--p1ai)$/)) {\n      const noWar = document.createElement('div');\n      noWar.className = swalClasses['no-war'];\n      setInnerHtml(noWar, \"<a href=\\\"https://www.youtube.com/watch?v=\".concat(message.youtubeId, \"\\\" target=\\\"_blank\\\">\").concat(message.text, \"</a>\"));\n      container.appendChild(noWar);\n      container.style.paddingTop = '4em';\n    }\n  };\n\n  /**\n   * @param {HTMLElement | object | string} param\n   * @param {HTMLElement} target\n   */\n\n  const parseHtmlToContainer = (param, target) => {\n    // DOM element\n    if (param instanceof HTMLElement) {\n      target.appendChild(param);\n    } // Object\n    else if (typeof param === 'object') {\n      handleObject(param, target);\n    } // Plain string\n    else if (param) {\n      setInnerHtml(target, param);\n    }\n  };\n  /**\n   * @param {object} param\n   * @param {HTMLElement} target\n   */\n\n  const handleObject = (param, target) => {\n    // JQuery element(s)\n    if (param.jquery) {\n      handleJqueryElem(target, param);\n    } // For other objects use their string representation\n    else {\n      setInnerHtml(target, param.toString());\n    }\n  };\n  /**\n   * @param {HTMLElement} target\n   * @param {HTMLElement} elem\n   */\n\n\n  const handleJqueryElem = (target, elem) => {\n    target.textContent = '';\n\n    if (0 in elem) {\n      for (let i = 0; (i in elem); i++) {\n        target.appendChild(elem[i].cloneNode(true));\n      }\n    } else {\n      target.appendChild(elem.cloneNode(true));\n    }\n  };\n\n  /**\n   * @returns {'webkitAnimationEnd' | 'animationend' | false}\n   */\n\n  const animationEndEvent = (() => {\n    // Prevent run in Node env\n\n    /* istanbul ignore if */\n    if (isNodeEnv()) {\n      return false;\n    }\n\n    const testEl = document.createElement('div');\n    const transEndEventNames = {\n      WebkitAnimation: 'webkitAnimationEnd',\n      // Chrome, Safari and Opera\n      animation: 'animationend' // Standard syntax\n\n    };\n\n    for (const i in transEndEventNames) {\n      if (Object.prototype.hasOwnProperty.call(transEndEventNames, i) && typeof testEl.style[i] !== 'undefined') {\n        return transEndEventNames[i];\n      }\n    }\n\n    return false;\n  })();\n\n  /**\n   * Measure scrollbar width for padding body during modal show/hide\n   * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n   *\n   * @returns {number}\n   */\n\n  const measureScrollbar = () => {\n    const scrollDiv = document.createElement('div');\n    scrollDiv.className = swalClasses['scrollbar-measure'];\n    document.body.appendChild(scrollDiv);\n    const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n    document.body.removeChild(scrollDiv);\n    return scrollbarWidth;\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderActions = (instance, params) => {\n    const actions = getActions();\n    const loader = getLoader(); // Actions (buttons) wrapper\n\n    if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n      hide(actions);\n    } else {\n      show(actions);\n    } // Custom class\n\n\n    applyCustomClass(actions, params, 'actions'); // Render all the buttons\n\n    renderButtons(actions, loader, params); // Loader\n\n    setInnerHtml(loader, params.loaderHtml);\n    applyCustomClass(loader, params, 'loader');\n  };\n  /**\n   * @param {HTMLElement} actions\n   * @param {HTMLElement} loader\n   * @param {SweetAlertOptions} params\n   */\n\n  function renderButtons(actions, loader, params) {\n    const confirmButton = getConfirmButton();\n    const denyButton = getDenyButton();\n    const cancelButton = getCancelButton(); // Render buttons\n\n    renderButton(confirmButton, 'confirm', params);\n    renderButton(denyButton, 'deny', params);\n    renderButton(cancelButton, 'cancel', params);\n    handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n\n    if (params.reverseButtons) {\n      if (params.toast) {\n        actions.insertBefore(cancelButton, confirmButton);\n        actions.insertBefore(denyButton, confirmButton);\n      } else {\n        actions.insertBefore(cancelButton, loader);\n        actions.insertBefore(denyButton, loader);\n        actions.insertBefore(confirmButton, loader);\n      }\n    }\n  }\n  /**\n   * @param {HTMLElement} confirmButton\n   * @param {HTMLElement} denyButton\n   * @param {HTMLElement} cancelButton\n   * @param {SweetAlertOptions} params\n   */\n\n\n  function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n    if (!params.buttonsStyling) {\n      return removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n    }\n\n    addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); // Buttons background colors\n\n    if (params.confirmButtonColor) {\n      confirmButton.style.backgroundColor = params.confirmButtonColor;\n      addClass(confirmButton, swalClasses['default-outline']);\n    }\n\n    if (params.denyButtonColor) {\n      denyButton.style.backgroundColor = params.denyButtonColor;\n      addClass(denyButton, swalClasses['default-outline']);\n    }\n\n    if (params.cancelButtonColor) {\n      cancelButton.style.backgroundColor = params.cancelButtonColor;\n      addClass(cancelButton, swalClasses['default-outline']);\n    }\n  }\n  /**\n   * @param {HTMLElement} button\n   * @param {'confirm' | 'deny' | 'cancel'} buttonType\n   * @param {SweetAlertOptions} params\n   */\n\n\n  function renderButton(button, buttonType, params) {\n    toggle(button, params[\"show\".concat(capitalizeFirstLetter(buttonType), \"Button\")], 'inline-block');\n    setInnerHtml(button, params[\"\".concat(buttonType, \"ButtonText\")]); // Set caption text\n\n    button.setAttribute('aria-label', params[\"\".concat(buttonType, \"ButtonAriaLabel\")]); // ARIA label\n    // Add buttons custom classes\n\n    button.className = swalClasses[buttonType];\n    applyCustomClass(button, params, \"\".concat(buttonType, \"Button\"));\n    addClass(button, params[\"\".concat(buttonType, \"ButtonClass\")]);\n  }\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderContainer = (instance, params) => {\n    const container = getContainer();\n\n    if (!container) {\n      return;\n    }\n\n    handleBackdropParam(container, params.backdrop);\n    handlePositionParam(container, params.position);\n    handleGrowParam(container, params.grow); // Custom class\n\n    applyCustomClass(container, params, 'container');\n  };\n  /**\n   * @param {HTMLElement} container\n   * @param {SweetAlertOptions['backdrop']} backdrop\n   */\n\n  function handleBackdropParam(container, backdrop) {\n    if (typeof backdrop === 'string') {\n      container.style.background = backdrop;\n    } else if (!backdrop) {\n      addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n    }\n  }\n  /**\n   * @param {HTMLElement} container\n   * @param {SweetAlertOptions['position']} position\n   */\n\n\n  function handlePositionParam(container, position) {\n    if (position in swalClasses) {\n      addClass(container, swalClasses[position]);\n    } else {\n      warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n      addClass(container, swalClasses.center);\n    }\n  }\n  /**\n   * @param {HTMLElement} container\n   * @param {SweetAlertOptions['grow']} grow\n   */\n\n\n  function handleGrowParam(container, grow) {\n    if (grow && typeof grow === 'string') {\n      const growClass = \"grow-\".concat(grow);\n\n      if (growClass in swalClasses) {\n        addClass(container, swalClasses[growClass]);\n      }\n    }\n  }\n\n  /**\n   * This module contains `WeakMap`s for each effectively-\"private  property\" that a `Swal` has.\n   * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n   * This is the approach that Babel will probably take to implement private methods/fields\n   *   https://github.com/tc39/proposal-private-methods\n   *   https://github.com/babel/babel/pull/7555\n   * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n   *   then we can use that language feature.\n   */\n  var privateProps = {\n    awaitingPromise: new WeakMap(),\n    promise: new WeakMap(),\n    innerParams: new WeakMap(),\n    domCache: new WeakMap()\n  };\n\n  /// <reference path=\"../../../../sweetalert2.d.ts\"/>\n  /** @type {InputClass[]} */\n\n  const inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderInput = (instance, params) => {\n    const popup = getPopup();\n    const innerParams = privateProps.innerParams.get(instance);\n    const rerender = !innerParams || params.input !== innerParams.input;\n    inputClasses.forEach(inputClass => {\n      const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]); // set attributes\n\n      setAttributes(inputClass, params.inputAttributes); // set class\n\n      inputContainer.className = swalClasses[inputClass];\n\n      if (rerender) {\n        hide(inputContainer);\n      }\n    });\n\n    if (params.input) {\n      if (rerender) {\n        showInput(params);\n      } // set custom class\n\n\n      setCustomClass(params);\n    }\n  };\n  /**\n   * @param {SweetAlertOptions} params\n   */\n\n  const showInput = params => {\n    if (!renderInputType[params.input]) {\n      return error(\"Unexpected type of input! Expected \\\"text\\\", \\\"email\\\", \\\"password\\\", \\\"number\\\", \\\"tel\\\", \\\"select\\\", \\\"radio\\\", \\\"checkbox\\\", \\\"textarea\\\", \\\"file\\\" or \\\"url\\\", got \\\"\".concat(params.input, \"\\\"\"));\n    }\n\n    const inputContainer = getInputContainer(params.input);\n    const input = renderInputType[params.input](inputContainer, params);\n    show(inputContainer); // input autofocus\n\n    setTimeout(() => {\n      focusInput(input);\n    });\n  };\n  /**\n   * @param {HTMLInputElement} input\n   */\n\n\n  const removeAttributes = input => {\n    for (let i = 0; i < input.attributes.length; i++) {\n      const attrName = input.attributes[i].name;\n\n      if (!['type', 'value', 'style'].includes(attrName)) {\n        input.removeAttribute(attrName);\n      }\n    }\n  };\n  /**\n   * @param {InputClass} inputClass\n   * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n   */\n\n\n  const setAttributes = (inputClass, inputAttributes) => {\n    const input = getInput(getPopup(), inputClass);\n\n    if (!input) {\n      return;\n    }\n\n    removeAttributes(input);\n\n    for (const attr in inputAttributes) {\n      input.setAttribute(attr, inputAttributes[attr]);\n    }\n  };\n  /**\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const setCustomClass = params => {\n    const inputContainer = getInputContainer(params.input);\n\n    if (typeof params.customClass === 'object') {\n      addClass(inputContainer, params.customClass.input);\n    }\n  };\n  /**\n   * @param {HTMLInputElement | HTMLTextAreaElement} input\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const setInputPlaceholder = (input, params) => {\n    if (!input.placeholder || params.inputPlaceholder) {\n      input.placeholder = params.inputPlaceholder;\n    }\n  };\n  /**\n   * @param {Input} input\n   * @param {Input} prependTo\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const setInputLabel = (input, prependTo, params) => {\n    if (params.inputLabel) {\n      input.id = swalClasses.input;\n      const label = document.createElement('label');\n      const labelClass = swalClasses['input-label'];\n      label.setAttribute('for', input.id);\n      label.className = labelClass;\n\n      if (typeof params.customClass === 'object') {\n        addClass(label, params.customClass.inputLabel);\n      }\n\n      label.innerText = params.inputLabel;\n      prependTo.insertAdjacentElement('beforebegin', label);\n    }\n  };\n  /**\n   * @param {SweetAlertOptions['input']} inputType\n   * @returns {HTMLElement}\n   */\n\n\n  const getInputContainer = inputType => {\n    return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input);\n  };\n  /**\n   * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n   * @param {SweetAlertOptions['inputValue']} inputValue\n   */\n\n\n  const checkAndSetInputValue = (input, inputValue) => {\n    if (['string', 'number'].includes(typeof inputValue)) {\n      input.value = \"\".concat(inputValue);\n    } else if (!isPromise(inputValue)) {\n      warn(\"Unexpected type of inputValue! Expected \\\"string\\\", \\\"number\\\" or \\\"Promise\\\", got \\\"\".concat(typeof inputValue, \"\\\"\"));\n    }\n  };\n  /** @type Record<string, (input: Input | HTMLElement, params: SweetAlertOptions) => Input> */\n\n\n  const renderInputType = {};\n  /**\n   * @param {HTMLInputElement} input\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLInputElement}\n   */\n\n  renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = (input, params) => {\n    checkAndSetInputValue(input, params.inputValue);\n    setInputLabel(input, input, params);\n    setInputPlaceholder(input, params);\n    input.type = params.input;\n    return input;\n  };\n  /**\n   * @param {HTMLInputElement} input\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLInputElement}\n   */\n\n\n  renderInputType.file = (input, params) => {\n    setInputLabel(input, input, params);\n    setInputPlaceholder(input, params);\n    return input;\n  };\n  /**\n   * @param {HTMLInputElement} range\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLInputElement}\n   */\n\n\n  renderInputType.range = (range, params) => {\n    const rangeInput = range.querySelector('input');\n    const rangeOutput = range.querySelector('output');\n    checkAndSetInputValue(rangeInput, params.inputValue);\n    rangeInput.type = params.input;\n    checkAndSetInputValue(rangeOutput, params.inputValue);\n    setInputLabel(rangeInput, range, params);\n    return range;\n  };\n  /**\n   * @param {HTMLSelectElement} select\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLSelectElement}\n   */\n\n\n  renderInputType.select = (select, params) => {\n    select.textContent = '';\n\n    if (params.inputPlaceholder) {\n      const placeholder = document.createElement('option');\n      setInnerHtml(placeholder, params.inputPlaceholder);\n      placeholder.value = '';\n      placeholder.disabled = true;\n      placeholder.selected = true;\n      select.appendChild(placeholder);\n    }\n\n    setInputLabel(select, select, params);\n    return select;\n  };\n  /**\n   * @param {HTMLInputElement} radio\n   * @returns {HTMLInputElement}\n   */\n\n\n  renderInputType.radio = radio => {\n    radio.textContent = '';\n    return radio;\n  };\n  /**\n   * @param {HTMLLabelElement} checkboxContainer\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLInputElement}\n   */\n\n\n  renderInputType.checkbox = (checkboxContainer, params) => {\n    const checkbox = getInput(getPopup(), 'checkbox');\n    checkbox.value = '1';\n    checkbox.id = swalClasses.checkbox;\n    checkbox.checked = Boolean(params.inputValue);\n    const label = checkboxContainer.querySelector('span');\n    setInnerHtml(label, params.inputPlaceholder);\n    return checkbox;\n  };\n  /**\n   * @param {HTMLTextAreaElement} textarea\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLTextAreaElement}\n   */\n\n\n  renderInputType.textarea = (textarea, params) => {\n    checkAndSetInputValue(textarea, params.inputValue);\n    setInputPlaceholder(textarea, params);\n    setInputLabel(textarea, textarea, params);\n    /**\n     * @param {HTMLElement} el\n     * @returns {number}\n     */\n\n    const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight); // https://github.com/sweetalert2/sweetalert2/issues/2291\n\n\n    setTimeout(() => {\n      // https://github.com/sweetalert2/sweetalert2/issues/1699\n      if ('MutationObserver' in window) {\n        const initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n\n        const textareaResizeHandler = () => {\n          const textareaWidth = textarea.offsetWidth + getMargin(textarea);\n\n          if (textareaWidth > initialPopupWidth) {\n            getPopup().style.width = \"\".concat(textareaWidth, \"px\");\n          } else {\n            getPopup().style.width = null;\n          }\n        };\n\n        new MutationObserver(textareaResizeHandler).observe(textarea, {\n          attributes: true,\n          attributeFilter: ['style']\n        });\n      }\n    });\n    return textarea;\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderContent = (instance, params) => {\n    const htmlContainer = getHtmlContainer();\n    applyCustomClass(htmlContainer, params, 'htmlContainer'); // Content as HTML\n\n    if (params.html) {\n      parseHtmlToContainer(params.html, htmlContainer);\n      show(htmlContainer, 'block');\n    } // Content as plain text\n    else if (params.text) {\n      htmlContainer.textContent = params.text;\n      show(htmlContainer, 'block');\n    } // No content\n    else {\n      hide(htmlContainer);\n    }\n\n    renderInput(instance, params);\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderFooter = (instance, params) => {\n    const footer = getFooter();\n    toggle(footer, params.footer);\n\n    if (params.footer) {\n      parseHtmlToContainer(params.footer, footer);\n    } // Custom class\n\n\n    applyCustomClass(footer, params, 'footer');\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderCloseButton = (instance, params) => {\n    const closeButton = getCloseButton();\n    setInnerHtml(closeButton, params.closeButtonHtml); // Custom class\n\n    applyCustomClass(closeButton, params, 'closeButton');\n    toggle(closeButton, params.showCloseButton);\n    closeButton.setAttribute('aria-label', params.closeButtonAriaLabel);\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderIcon = (instance, params) => {\n    const innerParams = privateProps.innerParams.get(instance);\n    const icon = getIcon(); // if the given icon already rendered, apply the styling without re-rendering the icon\n\n    if (innerParams && params.icon === innerParams.icon) {\n      // Custom or default content\n      setContent(icon, params);\n      applyStyles(icon, params);\n      return;\n    }\n\n    if (!params.icon && !params.iconHtml) {\n      hide(icon);\n      return;\n    }\n\n    if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n      error(\"Unknown icon! Expected \\\"success\\\", \\\"error\\\", \\\"warning\\\", \\\"info\\\" or \\\"question\\\", got \\\"\".concat(params.icon, \"\\\"\"));\n      hide(icon);\n      return;\n    }\n\n    show(icon); // Custom or default content\n\n    setContent(icon, params);\n    applyStyles(icon, params); // Animate icon\n\n    addClass(icon, params.showClass.icon);\n  };\n  /**\n   * @param {HTMLElement} icon\n   * @param {SweetAlertOptions} params\n   */\n\n  const applyStyles = (icon, params) => {\n    for (const iconType in iconTypes) {\n      if (params.icon !== iconType) {\n        removeClass(icon, iconTypes[iconType]);\n      }\n    }\n\n    addClass(icon, iconTypes[params.icon]); // Icon color\n\n    setColor(icon, params); // Success icon background color\n\n    adjustSuccessIconBackgroundColor(); // Custom class\n\n    applyCustomClass(icon, params, 'icon');\n  }; // Adjust success icon background color to match the popup background color\n\n\n  const adjustSuccessIconBackgroundColor = () => {\n    const popup = getPopup();\n    const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n    /** @type {NodeListOf<HTMLElement>} */\n\n    const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n\n    for (let i = 0; i < successIconParts.length; i++) {\n      successIconParts[i].style.backgroundColor = popupBackgroundColor;\n    }\n  };\n\n  const successIconHtml = \"\\n  <div class=\\\"swal2-success-circular-line-left\\\"></div>\\n  <span class=\\\"swal2-success-line-tip\\\"></span> <span class=\\\"swal2-success-line-long\\\"></span>\\n  <div class=\\\"swal2-success-ring\\\"></div> <div class=\\\"swal2-success-fix\\\"></div>\\n  <div class=\\\"swal2-success-circular-line-right\\\"></div>\\n\";\n  const errorIconHtml = \"\\n  <span class=\\\"swal2-x-mark\\\">\\n    <span class=\\\"swal2-x-mark-line-left\\\"></span>\\n    <span class=\\\"swal2-x-mark-line-right\\\"></span>\\n  </span>\\n\";\n  /**\n   * @param {HTMLElement} icon\n   * @param {SweetAlertOptions} params\n   */\n\n  const setContent = (icon, params) => {\n    let oldContent = icon.innerHTML;\n    let newContent;\n\n    if (params.iconHtml) {\n      newContent = iconContent(params.iconHtml);\n    } else if (params.icon === 'success') {\n      newContent = successIconHtml;\n      oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n    } else if (params.icon === 'error') {\n      newContent = errorIconHtml;\n    } else {\n      const defaultIconHtml = {\n        question: '?',\n        warning: '!',\n        info: 'i'\n      };\n      newContent = iconContent(defaultIconHtml[params.icon]);\n    }\n\n    if (oldContent.trim() !== newContent.trim()) {\n      setInnerHtml(icon, newContent);\n    }\n  };\n  /**\n   * @param {HTMLElement} icon\n   * @param {SweetAlertOptions} params\n   */\n\n\n  const setColor = (icon, params) => {\n    if (!params.iconColor) {\n      return;\n    }\n\n    icon.style.color = params.iconColor;\n    icon.style.borderColor = params.iconColor;\n\n    for (const sel of ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']) {\n      setStyle(icon, sel, 'backgroundColor', params.iconColor);\n    }\n\n    setStyle(icon, '.swal2-success-ring', 'borderColor', params.iconColor);\n  };\n  /**\n   * @param {string} content\n   * @returns {string}\n   */\n\n\n  const iconContent = content => \"<div class=\\\"\".concat(swalClasses['icon-content'], \"\\\">\").concat(content, \"</div>\");\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderImage = (instance, params) => {\n    const image = getImage();\n\n    if (!params.imageUrl) {\n      return hide(image);\n    }\n\n    show(image, ''); // Src, alt\n\n    image.setAttribute('src', params.imageUrl);\n    image.setAttribute('alt', params.imageAlt); // Width, height\n\n    applyNumericalStyle(image, 'width', params.imageWidth);\n    applyNumericalStyle(image, 'height', params.imageHeight); // Class\n\n    image.className = swalClasses.image;\n    applyCustomClass(image, params, 'image');\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderProgressSteps = (instance, params) => {\n    const progressStepsContainer = getProgressSteps();\n\n    if (!params.progressSteps || params.progressSteps.length === 0) {\n      return hide(progressStepsContainer);\n    }\n\n    show(progressStepsContainer);\n    progressStepsContainer.textContent = '';\n\n    if (params.currentProgressStep >= params.progressSteps.length) {\n      warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n    }\n\n    params.progressSteps.forEach((step, index) => {\n      const stepEl = createStepElement(step);\n      progressStepsContainer.appendChild(stepEl);\n\n      if (index === params.currentProgressStep) {\n        addClass(stepEl, swalClasses['active-progress-step']);\n      }\n\n      if (index !== params.progressSteps.length - 1) {\n        const lineEl = createLineElement(params);\n        progressStepsContainer.appendChild(lineEl);\n      }\n    });\n  };\n  /**\n   * @param {string} step\n   * @returns {HTMLLIElement}\n   */\n\n  const createStepElement = step => {\n    const stepEl = document.createElement('li');\n    addClass(stepEl, swalClasses['progress-step']);\n    setInnerHtml(stepEl, step);\n    return stepEl;\n  };\n  /**\n   * @param {SweetAlertOptions} params\n   * @returns {HTMLLIElement}\n   */\n\n\n  const createLineElement = params => {\n    const lineEl = document.createElement('li');\n    addClass(lineEl, swalClasses['progress-step-line']);\n\n    if (params.progressStepsDistance) {\n      applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n    }\n\n    return lineEl;\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderTitle = (instance, params) => {\n    const title = getTitle();\n    toggle(title, params.title || params.titleText, 'block');\n\n    if (params.title) {\n      parseHtmlToContainer(params.title, title);\n    }\n\n    if (params.titleText) {\n      title.innerText = params.titleText;\n    } // Custom class\n\n\n    applyCustomClass(title, params, 'title');\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const renderPopup = (instance, params) => {\n    const container = getContainer();\n    const popup = getPopup(); // Width\n    // https://github.com/sweetalert2/sweetalert2/issues/2170\n\n    if (params.toast) {\n      applyNumericalStyle(container, 'width', params.width);\n      popup.style.width = '100%';\n      popup.insertBefore(getLoader(), getIcon());\n    } else {\n      applyNumericalStyle(popup, 'width', params.width);\n    } // Padding\n\n\n    applyNumericalStyle(popup, 'padding', params.padding); // Color\n\n    if (params.color) {\n      popup.style.color = params.color;\n    } // Background\n\n\n    if (params.background) {\n      popup.style.background = params.background;\n    }\n\n    hide(getValidationMessage()); // Classes\n\n    addClasses(popup, params);\n  };\n  /**\n   * @param {HTMLElement} popup\n   * @param {SweetAlertOptions} params\n   */\n\n  const addClasses = (popup, params) => {\n    // Default Class + showClass when updating Swal.update({})\n    popup.className = \"\".concat(swalClasses.popup, \" \").concat(isVisible(popup) ? params.showClass.popup : '');\n\n    if (params.toast) {\n      addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n      addClass(popup, swalClasses.toast);\n    } else {\n      addClass(popup, swalClasses.modal);\n    } // Custom class\n\n\n    applyCustomClass(popup, params, 'popup');\n\n    if (typeof params.customClass === 'string') {\n      addClass(popup, params.customClass);\n    } // Icon class (#1842)\n\n\n    if (params.icon) {\n      addClass(popup, swalClasses[\"icon-\".concat(params.icon)]);\n    }\n  };\n\n  /**\n   * @param {SweetAlert2} instance\n   * @param {SweetAlertOptions} params\n   */\n\n  const render = (instance, params) => {\n    renderPopup(instance, params);\n    renderContainer(instance, params);\n    renderProgressSteps(instance, params);\n    renderIcon(instance, params);\n    renderImage(instance, params);\n    renderTitle(instance, params);\n    renderCloseButton(instance, params);\n    renderContent(instance, params);\n    renderActions(instance, params);\n    renderFooter(instance, params);\n\n    if (typeof params.didRender === 'function') {\n      params.didRender(getPopup());\n    }\n  };\n\n  const DismissReason = Object.freeze({\n    cancel: 'cancel',\n    backdrop: 'backdrop',\n    close: 'close',\n    esc: 'esc',\n    timer: 'timer'\n  });\n\n  // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n  // elements not within the active modal dialog will not be surfaced if a user opens a screen\n  // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n  const setAriaHidden = () => {\n    const bodyChildren = toArray(document.body.children);\n    bodyChildren.forEach(el => {\n      if (el === getContainer() || el.contains(getContainer())) {\n        return;\n      }\n\n      if (el.hasAttribute('aria-hidden')) {\n        el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden'));\n      }\n\n      el.setAttribute('aria-hidden', 'true');\n    });\n  };\n  const unsetAriaHidden = () => {\n    const bodyChildren = toArray(document.body.children);\n    bodyChildren.forEach(el => {\n      if (el.hasAttribute('data-previous-aria-hidden')) {\n        el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden'));\n        el.removeAttribute('data-previous-aria-hidden');\n      } else {\n        el.removeAttribute('aria-hidden');\n      }\n    });\n  };\n\n  const swalStringParams = ['swal-title', 'swal-html', 'swal-footer'];\n  const getTemplateParams = params => {\n    const template = typeof params.template === 'string' ? document.querySelector(params.template) : params.template;\n\n    if (!template) {\n      return {};\n    }\n    /** @type {DocumentFragment} */\n\n\n    const templateContent = template.content;\n    showWarningsForElements(templateContent);\n    const result = Object.assign(getSwalParams(templateContent), getSwalButtons(templateContent), getSwalImage(templateContent), getSwalIcon(templateContent), getSwalInput(templateContent), getSwalStringParams(templateContent, swalStringParams));\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n  const getSwalParams = templateContent => {\n    const result = {};\n    toArray(templateContent.querySelectorAll('swal-param')).forEach(param => {\n      showWarningsForAttributes(param, ['name', 'value']);\n      const paramName = param.getAttribute('name');\n      const value = param.getAttribute('value');\n\n      if (typeof defaultParams[paramName] === 'boolean' && value === 'false') {\n        result[paramName] = false;\n      }\n\n      if (typeof defaultParams[paramName] === 'object') {\n        result[paramName] = JSON.parse(value);\n      }\n    });\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n\n  const getSwalButtons = templateContent => {\n    const result = {};\n    toArray(templateContent.querySelectorAll('swal-button')).forEach(button => {\n      showWarningsForAttributes(button, ['type', 'color', 'aria-label']);\n      const type = button.getAttribute('type');\n      result[\"\".concat(type, \"ButtonText\")] = button.innerHTML;\n      result[\"show\".concat(capitalizeFirstLetter(type), \"Button\")] = true;\n\n      if (button.hasAttribute('color')) {\n        result[\"\".concat(type, \"ButtonColor\")] = button.getAttribute('color');\n      }\n\n      if (button.hasAttribute('aria-label')) {\n        result[\"\".concat(type, \"ButtonAriaLabel\")] = button.getAttribute('aria-label');\n      }\n    });\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n\n  const getSwalImage = templateContent => {\n    const result = {};\n    /** @type {HTMLElement} */\n\n    const image = templateContent.querySelector('swal-image');\n\n    if (image) {\n      showWarningsForAttributes(image, ['src', 'width', 'height', 'alt']);\n\n      if (image.hasAttribute('src')) {\n        result.imageUrl = image.getAttribute('src');\n      }\n\n      if (image.hasAttribute('width')) {\n        result.imageWidth = image.getAttribute('width');\n      }\n\n      if (image.hasAttribute('height')) {\n        result.imageHeight = image.getAttribute('height');\n      }\n\n      if (image.hasAttribute('alt')) {\n        result.imageAlt = image.getAttribute('alt');\n      }\n    }\n\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n\n  const getSwalIcon = templateContent => {\n    const result = {};\n    /** @type {HTMLElement} */\n\n    const icon = templateContent.querySelector('swal-icon');\n\n    if (icon) {\n      showWarningsForAttributes(icon, ['type', 'color']);\n\n      if (icon.hasAttribute('type')) {\n        result.icon = icon.getAttribute('type');\n      }\n\n      if (icon.hasAttribute('color')) {\n        result.iconColor = icon.getAttribute('color');\n      }\n\n      result.iconHtml = icon.innerHTML;\n    }\n\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n\n  const getSwalInput = templateContent => {\n    const result = {};\n    /** @type {HTMLElement} */\n\n    const input = templateContent.querySelector('swal-input');\n\n    if (input) {\n      showWarningsForAttributes(input, ['type', 'label', 'placeholder', 'value']);\n      result.input = input.getAttribute('type') || 'text';\n\n      if (input.hasAttribute('label')) {\n        result.inputLabel = input.getAttribute('label');\n      }\n\n      if (input.hasAttribute('placeholder')) {\n        result.inputPlaceholder = input.getAttribute('placeholder');\n      }\n\n      if (input.hasAttribute('value')) {\n        result.inputValue = input.getAttribute('value');\n      }\n    }\n\n    const inputOptions = templateContent.querySelectorAll('swal-input-option');\n\n    if (inputOptions.length) {\n      result.inputOptions = {};\n      toArray(inputOptions).forEach(option => {\n        showWarningsForAttributes(option, ['value']);\n        const optionValue = option.getAttribute('value');\n        const optionName = option.innerHTML;\n        result.inputOptions[optionValue] = optionName;\n      });\n    }\n\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   * @param {string[]} paramNames\n   */\n\n\n  const getSwalStringParams = (templateContent, paramNames) => {\n    const result = {};\n\n    for (const i in paramNames) {\n      const paramName = paramNames[i];\n      /** @type {HTMLElement} */\n\n      const tag = templateContent.querySelector(paramName);\n\n      if (tag) {\n        showWarningsForAttributes(tag, []);\n        result[paramName.replace(/^swal-/, '')] = tag.innerHTML.trim();\n      }\n    }\n\n    return result;\n  };\n  /**\n   * @param {DocumentFragment} templateContent\n   */\n\n\n  const showWarningsForElements = templateContent => {\n    const allowedElements = swalStringParams.concat(['swal-param', 'swal-button', 'swal-image', 'swal-icon', 'swal-input', 'swal-input-option']);\n    toArray(templateContent.children).forEach(el => {\n      const tagName = el.tagName.toLowerCase();\n\n      if (allowedElements.indexOf(tagName) === -1) {\n        warn(\"Unrecognized element <\".concat(tagName, \">\"));\n      }\n    });\n  };\n  /**\n   * @param {HTMLElement} el\n   * @param {string[]} allowedAttributes\n   */\n\n\n  const showWarningsForAttributes = (el, allowedAttributes) => {\n    toArray(el.attributes).forEach(attribute => {\n      if (allowedAttributes.indexOf(attribute.name) === -1) {\n        warn([\"Unrecognized attribute \\\"\".concat(attribute.name, \"\\\" on <\").concat(el.tagName.toLowerCase(), \">.\"), \"\".concat(allowedAttributes.length ? \"Allowed attributes are: \".concat(allowedAttributes.join(', ')) : 'To set the value, use HTML within the element.')]);\n      }\n    });\n  };\n\n  var defaultInputValidators = {\n    /**\n     * @param {string} string\n     * @param {string} validationMessage\n     * @returns {Promise<void | string>}\n     */\n    email: (string, validationMessage) => {\n      return /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-]{2,24}$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid email address');\n    },\n\n    /**\n     * @param {string} string\n     * @param {string} validationMessage\n     * @returns {Promise<void | string>}\n     */\n    url: (string, validationMessage) => {\n      // taken from https://stackoverflow.com/a/3809435 with a small change from #1306 and #2013\n      return /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,63}\\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid URL');\n    }\n  };\n\n  /**\n   * @param {SweetAlertOptions} params\n   */\n\n  function setDefaultInputValidators(params) {\n    // Use default `inputValidator` for supported input types if not provided\n    if (!params.inputValidator) {\n      Object.keys(defaultInputValidators).forEach(key => {\n        if (params.input === key) {\n          params.inputValidator = defaultInputValidators[key];\n        }\n      });\n    }\n  }\n  /**\n   * @param {SweetAlertOptions} params\n   */\n\n\n  function validateCustomTargetElement(params) {\n    // Determine if the custom target element is valid\n    if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) {\n      warn('Target parameter is not valid, defaulting to \"body\"');\n      params.target = 'body';\n    }\n  }\n  /**\n   * Set type, text and actions on popup\n   *\n   * @param {SweetAlertOptions} params\n   */\n\n\n  function setParameters(params) {\n    setDefaultInputValidators(params); // showLoaderOnConfirm && preConfirm\n\n    if (params.showLoaderOnConfirm && !params.preConfirm) {\n      warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\\n' + 'https://sweetalert2.github.io/#ajax-request');\n    }\n\n    validateCustomTargetElement(params); // Replace newlines with <br> in title\n\n    if (typeof params.title === 'string') {\n      params.title = params.title.split('\\n').join('<br />');\n    }\n\n    init(params);\n  }\n\n  class Timer {\n    constructor(callback, delay) {\n      this.callback = callback;\n      this.remaining = delay;\n      this.running = false;\n      this.start();\n    }\n\n    start() {\n      if (!this.running) {\n        this.running = true;\n        this.started = new Date();\n        this.id = setTimeout(this.callback, this.remaining);\n      }\n\n      return this.remaining;\n    }\n\n    stop() {\n      if (this.running) {\n        this.running = false;\n        clearTimeout(this.id);\n        this.remaining -= new Date().getTime() - this.started.getTime();\n      }\n\n      return this.remaining;\n    }\n\n    increase(n) {\n      const running = this.running;\n\n      if (running) {\n        this.stop();\n      }\n\n      this.remaining += n;\n\n      if (running) {\n        this.start();\n      }\n\n      return this.remaining;\n    }\n\n    getTimerLeft() {\n      if (this.running) {\n        this.stop();\n        this.start();\n      }\n\n      return this.remaining;\n    }\n\n    isRunning() {\n      return this.running;\n    }\n\n  }\n\n  const fixScrollbar = () => {\n    // for queues, do not do this more than once\n    if (states.previousBodyPadding !== null) {\n      return;\n    } // if the body has overflow\n\n\n    if (document.body.scrollHeight > window.innerHeight) {\n      // add padding so the content doesn't shift after removal of scrollbar\n      states.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n      document.body.style.paddingRight = \"\".concat(states.previousBodyPadding + measureScrollbar(), \"px\");\n    }\n  };\n  const undoScrollbar = () => {\n    if (states.previousBodyPadding !== null) {\n      document.body.style.paddingRight = \"\".concat(states.previousBodyPadding, \"px\");\n      states.previousBodyPadding = null;\n    }\n  };\n\n  /* istanbul ignore file */\n\n  const iOSfix = () => {\n    const iOS = // @ts-ignore\n    /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\n\n    if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n      const offset = document.body.scrollTop;\n      document.body.style.top = \"\".concat(offset * -1, \"px\");\n      addClass(document.body, swalClasses.iosfix);\n      lockBodyScroll();\n      addBottomPaddingForTallPopups();\n    }\n  };\n  /**\n   * https://github.com/sweetalert2/sweetalert2/issues/1948\n   */\n\n  const addBottomPaddingForTallPopups = () => {\n    const ua = navigator.userAgent;\n    const iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);\n    const webkit = !!ua.match(/WebKit/i);\n    const iOSSafari = iOS && webkit && !ua.match(/CriOS/i);\n\n    if (iOSSafari) {\n      const bottomPanelHeight = 44;\n\n      if (getPopup().scrollHeight > window.innerHeight - bottomPanelHeight) {\n        getContainer().style.paddingBottom = \"\".concat(bottomPanelHeight, \"px\");\n      }\n    }\n  };\n  /**\n   * https://github.com/sweetalert2/sweetalert2/issues/1246\n   */\n\n\n  const lockBodyScroll = () => {\n    const container = getContainer();\n    let preventTouchMove;\n\n    container.ontouchstart = e => {\n      preventTouchMove = shouldPreventTouchMove(e);\n    };\n\n    container.ontouchmove = e => {\n      if (preventTouchMove) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n    };\n  };\n\n  const shouldPreventTouchMove = event => {\n    const target = event.target;\n    const container = getContainer();\n\n    if (isStylus(event) || isZoom(event)) {\n      return false;\n    }\n\n    if (target === container) {\n      return true;\n    }\n\n    if (!isScrollable(container) && target.tagName !== 'INPUT' && // #1603\n    target.tagName !== 'TEXTAREA' && // #2266\n    !(isScrollable(getHtmlContainer()) && // #1944\n    getHtmlContainer().contains(target))) {\n      return true;\n    }\n\n    return false;\n  };\n  /**\n   * https://github.com/sweetalert2/sweetalert2/issues/1786\n   *\n   * @param {*} event\n   * @returns {boolean}\n   */\n\n\n  const isStylus = event => {\n    return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n  };\n  /**\n   * https://github.com/sweetalert2/sweetalert2/issues/1891\n   *\n   * @param {TouchEvent} event\n   * @returns {boolean}\n   */\n\n\n  const isZoom = event => {\n    return event.touches && event.touches.length > 1;\n  };\n\n  const undoIOSfix = () => {\n    if (hasClass(document.body, swalClasses.iosfix)) {\n      const offset = parseInt(document.body.style.top, 10);\n      removeClass(document.body, swalClasses.iosfix);\n      document.body.style.top = '';\n      document.body.scrollTop = offset * -1;\n    }\n  };\n\n  const SHOW_CLASS_TIMEOUT = 10;\n  /**\n   * Open popup, add necessary classes and styles, fix scrollbar\n   *\n   * @param params\n   */\n\n  const openPopup = params => {\n    const container = getContainer();\n    const popup = getPopup();\n\n    if (typeof params.willOpen === 'function') {\n      params.willOpen(popup);\n    }\n\n    const bodyStyles = window.getComputedStyle(document.body);\n    const initialBodyOverflow = bodyStyles.overflowY;\n    addClasses$1(container, popup, params); // scrolling is 'hidden' until animation is done, after that 'auto'\n\n    setTimeout(() => {\n      setScrollingVisibility(container, popup);\n    }, SHOW_CLASS_TIMEOUT);\n\n    if (isModal()) {\n      fixScrollContainer(container, params.scrollbarPadding, initialBodyOverflow);\n      setAriaHidden();\n    }\n\n    if (!isToast() && !globalState.previousActiveElement) {\n      globalState.previousActiveElement = document.activeElement;\n    }\n\n    if (typeof params.didOpen === 'function') {\n      setTimeout(() => params.didOpen(popup));\n    }\n\n    removeClass(container, swalClasses['no-transition']);\n  };\n\n  const swalOpenAnimationFinished = event => {\n    const popup = getPopup();\n\n    if (event.target !== popup) {\n      return;\n    }\n\n    const container = getContainer();\n    popup.removeEventListener(animationEndEvent, swalOpenAnimationFinished);\n    container.style.overflowY = 'auto';\n  };\n\n  const setScrollingVisibility = (container, popup) => {\n    if (animationEndEvent && hasCssAnimation(popup)) {\n      container.style.overflowY = 'hidden';\n      popup.addEventListener(animationEndEvent, swalOpenAnimationFinished);\n    } else {\n      container.style.overflowY = 'auto';\n    }\n  };\n\n  const fixScrollContainer = (container, scrollbarPadding, initialBodyOverflow) => {\n    iOSfix();\n\n    if (scrollbarPadding && initialBodyOverflow !== 'hidden') {\n      fixScrollbar();\n    } // sweetalert2/issues/1247\n\n\n    setTimeout(() => {\n      container.scrollTop = 0;\n    });\n  };\n\n  const addClasses$1 = (container, popup, params) => {\n    addClass(container, params.showClass.backdrop); // this workaround with opacity is needed for https://github.com/sweetalert2/sweetalert2/issues/2059\n\n    popup.style.setProperty('opacity', '0', 'important');\n    show(popup, 'grid');\n    setTimeout(() => {\n      // Animate popup right after showing it\n      addClass(popup, params.showClass.popup); // and remove the opacity workaround\n\n      popup.style.removeProperty('opacity');\n    }, SHOW_CLASS_TIMEOUT); // 10ms in order to fix #2062\n\n    addClass([document.documentElement, document.body], swalClasses.shown);\n\n    if (params.heightAuto && params.backdrop && !params.toast) {\n      addClass([document.documentElement, document.body], swalClasses['height-auto']);\n    }\n  };\n\n  /**\n   * Shows loader (spinner), this is useful with AJAX requests.\n   * By default the loader be shown instead of the \"Confirm\" button.\n   */\n\n  const showLoading = buttonToReplace => {\n    let popup = getPopup();\n\n    if (!popup) {\n      new Swal(); // eslint-disable-line no-new\n    }\n\n    popup = getPopup();\n    const loader = getLoader();\n\n    if (isToast()) {\n      hide(getIcon());\n    } else {\n      replaceButton(popup, buttonToReplace);\n    }\n\n    show(loader);\n    popup.setAttribute('data-loading', 'true');\n    popup.setAttribute('aria-busy', 'true');\n    popup.focus();\n  };\n\n  const replaceButton = (popup, buttonToReplace) => {\n    const actions = getActions();\n    const loader = getLoader();\n\n    if (!buttonToReplace && isVisible(getConfirmButton())) {\n      buttonToReplace = getConfirmButton();\n    }\n\n    show(actions);\n\n    if (buttonToReplace) {\n      hide(buttonToReplace);\n      loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n    }\n\n    loader.parentNode.insertBefore(loader, buttonToReplace);\n    addClass([popup, actions], swalClasses.loading);\n  };\n\n  const handleInputOptionsAndValue = (instance, params) => {\n    if (params.input === 'select' || params.input === 'radio') {\n      handleInputOptions(instance, params);\n    } else if (['text', 'email', 'number', 'tel', 'textarea'].includes(params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n      showLoading(getConfirmButton());\n      handleInputValue(instance, params);\n    }\n  };\n  const getInputValue = (instance, innerParams) => {\n    const input = instance.getInput();\n\n    if (!input) {\n      return null;\n    }\n\n    switch (innerParams.input) {\n      case 'checkbox':\n        return getCheckboxValue(input);\n\n      case 'radio':\n        return getRadioValue(input);\n\n      case 'file':\n        return getFileValue(input);\n\n      default:\n        return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n    }\n  };\n\n  const getCheckboxValue = input => input.checked ? 1 : 0;\n\n  const getRadioValue = input => input.checked ? input.value : null;\n\n  const getFileValue = input => input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n\n  const handleInputOptions = (instance, params) => {\n    const popup = getPopup();\n\n    const processInputOptions = inputOptions => populateInputOptions[params.input](popup, formatInputOptions(inputOptions), params);\n\n    if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n      showLoading(getConfirmButton());\n      asPromise(params.inputOptions).then(inputOptions => {\n        instance.hideLoading();\n        processInputOptions(inputOptions);\n      });\n    } else if (typeof params.inputOptions === 'object') {\n      processInputOptions(params.inputOptions);\n    } else {\n      error(\"Unexpected type of inputOptions! Expected object, Map or Promise, got \".concat(typeof params.inputOptions));\n    }\n  };\n\n  const handleInputValue = (instance, params) => {\n    const input = instance.getInput();\n    hide(input);\n    asPromise(params.inputValue).then(inputValue => {\n      input.value = params.input === 'number' ? parseFloat(inputValue) || 0 : \"\".concat(inputValue);\n      show(input);\n      input.focus();\n      instance.hideLoading();\n    }).catch(err => {\n      error(\"Error in inputValue promise: \".concat(err));\n      input.value = '';\n      show(input);\n      input.focus();\n      instance.hideLoading();\n    });\n  };\n\n  const populateInputOptions = {\n    select: (popup, inputOptions, params) => {\n      const select = getDirectChildByClass(popup, swalClasses.select);\n\n      const renderOption = (parent, optionLabel, optionValue) => {\n        const option = document.createElement('option');\n        option.value = optionValue;\n        setInnerHtml(option, optionLabel);\n        option.selected = isSelected(optionValue, params.inputValue);\n        parent.appendChild(option);\n      };\n\n      inputOptions.forEach(inputOption => {\n        const optionValue = inputOption[0];\n        const optionLabel = inputOption[1]; // <optgroup> spec:\n        // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n        // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n        // check whether this is a <optgroup>\n\n        if (Array.isArray(optionLabel)) {\n          // if it is an array, then it is an <optgroup>\n          const optgroup = document.createElement('optgroup');\n          optgroup.label = optionValue;\n          optgroup.disabled = false; // not configurable for now\n\n          select.appendChild(optgroup);\n          optionLabel.forEach(o => renderOption(optgroup, o[1], o[0]));\n        } else {\n          // case of <option>\n          renderOption(select, optionLabel, optionValue);\n        }\n      });\n      select.focus();\n    },\n    radio: (popup, inputOptions, params) => {\n      const radio = getDirectChildByClass(popup, swalClasses.radio);\n      inputOptions.forEach(inputOption => {\n        const radioValue = inputOption[0];\n        const radioLabel = inputOption[1];\n        const radioInput = document.createElement('input');\n        const radioLabelElement = document.createElement('label');\n        radioInput.type = 'radio';\n        radioInput.name = swalClasses.radio;\n        radioInput.value = radioValue;\n\n        if (isSelected(radioValue, params.inputValue)) {\n          radioInput.checked = true;\n        }\n\n        const label = document.createElement('span');\n        setInnerHtml(label, radioLabel);\n        label.className = swalClasses.label;\n        radioLabelElement.appendChild(radioInput);\n        radioLabelElement.appendChild(label);\n        radio.appendChild(radioLabelElement);\n      });\n      const radios = radio.querySelectorAll('input');\n\n      if (radios.length) {\n        radios[0].focus();\n      }\n    }\n  };\n  /**\n   * Converts `inputOptions` into an array of `[value, label]`s\n   * @param inputOptions\n   */\n\n  const formatInputOptions = inputOptions => {\n    const result = [];\n\n    if (typeof Map !== 'undefined' && inputOptions instanceof Map) {\n      inputOptions.forEach((value, key) => {\n        let valueFormatted = value;\n\n        if (typeof valueFormatted === 'object') {\n          // case of <optgroup>\n          valueFormatted = formatInputOptions(valueFormatted);\n        }\n\n        result.push([key, valueFormatted]);\n      });\n    } else {\n      Object.keys(inputOptions).forEach(key => {\n        let valueFormatted = inputOptions[key];\n\n        if (typeof valueFormatted === 'object') {\n          // case of <optgroup>\n          valueFormatted = formatInputOptions(valueFormatted);\n        }\n\n        result.push([key, valueFormatted]);\n      });\n    }\n\n    return result;\n  };\n\n  const isSelected = (optionValue, inputValue) => {\n    return inputValue && inputValue.toString() === optionValue.toString();\n  };\n\n  /**\n   * Hides loader and shows back the button which was hidden by .showLoading()\n   */\n\n  function hideLoading() {\n    // do nothing if popup is closed\n    const innerParams = privateProps.innerParams.get(this);\n\n    if (!innerParams) {\n      return;\n    }\n\n    const domCache = privateProps.domCache.get(this);\n    hide(domCache.loader);\n\n    if (isToast()) {\n      if (innerParams.icon) {\n        show(getIcon());\n      }\n    } else {\n      showRelatedButton(domCache);\n    }\n\n    removeClass([domCache.popup, domCache.actions], swalClasses.loading);\n    domCache.popup.removeAttribute('aria-busy');\n    domCache.popup.removeAttribute('data-loading');\n    domCache.confirmButton.disabled = false;\n    domCache.denyButton.disabled = false;\n    domCache.cancelButton.disabled = false;\n  }\n\n  const showRelatedButton = domCache => {\n    const buttonToReplace = domCache.popup.getElementsByClassName(domCache.loader.getAttribute('data-button-to-replace'));\n\n    if (buttonToReplace.length) {\n      show(buttonToReplace[0], 'inline-block');\n    } else if (allButtonsAreHidden()) {\n      hide(domCache.actions);\n    }\n  };\n\n  /**\n   * Gets the input DOM node, this method works with input parameter.\n   * @returns {HTMLElement | null}\n   */\n\n  function getInput$1(instance) {\n    const innerParams = privateProps.innerParams.get(instance || this);\n    const domCache = privateProps.domCache.get(instance || this);\n\n    if (!domCache) {\n      return null;\n    }\n\n    return getInput(domCache.popup, innerParams.input);\n  }\n\n  /**\n   * This module contains `WeakMap`s for each effectively-\"private  property\" that a `Swal` has.\n   * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n   * This is the approach that Babel will probably take to implement private methods/fields\n   *   https://github.com/tc39/proposal-private-methods\n   *   https://github.com/babel/babel/pull/7555\n   * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n   *   then we can use that language feature.\n   */\n  var privateMethods = {\n    swalPromiseResolve: new WeakMap(),\n    swalPromiseReject: new WeakMap()\n  };\n\n  /*\n   * Global function to determine if SweetAlert2 popup is shown\n   */\n\n  const isVisible$1 = () => {\n    return isVisible(getPopup());\n  };\n  /*\n   * Global function to click 'Confirm' button\n   */\n\n  const clickConfirm = () => getConfirmButton() && getConfirmButton().click();\n  /*\n   * Global function to click 'Deny' button\n   */\n\n  const clickDeny = () => getDenyButton() && getDenyButton().click();\n  /*\n   * Global function to click 'Cancel' button\n   */\n\n  const clickCancel = () => getCancelButton() && getCancelButton().click();\n\n  /**\n   * @param {GlobalState} globalState\n   */\n\n  const removeKeydownHandler = globalState => {\n    if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n      globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n        capture: globalState.keydownListenerCapture\n      });\n      globalState.keydownHandlerAdded = false;\n    }\n  };\n  /**\n   * @param {SweetAlert2} instance\n   * @param {GlobalState} globalState\n   * @param {SweetAlertOptions} innerParams\n   * @param {*} dismissWith\n   */\n\n  const addKeydownHandler = (instance, globalState, innerParams, dismissWith) => {\n    removeKeydownHandler(globalState);\n\n    if (!innerParams.toast) {\n      globalState.keydownHandler = e => keydownHandler(instance, e, dismissWith);\n\n      globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n      globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n      globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n        capture: globalState.keydownListenerCapture\n      });\n      globalState.keydownHandlerAdded = true;\n    }\n  };\n  /**\n   * @param {SweetAlertOptions} innerParams\n   * @param {number} index\n   * @param {number} increment\n   */\n\n  const setFocus = (innerParams, index, increment) => {\n    const focusableElements = getFocusableElements(); // search for visible elements and select the next possible match\n\n    if (focusableElements.length) {\n      index = index + increment; // rollover to first item\n\n      if (index === focusableElements.length) {\n        index = 0; // go to last item\n      } else if (index === -1) {\n        index = focusableElements.length - 1;\n      }\n\n      return focusableElements[index].focus();\n    } // no visible focusable elements, focus the popup\n\n\n    getPopup().focus();\n  };\n  const arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n  const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n  /**\n   * @param {SweetAlert2} instance\n   * @param {KeyboardEvent} e\n   * @param {function} dismissWith\n   */\n\n  const keydownHandler = (instance, e, dismissWith) => {\n    const innerParams = privateProps.innerParams.get(instance);\n\n    if (!innerParams) {\n      return; // This instance has already been destroyed\n    } // Ignore keydown during IME composition\n    // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n    // https://github.com/sweetalert2/sweetalert2/issues/720\n    // https://github.com/sweetalert2/sweetalert2/issues/2406\n\n\n    if (e.isComposing || e.keyCode === 229) {\n      return;\n    }\n\n    if (innerParams.stopKeydownPropagation) {\n      e.stopPropagation();\n    } // ENTER\n\n\n    if (e.key === 'Enter') {\n      handleEnter(instance, e, innerParams);\n    } // TAB\n    else if (e.key === 'Tab') {\n      handleTab(e, innerParams);\n    } // ARROWS - switch focus between buttons\n    else if ([...arrowKeysNextButton, ...arrowKeysPreviousButton].includes(e.key)) {\n      handleArrows(e.key);\n    } // ESC\n    else if (e.key === 'Escape') {\n      handleEsc(e, innerParams, dismissWith);\n    }\n  };\n  /**\n   * @param {SweetAlert2} instance\n   * @param {KeyboardEvent} e\n   * @param {SweetAlertOptions} innerParams\n   */\n\n\n  const handleEnter = (instance, e, innerParams) => {\n    // https://github.com/sweetalert2/sweetalert2/issues/2386\n    if (!callIfFunction(innerParams.allowEnterKey)) {\n      return;\n    }\n\n    if (e.target && instance.getInput() && e.target instanceof HTMLElement && e.target.outerHTML === instance.getInput().outerHTML) {\n      if (['textarea', 'file'].includes(innerParams.input)) {\n        return; // do not submit\n      }\n\n      clickConfirm();\n      e.preventDefault();\n    }\n  };\n  /**\n   * @param {KeyboardEvent} e\n   * @param {SweetAlertOptions} innerParams\n   */\n\n\n  const handleTab = (e, innerParams) => {\n    const targetElement = e.target;\n    const focusableElements = getFocusableElements();\n    let btnIndex = -1;\n\n    for (let i = 0; i < focusableElements.length; i++) {\n      if (targetElement === focusableElements[i]) {\n        btnIndex = i;\n        break;\n      }\n    } // Cycle to the next button\n\n\n    if (!e.shiftKey) {\n      setFocus(innerParams, btnIndex, 1);\n    } // Cycle to the prev button\n    else {\n      setFocus(innerParams, btnIndex, -1);\n    }\n\n    e.stopPropagation();\n    e.preventDefault();\n  };\n  /**\n   * @param {string} key\n   */\n\n\n  const handleArrows = key => {\n    const confirmButton = getConfirmButton();\n    const denyButton = getDenyButton();\n    const cancelButton = getCancelButton();\n\n    if (document.activeElement instanceof HTMLElement && ![confirmButton, denyButton, cancelButton].includes(document.activeElement)) {\n      return;\n    }\n\n    const sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n    let buttonToFocus = document.activeElement;\n\n    for (let i = 0; i < getActions().children.length; i++) {\n      buttonToFocus = buttonToFocus[sibling];\n\n      if (!buttonToFocus) {\n        return;\n      }\n\n      if (buttonToFocus instanceof HTMLButtonElement && isVisible(buttonToFocus)) {\n        break;\n      }\n    }\n\n    if (buttonToFocus instanceof HTMLButtonElement) {\n      buttonToFocus.focus();\n    }\n  };\n  /**\n   * @param {KeyboardEvent} e\n   * @param {SweetAlertOptions} innerParams\n   * @param {function} dismissWith\n   */\n\n\n  const handleEsc = (e, innerParams, dismissWith) => {\n    if (callIfFunction(innerParams.allowEscapeKey)) {\n      e.preventDefault();\n      dismissWith(DismissReason.esc);\n    }\n  };\n\n  /*\n   * Instance method to close sweetAlert\n   */\n\n  function removePopupAndResetState(instance, container, returnFocus, didClose) {\n    if (isToast()) {\n      triggerDidCloseAndDispose(instance, didClose);\n    } else {\n      restoreActiveElement(returnFocus).then(() => triggerDidCloseAndDispose(instance, didClose));\n      removeKeydownHandler(globalState);\n    }\n\n    const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); // workaround for #2088\n    // for some reason removing the container in Safari will scroll the document to bottom\n\n    if (isSafari) {\n      container.setAttribute('style', 'display:none !important');\n      container.removeAttribute('class');\n      container.innerHTML = '';\n    } else {\n      container.remove();\n    }\n\n    if (isModal()) {\n      undoScrollbar();\n      undoIOSfix();\n      unsetAriaHidden();\n    }\n\n    removeBodyClasses();\n  }\n\n  function removeBodyClasses() {\n    removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n  }\n\n  function close(resolveValue) {\n    resolveValue = prepareResolveValue(resolveValue);\n    const swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n    const didClose = triggerClosePopup(this);\n\n    if (this.isAwaitingPromise()) {\n      // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n      if (!resolveValue.isDismissed) {\n        handleAwaitingPromise(this);\n        swalPromiseResolve(resolveValue);\n      }\n    } else if (didClose) {\n      // Resolve Swal promise\n      swalPromiseResolve(resolveValue);\n    }\n  }\n  function isAwaitingPromise() {\n    return !!privateProps.awaitingPromise.get(this);\n  }\n\n  const triggerClosePopup = instance => {\n    const popup = getPopup();\n\n    if (!popup) {\n      return false;\n    }\n\n    const innerParams = privateProps.innerParams.get(instance);\n\n    if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n      return false;\n    }\n\n    removeClass(popup, innerParams.showClass.popup);\n    addClass(popup, innerParams.hideClass.popup);\n    const backdrop = getContainer();\n    removeClass(backdrop, innerParams.showClass.backdrop);\n    addClass(backdrop, innerParams.hideClass.backdrop);\n    handlePopupAnimation(instance, popup, innerParams);\n    return true;\n  };\n\n  function rejectPromise(error) {\n    const rejectPromise = privateMethods.swalPromiseReject.get(this);\n    handleAwaitingPromise(this);\n\n    if (rejectPromise) {\n      // Reject Swal promise\n      rejectPromise(error);\n    }\n  }\n  const handleAwaitingPromise = instance => {\n    if (instance.isAwaitingPromise()) {\n      privateProps.awaitingPromise.delete(instance); // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n\n      if (!privateProps.innerParams.get(instance)) {\n        instance._destroy();\n      }\n    }\n  };\n\n  const prepareResolveValue = resolveValue => {\n    // When user calls Swal.close()\n    if (typeof resolveValue === 'undefined') {\n      return {\n        isConfirmed: false,\n        isDenied: false,\n        isDismissed: true\n      };\n    }\n\n    return Object.assign({\n      isConfirmed: false,\n      isDenied: false,\n      isDismissed: false\n    }, resolveValue);\n  };\n\n  const handlePopupAnimation = (instance, popup, innerParams) => {\n    const container = getContainer(); // If animation is supported, animate\n\n    const animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n\n    if (typeof innerParams.willClose === 'function') {\n      innerParams.willClose(popup);\n    }\n\n    if (animationIsSupported) {\n      animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n    } else {\n      // Otherwise, remove immediately\n      removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n    }\n  };\n\n  const animatePopup = (instance, popup, container, returnFocus, didClose) => {\n    globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n    popup.addEventListener(animationEndEvent, function (e) {\n      if (e.target === popup) {\n        globalState.swalCloseEventFinishedCallback();\n        delete globalState.swalCloseEventFinishedCallback;\n      }\n    });\n  };\n\n  const triggerDidCloseAndDispose = (instance, didClose) => {\n    setTimeout(() => {\n      if (typeof didClose === 'function') {\n        didClose.bind(instance.params)();\n      }\n\n      instance._destroy();\n    });\n  };\n\n  function setButtonsDisabled(instance, buttons, disabled) {\n    const domCache = privateProps.domCache.get(instance);\n    buttons.forEach(button => {\n      domCache[button].disabled = disabled;\n    });\n  }\n\n  function setInputDisabled(input, disabled) {\n    if (!input) {\n      return false;\n    }\n\n    if (input.type === 'radio') {\n      const radiosContainer = input.parentNode.parentNode;\n      const radios = radiosContainer.querySelectorAll('input');\n\n      for (let i = 0; i < radios.length; i++) {\n        radios[i].disabled = disabled;\n      }\n    } else {\n      input.disabled = disabled;\n    }\n  }\n\n  function enableButtons() {\n    setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], false);\n  }\n  function disableButtons() {\n    setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], true);\n  }\n  function enableInput() {\n    return setInputDisabled(this.getInput(), false);\n  }\n  function disableInput() {\n    return setInputDisabled(this.getInput(), true);\n  }\n\n  function showValidationMessage(error) {\n    const domCache = privateProps.domCache.get(this);\n    const params = privateProps.innerParams.get(this);\n    setInnerHtml(domCache.validationMessage, error);\n    domCache.validationMessage.className = swalClasses['validation-message'];\n\n    if (params.customClass && params.customClass.validationMessage) {\n      addClass(domCache.validationMessage, params.customClass.validationMessage);\n    }\n\n    show(domCache.validationMessage);\n    const input = this.getInput();\n\n    if (input) {\n      input.setAttribute('aria-invalid', true);\n      input.setAttribute('aria-describedby', swalClasses['validation-message']);\n      focusInput(input);\n      addClass(input, swalClasses.inputerror);\n    }\n  } // Hide block with validation message\n\n  function resetValidationMessage$1() {\n    const domCache = privateProps.domCache.get(this);\n\n    if (domCache.validationMessage) {\n      hide(domCache.validationMessage);\n    }\n\n    const input = this.getInput();\n\n    if (input) {\n      input.removeAttribute('aria-invalid');\n      input.removeAttribute('aria-describedby');\n      removeClass(input, swalClasses.inputerror);\n    }\n  }\n\n  function getProgressSteps$1() {\n    const domCache = privateProps.domCache.get(this);\n    return domCache.progressSteps;\n  }\n\n  /**\n   * Updates popup parameters.\n   */\n\n  function update(params) {\n    const popup = getPopup();\n    const innerParams = privateProps.innerParams.get(this);\n\n    if (!popup || hasClass(popup, innerParams.hideClass.popup)) {\n      return warn(\"You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.\");\n    }\n\n    const validUpdatableParams = filterValidParams(params);\n    const updatedParams = Object.assign({}, innerParams, validUpdatableParams);\n    render(this, updatedParams);\n    privateProps.innerParams.set(this, updatedParams);\n    Object.defineProperties(this, {\n      params: {\n        value: Object.assign({}, this.params, params),\n        writable: false,\n        enumerable: true\n      }\n    });\n  }\n\n  const filterValidParams = params => {\n    const validUpdatableParams = {};\n    Object.keys(params).forEach(param => {\n      if (isUpdatableParameter(param)) {\n        validUpdatableParams[param] = params[param];\n      } else {\n        warn(\"Invalid parameter to update: \".concat(param));\n      }\n    });\n    return validUpdatableParams;\n  };\n\n  function _destroy() {\n    const domCache = privateProps.domCache.get(this);\n    const innerParams = privateProps.innerParams.get(this);\n\n    if (!innerParams) {\n      disposeWeakMaps(this); // The WeakMaps might have been partly destroyed, we must recall it to dispose any remaining WeakMaps #2335\n\n      return; // This instance has already been destroyed\n    } // Check if there is another Swal closing\n\n\n    if (domCache.popup && globalState.swalCloseEventFinishedCallback) {\n      globalState.swalCloseEventFinishedCallback();\n      delete globalState.swalCloseEventFinishedCallback;\n    }\n\n    if (typeof innerParams.didDestroy === 'function') {\n      innerParams.didDestroy();\n    }\n\n    disposeSwal(this);\n  }\n  /**\n   * @param {SweetAlert2} instance\n   */\n\n  const disposeSwal = instance => {\n    disposeWeakMaps(instance); // Unset this.params so GC will dispose it (#1569)\n    // @ts-ignore\n\n    delete instance.params; // Unset globalState props so GC will dispose globalState (#1569)\n\n    delete globalState.keydownHandler;\n    delete globalState.keydownTarget; // Unset currentInstance\n\n    delete globalState.currentInstance;\n  };\n  /**\n   * @param {SweetAlert2} instance\n   */\n\n\n  const disposeWeakMaps = instance => {\n    // If the current instance is awaiting a promise result, we keep the privateMethods to call them once the promise result is retrieved #2335\n    // @ts-ignore\n    if (instance.isAwaitingPromise()) {\n      unsetWeakMaps(privateProps, instance);\n      privateProps.awaitingPromise.set(instance, true);\n    } else {\n      unsetWeakMaps(privateMethods, instance);\n      unsetWeakMaps(privateProps, instance);\n    }\n  };\n  /**\n   * @param {object} obj\n   * @param {SweetAlert2} instance\n   */\n\n\n  const unsetWeakMaps = (obj, instance) => {\n    for (const i in obj) {\n      obj[i].delete(instance);\n    }\n  };\n\n\n\n  var instanceMethods = /*#__PURE__*/Object.freeze({\n    hideLoading: hideLoading,\n    disableLoading: hideLoading,\n    getInput: getInput$1,\n    close: close,\n    isAwaitingPromise: isAwaitingPromise,\n    rejectPromise: rejectPromise,\n    handleAwaitingPromise: handleAwaitingPromise,\n    closePopup: close,\n    closeModal: close,\n    closeToast: close,\n    enableButtons: enableButtons,\n    disableButtons: disableButtons,\n    enableInput: enableInput,\n    disableInput: disableInput,\n    showValidationMessage: showValidationMessage,\n    resetValidationMessage: resetValidationMessage$1,\n    getProgressSteps: getProgressSteps$1,\n    update: update,\n    _destroy: _destroy\n  });\n\n  const handleConfirmButtonClick = instance => {\n    const innerParams = privateProps.innerParams.get(instance);\n    instance.disableButtons();\n\n    if (innerParams.input) {\n      handleConfirmOrDenyWithInput(instance, 'confirm');\n    } else {\n      confirm(instance, true);\n    }\n  };\n  const handleDenyButtonClick = instance => {\n    const innerParams = privateProps.innerParams.get(instance);\n    instance.disableButtons();\n\n    if (innerParams.returnInputValueOnDeny) {\n      handleConfirmOrDenyWithInput(instance, 'deny');\n    } else {\n      deny(instance, false);\n    }\n  };\n  const handleCancelButtonClick = (instance, dismissWith) => {\n    instance.disableButtons();\n    dismissWith(DismissReason.cancel);\n  };\n\n  const handleConfirmOrDenyWithInput = (instance, type\n  /* 'confirm' | 'deny' */\n  ) => {\n    const innerParams = privateProps.innerParams.get(instance);\n\n    if (!innerParams.input) {\n      return error(\"The \\\"input\\\" parameter is needed to be set when using returnInputValueOn\".concat(capitalizeFirstLetter(type)));\n    }\n\n    const inputValue = getInputValue(instance, innerParams);\n\n    if (innerParams.inputValidator) {\n      handleInputValidator(instance, inputValue, type);\n    } else if (!instance.getInput().checkValidity()) {\n      instance.enableButtons();\n      instance.showValidationMessage(innerParams.validationMessage);\n    } else if (type === 'deny') {\n      deny(instance, inputValue);\n    } else {\n      confirm(instance, inputValue);\n    }\n  };\n\n  const handleInputValidator = (instance, inputValue, type\n  /* 'confirm' | 'deny' */\n  ) => {\n    const innerParams = privateProps.innerParams.get(instance);\n    instance.disableInput();\n    const validationPromise = Promise.resolve().then(() => asPromise(innerParams.inputValidator(inputValue, innerParams.validationMessage)));\n    validationPromise.then(validationMessage => {\n      instance.enableButtons();\n      instance.enableInput();\n\n      if (validationMessage) {\n        instance.showValidationMessage(validationMessage);\n      } else if (type === 'deny') {\n        deny(instance, inputValue);\n      } else {\n        confirm(instance, inputValue);\n      }\n    });\n  };\n\n  const deny = (instance, value) => {\n    const innerParams = privateProps.innerParams.get(instance || undefined);\n\n    if (innerParams.showLoaderOnDeny) {\n      showLoading(getDenyButton());\n    }\n\n    if (innerParams.preDeny) {\n      privateProps.awaitingPromise.set(instance || undefined, true); // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preDeny's promise is received\n\n      const preDenyPromise = Promise.resolve().then(() => asPromise(innerParams.preDeny(value, innerParams.validationMessage)));\n      preDenyPromise.then(preDenyValue => {\n        if (preDenyValue === false) {\n          instance.hideLoading();\n          handleAwaitingPromise(instance);\n        } else {\n          instance.closePopup({\n            isDenied: true,\n            value: typeof preDenyValue === 'undefined' ? value : preDenyValue\n          });\n        }\n      }).catch(error$$1 => rejectWith(instance || undefined, error$$1));\n    } else {\n      instance.closePopup({\n        isDenied: true,\n        value\n      });\n    }\n  };\n\n  const succeedWith = (instance, value) => {\n    instance.closePopup({\n      isConfirmed: true,\n      value\n    });\n  };\n\n  const rejectWith = (instance, error$$1) => {\n    instance.rejectPromise(error$$1);\n  };\n\n  const confirm = (instance, value) => {\n    const innerParams = privateProps.innerParams.get(instance || undefined);\n\n    if (innerParams.showLoaderOnConfirm) {\n      showLoading();\n    }\n\n    if (innerParams.preConfirm) {\n      instance.resetValidationMessage();\n      privateProps.awaitingPromise.set(instance || undefined, true); // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preConfirm's promise is received\n\n      const preConfirmPromise = Promise.resolve().then(() => asPromise(innerParams.preConfirm(value, innerParams.validationMessage)));\n      preConfirmPromise.then(preConfirmValue => {\n        if (isVisible(getValidationMessage()) || preConfirmValue === false) {\n          instance.hideLoading();\n          handleAwaitingPromise(instance);\n        } else {\n          succeedWith(instance, typeof preConfirmValue === 'undefined' ? value : preConfirmValue);\n        }\n      }).catch(error$$1 => rejectWith(instance || undefined, error$$1));\n    } else {\n      succeedWith(instance, value);\n    }\n  };\n\n  const handlePopupClick = (instance, domCache, dismissWith) => {\n    const innerParams = privateProps.innerParams.get(instance);\n\n    if (innerParams.toast) {\n      handleToastClick(instance, domCache, dismissWith);\n    } else {\n      // Ignore click events that had mousedown on the popup but mouseup on the container\n      // This can happen when the user drags a slider\n      handleModalMousedown(domCache); // Ignore click events that had mousedown on the container but mouseup on the popup\n\n      handleContainerMousedown(domCache);\n      handleModalClick(instance, domCache, dismissWith);\n    }\n  };\n\n  const handleToastClick = (instance, domCache, dismissWith) => {\n    // Closing toast by internal click\n    domCache.popup.onclick = () => {\n      const innerParams = privateProps.innerParams.get(instance);\n\n      if (innerParams && (isAnyButtonShown(innerParams) || innerParams.timer || innerParams.input)) {\n        return;\n      }\n\n      dismissWith(DismissReason.close);\n    };\n  };\n  /**\n   * @param {*} innerParams\n   * @returns {boolean}\n   */\n\n\n  const isAnyButtonShown = innerParams => {\n    return innerParams.showConfirmButton || innerParams.showDenyButton || innerParams.showCancelButton || innerParams.showCloseButton;\n  };\n\n  let ignoreOutsideClick = false;\n\n  const handleModalMousedown = domCache => {\n    domCache.popup.onmousedown = () => {\n      domCache.container.onmouseup = function (e) {\n        domCache.container.onmouseup = undefined; // We only check if the mouseup target is the container because usually it doesn't\n        // have any other direct children aside of the popup\n\n        if (e.target === domCache.container) {\n          ignoreOutsideClick = true;\n        }\n      };\n    };\n  };\n\n  const handleContainerMousedown = domCache => {\n    domCache.container.onmousedown = () => {\n      domCache.popup.onmouseup = function (e) {\n        domCache.popup.onmouseup = undefined; // We also need to check if the mouseup target is a child of the popup\n\n        if (e.target === domCache.popup || domCache.popup.contains(e.target)) {\n          ignoreOutsideClick = true;\n        }\n      };\n    };\n  };\n\n  const handleModalClick = (instance, domCache, dismissWith) => {\n    domCache.container.onclick = e => {\n      const innerParams = privateProps.innerParams.get(instance);\n\n      if (ignoreOutsideClick) {\n        ignoreOutsideClick = false;\n        return;\n      }\n\n      if (e.target === domCache.container && callIfFunction(innerParams.allowOutsideClick)) {\n        dismissWith(DismissReason.backdrop);\n      }\n    };\n  };\n\n  const isJqueryElement = elem => typeof elem === 'object' && elem.jquery;\n\n  const isElement = elem => elem instanceof Element || isJqueryElement(elem);\n\n  const argsToParams = args => {\n    const params = {};\n\n    if (typeof args[0] === 'object' && !isElement(args[0])) {\n      Object.assign(params, args[0]);\n    } else {\n      ['title', 'html', 'icon'].forEach((name, index) => {\n        const arg = args[index];\n\n        if (typeof arg === 'string' || isElement(arg)) {\n          params[name] = arg;\n        } else if (arg !== undefined) {\n          error(\"Unexpected type of \".concat(name, \"! Expected \\\"string\\\" or \\\"Element\\\", got \").concat(typeof arg));\n        }\n      });\n    }\n\n    return params;\n  };\n\n  function fire() {\n    const Swal = this; // eslint-disable-line @typescript-eslint/no-this-alias\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return new Swal(...args);\n  }\n\n  /**\n   * Returns an extended version of `Swal` containing `params` as defaults.\n   * Useful for reusing Swal configuration.\n   *\n   * For example:\n   *\n   * Before:\n   * const textPromptOptions = { input: 'text', showCancelButton: true }\n   * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })\n   * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })\n   *\n   * After:\n   * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })\n   * const {value: firstName} = await TextPrompt('What is your first name?')\n   * const {value: lastName} = await TextPrompt('What is your last name?')\n   *\n   * @param mixinParams\n   */\n  function mixin(mixinParams) {\n    class MixinSwal extends this {\n      _main(params, priorityMixinParams) {\n        return super._main(params, Object.assign({}, mixinParams, priorityMixinParams));\n      }\n\n    }\n\n    return MixinSwal;\n  }\n\n  /**\n   * If `timer` parameter is set, returns number of milliseconds of timer remained.\n   * Otherwise, returns undefined.\n   */\n\n  const getTimerLeft = () => {\n    return globalState.timeout && globalState.timeout.getTimerLeft();\n  };\n  /**\n   * Stop timer. Returns number of milliseconds of timer remained.\n   * If `timer` parameter isn't set, returns undefined.\n   */\n\n  const stopTimer = () => {\n    if (globalState.timeout) {\n      stopTimerProgressBar();\n      return globalState.timeout.stop();\n    }\n  };\n  /**\n   * Resume timer. Returns number of milliseconds of timer remained.\n   * If `timer` parameter isn't set, returns undefined.\n   */\n\n  const resumeTimer = () => {\n    if (globalState.timeout) {\n      const remaining = globalState.timeout.start();\n      animateTimerProgressBar(remaining);\n      return remaining;\n    }\n  };\n  /**\n   * Resume timer. Returns number of milliseconds of timer remained.\n   * If `timer` parameter isn't set, returns undefined.\n   */\n\n  const toggleTimer = () => {\n    const timer = globalState.timeout;\n    return timer && (timer.running ? stopTimer() : resumeTimer());\n  };\n  /**\n   * Increase timer. Returns number of milliseconds of an updated timer.\n   * If `timer` parameter isn't set, returns undefined.\n   */\n\n  const increaseTimer = n => {\n    if (globalState.timeout) {\n      const remaining = globalState.timeout.increase(n);\n      animateTimerProgressBar(remaining, true);\n      return remaining;\n    }\n  };\n  /**\n   * Check if timer is running. Returns true if timer is running\n   * or false if timer is paused or stopped.\n   * If `timer` parameter isn't set, returns undefined\n   */\n\n  const isTimerRunning = () => {\n    return globalState.timeout && globalState.timeout.isRunning();\n  };\n\n  let bodyClickListenerAdded = false;\n  const clickHandlers = {};\n  function bindClickHandler() {\n    let attr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'data-swal-template';\n    clickHandlers[attr] = this;\n\n    if (!bodyClickListenerAdded) {\n      document.body.addEventListener('click', bodyClickListener);\n      bodyClickListenerAdded = true;\n    }\n  }\n\n  const bodyClickListener = event => {\n    for (let el = event.target; el && el !== document; el = el.parentNode) {\n      for (const attr in clickHandlers) {\n        const template = el.getAttribute(attr);\n\n        if (template) {\n          clickHandlers[attr].fire({\n            template\n          });\n          return;\n        }\n      }\n    }\n  };\n\n\n\n  var staticMethods = /*#__PURE__*/Object.freeze({\n    isValidParameter: isValidParameter,\n    isUpdatableParameter: isUpdatableParameter,\n    isDeprecatedParameter: isDeprecatedParameter,\n    argsToParams: argsToParams,\n    isVisible: isVisible$1,\n    clickConfirm: clickConfirm,\n    clickDeny: clickDeny,\n    clickCancel: clickCancel,\n    getContainer: getContainer,\n    getPopup: getPopup,\n    getTitle: getTitle,\n    getHtmlContainer: getHtmlContainer,\n    getImage: getImage,\n    getIcon: getIcon,\n    getInputLabel: getInputLabel,\n    getCloseButton: getCloseButton,\n    getActions: getActions,\n    getConfirmButton: getConfirmButton,\n    getDenyButton: getDenyButton,\n    getCancelButton: getCancelButton,\n    getLoader: getLoader,\n    getFooter: getFooter,\n    getTimerProgressBar: getTimerProgressBar,\n    getFocusableElements: getFocusableElements,\n    getValidationMessage: getValidationMessage,\n    isLoading: isLoading,\n    fire: fire,\n    mixin: mixin,\n    showLoading: showLoading,\n    enableLoading: showLoading,\n    getTimerLeft: getTimerLeft,\n    stopTimer: stopTimer,\n    resumeTimer: resumeTimer,\n    toggleTimer: toggleTimer,\n    increaseTimer: increaseTimer,\n    isTimerRunning: isTimerRunning,\n    bindClickHandler: bindClickHandler\n  });\n\n  let currentInstance;\n\n  class SweetAlert {\n    constructor() {\n      // Prevent run in Node env\n      if (typeof window === 'undefined') {\n        return;\n      }\n\n      currentInstance = this; // @ts-ignore\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      const outerParams = Object.freeze(this.constructor.argsToParams(args));\n      Object.defineProperties(this, {\n        params: {\n          value: outerParams,\n          writable: false,\n          enumerable: true,\n          configurable: true\n        }\n      }); // @ts-ignore\n\n      const promise = currentInstance._main(currentInstance.params);\n\n      privateProps.promise.set(this, promise);\n    }\n\n    _main(userParams) {\n      let mixinParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      showWarningsForParams(Object.assign({}, mixinParams, userParams));\n\n      if (globalState.currentInstance) {\n        // @ts-ignore\n        globalState.currentInstance._destroy();\n\n        if (isModal()) {\n          unsetAriaHidden();\n        }\n      }\n\n      globalState.currentInstance = currentInstance;\n      const innerParams = prepareParams(userParams, mixinParams);\n      setParameters(innerParams);\n      Object.freeze(innerParams); // clear the previous timer\n\n      if (globalState.timeout) {\n        globalState.timeout.stop();\n        delete globalState.timeout;\n      } // clear the restore focus timeout\n\n\n      clearTimeout(globalState.restoreFocusTimeout);\n      const domCache = populateDomCache(currentInstance);\n      render(currentInstance, innerParams);\n      privateProps.innerParams.set(currentInstance, innerParams);\n      return swalPromise(currentInstance, domCache, innerParams);\n    } // `catch` cannot be the name of a module export, so we define our thenable methods here instead\n\n\n    then(onFulfilled) {\n      const promise = privateProps.promise.get(this);\n      return promise.then(onFulfilled);\n    }\n\n    finally(onFinally) {\n      const promise = privateProps.promise.get(this);\n      return promise.finally(onFinally);\n    }\n\n  }\n\n  const swalPromise = (instance, domCache, innerParams) => {\n    return new Promise((resolve, reject) => {\n      // functions to handle all closings/dismissals\n      const dismissWith = dismiss => {\n        instance.closePopup({\n          isDismissed: true,\n          dismiss\n        });\n      };\n\n      privateMethods.swalPromiseResolve.set(instance, resolve);\n      privateMethods.swalPromiseReject.set(instance, reject);\n\n      domCache.confirmButton.onclick = () => handleConfirmButtonClick(instance);\n\n      domCache.denyButton.onclick = () => handleDenyButtonClick(instance);\n\n      domCache.cancelButton.onclick = () => handleCancelButtonClick(instance, dismissWith);\n\n      domCache.closeButton.onclick = () => dismissWith(DismissReason.close);\n\n      handlePopupClick(instance, domCache, dismissWith);\n      addKeydownHandler(instance, globalState, innerParams, dismissWith);\n      handleInputOptionsAndValue(instance, innerParams);\n      openPopup(innerParams);\n      setupTimer(globalState, innerParams, dismissWith);\n      initFocus(domCache, innerParams); // Scroll container to top on open (#1247, #1946)\n\n      setTimeout(() => {\n        domCache.container.scrollTop = 0;\n      });\n    });\n  };\n\n  const prepareParams = (userParams, mixinParams) => {\n    const templateParams = getTemplateParams(userParams);\n    const params = Object.assign({}, defaultParams, mixinParams, templateParams, userParams); // precedence is described in #2131\n\n    params.showClass = Object.assign({}, defaultParams.showClass, params.showClass);\n    params.hideClass = Object.assign({}, defaultParams.hideClass, params.hideClass);\n    return params;\n  };\n  /**\n   * @param {SweetAlert2} instance\n   * @returns {DomCache}\n   */\n\n\n  const populateDomCache = instance => {\n    const domCache = {\n      popup: getPopup(),\n      container: getContainer(),\n      actions: getActions(),\n      confirmButton: getConfirmButton(),\n      denyButton: getDenyButton(),\n      cancelButton: getCancelButton(),\n      loader: getLoader(),\n      closeButton: getCloseButton(),\n      validationMessage: getValidationMessage(),\n      progressSteps: getProgressSteps()\n    };\n    privateProps.domCache.set(instance, domCache);\n    return domCache;\n  };\n  /**\n   * @param {GlobalState} globalState\n   * @param {SweetAlertOptions} innerParams\n   * @param {function} dismissWith\n   */\n\n\n  const setupTimer = (globalState$$1, innerParams, dismissWith) => {\n    const timerProgressBar = getTimerProgressBar();\n    hide(timerProgressBar);\n\n    if (innerParams.timer) {\n      globalState$$1.timeout = new Timer(() => {\n        dismissWith('timer');\n        delete globalState$$1.timeout;\n      }, innerParams.timer);\n\n      if (innerParams.timerProgressBar) {\n        show(timerProgressBar);\n        applyCustomClass(timerProgressBar, innerParams, 'timerProgressBar');\n        setTimeout(() => {\n          if (globalState$$1.timeout && globalState$$1.timeout.running) {\n            // timer can be already stopped or unset at this point\n            animateTimerProgressBar(innerParams.timer);\n          }\n        });\n      }\n    }\n  };\n  /**\n   * @param {DomCache} domCache\n   * @param {SweetAlertOptions} innerParams\n   */\n\n\n  const initFocus = (domCache, innerParams) => {\n    if (innerParams.toast) {\n      return;\n    }\n\n    if (!callIfFunction(innerParams.allowEnterKey)) {\n      return blurActiveElement();\n    }\n\n    if (!focusButton(domCache, innerParams)) {\n      setFocus(innerParams, -1, 1);\n    }\n  };\n  /**\n   * @param {DomCache} domCache\n   * @param {SweetAlertOptions} innerParams\n   * @returns {boolean}\n   */\n\n\n  const focusButton = (domCache, innerParams) => {\n    if (innerParams.focusDeny && isVisible(domCache.denyButton)) {\n      domCache.denyButton.focus();\n      return true;\n    }\n\n    if (innerParams.focusCancel && isVisible(domCache.cancelButton)) {\n      domCache.cancelButton.focus();\n      return true;\n    }\n\n    if (innerParams.focusConfirm && isVisible(domCache.confirmButton)) {\n      domCache.confirmButton.focus();\n      return true;\n    }\n\n    return false;\n  };\n\n  const blurActiveElement = () => {\n    if (document.activeElement instanceof HTMLElement && typeof document.activeElement.blur === 'function') {\n      document.activeElement.blur();\n    }\n  }; // Assign instance methods from src/instanceMethods/*.js to prototype\n\n\n  Object.assign(SweetAlert.prototype, instanceMethods); // Assign static methods from src/staticMethods/*.js to constructor\n\n  Object.assign(SweetAlert, staticMethods); // Proxy to instance methods to constructor, for now, for backwards compatibility\n\n  Object.keys(instanceMethods).forEach(key => {\n    SweetAlert[key] = function () {\n      if (currentInstance) {\n        return currentInstance[key](...arguments);\n      }\n    };\n  });\n  SweetAlert.DismissReason = DismissReason;\n  SweetAlert.version = '11.4.17';\n\n  const Swal = SweetAlert; // @ts-ignore\n\n  Swal.default = Swal;\n\n  return Swal;\n\n}));\nif (typeof this !== 'undefined' && this.Sweetalert2){  this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2}\n\n\"undefined\"!=typeof document&&function(e,t){var n=e.createElement(\"style\");if(e.getElementsByTagName(\"head\")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,\".swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4!important;grid-row:1/4!important;grid-template-columns:1fr 99fr 1fr;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px hsla(0deg,0%,0%,.075),0 1px 2px hsla(0deg,0%,0%,.075),1px 2px 4px hsla(0deg,0%,0%,.075),1px 3px 8px hsla(0deg,0%,0%,.075),2px 4px 16px hsla(0deg,0%,0%,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-toast-animate-success-line-tip .75s;animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-toast-animate-success-line-long .75s;animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:swal2-toast-show .5s;animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:swal2-toast-hide .1s forwards;animation:swal2-toast-hide .1s forwards}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:\\\"top-start     top            top-end\\\" \\\"center-start  center         center-end\\\" \\\"bottom-start  bottom-center  bottom-end\\\";grid-template-rows:minmax(-webkit-min-content,auto) minmax(-webkit-min-content,auto) minmax(-webkit-min-content,auto);grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:0 0!important}.swal2-container.swal2-bottom-start,.swal2-container.swal2-center-start,.swal2-container.swal2-top-start{grid-template-columns:minmax(0,1fr) auto auto}.swal2-container.swal2-bottom,.swal2-container.swal2-center,.swal2-container.swal2-top{grid-template-columns:auto minmax(0,1fr) auto}.swal2-container.swal2-bottom-end,.swal2-container.swal2-center-end,.swal2-container.swal2-top-end{grid-template-columns:auto auto minmax(0,1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;align-self:start;justify-self:end}.swal2-container.swal2-center-left>.swal2-popup,.swal2-container.swal2-center-start>.swal2-popup{grid-row:2;align-self:center}.swal2-container.swal2-center>.swal2-popup{grid-column:2;grid-row:2;align-self:center;justify-self:center}.swal2-container.swal2-center-end>.swal2-popup,.swal2-container.swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;align-self:center;justify-self:end}.swal2-container.swal2-bottom-left>.swal2-popup,.swal2-container.swal2-bottom-start>.swal2-popup{grid-column:1;grid-row:3;align-self:end}.swal2-container.swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;justify-self:center;align-self:end}.swal2-container.swal2-bottom-end>.swal2-popup,.swal2-container.swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;align-self:end;justify-self:end}.swal2-container.swal2-grow-fullscreen>.swal2-popup,.swal2-container.swal2-grow-row>.swal2-popup{grid-column:1/4;width:100%}.swal2-container.swal2-grow-column>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}.swal2-container.swal2-no-transition{transition:none!important}.swal2-popup{display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0,100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-title{position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 transparent #2778c4 transparent}.swal2-styled{margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px transparent;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}.swal2-styled.swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}.swal2-styled.swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}.swal2-styled.swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}.swal2-styled.swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}.swal2-styled:focus{outline:0}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto!important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:2em auto 1em}.swal2-close{z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:0 0;color:#ccc;font-family:serif;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close:focus{outline:0;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}.swal2-close::-moz-focus-inner{border:0}.swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em 2em 3px}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:0 0;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px transparent;color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em 2em 3px;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-file{width:75%;margin-right:auto;margin-left:auto;background:0 0;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:0 0;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{flex-shrink:0;margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto 0}.swal2-validation-message{align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:\\\"!\\\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:.25em solid transparent;border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-warning.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content{-webkit-animation:swal2-animate-i-mark .5s;animation:swal2-animate-i-mark .5s}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-info.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-info.swal2-icon-show .swal2-icon-content{-webkit-animation:swal2-animate-i-mark .8s;animation:swal2-animate-i-mark .8s}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-question.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content{-webkit-animation:swal2-animate-question-mark .8s;animation:swal2-animate-question-mark .8s}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:0 0;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-no-war{display:flex;position:fixed;z-index:1061;top:0;left:0;align-items:center;justify-content:center;width:100%;height:3.375em;background:#20232a;color:#fff;text-align:center}.swal2-no-war a{color:#61dafb;text-decoration:none}.swal2-no-war a:hover{text-decoration:underline}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@-webkit-keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@-webkit-keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{background-color:transparent!important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:transparent;pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}\");","import Vue from 'vue'\n\nexport default Vue.extend({\n  name: 'transitionable',\n\n  props: {\n    mode: String,\n    origin: String,\n    transition: String,\n  },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n  VSheet,\n  Toggleable,\n  Transitionable\n).extend({\n  name: 'v-alert',\n\n  props: {\n    border: {\n      type: String,\n      validator (val: string) {\n        return [\n          'top',\n          'right',\n          'bottom',\n          'left',\n        ].includes(val)\n      },\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close',\n    },\n    coloredBorder: Boolean,\n    dense: Boolean,\n    dismissible: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$cancel',\n    },\n    icon: {\n      default: '',\n      type: [Boolean, String],\n      validator (val: boolean | string) {\n        return typeof val === 'string' || val === false\n      },\n    },\n    outlined: Boolean,\n    prominent: Boolean,\n    text: Boolean,\n    type: {\n      type: String,\n      validator (val: string) {\n        return [\n          'info',\n          'error',\n          'success',\n          'warning',\n        ].includes(val)\n      },\n    },\n    value: {\n      type: Boolean,\n      default: true,\n    },\n  },\n\n  computed: {\n    __cachedBorder (): VNode | null {\n      if (!this.border) return null\n\n      let data: VNodeData = {\n        staticClass: 'v-alert__border',\n        class: {\n          [`v-alert__border--${this.border}`]: true,\n        },\n      }\n\n      if (this.coloredBorder) {\n        data = this.setBackgroundColor(this.computedColor, data)\n        data.class['v-alert__border--has-color'] = true\n      }\n\n      return this.$createElement('div', data)\n    },\n    __cachedDismissible (): VNode | null {\n      if (!this.dismissible) return null\n\n      const color = this.iconColor\n\n      return this.$createElement(VBtn, {\n        staticClass: 'v-alert__dismissible',\n        props: {\n          color,\n          icon: true,\n          small: true,\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel),\n        },\n        on: {\n          click: () => (this.isActive = false),\n        },\n      }, [\n        this.$createElement(VIcon, {\n          props: { color },\n        }, this.closeIcon),\n      ])\n    },\n    __cachedIcon (): VNode | null {\n      if (!this.computedIcon) return null\n\n      return this.$createElement(VIcon, {\n        staticClass: 'v-alert__icon',\n        props: { color: this.iconColor },\n      }, this.computedIcon)\n    },\n    classes (): object {\n      const classes: Record<string, boolean> = {\n        ...VSheet.options.computed.classes.call(this),\n        'v-alert--border': Boolean(this.border),\n        'v-alert--dense': this.dense,\n        'v-alert--outlined': this.outlined,\n        'v-alert--prominent': this.prominent,\n        'v-alert--text': this.text,\n      }\n\n      if (this.border) {\n        classes[`v-alert--border-${this.border}`] = true\n      }\n\n      return classes\n    },\n    computedColor (): string {\n      return this.color || this.type\n    },\n    computedIcon (): string | boolean {\n      if (this.icon === false) return false\n      if (typeof this.icon === 'string' && this.icon) return this.icon\n      if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n      return `$${this.type}`\n    },\n    hasColoredIcon (): boolean {\n      return (\n        this.hasText ||\n        (Boolean(this.border) && this.coloredBorder)\n      )\n    },\n    hasText (): boolean {\n      return this.text || this.outlined\n    },\n    iconColor (): string | undefined {\n      return this.hasColoredIcon ? this.computedColor : undefined\n    },\n    isDark (): boolean {\n      if (\n        this.type &&\n        !this.coloredBorder &&\n        !this.outlined\n      ) return true\n\n      return Themeable.options.computed.isDark.call(this)\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('outline')) {\n      breaking('outline', 'outlined', this)\n    }\n  },\n\n  methods: {\n    genWrapper (): VNode {\n      const children = [\n        this.$slots.prepend || this.__cachedIcon,\n        this.genContent(),\n        this.__cachedBorder,\n        this.$slots.append,\n        this.$scopedSlots.close\n          ? this.$scopedSlots.close({ toggle: this.toggle })\n          : this.__cachedDismissible,\n      ]\n\n      const data: VNodeData = {\n        staticClass: 'v-alert__wrapper',\n      }\n\n      return this.$createElement('div', data, children)\n    },\n    genContent (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-alert__content',\n      }, this.$slots.default)\n    },\n    genAlert (): VNode {\n      let data: VNodeData = {\n        staticClass: 'v-alert',\n        attrs: {\n          role: 'alert',\n        },\n        on: this.listeners$,\n        class: this.classes,\n        style: this.styles,\n        directives: [{\n          name: 'show',\n          value: this.isActive,\n        }],\n      }\n\n      if (!this.coloredBorder) {\n        const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n        data = setColor(this.computedColor, data)\n      }\n\n      return this.$createElement('div', data, [this.genWrapper()])\n    },\n    /** @public */\n    toggle () {\n      this.isActive = !this.isActive\n    },\n  },\n\n  render (h): VNode {\n    const render = this.genAlert()\n\n    if (!this.transition) return render\n\n    return h('transition', {\n      props: {\n        name: this.transition,\n        origin: this.origin,\n        mode: this.mode,\n      },\n    }, [render])\n  },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n  Themeable\n).extend({\n  name: 'v-app',\n\n  props: {\n    dark: {\n      type: Boolean,\n      default: undefined,\n    },\n    id: {\n      type: String,\n      default: 'app',\n    },\n    light: {\n      type: Boolean,\n      default: undefined,\n    },\n  },\n\n  computed: {\n    isDark (): boolean {\n      return this.$vuetify.theme.dark\n    },\n  },\n\n  beforeCreate () {\n    if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n      throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n    }\n  },\n\n  render (h) {\n    const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n    return h('div', {\n      staticClass: 'v-application',\n      class: {\n        'v-application--is-rtl': this.$vuetify.rtl,\n        'v-application--is-ltr': !this.$vuetify.rtl,\n        ...this.themeClasses,\n      },\n      attrs: { 'data-app': true },\n      domProps: { id: this.id },\n    }, [wrapper])\n  },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n  value: EventListener | {\n    handler: EventListener\n    options?: boolean | AddEventListenerOptions\n  } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n  modifiers?: {\n    self?: boolean\n  }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n  const { self = false } = binding.modifiers || {}\n  const value = binding.value\n  const options = (typeof value === 'object' && value.options) || { passive: true }\n  const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n  const target = self\n    ? el\n    : binding.arg\n      ? document.querySelector(binding.arg)\n      : window\n\n  if (!target) return\n\n  target.addEventListener('scroll', handler, options)\n\n  el._onScroll = Object(el._onScroll)\n  el._onScroll![vnode.context!._uid] = {\n    handler,\n    options,\n    // Don't reference self\n    target: self ? undefined : target,\n  }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n  if (!el._onScroll?.[vnode.context!._uid]) return\n\n  const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n  target.removeEventListener('scroll', handler, options)\n  delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n  inserted,\n  unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n  name: 'scrollable',\n\n  directives: { Scroll },\n\n  props: {\n    scrollTarget: String,\n    scrollThreshold: [String, Number],\n  },\n\n  data: () => ({\n    currentScroll: 0,\n    currentThreshold: 0,\n    isActive: false,\n    isScrollingUp: false,\n    previousScroll: 0,\n    savedScroll: 0,\n    target: null as Element | null,\n  }),\n\n  computed: {\n    /**\n     * A computed property that returns\n     * whether scrolling features are\n     * enabled or disabled\n     */\n    canScroll (): boolean {\n      return typeof window !== 'undefined'\n    },\n    /**\n     * The threshold that must be met before\n     * thresholdMet function is invoked\n     */\n    computedScrollThreshold (): number {\n      return this.scrollThreshold\n        ? Number(this.scrollThreshold)\n        : 300\n    },\n  },\n\n  watch: {\n    isScrollingUp () {\n      this.savedScroll = this.savedScroll || this.currentScroll\n    },\n    isActive () {\n      this.savedScroll = 0\n    },\n  },\n\n  mounted () {\n    if (this.scrollTarget) {\n      this.target = document.querySelector(this.scrollTarget)\n\n      if (!this.target) {\n        consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n      }\n    }\n  },\n\n  methods: {\n    onScroll () {\n      if (!this.canScroll) return\n\n      this.previousScroll = this.currentScroll\n      this.currentScroll = this.target\n        ? this.target.scrollTop\n        : window.pageYOffset\n\n      this.isScrollingUp = this.currentScroll < this.previousScroll\n      this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n      this.$nextTick(() => {\n        if (\n          Math.abs(this.currentScroll - this.savedScroll) >\n          this.computedScrollThreshold\n        ) this.thresholdMet()\n      })\n    },\n    /**\n     * The method invoked when\n     * scrolling in any direction\n     * has exceeded the threshold\n     */\n    thresholdMet () { /* noop */ },\n  },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n  VToolbar,\n  Scrollable,\n  SSRBootable,\n  Toggleable,\n  Applicationable('top', [\n    'clippedLeft',\n    'clippedRight',\n    'computedHeight',\n    'invertedScroll',\n    'isExtended',\n    'isProminent',\n    'value',\n  ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-app-bar',\n\n  directives: { Scroll },\n\n  provide (): object {\n    return { VAppBar: this }\n  },\n\n  props: {\n    clippedLeft: Boolean,\n    clippedRight: Boolean,\n    collapseOnScroll: Boolean,\n    elevateOnScroll: Boolean,\n    fadeImgOnScroll: Boolean,\n    hideOnScroll: Boolean,\n    invertedScroll: Boolean,\n    scrollOffScreen: Boolean,\n    shrinkOnScroll: Boolean,\n    value: {\n      type: Boolean,\n      default: true,\n    },\n  },\n\n  data () {\n    return {\n      isActive: this.value,\n    }\n  },\n\n  computed: {\n    applicationProperty (): string {\n      return !this.bottom ? 'top' : 'bottom'\n    },\n    canScroll (): boolean {\n      return (\n        Scrollable.options.computed.canScroll.call(this) &&\n        (\n          this.invertedScroll ||\n          this.elevateOnScroll ||\n          this.hideOnScroll ||\n          this.collapseOnScroll ||\n          this.isBooted ||\n          // If falsy, user has provided an\n          // explicit value which should\n          // overwrite anything we do\n          !this.value\n        )\n      )\n    },\n    classes (): object {\n      return {\n        ...VToolbar.options.computed.classes.call(this),\n        'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n        'v-app-bar': true,\n        'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n        'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n        'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n        'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n        'v-app-bar--hide-shadow': this.hideShadow,\n        'v-app-bar--is-scrolled': this.currentScroll > 0,\n        'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n      }\n    },\n    scrollRatio (): number {\n      const threshold = this.computedScrollThreshold\n      return Math.max((threshold - this.currentScroll) / threshold, 0)\n    },\n    computedContentHeight (): number {\n      if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n      const min = this.dense ? 48 : 56\n      const max = this.computedOriginalHeight\n\n      return min + (max - min) * this.scrollRatio\n    },\n    computedFontSize (): number | undefined {\n      if (!this.isProminent) return undefined\n\n      const min = 1.25\n      const max = 1.5\n\n      return min + (max - min) * this.scrollRatio\n    },\n    computedLeft (): number {\n      if (!this.app || this.clippedLeft) return 0\n\n      return this.$vuetify.application.left\n    },\n    computedMarginTop (): number {\n      if (!this.app) return 0\n\n      return this.$vuetify.application.bar\n    },\n    computedOpacity (): number | undefined {\n      if (!this.fadeImgOnScroll) return undefined\n\n      return this.scrollRatio\n    },\n    computedOriginalHeight (): number {\n      let height = VToolbar.options.computed.computedContentHeight.call(this)\n      if (this.isExtended) height += parseInt(this.extensionHeight)\n      return height\n    },\n    computedRight (): number {\n      if (!this.app || this.clippedRight) return 0\n\n      return this.$vuetify.application.right\n    },\n    computedScrollThreshold (): number {\n      if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n      return this.computedOriginalHeight - (this.dense ? 48 : 56)\n    },\n    computedTransform (): number {\n      if (\n        !this.canScroll ||\n        (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n      ) return 0\n\n      if (this.isActive) return 0\n\n      const scrollOffScreen = this.scrollOffScreen\n        ? this.computedHeight\n        : this.computedContentHeight\n\n      return this.bottom ? scrollOffScreen : -scrollOffScreen\n    },\n    hideShadow (): boolean {\n      if (this.elevateOnScroll && this.isExtended) {\n        return this.currentScroll < this.computedScrollThreshold\n      }\n\n      if (this.elevateOnScroll) {\n        return this.currentScroll === 0 ||\n          this.computedTransform < 0\n      }\n\n      return (\n        !this.isExtended ||\n        this.scrollOffScreen\n      ) && this.computedTransform !== 0\n    },\n    isCollapsed (): boolean {\n      if (!this.collapseOnScroll) {\n        return VToolbar.options.computed.isCollapsed.call(this)\n      }\n\n      return this.currentScroll > 0\n    },\n    isProminent (): boolean {\n      return (\n        VToolbar.options.computed.isProminent.call(this) ||\n        this.shrinkOnScroll\n      )\n    },\n    styles (): object {\n      return {\n        ...VToolbar.options.computed.styles.call(this),\n        fontSize: convertToUnit(this.computedFontSize, 'rem'),\n        marginTop: convertToUnit(this.computedMarginTop),\n        transform: `translateY(${convertToUnit(this.computedTransform)})`,\n        left: convertToUnit(this.computedLeft),\n        right: convertToUnit(this.computedRight),\n      }\n    },\n  },\n\n  watch: {\n    canScroll: 'onScroll',\n    computedTransform () {\n      // Normally we do not want the v-app-bar\n      // to update the application top value\n      // to avoid screen jump. However, in\n      // this situation, we must so that\n      // the clipped drawer can update\n      // its top value when scrolled\n      if (\n        !this.canScroll ||\n        (!this.clippedLeft && !this.clippedRight)\n      ) return\n\n      this.callUpdate()\n    },\n    invertedScroll (val: boolean) {\n      this.isActive = !val || this.currentScroll !== 0\n    },\n    hideOnScroll (val: boolean) {\n      this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n    },\n  },\n\n  created () {\n    if (this.invertedScroll) this.isActive = false\n  },\n\n  methods: {\n    genBackground () {\n      const render = VToolbar.options.methods.genBackground.call(this)\n\n      render.data = this._b(render.data || {}, render.tag!, {\n        style: { opacity: this.computedOpacity },\n      })\n\n      return render\n    },\n    updateApplication (): number {\n      return this.invertedScroll\n        ? 0\n        : this.computedHeight + this.computedTransform\n    },\n    thresholdMet () {\n      if (this.invertedScroll) {\n        this.isActive = this.currentScroll > this.computedScrollThreshold\n        return\n      }\n\n      if (this.hideOnScroll) {\n        this.isActive = this.isScrollingUp ||\n          this.currentScroll < this.computedScrollThreshold\n      }\n\n      if (this.currentThreshold < this.computedScrollThreshold) return\n\n      this.savedScroll = this.currentScroll\n    },\n  },\n\n  render (h): VNode {\n    const render = VToolbar.options.render.call(this, h)\n\n    render.data = render.data || {}\n\n    if (this.canScroll) {\n      render.data.directives = render.data.directives || []\n      render.data.directives.push({\n        arg: this.scrollTarget,\n        name: 'scroll',\n        value: this.onScroll,\n      })\n    }\n\n    return render\n  },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'v-app-bar-nav-icon',\n\n  functional: true,\n\n  render (h, { slots, listeners, props, data }) {\n    const d = Object.assign(data, {\n      staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n      props: {\n        ...props,\n        icon: true,\n      },\n      on: listeners,\n    })\n\n    const defaultSlot = slots().default\n\n    return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n  },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n  getObjectValueByPath,\n  getPropertyFromItem,\n  keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n  ...VSelectMenuProps,\n  offsetY: true,\n  offsetOverflow: true,\n  transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n  name: 'v-autocomplete',\n\n  props: {\n    allowOverflow: {\n      type: Boolean,\n      default: true,\n    },\n    autoSelectFirst: {\n      type: Boolean,\n      default: false,\n    },\n    filter: {\n      type: Function,\n      default: (item: any, queryText: string, itemText: string) => {\n        return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n      },\n    } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n    hideNoData: Boolean,\n    menuProps: {\n      type: VSelect.options.props.menuProps.type,\n      default: () => defaultMenuProps,\n    },\n    noFilter: Boolean,\n    searchInput: {\n      type: String as PropType<string | null>,\n    },\n  },\n\n  data () {\n    return {\n      lazySearch: this.searchInput,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VSelect.options.computed.classes.call(this),\n        'v-autocomplete': true,\n        'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n      }\n    },\n    computedItems (): object[] {\n      return this.filteredItems\n    },\n    selectedValues (): object[] {\n      return this.selectedItems.map(item => this.getValue(item))\n    },\n    hasDisplayedItems (): boolean {\n      return this.hideSelected\n        ? this.filteredItems.some(item => !this.hasItem(item))\n        : this.filteredItems.length > 0\n    },\n    currentRange (): number {\n      if (this.selectedItem == null) return 0\n\n      return String(this.getText(this.selectedItem)).length\n    },\n    filteredItems (): object[] {\n      if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n      return this.allItems.filter(item => {\n        const value = getPropertyFromItem(item, this.itemText)\n        const text = value != null ? String(value) : ''\n\n        return this.filter(item, String(this.internalSearch), text)\n      })\n    },\n    internalSearch: {\n      get (): string | null {\n        return this.lazySearch\n      },\n      set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n        // emit update event only when the new\n        // search value is different from previous\n        if (this.lazySearch !== val) {\n          this.lazySearch = val\n          this.$emit('update:search-input', val)\n        }\n      },\n    },\n    isAnyValueAllowed (): boolean {\n      return false\n    },\n    isDirty (): boolean {\n      return this.searchIsDirty || this.selectedItems.length > 0\n    },\n    isSearching (): boolean {\n      return (\n        this.multiple &&\n        this.searchIsDirty\n      ) || (\n        this.searchIsDirty &&\n        this.internalSearch !== this.getText(this.selectedItem)\n      )\n    },\n    menuCanShow (): boolean {\n      if (!this.isFocused) return false\n\n      return this.hasDisplayedItems || !this.hideNoData\n    },\n    $_menuProps (): object {\n      const props = VSelect.options.computed.$_menuProps.call(this);\n      (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n      return {\n        ...defaultMenuProps,\n        ...props,\n      }\n    },\n    searchIsDirty (): boolean {\n      return this.internalSearch != null &&\n        this.internalSearch !== ''\n    },\n    selectedItem (): any {\n      if (this.multiple) return null\n\n      return this.selectedItems.find(i => {\n        return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n      })\n    },\n    listData () {\n      const data = VSelect.options.computed.listData.call(this) as any\n\n      data.props = {\n        ...data.props,\n        items: this.virtualizedItems,\n        noFilter: (\n          this.noFilter ||\n          !this.isSearching ||\n          !this.filteredItems.length\n        ),\n        searchInput: this.internalSearch,\n      }\n\n      return data\n    },\n  },\n\n  watch: {\n    filteredItems: 'onFilteredItemsChanged',\n    internalValue: 'setSearch',\n    isFocused (val) {\n      if (val) {\n        document.addEventListener('copy', this.onCopy)\n        this.$refs.input && this.$refs.input.select()\n      } else {\n        document.removeEventListener('copy', this.onCopy)\n        this.blur()\n        this.updateSelf()\n      }\n    },\n    isMenuActive (val) {\n      if (val || !this.hasSlot) return\n\n      this.lazySearch = null\n    },\n    items (val, oldVal) {\n      // If we are focused, the menu\n      // is not active, hide no data is enabled,\n      // and items change\n      // User is probably async loading\n      // items, try to activate the menu\n      if (\n        !(oldVal && oldVal.length) &&\n        this.hideNoData &&\n        this.isFocused &&\n        !this.isMenuActive &&\n        val.length\n      ) this.activateMenu()\n    },\n    searchInput (val: string) {\n      this.lazySearch = val\n    },\n    internalSearch: 'onInternalSearchChanged',\n    itemText: 'updateSelf',\n  },\n\n  created () {\n    this.setSearch()\n  },\n\n  destroyed () {\n    document.removeEventListener('copy', this.onCopy)\n  },\n\n  methods: {\n    onFilteredItemsChanged (val: never[], oldVal: never[]) {\n      // TODO: How is the watcher triggered\n      // for duplicate items? no idea\n      if (val === oldVal) return\n\n      if (!this.autoSelectFirst) {\n        const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n        if (preSelectedItem) {\n          this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n        } else {\n          this.setMenuIndex(-1)\n        }\n        this.$emit('update:list-index', this.$refs.menu.listIndex)\n      }\n\n      this.$nextTick(() => {\n        if (\n          !this.internalSearch ||\n          (val.length !== 1 &&\n            !this.autoSelectFirst)\n        ) return\n\n        this.$refs.menu.getTiles()\n\n        if (this.autoSelectFirst && val.length) {\n          this.setMenuIndex(0)\n          this.$emit('update:list-index', this.$refs.menu.listIndex)\n        }\n      })\n    },\n    onInternalSearchChanged () {\n      this.updateMenuDimensions()\n    },\n    updateMenuDimensions () {\n      // Type from menuable is not making it through\n      this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n    },\n    changeSelectedIndex (keyCode: number) {\n      // Do not allow changing of selectedIndex\n      // when search is dirty\n      if (this.searchIsDirty) return\n\n      if (this.multiple && keyCode === keyCodes.left) {\n        if (this.selectedIndex === -1) {\n          this.selectedIndex = this.selectedItems.length - 1\n        } else {\n          this.selectedIndex--\n        }\n      } else if (this.multiple && keyCode === keyCodes.right) {\n        if (this.selectedIndex >= this.selectedItems.length - 1) {\n          this.selectedIndex = -1\n        } else {\n          this.selectedIndex++\n        }\n      } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n        this.deleteCurrentItem()\n      }\n    },\n    deleteCurrentItem () {\n      const curIndex = this.selectedIndex\n      const curItem = this.selectedItems[curIndex]\n\n      // Do nothing if input or item is disabled\n      if (\n        !this.isInteractive ||\n        this.getDisabled(curItem)\n      ) return\n\n      const lastIndex = this.selectedItems.length - 1\n\n      // Select the last item if\n      // there is no selection\n      if (\n        this.selectedIndex === -1 &&\n        lastIndex !== 0\n      ) {\n        this.selectedIndex = lastIndex\n\n        return\n      }\n\n      const length = this.selectedItems.length\n      const nextIndex = curIndex !== length - 1\n        ? curIndex\n        : curIndex - 1\n      const nextItem = this.selectedItems[nextIndex]\n\n      if (!nextItem) {\n        this.setValue(this.multiple ? [] : null)\n      } else {\n        this.selectItem(curItem)\n      }\n\n      this.selectedIndex = nextIndex\n    },\n    clearableCallback () {\n      this.internalSearch = null\n\n      VSelect.options.methods.clearableCallback.call(this)\n    },\n    genInput () {\n      const input = VTextField.options.methods.genInput.call(this)\n\n      input.data = mergeData(input.data!, {\n        attrs: {\n          'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n          autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n        },\n        domProps: { value: this.internalSearch },\n      })\n\n      return input\n    },\n    genInputSlot () {\n      const slot = VSelect.options.methods.genInputSlot.call(this)\n\n      slot.data!.attrs!.role = 'combobox'\n\n      return slot\n    },\n    genSelections (): VNode | never[] {\n      return this.hasSlot || this.multiple\n        ? VSelect.options.methods.genSelections.call(this)\n        : []\n    },\n    onClick (e: MouseEvent) {\n      if (!this.isInteractive) return\n\n      this.selectedIndex > -1\n        ? (this.selectedIndex = -1)\n        : this.onFocus()\n\n      if (!this.isAppendInner(e.target)) this.activateMenu()\n    },\n    onInput (e: Event) {\n      if (\n        this.selectedIndex > -1 ||\n        !e.target\n      ) return\n\n      const target = e.target as HTMLInputElement\n      const value = target.value\n\n      // If typing and menu is not currently active\n      if (target.value) this.activateMenu()\n\n      if (!this.multiple && value === '') this.deleteCurrentItem()\n\n      this.internalSearch = value\n      this.badInput = target.validity && target.validity.badInput\n    },\n    onKeyDown (e: KeyboardEvent) {\n      const keyCode = e.keyCode\n\n      if (\n        e.ctrlKey ||\n        ![keyCodes.home, keyCodes.end].includes(keyCode)\n      ) {\n        VSelect.options.methods.onKeyDown.call(this, e)\n      }\n\n      // The ordering is important here\n      // allows new value to be updated\n      // and then moves the index to the\n      // proper location\n      this.changeSelectedIndex(keyCode)\n    },\n    onSpaceDown (e: KeyboardEvent) { /* noop */ },\n    onTabDown (e: KeyboardEvent) {\n      VSelect.options.methods.onTabDown.call(this, e)\n      this.updateSelf()\n    },\n    onUpDown (e: Event) {\n      // Prevent screen from scrolling\n      e.preventDefault()\n\n      // For autocomplete / combobox, cycling\n      // interfers with native up/down behavior\n      // instead activate the menu\n      this.activateMenu()\n    },\n    selectItem (item: object) {\n      VSelect.options.methods.selectItem.call(this, item)\n      this.setSearch()\n    },\n    setSelectedItems () {\n      VSelect.options.methods.setSelectedItems.call(this)\n\n      // #4273 Don't replace if searching\n      // #4403 Don't replace if focused\n      if (!this.isFocused) this.setSearch()\n    },\n    setSearch () {\n      // Wait for nextTick so selectedItem\n      // has had time to update\n      this.$nextTick(() => {\n        if (\n          !this.multiple ||\n          !this.internalSearch ||\n          !this.isMenuActive\n        ) {\n          this.internalSearch = (\n            !this.selectedItems.length ||\n            this.multiple ||\n            this.hasSlot\n          )\n            ? null\n            : this.getText(this.selectedItem)\n        }\n      })\n    },\n    updateSelf () {\n      if (\n        !this.searchIsDirty &&\n        !this.internalValue\n      ) return\n\n      if (\n        !this.multiple &&\n        !this.valueComparator(\n          this.internalSearch,\n          this.getValue(this.internalValue)\n        )\n      ) {\n        this.setSearch()\n      }\n    },\n    hasItem (item: any): boolean {\n      return this.selectedValues.indexOf(this.getValue(item)) > -1\n    },\n    onCopy (event: ClipboardEvent) {\n      if (this.selectedIndex === -1) return\n\n      const currentItem = this.selectedItems[this.selectedIndex]\n      const currentItemText = this.getText(currentItem)\n      event.clipboardData?.setData('text/plain', currentItemText)\n      event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n      event.preventDefault()\n    },\n  },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n  Colorable,\n  Measurable,\n  Roundable,\n  /* @vue/component */\n).extend({\n  name: 'v-avatar',\n\n  props: {\n    left: Boolean,\n    right: Boolean,\n    size: {\n      type: [Number, String],\n      default: 48,\n    },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-avatar--left': this.left,\n        'v-avatar--right': this.right,\n        ...this.roundedClasses,\n      }\n    },\n    styles (): object {\n      return {\n        height: convertToUnit(this.size),\n        minWidth: convertToUnit(this.size),\n        width: convertToUnit(this.size),\n        ...this.measurableStyles,\n      }\n    },\n  },\n\n  render (h): VNode {\n    const data = {\n      staticClass: 'v-avatar',\n      class: this.classes,\n      style: this.styles,\n      on: this.$listeners,\n    }\n\n    return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n  },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n  VSheet,\n  Routable,\n  Positionable,\n  Sizeable,\n  GroupableFactory('btnToggle'),\n  ToggleableFactory('inputValue')\n  /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n  $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n  name: 'v-btn',\n\n  props: {\n    activeClass: {\n      type: String,\n      default (): string | undefined {\n        if (!this.btnToggle) return ''\n\n        return this.btnToggle.activeClass\n      },\n    } as any as PropValidator<string>,\n    block: Boolean,\n    depressed: Boolean,\n    fab: Boolean,\n    icon: Boolean,\n    loading: Boolean,\n    outlined: Boolean,\n    plain: Boolean,\n    retainFocusOnClick: Boolean,\n    rounded: Boolean,\n    tag: {\n      type: String,\n      default: 'button',\n    },\n    text: Boolean,\n    tile: Boolean,\n    type: {\n      type: String,\n      default: 'button',\n    },\n    value: null as any as PropType<any>,\n  },\n\n  data: () => ({\n    proxyClass: 'v-btn--active',\n  }),\n\n  computed: {\n    classes (): any {\n      return {\n        'v-btn': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-btn--absolute': this.absolute,\n        'v-btn--block': this.block,\n        'v-btn--bottom': this.bottom,\n        'v-btn--disabled': this.disabled,\n        'v-btn--is-elevated': this.isElevated,\n        'v-btn--fab': this.fab,\n        'v-btn--fixed': this.fixed,\n        'v-btn--has-bg': this.hasBg,\n        'v-btn--icon': this.icon,\n        'v-btn--left': this.left,\n        'v-btn--loading': this.loading,\n        'v-btn--outlined': this.outlined,\n        'v-btn--plain': this.plain,\n        'v-btn--right': this.right,\n        'v-btn--round': this.isRound,\n        'v-btn--rounded': this.rounded,\n        'v-btn--router': this.to,\n        'v-btn--text': this.text,\n        'v-btn--tile': this.tile,\n        'v-btn--top': this.top,\n        ...this.themeClasses,\n        ...this.groupClasses,\n        ...this.elevationClasses,\n        ...this.sizeableClasses,\n      }\n    },\n    computedElevation (): string | number | undefined {\n      if (this.disabled) return undefined\n\n      return Elevatable.options.computed.computedElevation.call(this)\n    },\n    computedRipple (): RippleOptions | boolean {\n      const defaultRipple = this.icon || this.fab ? { circle: true } : true\n      if (this.disabled) return false\n      else return this.ripple ?? defaultRipple\n    },\n    hasBg (): boolean {\n      return !this.text && !this.plain && !this.outlined && !this.icon\n    },\n    isElevated (): boolean {\n      return Boolean(\n        !this.icon &&\n        !this.text &&\n        !this.outlined &&\n        !this.depressed &&\n        !this.disabled &&\n        !this.plain &&\n        (this.elevation == null || Number(this.elevation) > 0)\n      )\n    },\n    isRound (): boolean {\n      return Boolean(\n        this.icon ||\n        this.fab\n      )\n    },\n    styles (): object {\n      return {\n        ...this.measurableStyles,\n      }\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['flat', 'text'],\n      ['outline', 'outlined'],\n      ['round', 'rounded'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n  },\n\n  methods: {\n    click (e: MouseEvent): void {\n      // TODO: Remove this in v3\n      !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n      this.$emit('click', e)\n\n      this.btnToggle && this.toggle()\n    },\n    genContent (): VNode {\n      return this.$createElement('span', {\n        staticClass: 'v-btn__content',\n      }, this.$slots.default)\n    },\n    genLoader (): VNode {\n      return this.$createElement('span', {\n        class: 'v-btn__loader',\n      }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n        props: {\n          indeterminate: true,\n          size: 23,\n          width: 2,\n        },\n      })])\n    },\n  },\n\n  render (h): VNode {\n    const children = [\n      this.genContent(),\n      this.loading && this.genLoader(),\n    ]\n    const { tag, data } = this.generateRouteLink()\n    const setColor = this.hasBg\n      ? this.setBackgroundColor\n      : this.setTextColor\n\n    if (tag === 'button') {\n      data.attrs!.type = this.type\n      data.attrs!.disabled = this.disabled\n    }\n    data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n      ? this.value\n      : JSON.stringify(this.value)\n\n    return h(tag, this.disabled ? data : setColor(this.color, data), children)\n  },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n  Loadable,\n  Routable,\n  VSheet\n).extend({\n  name: 'v-card',\n\n  props: {\n    flat: Boolean,\n    hover: Boolean,\n    img: String,\n    link: Boolean,\n    loaderHeight: {\n      type: [Number, String],\n      default: 4,\n    },\n    raised: Boolean,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-card': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-card--flat': this.flat,\n        'v-card--hover': this.hover,\n        'v-card--link': this.isClickable,\n        'v-card--loading': this.loading,\n        'v-card--disabled': this.disabled,\n        'v-card--raised': this.raised,\n        ...VSheet.options.computed.classes.call(this),\n      }\n    },\n    styles (): object {\n      const style: Dictionary<string> = {\n        ...VSheet.options.computed.styles.call(this),\n      }\n\n      if (this.img) {\n        style.background = `url(\"${this.img}\") center center / cover no-repeat`\n      }\n\n      return style\n    },\n  },\n\n  methods: {\n    genProgress () {\n      const render = Loadable.options.methods.genProgress.call(this)\n\n      if (!render) return null\n\n      return this.$createElement('div', {\n        staticClass: 'v-card__progress',\n        key: 'progress',\n      }, [render])\n    },\n  },\n\n  render (h): VNode {\n    const { tag, data } = this.generateRouteLink()\n\n    data.style = this.styles\n\n    if (this.isClickable) {\n      data.attrs = data.attrs || {}\n      data.attrs.tabindex = 0\n    }\n\n    return h(tag, this.setBackgroundColor(this.color, data), [\n      this.genProgress(),\n      this.$slots.default,\n    ])\n  },\n})\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n  VCard,\n  VCardActions,\n  VCardSubtitle,\n  VCardText,\n  VCardTitle,\n}\n\nexport default {\n  $_vuetify_subcomponents: {\n    VCard,\n    VCardActions,\n    VCardSubtitle,\n    VCardText,\n    VCardTitle,\n  },\n}\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n  name: 'v-checkbox',\n\n  props: {\n    indeterminate: Boolean,\n    indeterminateIcon: {\n      type: String,\n      default: '$checkboxIndeterminate',\n    },\n    offIcon: {\n      type: String,\n      default: '$checkboxOff',\n    },\n    onIcon: {\n      type: String,\n      default: '$checkboxOn',\n    },\n  },\n\n  data () {\n    return {\n      inputIndeterminate: this.indeterminate,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls': true,\n        'v-input--checkbox': true,\n        'v-input--indeterminate': this.inputIndeterminate,\n      }\n    },\n    computedIcon (): string {\n      if (this.inputIndeterminate) {\n        return this.indeterminateIcon\n      } else if (this.isActive) {\n        return this.onIcon\n      } else {\n        return this.offIcon\n      }\n    },\n    // Do not return undefined if disabled,\n    // according to spec, should still show\n    // a color when disabled and active\n    validationState (): string | undefined {\n      if (this.isDisabled && !this.inputIndeterminate) return undefined\n      if (this.hasError && this.shouldValidate) return 'error'\n      if (this.hasSuccess) return 'success'\n      if (this.hasColor !== null) return this.computedColor\n      return undefined\n    },\n  },\n\n  watch: {\n    indeterminate (val) {\n      // https://github.com/vuetifyjs/vuetify/issues/8270\n      this.$nextTick(() => (this.inputIndeterminate = val))\n    },\n    inputIndeterminate (val) {\n      this.$emit('update:indeterminate', val)\n    },\n    isActive () {\n      if (!this.indeterminate) return\n      this.inputIndeterminate = false\n    },\n  },\n\n  methods: {\n    genCheckbox () {\n      const { title, ...checkboxAttrs } = this.attrs$\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input',\n      }, [\n        this.$createElement(VIcon, this.setTextColor(this.validationState, {\n          props: {\n            dense: this.dense,\n            dark: this.dark,\n            light: this.light,\n          },\n        }), this.computedIcon),\n        this.genInput('checkbox', {\n          ...checkboxAttrs,\n          'aria-checked': this.inputIndeterminate\n            ? 'mixed'\n            : this.isActive.toString(),\n        }),\n        this.genRipple(this.setTextColor(this.rippleState)),\n      ])\n    },\n    genDefaultSlot () {\n      return [\n        this.genCheckbox(),\n        this.genLabel(),\n      ]\n    },\n  },\n})\n","import './VSimpleCheckbox.sass'\n\nimport ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n  name: 'v-simple-checkbox',\n\n  functional: true,\n\n  directives: {\n    ripple,\n  },\n\n  props: {\n    ...Colorable.options.props,\n    ...Themeable.options.props,\n    disabled: Boolean,\n    ripple: {\n      type: Boolean,\n      default: true,\n    },\n    value: Boolean,\n    indeterminate: Boolean,\n    indeterminateIcon: {\n      type: String,\n      default: '$checkboxIndeterminate',\n    },\n    onIcon: {\n      type: String,\n      default: '$checkboxOn',\n    },\n    offIcon: {\n      type: String,\n      default: '$checkboxOff',\n    },\n  },\n\n  render (h, { props, data, listeners }): VNode {\n    const children = []\n    let icon = props.offIcon\n    if (props.indeterminate) icon = props.indeterminateIcon\n    else if (props.value) icon = props.onIcon\n\n    children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n      props: {\n        disabled: props.disabled,\n        dark: props.dark,\n        light: props.light,\n      },\n    }), icon))\n\n    if (props.ripple && !props.disabled) {\n      const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n        staticClass: 'v-input--selection-controls__ripple',\n        directives: [{\n          name: 'ripple',\n          value: { center: true },\n        }] as VNodeDirective[],\n      }))\n\n      children.push(ripple)\n    }\n\n    return h('div',\n      mergeData(data, {\n        class: {\n          'v-simple-checkbox': true,\n          'v-simple-checkbox--disabled': props.disabled,\n        },\n        on: {\n          click: (e: MouseEvent) => {\n            e.stopPropagation()\n\n            if (data.on && data.on.input && !props.disabled) {\n              wrapInArray(data.on.input).forEach(f => f(!props.value))\n            }\n          },\n        },\n      }), [\n        h('div', { staticClass: 'v-input--selection-controls__input' }, children),\n      ])\n  },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n  Colorable,\n  Sizeable,\n  Routable,\n  Themeable,\n  GroupableFactory('chipGroup'),\n  ToggleableFactory('inputValue')\n).extend({\n  name: 'v-chip',\n\n  props: {\n    active: {\n      type: Boolean,\n      default: true,\n    },\n    activeClass: {\n      type: String,\n      default (): string | undefined {\n        if (!this.chipGroup) return ''\n\n        return this.chipGroup.activeClass\n      },\n    } as any as PropValidator<string>,\n    close: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$delete',\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close',\n    },\n    disabled: Boolean,\n    draggable: Boolean,\n    filter: Boolean,\n    filterIcon: {\n      type: String,\n      default: '$complete',\n    },\n    label: Boolean,\n    link: Boolean,\n    outlined: Boolean,\n    pill: Boolean,\n    tag: {\n      type: String,\n      default: 'span',\n    },\n    textColor: String,\n    value: null as any as PropType<any>,\n  },\n\n  data: () => ({\n    proxyClass: 'v-chip--active',\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-chip': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-chip--clickable': this.isClickable,\n        'v-chip--disabled': this.disabled,\n        'v-chip--draggable': this.draggable,\n        'v-chip--label': this.label,\n        'v-chip--link': this.isLink,\n        'v-chip--no-color': !this.color,\n        'v-chip--outlined': this.outlined,\n        'v-chip--pill': this.pill,\n        'v-chip--removable': this.hasClose,\n        ...this.themeClasses,\n        ...this.sizeableClasses,\n        ...this.groupClasses,\n      }\n    },\n    hasClose (): boolean {\n      return Boolean(this.close)\n    },\n    isClickable (): boolean {\n      return Boolean(\n        Routable.options.computed.isClickable.call(this) ||\n        this.chipGroup\n      )\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['outline', 'outlined'],\n      ['selected', 'input-value'],\n      ['value', 'active'],\n      ['@input', '@active.sync'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n  },\n\n  methods: {\n    click (e: MouseEvent): void {\n      this.$emit('click', e)\n\n      this.chipGroup && this.toggle()\n    },\n    genFilter (): VNode {\n      const children = []\n\n      if (this.isActive) {\n        children.push(\n          this.$createElement(VIcon, {\n            staticClass: 'v-chip__filter',\n            props: { left: true },\n          }, this.filterIcon)\n        )\n      }\n\n      return this.$createElement(VExpandXTransition, children)\n    },\n    genClose (): VNode {\n      return this.$createElement(VIcon, {\n        staticClass: 'v-chip__close',\n        props: {\n          right: true,\n          size: 18,\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel),\n        },\n        on: {\n          click: (e: Event) => {\n            e.stopPropagation()\n            e.preventDefault()\n\n            this.$emit('click:close')\n            this.$emit('update:active', false)\n          },\n        },\n      }, this.closeIcon)\n    },\n    genContent (): VNode {\n      return this.$createElement('span', {\n        staticClass: 'v-chip__content',\n      }, [\n        this.filter && this.genFilter(),\n        this.$slots.default,\n        this.hasClose && this.genClose(),\n      ])\n    },\n  },\n\n  render (h): VNode {\n    const children = [this.genContent()]\n    let { tag, data } = this.generateRouteLink()\n\n    data.attrs = {\n      ...data.attrs,\n      draggable: this.draggable ? 'true' : undefined,\n      tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n    }\n    data.directives!.push({\n      name: 'show',\n      value: this.active,\n    })\n    data = this.setBackgroundColor(this.color, data)\n\n    const color = this.textColor || (this.outlined && this.color)\n\n    return h(tag, this.setTextColor(color, data), children)\n  },\n})\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n  DataOptions,\n  DataPagination,\n  DataScopeProps,\n  DataSortFunction,\n  DataGroupFunction,\n  DataSearchFunction,\n  ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n  name: 'v-data',\n\n  inheritAttrs: false,\n\n  props: {\n    items: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n    options: {\n      type: Object,\n      default: () => ({}),\n    } as PropValidator<Partial<DataOptions>>,\n    sortBy: {\n      type: [String, Array],\n    } as PropValidator<string | string[] | undefined>,\n    sortDesc: {\n      type: [Boolean, Array],\n    } as PropValidator<boolean | boolean[] | undefined>,\n    customSort: {\n      type: Function,\n      default: sortItems,\n    } as PropValidator<DataSortFunction>,\n    mustSort: Boolean,\n    multiSort: Boolean,\n    page: {\n      type: Number,\n      default: 1,\n    },\n    itemsPerPage: {\n      type: Number,\n      default: 10,\n    },\n    groupBy: {\n      type: [String, Array],\n      default: () => [],\n    } as PropValidator<string | string[]>,\n    groupDesc: {\n      type: [Boolean, Array],\n      default: () => [],\n    } as PropValidator<boolean | boolean[]>,\n    customGroup: {\n      type: Function,\n      default: groupItems,\n    } as PropValidator<DataGroupFunction>,\n    locale: {\n      type: String,\n      default: 'en-US',\n    },\n    disableSort: Boolean,\n    disablePagination: Boolean,\n    disableFiltering: Boolean,\n    search: String,\n    customFilter: {\n      type: Function,\n      default: searchItems,\n    } as PropValidator<DataSearchFunction>,\n    serverItemsLength: {\n      type: Number,\n      default: -1,\n    },\n  },\n\n  data () {\n    let internalOptions: DataOptions = {\n      page: this.page,\n      itemsPerPage: this.itemsPerPage,\n      sortBy: wrapInArray(this.sortBy),\n      sortDesc: wrapInArray(this.sortDesc),\n      groupBy: wrapInArray(this.groupBy),\n      groupDesc: wrapInArray(this.groupDesc),\n      mustSort: this.mustSort,\n      multiSort: this.multiSort,\n    }\n\n    if (this.options) {\n      internalOptions = Object.assign(internalOptions, this.options)\n    }\n\n    const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n    const sortDiff = sortBy.length - sortDesc.length\n    const groupDiff = groupBy.length - groupDesc.length\n\n    if (sortDiff > 0) {\n      internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n    }\n\n    if (groupDiff > 0) {\n      internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n    }\n\n    return {\n      internalOptions,\n    }\n  },\n\n  computed: {\n    itemsLength (): number {\n      return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n    },\n    pageCount (): number {\n      return this.internalOptions.itemsPerPage <= 0\n        ? 1\n        : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n    },\n    pageStart (): number {\n      if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n      return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n    },\n    pageStop (): number {\n      if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n      if (!this.items.length) return 0\n\n      return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n    },\n    isGrouped (): boolean {\n      return !!this.internalOptions.groupBy.length\n    },\n    pagination (): DataPagination {\n      return {\n        page: this.internalOptions.page,\n        itemsPerPage: this.internalOptions.itemsPerPage,\n        pageStart: this.pageStart,\n        pageStop: this.pageStop,\n        pageCount: this.pageCount,\n        itemsLength: this.itemsLength,\n      }\n    },\n    filteredItems (): any[] {\n      let items = this.items.slice()\n\n      if (!this.disableFiltering && this.serverItemsLength <= 0) {\n        items = this.customFilter(items, this.search)\n      }\n\n      return items\n    },\n    computedItems (): any[] {\n      let items = this.filteredItems.slice()\n\n      if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n        items = this.sortItems(items)\n      }\n\n      if (!this.disablePagination && this.serverItemsLength <= 0) {\n        items = this.paginateItems(items)\n      }\n\n      return items\n    },\n    groupedItems (): ItemGroup<any>[] | null {\n      return this.isGrouped ? this.groupItems(this.computedItems) : null\n    },\n    scopedProps (): DataScopeProps {\n      return {\n        sort: this.sort,\n        sortArray: this.sortArray,\n        group: this.group,\n        items: this.computedItems,\n        options: this.internalOptions,\n        updateOptions: this.updateOptions,\n        pagination: this.pagination,\n        groupedItems: this.groupedItems,\n        originalItemsLength: this.items.length,\n      }\n    },\n    computedOptions (): DataOptions {\n      return { ...this.options } as DataOptions\n    },\n  },\n\n  watch: {\n    computedOptions: {\n      handler (options: DataOptions, old: DataOptions) {\n        if (deepEqual(options, old)) return\n\n        this.updateOptions(options)\n      },\n      deep: true,\n      immediate: true,\n    },\n    internalOptions: {\n      handler (options: DataOptions, old: DataOptions) {\n        if (deepEqual(options, old)) return\n        this.$emit('update:options', options)\n      },\n      deep: true,\n      immediate: true,\n    },\n    page (page: number) {\n      this.updateOptions({ page })\n    },\n    'internalOptions.page' (page: number) {\n      this.$emit('update:page', page)\n    },\n    itemsPerPage (itemsPerPage: number) {\n      this.updateOptions({ itemsPerPage })\n    },\n    'internalOptions.itemsPerPage' (itemsPerPage: number) {\n      this.$emit('update:items-per-page', itemsPerPage)\n    },\n    sortBy (sortBy: string | string[]) {\n      this.updateOptions({ sortBy: wrapInArray(sortBy) })\n    },\n    'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n      !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n    },\n    sortDesc (sortDesc: boolean | boolean[]) {\n      this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n    },\n    'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n      !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n    },\n    groupBy (groupBy: string | string[]) {\n      this.updateOptions({ groupBy: wrapInArray(groupBy) })\n    },\n    'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n      !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n    },\n    groupDesc (groupDesc: boolean | boolean[]) {\n      this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n    },\n    'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n      !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n    },\n    multiSort (multiSort: boolean) {\n      this.updateOptions({ multiSort })\n    },\n    'internalOptions.multiSort' (multiSort: boolean) {\n      this.$emit('update:multi-sort', multiSort)\n    },\n    mustSort (mustSort: boolean) {\n      this.updateOptions({ mustSort })\n    },\n    'internalOptions.mustSort' (mustSort: boolean) {\n      this.$emit('update:must-sort', mustSort)\n    },\n    pageCount: {\n      handler (pageCount: number) {\n        this.$emit('page-count', pageCount)\n      },\n      immediate: true,\n    },\n    computedItems: {\n      handler (computedItems: any[]) {\n        this.$emit('current-items', computedItems)\n      },\n      immediate: true,\n    },\n    pagination: {\n      handler (pagination: DataPagination, old: DataPagination) {\n        if (deepEqual(pagination, old)) return\n        this.$emit('pagination', this.pagination)\n      },\n      immediate: true,\n    },\n  },\n\n  methods: {\n    toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n      let by = oldBy.slice()\n      let desc = oldDesc.slice()\n      const byIndex = by.findIndex((k: string) => k === key)\n\n      if (byIndex < 0) {\n        if (!multiSort) {\n          by = []\n          desc = []\n        }\n\n        by.push(key)\n        desc.push(false)\n      } else if (byIndex >= 0 && !desc[byIndex]) {\n        desc[byIndex] = true\n      } else if (!mustSort) {\n        by.splice(byIndex, 1)\n        desc.splice(byIndex, 1)\n      } else {\n        desc[byIndex] = false\n      }\n\n      // Reset page to 1 if sortBy or sortDesc have changed\n      if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n        page = 1\n      }\n\n      return { by, desc, page }\n    },\n    group (key: string): void {\n      const { by: groupBy, desc: groupDesc, page } = this.toggle(\n        key,\n        this.internalOptions.groupBy,\n        this.internalOptions.groupDesc,\n        this.internalOptions.page,\n        true,\n        false\n      )\n      this.updateOptions({ groupBy, groupDesc, page })\n    },\n    sort (key: string | string[]): void {\n      if (Array.isArray(key)) return this.sortArray(key)\n\n      const { by: sortBy, desc: sortDesc, page } = this.toggle(\n        key,\n        this.internalOptions.sortBy,\n        this.internalOptions.sortDesc,\n        this.internalOptions.page,\n        this.internalOptions.mustSort,\n        this.internalOptions.multiSort\n      )\n      this.updateOptions({ sortBy, sortDesc, page })\n    },\n    sortArray (sortBy: string[]) {\n      const sortDesc = sortBy.map(s => {\n        const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n        return i > -1 ? this.internalOptions.sortDesc[i] : false\n      })\n\n      this.updateOptions({ sortBy, sortDesc })\n    },\n    updateOptions (options: any) {\n      this.internalOptions = {\n        ...this.internalOptions,\n        ...options,\n        page: this.serverItemsLength < 0\n          ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n          : options.page || this.internalOptions.page,\n      }\n    },\n    sortItems (items: any[]): any[] {\n      let sortBy: string[] = []\n      let sortDesc: boolean[] = []\n\n      if (!this.disableSort) {\n        sortBy = this.internalOptions.sortBy\n        sortDesc = this.internalOptions.sortDesc\n      }\n\n      if (this.internalOptions.groupBy.length) {\n        sortBy = [...this.internalOptions.groupBy, ...sortBy]\n        sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n      }\n\n      return this.customSort(items, sortBy, sortDesc, this.locale)\n    },\n    groupItems (items: any[]): ItemGroup<any>[] {\n      return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n    },\n    paginateItems (items: any[]): any[] {\n      // Make sure we don't try to display non-existant page if items suddenly change\n      // TODO: Could possibly move this to pageStart/pageStop?\n      if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n        this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n      }\n\n      return items.slice(this.pageStart, this.pageStop)\n    },\n  },\n\n  render (): VNode {\n    return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n  },\n})\n","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\nimport { getSlot } from '../../util/helpers'\n\nexport default Vue.extend({\n  name: 'v-data-footer',\n\n  props: {\n    options: {\n      type: Object as PropType<DataOptions>,\n      required: true,\n    },\n    pagination: {\n      type: Object as PropType<DataPagination>,\n      required: true,\n    },\n    itemsPerPageOptions: {\n      type: Array,\n      default: () => ([5, 10, 15, -1]),\n    } as PropValidator<DataItemsPerPageOption[]>,\n    prevIcon: {\n      type: String,\n      default: '$prev',\n    },\n    nextIcon: {\n      type: String,\n      default: '$next',\n    },\n    firstIcon: {\n      type: String,\n      default: '$first',\n    },\n    lastIcon: {\n      type: String,\n      default: '$last',\n    },\n    itemsPerPageText: {\n      type: String,\n      default: '$vuetify.dataFooter.itemsPerPageText',\n    },\n    itemsPerPageAllText: {\n      type: String,\n      default: '$vuetify.dataFooter.itemsPerPageAll',\n    },\n    showFirstLastPage: Boolean,\n    showCurrentPage: Boolean,\n    disablePagination: Boolean,\n    disableItemsPerPage: Boolean,\n    pageText: {\n      type: String,\n      default: '$vuetify.dataFooter.pageText',\n    },\n  },\n\n  computed: {\n    disableNextPageIcon (): boolean {\n      return this.options.itemsPerPage <= 0 ||\n        this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n        this.pagination.pageStop < 0\n    },\n    computedDataItemsPerPageOptions (): any[] {\n      return this.itemsPerPageOptions.map(option => {\n        if (typeof option === 'object') return option\n        else return this.genDataItemsPerPageOption(option)\n      })\n    },\n  },\n\n  methods: {\n    updateOptions (obj: object) {\n      this.$emit('update:options', Object.assign({}, this.options, obj))\n    },\n    onFirstPage () {\n      this.updateOptions({ page: 1 })\n    },\n    onPreviousPage () {\n      this.updateOptions({ page: this.options.page - 1 })\n    },\n    onNextPage () {\n      this.updateOptions({ page: this.options.page + 1 })\n    },\n    onLastPage () {\n      this.updateOptions({ page: this.pagination.pageCount })\n    },\n    onChangeItemsPerPage (itemsPerPage: number) {\n      this.updateOptions({ itemsPerPage, page: 1 })\n    },\n    genDataItemsPerPageOption (option: number) {\n      return {\n        text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n        value: option,\n      }\n    },\n    genItemsPerPageSelect () {\n      let value = this.options.itemsPerPage\n      const computedIPPO = this.computedDataItemsPerPageOptions\n\n      if (computedIPPO.length <= 1) return null\n\n      if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n      return this.$createElement('div', {\n        staticClass: 'v-data-footer__select',\n      }, [\n        this.$vuetify.lang.t(this.itemsPerPageText),\n        this.$createElement(VSelect, {\n          attrs: {\n            'aria-label': this.$vuetify.lang.t(this.itemsPerPageText),\n          },\n          props: {\n            disabled: this.disableItemsPerPage,\n            items: computedIPPO,\n            value,\n            hideDetails: true,\n            auto: true,\n            minWidth: '75px',\n          },\n          on: {\n            input: this.onChangeItemsPerPage,\n          },\n        }),\n      ])\n    },\n    genPaginationInfo () {\n      let children: VNodeChildrenArrayContents = ['–']\n      const itemsLength: number = this.pagination.itemsLength\n      let pageStart: number = this.pagination.pageStart\n      let pageStop: number = this.pagination.pageStop\n\n      if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n        pageStart = this.pagination.pageStart + 1\n        pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n          ? itemsLength\n          : this.pagination.pageStop\n\n        children = this.$scopedSlots['page-text']\n          ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n          : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n      } else if (this.$scopedSlots['page-text']) {\n        children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n      }\n\n      return this.$createElement('div', {\n        class: 'v-data-footer__pagination',\n      }, children)\n    },\n    genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n      return this.$createElement(VBtn, {\n        props: {\n          disabled: disabled || this.disablePagination,\n          icon: true,\n          text: true,\n          // dark: this.dark, // TODO: add mixin\n          // light: this.light // TODO: add mixin\n        },\n        on: {\n          click,\n        },\n        attrs: {\n          'aria-label': label, // TODO: Localization\n        },\n      }, [this.$createElement(VIcon, icon)])\n    },\n    genIcons () {\n      const before: VNodeChildrenArrayContents = []\n      const after: VNodeChildrenArrayContents = []\n\n      before.push(this.genIcon(\n        this.onPreviousPage,\n        this.options.page === 1,\n        this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n        this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n      ))\n\n      after.push(this.genIcon(\n        this.onNextPage,\n        this.disableNextPageIcon,\n        this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n        this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n      ))\n\n      if (this.showFirstLastPage) {\n        before.unshift(this.genIcon(\n          this.onFirstPage,\n          this.options.page === 1,\n          this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n          this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n        ))\n\n        after.push(this.genIcon(\n          this.onLastPage,\n          this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n          this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n          this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n        ))\n      }\n\n      return [\n        this.$createElement('div', {\n          staticClass: 'v-data-footer__icons-before',\n        }, before),\n        this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n        this.$createElement('div', {\n          staticClass: 'v-data-footer__icons-after',\n        }, after),\n      ]\n    },\n  },\n\n  render (): VNode {\n    return this.$createElement('div', {\n      staticClass: 'v-data-footer',\n    }, [\n      getSlot(this, 'prepend'),\n      this.genItemsPerPageSelect(),\n      this.genPaginationInfo(),\n      this.genIcons(),\n    ])\n  },\n})\n","// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n  Mobile,\n  Themeable\n).extend({\n  name: 'v-data-iterator',\n\n  props: {\n    ...VData.options.props, // TODO: filter out props not used\n    itemKey: {\n      type: String,\n      default: 'id',\n    },\n    value: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n    singleSelect: Boolean,\n    expanded: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n    mobileBreakpoint: {\n      ...Mobile.options.props.mobileBreakpoint,\n      default: 600,\n    },\n    singleExpand: Boolean,\n    loading: [Boolean, String],\n    noResultsText: {\n      type: String,\n      default: '$vuetify.dataIterator.noResultsText',\n    },\n    noDataText: {\n      type: String,\n      default: '$vuetify.noDataText',\n    },\n    loadingText: {\n      type: String,\n      default: '$vuetify.dataIterator.loadingText',\n    },\n    hideDefaultFooter: Boolean,\n    footerProps: Object,\n    selectableKey: {\n      type: String,\n      default: 'isSelectable',\n    },\n  },\n\n  data: () => ({\n    selection: {} as Record<string, any>,\n    expansion: {} as Record<string, boolean>,\n    internalCurrentItems: [] as any[],\n    shiftKeyDown: false,\n    lastEntry: -1,\n  }),\n\n  computed: {\n    everyItem (): boolean {\n      return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n    },\n    someItems (): boolean {\n      return this.selectableItems.some((i: any) => this.isSelected(i))\n    },\n    sanitizedFooterProps (): Record<string, any> {\n      return camelizeObjectKeys(this.footerProps)\n    },\n    selectableItems (): any[] {\n      return this.internalCurrentItems.filter(item => this.isSelectable(item))\n    },\n  },\n\n  watch: {\n    value: {\n      handler (value: any[]) {\n        this.selection = value.reduce((selection, item) => {\n          selection[getObjectValueByPath(item, this.itemKey)] = item\n          return selection\n        }, {})\n      },\n      immediate: true,\n    },\n    selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n      if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n      this.$emit('input', Object.values(value))\n    },\n    expanded: {\n      handler (value: any[]) {\n        this.expansion = value.reduce((expansion, item) => {\n          expansion[getObjectValueByPath(item, this.itemKey)] = true\n          return expansion\n        }, {})\n      },\n      immediate: true,\n    },\n    expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n      if (deepEqual(value, old)) return\n      const keys = Object.keys(value).filter(k => value[k])\n      const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n      this.$emit('update:expanded', expanded)\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['disable-initial-sort', 'sort-by'],\n      ['filter', 'custom-filter'],\n      ['pagination', 'options'],\n      ['total-items', 'server-items-length'],\n      ['hide-actions', 'hide-default-footer'],\n      ['rows-per-page-items', 'footer-props.items-per-page-options'],\n      ['rows-per-page-text', 'footer-props.items-per-page-text'],\n      ['prev-icon', 'footer-props.prev-icon'],\n      ['next-icon', 'footer-props.next-icon'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n\n    const removedProps = [\n      'expand',\n      'content-class',\n      'content-props',\n      'content-tag',\n    ]\n\n    /* istanbul ignore next */\n    removedProps.forEach(prop => {\n      if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n    })\n  },\n\n  mounted () {\n    window.addEventListener('keydown', this.onKeyDown)\n    window.addEventListener('keyup', this.onKeyUp)\n  },\n  beforeDestroy () {\n    window.removeEventListener('keydown', this.onKeyDown)\n    window.removeEventListener('keyup', this.onKeyUp)\n  },\n\n  methods: {\n    onKeyDown (e: KeyboardEvent): void {\n      if (e.keyCode !== keyCodes.shift) return\n      this.shiftKeyDown = true\n    },\n    onKeyUp (e: KeyboardEvent): void {\n      if (e.keyCode !== keyCodes.shift) return\n      this.shiftKeyDown = false\n    },\n    toggleSelectAll (value: boolean): void {\n      const selection = Object.assign({}, this.selection)\n\n      for (let i = 0; i < this.selectableItems.length; i++) {\n        const item = this.selectableItems[i]\n\n        if (!this.isSelectable(item)) continue\n\n        const key = getObjectValueByPath(item, this.itemKey)\n        if (value) selection[key] = item\n        else delete selection[key]\n      }\n\n      this.selection = selection\n      this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n    },\n    isSelectable (item: any): boolean {\n      return getObjectValueByPath(item, this.selectableKey) !== false\n    },\n    isSelected (item: any): boolean {\n      return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n    },\n    select (item: any, value = true, emit = true): void {\n      if (!this.isSelectable(item)) return\n\n      const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n      const key = getObjectValueByPath(item, this.itemKey)\n\n      if (value) selection[key] = item\n      else delete selection[key]\n\n      const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n      if (this.lastEntry === -1) this.lastEntry = index\n      else if (this.shiftKeyDown && !this.singleSelect && emit) {\n        const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n        const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n        this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n      }\n      this.lastEntry = index\n\n      if (this.singleSelect && emit) {\n        const keys = Object.keys(this.selection)\n        const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n        old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n      }\n      this.selection = selection\n      emit && this.$emit('item-selected', { item, value })\n    },\n    multipleSelect (value = true, emit = true, selection: any, index: number): void {\n      const start = index < this.lastEntry ? index : this.lastEntry\n      const end = index < this.lastEntry ? this.lastEntry : index\n      for (let i = start; i <= end; i++) {\n        const currentItem = this.selectableItems[i]\n        const key = getObjectValueByPath(currentItem, this.itemKey)\n        if (value) selection[key] = currentItem\n        else delete selection[key]\n        emit && this.$emit('item-selected', { currentItem, value })\n      }\n    },\n    isExpanded (item: any): boolean {\n      return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n    },\n    expand (item: any, value = true): void {\n      const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n      const key = getObjectValueByPath(item, this.itemKey)\n\n      if (value) expansion[key] = true\n      else delete expansion[key]\n\n      this.expansion = expansion\n      this.$emit('item-expanded', { item, value })\n    },\n    createItemProps (item: any, index: number): DataItemProps {\n      return {\n        item,\n        index,\n        select: (v: boolean) => this.select(item, v),\n        isSelected: this.isSelected(item),\n        expand: (v: boolean) => this.expand(item, v),\n        isExpanded: this.isExpanded(item),\n        isMobile: this.isMobile,\n      }\n    },\n    genEmptyWrapper (content: VNodeChildren) {\n      return this.$createElement('div', content)\n    },\n    genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n      if (originalItemsLength === 0 && this.loading) {\n        const loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText)\n        return this.genEmptyWrapper(loading)\n      } else if (originalItemsLength === 0) {\n        const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)\n        return this.genEmptyWrapper(noData)\n      } else if (filteredItemsLength === 0) {\n        const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText)\n        return this.genEmptyWrapper(noResults)\n      }\n\n      return null\n    },\n    genItems (props: DataScopeProps) {\n      const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n      if (empty) return [empty]\n\n      if (this.$scopedSlots.default) {\n        return this.$scopedSlots.default({\n          ...props,\n          isSelected: this.isSelected,\n          select: this.select,\n          isExpanded: this.isExpanded,\n          isMobile: this.isMobile,\n          expand: this.expand,\n        })\n      }\n\n      if (this.$scopedSlots.item) {\n        return props.items.map((item: any, index) => this.$scopedSlots.item!(this.createItemProps(\n          item,\n          index\n        )))\n      }\n\n      return []\n    },\n    genFooter (props: DataScopeProps) {\n      if (this.hideDefaultFooter) return null\n\n      const data = {\n        props: {\n          ...this.sanitizedFooterProps,\n          options: props.options,\n          pagination: props.pagination,\n        },\n        on: {\n          'update:options': (value: any) => props.updateOptions(value),\n        },\n      }\n\n      const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n      return this.$createElement(VDataFooter, {\n        scopedSlots,\n        ...data,\n      })\n    },\n    genDefaultScopedSlot (props: any) {\n      const outerProps = {\n        ...props,\n        someItems: this.someItems,\n        everyItem: this.everyItem,\n        toggleSelectAll: this.toggleSelectAll,\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-data-iterator',\n      }, [\n        getSlot(this, 'header', outerProps, true),\n        this.genItems(props),\n        this.genFooter(props),\n        getSlot(this, 'footer', outerProps, true),\n      ])\n    },\n  },\n\n  render (): VNode {\n    return this.$createElement(VData, {\n      props: this.$props,\n      on: {\n        'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n        'update:page': (v: any) => this.$emit('update:page', v),\n        'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n        'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n        'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n        'update:group-by': (v: any) => this.$emit('update:group-by', v),\n        'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n        pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n        'current-items': (v: any[]) => {\n          this.internalCurrentItems = v\n          this.$emit('current-items', v)\n        },\n        'page-count': (v: number) => this.$emit('page-count', v),\n      },\n      scopedSlots: {\n        default: this.genDefaultScopedSlot,\n      },\n    })\n  },\n})\n","import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n  dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n  // https://github.com/vuejs/vue/issues/6872\n  directives: {\n    ripple,\n  },\n\n  props: {\n    headers: {\n      type: Array,\n      default: () => ([]),\n    } as PropValidator<DataTableHeader[]>,\n    options: {\n      type: Object,\n      default: () => ({\n        page: 1,\n        itemsPerPage: 10,\n        sortBy: [],\n        sortDesc: [],\n        groupBy: [],\n        groupDesc: [],\n        multiSort: false,\n        mustSort: false,\n      }),\n    } as PropValidator<DataOptions>,\n    checkboxColor: String,\n    sortIcon: {\n      type: String,\n      default: '$sort',\n    },\n    everyItem: Boolean,\n    someItems: Boolean,\n    showGroupBy: Boolean,\n    singleSelect: Boolean,\n    disableSort: Boolean,\n  },\n\n  methods: {\n    genSelectAll () {\n      const data = {\n        props: {\n          value: this.everyItem,\n          indeterminate: !this.everyItem && this.someItems,\n          color: this.checkboxColor ?? '',\n        },\n        on: {\n          input: (v: boolean) => this.$emit('toggle-select-all', v),\n        },\n      }\n\n      if (this.$scopedSlots['data-table-select']) {\n        return this.$scopedSlots['data-table-select']!(data)\n      }\n\n      return this.$createElement(VSimpleCheckbox, {\n        staticClass: 'v-data-table__checkbox',\n        ...data,\n      })\n    },\n    genSortIcon () {\n      return this.$createElement(VIcon, {\n        staticClass: 'v-data-table-header__icon',\n        props: {\n          size: 18,\n        },\n      }, [this.sortIcon])\n    },\n  },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n  name: 'v-data-table-header-mobile',\n\n  props: {\n    sortByText: {\n      type: String,\n      default: '$vuetify.dataTable.sortBy',\n    },\n  },\n\n  methods: {\n    genSortChip (props: any) {\n      const children: VNodeChildrenArrayContents = [props.item.text]\n\n      const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n      const beingSorted = sortIndex >= 0\n      const isDesc = this.options.sortDesc[sortIndex]\n\n      children.push(this.$createElement('div', {\n        staticClass: 'v-chip__close',\n        class: {\n          sortable: true,\n          active: beingSorted,\n          asc: beingSorted && !isDesc,\n          desc: beingSorted && isDesc,\n        },\n      }, [this.genSortIcon()]))\n\n      return this.$createElement(VChip, {\n        staticClass: 'sortable',\n        on: {\n          click: (e: MouseEvent) => {\n            e.stopPropagation()\n            this.$emit('sort', props.item.value)\n          },\n        },\n      }, children)\n    },\n    genSortSelect (items: any[]) {\n      return this.$createElement(VSelect, {\n        props: {\n          label: this.$vuetify.lang.t(this.sortByText),\n          items,\n          hideDetails: true,\n          multiple: this.options.multiSort,\n          value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n          menuProps: { closeOnContentClick: true },\n        },\n        on: {\n          change: (v: string | string[]) => this.$emit('sort', v),\n        },\n        scopedSlots: {\n          selection: props => this.genSortChip(props),\n        },\n      })\n    },\n  },\n\n  render (h): VNode {\n    const children: VNodeChildrenArrayContents = []\n\n    const header = this.headers.find(h => h.value === 'data-table-select')\n    if (header && !this.singleSelect) {\n      children.push(this.$createElement('div', {\n        class: [\n          'v-data-table-header-mobile__select',\n          ...wrapInArray(header.class),\n        ],\n        attrs: {\n          width: header.width,\n        },\n      }, [this.genSelectAll()]))\n    }\n\n    const sortHeaders = this.headers\n      .filter(h => h.sortable !== false && h.value !== 'data-table-select')\n      .map(h => ({\n        text: h.text,\n        value: h.value,\n      }))\n\n    if (!this.disableSort && sortHeaders.length) {\n      children.push(this.genSortSelect(sortHeaders))\n    }\n\n    const th = children.length\n      ? h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n      : undefined\n\n    const tr = h('tr', [th])\n\n    return h('thead', {\n      staticClass: 'v-data-table-header v-data-table-header-mobile',\n    }, [tr])\n  },\n})\n","// Helpers\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport header from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default mixins(header).extend({\n  name: 'v-data-table-header-desktop',\n\n  methods: {\n    genGroupByToggle (header: DataTableHeader) {\n      return this.$createElement('span', {\n        on: {\n          click: (e: MouseEvent) => {\n            e.stopPropagation()\n            this.$emit('group', header.value)\n          },\n        },\n      }, ['group'])\n    },\n    getAria (beingSorted: boolean, isDesc: boolean) {\n      const $t = (key: string) => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`)\n\n      let ariaSort = 'none'\n      let ariaLabel = [\n        $t('sortNone'),\n        $t('activateAscending'),\n      ]\n\n      if (!beingSorted) {\n        return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n      }\n\n      if (isDesc) {\n        ariaSort = 'descending'\n        ariaLabel = [\n          $t('sortDescending'),\n          $t(this.options.mustSort ? 'activateAscending' : 'activateNone'),\n        ]\n      } else {\n        ariaSort = 'ascending'\n        ariaLabel = [\n          $t('sortAscending'),\n          $t('activateDescending'),\n        ]\n      }\n\n      return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n    },\n    genHeader (header: DataTableHeader) {\n      const data: Required<Pick<VNodeData, 'attrs' | 'on' | 'class' | 'style'>> = {\n        attrs: {\n          role: 'columnheader',\n          scope: 'col',\n          'aria-label': header.text || '',\n        },\n        style: {\n          width: convertToUnit(header.width),\n          minWidth: convertToUnit(header.width),\n        },\n        class: [\n          `text-${header.align || 'start'}`,\n          ...wrapInArray(header.class),\n          header.divider && 'v-data-table__divider',\n        ],\n        on: {},\n      }\n      const children = []\n\n      if (header.value === 'data-table-select' && !this.singleSelect) {\n        return this.$createElement('th', data, [this.genSelectAll()])\n      }\n\n      children.push(\n        this.$scopedSlots.hasOwnProperty(header.value)\n          ? this.$scopedSlots[header.value]!({ header })\n          : this.$createElement('span', [header.text])\n      )\n\n      if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n        data.on.click = () => this.$emit('sort', header.value)\n\n        const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n        const beingSorted = sortIndex >= 0\n        const isDesc = this.options.sortDesc[sortIndex]\n\n        data.class.push('sortable')\n\n        const { ariaLabel, ariaSort } = this.getAria(beingSorted, isDesc)\n\n        data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`\n        data.attrs['aria-sort'] = ariaSort\n\n        if (beingSorted) {\n          data.class.push('active')\n          data.class.push(isDesc ? 'desc' : 'asc')\n        }\n\n        if (header.align === 'end') children.unshift(this.genSortIcon())\n        else children.push(this.genSortIcon())\n\n        if (this.options.multiSort && beingSorted) {\n          children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n        }\n      }\n\n      if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header))\n\n      return this.$createElement('th', data, children)\n    },\n  },\n\n  render (): VNode {\n    return this.$createElement('thead', {\n      staticClass: 'v-data-table-header',\n    }, [\n      this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n    ])\n  },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n  if (data.model && data.on && data.on.input) {\n    if (Array.isArray(data.on.input)) {\n      const i = data.on.input.indexOf(data.model.callback)\n      if (i > -1) data.on.input.splice(i, 1)\n    } else {\n      delete data.on.input\n    }\n  }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n  const children: VNode[] = []\n\n  for (const slot in slots) {\n    if (slots.hasOwnProperty(slot)) {\n      children.push(h('template', { slot }, slots[slot]))\n    }\n  }\n\n  return children\n}\n","// Styles\nimport './VDataTableHeader.sass'\n\n// Components\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'v-data-table-header',\n\n  functional: true,\n\n  props: {\n    ...header.options.props,\n    mobile: Boolean,\n  },\n\n  render (h, { props, data, slots }) {\n    dedupeModelListeners(data)\n    const children = rebuildSlots(slots(), h)\n\n    data = mergeData(data, { props })\n\n    if (props.mobile) {\n      return h(VDataTableHeaderMobile, data, children)\n    } else {\n      return h(VDataTableHeaderDesktop, data, children)\n    }\n  },\n})\n","// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DataTableHeader } from 'vuetify/types'\n\n// Utils\nimport { getObjectValueByPath, wrapInArray } from '../../util/helpers'\n\nfunction needsTd (slot: VNode[] | undefined) {\n  return slot!.length !== 1 ||\n    !['td', 'th'].includes(slot![0]?.tag!)\n}\n\nexport default Vue.extend({\n  name: 'row',\n\n  functional: true,\n\n  props: {\n    headers: Array as PropType<DataTableHeader[]>,\n    index: Number,\n    item: Object,\n    rtl: Boolean,\n  },\n\n  render (h, { props, slots, data }): VNode {\n    const computedSlots = slots()\n\n    const columns = props.headers.map((header: DataTableHeader) => {\n      const children = []\n      const value = getObjectValueByPath(props.item, header.value)\n\n      const slotName = header.value\n      const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n      const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n      if (scopedSlot) {\n        children.push(...wrapInArray(scopedSlot({\n          item: props.item,\n          isMobile: false,\n          header,\n          index: props.index,\n          value,\n        })))\n      } else if (regularSlot) {\n        children.push(...wrapInArray(regularSlot))\n      } else {\n        children.push(value == null ? value : String(value))\n      }\n\n      const textAlign = `text-${header.align || 'start'}`\n\n      return needsTd(children)\n        ? h('td', {\n          class: [\n            textAlign,\n            header.cellClass,\n            {\n              'v-data-table__divider': header.divider,\n            },\n          ],\n        }, children)\n        : children\n    })\n\n    return h('tr', data, columns)\n  },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n  name: 'row-group',\n\n  functional: true,\n\n  props: {\n    value: {\n      type: Boolean,\n      default: true,\n    },\n    headerClass: {\n      type: String,\n      default: 'v-row-group__header',\n    },\n    contentClass: String,\n    summaryClass: {\n      type: String,\n      default: 'v-row-group__summary',\n    },\n  },\n\n  render (h, { slots, props }): VNode {\n    const computedSlots = slots()\n    const children = []\n\n    if (computedSlots['column.header']) {\n      children.push(h('tr', {\n        staticClass: props.headerClass,\n      }, computedSlots['column.header']))\n    } else if (computedSlots['row.header']) {\n      children.push(...computedSlots['row.header'])\n    }\n\n    if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n    if (computedSlots['column.summary']) {\n      children.push(h('tr', {\n        staticClass: props.summaryClass,\n      }, computedSlots['column.summary']))\n    } else if (computedSlots['row.summary']) {\n      children.push(...computedSlots['row.summary'])\n    }\n\n    return children as any\n  },\n})\n","import Vue, { VNode, PropType } from 'vue'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default Vue.extend({\n  name: 'row',\n\n  functional: true,\n\n  props: {\n    headers: Array as PropType<DataTableHeader[]>,\n    hideDefaultHeader: Boolean,\n    index: Number,\n    item: Object,\n    rtl: Boolean,\n  },\n\n  render (h, { props, slots, data }): VNode {\n    const computedSlots = slots()\n\n    const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n      const classes = {\n        'v-data-table__mobile-row': true,\n      }\n\n      const children = []\n      const value = getObjectValueByPath(props.item, header.value)\n\n      const slotName = header.value\n      const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName]\n      const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName]\n\n      if (scopedSlot) {\n        children.push(scopedSlot({\n          item: props.item,\n          isMobile: true,\n          header,\n          index: props.index,\n          value,\n        }))\n      } else if (regularSlot) {\n        children.push(regularSlot)\n      } else {\n        children.push(value == null ? value : String(value))\n      }\n\n      const mobileRowChildren = [\n        h('div', {\n          staticClass: 'v-data-table__mobile-row__cell',\n        }, children),\n      ]\n\n      if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n        mobileRowChildren.unshift(\n          h('div', {\n            staticClass: 'v-data-table__mobile-row__header',\n          }, [header.text])\n        )\n      }\n\n      return h('td', { class: classes }, mobileRowChildren)\n    })\n\n    return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n  },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n  DataTableHeader,\n  DataTableFilterFunction,\n  DataScopeProps,\n  DataOptions,\n  DataPagination,\n  DataTableCompareFunction,\n  DataItemsPerPageOption,\n  ItemGroup,\n  RowClassFunction,\n  DataTableItemProps,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n  return (header: DataTableHeader) => {\n    const value = getObjectValueByPath(item, header.value)\n    return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n  }\n}\n\nfunction searchTableItems (\n  items: any[],\n  search: string | null,\n  headersWithCustomFilters: DataTableHeader[],\n  headersWithoutCustomFilters: DataTableHeader[],\n  customFilter: DataTableFilterFunction\n) {\n  search = typeof search === 'string' ? search.trim() : null\n\n  return items.filter(item => {\n    // Headers with custom filters are evaluated whether or not a search term has been provided.\n    // We need to match every filter to be included in the results.\n    const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n    // Headers without custom filters are only filtered by the `search` property if it is defined.\n    // We only need a single column to match the search term to be included in the results.\n    const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n    return matchesColumnFilters && matchesSearchTerm\n  })\n}\n\n/* @vue/component */\nexport default mixins(\n  VDataIterator,\n  Loadable,\n).extend({\n  name: 'v-data-table',\n\n  // https://github.com/vuejs/vue/issues/6872\n  directives: {\n    ripple,\n  },\n\n  props: {\n    headers: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<DataTableHeader[]>,\n    showSelect: Boolean,\n    checkboxColor: String,\n    showExpand: Boolean,\n    showGroupBy: Boolean,\n    // TODO: Fix\n    // virtualRows: Boolean,\n    height: [Number, String],\n    hideDefaultHeader: Boolean,\n    caption: String,\n    dense: Boolean,\n    headerProps: Object,\n    calculateWidths: Boolean,\n    fixedHeader: Boolean,\n    headersLength: Number,\n    expandIcon: {\n      type: String,\n      default: '$expand',\n    },\n    customFilter: {\n      type: Function,\n      default: defaultFilter,\n    } as PropValidator<typeof defaultFilter>,\n    itemClass: {\n      type: [String, Function],\n      default: () => '',\n    } as PropValidator<RowClassFunction | string>,\n    loaderHeight: {\n      type: [Number, String],\n      default: 4,\n    },\n  },\n\n  data () {\n    return {\n      internalGroupBy: [] as string[],\n      openCache: {} as { [key: string]: boolean },\n      widths: [] as number[],\n    }\n  },\n\n  computed: {\n    computedHeaders (): DataTableHeader[] {\n      if (!this.headers) return []\n      const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n      const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n      if (this.showSelect) {\n        const index = headers.findIndex(h => h.value === 'data-table-select')\n        if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n        else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n      }\n\n      if (this.showExpand) {\n        const index = headers.findIndex(h => h.value === 'data-table-expand')\n        if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n        else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n      }\n\n      return headers\n    },\n    colspanAttrs (): object | undefined {\n      return this.isMobile ? undefined : {\n        colspan: this.headersLength || this.computedHeaders.length,\n      }\n    },\n    columnSorters (): Record<string, DataTableCompareFunction> {\n      return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n        if (header.sort) acc[header.value] = header.sort\n        return acc\n      }, {})\n    },\n    headersWithCustomFilters (): DataTableHeader[] {\n      return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n    },\n    headersWithoutCustomFilters (): DataTableHeader[] {\n      return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n    },\n    sanitizedHeaderProps (): Record<string, any> {\n      return camelizeObjectKeys(this.headerProps)\n    },\n    computedItemsPerPage (): number {\n      const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n      const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n      if (\n        itemsPerPageOptions &&\n        !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n      ) {\n        const firstOption = itemsPerPageOptions[0]\n        return typeof firstOption === 'object' ? firstOption.value : firstOption\n      }\n\n      return itemsPerPage\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['sort-icon', 'header-props.sort-icon'],\n      ['hide-headers', 'hide-default-header'],\n      ['select-all', 'show-select'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n  },\n\n  mounted () {\n    // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n    //   const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n    //   if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n    // }\n\n    if (this.calculateWidths) {\n      window.addEventListener('resize', this.calcWidths)\n      this.calcWidths()\n    }\n  },\n\n  beforeDestroy () {\n    if (this.calculateWidths) {\n      window.removeEventListener('resize', this.calcWidths)\n    }\n  },\n\n  methods: {\n    calcWidths () {\n      this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n    },\n    customFilterWithColumns (items: any[], search: string) {\n      return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n    },\n    customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n      return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n    },\n    createItemProps (item: any, index: number): DataTableItemProps {\n      const props = VDataIterator.options.methods.createItemProps.call(this, item, index)\n\n      return Object.assign(props, { headers: this.computedHeaders })\n    },\n    genCaption (props: DataScopeProps) {\n      if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n      return getSlot(this, 'caption', props, true)\n    },\n    genColgroup (props: DataScopeProps) {\n      return this.$createElement('colgroup', this.computedHeaders.map(header => {\n        return this.$createElement('col', {\n          class: {\n            divider: header.divider,\n          },\n        })\n      }))\n    },\n    genLoading () {\n      const th = this.$createElement('th', {\n        staticClass: 'column',\n        attrs: this.colspanAttrs,\n      }, [this.genProgress()])\n\n      const tr = this.$createElement('tr', {\n        staticClass: 'v-data-table__progress',\n      }, [th])\n\n      return this.$createElement('thead', [tr])\n    },\n    genHeaders (props: DataScopeProps) {\n      const data = {\n        props: {\n          ...this.sanitizedHeaderProps,\n          headers: this.computedHeaders,\n          options: props.options,\n          mobile: this.isMobile,\n          showGroupBy: this.showGroupBy,\n          checkboxColor: this.checkboxColor,\n          someItems: this.someItems,\n          everyItem: this.everyItem,\n          singleSelect: this.singleSelect,\n          disableSort: this.disableSort,\n        },\n        on: {\n          sort: props.sort,\n          group: props.group,\n          'toggle-select-all': this.toggleSelectAll,\n        },\n      }\n\n      // TODO: rename to 'head'? (thead, tbody, tfoot)\n      const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n        ...data,\n        isMobile: this.isMobile,\n      })]\n\n      if (!this.hideDefaultHeader) {\n        const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n        children.push(this.$createElement(VDataTableHeader, {\n          ...data,\n          scopedSlots,\n        }))\n      }\n\n      if (this.loading) children.push(this.genLoading())\n\n      return children\n    },\n    genEmptyWrapper (content: VNodeChildrenArrayContents) {\n      return this.$createElement('tr', {\n        staticClass: 'v-data-table__empty-wrapper',\n      }, [\n        this.$createElement('td', {\n          attrs: this.colspanAttrs,\n        }, content),\n      ])\n    },\n    genItems (items: any[], props: DataScopeProps) {\n      const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n      if (empty) return [empty]\n\n      return props.groupedItems\n        ? this.genGroupedRows(props.groupedItems, props)\n        : this.genRows(items, props)\n    },\n    genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n      return groupedItems.map(group => {\n        if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n        if (this.$scopedSlots.group) {\n          return this.$scopedSlots.group({\n            group: group.name,\n            options: props.options,\n            isMobile: this.isMobile,\n            items: group.items,\n            headers: this.computedHeaders,\n          })\n        } else {\n          return this.genDefaultGroupedRow(group.name, group.items, props)\n        }\n      })\n    },\n    genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n      const isOpen = !!this.openCache[group]\n      const children: VNodeChildren = [\n        this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n      ]\n      const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n      const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n      if (this.$scopedSlots['group.header']) {\n        children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n          this.$scopedSlots['group.header']!({\n            group,\n            groupBy: props.options.groupBy,\n            isMobile: this.isMobile,\n            items,\n            headers: this.computedHeaders,\n            isOpen,\n            toggle: toggleFn,\n            remove: removeFn,\n          }),\n        ]))\n      } else {\n        const toggle = this.$createElement(VBtn, {\n          staticClass: 'ma-0',\n          props: {\n            icon: true,\n            small: true,\n          },\n          on: {\n            click: toggleFn,\n          },\n        }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n        const remove = this.$createElement(VBtn, {\n          staticClass: 'ma-0',\n          props: {\n            icon: true,\n            small: true,\n          },\n          on: {\n            click: removeFn,\n          },\n        }, [this.$createElement(VIcon, ['$close'])])\n\n        const column = this.$createElement('td', {\n          staticClass: 'text-start',\n          attrs: this.colspanAttrs,\n        }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n        children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n      }\n\n      if (this.$scopedSlots['group.summary']) {\n        children.push(this.$createElement('template', { slot: 'column.summary' }, [\n          this.$scopedSlots['group.summary']!({\n            group,\n            groupBy: props.options.groupBy,\n            isMobile: this.isMobile,\n            items,\n            headers: this.computedHeaders,\n            isOpen,\n            toggle: toggleFn,\n          }),\n        ]))\n      }\n\n      return this.$createElement(RowGroup, {\n        key: group,\n        props: {\n          value: isOpen,\n        },\n      }, children)\n    },\n    genRows (items: any[], props: DataScopeProps) {\n      return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n    },\n    genScopedRows (items: any[], props: DataScopeProps) {\n      const rows = []\n\n      for (let i = 0; i < items.length; i++) {\n        const item = items[i]\n        rows.push(this.$scopedSlots.item!({\n          ...this.createItemProps(item, i),\n          isMobile: this.isMobile,\n        }))\n\n        if (this.isExpanded(item)) {\n          rows.push(this.$scopedSlots['expanded-item']!({\n            headers: this.computedHeaders,\n            isMobile: this.isMobile,\n            index: i,\n            item,\n          }))\n        }\n      }\n\n      return rows\n    },\n    genDefaultRows (items: any[], props: DataScopeProps) {\n      return this.$scopedSlots['expanded-item']\n        ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n        : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n    },\n    genDefaultExpandedRow (item: any, index: number): VNode {\n      const isExpanded = this.isExpanded(item)\n      const classes = {\n        'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n      }\n      const headerRow = this.genDefaultSimpleRow(item, index, classes)\n      const expandedRow = this.$createElement('tr', {\n        staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n      }, [this.$scopedSlots['expanded-item']!({\n        headers: this.computedHeaders,\n        isMobile: this.isMobile,\n        item,\n      })])\n\n      return this.$createElement(RowGroup, {\n        props: {\n          value: isExpanded,\n        },\n      }, [\n        this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n        this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n      ])\n    },\n    genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n      const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n      const data = this.createItemProps(item, index)\n\n      if (this.showSelect) {\n        const slot = scopedSlots['data-table-select']\n        scopedSlots['data-table-select'] = slot ? () => slot({\n          ...data,\n          isMobile: this.isMobile,\n        }) : () => this.$createElement(VSimpleCheckbox, {\n          staticClass: 'v-data-table__checkbox',\n          props: {\n            value: data.isSelected,\n            disabled: !this.isSelectable(item),\n            color: this.checkboxColor ?? '',\n          },\n          on: {\n            input: (val: boolean) => data.select(val),\n          },\n        })\n      }\n\n      if (this.showExpand) {\n        const slot = scopedSlots['data-table-expand']\n        scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n          staticClass: 'v-data-table__expand-icon',\n          class: {\n            'v-data-table__expand-icon--active': data.isExpanded,\n          },\n          on: {\n            click: (e: MouseEvent) => {\n              e.stopPropagation()\n              data.expand(!data.isExpanded)\n            },\n          },\n        }, [this.expandIcon])\n      }\n\n      return this.$createElement(this.isMobile ? MobileRow : Row, {\n        key: getObjectValueByPath(item, this.itemKey),\n        class: mergeClasses(\n          { ...classes, 'v-data-table__selected': data.isSelected },\n          getPropertyFromItem(item, this.itemClass)\n        ),\n        props: {\n          headers: this.computedHeaders,\n          hideDefaultHeader: this.hideDefaultHeader,\n          index,\n          item,\n          rtl: this.$vuetify.rtl,\n        },\n        scopedSlots,\n        on: {\n          // TODO: for click, the first argument should be the event, and the second argument should be data,\n          // but this is a breaking change so it's for v3\n          click: () => this.$emit('click:row', item, data),\n          contextmenu: (event: MouseEvent) => this.$emit('contextmenu:row', event, data),\n          dblclick: (event: MouseEvent) => this.$emit('dblclick:row', event, data),\n        },\n      })\n    },\n    genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n      const data = {\n        ...props,\n        expand: this.expand,\n        headers: this.computedHeaders,\n        isExpanded: this.isExpanded,\n        isMobile: this.isMobile,\n        isSelected: this.isSelected,\n        select: this.select,\n      }\n\n      if (this.$scopedSlots.body) {\n        return this.$scopedSlots.body!(data)\n      }\n\n      return this.$createElement('tbody', [\n        getSlot(this, 'body.prepend', data, true),\n        this.genItems(props.items, props),\n        getSlot(this, 'body.append', data, true),\n      ])\n    },\n    genFoot (props: DataScopeProps): VNode[] | undefined {\n      return this.$scopedSlots.foot?.(props)\n    },\n    genFooters (props: DataScopeProps) {\n      const data = {\n        props: {\n          options: props.options,\n          pagination: props.pagination,\n          itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n          ...this.sanitizedFooterProps,\n        },\n        on: {\n          'update:options': (value: any) => props.updateOptions(value),\n        },\n        widths: this.widths,\n        headers: this.computedHeaders,\n      }\n\n      const children: VNodeChildren = [\n        getSlot(this, 'footer', data, true),\n      ]\n\n      if (!this.hideDefaultFooter) {\n        children.push(this.$createElement(VDataFooter, {\n          ...data,\n          scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n        }))\n      }\n\n      return children\n    },\n    genDefaultScopedSlot (props: DataScopeProps): VNode {\n      const simpleProps = {\n        height: this.height,\n        fixedHeader: this.fixedHeader,\n        dense: this.dense,\n      }\n\n      // if (this.virtualRows) {\n      //   return this.$createElement(VVirtualTable, {\n      //     props: Object.assign(simpleProps, {\n      //       items: props.items,\n      //       height: this.height,\n      //       rowHeight: this.dense ? 24 : 48,\n      //       headerHeight: this.dense ? 32 : 48,\n      //       // TODO: expose rest of props from virtual table?\n      //     }),\n      //     scopedSlots: {\n      //       items: ({ items }) => this.genItems(items, props) as any,\n      //     },\n      //   }, [\n      //     this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n      //     this.proxySlot('bottom', this.genFooters(props)),\n      //   ])\n      // }\n\n      return this.$createElement(VSimpleTable, {\n        props: simpleProps,\n        class: {\n          'v-data-table--mobile': this.isMobile,\n        },\n      }, [\n        this.proxySlot('top', getSlot(this, 'top', {\n          ...props,\n          isMobile: this.isMobile,\n        }, true)),\n        this.genCaption(props),\n        this.genColgroup(props),\n        this.genHeaders(props),\n        this.genBody(props),\n        this.genFoot(props),\n        this.proxySlot('bottom', this.genFooters(props)),\n      ])\n    },\n    proxySlot (slot: string, content: VNodeChildren) {\n      return this.$createElement('template', { slot }, content)\n    },\n  },\n\n  render (): VNode {\n    return this.$createElement(VData, {\n      props: {\n        ...this.$props,\n        customFilter: this.customFilterWithColumns,\n        customSort: this.customSortWithHeaders,\n        itemsPerPage: this.computedItemsPerPage,\n      },\n      on: {\n        'update:options': (v: DataOptions, old: DataOptions) => {\n          this.internalGroupBy = v.groupBy || []\n          !deepEqual(v, old) && this.$emit('update:options', v)\n        },\n        'update:page': (v: number) => this.$emit('update:page', v),\n        'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n        'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n        'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n        'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n        'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n        pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n        'current-items': (v: any[]) => {\n          this.internalCurrentItems = v\n          this.$emit('current-items', v)\n        },\n        'page-count': (v: number) => this.$emit('page-count', v),\n      },\n      scopedSlots: {\n        default: this.genDefaultScopedSlot,\n      },\n    })\n  },\n})\n","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n  name: 'v-simple-table',\n\n  props: {\n    dense: Boolean,\n    fixedHeader: Boolean,\n    height: [Number, String],\n  },\n\n  computed: {\n    classes (): Record<string, boolean> {\n      return {\n        'v-data-table--dense': this.dense,\n        'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n        'v-data-table--fixed-header': this.fixedHeader,\n        'v-data-table--has-top': !!this.$slots.top,\n        'v-data-table--has-bottom': !!this.$slots.bottom,\n        ...this.themeClasses,\n      }\n    },\n  },\n\n  methods: {\n    genWrapper () {\n      return this.$slots.wrapper || this.$createElement('div', {\n        staticClass: 'v-data-table__wrapper',\n        style: {\n          height: convertToUnit(this.height),\n        },\n      }, [\n        this.$createElement('table', this.$slots.default),\n      ])\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-data-table',\n      class: this.classes,\n    }, [\n      this.$slots.top,\n      this.genWrapper(),\n      this.$slots.bottom,\n    ])\n  },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n  convertToUnit,\n  keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n  Dependent,\n  Detachable,\n  Overlayable,\n  Returnable,\n  Stackable,\n  Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-dialog',\n\n  directives: { ClickOutside },\n\n  props: {\n    dark: Boolean,\n    disabled: Boolean,\n    fullscreen: Boolean,\n    light: Boolean,\n    maxWidth: [String, Number],\n    noClickAnimation: Boolean,\n    origin: {\n      type: String,\n      default: 'center center',\n    },\n    persistent: Boolean,\n    retainFocus: {\n      type: Boolean,\n      default: true,\n    },\n    scrollable: Boolean,\n    transition: {\n      type: [String, Boolean],\n      default: 'dialog-transition',\n    },\n    width: [String, Number],\n  },\n\n  data () {\n    return {\n      activatedBy: null as EventTarget | null,\n      animate: false,\n      animateTimeout: -1,\n      stackMinZIndex: 200,\n      previousActiveElement: null as HTMLElement | null,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        [(`v-dialog ${this.contentClass}`).trim()]: true,\n        'v-dialog--active': this.isActive,\n        'v-dialog--persistent': this.persistent,\n        'v-dialog--fullscreen': this.fullscreen,\n        'v-dialog--scrollable': this.scrollable,\n        'v-dialog--animated': this.animate,\n      }\n    },\n    contentClasses (): object {\n      return {\n        'v-dialog__content': true,\n        'v-dialog__content--active': this.isActive,\n      }\n    },\n    hasActivator (): boolean {\n      return Boolean(\n        !!this.$slots.activator ||\n        !!this.$scopedSlots.activator\n      )\n    },\n  },\n\n  watch: {\n    isActive (val) {\n      if (val) {\n        this.show()\n        this.hideScroll()\n      } else {\n        this.removeOverlay()\n        this.unbind()\n        this.previousActiveElement?.focus()\n      }\n    },\n    fullscreen (val) {\n      if (!this.isActive) return\n\n      if (val) {\n        this.hideScroll()\n        this.removeOverlay(false)\n      } else {\n        this.showScroll()\n        this.genOverlay()\n      }\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('full-width')) {\n      removed('full-width', this)\n    }\n  },\n\n  beforeMount () {\n    this.$nextTick(() => {\n      this.isBooted = this.isActive\n      this.isActive && this.show()\n    })\n  },\n\n  beforeDestroy () {\n    if (typeof window !== 'undefined') this.unbind()\n  },\n\n  methods: {\n    animateClick () {\n      this.animate = false\n      // Needed for when clicking very fast\n      // outside of the dialog\n      this.$nextTick(() => {\n        this.animate = true\n        window.clearTimeout(this.animateTimeout)\n        this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n      })\n    },\n    closeConditional (e: Event) {\n      const target = e.target as HTMLElement\n      // Ignore the click if the dialog is closed or destroyed,\n      // if it was on an element inside the content,\n      // if it was dragged onto the overlay (#6969),\n      // or if this isn't the topmost dialog (#9907)\n      return !(\n        this._isDestroyed ||\n        !this.isActive ||\n        this.$refs.content.contains(target) ||\n        (this.overlay && target && !this.overlay.$el.contains(target))\n      ) && this.activeZIndex >= this.getMaxZIndex()\n    },\n    hideScroll () {\n      if (this.fullscreen) {\n        document.documentElement.classList.add('overflow-y-hidden')\n      } else {\n        Overlayable.options.methods.hideScroll.call(this)\n      }\n    },\n    show () {\n      !this.fullscreen && !this.hideOverlay && this.genOverlay()\n      // Double nextTick to wait for lazy content to be generated\n      this.$nextTick(() => {\n        this.$nextTick(() => {\n          if (!this.$refs.content.contains(document.activeElement)) {\n            this.previousActiveElement = document.activeElement as HTMLElement\n            this.$refs.content.focus()\n          }\n          this.bind()\n        })\n      })\n    },\n    bind () {\n      window.addEventListener('focusin', this.onFocusin)\n    },\n    unbind () {\n      window.removeEventListener('focusin', this.onFocusin)\n    },\n    onClickOutside (e: Event) {\n      this.$emit('click:outside', e)\n\n      if (this.persistent) {\n        this.noClickAnimation || this.animateClick()\n      } else {\n        this.isActive = false\n      }\n    },\n    onKeydown (e: KeyboardEvent) {\n      if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n        if (!this.persistent) {\n          this.isActive = false\n          const activator = this.getActivator()\n          this.$nextTick(() => activator && (activator as HTMLElement).focus())\n        } else if (!this.noClickAnimation) {\n          this.animateClick()\n        }\n      }\n      this.$emit('keydown', e)\n    },\n    // On focus change, wrap focus to stay inside the dialog\n    // https://github.com/vuetifyjs/vuetify/issues/6892\n    onFocusin (e: Event) {\n      if (!e || !this.retainFocus) return\n\n      const target = e.target as HTMLElement\n\n      if (\n        !!target &&\n        // It isn't the document or the dialog body\n        ![document, this.$refs.content].includes(target) &&\n        // It isn't inside the dialog body\n        !this.$refs.content.contains(target) &&\n        // We're the topmost dialog\n        this.activeZIndex >= this.getMaxZIndex() &&\n        // It isn't inside a dependent element (like a menu)\n        !this.getOpenDependentElements().some(el => el.contains(target))\n        // So we must have focused something outside the dialog and its children\n      ) {\n        // Find and focus the first available element inside the dialog\n        const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n        const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n        el && el.focus()\n      }\n    },\n    genContent () {\n      return this.showLazyContent(() => [\n        this.$createElement(VThemeProvider, {\n          props: {\n            root: true,\n            light: this.light,\n            dark: this.dark,\n          },\n        }, [\n          this.$createElement('div', {\n            class: this.contentClasses,\n            attrs: {\n              role: 'dialog',\n              tabindex: this.isActive ? 0 : undefined,\n              'aria-modal': this.hideOverlay ? undefined : 'true',\n              ...this.getScopeIdAttrs(),\n            },\n            on: { keydown: this.onKeydown },\n            style: { zIndex: this.activeZIndex },\n            ref: 'content',\n          }, [this.genTransition()]),\n        ]),\n      ])\n    },\n    genTransition () {\n      const content = this.genInnerContent()\n\n      if (!this.transition) return content\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n          origin: this.origin,\n          appear: true,\n        },\n      }, [content])\n    },\n    genInnerContent () {\n      const data: VNodeData = {\n        class: this.classes,\n        ref: 'dialog',\n        directives: [\n          {\n            name: 'click-outside',\n            value: {\n              handler: this.onClickOutside,\n              closeConditional: this.closeConditional,\n              include: this.getOpenDependentElements,\n            },\n          },\n          { name: 'show', value: this.isActive },\n        ],\n        style: {\n          transformOrigin: this.origin,\n        },\n      }\n\n      if (!this.fullscreen) {\n        data.style = {\n          ...data.style as object,\n          maxWidth: convertToUnit(this.maxWidth),\n          width: convertToUnit(this.width),\n        }\n      }\n\n      return this.$createElement('div', data, this.getContentSlot())\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-dialog__container',\n      class: {\n        'v-dialog__container--attached':\n          this.attach === '' ||\n          this.attach === true ||\n          this.attach === 'attach',\n      },\n    }, [\n      this.genActivator(),\n      this.genContent(),\n    ])\n  },\n})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n  name: 'v-divider',\n\n  props: {\n    inset: Boolean,\n    vertical: Boolean,\n  },\n\n  render (h): VNode {\n    // WAI-ARIA attributes\n    let orientation\n    if (!this.$attrs.role || this.$attrs.role === 'separator') {\n      orientation = this.vertical ? 'vertical' : 'horizontal'\n    }\n    return h('hr', {\n      class: {\n        'v-divider': true,\n        'v-divider--inset': this.inset,\n        'v-divider--vertical': this.vertical,\n        ...this.themeClasses,\n      },\n      attrs: {\n        role: 'separator',\n        'aria-orientation': orientation,\n        ...this.$attrs,\n      },\n      on: this.$listeners,\n    })\n  },\n})\n","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n  name: 'v-file-input',\n\n  model: {\n    prop: 'value',\n    event: 'change',\n  },\n\n  props: {\n    chips: Boolean,\n    clearable: {\n      type: Boolean,\n      default: true,\n    },\n    counterSizeString: {\n      type: String,\n      default: '$vuetify.fileInput.counterSize',\n    },\n    counterString: {\n      type: String,\n      default: '$vuetify.fileInput.counter',\n    },\n    hideInput: Boolean,\n    multiple: Boolean,\n    placeholder: String,\n    prependIcon: {\n      type: String,\n      default: '$file',\n    },\n    readonly: {\n      type: Boolean,\n      default: false,\n    },\n    showSize: {\n      type: [Boolean, Number],\n      default: false,\n      validator: (v: boolean | number) => {\n        return (\n          typeof v === 'boolean' ||\n          [1000, 1024].includes(v)\n        )\n      },\n    } as PropValidator<boolean | 1000 | 1024>,\n    smallChips: Boolean,\n    truncateLength: {\n      type: [Number, String],\n      default: 22,\n    },\n    type: {\n      type: String,\n      default: 'file',\n    },\n    value: {\n      default: undefined,\n      validator: val => {\n        return wrapInArray(val).every(v => v != null && typeof v === 'object')\n      },\n    } as PropValidator<File | File[]>,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VTextField.options.computed.classes.call(this),\n        'v-file-input': true,\n      }\n    },\n    computedCounterValue (): string {\n      const fileCount = (this.multiple && this.lazyValue)\n        ? this.lazyValue.length\n        : (this.lazyValue instanceof File) ? 1 : 0\n\n      if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n      const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n        return bytes + size\n      }, 0)\n\n      return this.$vuetify.lang.t(\n        this.counterSizeString,\n        fileCount,\n        humanReadableFileSize(bytes, this.base === 1024)\n      )\n    },\n    internalArrayValue (): File[] {\n      return wrapInArray(this.internalValue)\n    },\n    internalValue: {\n      get (): File[] {\n        return this.lazyValue\n      },\n      set (val: File | File[]) {\n        this.lazyValue = val\n        this.$emit('change', this.lazyValue)\n      },\n    },\n    isDirty (): boolean {\n      return this.internalArrayValue.length > 0\n    },\n    isLabelActive (): boolean {\n      return this.isDirty\n    },\n    text (): string[] {\n      if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n      return this.internalArrayValue.map((file: File) => {\n        const {\n          name = '',\n          size = 0,\n        } = file\n\n        const truncatedText = this.truncateText(name)\n\n        return !this.showSize\n          ? truncatedText\n          : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n      })\n    },\n    base (): 1000 | 1024 | undefined {\n      return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n    },\n    hasChips (): boolean {\n      return this.chips || this.smallChips\n    },\n  },\n\n  watch: {\n    readonly: {\n      handler (v) {\n        if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n      },\n      immediate: true,\n    },\n    value (v) {\n      const value = this.multiple ? v : v ? [v] : []\n      if (!deepEqual(value, this.$refs.input.files)) {\n        // When the input value is changed programatically, clear the\n        // internal input's value so that the `onInput` handler\n        // can be triggered again if the user re-selects the exact\n        // same file(s). Ideally, `input.files` should be\n        // manipulated directly but that property is readonly.\n        this.$refs.input.value = ''\n      }\n    },\n  },\n\n  methods: {\n    clearableCallback () {\n      this.internalValue = this.multiple ? [] : null\n      this.$refs.input.value = ''\n    },\n    genChips () {\n      if (!this.isDirty) return []\n\n      return this.text.map((text, index) => this.$createElement(VChip, {\n        props: { small: this.smallChips },\n        on: {\n          'click:close': () => {\n            const internalValue = this.internalValue\n            internalValue.splice(index, 1)\n            this.internalValue = internalValue // Trigger the watcher\n          },\n        },\n      }, [text]))\n    },\n    genControl () {\n      const render = VTextField.options.methods.genControl.call(this)\n\n      if (this.hideInput) {\n        render.data!.style = mergeStyles(\n          render.data!.style,\n          { display: 'none' }\n        )\n      }\n\n      return render\n    },\n    genInput () {\n      const input = VTextField.options.methods.genInput.call(this)\n\n      input.data!.attrs!.multiple = this.multiple\n\n      // We should not be setting value\n      // programmatically on the input\n      // when it is using type=\"file\"\n      delete input.data!.domProps!.value\n\n      // This solves an issue in Safari where\n      // nothing happens when adding a file\n      // do to the input event not firing\n      // https://github.com/vuetifyjs/vuetify/issues/7941\n      delete input.data!.on!.input\n      input.data!.on!.change = this.onInput\n\n      return [this.genSelections(), input]\n    },\n    genPrependSlot () {\n      if (!this.prependIcon) return null\n\n      const icon = this.genIcon('prepend', () => {\n        this.$refs.input.click()\n      })\n\n      return this.genSlot('prepend', 'outer', [icon])\n    },\n    genSelectionText (): string[] {\n      const length = this.text.length\n\n      if (length < 2) return this.text\n      if (this.showSize && !this.counter) return [this.computedCounterValue]\n      return [this.$vuetify.lang.t(this.counterString, length)]\n    },\n    genSelections () {\n      const children = []\n\n      if (this.isDirty && this.$scopedSlots.selection) {\n        this.internalArrayValue.forEach((file: File, index: number) => {\n          if (!this.$scopedSlots.selection) return\n\n          children.push(\n            this.$scopedSlots.selection({\n              text: this.text[index],\n              file,\n              index,\n            })\n          )\n        })\n      } else {\n        children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-file-input__text',\n        class: {\n          'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n          'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n        },\n      }, children)\n    },\n    genTextFieldSlot () {\n      const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n      node.data!.on = {\n        ...(node.data!.on || {}),\n        click: () => this.$refs.input.click(),\n      }\n\n      return node\n    },\n    onInput (e: Event) {\n      const files = [...(e.target as HTMLInputElement).files || []]\n\n      this.internalValue = this.multiple ? files : files[0]\n\n      // Set initialValue here otherwise isFocused\n      // watcher in VTextField will emit a change\n      // event whenever the component is blurred\n      this.initialValue = this.internalValue\n    },\n    onKeyDown (e: KeyboardEvent) {\n      this.$emit('keydown', e)\n    },\n    truncateText (str: string) {\n      if (str.length < Number(this.truncateLength)) return str\n      const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n      return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n    },\n  },\n})\n","// Styles\nimport './VFooter.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n  VSheet,\n  Applicationable('footer', [\n    'height',\n    'inset',\n  ]),\n  SSRBootable\n).extend({\n  name: 'v-footer',\n\n  props: {\n    height: {\n      default: 'auto',\n      type: [Number, String],\n    },\n    inset: Boolean,\n    padless: Boolean,\n    tag: {\n      type: String,\n      default: 'footer',\n    },\n  },\n\n  computed: {\n    applicationProperty (): string {\n      return this.inset ? 'insetFooter' : 'footer'\n    },\n    classes (): object {\n      return {\n        ...VSheet.options.computed.classes.call(this),\n        'v-footer--absolute': this.absolute,\n        'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n        'v-footer--padless': this.padless,\n        'v-footer--inset': this.inset,\n      }\n    },\n    computedBottom (): number | undefined {\n      if (!this.isPositioned) return undefined\n\n      return this.app\n        ? this.$vuetify.application.bottom\n        : 0\n    },\n    computedLeft (): number | undefined {\n      if (!this.isPositioned) return undefined\n\n      return this.app && this.inset\n        ? this.$vuetify.application.left\n        : 0\n    },\n    computedRight (): number | undefined {\n      if (!this.isPositioned) return undefined\n\n      return this.app && this.inset\n        ? this.$vuetify.application.right\n        : 0\n    },\n    isPositioned (): boolean {\n      return Boolean(\n        this.absolute ||\n        this.fixed ||\n        this.app\n      )\n    },\n    styles (): object {\n      const height = parseInt(this.height)\n\n      return {\n        ...VSheet.options.computed.styles.call(this),\n        height: isNaN(height) ? height : convertToUnit(height),\n        left: convertToUnit(this.computedLeft),\n        right: convertToUnit(this.computedRight),\n        bottom: convertToUnit(this.computedBottom),\n      }\n    },\n  },\n\n  methods: {\n    updateApplication () {\n      const height = parseInt(this.height)\n\n      return isNaN(height)\n        ? this.$el ? this.$el.clientHeight : 0\n        : height\n    },\n  },\n\n  render (h): VNode {\n    const data = this.setBackgroundColor(this.color, {\n      staticClass: 'v-footer',\n      class: this.classes,\n      style: this.styles,\n    })\n\n    return h(this.tag, data, this.$slots.default)\n  },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n  _uid: number\n  valid: () => void\n  shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n  BindsAttrs,\n  RegistrableProvide('form')\n  /* @vue/component */\n).extend({\n  name: 'v-form',\n\n  provide (): object {\n    return { form: this }\n  },\n\n  inheritAttrs: false,\n\n  props: {\n    disabled: Boolean,\n    lazyValidation: Boolean,\n    readonly: Boolean,\n    value: Boolean,\n  },\n\n  data: () => ({\n    inputs: [] as VInputInstance[],\n    watchers: [] as Watchers[],\n    errorBag: {} as ErrorBag,\n  }),\n\n  watch: {\n    errorBag: {\n      handler (val) {\n        const errors = Object.values(val).includes(true)\n\n        this.$emit('input', !errors)\n      },\n      deep: true,\n      immediate: true,\n    },\n  },\n\n  methods: {\n    watchInput (input: any): Watchers {\n      const watcher = (input: any): (() => void) => {\n        return input.$watch('hasError', (val: boolean) => {\n          this.$set(this.errorBag, input._uid, val)\n        }, { immediate: true })\n      }\n\n      const watchers: Watchers = {\n        _uid: input._uid,\n        valid: () => {},\n        shouldValidate: () => {},\n      }\n\n      if (this.lazyValidation) {\n        // Only start watching inputs if we need to\n        watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n          if (!val) return\n\n          // Only watch if we're not already doing it\n          if (this.errorBag.hasOwnProperty(input._uid)) return\n\n          watchers.valid = watcher(input)\n        })\n      } else {\n        watchers.valid = watcher(input)\n      }\n\n      return watchers\n    },\n    /** @public */\n    validate (): boolean {\n      return this.inputs.filter(input => !input.validate(true)).length === 0\n    },\n    /** @public */\n    reset (): void {\n      this.inputs.forEach(input => input.reset())\n      this.resetErrorBag()\n    },\n    resetErrorBag () {\n      if (this.lazyValidation) {\n        // Account for timeout in validatable\n        setTimeout(() => {\n          this.errorBag = {}\n        }, 0)\n      }\n    },\n    /** @public */\n    resetValidation () {\n      this.inputs.forEach(input => input.resetValidation())\n      this.resetErrorBag()\n    },\n    register (input: VInputInstance) {\n      this.inputs.push(input)\n      this.watchers.push(this.watchInput(input))\n    },\n    unregister (input: VInputInstance) {\n      const found = this.inputs.find(i => i._uid === input._uid)\n\n      if (!found) return\n\n      const unwatch = this.watchers.find(i => i._uid === found._uid)\n      if (unwatch) {\n        unwatch.valid()\n        unwatch.shouldValidate()\n      }\n\n      this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n      this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n      this.$delete(this.errorBag, found._uid)\n    },\n  },\n\n  render (h): VNode {\n    return h('form', {\n      staticClass: 'v-form',\n      attrs: {\n        novalidate: true,\n        ...this.attrs$,\n      },\n      on: {\n        submit: (e: Event) => this.$emit('submit', e),\n      },\n    }, this.$slots.default)\n  },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props[val] = {\n      type: [Boolean, String, Number],\n      default: false,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['offset' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['order' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n  col: Object.keys(breakpointProps),\n  offset: Object.keys(offsetProps),\n  order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n  let className = type\n  if (val == null || val === false) {\n    return undefined\n  }\n  if (prop) {\n    const breakpoint = prop.replace(type, '')\n    className += `-${breakpoint}`\n  }\n  // Handling the boolean style prop when accepting [Boolean, String, Number]\n  // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n  // Since the default is false, an empty string indicates the prop's presence.\n  if (type === 'col' && (val === '' || val === true)) {\n    // .col-md\n    return className.toLowerCase()\n  }\n  // .order-md-6\n  className += `-${val}`\n  return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n  name: 'v-col',\n  functional: true,\n  props: {\n    cols: {\n      type: [Boolean, String, Number],\n      default: false,\n    },\n    ...breakpointProps,\n    offset: {\n      type: [String, Number],\n      default: null,\n    },\n    ...offsetProps,\n    order: {\n      type: [String, Number],\n      default: null,\n    },\n    ...orderProps,\n    alignSelf: {\n      type: String,\n      default: null,\n      validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n    },\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n  render (h, { props, data, children, parent }): VNode {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = ''\n    for (const prop in props) {\n      cacheKey += String((props as any)[prop])\n    }\n    let classList = cache.get(cacheKey)\n\n    if (!classList) {\n      classList = []\n      // Loop through `col`, `offset`, `order` breakpoint props\n      let type: keyof typeof propMap\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value: string | number | boolean = (props as any)[prop]\n          const className = breakpointClass(type, prop, value)\n          if (className) classList!.push(className)\n        })\n      }\n\n      const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n      classList.push({\n        // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n        col: !hasColClasses || !props.cols,\n        [`col-${props.cols}`]: props.cols,\n        [`offset-${props.offset}`]: props.offset,\n        [`order-${props.order}`]: props.order,\n        [`align-self-${props.alignSelf}`]: props.alignSelf,\n      })\n\n      cache.set(cacheKey, classList)\n    }\n\n    return h(props.tag, mergeData(data, { class: classList }), children)\n  },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n  /* @vue/component */\n  return Vue.extend({\n    name: `v-${name}`,\n\n    functional: true,\n\n    props: {\n      id: String,\n      tag: {\n        type: String,\n        default: 'div',\n      },\n    },\n\n    render (h, { props, data, children }): VNode {\n      data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n      const { attrs } = data\n      if (attrs) {\n        // reset attrs to extract utility clases like pa-3\n        data.attrs = {}\n        const classes = Object.keys(attrs).filter(key => {\n          // TODO: Remove once resolved\n          // https://github.com/vuejs/vue/issues/7841\n          if (key === 'slot') return false\n\n          const value = attrs[key]\n\n          // add back data attributes like data-test=\"foo\" but do not\n          // add them as classes\n          if (key.startsWith('data-')) {\n            data.attrs![key] = value\n            return false\n          }\n\n          return value || typeof value === 'string'\n        })\n\n        if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n      }\n\n      if (props.id) {\n        data.domProps = data.domProps || {}\n        data.domProps.id = props.id\n      }\n\n      return h(props.tag, data, children)\n    },\n  })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n  name: 'v-container',\n  functional: true,\n  props: {\n    id: String,\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    fluid: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  render (h, { props, data, children }) {\n    let classes\n    const { attrs } = data\n    if (attrs) {\n      // reset attrs to extract utility clases like pa-3\n      data.attrs = {}\n      classes = Object.keys(attrs).filter(key => {\n        // TODO: Remove once resolved\n        // https://github.com/vuejs/vue/issues/7841\n        if (key === 'slot') return false\n\n        const value = attrs[key]\n\n        // add back data attributes like data-test=\"foo\" but do not\n        // add them as classes\n        if (key.startsWith('data-')) {\n          data.attrs![key] = value\n          return false\n        }\n\n        return value || typeof value === 'string'\n      })\n    }\n\n    if (props.id) {\n      data.domProps = data.domProps || {}\n      data.domProps.id = props.id\n    }\n\n    return h(\n      props.tag,\n      mergeData(data, {\n        staticClass: 'container',\n        class: Array<any>({\n          'container--fluid': props.fluid,\n        }).concat(classes || []),\n      }),\n      children\n    )\n  },\n})\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n  return breakpoints.reduce((props, val) => {\n    props[prefix + upperFirst(val)] = def()\n    return props\n  }, {} as Dictionary<PropOptions>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n  type: String,\n  default: null,\n  validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n  type: String,\n  default: null,\n  validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n  type: String,\n  default: null,\n  validator: alignContentValidator,\n}))\n\nconst propMap = {\n  align: Object.keys(alignProps),\n  justify: Object.keys(justifyProps),\n  alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n  align: 'align',\n  justify: 'justify',\n  alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n  let className = classMap[type]\n  if (val == null) {\n    return undefined\n  }\n  if (prop) {\n    // alignSm -> Sm\n    const breakpoint = prop.replace(type, '')\n    className += `-${breakpoint}`\n  }\n  // .align-items-sm-center\n  className += `-${val}`\n  return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n  name: 'v-row',\n  functional: true,\n  props: {\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    dense: Boolean,\n    noGutters: Boolean,\n    align: {\n      type: String,\n      default: null,\n      validator: alignValidator,\n    },\n    ...alignProps,\n    justify: {\n      type: String,\n      default: null,\n      validator: justifyValidator,\n    },\n    ...justifyProps,\n    alignContent: {\n      type: String,\n      default: null,\n      validator: alignContentValidator,\n    },\n    ...alignContentProps,\n  },\n  render (h, { props, data, children }) {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = ''\n    for (const prop in props) {\n      cacheKey += String((props as any)[prop])\n    }\n    let classList = cache.get(cacheKey)\n\n    if (!classList) {\n      classList = []\n      // Loop through `align`, `justify`, `alignContent` breakpoint props\n      let type: keyof typeof propMap\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value: string = (props as any)[prop]\n          const className = breakpointClass(type, prop, value)\n          if (className) classList!.push(className)\n        })\n      }\n\n      classList.push({\n        'no-gutters': props.noGutters,\n        'row--dense': props.dense,\n        [`align-${props.align}`]: props.align,\n        [`justify-${props.justify}`]: props.justify,\n        [`align-content-${props.alignContent}`]: props.alignContent,\n      })\n\n      cache.set(cacheKey, classList)\n    }\n\n    return h(\n      props.tag,\n      mergeData(data, {\n        staticClass: 'row',\n        class: classList,\n      }),\n      children\n    )\n  },\n})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n  xSmall = '12px',\n  small = '16px',\n  default = '24px',\n  medium = '28px',\n  large = '36px',\n  xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n  return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n  return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n  BindsAttrs,\n  Colorable,\n  Sizeable,\n  Themeable\n  /* @vue/component */\n).extend({\n  name: 'v-icon',\n\n  props: {\n    dense: Boolean,\n    disabled: Boolean,\n    left: Boolean,\n    right: Boolean,\n    size: [Number, String],\n    tag: {\n      type: String,\n      required: false,\n      default: 'i',\n    },\n  },\n\n  computed: {\n    medium () {\n      return false\n    },\n    hasClickListener (): boolean {\n      return Boolean(\n        this.listeners$.click || this.listeners$['!click']\n      )\n    },\n  },\n\n  methods: {\n    getIcon (): VuetifyIcon {\n      let iconName = ''\n      if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n      return remapInternalIcon(this, iconName)\n    },\n    getSize (): string | undefined {\n      const sizes = {\n        xSmall: this.xSmall,\n        small: this.small,\n        medium: this.medium,\n        large: this.large,\n        xLarge: this.xLarge,\n      }\n\n      const explicitSize = keys(sizes).find(key => sizes[key])\n\n      return (\n        (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n      )\n    },\n    // Component data for both font icon and SVG wrapper span\n    getDefaultData (): VNodeData {\n      return {\n        staticClass: 'v-icon notranslate',\n        class: {\n          'v-icon--disabled': this.disabled,\n          'v-icon--left': this.left,\n          'v-icon--link': this.hasClickListener,\n          'v-icon--right': this.right,\n          'v-icon--dense': this.dense,\n        },\n        attrs: {\n          'aria-hidden': !this.hasClickListener,\n          disabled: this.hasClickListener && this.disabled,\n          type: this.hasClickListener ? 'button' : undefined,\n          ...this.attrs$,\n        },\n        on: this.listeners$,\n      }\n    },\n    getSvgWrapperData () {\n      const fontSize = this.getSize()\n      const wrapperData = {\n        ...this.getDefaultData(),\n        style: fontSize ? {\n          fontSize,\n          height: fontSize,\n          width: fontSize,\n        } : undefined,\n      }\n      this.applyColors(wrapperData)\n\n      return wrapperData\n    },\n    applyColors (data: VNodeData): void {\n      data.class = { ...data.class, ...this.themeClasses }\n      this.setTextColor(this.color, data)\n    },\n    renderFontIcon (icon: string, h: CreateElement): VNode {\n      const newChildren: VNodeChildren = []\n      const data = this.getDefaultData()\n\n      let iconType = 'material-icons'\n      // Material Icon delimiter is _\n      // https://material.io/icons/\n      const delimiterIndex = icon.indexOf('-')\n      const isMaterialIcon = delimiterIndex <= -1\n\n      if (isMaterialIcon) {\n        // Material icon uses ligatures.\n        newChildren.push(icon)\n      } else {\n        iconType = icon.slice(0, delimiterIndex)\n        if (isFontAwesome5(iconType)) iconType = ''\n      }\n\n      data.class[iconType] = true\n      data.class[icon] = !isMaterialIcon\n\n      const fontSize = this.getSize()\n      if (fontSize) data.style = { fontSize }\n\n      this.applyColors(data)\n\n      return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n    },\n    renderSvgIcon (icon: string, h: CreateElement): VNode {\n      const svgData: VNodeData = {\n        class: 'v-icon__svg',\n        attrs: {\n          xmlns: 'http://www.w3.org/2000/svg',\n          viewBox: '0 0 24 24',\n          role: 'img',\n          'aria-hidden': true,\n        },\n      }\n\n      const size = this.getSize()\n      if (size) {\n        svgData.style = {\n          fontSize: size,\n          height: size,\n          width: size,\n        }\n      }\n\n      return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n        h('svg', svgData, [\n          h('path', {\n            attrs: {\n              d: icon,\n            },\n          }),\n        ]),\n      ])\n    },\n    renderSvgIconComponent (\n      icon: VuetifyIconComponent,\n      h: CreateElement\n    ): VNode {\n      const data: VNodeData = {\n        class: {\n          'v-icon__component': true,\n        },\n      }\n\n      const size = this.getSize()\n      if (size) {\n        data.style = {\n          fontSize: size,\n          height: size,\n          width: size,\n        }\n      }\n\n      this.applyColors(data)\n\n      const component = icon.component\n      data.props = icon.props\n      data.nativeOn = data.on\n\n      return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n        h(component, data),\n      ])\n    },\n  },\n\n  render (h: CreateElement): VNode {\n    const icon = this.getIcon()\n\n    if (typeof icon === 'string') {\n      if (isSvgPath(icon)) {\n        return this.renderSvgIcon(icon, h)\n      }\n      return this.renderFontIcon(icon, h)\n    }\n\n    return this.renderSvgIconComponent(icon, h)\n  },\n})\n\nexport default Vue.extend({\n  name: 'v-icon',\n\n  $_wrapperFor: VIcon,\n\n  functional: true,\n\n  render (h, { data, children }): VNode {\n    let iconName = ''\n\n    // Support usage of v-text and v-html\n    if (data.domProps) {\n      iconName = data.domProps.textContent ||\n        data.domProps.innerHTML ||\n        iconName\n\n      // Remove nodes so it doesn't\n      // overwrite our changes\n      delete data.domProps.textContent\n      delete data.domProps.innerHTML\n    }\n\n    return h(VIcon, data, iconName ? [iconName] : children)\n  },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n  name: 'v-responsive',\n\n  props: {\n    aspectRatio: [String, Number] as NumberOrNumberString,\n    contentClass: String,\n  },\n\n  computed: {\n    computedAspectRatio (): number {\n      return Number(this.aspectRatio)\n    },\n    aspectStyle (): object | undefined {\n      return this.computedAspectRatio\n        ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n        : undefined\n    },\n    __cachedSizer (): VNode | [] {\n      if (!this.aspectStyle) return []\n\n      return this.$createElement('div', {\n        style: this.aspectStyle,\n        staticClass: 'v-responsive__sizer',\n      })\n    },\n  },\n\n  methods: {\n    genContent (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-responsive__content',\n        class: this.contentClass,\n      }, getSlot(this))\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-responsive',\n      style: this.measurableStyles,\n      on: this.$listeners,\n    }, [\n      this.__cachedSizer,\n      this.genContent(),\n    ])\n  },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n  src: string\n  srcset?: string\n  lazySrc: string\n  aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n  VResponsive,\n  Themeable,\n).extend({\n  name: 'v-img',\n\n  directives: { intersect },\n\n  props: {\n    alt: String,\n    contain: Boolean,\n    eager: Boolean,\n    gradient: String,\n    lazySrc: String,\n    options: {\n      type: Object,\n      // For more information on types, navigate to:\n      // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n      default: () => ({\n        root: undefined,\n        rootMargin: undefined,\n        threshold: undefined,\n      }),\n    } as PropValidator<IntersectionObserverInit>,\n    position: {\n      type: String,\n      default: 'center center',\n    },\n    sizes: String,\n    src: {\n      type: [String, Object],\n      default: '',\n    } as PropValidator<string | srcObject>,\n    srcset: String,\n    transition: {\n      type: [Boolean, String],\n      default: 'fade-transition',\n    },\n  },\n\n  data () {\n    return {\n      currentSrc: '', // Set from srcset\n      image: null as HTMLImageElement | null,\n      isLoading: true,\n      calculatedAspectRatio: undefined as number | undefined,\n      naturalWidth: undefined as number | undefined,\n      hasError: false,\n    }\n  },\n\n  computed: {\n    computedAspectRatio (): number {\n      return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n    },\n    normalisedSrc (): srcObject {\n      return this.src && typeof this.src === 'object'\n        ? {\n          src: this.src.src,\n          srcset: this.srcset || this.src.srcset,\n          lazySrc: this.lazySrc || this.src.lazySrc,\n          aspect: Number(this.aspectRatio || this.src.aspect),\n        } : {\n          src: this.src,\n          srcset: this.srcset,\n          lazySrc: this.lazySrc,\n          aspect: Number(this.aspectRatio || 0),\n        }\n    },\n    __cachedImage (): VNode | [] {\n      if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n      const backgroundImage: string[] = []\n      const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n      if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n      if (src) backgroundImage.push(`url(\"${src}\")`)\n\n      const image = this.$createElement('div', {\n        staticClass: 'v-image__image',\n        class: {\n          'v-image__image--preload': this.isLoading,\n          'v-image__image--contain': this.contain,\n          'v-image__image--cover': !this.contain,\n        },\n        style: {\n          backgroundImage: backgroundImage.join(', '),\n          backgroundPosition: this.position,\n        },\n        key: +this.isLoading,\n      })\n\n      /* istanbul ignore if */\n      if (!this.transition) return image\n\n      return this.$createElement('transition', {\n        attrs: {\n          name: this.transition,\n          mode: 'in-out',\n        },\n      }, [image])\n    },\n  },\n\n  watch: {\n    src () {\n      // Force re-init when src changes\n      if (!this.isLoading) this.init(undefined, undefined, true)\n      else this.loadImage()\n    },\n    '$vuetify.breakpoint.width': 'getSrc',\n  },\n\n  mounted () {\n    this.init()\n  },\n\n  methods: {\n    init (\n      entries?: IntersectionObserverEntry[],\n      observer?: IntersectionObserver,\n      isIntersecting?: boolean\n    ) {\n      // If the current browser supports the intersection\n      // observer api, the image is not observable, and\n      // the eager prop isn't being used, do not load\n      if (\n        hasIntersect &&\n        !isIntersecting &&\n        !this.eager\n      ) return\n\n      if (this.normalisedSrc.lazySrc) {\n        const lazyImg = new Image()\n        lazyImg.src = this.normalisedSrc.lazySrc\n        this.pollForSize(lazyImg, null)\n      }\n      /* istanbul ignore else */\n      if (this.normalisedSrc.src) this.loadImage()\n    },\n    onLoad () {\n      this.getSrc()\n      this.isLoading = false\n      this.$emit('load', this.src)\n\n      if (\n        this.image &&\n        (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n      ) {\n        if (this.image.naturalHeight && this.image.naturalWidth) {\n          this.naturalWidth = this.image.naturalWidth\n          this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n        } else {\n          this.calculatedAspectRatio = 1\n        }\n      }\n    },\n    onError () {\n      this.hasError = true\n      this.$emit('error', this.src)\n    },\n    getSrc () {\n      /* istanbul ignore else */\n      if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n    },\n    loadImage () {\n      const image = new Image()\n      this.image = image\n\n      image.onload = () => {\n        /* istanbul ignore if */\n        if (image.decode) {\n          image.decode().catch((err: DOMException) => {\n            consoleWarn(\n              `Failed to decode image, trying to render anyway\\n\\n` +\n              `src: ${this.normalisedSrc.src}` +\n              (err.message ? `\\nOriginal error: ${err.message}` : ''),\n              this\n            )\n          }).then(this.onLoad)\n        } else {\n          this.onLoad()\n        }\n      }\n      image.onerror = this.onError\n\n      this.hasError = false\n      this.sizes && (image.sizes = this.sizes)\n      this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n      image.src = this.normalisedSrc.src\n      this.$emit('loadstart', this.normalisedSrc.src)\n\n      this.aspectRatio || this.pollForSize(image)\n      this.getSrc()\n    },\n    pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n      const poll = () => {\n        const { naturalHeight, naturalWidth } = img\n\n        if (naturalHeight || naturalWidth) {\n          this.naturalWidth = naturalWidth\n          this.calculatedAspectRatio = naturalWidth / naturalHeight\n        } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n          setTimeout(poll, timeout)\n        }\n      }\n\n      poll()\n    },\n    genContent () {\n      const content: VNode = VResponsive.options.methods.genContent.call(this)\n      if (this.naturalWidth) {\n        this._b(content.data!, 'div', {\n          style: { width: `${this.naturalWidth}px` },\n        })\n      }\n\n      return content\n    },\n    __genPlaceholder (): VNode | void {\n      const slot = getSlot(this, 'placeholder')\n      if (slot) {\n        const placeholder = this.isLoading\n          ? [this.$createElement('div', {\n            staticClass: 'v-image__placeholder',\n          }, slot)]\n          : []\n\n        if (!this.transition) return placeholder[0]\n\n        return this.$createElement('transition', {\n          props: {\n            appear: true,\n            name: this.transition,\n          },\n        }, placeholder)\n      }\n    },\n  },\n\n  render (h): VNode {\n    const node = VResponsive.options.render.call(this, h)\n\n    const data = mergeData(node.data!, {\n      staticClass: 'v-image',\n      attrs: {\n        'aria-label': this.alt,\n        role: this.alt ? 'img' : undefined,\n      },\n      class: this.themeClasses,\n      // Only load intersect directive if it\n      // will work in the current browser.\n      directives: hasIntersect\n        ? [{\n          name: 'intersect',\n          modifiers: { once: true },\n          value: {\n            handler: this.init,\n            options: this.options,\n          },\n        }]\n        : undefined,\n    })\n\n    node.children = [\n      this.__cachedSizer,\n      this.__cachedImage,\n      this.__genPlaceholder(),\n      this.genContent(),\n    ] as VNode[]\n\n    return h(node.tag, data, node.children)\n  },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n  name: 'v-messages',\n\n  props: {\n    value: {\n      type: Array,\n      default: () => ([]),\n    } as PropValidator<string[]>,\n  },\n\n  methods: {\n    genChildren () {\n      return this.$createElement('transition-group', {\n        staticClass: 'v-messages__wrapper',\n        attrs: {\n          name: 'message-transition',\n          tag: 'div',\n        },\n      }, this.value.map(this.genMessage))\n    },\n    genMessage (message: string, key: number) {\n      return this.$createElement('div', {\n        staticClass: 'v-messages__message',\n        key,\n      }, getSlot(this, 'default', { message, key }) || [message])\n    },\n  },\n\n  render (h): VNode {\n    return h('div', this.setTextColor(this.color, {\n      staticClass: 'v-messages',\n      class: this.themeClasses,\n    }), [this.genChildren()])\n  },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n  convertToUnit,\n  getSlot,\n  kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n  BindsAttrs,\n  Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  /* eslint-disable-next-line camelcase */\n  $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-input',\n\n  inheritAttrs: false,\n\n  props: {\n    appendIcon: String,\n    backgroundColor: {\n      type: String,\n      default: '',\n    },\n    dense: Boolean,\n    height: [Number, String],\n    hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n    hideSpinButtons: Boolean,\n    hint: String,\n    id: String,\n    label: String,\n    loading: Boolean,\n    persistentHint: Boolean,\n    prependIcon: String,\n    value: null as any as PropType<any>,\n  },\n\n  data () {\n    return {\n      lazyValue: this.value,\n      hasMouseDown: false,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-input--has-state': this.hasState,\n        'v-input--hide-details': !this.showDetails,\n        'v-input--is-label-active': this.isLabelActive,\n        'v-input--is-dirty': this.isDirty,\n        'v-input--is-disabled': this.isDisabled,\n        'v-input--is-focused': this.isFocused,\n        // <v-switch loading>.loading === '' so we can't just cast to boolean\n        'v-input--is-loading': this.loading !== false && this.loading != null,\n        'v-input--is-readonly': this.isReadonly,\n        'v-input--dense': this.dense,\n        'v-input--hide-spin-buttons': this.hideSpinButtons,\n        ...this.themeClasses,\n      }\n    },\n    computedId (): string {\n      return this.id || `input-${this._uid}`\n    },\n    hasDetails (): boolean {\n      return this.messagesToDisplay.length > 0\n    },\n    hasHint (): boolean {\n      return !this.hasMessages &&\n        !!this.hint &&\n        (this.persistentHint || this.isFocused)\n    },\n    hasLabel (): boolean {\n      return !!(this.$slots.label || this.label)\n    },\n    // Proxy for `lazyValue`\n    // This allows an input\n    // to function without\n    // a provided model\n    internalValue: {\n      get (): any {\n        return this.lazyValue\n      },\n      set (val: any) {\n        this.lazyValue = val\n        this.$emit(this.$_modelEvent, val)\n      },\n    },\n    isDirty (): boolean {\n      return !!this.lazyValue\n    },\n    isLabelActive (): boolean {\n      return this.isDirty\n    },\n    messagesToDisplay (): string[] {\n      if (this.hasHint) return [this.hint]\n\n      if (!this.hasMessages) return []\n\n      return this.validations.map((validation: string | InputValidationRule) => {\n        if (typeof validation === 'string') return validation\n\n        const validationResult = validation(this.internalValue)\n\n        return typeof validationResult === 'string' ? validationResult : ''\n      }).filter(message => message !== '')\n    },\n    showDetails (): boolean {\n      return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n    },\n  },\n\n  watch: {\n    value (val) {\n      this.lazyValue = val\n    },\n  },\n\n  beforeCreate () {\n    // v-radio-group needs to emit a different event\n    // https://github.com/vuetifyjs/vuetify/issues/4752\n    this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n  },\n\n  methods: {\n    genContent () {\n      return [\n        this.genPrependSlot(),\n        this.genControl(),\n        this.genAppendSlot(),\n      ]\n    },\n    genControl () {\n      return this.$createElement('div', {\n        staticClass: 'v-input__control',\n        attrs: { title: this.attrs$.title },\n      }, [\n        this.genInputSlot(),\n        this.genMessages(),\n      ])\n    },\n    genDefaultSlot () {\n      return [\n        this.genLabel(),\n        this.$slots.default,\n      ]\n    },\n    genIcon (\n      type: string,\n      cb?: (e: Event) => void,\n      extraData: VNodeData = {}\n    ) {\n      const icon = (this as any)[`${type}Icon`]\n      const eventName = `click:${kebabCase(type)}`\n      const hasListener = !!(this.listeners$[eventName] || cb)\n\n      const data = mergeData({\n        attrs: {\n          'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          light: this.light,\n        },\n        on: !hasListener\n          ? undefined\n          : {\n            click: (e: Event) => {\n              e.preventDefault()\n              e.stopPropagation()\n\n              this.$emit(eventName, e)\n              cb && cb(e)\n            },\n            // Container has g event that will\n            // trigger menu open if enclosed\n            mouseup: (e: Event) => {\n              e.preventDefault()\n              e.stopPropagation()\n            },\n          },\n      }, extraData)\n\n      return this.$createElement('div', {\n        staticClass: `v-input__icon`,\n        class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n      }, [\n        this.$createElement(\n          VIcon,\n          data,\n          icon\n        ),\n      ])\n    },\n    genInputSlot () {\n      return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n        staticClass: 'v-input__slot',\n        style: { height: convertToUnit(this.height) },\n        on: {\n          click: this.onClick,\n          mousedown: this.onMouseDown,\n          mouseup: this.onMouseUp,\n        },\n        ref: 'input-slot',\n      }), [this.genDefaultSlot()])\n    },\n    genLabel () {\n      if (!this.hasLabel) return null\n\n      return this.$createElement(VLabel, {\n        props: {\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          focused: this.hasState,\n          for: this.computedId,\n          light: this.light,\n        },\n      }, this.$slots.label || this.label)\n    },\n    genMessages () {\n      if (!this.showDetails) return null\n\n      return this.$createElement(VMessages, {\n        props: {\n          color: this.hasHint ? '' : this.validationState,\n          dark: this.dark,\n          light: this.light,\n          value: this.messagesToDisplay,\n        },\n        attrs: {\n          role: this.hasMessages ? 'alert' : null,\n        },\n        scopedSlots: {\n          default: props => getSlot(this, 'message', props),\n        },\n      })\n    },\n    genSlot (\n      type: string,\n      location: string,\n      slot: (VNode | VNode[])[]\n    ) {\n      if (!slot.length) return null\n\n      const ref = `${type}-${location}`\n\n      return this.$createElement('div', {\n        staticClass: `v-input__${ref}`,\n        ref,\n      }, slot)\n    },\n    genPrependSlot () {\n      const slot = []\n\n      if (this.$slots.prepend) {\n        slot.push(this.$slots.prepend)\n      } else if (this.prependIcon) {\n        slot.push(this.genIcon('prepend'))\n      }\n\n      return this.genSlot('prepend', 'outer', slot)\n    },\n    genAppendSlot () {\n      const slot = []\n\n      // Append icon for text field was really\n      // an appended inner icon, v-text-field\n      // will overwrite this method in order to obtain\n      // backwards compat\n      if (this.$slots.append) {\n        slot.push(this.$slots.append)\n      } else if (this.appendIcon) {\n        slot.push(this.genIcon('append'))\n      }\n\n      return this.genSlot('append', 'outer', slot)\n    },\n    onClick (e: Event) {\n      this.$emit('click', e)\n    },\n    onMouseDown (e: Event) {\n      this.hasMouseDown = true\n      this.$emit('mousedown', e)\n    },\n    onMouseUp (e: Event) {\n      this.hasMouseDown = false\n      this.$emit('mouseup', e)\n    },\n  },\n\n  render (h): VNode {\n    return h('div', this.setTextColor(this.validationState, {\n      staticClass: 'v-input',\n      class: this.classes,\n    }), this.genContent())\n  },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n  id?: string\n  to?: any\n  value?: any\n }\n\nexport const BaseItemGroup = mixins(\n  Comparable,\n  Proxyable,\n  Themeable\n).extend({\n  name: 'base-item-group',\n\n  props: {\n    activeClass: {\n      type: String,\n      default: 'v-item--active',\n    },\n    mandatory: Boolean,\n    max: {\n      type: [Number, String],\n      default: null,\n    },\n    multiple: Boolean,\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n\n  data () {\n    return {\n      // As long as a value is defined, show it\n      // Otherwise, check if multiple\n      // to determine which default to provide\n      internalLazyValue: this.value !== undefined\n        ? this.value\n        : this.multiple ? [] : undefined,\n      items: [] as GroupableInstance[],\n    }\n  },\n\n  computed: {\n    classes (): Record<string, boolean> {\n      return {\n        'v-item-group': true,\n        ...this.themeClasses,\n      }\n    },\n    selectedIndex (): number {\n      return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n    },\n    selectedItem (): GroupableInstance | undefined {\n      if (this.multiple) return undefined\n\n      return this.selectedItems[0]\n    },\n    selectedItems (): GroupableInstance[] {\n      return this.items.filter((item, index) => {\n        return this.toggleMethod(this.getValue(item, index))\n      })\n    },\n    selectedValues (): any[] {\n      if (this.internalValue == null) return []\n\n      return Array.isArray(this.internalValue)\n        ? this.internalValue\n        : [this.internalValue]\n    },\n    toggleMethod (): (v: any) => boolean {\n      if (!this.multiple) {\n        return (v: any) => this.valueComparator(this.internalValue, v)\n      }\n\n      const internalValue = this.internalValue\n      if (Array.isArray(internalValue)) {\n        return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n      }\n\n      return () => false\n    },\n  },\n\n  watch: {\n    internalValue: 'updateItemsState',\n    items: 'updateItemsState',\n  },\n\n  created () {\n    if (this.multiple && !Array.isArray(this.internalValue)) {\n      consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n    }\n  },\n\n  methods: {\n\n    genData (): object {\n      return {\n        class: this.classes,\n      }\n    },\n    getValue (item: GroupableInstance, i: number): unknown {\n      return item.value === undefined\n        ? i\n        : item.value\n    },\n    onClick (item: GroupableInstance) {\n      this.updateInternalValue(\n        this.getValue(item, this.items.indexOf(item))\n      )\n    },\n    register (item: GroupableInstance) {\n      const index = this.items.push(item) - 1\n\n      item.$on('change', () => this.onClick(item))\n\n      // If no value provided and mandatory,\n      // assign first registered item\n      if (this.mandatory && !this.selectedValues.length) {\n        this.updateMandatory()\n      }\n\n      this.updateItem(item, index)\n    },\n    unregister (item: GroupableInstance) {\n      if (this._isDestroyed) return\n\n      const index = this.items.indexOf(item)\n      const value = this.getValue(item, index)\n\n      this.items.splice(index, 1)\n\n      const valueIndex = this.selectedValues.indexOf(value)\n\n      // Items is not selected, do nothing\n      if (valueIndex < 0) return\n\n      // If not mandatory, use regular update process\n      if (!this.mandatory) {\n        return this.updateInternalValue(value)\n      }\n\n      // Remove the value\n      if (this.multiple && Array.isArray(this.internalValue)) {\n        this.internalValue = this.internalValue.filter(v => v !== value)\n      } else {\n        this.internalValue = undefined\n      }\n\n      // If mandatory and we have no selection\n      // add the last item as value\n      /* istanbul ignore else */\n      if (!this.selectedItems.length) {\n        this.updateMandatory(true)\n      }\n    },\n    updateItem (item: GroupableInstance, index: number) {\n      const value = this.getValue(item, index)\n\n      item.isActive = this.toggleMethod(value)\n    },\n    // https://github.com/vuetifyjs/vuetify/issues/5352\n    updateItemsState () {\n      this.$nextTick(() => {\n        if (this.mandatory &&\n          !this.selectedItems.length\n        ) {\n          return this.updateMandatory()\n        }\n\n        // TODO: Make this smarter so it\n        // doesn't have to iterate every\n        // child in an update\n        this.items.forEach(this.updateItem)\n      })\n    },\n    updateInternalValue (value: any) {\n      this.multiple\n        ? this.updateMultiple(value)\n        : this.updateSingle(value)\n    },\n    updateMandatory (last?: boolean) {\n      if (!this.items.length) return\n\n      const items = this.items.slice()\n\n      if (last) items.reverse()\n\n      const item = items.find(item => !item.disabled)\n\n      // If no tabs are available\n      // aborts mandatory value\n      if (!item) return\n\n      const index = this.items.indexOf(item)\n\n      this.updateInternalValue(\n        this.getValue(item, index)\n      )\n    },\n    updateMultiple (value: any) {\n      const defaultValue = Array.isArray(this.internalValue)\n        ? this.internalValue\n        : []\n      const internalValue = defaultValue.slice()\n      const index = internalValue.findIndex(val => val === value)\n\n      if (\n        this.mandatory &&\n        // Item already exists\n        index > -1 &&\n        // value would be reduced below min\n        internalValue.length - 1 < 1\n      ) return\n\n      if (\n        // Max is set\n        this.max != null &&\n        // Item doesn't exist\n        index < 0 &&\n        // value would be increased above max\n        internalValue.length + 1 > this.max\n      ) return\n\n      index > -1\n        ? internalValue.splice(index, 1)\n        : internalValue.push(value)\n\n      this.internalValue = internalValue\n    },\n    updateSingle (value: any) {\n      const isSame = value === this.internalValue\n\n      if (this.mandatory && isSame) return\n\n      this.internalValue = isSame ? undefined : value\n    },\n  },\n\n  render (h): VNode {\n    return h(this.tag, this.genData(), this.$slots.default)\n  },\n})\n\nexport default BaseItemGroup.extend({\n  name: 'v-item-group',\n\n  provide (): object {\n    return {\n      itemGroup: this,\n    }\n  },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n  name: 'v-label',\n\n  functional: true,\n\n  props: {\n    absolute: Boolean,\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    disabled: Boolean,\n    focused: Boolean,\n    for: String,\n    left: {\n      type: [Number, String],\n      default: 0,\n    },\n    right: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    value: Boolean,\n  },\n\n  render (h, ctx): VNode {\n    const { children, listeners, props } = ctx\n    const data = {\n      staticClass: 'v-label',\n      class: {\n        'v-label--active': props.value,\n        'v-label--is-disabled': props.disabled,\n        ...functionalThemeClasses(ctx),\n      },\n      attrs: {\n        for: props.for,\n        'aria-hidden': !props.for,\n      },\n      on: listeners,\n      style: {\n        left: convertToUnit(props.left),\n        right: convertToUnit(props.right),\n        position: props.absolute ? 'absolute' : 'relative',\n      },\n      ref: 'label',\n    }\n\n    return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n  },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType<typeof VListGroup>\n\ninterface options extends InstanceType<typeof VSheet> {\n  isInMenu: boolean\n  isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend<options>().extend({\n  name: 'v-list',\n\n  provide (): object {\n    return {\n      isInList: true,\n      list: this,\n    }\n  },\n\n  inject: {\n    isInMenu: {\n      default: false,\n    },\n    isInNav: {\n      default: false,\n    },\n  },\n\n  props: {\n    dense: Boolean,\n    disabled: Boolean,\n    expand: Boolean,\n    flat: Boolean,\n    nav: Boolean,\n    rounded: Boolean,\n    subheader: Boolean,\n    threeLine: Boolean,\n    twoLine: Boolean,\n  },\n\n  data: () => ({\n    groups: [] as VListGroupInstance[],\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        ...VSheet.options.computed.classes.call(this),\n        'v-list--dense': this.dense,\n        'v-list--disabled': this.disabled,\n        'v-list--flat': this.flat,\n        'v-list--nav': this.nav,\n        'v-list--rounded': this.rounded,\n        'v-list--subheader': this.subheader,\n        'v-list--two-line': this.twoLine,\n        'v-list--three-line': this.threeLine,\n      }\n    },\n  },\n\n  methods: {\n    register (content: VListGroupInstance) {\n      this.groups.push(content)\n    },\n    unregister (content: VListGroupInstance) {\n      const index = this.groups.findIndex(g => g._uid === content._uid)\n\n      if (index > -1) this.groups.splice(index, 1)\n    },\n    listClick (uid: number) {\n      if (this.expand) return\n\n      for (const group of this.groups) {\n        group.toggle(uid)\n      }\n    },\n  },\n\n  render (h): VNode {\n    const data = {\n      staticClass: 'v-list',\n      class: this.classes,\n      style: this.styles,\n      attrs: {\n        role: this.isInNav || this.isInMenu ? undefined : 'list',\n        ...this.attrs$,\n      },\n    }\n\n    return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n  },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n  BindsAttrs,\n  Bootable,\n  Colorable,\n  RegistrableInject('list'),\n  Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n  list: VListInstance\n  $refs: {\n    group: HTMLElement\n  }\n  $route: Route\n}\n\nexport default baseMixins.extend<options>().extend({\n  name: 'v-list-group',\n\n  directives: { ripple },\n\n  props: {\n    activeClass: {\n      type: String,\n      default: '',\n    },\n    appendIcon: {\n      type: String,\n      default: '$expand',\n    },\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    disabled: Boolean,\n    group: [String, RegExp],\n    noAction: Boolean,\n    prependIcon: String,\n    ripple: {\n      type: [Boolean, Object],\n      default: true,\n    },\n    subGroup: Boolean,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-list-group--active': this.isActive,\n        'v-list-group--disabled': this.disabled,\n        'v-list-group--no-action': this.noAction,\n        'v-list-group--sub-group': this.subGroup,\n      }\n    },\n  },\n\n  watch: {\n    isActive (val: boolean) {\n      /* istanbul ignore else */\n      if (!this.subGroup && val) {\n        this.list && this.list.listClick(this._uid)\n      }\n    },\n    $route: 'onRouteChange',\n  },\n\n  created () {\n    this.list && this.list.register(this)\n\n    if (this.group &&\n      this.$route &&\n      this.value == null\n    ) {\n      this.isActive = this.matchRoute(this.$route.path)\n    }\n  },\n\n  beforeDestroy () {\n    this.list && this.list.unregister(this)\n  },\n\n  methods: {\n    click (e: Event) {\n      if (this.disabled) return\n\n      this.isBooted = true\n\n      this.$emit('click', e)\n      this.$nextTick(() => (this.isActive = !this.isActive))\n    },\n    genIcon (icon: string | false): VNode {\n      return this.$createElement(VIcon, icon)\n    },\n    genAppendIcon (): VNode | null {\n      const icon = !this.subGroup ? this.appendIcon : false\n\n      if (!icon && !this.$slots.appendIcon) return null\n\n      return this.$createElement(VListItemIcon, {\n        staticClass: 'v-list-group__header__append-icon',\n      }, [\n        this.$slots.appendIcon || this.genIcon(icon),\n      ])\n    },\n    genHeader (): VNode {\n      return this.$createElement(VListItem, {\n        staticClass: 'v-list-group__header',\n        attrs: {\n          'aria-expanded': String(this.isActive),\n          role: 'button',\n        },\n        class: {\n          [this.activeClass]: this.isActive,\n        },\n        props: {\n          inputValue: this.isActive,\n        },\n        directives: [{\n          name: 'ripple',\n          value: this.ripple,\n        }],\n        on: {\n          ...this.listeners$,\n          click: this.click,\n        },\n      }, [\n        this.genPrependIcon(),\n        this.$slots.activator,\n        this.genAppendIcon(),\n      ])\n    },\n    genItems (): VNode[] {\n      return this.showLazyContent(() => [\n        this.$createElement('div', {\n          staticClass: 'v-list-group__items',\n          directives: [{\n            name: 'show',\n            value: this.isActive,\n          }],\n        }, getSlot(this)),\n      ])\n    },\n    genPrependIcon (): VNode | null {\n      const icon = this.subGroup && this.prependIcon == null\n        ? '$subgroup'\n        : this.prependIcon\n\n      if (!icon && !this.$slots.prependIcon) return null\n\n      return this.$createElement(VListItemIcon, {\n        staticClass: 'v-list-group__header__prepend-icon',\n      }, [\n        this.$slots.prependIcon || this.genIcon(icon),\n      ])\n    },\n    onRouteChange (to: Route) {\n      /* istanbul ignore if */\n      if (!this.group) return\n\n      const isActive = this.matchRoute(to.path)\n\n      /* istanbul ignore else */\n      if (isActive && this.isActive !== isActive) {\n        this.list && this.list.listClick(this._uid)\n      }\n\n      this.isActive = isActive\n    },\n    toggle (uid: number) {\n      const isActive = this._uid === uid\n\n      if (isActive) this.isBooted = true\n      this.$nextTick(() => (this.isActive = isActive))\n    },\n    matchRoute (to: string) {\n      return to.match(this.group) !== null\n    },\n  },\n\n  render (h): VNode {\n    return h('div', this.setTextColor(this.isActive && this.color, {\n      staticClass: 'v-list-group',\n      class: this.classes,\n    }), [\n      this.genHeader(),\n      h(VExpandTransition, this.genItems()),\n    ])\n  },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n  Colorable,\n  Routable,\n  Themeable,\n  GroupableFactory('listItemGroup'),\n  ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n  $el: HTMLElement\n  isInGroup: boolean\n  isInList: boolean\n  isInMenu: boolean\n  isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-list-item',\n\n  directives: {\n    Ripple,\n  },\n\n  inject: {\n    isInGroup: {\n      default: false,\n    },\n    isInList: {\n      default: false,\n    },\n    isInMenu: {\n      default: false,\n    },\n    isInNav: {\n      default: false,\n    },\n  },\n\n  inheritAttrs: false,\n\n  props: {\n    activeClass: {\n      type: String,\n      default (): string | undefined {\n        if (!this.listItemGroup) return ''\n\n        return this.listItemGroup.activeClass\n      },\n    } as any as PropValidator<string>,\n    dense: Boolean,\n    inactive: Boolean,\n    link: Boolean,\n    selectable: {\n      type: Boolean,\n    },\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    threeLine: Boolean,\n    twoLine: Boolean,\n    value: null as any as PropType<any>,\n  },\n\n  data: () => ({\n    proxyClass: 'v-list-item--active',\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-list-item': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-list-item--dense': this.dense,\n        'v-list-item--disabled': this.disabled,\n        'v-list-item--link': this.isClickable && !this.inactive,\n        'v-list-item--selectable': this.selectable,\n        'v-list-item--three-line': this.threeLine,\n        'v-list-item--two-line': this.twoLine,\n        ...this.themeClasses,\n      }\n    },\n    isClickable (): boolean {\n      return Boolean(\n        Routable.options.computed.isClickable.call(this) ||\n        this.listItemGroup\n      )\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('avatar')) {\n      removed('avatar', this)\n    }\n  },\n\n  methods: {\n    click (e: MouseEvent | KeyboardEvent) {\n      if (e.detail) this.$el.blur()\n\n      this.$emit('click', e)\n\n      this.to || this.toggle()\n    },\n    genAttrs () {\n      const attrs: Record<string, any> = {\n        'aria-disabled': this.disabled ? true : undefined,\n        tabindex: this.isClickable && !this.disabled ? 0 : -1,\n        ...this.$attrs,\n      }\n\n      if (this.$attrs.hasOwnProperty('role')) {\n        // do nothing, role already provided\n      } else if (this.isInNav) {\n        // do nothing, role is inherit\n      } else if (this.isInGroup) {\n        attrs.role = 'option'\n        attrs['aria-selected'] = String(this.isActive)\n      } else if (this.isInMenu) {\n        attrs.role = this.isClickable ? 'menuitem' : undefined\n        attrs.id = attrs.id || `list-item-${this._uid}`\n      } else if (this.isInList) {\n        attrs.role = 'listitem'\n      }\n\n      return attrs\n    },\n    toggle () {\n      if (this.to && this.inputValue === undefined) {\n        this.isActive = !this.isActive\n      }\n      this.$emit('change')\n    },\n  },\n\n  render (h): VNode {\n    let { tag, data } = this.generateRouteLink()\n\n    data.attrs = {\n      ...data.attrs,\n      ...this.genAttrs(),\n    }\n    data[this.to ? 'nativeOn' : 'on'] = {\n      ...data[this.to ? 'nativeOn' : 'on'],\n      keydown: (e: KeyboardEvent) => {\n        /* istanbul ignore else */\n        if (e.keyCode === keyCodes.enter) this.click(e)\n\n        this.$emit('keydown', e)\n      },\n    }\n\n    if (this.inactive) tag = 'div'\n    if (this.inactive && this.to) {\n      data.on = data.nativeOn\n      delete data.nativeOn\n    }\n\n    const children = this.$scopedSlots.default\n      ? this.$scopedSlots.default({\n        active: this.isActive,\n        toggle: this.toggle,\n      })\n      : this.$slots.default\n\n    return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n  },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'v-list-item-action',\n\n  functional: true,\n\n  render (h, { data, children = [] }): VNode {\n    data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n    const filteredChild = children.filter(VNode => {\n      return VNode.isComment === false && VNode.text !== ' '\n    })\n    if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n    return h('div', data, children)\n  },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n  BaseItemGroup,\n  Colorable\n).extend({\n  name: 'v-list-item-group',\n\n  provide () {\n    return {\n      isInGroup: true,\n      listItemGroup: this,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...BaseItemGroup.options.computed.classes.call(this),\n        'v-list-item-group': true,\n      }\n    },\n  },\n\n  methods: {\n    genData (): object {\n      return this.setTextColor(this.color, {\n        ...BaseItemGroup.options.methods.genData.call(this),\n        attrs: {\n          role: 'listbox',\n        },\n      })\n    },\n  },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'v-list-item-icon',\n\n  functional: true,\n\n  render (h, { data, children }): VNode {\n    data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n    return h('div', data, children)\n  },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n  name: 'v-list-item-avatar',\n\n  props: {\n    horizontal: Boolean,\n    size: {\n      type: [Number, String],\n      default: 40,\n    },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-list-item__avatar--horizontal': this.horizontal,\n        ...VAvatar.options.computed.classes.call(this),\n        'v-avatar--tile': this.tile || this.horizontal,\n      }\n    },\n  },\n\n  render (h): VNode {\n    const render = VAvatar.options.render.call(this, h)\n\n    render.data = render.data || {}\n    render.data.staticClass += ' v-list-item__avatar'\n\n    return render\n  },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n  VList,\n  VListGroup,\n  VListItem,\n  VListItemAction,\n  VListItemAvatar,\n  VListItemIcon,\n  VListItemGroup,\n}\n\nexport default {\n  $_vuetify_subcomponents: {\n    VList,\n    VListGroup,\n    VListItem,\n    VListItemAction,\n    VListItemActionText,\n    VListItemAvatar,\n    VListItemContent,\n    VListItemGroup,\n    VListItemIcon,\n    VListItemSubtitle,\n    VListItemTitle,\n  },\n}\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n  convertToUnit,\n  keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n  Dependent,\n  Delayable,\n  Returnable,\n  Roundable,\n  Themeable,\n  Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-menu',\n\n  directives: {\n    ClickOutside,\n    Resize,\n  },\n\n  provide (): object {\n    return {\n      isInMenu: true,\n      // Pass theme through to default slot\n      theme: this.theme,\n    }\n  },\n\n  props: {\n    auto: Boolean,\n    closeOnClick: {\n      type: Boolean,\n      default: true,\n    },\n    closeOnContentClick: {\n      type: Boolean,\n      default: true,\n    },\n    disabled: Boolean,\n    disableKeys: Boolean,\n    maxHeight: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    offsetX: Boolean,\n    offsetY: Boolean,\n    openOnHover: Boolean,\n    origin: {\n      type: String,\n      default: 'top left',\n    },\n    transition: {\n      type: [Boolean, String],\n      default: 'v-menu-transition',\n    },\n  },\n\n  data () {\n    return {\n      calculatedTopAuto: 0,\n      defaultOffset: 8,\n      hasJustFocused: false,\n      listIndex: -1,\n      resizeTimeout: 0,\n      selectedIndex: null as null | number,\n      tiles: [] as HTMLElement[],\n    }\n  },\n\n  computed: {\n    activeTile (): HTMLElement | undefined {\n      return this.tiles[this.listIndex]\n    },\n    calculatedLeft (): string {\n      const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n      if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n      return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n    },\n    calculatedMaxHeight (): string {\n      const height = this.auto\n        ? '200px'\n        : convertToUnit(this.maxHeight)\n\n      return height || '0'\n    },\n    calculatedMaxWidth (): string {\n      return convertToUnit(this.maxWidth) || '0'\n    },\n    calculatedMinWidth (): string {\n      if (this.minWidth) {\n        return convertToUnit(this.minWidth) || '0'\n      }\n\n      const minWidth = Math.min(\n        this.dimensions.activator.width +\n        Number(this.nudgeWidth) +\n        (this.auto ? 16 : 0),\n        Math.max(this.pageWidth - 24, 0)\n      )\n\n      const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n        ? minWidth\n        : parseInt(this.calculatedMaxWidth)\n\n      return convertToUnit(Math.min(\n        calculatedMaxWidth,\n        minWidth\n      )) || '0'\n    },\n    calculatedTop (): string {\n      const top = !this.auto\n        ? this.calcTop()\n        : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n      return top || '0'\n    },\n    hasClickableTiles (): boolean {\n      return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n    },\n    styles (): object {\n      return {\n        maxHeight: this.calculatedMaxHeight,\n        minWidth: this.calculatedMinWidth,\n        maxWidth: this.calculatedMaxWidth,\n        top: this.calculatedTop,\n        left: this.calculatedLeft,\n        transformOrigin: this.origin,\n        zIndex: this.zIndex || this.activeZIndex,\n      }\n    },\n  },\n\n  watch: {\n    isActive (val) {\n      if (!val) this.listIndex = -1\n    },\n    isContentActive (val) {\n      this.hasJustFocused = val\n    },\n    listIndex (next, prev) {\n      if (next in this.tiles) {\n        const tile = this.tiles[next]\n        tile.classList.add('v-list-item--highlighted')\n        const scrollTop = this.$refs.content.scrollTop\n        const contentHeight = this.$refs.content.clientHeight\n\n        if (scrollTop > tile.offsetTop - 8) {\n          goTo(tile.offsetTop - tile.clientHeight, {\n            appOffset: false,\n            duration: 300,\n            container: this.$refs.content,\n          })\n        } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n          goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n            appOffset: false,\n            duration: 300,\n            container: this.$refs.content,\n          })\n        }\n      }\n\n      prev in this.tiles &&\n        this.tiles[prev].classList.remove('v-list-item--highlighted')\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('full-width')) {\n      removed('full-width', this)\n    }\n  },\n\n  mounted () {\n    this.isActive && this.callActivate()\n  },\n\n  methods: {\n    activate () {\n      // Update coordinates and dimensions of menu\n      // and its activator\n      this.updateDimensions()\n      // Start the transition\n      requestAnimationFrame(() => {\n        // Once transitioning, calculate scroll and top position\n        this.startTransition().then(() => {\n          if (this.$refs.content) {\n            this.calculatedTopAuto = this.calcTopAuto()\n            this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n          }\n        })\n      })\n    },\n    calcScrollPosition () {\n      const $el = this.$refs.content\n      const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n      const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n      return activeTile\n        ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n        : $el.scrollTop\n    },\n    calcLeftAuto () {\n      return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n    },\n    calcTopAuto () {\n      const $el = this.$refs.content\n      const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n      if (!activeTile) {\n        this.selectedIndex = null\n      }\n\n      if (this.offsetY || !activeTile) {\n        return this.computedTop\n      }\n\n      this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n      const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n      const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n      return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n    },\n    changeListIndex (e: KeyboardEvent) {\n      // For infinite scroll and autocomplete, re-evaluate children\n      this.getTiles()\n\n      if (!this.isActive || !this.hasClickableTiles) {\n        return\n      } else if (e.keyCode === keyCodes.tab) {\n        this.isActive = false\n        return\n      } else if (e.keyCode === keyCodes.down) {\n        this.nextTile()\n      } else if (e.keyCode === keyCodes.up) {\n        this.prevTile()\n      } else if (e.keyCode === keyCodes.end) {\n        this.lastTile()\n      } else if (e.keyCode === keyCodes.home) {\n        this.firstTile()\n      } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n        this.tiles[this.listIndex].click()\n      } else { return }\n      // One of the conditions was met, prevent default action (#2988)\n      e.preventDefault()\n    },\n    closeConditional (e: Event) {\n      const target = e.target as HTMLElement\n\n      return this.isActive &&\n        !this._isDestroyed &&\n        this.closeOnClick &&\n        !this.$refs.content.contains(target)\n    },\n    genActivatorAttributes () {\n      const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n      if (this.activeTile && this.activeTile.id) {\n        return {\n          ...attributes,\n          'aria-activedescendant': this.activeTile.id,\n        }\n      }\n\n      return attributes\n    },\n    genActivatorListeners () {\n      const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n      if (!this.disableKeys) {\n        listeners.keydown = this.onKeyDown\n      }\n\n      return listeners\n    },\n    genTransition (): VNode {\n      const content = this.genContent()\n\n      if (!this.transition) return content\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n        },\n      }, [content])\n    },\n    genDirectives (): VNodeDirective[] {\n      const directives: VNodeDirective[] = [{\n        name: 'show',\n        value: this.isContentActive,\n      }]\n\n      // Do not add click outside for hover menu\n      if (!this.openOnHover && this.closeOnClick) {\n        directives.push({\n          name: 'click-outside',\n          value: {\n            handler: () => { this.isActive = false },\n            closeConditional: this.closeConditional,\n            include: () => [this.$el, ...this.getOpenDependentElements()],\n          },\n        })\n      }\n\n      return directives\n    },\n    genContent (): VNode {\n      const options = {\n        attrs: {\n          ...this.getScopeIdAttrs(),\n          role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n        },\n        staticClass: 'v-menu__content',\n        class: {\n          ...this.rootThemeClasses,\n          ...this.roundedClasses,\n          'v-menu__content--auto': this.auto,\n          'v-menu__content--fixed': this.activatorFixed,\n          menuable__content__active: this.isActive,\n          [this.contentClass.trim()]: true,\n        },\n        style: this.styles,\n        directives: this.genDirectives(),\n        ref: 'content',\n        on: {\n          click: (e: Event) => {\n            const target = e.target as HTMLElement\n\n            if (target.getAttribute('disabled')) return\n            if (this.closeOnContentClick) this.isActive = false\n          },\n          keydown: this.onKeyDown,\n        },\n      } as VNodeData\n\n      if (this.$listeners.scroll) {\n        options.on = options.on || {}\n        options.on.scroll = this.$listeners.scroll\n      }\n\n      if (!this.disabled && this.openOnHover) {\n        options.on = options.on || {}\n        options.on.mouseenter = this.mouseEnterHandler\n      }\n\n      if (this.openOnHover) {\n        options.on = options.on || {}\n        options.on.mouseleave = this.mouseLeaveHandler\n      }\n\n      return this.$createElement('div', options, this.getContentSlot())\n    },\n    getTiles () {\n      if (!this.$refs.content) return\n\n      this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n    },\n    mouseEnterHandler () {\n      this.runDelay('open', () => {\n        if (this.hasJustFocused) return\n\n        this.hasJustFocused = true\n      })\n    },\n    mouseLeaveHandler (e: MouseEvent) {\n      // Prevent accidental re-activation\n      this.runDelay('close', () => {\n        if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n        requestAnimationFrame(() => {\n          this.isActive = false\n          this.callDeactivate()\n        })\n      })\n    },\n    nextTile () {\n      const tile = this.tiles[this.listIndex + 1]\n\n      if (!tile) {\n        if (!this.tiles.length) return\n\n        this.listIndex = -1\n        this.nextTile()\n\n        return\n      }\n\n      this.listIndex++\n      if (tile.tabIndex === -1) this.nextTile()\n    },\n    prevTile () {\n      const tile = this.tiles[this.listIndex - 1]\n\n      if (!tile) {\n        if (!this.tiles.length) return\n\n        this.listIndex = this.tiles.length\n        this.prevTile()\n\n        return\n      }\n\n      this.listIndex--\n      if (tile.tabIndex === -1) this.prevTile()\n    },\n    lastTile () {\n      const tile = this.tiles[this.tiles.length - 1]\n\n      if (!tile) return\n\n      this.listIndex = this.tiles.length - 1\n\n      if (tile.tabIndex === -1) this.prevTile()\n    },\n    firstTile () {\n      const tile = this.tiles[0]\n\n      if (!tile) return\n\n      this.listIndex = 0\n\n      if (tile.tabIndex === -1) this.nextTile()\n    },\n    onKeyDown (e: KeyboardEvent) {\n      if (e.keyCode === keyCodes.esc) {\n        // Wait for dependent elements to close first\n        setTimeout(() => { this.isActive = false })\n        const activator = this.getActivator()\n        this.$nextTick(() => activator && activator.focus())\n      } else if (\n        !this.isActive &&\n        [keyCodes.up, keyCodes.down].includes(e.keyCode)\n      ) {\n        this.isActive = true\n      }\n\n      // Allow for isActive watcher to generate tile list\n      this.$nextTick(() => this.changeListIndex(e))\n    },\n    onResize () {\n      if (!this.isActive) return\n\n      // Account for screen resize\n      // and orientation change\n      // eslint-disable-next-line no-unused-expressions\n      this.$refs.content.offsetWidth\n      this.updateDimensions()\n\n      // When resizing to a smaller width\n      // content width is evaluated before\n      // the new activator width has been\n      // set, causing it to not size properly\n      // hacky but will revisit in the future\n      clearTimeout(this.resizeTimeout)\n      this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n    },\n  },\n\n  render (h): VNode {\n    const data = {\n      staticClass: 'v-menu',\n      class: {\n        'v-menu--attached':\n          this.attach === '' ||\n          this.attach === true ||\n          this.attach === 'attach',\n      },\n      directives: [{\n        arg: '500',\n        name: 'resize',\n        value: this.onResize,\n      }],\n    }\n\n    return h('div', data, [\n      !this.activator && this.genActivator(),\n      this.showLazyContent(() => [\n        this.$createElement(VThemeProvider, {\n          props: {\n            root: true,\n            light: this.light,\n            dark: this.dark,\n          },\n        }, [this.genTransition()]),\n      ]),\n    ])\n  },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n  Applicationable('left', [\n    'isActive',\n    'isMobile',\n    'miniVariant',\n    'expandOnHover',\n    'permanent',\n    'right',\n    'temporary',\n    'width',\n  ]),\n  Colorable,\n  Dependent,\n  Mobile,\n  Overlayable,\n  SSRBootable,\n  Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-navigation-drawer',\n\n  directives: {\n    ClickOutside,\n    Resize,\n    Touch,\n  },\n\n  provide (): object {\n    return {\n      isInNav: this.tag === 'nav',\n    }\n  },\n\n  props: {\n    bottom: Boolean,\n    clipped: Boolean,\n    disableResizeWatcher: Boolean,\n    disableRouteWatcher: Boolean,\n    expandOnHover: Boolean,\n    floating: Boolean,\n    height: {\n      type: [Number, String],\n      default (): string {\n        return this.app ? '100vh' : '100%'\n      },\n    },\n    miniVariant: Boolean,\n    miniVariantWidth: {\n      type: [Number, String],\n      default: 56,\n    },\n    permanent: Boolean,\n    right: Boolean,\n    src: {\n      type: [String, Object] as PropType<string | srcObject>,\n      default: '',\n    },\n    stateless: Boolean,\n    tag: {\n      type: String,\n      default (): string {\n        return this.app ? 'nav' : 'aside'\n      },\n    },\n    temporary: Boolean,\n    touchless: Boolean,\n    width: {\n      type: [Number, String],\n      default: 256,\n    },\n    value: null as unknown as PropType<any>,\n  },\n\n  data: () => ({\n    isMouseover: false,\n    touchArea: {\n      left: 0,\n      right: 0,\n    },\n    stackMinZIndex: 6,\n  }),\n\n  computed: {\n    /**\n     * Used for setting an app value from a dynamic\n     * property. Called from applicationable.js\n     */\n    applicationProperty (): string {\n      return this.right ? 'right' : 'left'\n    },\n    classes (): object {\n      return {\n        'v-navigation-drawer': true,\n        'v-navigation-drawer--absolute': this.absolute,\n        'v-navigation-drawer--bottom': this.bottom,\n        'v-navigation-drawer--clipped': this.clipped,\n        'v-navigation-drawer--close': !this.isActive,\n        'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n        'v-navigation-drawer--floating': this.floating,\n        'v-navigation-drawer--is-mobile': this.isMobile,\n        'v-navigation-drawer--is-mouseover': this.isMouseover,\n        'v-navigation-drawer--mini-variant': this.isMiniVariant,\n        'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n        'v-navigation-drawer--open': this.isActive,\n        'v-navigation-drawer--open-on-hover': this.expandOnHover,\n        'v-navigation-drawer--right': this.right,\n        'v-navigation-drawer--temporary': this.temporary,\n        ...this.themeClasses,\n      }\n    },\n    computedMaxHeight (): number | null {\n      if (!this.hasApp) return null\n\n      const computedMaxHeight = (\n        this.$vuetify.application.bottom +\n        this.$vuetify.application.footer +\n        this.$vuetify.application.bar\n      )\n\n      if (!this.clipped) return computedMaxHeight\n\n      return computedMaxHeight + this.$vuetify.application.top\n    },\n    computedTop (): number {\n      if (!this.hasApp) return 0\n\n      let computedTop = this.$vuetify.application.bar\n\n      computedTop += this.clipped\n        ? this.$vuetify.application.top\n        : 0\n\n      return computedTop\n    },\n    computedTransform (): number {\n      if (this.isActive) return 0\n      if (this.isBottom) return 100\n      return this.right ? 100 : -100\n    },\n    computedWidth (): string | number {\n      return this.isMiniVariant ? this.miniVariantWidth : this.width\n    },\n    hasApp (): boolean {\n      return (\n        this.app &&\n        (!this.isMobile && !this.temporary)\n      )\n    },\n    isBottom (): boolean {\n      return this.bottom && this.isMobile\n    },\n    isMiniVariant (): boolean {\n      return (\n        !this.expandOnHover &&\n        this.miniVariant\n      ) || (\n        this.expandOnHover &&\n        !this.isMouseover\n      )\n    },\n    isMobile (): boolean {\n      return (\n        !this.stateless &&\n        !this.permanent &&\n        Mobile.options.computed.isMobile.call(this)\n      )\n    },\n    reactsToClick (): boolean {\n      return (\n        !this.stateless &&\n        !this.permanent &&\n        (this.isMobile || this.temporary)\n      )\n    },\n    reactsToMobile (): boolean {\n      return (\n        this.app &&\n        !this.disableResizeWatcher &&\n        !this.permanent &&\n        !this.stateless &&\n        !this.temporary\n      )\n    },\n    reactsToResize (): boolean {\n      return !this.disableResizeWatcher && !this.stateless\n    },\n    reactsToRoute (): boolean {\n      return (\n        !this.disableRouteWatcher &&\n        !this.stateless &&\n        (this.temporary || this.isMobile)\n      )\n    },\n    showOverlay (): boolean {\n      return (\n        !this.hideOverlay &&\n        this.isActive &&\n        (this.isMobile || this.temporary)\n      )\n    },\n    styles (): object {\n      const translate = this.isBottom ? 'translateY' : 'translateX'\n      return {\n        height: convertToUnit(this.height),\n        top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n        maxHeight: this.computedMaxHeight != null\n          ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n          : undefined,\n        transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n        width: convertToUnit(this.computedWidth),\n      }\n    },\n  },\n\n  watch: {\n    $route: 'onRouteChange',\n    isActive (val) {\n      this.$emit('input', val)\n    },\n    /**\n     * When mobile changes, adjust the active state\n     * only when there has been a previous value\n     */\n    isMobile (val, prev) {\n      !val &&\n        this.isActive &&\n        !this.temporary &&\n        this.removeOverlay()\n\n      if (prev == null ||\n        !this.reactsToResize ||\n        !this.reactsToMobile\n      ) return\n\n      this.isActive = !val\n    },\n    permanent (val) {\n      // If enabling prop enable the drawer\n      if (val) this.isActive = true\n    },\n    showOverlay (val) {\n      if (val) this.genOverlay()\n      else this.removeOverlay()\n    },\n    value (val) {\n      if (this.permanent) return\n\n      if (val == null) {\n        this.init()\n        return\n      }\n\n      if (val !== this.isActive) this.isActive = val\n    },\n    expandOnHover: 'updateMiniVariant',\n    isMouseover (val) {\n      this.updateMiniVariant(!val)\n    },\n  },\n\n  beforeMount () {\n    this.init()\n  },\n\n  methods: {\n    calculateTouchArea () {\n      const parent = this.$el.parentNode as Element\n\n      if (!parent) return\n\n      const parentRect = parent.getBoundingClientRect()\n\n      this.touchArea = {\n        left: parentRect.left + 50,\n        right: parentRect.right - 50,\n      }\n    },\n    closeConditional () {\n      return this.isActive && !this._isDestroyed && this.reactsToClick\n    },\n    genAppend () {\n      return this.genPosition('append')\n    },\n    genBackground () {\n      const props = {\n        height: '100%',\n        width: '100%',\n        src: this.src,\n      }\n\n      const image = this.$scopedSlots.img\n        ? this.$scopedSlots.img(props)\n        : this.$createElement(VImg, { props })\n\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__image',\n      }, [image])\n    },\n    genDirectives (): VNodeDirective[] {\n      const directives = [{\n        name: 'click-outside',\n        value: {\n          handler: () => { this.isActive = false },\n          closeConditional: this.closeConditional,\n          include: this.getOpenDependentElements,\n        },\n      }]\n\n      if (!this.touchless && !this.stateless) {\n        directives.push({\n          name: 'touch',\n          value: {\n            parent: true,\n            left: this.swipeLeft,\n            right: this.swipeRight,\n          },\n        } as any)\n      }\n\n      return directives\n    },\n    genListeners () {\n      const on: Record<string, (e: Event) => void> = {\n        mouseenter: () => (this.isMouseover = true),\n        mouseleave: () => (this.isMouseover = false),\n        transitionend: (e: Event) => {\n          if (e.target !== e.currentTarget) return\n          this.$emit('transitionend', e)\n\n          // IE11 does not support new Event('resize')\n          const resizeEvent = document.createEvent('UIEvents')\n          resizeEvent.initUIEvent('resize', true, false, window, 0)\n          window.dispatchEvent(resizeEvent)\n        },\n      }\n\n      if (this.miniVariant) {\n        on.click = () => this.$emit('update:mini-variant', false)\n      }\n\n      return on\n    },\n    genPosition (name: 'prepend' | 'append') {\n      const slot = getSlot(this, name)\n\n      if (!slot) return slot\n\n      return this.$createElement('div', {\n        staticClass: `v-navigation-drawer__${name}`,\n      }, slot)\n    },\n    genPrepend () {\n      return this.genPosition('prepend')\n    },\n    genContent () {\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__content',\n      }, this.$slots.default)\n    },\n    genBorder () {\n      return this.$createElement('div', {\n        staticClass: 'v-navigation-drawer__border',\n      })\n    },\n    init () {\n      if (this.permanent) {\n        this.isActive = true\n      } else if (this.stateless ||\n        this.value != null\n      ) {\n        this.isActive = this.value\n      } else if (!this.temporary) {\n        this.isActive = !this.isMobile\n      }\n    },\n    onRouteChange () {\n      if (this.reactsToRoute && this.closeConditional()) {\n        this.isActive = false\n      }\n    },\n    swipeLeft (e: TouchWrapper) {\n      if (this.isActive && this.right) return\n      this.calculateTouchArea()\n\n      if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n      if (this.right &&\n        e.touchstartX >= this.touchArea.right\n      ) this.isActive = true\n      else if (!this.right && this.isActive) this.isActive = false\n    },\n    swipeRight (e: TouchWrapper) {\n      if (this.isActive && !this.right) return\n      this.calculateTouchArea()\n\n      if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n      if (!this.right &&\n        e.touchstartX <= this.touchArea.left\n      ) this.isActive = true\n      else if (this.right && this.isActive) this.isActive = false\n    },\n    /**\n     * Update the application layout\n     */\n    updateApplication () {\n      if (\n        !this.isActive ||\n        this.isMobile ||\n        this.temporary ||\n        !this.$el\n      ) return 0\n\n      const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n      return isNaN(width) ? this.$el.clientWidth : width\n    },\n    updateMiniVariant (val: boolean) {\n      if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n    },\n  },\n\n  render (h): VNode {\n    const children = [\n      this.genPrepend(),\n      this.genContent(),\n      this.genAppend(),\n      this.genBorder(),\n    ]\n\n    if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n    return h(this.tag, this.setBackgroundColor(this.color, {\n      class: this.classes,\n      style: this.styles,\n      directives: this.genDirectives(),\n      on: this.genListeners(),\n    }), children)\n  },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n  Colorable,\n  Themeable,\n  Toggleable\n).extend({\n  name: 'v-overlay',\n\n  props: {\n    absolute: Boolean,\n    color: {\n      type: String,\n      default: '#212121',\n    },\n    dark: {\n      type: Boolean,\n      default: true,\n    },\n    opacity: {\n      type: [Number, String],\n      default: 0.46,\n    },\n    value: {\n      default: true,\n    },\n    zIndex: {\n      type: [Number, String],\n      default: 5,\n    },\n  },\n\n  computed: {\n    __scrim (): VNode {\n      const data = this.setBackgroundColor(this.color, {\n        staticClass: 'v-overlay__scrim',\n        style: {\n          opacity: this.computedOpacity,\n        },\n      })\n\n      return this.$createElement('div', data)\n    },\n    classes (): object {\n      return {\n        'v-overlay--absolute': this.absolute,\n        'v-overlay--active': this.isActive,\n        ...this.themeClasses,\n      }\n    },\n    computedOpacity (): number {\n      return Number(this.isActive ? this.opacity : 0)\n    },\n    styles (): object {\n      return {\n        zIndex: this.zIndex,\n      }\n    },\n  },\n\n  methods: {\n    genContent () {\n      return this.$createElement('div', {\n        staticClass: 'v-overlay__content',\n      }, this.$slots.default)\n    },\n  },\n\n  render (h): VNode {\n    const children = [this.__scrim]\n\n    if (this.isActive) children.push(this.genContent())\n\n    return h('div', {\n      staticClass: 'v-overlay',\n      on: this.$listeners,\n      class: this.classes,\n      style: this.styles,\n    }, children)\n  },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n  name: 'v-progress-circular',\n\n  directives: { intersect },\n\n  props: {\n    button: Boolean,\n    indeterminate: Boolean,\n    rotate: {\n      type: [Number, String],\n      default: 0,\n    },\n    size: {\n      type: [Number, String],\n      default: 32,\n    },\n    width: {\n      type: [Number, String],\n      default: 4,\n    },\n    value: {\n      type: [Number, String],\n      default: 0,\n    },\n  },\n\n  data: () => ({\n    radius: 20,\n    isVisible: true,\n  }),\n\n  computed: {\n    calculatedSize (): number {\n      return Number(this.size) + (this.button ? 8 : 0)\n    },\n\n    circumference (): number {\n      return 2 * Math.PI * this.radius\n    },\n\n    classes (): object {\n      return {\n        'v-progress-circular--visible': this.isVisible,\n        'v-progress-circular--indeterminate': this.indeterminate,\n        'v-progress-circular--button': this.button,\n      }\n    },\n\n    normalizedValue (): number {\n      if (this.value < 0) {\n        return 0\n      }\n\n      if (this.value > 100) {\n        return 100\n      }\n\n      return parseFloat(this.value)\n    },\n\n    strokeDashArray (): number {\n      return Math.round(this.circumference * 1000) / 1000\n    },\n\n    strokeDashOffset (): string {\n      return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n    },\n\n    strokeWidth (): number {\n      return Number(this.width) / +this.size * this.viewBoxSize * 2\n    },\n\n    styles (): object {\n      return {\n        height: convertToUnit(this.calculatedSize),\n        width: convertToUnit(this.calculatedSize),\n      }\n    },\n\n    svgStyles (): object {\n      return {\n        transform: `rotate(${Number(this.rotate)}deg)`,\n      }\n    },\n\n    viewBoxSize (): number {\n      return this.radius / (1 - Number(this.width) / +this.size)\n    },\n  },\n\n  methods: {\n    genCircle (name: string, offset: string | number): VNode {\n      return this.$createElement('circle', {\n        class: `v-progress-circular__${name}`,\n        attrs: {\n          fill: 'transparent',\n          cx: 2 * this.viewBoxSize,\n          cy: 2 * this.viewBoxSize,\n          r: this.radius,\n          'stroke-width': this.strokeWidth,\n          'stroke-dasharray': this.strokeDashArray,\n          'stroke-dashoffset': offset,\n        },\n      })\n    },\n    genSvg (): VNode {\n      const children = [\n        this.indeterminate || this.genCircle('underlay', 0),\n        this.genCircle('overlay', this.strokeDashOffset),\n      ] as VNodeChildren\n\n      return this.$createElement('svg', {\n        style: this.svgStyles,\n        attrs: {\n          xmlns: 'http://www.w3.org/2000/svg',\n          viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n        },\n      }, children)\n    },\n    genInfo (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-progress-circular__info',\n      }, this.$slots.default)\n    },\n    onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n      this.isVisible = isIntersecting\n    },\n  },\n\n  render (h): VNode {\n    return h('div', this.setTextColor(this.color, {\n      staticClass: 'v-progress-circular',\n      attrs: {\n        role: 'progressbar',\n        'aria-valuemin': 0,\n        'aria-valuemax': 100,\n        'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n      },\n      class: this.classes,\n      directives: [{\n        name: 'intersect',\n        value: this.onObserve,\n      }],\n      style: this.styles,\n      on: this.$listeners,\n    }), [\n      this.genSvg(),\n      this.genInfo(),\n    ])\n  },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n  BindsAttrs,\n  Colorable,\n  Rippleable,\n  GroupableFactory('radioGroup'),\n  Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-radio',\n\n  inheritAttrs: false,\n\n  props: {\n    disabled: Boolean,\n    id: String,\n    label: String,\n    name: String,\n    offIcon: {\n      type: String,\n      default: '$radioOff',\n    },\n    onIcon: {\n      type: String,\n      default: '$radioOn',\n    },\n    readonly: Boolean,\n    value: {\n      default: null,\n    },\n  },\n\n  data: () => ({\n    isFocused: false,\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-radio--is-disabled': this.isDisabled,\n        'v-radio--is-focused': this.isFocused,\n        ...this.themeClasses,\n        ...this.groupClasses,\n      }\n    },\n    computedColor (): string | undefined {\n      return Selectable.options.computed.computedColor.call(this)\n    },\n    computedIcon (): string {\n      return this.isActive\n        ? this.onIcon\n        : this.offIcon\n    },\n    computedId (): string {\n      return VInput.options.computed.computedId.call(this)\n    },\n    hasLabel: VInput.options.computed.hasLabel,\n    hasState (): boolean {\n      return (this.radioGroup || {}).hasState\n    },\n    isDisabled (): boolean {\n      return this.disabled || (\n        !!this.radioGroup &&\n        this.radioGroup.isDisabled\n      )\n    },\n    isReadonly (): boolean {\n      return this.readonly || (\n        !!this.radioGroup &&\n        this.radioGroup.isReadonly\n      )\n    },\n    computedName (): string {\n      if (this.name || !this.radioGroup) {\n        return this.name\n      }\n\n      return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n    },\n    rippleState (): string | undefined {\n      return Selectable.options.computed.rippleState.call(this)\n    },\n    validationState (): string | undefined {\n      return (this.radioGroup || {}).validationState || this.computedColor\n    },\n  },\n\n  methods: {\n    genInput (args: any) {\n      // We can't actually use the mixin directly because\n      // it's made for standalone components, but its\n      // genInput method is exactly what we need\n      return Selectable.options.methods.genInput.call(this, 'radio', args)\n    },\n    genLabel () {\n      if (!this.hasLabel) return null\n\n      return this.$createElement(VLabel, {\n        on: {\n          // Label shouldn't cause the input to focus\n          click: prevent,\n        },\n        attrs: {\n          for: this.computedId,\n        },\n        props: {\n          color: this.validationState,\n          focused: this.hasState,\n        },\n      }, getSlot(this, 'label') || this.label)\n    },\n    genRadio () {\n      const { title, ...radioAttrs } = this.attrs$\n\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input',\n      }, [\n        this.$createElement(VIcon, this.setTextColor(this.validationState, {\n          props: {\n            dense: this.radioGroup && this.radioGroup.dense,\n          },\n        }), this.computedIcon),\n        this.genInput({\n          name: this.computedName,\n          value: this.value,\n          ...radioAttrs,\n        }),\n        this.genRipple(this.setTextColor(this.rippleState)),\n      ])\n    },\n    onFocus (e: Event) {\n      this.isFocused = true\n      this.$emit('focus', e)\n    },\n    onBlur (e: Event) {\n      this.isFocused = false\n      this.$emit('blur', e)\n    },\n    onChange () {\n      if (this.isDisabled || this.isReadonly || this.isActive) return\n\n      this.toggle()\n    },\n    onKeydown: () => {}, // Override default with noop\n  },\n\n  render (h): VNode {\n    const data: VNodeData = {\n      staticClass: 'v-radio',\n      class: this.classes,\n      on: mergeListeners({\n        click: this.onChange,\n      }, this.listeners$),\n      attrs: { title: this.attrs$.title },\n    }\n\n    return h('div', data, [\n      this.genRadio(),\n      this.genLabel(),\n    ])\n  },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n  BaseItemGroup,\n  VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-radio-group',\n\n  provide () {\n    return {\n      radioGroup: this,\n    }\n  },\n\n  props: {\n    column: {\n      type: Boolean,\n      default: true,\n    },\n    height: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    name: String,\n    row: Boolean,\n    // If no value set on VRadio\n    // will match valueComparator\n    // force default to null\n    value: null as unknown as PropType<any>,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls v-input--radio-group': true,\n        'v-input--radio-group--column': this.column && !this.row,\n        'v-input--radio-group--row': this.row,\n      }\n    },\n  },\n\n  methods: {\n    genDefaultSlot () {\n      return this.$createElement('div', {\n        staticClass: 'v-input--radio-group__input',\n        attrs: {\n          id: this.id,\n          role: 'radiogroup',\n          'aria-labelledby': this.computedId,\n        },\n      }, VInput.options.methods.genDefaultSlot.call(this))\n    },\n    genInputSlot () {\n      const render = VInput.options.methods.genInputSlot.call(this)\n\n      delete render.data!.on!.click\n\n      return render\n    },\n    genLabel () {\n      const label = VInput.options.methods.genLabel.call(this)\n\n      if (!label) return null\n\n      label.data!.attrs!.id = this.computedId\n      // WAI considers this an orphaned label\n      delete label.data!.attrs!.for\n      label.tag = 'legend'\n\n      return label\n    },\n    onClick: BaseItemGroup.options.methods.onClick,\n  },\n\n  render (h) {\n    const vnode = VInput.options.render.call(this, h)\n\n    this._b(vnode.data!, 'div', this.attrs$)\n\n    return vnode\n  },\n})\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n  index: number\n  value: number\n  isFilled: boolean\n  isHalfFilled?: boolean | undefined\n  isHovered: boolean\n  isHalfHovered?: boolean | undefined\n  click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n  Colorable,\n  Delayable,\n  Rippleable,\n  Sizeable,\n  Themeable\n).extend({\n  name: 'v-rating',\n\n  props: {\n    backgroundColor: {\n      type: String,\n      default: 'accent',\n    },\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    clearable: Boolean,\n    dense: Boolean,\n    emptyIcon: {\n      type: String,\n      default: '$ratingEmpty',\n    },\n    fullIcon: {\n      type: String,\n      default: '$ratingFull',\n    },\n    halfIcon: {\n      type: String,\n      default: '$ratingHalf',\n    },\n    halfIncrements: Boolean,\n    hover: Boolean,\n    length: {\n      type: [Number, String],\n      default: 5,\n    },\n    readonly: Boolean,\n    size: [Number, String],\n    value: {\n      type: Number,\n      default: 0,\n    },\n    iconLabel: {\n      type: String,\n      default: '$vuetify.rating.ariaLabel.icon',\n    },\n  },\n\n  data () {\n    return {\n      hoverIndex: -1,\n      internalValue: this.value,\n    }\n  },\n\n  computed: {\n    directives (): VNodeDirective[] {\n      if (this.readonly || !this.ripple) return []\n\n      return [{\n        name: 'ripple',\n        value: { circle: true },\n      } as VNodeDirective]\n    },\n    iconProps (): object {\n      const {\n        dark,\n        large,\n        light,\n        medium,\n        small,\n        size,\n        xLarge,\n        xSmall,\n      } = this.$props\n\n      return {\n        dark,\n        large,\n        light,\n        medium,\n        size,\n        small,\n        xLarge,\n        xSmall,\n      }\n    },\n    isHovering (): boolean {\n      return this.hover && this.hoverIndex >= 0\n    },\n  },\n\n  watch: {\n    internalValue (val) {\n      val !== this.value && this.$emit('input', val)\n    },\n    value (val) {\n      this.internalValue = val\n    },\n  },\n\n  methods: {\n    createClickFn (i: number): Function {\n      return (e: MouseEvent) => {\n        if (this.readonly) return\n\n        const newValue = this.genHoverIndex(e, i)\n        if (this.clearable && this.internalValue === newValue) {\n          this.internalValue = 0\n        } else {\n          this.internalValue = newValue\n        }\n      }\n    },\n    createProps (i: number): ItemSlotProps {\n      const props: ItemSlotProps = {\n        index: i,\n        value: this.internalValue,\n        click: this.createClickFn(i),\n        isFilled: Math.floor(this.internalValue) > i,\n        isHovered: Math.floor(this.hoverIndex) > i,\n      }\n\n      if (this.halfIncrements) {\n        props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n        props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n      }\n\n      return props\n    },\n    genHoverIndex (e: MouseEvent, i: number) {\n      let isHalf = this.isHalfEvent(e)\n\n      if (\n        this.halfIncrements &&\n        this.$vuetify.rtl\n      ) {\n        isHalf = !isHalf\n      }\n\n      return i + (isHalf ? 0.5 : 1)\n    },\n    getIconName (props: ItemSlotProps): string {\n      const isFull = this.isHovering ? props.isHovered : props.isFilled\n      const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n      return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n    },\n    getColor (props: ItemSlotProps): string {\n      if (this.isHovering) {\n        if (props.isHovered || props.isHalfHovered) return this.color\n      } else {\n        if (props.isFilled || props.isHalfFilled) return this.color\n      }\n\n      return this.backgroundColor\n    },\n    isHalfEvent (e: MouseEvent): boolean {\n      if (this.halfIncrements) {\n        const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n        if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n      }\n\n      return false\n    },\n    onMouseEnter (e: MouseEvent, i: number): void {\n      this.runDelay('open', () => {\n        this.hoverIndex = this.genHoverIndex(e, i)\n      })\n    },\n    onMouseLeave (): void {\n      this.runDelay('close', () => (this.hoverIndex = -1))\n    },\n    genItem (i: number): VNode | VNodeChildren | string {\n      const props = this.createProps(i)\n\n      if (this.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n      const listeners: Record<string, Function> = {\n        click: props.click,\n      }\n\n      if (this.hover) {\n        listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n        listeners.mouseleave = this.onMouseLeave\n\n        if (this.halfIncrements) {\n          listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n        }\n      }\n\n      return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n        },\n        directives: this.directives,\n        props: this.iconProps,\n        on: listeners,\n      }), [this.getIconName(props)])\n    },\n  },\n\n  render (h): VNode {\n    const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n    return h('div', {\n      staticClass: 'v-rating',\n      class: {\n        'v-rating--readonly': this.readonly,\n        'v-rating--dense': this.dense,\n      },\n    }, children)\n  },\n})\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n  VList,\n  VListItem,\n  VListItemAction,\n  VListItemContent,\n  VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport {\n  escapeHTML,\n  getPropertyFromItem,\n} from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n  name: 'v-select-list',\n\n  // https://github.com/vuejs/vue/issues/6872\n  directives: {\n    ripple,\n  },\n\n  props: {\n    action: Boolean,\n    dense: Boolean,\n    hideSelected: Boolean,\n    items: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n    itemDisabled: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'disabled',\n    },\n    itemText: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'text',\n    },\n    itemValue: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'value',\n    },\n    noDataText: String,\n    noFilter: Boolean,\n    searchInput: null as unknown as PropType<any>,\n    selectedItems: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n  },\n\n  computed: {\n    parsedItems (): any[] {\n      return this.selectedItems.map(item => this.getValue(item))\n    },\n    tileActiveClass (): string {\n      return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n    },\n    staticNoDataTile (): VNode {\n      const tile = {\n        attrs: {\n          role: undefined,\n        },\n        on: {\n          mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n        },\n      }\n\n      return this.$createElement(VListItem, tile, [\n        this.genTileContent(this.noDataText),\n      ])\n    },\n  },\n\n  methods: {\n    genAction (item: object, inputValue: any): VNode {\n      return this.$createElement(VListItemAction, [\n        this.$createElement(VSimpleCheckbox, {\n          props: {\n            color: this.color,\n            value: inputValue,\n            ripple: false,\n          },\n          on: {\n            input: () => this.$emit('select', item),\n          },\n        }),\n      ])\n    },\n    genDivider (props: { [key: string]: any }) {\n      return this.$createElement(VDivider, { props })\n    },\n    genFilteredText (text: string) {\n      text = text || ''\n\n      if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n      const { start, middle, end } = this.getMaskedCharacters(text)\n\n      return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n    },\n    genHeader (props: { [key: string]: any }): VNode {\n      return this.$createElement(VSubheader, { props }, props.header)\n    },\n    genHighlight (text: string): string {\n      return `<span class=\"v-list-item__mask\">${escapeHTML(text)}</span>`\n    },\n    getMaskedCharacters (text: string): {\n      start: string\n      middle: string\n      end: string\n    } {\n      const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n      const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n      if (index < 0) return { start: text, middle: '', end: '' }\n\n      const start = text.slice(0, index)\n      const middle = text.slice(index, index + searchInput.length)\n      const end = text.slice(index + searchInput.length)\n      return { start, middle, end }\n    },\n    genTile ({\n      item,\n      index,\n      disabled = null,\n      value = false,\n    }: ListTile): VNode | VNode[] | undefined {\n      if (!value) value = this.hasItem(item)\n\n      if (item === Object(item)) {\n        disabled = disabled !== null\n          ? disabled\n          : this.getDisabled(item)\n      }\n\n      const tile = {\n        attrs: {\n          // Default behavior in list does not\n          // contain aria-selected by default\n          'aria-selected': String(value),\n          id: `list-item-${this._uid}-${index}`,\n          role: 'option',\n        },\n        on: {\n          mousedown: (e: Event) => {\n            // Prevent onBlur from being called\n            e.preventDefault()\n          },\n          click: () => disabled || this.$emit('select', item),\n        },\n        props: {\n          activeClass: this.tileActiveClass,\n          disabled,\n          ripple: true,\n          inputValue: value,\n        },\n      }\n\n      if (!this.$scopedSlots.item) {\n        return this.$createElement(VListItem, tile, [\n          this.action && !this.hideSelected && this.items.length > 0\n            ? this.genAction(item, value)\n            : null,\n          this.genTileContent(item, index),\n        ])\n      }\n\n      const parent = this\n      const scopedSlot = this.$scopedSlots.item({\n        parent,\n        item,\n        attrs: {\n          ...tile.attrs,\n          ...tile.props,\n        },\n        on: tile.on,\n      })\n\n      return this.needsTile(scopedSlot)\n        ? this.$createElement(VListItem, tile, scopedSlot)\n        : scopedSlot\n    },\n    genTileContent (item: any, index = 0): VNode {\n      const innerHTML = this.genFilteredText(this.getText(item))\n\n      return this.$createElement(VListItemContent,\n        [this.$createElement(VListItemTitle, {\n          domProps: { innerHTML },\n        })]\n      )\n    },\n    hasItem (item: object) {\n      return this.parsedItems.indexOf(this.getValue(item)) > -1\n    },\n    needsTile (slot: VNode[] | undefined) {\n      return slot!.length !== 1 ||\n        slot![0].componentOptions == null ||\n        slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n    },\n    getDisabled (item: object) {\n      return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n    },\n    getText (item: object) {\n      return String(getPropertyFromItem(item, this.itemText, item))\n    },\n    getValue (item: object) {\n      return getPropertyFromItem(item, this.itemValue, this.getText(item))\n    },\n  },\n\n  render (): VNode {\n    const children: VNodeChildren = []\n    const itemsLength = this.items.length\n    for (let index = 0; index < itemsLength; index++) {\n      const item = this.items[index]\n\n      if (this.hideSelected &&\n        this.hasItem(item)\n      ) continue\n\n      if (item == null) children.push(this.genTile({ item, index }))\n      else if (item.header) children.push(this.genHeader(item))\n      else if (item.divider) children.push(this.genDivider(item))\n      else children.push(this.genTile({ item, index }))\n    }\n\n    children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n    this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n    this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n    return this.$createElement(VList, {\n      staticClass: 'v-select-list',\n      class: this.themeClasses,\n      attrs: {\n        role: 'listbox',\n        tabindex: -1,\n      },\n      props: { dense: this.dense },\n    }, children)\n  },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'filterable',\n\n  props: {\n    noDataText: {\n      type: String,\n      default: '$vuetify.noDataText',\n    },\n  },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n  closeOnClick: false,\n  closeOnContentClick: false,\n  disableKeys: true,\n  openOnClick: false,\n  maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n  VTextField,\n  Comparable,\n  Dependent,\n  Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  $refs: {\n    menu: InstanceType<typeof VMenu>\n    content: HTMLElement\n    label: HTMLElement\n    input: HTMLInputElement\n    'prepend-inner': HTMLElement\n    'append-inner': HTMLElement\n    prefix: HTMLElement\n    suffix: HTMLElement\n  }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-select',\n\n  directives: {\n    ClickOutside,\n  },\n\n  props: {\n    appendIcon: {\n      type: String,\n      default: '$dropdown',\n    },\n    attach: {\n      type: null as unknown as PropType<string | boolean | Element | VNode>,\n      default: false,\n    },\n    cacheItems: Boolean,\n    chips: Boolean,\n    clearable: Boolean,\n    deletableChips: Boolean,\n    disableLookup: Boolean,\n    eager: Boolean,\n    hideSelected: Boolean,\n    items: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<any[]>,\n    itemColor: {\n      type: String,\n      default: 'primary',\n    },\n    itemDisabled: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'disabled',\n    },\n    itemText: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'text',\n    },\n    itemValue: {\n      type: [String, Array, Function] as PropType<SelectItemKey>,\n      default: 'value',\n    },\n    menuProps: {\n      type: [String, Array, Object],\n      default: () => defaultMenuProps,\n    },\n    multiple: Boolean,\n    openOnClear: Boolean,\n    returnObject: Boolean,\n    smallChips: Boolean,\n  },\n\n  data () {\n    return {\n      cachedItems: this.cacheItems ? this.items : [],\n      menuIsBooted: false,\n      isMenuActive: false,\n      lastItem: 20,\n      // As long as a value is defined, show it\n      // Otherwise, check if multiple\n      // to determine which default to provide\n      lazyValue: this.value !== undefined\n        ? this.value\n        : this.multiple ? [] : undefined,\n      selectedIndex: -1,\n      selectedItems: [] as any[],\n      keyboardLookupPrefix: '',\n      keyboardLookupLastTime: 0,\n    }\n  },\n\n  computed: {\n    /* All items that the select has */\n    allItems (): object[] {\n      return this.filterDuplicates(this.cachedItems.concat(this.items))\n    },\n    classes (): object {\n      return {\n        ...VTextField.options.computed.classes.call(this),\n        'v-select': true,\n        'v-select--chips': this.hasChips,\n        'v-select--chips--small': this.smallChips,\n        'v-select--is-menu-active': this.isMenuActive,\n        'v-select--is-multi': this.multiple,\n      }\n    },\n    /* Used by other components to overwrite */\n    computedItems (): object[] {\n      return this.allItems\n    },\n    computedOwns (): string {\n      return `list-${this._uid}`\n    },\n    computedCounterValue (): number {\n      const value = this.multiple\n        ? this.selectedItems\n        : (this.getText(this.selectedItems[0]) || '').toString()\n\n      if (typeof this.counterValue === 'function') {\n        return this.counterValue(value)\n      }\n\n      return value.length\n    },\n    directives (): VNodeDirective[] | undefined {\n      return this.isFocused ? [{\n        name: 'click-outside',\n        value: {\n          handler: this.blur,\n          closeConditional: this.closeConditional,\n          include: () => this.getOpenDependentElements(),\n        },\n      }] : undefined\n    },\n    dynamicHeight () {\n      return 'auto'\n    },\n    hasChips (): boolean {\n      return this.chips || this.smallChips\n    },\n    hasSlot (): boolean {\n      return Boolean(this.hasChips || this.$scopedSlots.selection)\n    },\n    isDirty (): boolean {\n      return this.selectedItems.length > 0\n    },\n    listData (): object {\n      const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n      const attrs = scopeId ? {\n        [scopeId]: true,\n      } : {}\n\n      return {\n        attrs: {\n          ...attrs,\n          id: this.computedOwns,\n        },\n        props: {\n          action: this.multiple,\n          color: this.itemColor,\n          dense: this.dense,\n          hideSelected: this.hideSelected,\n          items: this.virtualizedItems,\n          itemDisabled: this.itemDisabled,\n          itemText: this.itemText,\n          itemValue: this.itemValue,\n          noDataText: this.$vuetify.lang.t(this.noDataText),\n          selectedItems: this.selectedItems,\n        },\n        on: {\n          select: this.selectItem,\n        },\n        scopedSlots: {\n          item: this.$scopedSlots.item,\n        },\n      }\n    },\n    staticList (): VNode {\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        consoleError('assert: staticList should not be called if slots are used')\n      }\n\n      return this.$createElement(VSelectList, this.listData)\n    },\n    virtualizedItems (): object[] {\n      return (this.$_menuProps as any).auto\n        ? this.computedItems\n        : this.computedItems.slice(0, this.lastItem)\n    },\n    menuCanShow: () => true,\n    $_menuProps (): object {\n      let normalisedProps = typeof this.menuProps === 'string'\n        ? this.menuProps.split(',')\n        : this.menuProps\n\n      if (Array.isArray(normalisedProps)) {\n        normalisedProps = normalisedProps.reduce((acc, p) => {\n          acc[p.trim()] = true\n          return acc\n        }, {})\n      }\n\n      return {\n        ...defaultMenuProps,\n        eager: this.eager,\n        value: this.menuCanShow && this.isMenuActive,\n        nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n        ...normalisedProps,\n      }\n    },\n  },\n\n  watch: {\n    internalValue (val) {\n      this.initialValue = val\n      this.setSelectedItems()\n\n      if (this.multiple) {\n        this.$nextTick(() => {\n          this.$refs.menu?.updateDimensions()\n        })\n      }\n    },\n    isMenuActive (val) {\n      window.setTimeout(() => this.onMenuActiveChange(val))\n    },\n    items: {\n      immediate: true,\n      handler (val) {\n        if (this.cacheItems) {\n          // Breaks vue-test-utils if\n          // this isn't calculated\n          // on the next tick\n          this.$nextTick(() => {\n            this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n          })\n        }\n\n        this.setSelectedItems()\n      },\n    },\n  },\n\n  methods: {\n    /** @public */\n    blur (e?: Event) {\n      VTextField.options.methods.blur.call(this, e)\n      this.isMenuActive = false\n      this.isFocused = false\n      this.selectedIndex = -1\n      this.setMenuIndex(-1)\n    },\n    /** @public */\n    activateMenu () {\n      if (\n        !this.isInteractive ||\n        this.isMenuActive\n      ) return\n\n      this.isMenuActive = true\n    },\n    clearableCallback () {\n      this.setValue(this.multiple ? [] : null)\n      this.setMenuIndex(-1)\n      this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n      if (this.openOnClear) this.isMenuActive = true\n    },\n    closeConditional (e: Event) {\n      if (!this.isMenuActive) return true\n\n      return (\n        !this._isDestroyed &&\n\n        // Click originates from outside the menu content\n        // Multiple selects don't close when an item is clicked\n        (!this.getContent() ||\n        !this.getContent().contains(e.target as Node)) &&\n\n        // Click originates from outside the element\n        this.$el &&\n        !this.$el.contains(e.target as Node) &&\n        e.target !== this.$el\n      )\n    },\n    filterDuplicates (arr: any[]) {\n      const uniqueValues = new Map()\n      for (let index = 0; index < arr.length; ++index) {\n        const item = arr[index]\n\n        // Do not return null values if existant (#14421)\n        if (item == null) {\n          continue\n        }\n        // Do not deduplicate headers or dividers (#12517)\n        if (item.header || item.divider) {\n          uniqueValues.set(item, item)\n          continue\n        }\n\n        const val = this.getValue(item)\n\n        // TODO: comparator\n        !uniqueValues.has(val) && uniqueValues.set(val, item)\n      }\n      return Array.from(uniqueValues.values())\n    },\n    findExistingIndex (item: object) {\n      const itemValue = this.getValue(item)\n\n      return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n    },\n    getContent () {\n      return this.$refs.menu && this.$refs.menu.$refs.content\n    },\n    genChipSelection (item: object, index: number) {\n      const isDisabled = (\n        this.isDisabled ||\n        this.getDisabled(item)\n      )\n      const isInteractive = !isDisabled && this.isInteractive\n\n      return this.$createElement(VChip, {\n        staticClass: 'v-chip--select',\n        attrs: { tabindex: -1 },\n        props: {\n          close: this.deletableChips && isInteractive,\n          disabled: isDisabled,\n          inputValue: index === this.selectedIndex,\n          small: this.smallChips,\n        },\n        on: {\n          click: (e: MouseEvent) => {\n            if (!isInteractive) return\n\n            e.stopPropagation()\n\n            this.selectedIndex = index\n          },\n          'click:close': () => this.onChipInput(item),\n        },\n        key: JSON.stringify(this.getValue(item)),\n      }, this.getText(item))\n    },\n    genCommaSelection (item: object, index: number, last: boolean) {\n      const color = index === this.selectedIndex && this.computedColor\n      const isDisabled = (\n        this.isDisabled ||\n        this.getDisabled(item)\n      )\n\n      return this.$createElement('div', this.setTextColor(color, {\n        staticClass: 'v-select__selection v-select__selection--comma',\n        class: {\n          'v-select__selection--disabled': isDisabled,\n        },\n        key: JSON.stringify(this.getValue(item)),\n      }), `${this.getText(item)}${last ? '' : ', '}`)\n    },\n    genDefaultSlot (): (VNode | VNode[] | null)[] {\n      const selections = this.genSelections()\n      const input = this.genInput()\n\n      // If the return is an empty array\n      // push the input\n      if (Array.isArray(selections)) {\n        selections.push(input)\n      // Otherwise push it into children\n      } else {\n        selections.children = selections.children || []\n        selections.children.push(input)\n      }\n\n      return [\n        this.genFieldset(),\n        this.$createElement('div', {\n          staticClass: 'v-select__slot',\n          directives: this.directives,\n        }, [\n          this.genLabel(),\n          this.prefix ? this.genAffix('prefix') : null,\n          selections,\n          this.suffix ? this.genAffix('suffix') : null,\n          this.genClearIcon(),\n          this.genIconSlot(),\n          this.genHiddenInput(),\n        ]),\n        this.genMenu(),\n        this.genProgress(),\n      ]\n    },\n    genIcon (\n      type: string,\n      cb?: (e: Event) => void,\n      extraData?: VNodeData\n    ) {\n      const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n      if (type === 'append') {\n        // Don't allow the dropdown icon to be focused\n        icon.children![0].data = mergeData(icon.children![0].data!, {\n          attrs: {\n            tabindex: icon.children![0].componentOptions!.listeners && '-1',\n            'aria-hidden': 'true',\n            'aria-label': undefined,\n          },\n        })\n      }\n\n      return icon\n    },\n    genInput (): VNode {\n      const input = VTextField.options.methods.genInput.call(this)\n\n      delete input.data!.attrs!.name\n\n      input.data = mergeData(input.data!, {\n        domProps: { value: null },\n        attrs: {\n          readonly: true,\n          type: 'text',\n          'aria-readonly': String(this.isReadonly),\n          'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n          autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n          placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n        },\n        on: { keypress: this.onKeyPress },\n      })\n\n      return input\n    },\n    genHiddenInput (): VNode {\n      return this.$createElement('input', {\n        domProps: { value: this.lazyValue },\n        attrs: {\n          type: 'hidden',\n          name: this.attrs$.name,\n        },\n      })\n    },\n    genInputSlot (): VNode {\n      const render = VTextField.options.methods.genInputSlot.call(this)\n\n      render.data!.attrs = {\n        ...render.data!.attrs,\n        role: 'button',\n        'aria-haspopup': 'listbox',\n        'aria-expanded': String(this.isMenuActive),\n        'aria-owns': this.computedOwns,\n      }\n\n      return render\n    },\n    genList (): VNode {\n      // If there's no slots, we can use a cached VNode to improve performance\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        return this.genListWithSlot()\n      } else {\n        return this.staticList\n      }\n    },\n    genListWithSlot (): VNode {\n      const slots = ['prepend-item', 'no-data', 'append-item']\n        .filter(slotName => this.$slots[slotName])\n        .map(slotName => this.$createElement('template', {\n          slot: slotName,\n        }, this.$slots[slotName]))\n      // Requires destructuring due to Vue\n      // modifying the `on` property when passed\n      // as a referenced object\n      return this.$createElement(VSelectList, {\n        ...this.listData,\n      }, slots)\n    },\n    genMenu (): VNode {\n      const props = this.$_menuProps as any\n      props.activator = this.$refs['input-slot']\n\n      // Attach to root el so that\n      // menu covers prepend/append icons\n      if (\n        // TODO: make this a computed property or helper or something\n        this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n        this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n        this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n      ) {\n        props.attach = this.$el\n      } else {\n        props.attach = this.attach\n      }\n\n      return this.$createElement(VMenu, {\n        attrs: { role: undefined },\n        props,\n        on: {\n          input: (val: boolean) => {\n            this.isMenuActive = val\n            this.isFocused = val\n          },\n          scroll: this.onScroll,\n        },\n        ref: 'menu',\n      }, [this.genList()])\n    },\n    genSelections (): VNode {\n      let length = this.selectedItems.length\n      const children = new Array(length)\n\n      let genSelection\n      if (this.$scopedSlots.selection) {\n        genSelection = this.genSlotSelection\n      } else if (this.hasChips) {\n        genSelection = this.genChipSelection\n      } else {\n        genSelection = this.genCommaSelection\n      }\n\n      while (length--) {\n        children[length] = genSelection(\n          this.selectedItems[length],\n          length,\n          length === children.length - 1\n        )\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-select__selections',\n      }, children)\n    },\n    genSlotSelection (item: object, index: number): VNode[] | undefined {\n      return this.$scopedSlots.selection!({\n        attrs: {\n          class: 'v-chip--select',\n        },\n        parent: this,\n        item,\n        index,\n        select: (e: Event) => {\n          e.stopPropagation()\n          this.selectedIndex = index\n        },\n        selected: index === this.selectedIndex,\n        disabled: !this.isInteractive,\n      })\n    },\n    getMenuIndex () {\n      return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n    },\n    getDisabled (item: object) {\n      return getPropertyFromItem(item, this.itemDisabled, false)\n    },\n    getText (item: object) {\n      return getPropertyFromItem(item, this.itemText, item)\n    },\n    getValue (item: object) {\n      return getPropertyFromItem(item, this.itemValue, this.getText(item))\n    },\n    onBlur (e?: Event) {\n      e && this.$emit('blur', e)\n    },\n    onChipInput (item: object) {\n      if (this.multiple) this.selectItem(item)\n      else this.setValue(null)\n      // If all items have been deleted,\n      // open `v-menu`\n      if (this.selectedItems.length === 0) {\n        this.isMenuActive = true\n      } else {\n        this.isMenuActive = false\n      }\n      this.selectedIndex = -1\n    },\n    onClick (e: MouseEvent) {\n      if (!this.isInteractive) return\n\n      if (!this.isAppendInner(e.target)) {\n        this.isMenuActive = true\n      }\n\n      if (!this.isFocused) {\n        this.isFocused = true\n        this.$emit('focus')\n      }\n\n      this.$emit('click', e)\n    },\n    onEscDown (e: Event) {\n      e.preventDefault()\n      if (this.isMenuActive) {\n        e.stopPropagation()\n        this.isMenuActive = false\n      }\n    },\n    onKeyPress (e: KeyboardEvent) {\n      if (\n        this.multiple ||\n        !this.isInteractive ||\n        this.disableLookup\n      ) return\n\n      const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n      const now = performance.now()\n      if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n        this.keyboardLookupPrefix = ''\n      }\n      this.keyboardLookupPrefix += e.key.toLowerCase()\n      this.keyboardLookupLastTime = now\n\n      const index = this.allItems.findIndex(item => {\n        const text = (this.getText(item) || '').toString()\n\n        return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n      })\n      const item = this.allItems[index]\n      if (index !== -1) {\n        this.lastItem = Math.max(this.lastItem, index + 5)\n        this.setValue(this.returnObject ? item : this.getValue(item))\n        this.$nextTick(() => this.$refs.menu.getTiles())\n        setTimeout(() => this.setMenuIndex(index))\n      }\n    },\n    onKeyDown (e: KeyboardEvent) {\n      if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n      const keyCode = e.keyCode\n      const menu = this.$refs.menu\n\n      this.$emit('keydown', e)\n\n      if (!menu) return\n\n      // If menu is active, allow default\n      // listIndex change from menu\n      if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n        this.$nextTick(() => {\n          menu.changeListIndex(e)\n          this.$emit('update:list-index', menu.listIndex)\n        })\n      }\n\n      // If enter, space, open menu\n      if ([\n        keyCodes.enter,\n        keyCodes.space,\n      ].includes(keyCode)) this.activateMenu()\n\n      // If menu is not active, up/down/home/end can do\n      // one of 2 things. If multiple, opens the\n      // menu, if not, will cycle through all\n      // available options\n      if (\n        !this.isMenuActive &&\n        [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n      ) return this.onUpDown(e)\n\n      // If escape deactivate the menu\n      if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n      // If tab - select item or close menu\n      if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n      // If space preventDefault\n      if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n    },\n    onMenuActiveChange (val: boolean) {\n      // If menu is closing and mulitple\n      // or menuIndex is already set\n      // skip menu index recalculation\n      if (\n        (this.multiple && !val) ||\n        this.getMenuIndex() > -1\n      ) return\n\n      const menu = this.$refs.menu\n\n      if (!menu || !this.isDirty) return\n\n      // When menu opens, set index of first active item\n      this.$refs.menu.getTiles()\n      for (let i = 0; i < menu.tiles.length; i++) {\n        if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n          this.setMenuIndex(i)\n          break\n        }\n      }\n    },\n    onMouseUp (e: MouseEvent) {\n      // eslint-disable-next-line sonarjs/no-collapsible-if\n      if (\n        this.hasMouseDown &&\n        e.which !== 3 &&\n        this.isInteractive\n      ) {\n        // If append inner is present\n        // and the target is itself\n        // or inside, toggle menu\n        if (this.isAppendInner(e.target)) {\n          this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n        }\n      }\n\n      VTextField.options.methods.onMouseUp.call(this, e)\n    },\n    onScroll () {\n      if (!this.isMenuActive) {\n        requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n      } else {\n        if (this.lastItem > this.computedItems.length) return\n\n        const showMoreItems = (\n          this.getContent().scrollHeight -\n          (this.getContent().scrollTop +\n          this.getContent().clientHeight)\n        ) < 200\n\n        if (showMoreItems) {\n          this.lastItem += 20\n        }\n      }\n    },\n    onSpaceDown (e: KeyboardEvent) {\n      e.preventDefault()\n    },\n    onTabDown (e: KeyboardEvent) {\n      const menu = this.$refs.menu\n\n      if (!menu) return\n\n      const activeTile = menu.activeTile\n\n      // An item that is selected by\n      // menu-index should toggled\n      if (\n        !this.multiple &&\n        activeTile &&\n        this.isMenuActive\n      ) {\n        e.preventDefault()\n        e.stopPropagation()\n\n        activeTile.click()\n      } else {\n        // If we make it here,\n        // the user has no selected indexes\n        // and is probably tabbing out\n        this.blur(e)\n      }\n    },\n    onUpDown (e: KeyboardEvent) {\n      const menu = this.$refs.menu\n\n      if (!menu) return\n\n      e.preventDefault()\n\n      // Multiple selects do not cycle their value\n      // when pressing up or down, instead activate\n      // the menu\n      if (this.multiple) return this.activateMenu()\n\n      const keyCode = e.keyCode\n\n      // Cycle through available values to achieve\n      // select native behavior\n      menu.isBooted = true\n\n      window.requestAnimationFrame(() => {\n        menu.getTiles()\n\n        if (!menu.hasClickableTiles) return this.activateMenu()\n\n        switch (keyCode) {\n          case keyCodes.up:\n            menu.prevTile()\n            break\n          case keyCodes.down:\n            menu.nextTile()\n            break\n          case keyCodes.home:\n            menu.firstTile()\n            break\n          case keyCodes.end:\n            menu.lastTile()\n            break\n        }\n        this.selectItem(this.allItems[this.getMenuIndex()])\n      })\n    },\n    selectItem (item: object) {\n      if (!this.multiple) {\n        this.setValue(this.returnObject ? item : this.getValue(item))\n        this.isMenuActive = false\n      } else {\n        const internalValue = (this.internalValue || []).slice()\n        const i = this.findExistingIndex(item)\n\n        i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n        this.setValue(internalValue.map((i: object) => {\n          return this.returnObject ? i : this.getValue(i)\n        }))\n\n        // There is no item to re-highlight\n        // when selections are hidden\n        if (this.hideSelected) {\n          this.setMenuIndex(-1)\n        } else {\n          const index = this.allItems.indexOf(item)\n          if (~index) {\n            this.$nextTick(() => this.$refs.menu.getTiles())\n            setTimeout(() => this.setMenuIndex(index))\n          }\n        }\n      }\n    },\n    setMenuIndex (index: number) {\n      this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n    },\n    setSelectedItems () {\n      const selectedItems = []\n      const values = !this.multiple || !Array.isArray(this.internalValue)\n        ? [this.internalValue]\n        : this.internalValue\n\n      for (const value of values) {\n        const index = this.allItems.findIndex(v => this.valueComparator(\n          this.getValue(v),\n          this.getValue(value)\n        ))\n\n        if (index > -1) {\n          selectedItems.push(this.allItems[index])\n        }\n      }\n\n      this.selectedItems = selectedItems\n    },\n    setValue (value: any) {\n      if (!this.valueComparator(value, this.internalValue)) {\n        this.internalValue = value\n        this.$emit('change', value)\n      }\n    },\n    isAppendInner (target: any) {\n      // return true if append inner is present\n      // and the target is itself or inside\n      const appendInner = this.$refs['append-inner']\n\n      return appendInner && (appendInner === target || appendInner.contains(target))\n    },\n  },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n  BindsAttrs,\n  Colorable,\n  Elevatable,\n  Measurable,\n  Roundable,\n  Themeable\n).extend({\n  name: 'v-sheet',\n\n  props: {\n    outlined: Boolean,\n    shaped: Boolean,\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-sheet': true,\n        'v-sheet--outlined': this.outlined,\n        'v-sheet--shaped': this.shaped,\n        ...this.themeClasses,\n        ...this.elevationClasses,\n        ...this.roundedClasses,\n      }\n    },\n    styles (): object {\n      return this.measurableStyles\n    },\n  },\n\n  render (h): VNode {\n    const data = {\n      class: this.classes,\n      style: this.styles,\n      on: this.listeners$,\n    }\n\n    return h(\n      this.tag,\n      this.setBackgroundColor(this.color, data),\n      this.$slots.default\n    )\n  },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n  _initialStyle?: {\n    display: string | null\n    transition: string\n  }\n}\n\n/* @vue/component */\nexport default mixins(\n  Elevatable,\n  Measurable,\n  Themeable,\n).extend({\n  name: 'VSkeletonLoader',\n\n  props: {\n    boilerplate: Boolean,\n    loading: Boolean,\n    tile: Boolean,\n    transition: String,\n    type: String,\n    types: {\n      type: Object,\n      default: () => ({}),\n    } as PropValidator<Record<string, string>>,\n  },\n\n  computed: {\n    attrs (): object {\n      if (!this.isLoading) return this.$attrs\n\n      return !this.boilerplate ? {\n        'aria-busy': true,\n        'aria-live': 'polite',\n        role: 'alert',\n        ...this.$attrs,\n      } : {}\n    },\n    classes (): object {\n      return {\n        'v-skeleton-loader--boilerplate': this.boilerplate,\n        'v-skeleton-loader--is-loading': this.isLoading,\n        'v-skeleton-loader--tile': this.tile,\n        ...this.themeClasses,\n        ...this.elevationClasses,\n      }\n    },\n    isLoading (): boolean {\n      return !('default' in this.$scopedSlots) || this.loading\n    },\n    rootTypes (): Record<string, string> {\n      return {\n        actions: 'button@2',\n        article: 'heading, paragraph',\n        avatar: 'avatar',\n        button: 'button',\n        card: 'image, card-heading',\n        'card-avatar': 'image, list-item-avatar',\n        'card-heading': 'heading',\n        chip: 'chip',\n        'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n        'date-picker-options': 'text, avatar@2',\n        'date-picker-days': 'avatar@28',\n        heading: 'heading',\n        image: 'image',\n        'list-item': 'text',\n        'list-item-avatar': 'avatar, text',\n        'list-item-two-line': 'sentences',\n        'list-item-avatar-two-line': 'avatar, sentences',\n        'list-item-three-line': 'paragraph',\n        'list-item-avatar-three-line': 'avatar, paragraph',\n        paragraph: 'text@3',\n        sentences: 'text@2',\n        table: 'table-heading, table-thead, table-tbody, table-tfoot',\n        'table-heading': 'heading, text',\n        'table-thead': 'heading@6',\n        'table-tbody': 'table-row-divider@6',\n        'table-row-divider': 'table-row, divider',\n        'table-row': 'table-cell@6',\n        'table-cell': 'text',\n        'table-tfoot': 'text@2, avatar@2',\n        text: 'text',\n        ...this.types,\n      }\n    },\n  },\n\n  methods: {\n    genBone (text: string, children: VNode[]) {\n      return this.$createElement('div', {\n        staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n      }, children)\n    },\n    genBones (bone: string): VNode[] {\n      // e.g. 'text@3'\n      const [type, length] = bone.split('@') as [string, number]\n      const generator = () => this.genStructure(type)\n\n      // Generate a length array based upon\n      // value after @ in the bone string\n      return Array.from({ length }).map(generator)\n    },\n    // Fix type when this is merged\n    // https://github.com/microsoft/TypeScript/pull/33050\n    genStructure (type?: string): any {\n      let children = []\n      type = type || this.type || ''\n      const bone = this.rootTypes[type] || ''\n\n      // End of recursion, do nothing\n      /* eslint-disable-next-line no-empty, brace-style */\n      if (type === bone) {}\n      // Array of values - e.g. 'heading, paragraph, text@2'\n      else if (type.indexOf(',') > -1) return this.mapBones(type)\n      // Array of values - e.g. 'paragraph@4'\n      else if (type.indexOf('@') > -1) return this.genBones(type)\n      // Array of values - e.g. 'card@2'\n      else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n      // Array of values - e.g. 'list-item@2'\n      else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n      // Single value - e.g. 'card-heading'\n      else if (bone) children.push(this.genStructure(bone))\n\n      return [this.genBone(type, children)]\n    },\n    genSkeleton () {\n      const children = []\n\n      if (!this.isLoading) children.push(getSlot(this))\n      else children.push(this.genStructure())\n\n      /* istanbul ignore else */\n      if (!this.transition) return children\n\n      /* istanbul ignore next */\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n        },\n        // Only show transition when\n        // content has been loaded\n        on: {\n          afterEnter: this.resetStyles,\n          beforeEnter: this.onBeforeEnter,\n          beforeLeave: this.onBeforeLeave,\n          leaveCancelled: this.resetStyles,\n        },\n      }, children)\n    },\n    mapBones (bones: string) {\n      // Remove spaces and return array of structures\n      return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n    },\n    onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n      this.resetStyles(el)\n\n      if (!this.isLoading) return\n\n      el._initialStyle = {\n        display: el.style.display,\n        transition: el.style.transition,\n      }\n\n      el.style.setProperty('transition', 'none', 'important')\n    },\n    onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n      el.style.setProperty('display', 'none', 'important')\n    },\n    resetStyles (el: HTMLSkeletonLoaderElement) {\n      if (!el._initialStyle) return\n\n      el.style.display = el._initialStyle.display || ''\n      el.style.transition = el._initialStyle.transition\n\n      delete el._initialStyle\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-skeleton-loader',\n      attrs: this.attrs,\n      on: this.$listeners,\n      class: this.classes,\n      style: this.isLoading ? this.measurableStyles : undefined,\n    }, [this.genSkeleton()])\n  },\n})\n","// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n  VSheet,\n  RegistrableProvide('stepper'),\n  Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-stepper',\n\n  provide (): object {\n    return {\n      stepClick: this.stepClick,\n      isVertical: this.vertical,\n    }\n  },\n\n  props: {\n    altLabels: Boolean,\n    nonLinear: Boolean,\n    flat: Boolean,\n    vertical: Boolean,\n  },\n\n  data () {\n    const data: Dictionary<any> = {\n      isBooted: false,\n      steps: [] as VStepperStepInstance[],\n      content: [] as VStepperContentInstance[],\n      isReverse: false,\n    }\n\n    data.internalLazyValue = this.value != null\n      ? this.value\n      : (data[0] || {}).step || 1\n\n    return data\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-stepper--flat': this.flat,\n        'v-stepper--is-booted': this.isBooted,\n        'v-stepper--vertical': this.vertical,\n        'v-stepper--alt-labels': this.altLabels,\n        'v-stepper--non-linear': this.nonLinear,\n        ...VSheet.options.computed.classes.call(this),\n      }\n    },\n    styles (): object {\n      return {\n        ...VSheet.options.computed.styles.call(this),\n      }\n    },\n  },\n\n  watch: {\n    internalValue (val, oldVal) {\n      this.isReverse = Number(val) < Number(oldVal)\n\n      oldVal && (this.isBooted = true)\n\n      this.updateView()\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$listeners.input) {\n      breaking('@input', '@change', this)\n    }\n  },\n\n  mounted () {\n    this.updateView()\n  },\n\n  methods: {\n    register (item: VStepperStepInstance | VStepperContentInstance) {\n      if (item.$options.name === 'v-stepper-step') {\n        this.steps.push(item as VStepperStepInstance)\n      } else if (item.$options.name === 'v-stepper-content') {\n        (item as VStepperContentInstance).isVertical = this.vertical\n        this.content.push(item as VStepperContentInstance)\n      }\n    },\n    unregister (item: VStepperStepInstance | VStepperContentInstance) {\n      if (item.$options.name === 'v-stepper-step') {\n        this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n      } else if (item.$options.name === 'v-stepper-content') {\n        (item as VStepperContentInstance).isVertical = this.vertical\n        this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n      }\n    },\n    stepClick (step: string | number) {\n      this.$nextTick(() => (this.internalValue = step))\n    },\n    updateView () {\n      for (let index = this.steps.length; --index >= 0;) {\n        this.steps[index].toggle(this.internalValue as any)\n      }\n      for (let index = this.content.length; --index >= 0;) {\n        this.content[index].toggle(this.internalValue as any, this.isReverse)\n      }\n    },\n  },\n\n  render (h): VNode {\n    return h(this.tag, {\n      staticClass: 'v-stepper',\n      class: this.classes,\n      style: this.styles,\n    }, this.$slots.default)\n  },\n})\n","// Components\nimport {\n  VTabTransition,\n  VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n  RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  $refs: {\n    wrapper: HTMLElement\n  }\n  isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-stepper-content',\n\n  inject: {\n    isVerticalProvided: {\n      from: 'isVertical',\n    },\n  },\n\n  props: {\n    step: {\n      type: [Number, String],\n      required: true,\n    },\n  },\n\n  data () {\n    return {\n      height: 0 as number | string,\n      // Must be null to allow\n      // previous comparison\n      isActive: null as boolean | null,\n      isReverse: false,\n      isVertical: this.isVerticalProvided,\n    }\n  },\n\n  computed: {\n    computedTransition (): FunctionalComponentOptions {\n      // Fix for #8978\n      const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n      return reverse\n        ? VTabReverseTransition\n        : VTabTransition\n    },\n    styles (): object {\n      if (!this.isVertical) return {}\n\n      return {\n        height: convertToUnit(this.height),\n      }\n    },\n  },\n\n  watch: {\n    isActive (current, previous) {\n      // If active and the previous state\n      // was null, is just booting up\n      if (current && previous == null) {\n        this.height = 'auto'\n        return\n      }\n\n      if (!this.isVertical) return\n\n      if (this.isActive) this.enter()\n      else this.leave()\n    },\n  },\n\n  mounted () {\n    this.$refs.wrapper.addEventListener(\n      'transitionend',\n      this.onTransition,\n      false\n    )\n    this.stepper && this.stepper.register(this)\n  },\n\n  beforeDestroy () {\n    this.$refs.wrapper.removeEventListener(\n      'transitionend',\n      this.onTransition,\n      false\n    )\n    this.stepper && this.stepper.unregister(this)\n  },\n\n  methods: {\n    onTransition (e: TransitionEvent) {\n      if (!this.isActive ||\n        e.propertyName !== 'height'\n      ) return\n\n      this.height = 'auto'\n    },\n    enter () {\n      let scrollHeight = 0\n\n      // Render bug with height\n      requestAnimationFrame(() => {\n        scrollHeight = this.$refs.wrapper.scrollHeight\n      })\n\n      this.height = 0\n\n      // Give the collapsing element time to collapse\n      setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n    },\n    leave () {\n      this.height = this.$refs.wrapper.clientHeight\n      setTimeout(() => (this.height = 0), 10)\n    },\n    toggle (step: string | number, reverse: boolean) {\n      this.isActive = step.toString() === this.step.toString()\n      this.isReverse = reverse\n    },\n  },\n\n  render (h): VNode {\n    const contentData = {\n      staticClass: 'v-stepper__content',\n    } as VNodeData\n    const wrapperData = {\n      staticClass: 'v-stepper__wrapper',\n      style: this.styles,\n      ref: 'wrapper',\n    }\n\n    if (!this.isVertical) {\n      contentData.directives = [{\n        name: 'show',\n        value: this.isActive,\n      }]\n    }\n\n    const wrapper = h('div', wrapperData, [this.$slots.default])\n    const content = h('div', contentData, [wrapper])\n\n    return h(this.computedTransition, {\n      on: this.$listeners,\n    }, [content])\n  },\n})\n","// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n  Colorable,\n  RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-stepper-step',\n\n  directives: { ripple },\n\n  inject: ['stepClick'],\n\n  props: {\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    complete: Boolean,\n    completeIcon: {\n      type: String,\n      default: '$complete',\n    },\n    editable: Boolean,\n    editIcon: {\n      type: String,\n      default: '$edit',\n    },\n    errorIcon: {\n      type: String,\n      default: '$error',\n    },\n    rules: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<VuetifyStepperRuleValidator[]>,\n    step: [Number, String],\n  },\n\n  data () {\n    return {\n      isActive: false,\n      isInactive: true,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-stepper__step--active': this.isActive,\n        'v-stepper__step--editable': this.editable,\n        'v-stepper__step--inactive': this.isInactive,\n        'v-stepper__step--error error--text': this.hasError,\n        'v-stepper__step--complete': this.complete,\n      }\n    },\n    hasError (): boolean {\n      return this.rules.some(validate => validate() !== true)\n    },\n  },\n\n  mounted () {\n    this.stepper && this.stepper.register(this)\n  },\n\n  beforeDestroy () {\n    this.stepper && this.stepper.unregister(this)\n  },\n\n  methods: {\n    click (e: MouseEvent | KeyboardEvent) {\n      e.stopPropagation()\n\n      this.$emit('click', e)\n\n      if (this.editable) {\n        this.stepClick(this.step)\n      }\n    },\n    genIcon (icon: string) {\n      return this.$createElement(VIcon, icon)\n    },\n    genLabel () {\n      return this.$createElement('div', {\n        staticClass: 'v-stepper__label',\n      }, this.$slots.default)\n    },\n    genStep () {\n      const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n      return this.$createElement('span', this.setBackgroundColor(color, {\n        staticClass: 'v-stepper__step__step',\n      }), this.genStepContent())\n    },\n    genStepContent () {\n      const children = []\n\n      if (this.hasError) {\n        children.push(this.genIcon(this.errorIcon))\n      } else if (this.complete) {\n        if (this.editable) {\n          children.push(this.genIcon(this.editIcon))\n        } else {\n          children.push(this.genIcon(this.completeIcon))\n        }\n      } else {\n        children.push(String(this.step))\n      }\n\n      return children\n    },\n    keyboardClick (e: KeyboardEvent) {\n      if (e.keyCode === keyCodes.space) {\n        this.click(e)\n      }\n    },\n    toggle (step: number | string) {\n      this.isActive = step.toString() === this.step.toString()\n      this.isInactive = Number(step) < Number(this.step)\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      attrs: {\n        tabindex: this.editable ? 0 : -1,\n      },\n      staticClass: 'v-stepper__step',\n      class: this.classes,\n      directives: [{\n        name: 'ripple',\n        value: this.editable,\n      }],\n      on: {\n        click: this.click,\n        keydown: this.keyboardClick,\n      },\n    }, [\n      this.genStep(),\n      this.genLabel(),\n    ])\n  },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n  Themeable\n  /* @vue/component */\n).extend({\n  name: 'v-subheader',\n\n  props: {\n    inset: Boolean,\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-subheader',\n      class: {\n        'v-subheader--inset': this.inset,\n        ...this.themeClasses,\n      },\n      attrs: this.$attrs,\n      on: this.$listeners,\n    }, this.$slots.default)\n  },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n  name: 'v-switch',\n\n  directives: { Touch },\n\n  props: {\n    inset: Boolean,\n    loading: {\n      type: [Boolean, String],\n      default: false,\n    },\n    flat: {\n      type: Boolean,\n      default: false,\n    },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls v-input--switch': true,\n        'v-input--switch--flat': this.flat,\n        'v-input--switch--inset': this.inset,\n      }\n    },\n    attrs (): object {\n      return {\n        'aria-checked': String(this.isActive),\n        'aria-disabled': String(this.isDisabled),\n        role: 'switch',\n      }\n    },\n    // Do not return undefined if disabled,\n    // according to spec, should still show\n    // a color when disabled and active\n    validationState (): string | undefined {\n      if (this.hasError && this.shouldValidate) return 'error'\n      if (this.hasSuccess) return 'success'\n      if (this.hasColor !== null) return this.computedColor\n      return undefined\n    },\n    switchData (): VNodeData {\n      return this.setTextColor(this.loading ? undefined : this.validationState, {\n        class: this.themeClasses,\n      })\n    },\n  },\n\n  methods: {\n    genDefaultSlot (): (VNode | null)[] {\n      return [\n        this.genSwitch(),\n        this.genLabel(),\n      ]\n    },\n    genSwitch (): VNode {\n      const { title, ...switchAttrs } = this.attrs$\n\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input',\n      }, [\n        this.genInput('checkbox', {\n          ...this.attrs,\n          ...switchAttrs,\n        }),\n        this.genRipple(this.setTextColor(this.validationState, {\n          directives: [{\n            name: 'touch',\n            value: {\n              left: this.onSwipeLeft,\n              right: this.onSwipeRight,\n            },\n          }],\n        })),\n        this.$createElement('div', {\n          staticClass: 'v-input--switch__track',\n          ...this.switchData,\n        }),\n        this.$createElement('div', {\n          staticClass: 'v-input--switch__thumb',\n          ...this.switchData,\n        }, [this.genProgress()]),\n      ])\n    },\n    genProgress (): VNode {\n      return this.$createElement(VFabTransition, {}, [\n        this.loading === false\n          ? null\n          : this.$slots.progress || this.$createElement(VProgressCircular, {\n            props: {\n              color: (this.loading === true || this.loading === '')\n                ? (this.color || 'primary')\n                : this.loading,\n              size: 16,\n              width: 2,\n              indeterminate: true,\n            },\n          }),\n      ])\n    },\n    onSwipeLeft () {\n      if (this.isActive) this.onChange()\n    },\n    onSwipeRight () {\n      if (!this.isActive) this.onChange()\n    },\n    onKeydown (e: KeyboardEvent) {\n      if (\n        (e.keyCode === keyCodes.left && this.isActive) ||\n        (e.keyCode === keyCodes.right && !this.isActive)\n      ) this.onChange()\n    },\n  },\n})\n","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n  name: 'v-counter',\n\n  functional: true,\n\n  props: {\n    value: {\n      type: [Number, String],\n      default: '',\n    },\n    max: [Number, String],\n  },\n\n  render (h, ctx): VNode {\n    const { props } = ctx\n    const max = parseInt(props.max, 10)\n    const value = parseInt(props.value, 10)\n    const content = max ? `${value} / ${max}` : String(props.value)\n    const isGreater = max && (value > max)\n\n    return h('div', {\n      staticClass: 'v-counter',\n      class: {\n        'error--text': isGreater,\n        ...functionalThemeClasses(ctx),\n      },\n    }, content)\n  },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Directives\nimport Intersect from '../../directives/intersect'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\nexport default function intersectable (options: { onVisible: string[] }) {\n  return Vue.extend({\n    name: 'intersectable',\n\n    data: () => ({\n      isIntersecting: false,\n    }),\n\n    mounted () {\n      Intersect.inserted(this.$el as HTMLElement, {\n        name: 'intersect',\n        value: this.onObserve,\n      }, this.$vnode)\n    },\n\n    destroyed () {\n      Intersect.unbind(this.$el as HTMLElement, {\n        name: 'intersect',\n        value: this.onObserve,\n      }, this.$vnode)\n    },\n\n    methods: {\n      onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n        this.isIntersecting = isIntersecting\n\n        if (!isIntersecting) return\n\n        for (let i = 0, length = options.onVisible.length; i < length; i++) {\n          const callback = (this as any)[options.onVisible[i]]\n\n          if (typeof callback === 'function') {\n            callback()\n            continue\n          }\n\n          consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options')\n        }\n      },\n    },\n  })\n}\n","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n  VInput,\n  Intersectable({\n    onVisible: [\n      'onResize',\n      'tryAutofocus',\n    ],\n  }),\n  Loadable,\n)\ninterface options extends InstanceType<typeof baseMixins> {\n  $refs: {\n    label: HTMLElement\n    input: HTMLInputElement\n    'prepend-inner': HTMLElement\n    prefix: HTMLElement\n    suffix: HTMLElement\n  }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-text-field',\n\n  directives: {\n    resize,\n    ripple,\n  },\n\n  inheritAttrs: false,\n\n  props: {\n    appendOuterIcon: String,\n    autofocus: Boolean,\n    clearable: Boolean,\n    clearIcon: {\n      type: String,\n      default: '$clear',\n    },\n    counter: [Boolean, Number, String],\n    counterValue: Function as PropType<(value: any) => number>,\n    filled: Boolean,\n    flat: Boolean,\n    fullWidth: Boolean,\n    label: String,\n    outlined: Boolean,\n    placeholder: String,\n    prefix: String,\n    prependInnerIcon: String,\n    persistentPlaceholder: Boolean,\n    reverse: Boolean,\n    rounded: Boolean,\n    shaped: Boolean,\n    singleLine: Boolean,\n    solo: Boolean,\n    soloInverted: Boolean,\n    suffix: String,\n    type: {\n      type: String,\n      default: 'text',\n    },\n  },\n\n  data: () => ({\n    badInput: false,\n    labelWidth: 0,\n    prefixWidth: 0,\n    prependWidth: 0,\n    initialValue: null,\n    isBooted: false,\n    isClearing: false,\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-text-field': true,\n        'v-text-field--full-width': this.fullWidth,\n        'v-text-field--prefix': this.prefix,\n        'v-text-field--single-line': this.isSingle,\n        'v-text-field--solo': this.isSolo,\n        'v-text-field--solo-inverted': this.soloInverted,\n        'v-text-field--solo-flat': this.flat,\n        'v-text-field--filled': this.filled,\n        'v-text-field--is-booted': this.isBooted,\n        'v-text-field--enclosed': this.isEnclosed,\n        'v-text-field--reverse': this.reverse,\n        'v-text-field--outlined': this.outlined,\n        'v-text-field--placeholder': this.placeholder,\n        'v-text-field--rounded': this.rounded,\n        'v-text-field--shaped': this.shaped,\n      }\n    },\n    computedColor (): string | undefined {\n      const computedColor = Validatable.options.computed.computedColor.call(this)\n\n      if (!this.soloInverted || !this.isFocused) return computedColor\n\n      return this.color || 'primary'\n    },\n    computedCounterValue (): number {\n      if (typeof this.counterValue === 'function') {\n        return this.counterValue(this.internalValue)\n      }\n      return [...(this.internalValue || '').toString()].length\n    },\n    hasCounter (): boolean {\n      return this.counter !== false && this.counter != null\n    },\n    hasDetails (): boolean {\n      return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n    },\n    internalValue: {\n      get (): any {\n        return this.lazyValue\n      },\n      set (val: any) {\n        this.lazyValue = val\n        this.$emit('input', this.lazyValue)\n      },\n    },\n    isDirty (): boolean {\n      return this.lazyValue?.toString().length > 0 || this.badInput\n    },\n    isEnclosed (): boolean {\n      return (\n        this.filled ||\n        this.isSolo ||\n        this.outlined\n      )\n    },\n    isLabelActive (): boolean {\n      return this.isDirty || dirtyTypes.includes(this.type)\n    },\n    isSingle (): boolean {\n      return (\n        this.isSolo ||\n        this.singleLine ||\n        this.fullWidth ||\n        // https://material.io/components/text-fields/#filled-text-field\n        (this.filled && !this.hasLabel)\n      )\n    },\n    isSolo (): boolean {\n      return this.solo || this.soloInverted\n    },\n    labelPosition (): Record<'left' | 'right', string | number | undefined> {\n      let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n      if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n      return (this.$vuetify.rtl === this.reverse) ? {\n        left: offset,\n        right: 'auto',\n      } : {\n        left: 'auto',\n        right: offset,\n      }\n    },\n    showLabel (): boolean {\n      return this.hasLabel && !(this.isSingle && this.labelValue)\n    },\n    labelValue (): boolean {\n      return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n    },\n  },\n\n  watch: {\n    // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n    outlined: 'setLabelWidth',\n    label () {\n      this.$nextTick(this.setLabelWidth)\n    },\n    prefix () {\n      this.$nextTick(this.setPrefixWidth)\n    },\n    isFocused: 'updateValue',\n    value (val) {\n      this.lazyValue = val\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('box')) {\n      breaking('box', 'filled', this)\n    }\n\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n      breaking('browser-autocomplete', 'autocomplete', this)\n    }\n\n    /* istanbul ignore if */\n    if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n      consoleWarn('shaped should be used with either filled or outlined', this)\n    }\n  },\n\n  mounted () {\n    // #11533\n    this.$watch(() => this.labelValue, this.setLabelWidth)\n    this.autofocus && this.tryAutofocus()\n    requestAnimationFrame(() => {\n      this.isBooted = true\n      requestAnimationFrame(() => {\n        if (!this.isIntersecting) {\n          this.onResize()\n        }\n      })\n    })\n  },\n\n  methods: {\n    /** @public */\n    focus () {\n      this.onFocus()\n    },\n    /** @public */\n    blur (e?: Event) {\n      // https://github.com/vuetifyjs/vuetify/issues/5913\n      // Safari tab order gets broken if called synchronous\n      window.requestAnimationFrame(() => {\n        this.$refs.input && this.$refs.input.blur()\n      })\n    },\n    clearableCallback () {\n      this.$refs.input && this.$refs.input.focus()\n      this.$nextTick(() => this.internalValue = null)\n    },\n    genAppendSlot () {\n      const slot = []\n\n      if (this.$slots['append-outer']) {\n        slot.push(this.$slots['append-outer'] as VNode[])\n      } else if (this.appendOuterIcon) {\n        slot.push(this.genIcon('appendOuter'))\n      }\n\n      return this.genSlot('append', 'outer', slot)\n    },\n    genPrependInnerSlot () {\n      const slot = []\n\n      if (this.$slots['prepend-inner']) {\n        slot.push(this.$slots['prepend-inner'] as VNode[])\n      } else if (this.prependInnerIcon) {\n        slot.push(this.genIcon('prependInner'))\n      }\n\n      return this.genSlot('prepend', 'inner', slot)\n    },\n    genIconSlot () {\n      const slot = []\n\n      if (this.$slots.append) {\n        slot.push(this.$slots.append as VNode[])\n      } else if (this.appendIcon) {\n        slot.push(this.genIcon('append'))\n      }\n\n      return this.genSlot('append', 'inner', slot)\n    },\n    genInputSlot () {\n      const input = VInput.options.methods.genInputSlot.call(this)\n\n      const prepend = this.genPrependInnerSlot()\n\n      if (prepend) {\n        input.children = input.children || []\n        input.children.unshift(prepend)\n      }\n\n      return input\n    },\n    genClearIcon () {\n      if (!this.clearable) return null\n\n      // if the text field has no content then don't display the clear icon.\n      // We add an empty div because other controls depend on a ref to append inner\n      if (!this.isDirty) {\n        return this.genSlot('append', 'inner', [\n          this.$createElement('div'),\n        ])\n      }\n\n      return this.genSlot('append', 'inner', [\n        this.genIcon('clear', this.clearableCallback),\n      ])\n    },\n    genCounter () {\n      if (!this.hasCounter) return null\n\n      const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n      const props = {\n        dark: this.dark,\n        light: this.light,\n        max,\n        value: this.computedCounterValue,\n      }\n\n      return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n    },\n    genControl () {\n      return VInput.options.methods.genControl.call(this)\n    },\n    genDefaultSlot () {\n      return [\n        this.genFieldset(),\n        this.genTextFieldSlot(),\n        this.genClearIcon(),\n        this.genIconSlot(),\n        this.genProgress(),\n      ]\n    },\n    genFieldset () {\n      if (!this.outlined) return null\n\n      return this.$createElement('fieldset', {\n        attrs: {\n          'aria-hidden': true,\n        },\n      }, [this.genLegend()])\n    },\n    genLabel () {\n      if (!this.showLabel) return null\n\n      const data = {\n        props: {\n          absolute: true,\n          color: this.validationState,\n          dark: this.dark,\n          disabled: this.isDisabled,\n          focused: !this.isSingle && (this.isFocused || !!this.validationState),\n          for: this.computedId,\n          left: this.labelPosition.left,\n          light: this.light,\n          right: this.labelPosition.right,\n          value: this.labelValue,\n        },\n      }\n\n      return this.$createElement(VLabel, data, this.$slots.label || this.label)\n    },\n    genLegend () {\n      const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n      const span = this.$createElement('span', {\n        domProps: { innerHTML: '&#8203;' },\n        staticClass: 'notranslate',\n      })\n\n      return this.$createElement('legend', {\n        style: {\n          width: !this.isSingle ? convertToUnit(width) : undefined,\n        },\n      }, [span])\n    },\n    genInput () {\n      const listeners = Object.assign({}, this.listeners$)\n      delete listeners.change // Change should not be bound externally\n      const { title, ...inputAttrs } = this.attrs$\n\n      return this.$createElement('input', {\n        style: {},\n        domProps: {\n          value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n        },\n        attrs: {\n          ...inputAttrs,\n          autofocus: this.autofocus,\n          disabled: this.isDisabled,\n          id: this.computedId,\n          placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n          readonly: this.isReadonly,\n          type: this.type,\n        },\n        on: Object.assign(listeners, {\n          blur: this.onBlur,\n          input: this.onInput,\n          focus: this.onFocus,\n          keydown: this.onKeyDown,\n        }),\n        ref: 'input',\n        directives: [{\n          name: 'resize',\n          modifiers: { quiet: true },\n          value: this.onResize,\n        }],\n      })\n    },\n    genMessages () {\n      if (!this.showDetails) return null\n\n      const messagesNode = VInput.options.methods.genMessages.call(this)\n      const counterNode = this.genCounter()\n\n      return this.$createElement('div', {\n        staticClass: 'v-text-field__details',\n      }, [\n        messagesNode,\n        counterNode,\n      ])\n    },\n    genTextFieldSlot () {\n      return this.$createElement('div', {\n        staticClass: 'v-text-field__slot',\n      }, [\n        this.genLabel(),\n        this.prefix ? this.genAffix('prefix') : null,\n        this.genInput(),\n        this.suffix ? this.genAffix('suffix') : null,\n      ])\n    },\n    genAffix (type: 'prefix' | 'suffix') {\n      return this.$createElement('div', {\n        class: `v-text-field__${type}`,\n        ref: type,\n      }, this[type])\n    },\n    onBlur (e?: Event) {\n      this.isFocused = false\n      e && this.$nextTick(() => this.$emit('blur', e))\n    },\n    onClick () {\n      if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n      this.$refs.input.focus()\n    },\n    onFocus (e?: Event) {\n      if (!this.$refs.input) return\n\n      const root = attachedRoot(this.$el)\n      if (!root) return\n\n      if (root.activeElement !== this.$refs.input) {\n        return this.$refs.input.focus()\n      }\n\n      if (!this.isFocused) {\n        this.isFocused = true\n        e && this.$emit('focus', e)\n      }\n    },\n    onInput (e: Event) {\n      const target = e.target as HTMLInputElement\n      this.internalValue = target.value\n      this.badInput = target.validity && target.validity.badInput\n    },\n    onKeyDown (e: KeyboardEvent) {\n      if (\n        e.keyCode === keyCodes.enter &&\n        this.lazyValue !== this.initialValue\n      ) {\n        this.initialValue = this.lazyValue\n        this.$emit('change', this.initialValue)\n      }\n\n      this.$emit('keydown', e)\n    },\n    onMouseDown (e: Event) {\n      // Prevent input from being blurred\n      if (e.target !== this.$refs.input) {\n        e.preventDefault()\n        e.stopPropagation()\n      }\n\n      VInput.options.methods.onMouseDown.call(this, e)\n    },\n    onMouseUp (e: Event) {\n      if (this.hasMouseDown) this.focus()\n\n      VInput.options.methods.onMouseUp.call(this, e)\n    },\n    setLabelWidth () {\n      if (!this.outlined) return\n\n      this.labelWidth = this.$refs.label\n        ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n        : 0\n    },\n    setPrefixWidth () {\n      if (!this.$refs.prefix) return\n\n      this.prefixWidth = this.$refs.prefix.offsetWidth\n    },\n    setPrependWidth () {\n      if (!this.outlined || !this.$refs['prepend-inner']) return\n\n      this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n    },\n    tryAutofocus () {\n      if (\n        !this.autofocus ||\n        typeof document === 'undefined' ||\n        !this.$refs.input) return false\n\n      const root = attachedRoot(this.$el)\n      if (!root || root.activeElement === this.$refs.input) return false\n\n      this.$refs.input.focus()\n\n      return true\n    },\n    updateValue (val: boolean) {\n      // Sets validationState from validatable\n      this.hasColor = val\n\n      if (val) {\n        this.initialValue = this.lazyValue\n      } else if (this.initialValue !== this.lazyValue) {\n        this.$emit('change', this.lazyValue)\n      }\n    },\n    onResize () {\n      this.setLabelWidth()\n      this.setPrefixWidth()\n      this.setPrependWidth()\n    },\n  },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n  $refs: {\n    input: HTMLTextAreaElement\n  }\n}\n\nconst baseMixins = mixins<options &\n  InstanceType<typeof VTextField>\n>(\n  VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-textarea',\n\n  props: {\n    autoGrow: Boolean,\n    noResize: Boolean,\n    rowHeight: {\n      type: [Number, String],\n      default: 24,\n      validator: (v: any) => !isNaN(parseFloat(v)),\n    },\n    rows: {\n      type: [Number, String],\n      default: 5,\n      validator: (v: any) => !isNaN(parseInt(v, 10)),\n    },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-textarea': true,\n        'v-textarea--auto-grow': this.autoGrow,\n        'v-textarea--no-resize': this.noResizeHandle,\n        ...VTextField.options.computed.classes.call(this),\n      }\n    },\n    noResizeHandle (): boolean {\n      return this.noResize || this.autoGrow\n    },\n  },\n\n  watch: {\n    autoGrow (val: boolean) {\n      this.$nextTick(() => {\n        val\n          ? this.calculateInputHeight()\n          : this.$refs.input?.style.removeProperty('height')\n      })\n    },\n    lazyValue () {\n      this.autoGrow && this.$nextTick(this.calculateInputHeight)\n    },\n    rowHeight () {\n      this.autoGrow && this.$nextTick(this.calculateInputHeight)\n    },\n  },\n\n  mounted () {\n    setTimeout(() => {\n      this.autoGrow && this.calculateInputHeight()\n    }, 0)\n  },\n\n  methods: {\n    calculateInputHeight () {\n      const input = this.$refs.input\n      if (!input) return\n\n      input.style.height = '0'\n      const height = input.scrollHeight\n      const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n      // This has to be done ASAP, waiting for Vue\n      // to update the DOM causes ugly layout jumping\n      input.style.height = Math.max(minHeight, height) + 'px'\n    },\n    genInput () {\n      const input = VTextField.options.methods.genInput.call(this)\n\n      input.tag = 'textarea'\n      delete input.data!.attrs!.type\n      input.data!.attrs!.rows = this.rows\n\n      return input\n    },\n    onInput (e: Event) {\n      VTextField.options.methods.onInput.call(this, e)\n      this.autoGrow && this.calculateInputHeight()\n    },\n    onKeyDown (e: KeyboardEvent) {\n      // Prevents closing of a\n      // dialog when pressing\n      // enter\n      if (this.isFocused && e.keyCode === 13) {\n        e.stopPropagation()\n      }\n\n      this.$emit('keydown', e)\n    },\n  },\n})\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n  name: 'v-theme-provider',\n\n  props: { root: Boolean },\n\n  computed: {\n    isDark (): boolean {\n      return this.root\n        ? this.rootIsDark\n        : Themeable.options.computed.isDark.call(this)\n    },\n  },\n\n  render (): VNode {\n    /* istanbul ignore next */\n    return (\n      this.$slots.default! &&\n      this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n    )\n  },\n})\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n  name: 'v-toolbar',\n\n  props: {\n    absolute: Boolean,\n    bottom: Boolean,\n    collapse: Boolean,\n    dense: Boolean,\n    extended: Boolean,\n    extensionHeight: {\n      default: 48,\n      type: [Number, String],\n    },\n    flat: Boolean,\n    floating: Boolean,\n    prominent: Boolean,\n    short: Boolean,\n    src: {\n      type: [String, Object] as PropType<string | srcObject>,\n      default: '',\n    },\n    tag: {\n      type: String,\n      default: 'header',\n    },\n  },\n\n  data: () => ({\n    isExtended: false,\n  }),\n\n  computed: {\n    computedHeight (): number {\n      const height = this.computedContentHeight\n\n      if (!this.isExtended) return height\n\n      const extensionHeight = parseInt(this.extensionHeight)\n\n      return this.isCollapsed\n        ? height\n        : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n    },\n    computedContentHeight (): number {\n      if (this.height) return parseInt(this.height)\n      if (this.isProminent && this.dense) return 96\n      if (this.isProminent && this.short) return 112\n      if (this.isProminent) return 128\n      if (this.dense) return 48\n      if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n      return 64\n    },\n    classes (): object {\n      return {\n        ...VSheet.options.computed.classes.call(this),\n        'v-toolbar': true,\n        'v-toolbar--absolute': this.absolute,\n        'v-toolbar--bottom': this.bottom,\n        'v-toolbar--collapse': this.collapse,\n        'v-toolbar--collapsed': this.isCollapsed,\n        'v-toolbar--dense': this.dense,\n        'v-toolbar--extended': this.isExtended,\n        'v-toolbar--flat': this.flat,\n        'v-toolbar--floating': this.floating,\n        'v-toolbar--prominent': this.isProminent,\n      }\n    },\n    isCollapsed (): boolean {\n      return this.collapse\n    },\n    isProminent (): boolean {\n      return this.prominent\n    },\n    styles (): object {\n      return {\n        ...this.measurableStyles,\n        height: convertToUnit(this.computedHeight),\n      }\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['app', '<v-app-bar app>'],\n      ['manual-scroll', '<v-app-bar :value=\"false\">'],\n      ['clipped-left', '<v-app-bar clipped-left>'],\n      ['clipped-right', '<v-app-bar clipped-right>'],\n      ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n      ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n      ['scroll-target', '<v-app-bar scroll-target>'],\n      ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n      ['card', '<v-app-bar flat>'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n  },\n\n  methods: {\n    genBackground () {\n      const props = {\n        height: convertToUnit(this.computedHeight),\n        src: this.src,\n      }\n\n      const image = this.$scopedSlots.img\n        ? this.$scopedSlots.img({ props })\n        : this.$createElement(VImg, { props })\n\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__image',\n      }, [image])\n    },\n    genContent () {\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__content',\n        style: {\n          height: convertToUnit(this.computedContentHeight),\n        },\n      }, getSlot(this))\n    },\n    genExtension () {\n      return this.$createElement('div', {\n        staticClass: 'v-toolbar__extension',\n        style: {\n          height: convertToUnit(this.extensionHeight),\n        },\n      }, getSlot(this, 'extension'))\n    },\n  },\n\n  render (h): VNode {\n    this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n    const children = [this.genContent()]\n    const data = this.setBackgroundColor(this.color, {\n      class: this.classes,\n      style: this.styles,\n      on: this.$listeners,\n    })\n\n    if (this.isExtended) children.push(this.genExtension())\n    if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n    return h(this.tag, data, children)\n  },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n  VToolbar,\n  VToolbarItems,\n  VToolbarTitle,\n}\n\nexport default {\n  $_vuetify_subcomponents: {\n    VToolbar,\n    VToolbarItems,\n    VToolbarTitle,\n  },\n}\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n  name: 'v-tooltip',\n\n  props: {\n    closeDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n    disabled: Boolean,\n    openDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n    openOnHover: {\n      type: Boolean,\n      default: true,\n    },\n    openOnFocus: {\n      type: Boolean,\n      default: true,\n    },\n    tag: {\n      type: String,\n      default: 'span',\n    },\n    transition: String,\n  },\n\n  data: () => ({\n    calculatedMinWidth: 0,\n    closeDependents: false,\n  }),\n\n  computed: {\n    calculatedLeft (): string {\n      const { activator, content } = this.dimensions\n      const unknown = !this.bottom && !this.left && !this.top && !this.right\n      const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n      let left = 0\n\n      if (this.top || this.bottom || unknown) {\n        left = (\n          activatorLeft +\n          (activator.width / 2) -\n          (content.width / 2)\n        )\n      } else if (this.left || this.right) {\n        left = (\n          activatorLeft +\n          (this.right ? activator.width : -content.width) +\n          (this.right ? 10 : -10)\n        )\n      }\n\n      if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n      if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n      return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n    },\n    calculatedTop (): string {\n      const { activator, content } = this.dimensions\n      const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n      let top = 0\n\n      if (this.top || this.bottom) {\n        top = (\n          activatorTop +\n          (this.bottom ? activator.height : -content.height) +\n          (this.bottom ? 10 : -10)\n        )\n      } else if (this.left || this.right) {\n        top = (\n          activatorTop +\n          (activator.height / 2) -\n          (content.height / 2)\n        )\n      }\n\n      if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n      if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n      if (this.attach === false) top += this.pageYOffset\n\n      return `${this.calcYOverflow(top)}px`\n    },\n    classes (): object {\n      return {\n        'v-tooltip--top': this.top,\n        'v-tooltip--right': this.right,\n        'v-tooltip--bottom': this.bottom,\n        'v-tooltip--left': this.left,\n        'v-tooltip--attached':\n          this.attach === '' ||\n          this.attach === true ||\n          this.attach === 'attach',\n      }\n    },\n    computedTransition (): string {\n      if (this.transition) return this.transition\n\n      return this.isActive ? 'scale-transition' : 'fade-transition'\n    },\n    offsetY (): boolean {\n      return this.top || this.bottom\n    },\n    offsetX (): boolean {\n      return this.left || this.right\n    },\n    styles (): object {\n      return {\n        left: this.calculatedLeft,\n        maxWidth: convertToUnit(this.maxWidth),\n        minWidth: convertToUnit(this.minWidth),\n        top: this.calculatedTop,\n        zIndex: this.zIndex || this.activeZIndex,\n      }\n    },\n  },\n\n  beforeMount () {\n    this.$nextTick(() => {\n      this.value && this.callActivate()\n    })\n  },\n\n  mounted () {\n    if (getSlotType(this, 'activator', true) === 'v-slot') {\n      consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n    }\n  },\n\n  methods: {\n    activate () {\n      // Update coordinates and dimensions of menu\n      // and its activator\n      this.updateDimensions()\n      // Start the transition\n      requestAnimationFrame(this.startTransition)\n    },\n    deactivate () {\n      this.runDelay('close')\n    },\n    genActivatorListeners () {\n      const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n      if (this.openOnFocus) {\n        listeners.focus = (e: Event) => {\n          this.getActivator(e)\n          this.runDelay('open')\n        }\n        listeners.blur = (e: Event) => {\n          this.getActivator(e)\n          this.runDelay('close')\n        }\n      }\n\n      listeners.keydown = (e: KeyboardEvent) => {\n        if (e.keyCode === keyCodes.esc) {\n          this.getActivator(e)\n          this.runDelay('close')\n        }\n      }\n\n      return listeners\n    },\n    genActivatorAttributes () {\n      return {\n        'aria-haspopup': true,\n        'aria-expanded': String(this.isActive),\n      }\n    },\n    genTransition () {\n      const content = this.genContent()\n\n      if (!this.computedTransition) return content\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.computedTransition,\n        },\n      }, [content])\n    },\n    genContent () {\n      return this.$createElement(\n        'div',\n        this.setBackgroundColor(this.color, {\n          staticClass: 'v-tooltip__content',\n          class: {\n            [this.contentClass]: true,\n            menuable__content__active: this.isActive,\n            'v-tooltip__content--fixed': this.activatorFixed,\n          },\n          style: this.styles,\n          attrs: this.getScopeIdAttrs(),\n          directives: [{\n            name: 'show',\n            value: this.isContentActive,\n          }],\n          ref: 'content',\n        }),\n        this.getContentSlot()\n      )\n    },\n  },\n\n  render (h): VNode {\n    return h(this.tag, {\n      staticClass: 'v-tooltip',\n      class: this.classes,\n    }, [\n      this.showLazyContent(() => [this.genTransition()]),\n      this.genActivator(),\n    ])\n  },\n})\n","import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n  dest: Function | Function[] = [],\n  ...transitions: (Function | Function[])[]\n) {\n  /* eslint-disable-next-line no-array-constructor */\n  return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n  name: string,\n  origin = 'top center 0',\n  mode?: string\n): FunctionalComponentOptions {\n  return {\n    name,\n\n    functional: true,\n\n    props: {\n      group: {\n        type: Boolean,\n        default: false,\n      },\n      hideOnLeave: {\n        type: Boolean,\n        default: false,\n      },\n      leaveAbsolute: {\n        type: Boolean,\n        default: false,\n      },\n      mode: {\n        type: String,\n        default: mode,\n      },\n      origin: {\n        type: String,\n        default: origin,\n      },\n    },\n\n    render (h, context): VNode {\n      const tag = `transition${context.props.group ? '-group' : ''}`\n      const data: VNodeData = {\n        props: {\n          name,\n          mode: context.props.mode,\n        },\n        on: {\n          beforeEnter (el: HTMLElement) {\n            el.style.transformOrigin = context.props.origin\n            el.style.webkitTransformOrigin = context.props.origin\n          },\n        },\n      }\n\n      if (context.props.leaveAbsolute) {\n        data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n          const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n          el._transitionInitialStyles = {\n            position: el.style.position,\n            top: el.style.top,\n            left: el.style.left,\n            width: el.style.width,\n            height: el.style.height,\n          }\n          el.style.position = 'absolute'\n          el.style.top = offsetTop + 'px'\n          el.style.left = offsetLeft + 'px'\n          el.style.width = offsetWidth + 'px'\n          el.style.height = offsetHeight + 'px'\n        })\n        data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n          if (el && el._transitionInitialStyles) {\n            const { position, top, left, width, height } = el._transitionInitialStyles\n            delete el._transitionInitialStyles\n            el.style.position = position || ''\n            el.style.top = top || ''\n            el.style.left = left || ''\n            el.style.width = width || ''\n            el.style.height = height || ''\n          }\n        })\n      }\n      if (context.props.hideOnLeave) {\n        data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n          el.style.setProperty('display', 'none', 'important')\n        })\n      }\n\n      return h(tag, mergeData(context.data, data), context.children)\n    },\n  }\n}\n\nexport function createJavascriptTransition (\n  name: string,\n  functions: Record<string, any>,\n  mode = 'in-out'\n): FunctionalComponentOptions {\n  return {\n    name,\n\n    functional: true,\n\n    props: {\n      mode: {\n        type: String,\n        default: mode,\n      },\n    },\n\n    render (h, context): VNode {\n      return h(\n        'transition',\n        mergeData(context.data, {\n          props: { name },\n          on: functions,\n        }),\n        context.children\n      )\n    },\n  }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n  _parent?: (Node & ParentNode & HTMLElement) | null\n  _initialStyle?: {\n    transition: string\n    overflow: string\n    height?: string | null\n    width?: string | null\n  }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n  const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n  const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n  return {\n    beforeEnter (el: HTMLExpandElement) {\n      el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n      el._initialStyle = {\n        transition: el.style.transition,\n        overflow: el.style.overflow,\n        [sizeProperty]: el.style[sizeProperty],\n      }\n    },\n\n    enter (el: HTMLExpandElement) {\n      const initialStyle = el._initialStyle!\n\n      el.style.setProperty('transition', 'none', 'important')\n      // Hide overflow to account for collapsed margins in the calculated height\n      el.style.overflow = 'hidden'\n      const offset = `${el[offsetProperty]}px`\n\n      el.style[sizeProperty] = '0'\n\n      void el.offsetHeight // force reflow\n\n      el.style.transition = initialStyle.transition\n\n      if (expandedParentClass && el._parent) {\n        el._parent.classList.add(expandedParentClass)\n      }\n\n      requestAnimationFrame(() => {\n        el.style[sizeProperty] = offset\n      })\n    },\n\n    afterEnter: resetStyles,\n    enterCancelled: resetStyles,\n\n    leave (el: HTMLExpandElement) {\n      el._initialStyle = {\n        transition: '',\n        overflow: el.style.overflow,\n        [sizeProperty]: el.style[sizeProperty],\n      }\n\n      el.style.overflow = 'hidden'\n      el.style[sizeProperty] = `${el[offsetProperty]}px`\n      void el.offsetHeight // force reflow\n\n      requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n    },\n\n    afterLeave,\n    leaveCancelled: afterLeave,\n  }\n\n  function afterLeave (el: HTMLExpandElement) {\n    if (expandedParentClass && el._parent) {\n      el._parent.classList.remove(expandedParentClass)\n    }\n    resetStyles(el)\n  }\n\n  function resetStyles (el: HTMLExpandElement) {\n    const size = el._initialStyle![sizeProperty]\n    el.style.overflow = el._initialStyle!.overflow\n    if (size != null) el.style[sizeProperty] = size\n    delete el._initialStyle\n  }\n}\n","import {\n  createSimpleTransition,\n  createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n  $_vuetify_subcomponents: {\n    VCarouselTransition,\n    VCarouselReverseTransition,\n    VDialogTransition,\n    VDialogBottomTransition,\n    VDialogTopTransition,\n    VFabTransition,\n    VFadeTransition,\n    VMenuTransition,\n    VScaleTransition,\n    VScrollXTransition,\n    VScrollXReverseTransition,\n    VScrollYTransition,\n    VScrollYReverseTransition,\n    VSlideXTransition,\n    VSlideXReverseTransition,\n    VSlideYTransition,\n    VSlideYReverseTransition,\n    VTabReverseTransition,\n    VTabTransition,\n    VExpandTransition,\n    VExpandXTransition,\n  },\n}\n","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n  handler: (e: Event) => void\n  closeConditional?: (e: Event) => boolean\n  include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n  value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n  return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n  // The include element callbacks below can be expensive\n  // so we should avoid calling them when we're not active.\n  // Explicitly check for false to allow fallback compatibility\n  // with non-toggleable components\n  if (!e || checkIsActive(e, binding) === false) return false\n\n  // If we're clicking inside the shadowroot, then the app root doesn't get the same\n  // level of introspection as to _what_ we're clicking. We want to check to see if\n  // our target is the shadowroot parent container, and if it is, ignore.\n  const root = attachedRoot(el)\n  if (\n    typeof ShadowRoot !== 'undefined' &&\n    root instanceof ShadowRoot &&\n    root.host === e.target\n  ) return false\n\n  // Check if additional elements were passed to be included in check\n  // (click must be outside all included elements, if any)\n  const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n  // Add the root element for the component this directive was defined on\n  elements.push(el)\n\n  // Check if it's a click outside our elements, and then if our callback returns true.\n  // Non-toggleable components should take action in their callback and return falsy.\n  // Toggleable can return true if it wants to deactivate.\n  // Note that, because we're in the capture phase, this callback will occur before\n  // the bubbling click event on any outside elements.\n  return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n  const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n  return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n  const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n  el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n    checkIsActive(e, binding) && handler && handler(e)\n  }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n  const root = attachedRoot(el)\n\n  callback(document)\n\n  if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n    callback(root)\n  }\n}\n\nexport const ClickOutside = {\n  // [data-app] may not be found\n  // if using bind, inserted makes\n  // sure that the root element is\n  // available, iOS does not support\n  // clicks on body\n  inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n    const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n    const onMousedown = (e: Event) => {\n      el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n    }\n\n    handleShadow(el, (app: HTMLElement) => {\n      app.addEventListener('click', onClick, true)\n      app.addEventListener('mousedown', onMousedown, true)\n    })\n\n    if (!el._clickOutside) {\n      el._clickOutside = {\n        lastMousedownWasOutside: true,\n      }\n    }\n\n    el._clickOutside[vnode.context!._uid] = {\n      onClick,\n      onMousedown,\n    }\n  },\n\n  unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n    if (!el._clickOutside) return\n\n    handleShadow(el, (app: HTMLElement) => {\n      if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n      const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n      app.removeEventListener('click', onClick, true)\n      app.removeEventListener('mousedown', onMousedown, true)\n    })\n\n    delete el._clickOutside[vnode.context!._uid]\n  },\n}\n\nexport default ClickOutside\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n  entries: IntersectionObserverEntry[],\n  observer: IntersectionObserver,\n  isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n  value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n  modifiers?: {\n    once?: boolean\n    quiet?: boolean\n  }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n  if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n  const modifiers = binding.modifiers || {}\n  const value = binding.value\n  const { handler, options } = typeof value === 'object'\n    ? value\n    : { handler: value, options: {} }\n  const observer = new IntersectionObserver((\n    entries: IntersectionObserverEntry[] = [],\n    observer: IntersectionObserver\n  ) => {\n    const _observe = el._observe?.[vnode.context!._uid]\n    if (!_observe) return // Just in case, should never fire\n\n    const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n    // If is not quiet or has already been\n    // initted, invoke the user callback\n    if (\n      handler && (\n        !modifiers.quiet ||\n        _observe.init\n      ) && (\n        !modifiers.once ||\n        isIntersecting ||\n        _observe.init\n      )\n    ) {\n      handler(entries, observer, isIntersecting)\n    }\n\n    if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n    else _observe.init = true\n  }, options)\n\n  el._observe = Object(el._observe)\n  el._observe![vnode.context!._uid] = { init: false, observer }\n\n  observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n  const observe = el._observe?.[vnode.context!._uid]\n  if (!observe) return\n\n  observe.observer.unobserve(el)\n  delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n  inserted,\n  unbind,\n}\n\nexport default Intersect\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n  value?: () => void\n  options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n  const callback = binding.value!\n  const options = binding.options || { passive: true }\n\n  window.addEventListener('resize', callback, options)\n\n  el._onResize = Object(el._onResize)\n  el._onResize![vnode.context!._uid] = {\n    callback,\n    options,\n  }\n\n  if (!binding.modifiers || !binding.modifiers.quiet) {\n    callback()\n  }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n  if (!el._onResize?.[vnode.context!._uid]) return\n\n  const { callback, options } = el._onResize[vnode.context!._uid]!\n\n  window.removeEventListener('resize', callback, options)\n\n  delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n  inserted,\n  unbind,\n}\n\nexport default Resize\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n  el.style.transform = value\n  el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n  class?: string\n  center?: boolean\n  circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n  return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n  return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n  e: VuetifyRippleEvent,\n  el: HTMLElement,\n  value: RippleOptions = {}\n) => {\n  let localX = 0\n  let localY = 0\n\n  if (!isKeyboardEvent(e)) {\n    const offset = el.getBoundingClientRect()\n    const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n    localX = target.clientX - offset.left\n    localY = target.clientY - offset.top\n  }\n\n  let radius = 0\n  let scale = 0.3\n  if (el._ripple && el._ripple.circle) {\n    scale = 0.15\n    radius = el.clientWidth / 2\n    radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n  } else {\n    radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n  }\n\n  const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n  const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n  const x = value.center ? centerX : `${localX - radius}px`\n  const y = value.center ? centerY : `${localY - radius}px`\n\n  return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n  /* eslint-disable max-statements */\n  show (\n    e: VuetifyRippleEvent,\n    el: HTMLElement,\n    value: RippleOptions = {}\n  ) {\n    if (!el._ripple || !el._ripple.enabled) {\n      return\n    }\n\n    const container = document.createElement('span')\n    const animation = document.createElement('span')\n\n    container.appendChild(animation)\n    container.className = 'v-ripple__container'\n\n    if (value.class) {\n      container.className += ` ${value.class}`\n    }\n\n    const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n    const size = `${radius * 2}px`\n    animation.className = 'v-ripple__animation'\n    animation.style.width = size\n    animation.style.height = size\n\n    el.appendChild(container)\n\n    const computed = window.getComputedStyle(el)\n    if (computed && computed.position === 'static') {\n      el.style.position = 'relative'\n      el.dataset.previousPosition = 'static'\n    }\n\n    animation.classList.add('v-ripple__animation--enter')\n    animation.classList.add('v-ripple__animation--visible')\n    transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n    animation.dataset.activated = String(performance.now())\n\n    setTimeout(() => {\n      animation.classList.remove('v-ripple__animation--enter')\n      animation.classList.add('v-ripple__animation--in')\n      transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n    }, 0)\n  },\n\n  hide (el: HTMLElement | null) {\n    if (!el || !el._ripple || !el._ripple.enabled) return\n\n    const ripples = el.getElementsByClassName('v-ripple__animation')\n\n    if (ripples.length === 0) return\n    const animation = ripples[ripples.length - 1]\n\n    if (animation.dataset.isHiding) return\n    else animation.dataset.isHiding = 'true'\n\n    const diff = performance.now() - Number(animation.dataset.activated)\n    const delay = Math.max(250 - diff, 0)\n\n    setTimeout(() => {\n      animation.classList.remove('v-ripple__animation--in')\n      animation.classList.add('v-ripple__animation--out')\n\n      setTimeout(() => {\n        const ripples = el.getElementsByClassName('v-ripple__animation')\n        if (ripples.length === 1 && el.dataset.previousPosition) {\n          el.style.position = el.dataset.previousPosition\n          delete el.dataset.previousPosition\n        }\n\n        animation.parentNode && el.removeChild(animation.parentNode)\n      }, 300)\n    }, delay)\n  },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n  return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n  const value: RippleOptions = {}\n  const element = e.currentTarget as HTMLElement\n\n  if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n  // Don't allow the event to trigger ripples on any other elements\n  e.rippleStop = true\n\n  if (isTouchEvent(e)) {\n    element._ripple.touched = true\n    element._ripple.isTouch = true\n  } else {\n    // It's possible for touch events to fire\n    // as mouse events on Android/iOS, this\n    // will skip the event call if it has\n    // already been registered as touch\n    if (element._ripple.isTouch) return\n  }\n  value.center = element._ripple.centered || isKeyboardEvent(e)\n  if (element._ripple.class) {\n    value.class = element._ripple.class\n  }\n\n  if (isTouchEvent(e)) {\n    // already queued that shows or hides the ripple\n    if (element._ripple.showTimerCommit) return\n\n    element._ripple.showTimerCommit = () => {\n      ripples.show(e, element, value)\n    }\n    element._ripple.showTimer = window.setTimeout(() => {\n      if (element && element._ripple && element._ripple.showTimerCommit) {\n        element._ripple.showTimerCommit()\n        element._ripple.showTimerCommit = null\n      }\n    }, DELAY_RIPPLE)\n  } else {\n    ripples.show(e, element, value)\n  }\n}\n\nfunction rippleHide (e: Event) {\n  const element = e.currentTarget as HTMLElement | null\n  if (!element || !element._ripple) return\n\n  window.clearTimeout(element._ripple.showTimer)\n\n  // The touch interaction occurs before the show timer is triggered.\n  // We still want to show ripple effect.\n  if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n    element._ripple.showTimerCommit()\n    element._ripple.showTimerCommit = null\n\n    // re-queue ripple hiding\n    element._ripple.showTimer = setTimeout(() => {\n      rippleHide(e)\n    })\n    return\n  }\n\n  window.setTimeout(() => {\n    if (element._ripple) {\n      element._ripple.touched = false\n    }\n  })\n  ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n  const element = e.currentTarget as HTMLElement | undefined\n\n  if (!element || !element._ripple) return\n\n  if (element._ripple.showTimerCommit) {\n    element._ripple.showTimerCommit = null\n  }\n\n  window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n  if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n    keyboardRipple = true\n    rippleShow(e)\n  }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n  keyboardRipple = false\n  rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n  if (keyboardRipple === true) {\n    keyboardRipple = false\n    rippleHide(e)\n  }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n  const enabled = isRippleEnabled(binding.value)\n  if (!enabled) {\n    ripples.hide(el)\n  }\n  el._ripple = el._ripple || {}\n  el._ripple.enabled = enabled\n  const value = binding.value || {}\n  if (value.center) {\n    el._ripple.centered = true\n  }\n  if (value.class) {\n    el._ripple.class = binding.value.class\n  }\n  if (value.circle) {\n    el._ripple.circle = value.circle\n  }\n  if (enabled && !wasEnabled) {\n    el.addEventListener('touchstart', rippleShow, { passive: true })\n    el.addEventListener('touchend', rippleHide, { passive: true })\n    el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n    el.addEventListener('touchcancel', rippleHide)\n\n    el.addEventListener('mousedown', rippleShow)\n    el.addEventListener('mouseup', rippleHide)\n    el.addEventListener('mouseleave', rippleHide)\n\n    el.addEventListener('keydown', keyboardRippleShow)\n    el.addEventListener('keyup', keyboardRippleHide)\n\n    el.addEventListener('blur', focusRippleHide)\n\n    // Anchor tags can be dragged, causes other hides to fail - #1537\n    el.addEventListener('dragstart', rippleHide, { passive: true })\n  } else if (!enabled && wasEnabled) {\n    removeListeners(el)\n  }\n}\n\nfunction removeListeners (el: HTMLElement) {\n  el.removeEventListener('mousedown', rippleShow)\n  el.removeEventListener('touchstart', rippleShow)\n  el.removeEventListener('touchend', rippleHide)\n  el.removeEventListener('touchmove', rippleCancelShow)\n  el.removeEventListener('touchcancel', rippleHide)\n  el.removeEventListener('mouseup', rippleHide)\n  el.removeEventListener('mouseleave', rippleHide)\n  el.removeEventListener('keydown', keyboardRippleShow)\n  el.removeEventListener('keyup', keyboardRippleHide)\n  el.removeEventListener('dragstart', rippleHide)\n  el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n  updateRipple(el, binding, false)\n\n  if (process.env.NODE_ENV === 'development') {\n    // warn if an inline element is used, waiting for el to be in the DOM first\n    node.context && node.context.$nextTick(() => {\n      const computed = window.getComputedStyle(el)\n      if (computed && computed.display === 'inline') {\n        const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n        consoleWarn('v-ripple can only be used on block-level elements', ...context)\n      }\n    })\n  }\n}\n\nfunction unbind (el: HTMLElement) {\n  delete el._ripple\n  removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n  if (binding.value === binding.oldValue) {\n    return\n  }\n\n  const wasEnabled = isRippleEnabled(binding.oldValue)\n  updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n  bind: directive,\n  unbind,\n  update,\n}\n\nexport default Ripple\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n  touchstart: (e: TouchEvent) => void\n  touchend: (e: TouchEvent) => void\n  touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n  value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n  const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n  const dirRatio = 0.5\n  const minDistance = 16\n  wrapper.offsetX = touchendX - touchstartX\n  wrapper.offsetY = touchendY - touchstartY\n\n  if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n    wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n    wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n  }\n\n  if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n    wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n    wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n  }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n  const touch = event.changedTouches[0]\n  wrapper.touchstartX = touch.clientX\n  wrapper.touchstartY = touch.clientY\n\n  wrapper.start &&\n    wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n  const touch = event.changedTouches[0]\n  wrapper.touchendX = touch.clientX\n  wrapper.touchendY = touch.clientY\n\n  wrapper.end &&\n    wrapper.end(Object.assign(event, wrapper))\n\n  handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n  const touch = event.changedTouches[0]\n  wrapper.touchmoveX = touch.clientX\n  wrapper.touchmoveY = touch.clientY\n\n  wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n  const wrapper = {\n    touchstartX: 0,\n    touchstartY: 0,\n    touchendX: 0,\n    touchendY: 0,\n    touchmoveX: 0,\n    touchmoveY: 0,\n    offsetX: 0,\n    offsetY: 0,\n    left: value.left,\n    right: value.right,\n    up: value.up,\n    down: value.down,\n    start: value.start,\n    move: value.move,\n    end: value.end,\n  }\n\n  return {\n    touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n    touchend: (e: TouchEvent) => touchend(e, wrapper),\n    touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n  }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n  const value = binding.value!\n  const target = value.parent ? el.parentElement : el\n  const options = value.options || { passive: true }\n\n  // Needed to pass unit tests\n  if (!target) return\n\n  const handlers = createHandlers(binding.value!)\n  target._touchHandlers = Object(target._touchHandlers)\n  target._touchHandlers![vnode.context!._uid] = handlers\n\n  keys(handlers).forEach(eventName => {\n    target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n  })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n  const target = binding.value!.parent ? el.parentElement : el\n  if (!target || !target._touchHandlers) return\n\n  const handlers = target._touchHandlers[vnode.context!._uid]\n  keys(handlers).forEach(eventName => {\n    target.removeEventListener(eventName, handlers[eventName])\n  })\n  delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n  inserted,\n  unbind,\n}\n\nexport default Touch\n","import OurVue, { VueConstructor } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {\n  if ((install as any).installed) return\n  (install as any).installed = true\n\n  if (OurVue !== Vue) {\n    consoleError(`Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you're seeing \"$attrs is readonly\", it's caused by this`)\n  }\n\n  const components = args.components || {}\n  const directives = args.directives || {}\n\n  for (const name in directives) {\n    const directive = directives[name]\n\n    Vue.directive(name, directive)\n  }\n\n  (function registerComponents (components: any) {\n    if (components) {\n      for (const key in components) {\n        const component = components[key]\n        if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n          Vue.component(key, component as typeof Vue)\n        }\n      }\n      return true\n    }\n    return false\n  })(components)\n\n  // Used to avoid multiple mixins being setup\n  // when in dev mode and hot module reload\n  // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n  if (Vue.$_vuetify_installed) return\n  Vue.$_vuetify_installed = true\n\n  Vue.mixin({\n    beforeCreate () {\n      const options = this.$options as any\n\n      if (options.vuetify) {\n        options.vuetify.init(this, this.$ssrContext)\n        this.$vuetify = Vue.observable(options.vuetify.framework)\n      } else {\n        this.$vuetify = (options.parent && options.parent.$vuetify) || this\n      }\n    },\n    beforeMount () {\n      // @ts-ignore\n      if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n        // @ts-ignore\n        this.$vuetify.isHydrating = true\n        // @ts-ignore\n        this.$vuetify.breakpoint.update(true)\n      }\n    },\n    mounted () {\n      // @ts-ignore\n      if (this.$options.vuetify && this.$vuetify.isHydrating) {\n        // @ts-ignore\n        this.$vuetify.isHydrating = false\n        // @ts-ignore\n        this.$vuetify.breakpoint.update()\n      }\n    },\n  })\n}\n","export default {\n  badge: 'Badge',\n  close: 'Close',\n  dataIterator: {\n    noResultsText: 'No matching records found',\n    loadingText: 'Loading items...',\n  },\n  dataTable: {\n    itemsPerPageText: 'Rows per page:',\n    ariaLabel: {\n      sortDescending: 'Sorted descending.',\n      sortAscending: 'Sorted ascending.',\n      sortNone: 'Not sorted.',\n      activateNone: 'Activate to remove sorting.',\n      activateDescending: 'Activate to sort descending.',\n      activateAscending: 'Activate to sort ascending.',\n    },\n    sortBy: 'Sort by',\n  },\n  dataFooter: {\n    itemsPerPageText: 'Items per page:',\n    itemsPerPageAll: 'All',\n    nextPage: 'Next page',\n    prevPage: 'Previous page',\n    firstPage: 'First page',\n    lastPage: 'Last page',\n    pageText: '{0}-{1} of {2}',\n  },\n  datePicker: {\n    itemsSelected: '{0} selected',\n    nextMonthAriaLabel: 'Next month',\n    nextYearAriaLabel: 'Next year',\n    prevMonthAriaLabel: 'Previous month',\n    prevYearAriaLabel: 'Previous year',\n  },\n  noDataText: 'No data available',\n  carousel: {\n    prev: 'Previous visual',\n    next: 'Next visual',\n    ariaLabel: {\n      delimiter: 'Carousel slide {0} of {1}',\n    },\n  },\n  calendar: {\n    moreEvents: '{0} more',\n  },\n  fileInput: {\n    counter: '{0} files',\n    counterSize: '{0} files ({1} in total)',\n  },\n  timePicker: {\n    am: 'AM',\n    pm: 'PM',\n  },\n  pagination: {\n    ariaLabel: {\n      wrapper: 'Pagination Navigation',\n      next: 'Next page',\n      previous: 'Previous page',\n      page: 'Goto Page {0}',\n      currentPage: 'Current Page, Page {0}',\n    },\n  },\n  rating: {\n    ariaLabel: {\n      icon: 'Rating {0} of {1}',\n    },\n  },\n}\n","// Styles\nimport '../../styles/main.sass'\n\n// Locale\nimport { en } from '../../locale'\n\n// Icons\n// TODO: Enable for v3\n// import mdi from '../../services/icons/presets/mdi'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\n\nexport const preset: VuetifyPreset = {\n  breakpoint: {\n    // TODO: update to MD2 spec in v3 - 1280\n    mobileBreakpoint: 1264,\n    scrollBarWidth: 16,\n    thresholds: {\n      xs: 600,\n      sm: 960,\n      md: 1280,\n      lg: 1920,\n    },\n  },\n  icons: {\n    // TODO: remove v3\n    iconfont: 'mdi',\n    values: {},\n  },\n  lang: {\n    current: 'en',\n    locales: { en },\n    // Default translator exists in lang service\n    t: undefined as any,\n  },\n  rtl: false,\n  theme: {\n    dark: false,\n    default: 'light',\n    disable: false,\n    options: {\n      cspNonce: undefined,\n      customProperties: undefined,\n      minifyTheme: undefined,\n      themeCache: undefined,\n      variations: true,\n    },\n    themes: {\n      light: {\n        primary: '#1976D2',\n        secondary: '#424242',\n        accent: '#82B1FF',\n        error: '#FF5252',\n        info: '#2196F3',\n        success: '#4CAF50',\n        warning: '#FB8C00',\n      },\n      dark: {\n        primary: '#2196F3',\n        secondary: '#424242',\n        accent: '#FF4081',\n        error: '#FF5252',\n        info: '#2196F3',\n        success: '#4CAF50',\n        warning: '#FB8C00',\n      },\n    },\n  },\n}\n","// Preset\nimport { preset as Preset } from '../../presets/default'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport Vuetify from 'vuetify/types'\nimport { Service } from '../service'\nimport {\n  UserVuetifyPreset,\n  VuetifyPreset,\n} from 'vuetify/types/services/presets'\n\nexport class Presets extends Service {\n  static property: 'presets' = 'presets'\n\n  constructor (\n    parentPreset: Partial<UserVuetifyPreset>,\n    parent: Vuetify,\n  ) {\n    super()\n\n    // The default preset\n    const defaultPreset = mergeDeep({}, Preset)\n    // The user provided preset\n    const { userPreset } = parent\n    // The user provided global preset\n    const {\n      preset: globalPreset = {},\n      ...preset\n    } = userPreset\n\n    if (globalPreset.preset != null) {\n      consoleWarn('Global presets do not support the **preset** option, it can be safely omitted')\n    }\n\n    parent.preset = mergeDeep(\n      mergeDeep(defaultPreset, globalPreset),\n      preset\n    ) as VuetifyPreset\n  }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { TargetPropValues, TargetProp, Application as IApplication } from 'vuetify/types/services/application'\n\nexport class Application extends Service implements IApplication {\n  static property: 'application' = 'application'\n\n  bar = 0\n\n  top = 0\n\n  left = 0\n\n  insetFooter = 0\n\n  right = 0\n\n  bottom = 0\n\n  footer = 0\n\n  application: Dictionary<TargetPropValues> = {\n    bar: {},\n    top: {},\n    left: {},\n    insetFooter: {},\n    right: {},\n    bottom: {},\n    footer: {},\n  }\n\n  register (\n    uid: number,\n    location: TargetProp,\n    size: number\n  ) {\n    this.application[location][uid] = size\n\n    this.update(location)\n  }\n\n  unregister (uid: number, location: TargetProp) {\n    if (this.application[location][uid] == null) return\n\n    delete this.application[location][uid]\n    this.update(location)\n  }\n\n  update (location: TargetProp) {\n    this[location] = Object.values(this.application[location])\n      .reduce((acc: number, cur: number): number => (acc + cur), 0)\n  }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n  public static property: 'breakpoint' = 'breakpoint'\n\n  // Public\n  public xs = false\n\n  public sm = false\n\n  public md = false\n\n  public lg = false\n\n  public xl = false\n\n  public xsOnly = false\n\n  public smOnly = false\n\n  public smAndDown = false\n\n  public smAndUp = false\n\n  public mdOnly = false\n\n  public mdAndDown = false\n\n  public mdAndUp = false\n\n  public lgOnly = false\n\n  public lgAndDown = false\n\n  public lgAndUp = false\n\n  public xlOnly = false\n\n  // Value is xs to match v2.x functionality\n  public name: IBreakpoint['name'] = 'xs'\n\n  public height = 0\n\n  public width = 0\n\n  // TODO: Add functionality to detect this dynamically in v3\n  // Value is true to match v2.x functionality\n  public mobile = true\n\n  public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n  public thresholds: IBreakpoint['thresholds']\n\n  public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n  private resizeTimeout = 0\n\n  constructor (preset: VuetifyPreset) {\n    super()\n\n    const {\n      mobileBreakpoint,\n      scrollBarWidth,\n      thresholds,\n    } = preset[Breakpoint.property]\n\n    this.mobileBreakpoint = mobileBreakpoint\n    this.scrollBarWidth = scrollBarWidth\n    this.thresholds = thresholds\n  }\n\n  public init () {\n    this.update()\n\n    /* istanbul ignore if */\n    if (typeof window === 'undefined') return\n\n    window.addEventListener(\n      'resize',\n      this.onResize.bind(this),\n      { passive: true }\n    )\n  }\n\n  /* eslint-disable-next-line max-statements */\n  public update (ssr = false) {\n    const height = ssr ? 0 : this.getClientHeight()\n    const width = ssr ? 0 : this.getClientWidth()\n\n    const xs = width < this.thresholds.xs\n    const sm = width < this.thresholds.sm && !xs\n    const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n    const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n    const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n    this.height = height\n    this.width = width\n\n    this.xs = xs\n    this.sm = sm\n    this.md = md\n    this.lg = lg\n    this.xl = xl\n\n    this.xsOnly = xs\n    this.smOnly = sm\n    this.smAndDown = (xs || sm) && !(md || lg || xl)\n    this.smAndUp = !xs && (sm || md || lg || xl)\n    this.mdOnly = md\n    this.mdAndDown = (xs || sm || md) && !(lg || xl)\n    this.mdAndUp = !(xs || sm) && (md || lg || xl)\n    this.lgOnly = lg\n    this.lgAndDown = (xs || sm || md || lg) && !xl\n    this.lgAndUp = !(xs || sm || md) && (lg || xl)\n    this.xlOnly = xl\n\n    switch (true) {\n      case (xs):\n        this.name = 'xs'\n        break\n      case (sm):\n        this.name = 'sm'\n        break\n      case (md):\n        this.name = 'md'\n        break\n      case (lg):\n        this.name = 'lg'\n        break\n      default:\n        this.name = 'xl'\n        break\n    }\n\n    if (typeof this.mobileBreakpoint === 'number') {\n      this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n      return\n    }\n\n    const breakpoints = {\n      xs: 0,\n      sm: 1,\n      md: 2,\n      lg: 3,\n      xl: 4,\n    } as const\n\n    const current = breakpoints[this.name]\n    const max = breakpoints[this.mobileBreakpoint]\n\n    this.mobile = current <= max\n  }\n\n  private onResize () {\n    clearTimeout(this.resizeTimeout)\n\n    // Added debounce to match what\n    // v-resize used to do but was\n    // removed due to a memory leak\n    // https://github.com/vuetifyjs/vuetify/pull/2997\n    this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n  }\n\n  // Cross-browser support as described in:\n  // https://stackoverflow.com/questions/1248081\n  private getClientWidth () {\n    /* istanbul ignore if */\n    if (typeof document === 'undefined') return 0 // SSR\n    return Math.max(\n      document.documentElement!.clientWidth,\n      window.innerWidth || 0\n    )\n  }\n\n  private getClientHeight () {\n    /* istanbul ignore if */\n    if (typeof document === 'undefined') return 0 // SSR\n    return Math.max(\n      document.documentElement!.clientHeight,\n      window.innerHeight || 0\n    )\n  }\n}\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n  complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n  cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n  close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n  delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z', // delete (e.g. v-chip close)\n  clear: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n  success: 'M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z',\n  info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2ZM13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n  warning: 'M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n  error: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n  prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n  next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n  checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n  checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n  checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n  delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z', // for carousel\n  sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n  expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n  menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n  subgroup: 'M7,10L12,15L17,10H7Z',\n  dropdown: 'M7,10L12,15L17,10H7Z',\n  radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n  radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n  edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n  ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n  ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n  ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n  loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n  first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n  last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n  unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n  file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n  plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n  minus: 'M19,13H5V11H19V13Z',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n  complete: 'check',\n  cancel: 'cancel',\n  close: 'close',\n  delete: 'cancel', // delete (e.g. v-chip close)\n  clear: 'clear',\n  success: 'check_circle',\n  info: 'info',\n  warning: 'priority_high',\n  error: 'warning',\n  prev: 'chevron_left',\n  next: 'chevron_right',\n  checkboxOn: 'check_box',\n  checkboxOff: 'check_box_outline_blank',\n  checkboxIndeterminate: 'indeterminate_check_box',\n  delimiter: 'fiber_manual_record', // for carousel\n  sort: 'arrow_upward',\n  expand: 'keyboard_arrow_down',\n  menu: 'menu',\n  subgroup: 'arrow_drop_down',\n  dropdown: 'arrow_drop_down',\n  radioOn: 'radio_button_checked',\n  radioOff: 'radio_button_unchecked',\n  edit: 'edit',\n  ratingEmpty: 'star_border',\n  ratingFull: 'star',\n  ratingHalf: 'star_half',\n  loading: 'cached',\n  first: 'first_page',\n  last: 'last_page',\n  unfold: 'unfold_more',\n  file: 'attach_file',\n  plus: 'add',\n  minus: 'remove',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n  complete: 'mdi-check',\n  cancel: 'mdi-close-circle',\n  close: 'mdi-close',\n  delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n  clear: 'mdi-close',\n  success: 'mdi-check-circle',\n  info: 'mdi-information',\n  warning: 'mdi-exclamation',\n  error: 'mdi-alert',\n  prev: 'mdi-chevron-left',\n  next: 'mdi-chevron-right',\n  checkboxOn: 'mdi-checkbox-marked',\n  checkboxOff: 'mdi-checkbox-blank-outline',\n  checkboxIndeterminate: 'mdi-minus-box',\n  delimiter: 'mdi-circle', // for carousel\n  sort: 'mdi-arrow-up',\n  expand: 'mdi-chevron-down',\n  menu: 'mdi-menu',\n  subgroup: 'mdi-menu-down',\n  dropdown: 'mdi-menu-down',\n  radioOn: 'mdi-radiobox-marked',\n  radioOff: 'mdi-radiobox-blank',\n  edit: 'mdi-pencil',\n  ratingEmpty: 'mdi-star-outline',\n  ratingFull: 'mdi-star',\n  ratingHalf: 'mdi-star-half-full',\n  loading: 'mdi-cached',\n  first: 'mdi-page-first',\n  last: 'mdi-page-last',\n  unfold: 'mdi-unfold-more-horizontal',\n  file: 'mdi-paperclip',\n  plus: 'mdi-plus',\n  minus: 'mdi-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n  complete: 'fas fa-check',\n  cancel: 'fas fa-times-circle',\n  close: 'fas fa-times',\n  delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n  clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n  success: 'fas fa-check-circle',\n  info: 'fas fa-info-circle',\n  warning: 'fas fa-exclamation',\n  error: 'fas fa-exclamation-triangle',\n  prev: 'fas fa-chevron-left',\n  next: 'fas fa-chevron-right',\n  checkboxOn: 'fas fa-check-square',\n  checkboxOff: 'far fa-square', // note 'far'\n  checkboxIndeterminate: 'fas fa-minus-square',\n  delimiter: 'fas fa-circle', // for carousel\n  sort: 'fas fa-sort-up',\n  expand: 'fas fa-chevron-down',\n  menu: 'fas fa-bars',\n  subgroup: 'fas fa-caret-down',\n  dropdown: 'fas fa-caret-down',\n  radioOn: 'far fa-dot-circle',\n  radioOff: 'far fa-circle',\n  edit: 'fas fa-edit',\n  ratingEmpty: 'far fa-star',\n  ratingFull: 'fas fa-star',\n  ratingHalf: 'fas fa-star-half',\n  loading: 'fas fa-sync',\n  first: 'fas fa-step-backward',\n  last: 'fas fa-step-forward',\n  unfold: 'fas fa-arrows-alt-v',\n  file: 'fas fa-paperclip',\n  plus: 'fas fa-plus',\n  minus: 'fas fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n  complete: 'fa fa-check',\n  cancel: 'fa fa-times-circle',\n  close: 'fa fa-times',\n  delete: 'fa fa-times-circle', // delete (e.g. v-chip close)\n  clear: 'fa fa-times-circle', // delete (e.g. v-chip close)\n  success: 'fa fa-check-circle',\n  info: 'fa fa-info-circle',\n  warning: 'fa fa-exclamation',\n  error: 'fa fa-exclamation-triangle',\n  prev: 'fa fa-chevron-left',\n  next: 'fa fa-chevron-right',\n  checkboxOn: 'fa fa-check-square',\n  checkboxOff: 'fa fa-square-o',\n  checkboxIndeterminate: 'fa fa-minus-square',\n  delimiter: 'fa fa-circle', // for carousel\n  sort: 'fa fa-sort-up',\n  expand: 'fa fa-chevron-down',\n  menu: 'fa fa-bars',\n  subgroup: 'fa fa-caret-down',\n  dropdown: 'fa fa-caret-down',\n  radioOn: 'fa fa-dot-circle-o',\n  radioOff: 'fa fa-circle-o',\n  edit: 'fa fa-pencil',\n  ratingEmpty: 'fa fa-star-o',\n  ratingFull: 'fa fa-star',\n  ratingHalf: 'fa fa-star-half-o',\n  loading: 'fa fa-refresh',\n  first: 'fa fa-step-backward',\n  last: 'fa fa-step-forward',\n  unfold: 'fa fa-angle-double-down',\n  file: 'fa fa-paperclip',\n  plus: 'fa fa-plus',\n  minus: 'fa fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\nimport { Component } from 'vue'\nimport icons from './fa'\n\nexport function convertToComponentDeclarations (\n  component: Component | string,\n  iconSet: VuetifyIcons,\n) {\n  const result: Partial<VuetifyIcons> = {}\n\n  for (const key in iconSet) {\n    result[key] = {\n      component,\n      props: {\n        icon: (iconSet[key] as string).split(' fa-'),\n      },\n    }\n  }\n\n  return result as VuetifyIcons\n}\n\nexport default convertToComponentDeclarations('font-awesome-icon', icons)\n","import mdiSvg from './mdi-svg'\nimport md from './md'\nimport mdi from './mdi'\nimport fa from './fa'\nimport fa4 from './fa4'\nimport faSvg from './fa-svg'\n\nexport default Object.freeze({\n  mdiSvg,\n  md,\n  mdi,\n  fa,\n  fa4,\n  faSvg,\n})\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Icons as IIcons } from 'vuetify/types/services/icons'\n\n// Presets\nimport presets from './presets'\n\nexport class Icons extends Service implements IIcons {\n  static property: 'icons' = 'icons'\n\n  public iconfont: IIcons['iconfont']\n\n  public values: IIcons['values']\n\n  public component: IIcons['component']\n\n  constructor (preset: VuetifyPreset) {\n    super()\n\n    const {\n      iconfont,\n      values,\n      component,\n    } = preset[Icons.property]\n\n    this.component = component\n    this.iconfont = iconfont\n    this.values = mergeDeep(\n      presets[iconfont],\n      values\n    ) as IIcons['values']\n  }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n  VuetifyLocale,\n  Lang as ILang,\n} from 'vuetify/types/services/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (\n  locale: VuetifyLocale,\n  key: string,\n  usingDefault = false,\n  defaultLocale: VuetifyLocale\n): string {\n  const shortKey = key.replace(LANG_PREFIX, '')\n  let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n  if (translation === fallback) {\n    if (usingDefault) {\n      consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n      translation = key\n    } else {\n      consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n      translation = getTranslation(defaultLocale, key, true, defaultLocale)\n    }\n  }\n\n  return translation\n}\n\nexport class Lang extends Service implements ILang {\n  static property: 'lang' = 'lang'\n\n  public current: ILang['current']\n\n  public defaultLocale = 'en'\n\n  public locales: ILang['locales']\n\n  private translator: ILang['t']\n\n  constructor (preset: VuetifyPreset) {\n    super()\n\n    const {\n      current,\n      locales,\n      t,\n    } = preset[Lang.property]\n\n    this.current = current\n    this.locales = locales\n    this.translator = t || this.defaultTranslator\n  }\n\n  public currentLocale (key: string) {\n    const translation = this.locales[this.current]\n    const defaultLocale = this.locales[this.defaultLocale]\n\n    return getTranslation(translation, key, false, defaultLocale)\n  }\n\n  public t (key: string, ...params: any[]) {\n    if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params)\n\n    return this.translator(key, ...params)\n  }\n\n  private defaultTranslator (key: string, ...params: any[]) {\n    return this.replace(this.currentLocale(key), params)\n  }\n\n  private replace (str: string, params: any[]) {\n    return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n      /* istanbul ignore next */\n      return String(params[+index])\n    })\n  }\n}\n","import { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n  [3.2406, -1.5372, -0.4986],\n  [-0.9689, 1.8758, 0.0415],\n  [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n  C <= 0.0031308\n    ? C * 12.92\n    : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n  [0.4124, 0.3576, 0.1805],\n  [0.2126, 0.7152, 0.0722],\n  [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n  C <= 0.04045\n    ? C / 12.92\n    : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n  const rgb = Array(3)\n  const transform = srgbForwardTransform\n  const matrix = srgbForwardMatrix\n\n  // Matrix transform, then gamma adjustment\n  for (let i = 0; i < 3; ++i) {\n    rgb[i] = Math.round(clamp(transform(\n      matrix[i][0] * xyz[0] +\n      matrix[i][1] * xyz[1] +\n      matrix[i][2] * xyz[2]\n    )) * 255)\n  }\n\n  // Rescale back to [0, 255]\n  return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n  const xyz: XYZ = [0, 0, 0]\n  const transform = srgbReverseTransform\n  const matrix = srgbReverseMatrix\n\n  // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n  const r = transform((rgb >> 16 & 0xff) / 255)\n  const g = transform((rgb >> 8 & 0xff) / 255)\n  const b = transform((rgb >> 0 & 0xff) / 255)\n\n  // Matrix color space transform\n  for (let i = 0; i < 3; ++i) {\n    xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n  }\n\n  return xyz\n}\n","import { XYZ, LAB } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n  t > delta ** 3\n    ? Math.cbrt(t)\n    : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n  t > delta\n    ? t ** 3\n    : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n  const transform = cielabForwardTransform\n  const transformedY = transform(xyz[1])\n\n  return [\n    116 * transformedY - 16,\n    500 * (transform(xyz[0] / 0.95047) - transformedY),\n    200 * (transformedY - transform(xyz[2] / 1.08883)),\n  ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n  const transform = cielabReverseTransform\n  const Ln = (lab[0] + 16) / 116\n  return [\n    transform(Ln + lab[1] / 500) * 0.95047,\n    transform(Ln),\n    transform(Ln - lab[2] / 200) * 1.08883,\n  ]\n}\n","import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n  VuetifyParsedTheme,\n  VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n  theme: Record<string, VuetifyThemeItem>,\n  isItem = false,\n  variations = true,\n): VuetifyParsedTheme {\n  const { anchor, ...variant } = theme\n  const colors = Object.keys(variant)\n  const parsedTheme: any = {}\n\n  for (let i = 0; i < colors.length; ++i) {\n    const name = colors[i]\n    const value = theme[name]\n\n    if (value == null) continue\n\n    if (!variations) {\n      parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n    } else if (isItem) {\n      /* istanbul ignore else */\n      if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n        parsedTheme[name] = colorToHex(value)\n      }\n    } else if (typeof value === 'object') {\n      parsedTheme[name] = parse(value, true, variations)\n    } else {\n      parsedTheme[name] = genVariations(name, colorToInt(value))\n    }\n  }\n\n  if (!isItem) {\n    parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n  }\n\n  return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n  return `\n.v-application .${name} {\n  background-color: ${value} !important;\n  border-color: ${value} !important;\n}\n.v-application .${name}--text {\n  color: ${value} !important;\n  caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n  const [type, n] = variant.split(/(\\d)/, 2)\n  return `\n.v-application .${name}.${type}-${n} {\n  background-color: ${value} !important;\n  border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n  color: ${value} !important;\n  caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n  const { anchor, ...variant } = theme\n  const colors = Object.keys(variant)\n\n  if (!colors.length) return ''\n\n  let variablesCss = ''\n  let css = ''\n\n  const aColor = cssVar ? genColorVariable('anchor') : anchor\n  css += `.v-application a { color: ${aColor}; }`\n  cssVar && (variablesCss += `  ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n  for (let i = 0; i < colors.length; ++i) {\n    const name = colors[i]\n    const value = theme[name]\n\n    css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n    cssVar && (variablesCss += `  ${genColorVariableName(name)}: ${value.base};\\n`)\n\n    const variants = keys(value)\n    for (let i = 0; i < variants.length; ++i) {\n      const variant = variants[i]\n      const variantValue = value[variant]\n      if (variant === 'base') continue\n\n      css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n      cssVar && (variablesCss += `  ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n    }\n  }\n\n  if (cssVar) {\n    variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n  }\n\n  return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record<string, string> {\n  const values: Record<string, string> = {\n    base: intToHex(value),\n  }\n\n  for (let i = 5; i > 0; --i) {\n    values[`lighten${i}`] = intToHex(lighten(value, i))\n  }\n\n  for (let i = 1; i <= 4; ++i) {\n    values[`darken${i}`] = intToHex(darken(value, i))\n  }\n\n  return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n  const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n  lab[0] = lab[0] + amount * 10\n  return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n  const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n  lab[0] = lab[0] - amount * 10\n  return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n  VuetifyParsedTheme,\n  VuetifyThemes,\n  VuetifyThemeVariant,\n  Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n  static property: 'theme' = 'theme'\n\n  public disabled = false\n\n  public options: ITheme['options']\n\n  public styleEl?: HTMLStyleElement\n\n  public themes: VuetifyThemes\n\n  public defaults: VuetifyThemes\n\n  private isDark = null as boolean | null\n\n  private unwatch = null as (() => void) | null\n\n  private vueMeta = null as any | null\n\n  constructor (preset: VuetifyPreset) {\n    super()\n\n    const {\n      dark,\n      disable,\n      options,\n      themes,\n    } = preset[Theme.property]\n\n    this.dark = Boolean(dark)\n    this.defaults = this.themes = themes\n    this.options = options\n\n    if (disable) {\n      this.disabled = true\n\n      return\n    }\n\n    this.themes = {\n      dark: this.fillVariant(themes.dark, true),\n      light: this.fillVariant(themes.light, false),\n    }\n  }\n\n  // When setting css, check for element and apply new values\n  /* eslint-disable-next-line accessor-pairs */\n  set css (val: string) {\n    if (this.vueMeta) {\n      if (this.isVueMeta23) {\n        this.applyVueMeta23()\n      }\n      return\n    }\n    this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n  }\n\n  set dark (val: boolean) {\n    const oldDark = this.isDark\n\n    this.isDark = val\n    // Only apply theme after dark\n    // has already been set before\n    oldDark != null && this.applyTheme()\n  }\n\n  get dark () {\n    return Boolean(this.isDark)\n  }\n\n  // Apply current theme default\n  // only called on client side\n  public applyTheme (): void {\n    if (this.disabled) return this.clearCss()\n\n    this.css = this.generatedStyles\n  }\n\n  public clearCss (): void {\n    this.css = ''\n  }\n\n  // Initialize theme for SSR and SPA\n  // Attach to ssrContext head or\n  // apply new theme to document\n  public init (root: Vue, ssrContext?: any): void {\n    if (this.disabled) return\n\n    /* istanbul ignore else */\n    if ((root as any).$meta) {\n      this.initVueMeta(root)\n    } else if (ssrContext) {\n      this.initSSR(ssrContext)\n    }\n\n    this.initTheme(root)\n  }\n\n  // Allows for you to set target theme\n  public setTheme (theme: 'light' | 'dark', value: object) {\n    this.themes[theme] = Object.assign(this.themes[theme], value)\n    this.applyTheme()\n  }\n\n  // Reset theme defaults\n  public resetThemes () {\n    this.themes.light = Object.assign({}, this.defaults.light)\n    this.themes.dark = Object.assign({}, this.defaults.dark)\n    this.applyTheme()\n  }\n\n  // Check for existence of style element\n  private checkOrCreateStyleElement (): boolean {\n    this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n    /* istanbul ignore next */\n    if (this.styleEl) return true\n\n    this.genStyleElement() // If doesn't have it, create it\n\n    return Boolean(this.styleEl)\n  }\n\n  private fillVariant (\n    theme: Partial<VuetifyThemeVariant> = {},\n    dark: boolean\n  ): VuetifyThemeVariant {\n    const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n    return Object.assign({},\n      defaultTheme,\n      theme\n    )\n  }\n\n  // Generate the style element\n  // if applicable\n  private genStyleElement (): void {\n    /* istanbul ignore if */\n    if (typeof document === 'undefined') return\n\n    /* istanbul ignore next */\n    this.styleEl = document.createElement('style')\n    this.styleEl.type = 'text/css'\n    this.styleEl.id = 'vuetify-theme-stylesheet'\n\n    if (this.options.cspNonce) {\n      this.styleEl.setAttribute('nonce', this.options.cspNonce)\n    }\n\n    document.head.appendChild(this.styleEl)\n  }\n\n  private initVueMeta (root: any) {\n    this.vueMeta = root.$meta()\n    if (this.isVueMeta23) {\n      // vue-meta needs to apply after mounted()\n      root.$nextTick(() => {\n        this.applyVueMeta23()\n      })\n      return\n    }\n\n    const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n    const metaInfo = root.$options[metaKeyName] || {}\n\n    root.$options[metaKeyName] = () => {\n      metaInfo.style = metaInfo.style || []\n\n      const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n      if (!vuetifyStylesheet) {\n        metaInfo.style.push({\n          cssText: this.generatedStyles,\n          type: 'text/css',\n          id: 'vuetify-theme-stylesheet',\n          nonce: (this.options || {}).cspNonce,\n        })\n      } else {\n        vuetifyStylesheet.cssText = this.generatedStyles\n      }\n\n      return metaInfo\n    }\n  }\n\n  private applyVueMeta23 () {\n    const { set } = this.vueMeta.addApp('vuetify')\n\n    set({\n      style: [{\n        cssText: this.generatedStyles,\n        type: 'text/css',\n        id: 'vuetify-theme-stylesheet',\n        nonce: this.options.cspNonce,\n      }],\n    })\n  }\n\n  private initSSR (ssrContext?: any) {\n    // SSR\n    const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n    ssrContext.head = ssrContext.head || ''\n    ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n  }\n\n  private initTheme (root: Vue) {\n    // Only watch for reactivity on client side\n    if (typeof document === 'undefined') return\n\n    // If we get here somehow, ensure\n    // existing instance is removed\n    if (this.unwatch) {\n      this.unwatch()\n      this.unwatch = null\n    }\n\n    // TODO: Update to use RFC if merged\n    // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n    root.$once('hook:created', () => {\n      const obs = Vue.observable({ themes: this.themes })\n      this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n    })\n    this.applyTheme()\n  }\n\n  get currentTheme () {\n    const target = this.dark ? 'dark' : 'light'\n\n    return this.themes[target]\n  }\n\n  get generatedStyles (): string {\n    const theme = this.parsedTheme\n    /* istanbul ignore next */\n    const options = this.options || {}\n    let css\n\n    if (options.themeCache != null) {\n      css = options.themeCache.get(theme)\n      /* istanbul ignore if */\n      if (css != null) return css\n    }\n\n    css = ThemeUtils.genStyles(theme, options.customProperties)\n\n    if (options.minifyTheme != null) {\n      css = options.minifyTheme(css)\n    }\n\n    if (options.themeCache != null) {\n      options.themeCache.set(theme, css)\n    }\n\n    return css\n  }\n\n  get parsedTheme (): VuetifyParsedTheme {\n    return ThemeUtils.parse(\n      this.currentTheme || {},\n      undefined,\n      getNestedValue(this.options, ['variations'], true)\n    )\n  }\n\n  // Is using v2.3 of vue-meta\n  // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n  private get isVueMeta23 (): boolean {\n    return typeof this.vueMeta.addApp === 'function'\n  }\n}\n","import { install } from './install'\n\n// Types\nimport Vue from 'vue'\nimport {\n  UserVuetifyPreset,\n  VuetifyPreset,\n} from 'vuetify/types/services/presets'\nimport {\n  VuetifyService,\n  VuetifyServiceContract,\n} from 'vuetify/types/services'\n\n// Services\nimport * as services from './services'\n\nexport default class Vuetify {\n  static install = install\n\n  static installed = false\n\n  static version = __VUETIFY_VERSION__\n\n  static config = {\n    silent: false,\n  }\n\n  public framework: Dictionary<VuetifyServiceContract> = {\n    isHydrating: false,\n  } as any\n\n  public installed: string[] = []\n\n  public preset = {} as VuetifyPreset\n\n  public userPreset: UserVuetifyPreset = {}\n\n  constructor (userPreset: UserVuetifyPreset = {}) {\n    this.userPreset = userPreset\n\n    this.use(services.Presets)\n    this.use(services.Application)\n    this.use(services.Breakpoint)\n    this.use(services.Goto)\n    this.use(services.Icons)\n    this.use(services.Lang)\n    this.use(services.Theme)\n  }\n\n  // Called on the new vuetify instance\n  // bootstrap in install beforeCreate\n  // Exposes ssrContext if available\n  init (root: Vue, ssrContext?: object) {\n    this.installed.forEach(property => {\n      const service = this.framework[property]\n\n      service.framework = this.framework\n\n      service.init(root, ssrContext)\n    })\n\n    // rtl is not installed and\n    // will never be called by\n    // the init process\n    this.framework.rtl = Boolean(this.preset.rtl) as any\n  }\n\n  // Instantiate a VuetifyService\n  use (Service: VuetifyService) {\n    const property = Service.property\n\n    if (this.installed.includes(property)) return\n\n    // TODO maybe a specific type for arg 2?\n    this.framework[property] = new Service(this.preset, this as any)\n    this.installed.push(property)\n  }\n}\n","export default {\n  badge: 'Distintivo',\n  close: 'Fechar',\n  dataIterator: {\n    noResultsText: 'Nenhum dado encontrado',\n    loadingText: 'Carregando itens...',\n  },\n  dataTable: {\n    itemsPerPageText: 'Linhas por página:',\n    ariaLabel: {\n      sortDescending: 'Ordenado decrescente.',\n      sortAscending: 'Ordenado crescente.',\n      sortNone: 'Não ordenado.',\n      activateNone: 'Ative para remover a ordenação.',\n      activateDescending: 'Ative para ordenar decrescente.',\n      activateAscending: 'Ative para ordenar crescente.',\n    },\n    sortBy: 'Ordenar por',\n  },\n  dataFooter: {\n    itemsPerPageText: 'Itens por página:',\n    itemsPerPageAll: 'Todos',\n    nextPage: 'Próxima página',\n    prevPage: 'Página anterior',\n    firstPage: 'Primeira página',\n    lastPage: 'Última página',\n    pageText: '{0}-{1} de {2}',\n  },\n  datePicker: {\n    itemsSelected: '{0} selecionado(s)',\n    nextMonthAriaLabel: 'Próximo mês',\n    nextYearAriaLabel: 'Próximo ano',\n    prevMonthAriaLabel: 'Mês anterior',\n    prevYearAriaLabel: 'Ano anterior',\n  },\n  noDataText: 'Não há dados disponíveis',\n  carousel: {\n    prev: 'Visão anterior',\n    next: 'Próxima visão',\n    ariaLabel: {\n      delimiter: 'Slide {0} de {1} do carrossel',\n    },\n  },\n  calendar: {\n    moreEvents: 'Mais {0}',\n  },\n  fileInput: {\n    counter: '{0} arquivo(s)',\n    counterSize: '{0} arquivo(s) ({1} no total)',\n  },\n  timePicker: {\n    am: 'AM',\n    pm: 'PM',\n  },\n  pagination: {\n    ariaLabel: {\n      wrapper: 'Navegação de paginação',\n      next: 'Próxima página',\n      previous: 'Página anterior',\n      page: 'Ir à página {0}',\n      currentPage: 'Página atual, página {0}',\n    },\n  },\n  rating: {\n    ariaLabel: {\n      icon: 'Rating {0} of {1}',\n    },\n  },\n}\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n  Delayable,\n  Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'activatable',\n\n  props: {\n    activator: {\n      default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n      validator: (val: string | object) => {\n        return ['string', 'object'].includes(typeof val)\n      },\n    },\n    disabled: Boolean,\n    internalActivator: Boolean,\n    openOnClick: {\n      type: Boolean,\n      default: true,\n    },\n    openOnHover: Boolean,\n    openOnFocus: Boolean,\n  },\n\n  data: () => ({\n    // Do not use this directly, call getActivator() instead\n    activatorElement: null as HTMLElement | null,\n    activatorNode: [] as VNode[],\n    events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n    listeners: {} as Listeners,\n  }),\n\n  watch: {\n    activator: 'resetActivator',\n    openOnFocus: 'resetActivator',\n    openOnHover: 'resetActivator',\n  },\n\n  mounted () {\n    const slotType = getSlotType(this, 'activator', true)\n\n    if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n      consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n    }\n\n    this.addActivatorEvents()\n  },\n\n  beforeDestroy () {\n    this.removeActivatorEvents()\n  },\n\n  methods: {\n    addActivatorEvents () {\n      if (\n        !this.activator ||\n        this.disabled ||\n        !this.getActivator()\n      ) return\n\n      this.listeners = this.genActivatorListeners()\n      const keys = Object.keys(this.listeners)\n\n      for (const key of keys) {\n        this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n      }\n    },\n    genActivator () {\n      const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n        on: this.genActivatorListeners(),\n        attrs: this.genActivatorAttributes(),\n      })) || []\n\n      this.activatorNode = node\n\n      return node\n    },\n    genActivatorAttributes () {\n      return {\n        role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n        'aria-haspopup': true,\n        'aria-expanded': String(this.isActive),\n      }\n    },\n    genActivatorListeners () {\n      if (this.disabled) return {}\n\n      const listeners: Listeners = {}\n\n      if (this.openOnHover) {\n        listeners.mouseenter = (e: MouseEvent) => {\n          this.getActivator(e)\n          this.runDelay('open')\n        }\n        listeners.mouseleave = (e: MouseEvent) => {\n          this.getActivator(e)\n          this.runDelay('close')\n        }\n      } else if (this.openOnClick) {\n        listeners.click = (e: MouseEvent) => {\n          const activator = this.getActivator(e)\n          if (activator) activator.focus()\n\n          e.stopPropagation()\n\n          this.isActive = !this.isActive\n        }\n      }\n\n      if (this.openOnFocus) {\n        listeners.focus = (e: FocusEvent) => {\n          this.getActivator(e)\n\n          e.stopPropagation()\n\n          this.isActive = !this.isActive\n        }\n      }\n\n      return listeners\n    },\n    getActivator (e?: Event): HTMLElement | null {\n      // If we've already fetched the activator, re-use\n      if (this.activatorElement) return this.activatorElement\n\n      let activator = null\n\n      if (this.activator) {\n        const target = this.internalActivator ? this.$el : document\n\n        if (typeof this.activator === 'string') {\n          // Selector\n          activator = target.querySelector(this.activator)\n        } else if ((this.activator as any).$el) {\n          // Component (ref)\n          activator = (this.activator as any).$el\n        } else {\n          // HTMLElement | Element\n          activator = this.activator\n        }\n      } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n        // Use the contents of the activator slot\n        // There's either only one element in it or we\n        // don't have a click event to use as a last resort\n        const vm = this.activatorNode[0].componentInstance\n        if (\n          vm &&\n          vm.$options.mixins && //                         Activatable is indirectly used via Menuable\n          vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n        ) {\n          // Activator is actually another activatible component, use its activator (#8846)\n          activator = (vm as any).getActivator()\n        } else {\n          activator = this.activatorNode[0].elm as HTMLElement\n        }\n      } else if (e) {\n        // Activated by a click or focus event\n        activator = (e.currentTarget || e.target) as HTMLElement\n      }\n\n      // The activator should only be a valid element (Ignore comments and text nodes)\n      this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n      return this.activatorElement\n    },\n    getContentSlot () {\n      return getSlot(this, 'default', this.getValueProxy(), true)\n    },\n    getValueProxy (): object {\n      const self = this\n      return {\n        get value () {\n          return self.isActive\n        },\n        set value (isActive: boolean) {\n          self.isActive = isActive\n        },\n      }\n    },\n    removeActivatorEvents () {\n      if (\n        !this.activator ||\n        !this.activatorElement\n      ) return\n\n      const keys = Object.keys(this.listeners)\n\n      for (const key of keys) {\n        (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n      }\n\n      this.listeners = {}\n    },\n    resetActivator () {\n      this.removeActivatorEvents()\n      this.activatorElement = null\n      this.getActivator()\n      this.addActivatorEvents()\n    },\n  },\n})\n","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n  /* @vue/component */\n  return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n    name: 'applicationable',\n\n    props: {\n      app: Boolean,\n    },\n\n    computed: {\n      applicationProperty (): TargetProp {\n        return value\n      },\n    },\n\n    watch: {\n      // If previous value was app\n      // reset the provided prop\n      app (x: boolean, prev: boolean) {\n        prev\n          ? this.removeApplication(true)\n          : this.callUpdate()\n      },\n      applicationProperty (newVal, oldVal) {\n        this.$vuetify.application.unregister(this._uid, oldVal)\n      },\n    },\n\n    activated () {\n      this.callUpdate()\n    },\n\n    created () {\n      for (let i = 0, length = events.length; i < length; i++) {\n        this.$watch(events[i], this.callUpdate)\n      }\n      this.callUpdate()\n    },\n\n    mounted () {\n      this.callUpdate()\n    },\n\n    deactivated () {\n      this.removeApplication()\n    },\n\n    destroyed () {\n      this.removeApplication()\n    },\n\n    methods: {\n      callUpdate () {\n        if (!this.app) return\n\n        this.$vuetify.application.register(\n          this._uid,\n          this.applicationProperty,\n          this.updateApplication()\n        )\n      },\n      removeApplication (force = false) {\n        if (!force && !this.app) return\n\n        this.$vuetify.application.unregister(\n          this._uid,\n          this.applicationProperty\n        )\n      },\n      updateApplication: () => 0,\n    },\n  })\n}\n","import Vue, { WatchHandler } from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & WatchHandler<any> {\n  return function (this: Vue, val, oldVal) {\n    for (const attr in oldVal) {\n      if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n        this.$delete(this.$data[property], attr)\n      }\n    }\n    for (const attr in val) {\n      this.$set(this.$data[property], attr, val[attr])\n    }\n  }\n}\n\nexport default Vue.extend({\n  data: () => ({\n    attrs$: {} as Dictionary<string>,\n    listeners$: {} as Dictionary<Function | Function[]>,\n  }),\n\n  created () {\n    // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n    // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n    this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n    this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n  },\n})\n","// Utilities\nimport { removed } from '../../util/console'\n\n// Types\nimport Vue, { VNode } from 'vue'\ninterface Toggleable extends Vue {\n  isActive?: boolean\n}\n\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable>().extend({\n  name: 'bootable',\n\n  props: {\n    eager: Boolean,\n  },\n\n  data: () => ({\n    isBooted: false,\n  }),\n\n  computed: {\n    hasContent (): boolean | undefined {\n      return this.isBooted || this.eager || this.isActive\n    },\n  },\n\n  watch: {\n    isActive () {\n      this.isBooted = true\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if ('lazy' in this.$attrs) {\n      removed('lazy', this)\n    }\n  },\n\n  methods: {\n    showLazyContent (content?: () => VNode[]): VNode[] {\n      return (this.hasContent && content) ? content() : [this.$createElement()]\n    },\n  },\n})\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\nimport { consoleError } from '../../util/console'\nimport { isCssColor } from '../../util/colorUtils'\n\nexport default Vue.extend({\n  name: 'colorable',\n\n  props: {\n    color: String,\n  },\n\n  methods: {\n    setBackgroundColor (color?: string | false, data: VNodeData = {}): VNodeData {\n      if (typeof data.style === 'string') {\n        // istanbul ignore next\n        consoleError('style must be an object', this)\n        // istanbul ignore next\n        return data\n      }\n      if (typeof data.class === 'string') {\n        // istanbul ignore next\n        consoleError('class must be an object', this)\n        // istanbul ignore next\n        return data\n      }\n      if (isCssColor(color)) {\n        data.style = {\n          ...data.style as object,\n          'background-color': `${color}`,\n          'border-color': `${color}`,\n        }\n      } else if (color) {\n        data.class = {\n          ...data.class,\n          [color]: true,\n        }\n      }\n\n      return data\n    },\n\n    setTextColor (color?: string | false, data: VNodeData = {}): VNodeData {\n      if (typeof data.style === 'string') {\n        // istanbul ignore next\n        consoleError('style must be an object', this)\n        // istanbul ignore next\n        return data\n      }\n      if (typeof data.class === 'string') {\n        // istanbul ignore next\n        consoleError('class must be an object', this)\n        // istanbul ignore next\n        return data\n      }\n      if (isCssColor(color)) {\n        data.style = {\n          ...data.style as object,\n          color: `${color}`,\n          'caret-color': `${color}`,\n        }\n      } else if (color) {\n        const [colorName, colorModifier] = color.toString().trim().split(' ', 2) as (string | undefined)[]\n        data.class = {\n          ...data.class,\n          [colorName + '--text']: true,\n        }\n        if (colorModifier) {\n          data.class['text--' + colorModifier] = true\n        }\n      }\n      return data\n    },\n  },\n})\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n  name: 'comparable',\n  props: {\n    valueComparator: {\n      type: Function,\n      default: deepEqual,\n    } as PropValidator<typeof deepEqual>,\n  },\n})\n","import Vue from 'vue'\n\n/**\n * Delayable\n *\n * @mixin\n *\n * Changes the open or close delay time for elements\n */\nexport default Vue.extend<Vue & { isActive?: boolean }>().extend({\n  name: 'delayable',\n\n  props: {\n    openDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n    closeDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n  },\n\n  data: () => ({\n    openTimeout: undefined as number | undefined,\n    closeTimeout: undefined as number | undefined,\n  }),\n\n  methods: {\n    /**\n     * Clear any pending delay timers from executing\n     */\n    clearDelay (): void {\n      clearTimeout(this.openTimeout)\n      clearTimeout(this.closeTimeout)\n    },\n    /**\n     * Runs callback after a specified delay\n     */\n    runDelay (type: 'open' | 'close', cb?: () => void): void {\n      this.clearDelay()\n\n      const delay = parseInt((this as any)[`${type}Delay`], 10)\n\n      ;(this as any)[`${type}Timeout`] = setTimeout(cb || (() => {\n        this.isActive = { open: true, close: false }[type]\n      }), delay)\n    },\n  },\n})\n","import Vue from 'vue'\n\nimport mixins from '../../util/mixins'\nimport { VOverlay } from '../../components/VOverlay'\n\ninterface options extends Vue {\n  $el: HTMLElement\n  $refs: {\n    content: HTMLElement\n  }\n  overlay?: InstanceType<typeof VOverlay>\n}\n\ninterface DependentInstance extends Vue {\n  isActive?: boolean\n  isDependent?: boolean\n}\n\nfunction searchChildren (children: Vue[]): DependentInstance[] {\n  const results = []\n  for (let index = 0; index < children.length; index++) {\n    const child = children[index] as DependentInstance\n    if (child.isActive && child.isDependent) {\n      results.push(child)\n    } else {\n      results.push(...searchChildren(child.$children))\n    }\n  }\n\n  return results\n}\n\n/* @vue/component */\nexport default mixins<options>().extend({\n  name: 'dependent',\n\n  data () {\n    return {\n      closeDependents: true,\n      isActive: false,\n      isDependent: true,\n    }\n  },\n\n  watch: {\n    isActive (val) {\n      if (val) return\n\n      const openDependents = this.getOpenDependents()\n      for (let index = 0; index < openDependents.length; index++) {\n        openDependents[index].isActive = false\n      }\n    },\n  },\n\n  methods: {\n    getOpenDependents (): any[] {\n      if (this.closeDependents) return searchChildren(this.$children)\n\n      return []\n    },\n    getOpenDependentElements (): HTMLElement[] {\n      const result = []\n      const openDependents = this.getOpenDependents()\n\n      for (let index = 0; index < openDependents.length; index++) {\n        result.push(...openDependents[index].getClickableDependentElements())\n      }\n\n      return result\n    },\n    getClickableDependentElements (): HTMLElement[] {\n      const result = [this.$el]\n      if (this.$refs.content) result.push(this.$refs.content)\n      if (this.overlay) result.push(this.overlay.$el as HTMLElement)\n      result.push(...this.getOpenDependentElements())\n\n      return result\n    },\n  },\n})\n","// Mixins\nimport Bootable from '../bootable'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { PropOptions } from 'vue'\nimport { VNode } from 'vue/types'\n\ninterface options extends Vue {\n  $el: HTMLElement\n  $refs: {\n    content: HTMLElement\n  }\n}\n\nfunction validateAttachTarget (val: any) {\n  const type = typeof val\n\n  if (type === 'boolean' || type === 'string') return true\n\n  return val.nodeType === Node.ELEMENT_NODE\n}\n\nfunction removeActivator (activator: VNode[]) {\n  activator.forEach(node => {\n    node.elm &&\n    node.elm.parentNode &&\n    node.elm.parentNode.removeChild(node.elm)\n  })\n}\n\n/* @vue/component */\nexport default mixins<options &\n  /* eslint-disable indent */\n  ExtractVue<typeof Bootable>\n  /* eslint-enable indent */\n>(Bootable).extend({\n  name: 'detachable',\n\n  props: {\n    attach: {\n      default: false,\n      validator: validateAttachTarget,\n    } as PropOptions<boolean | string | Element>,\n    contentClass: {\n      type: String,\n      default: '',\n    },\n  },\n\n  data: () => ({\n    activatorNode: null as null | VNode | VNode[],\n    hasDetached: false,\n  }),\n\n  watch: {\n    attach () {\n      this.hasDetached = false\n      this.initDetach()\n    },\n    hasContent () {\n      this.$nextTick(this.initDetach)\n    },\n  },\n\n  beforeMount () {\n    this.$nextTick(() => {\n      if (this.activatorNode) {\n        const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n\n        activator.forEach(node => {\n          if (!node.elm) return\n          if (!this.$el.parentNode) return\n\n          const target = this.$el === this.$el.parentNode.firstChild\n            ? this.$el\n            : this.$el.nextSibling\n\n          this.$el.parentNode.insertBefore(node.elm, target)\n        })\n      }\n    })\n  },\n\n  mounted () {\n    this.hasContent && this.initDetach()\n  },\n\n  deactivated () {\n    this.isActive = false\n  },\n\n  beforeDestroy () {\n    if (\n      this.$refs.content &&\n      this.$refs.content.parentNode\n    ) {\n      this.$refs.content.parentNode.removeChild(this.$refs.content)\n    }\n  },\n\n  destroyed () {\n    if (this.activatorNode) {\n      const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode]\n      if (this.$el.isConnected) {\n        // Component has been destroyed but the element still exists, we must be in a transition\n        // Wait for the transition to finish before cleaning up the detached activator\n        const observer = new MutationObserver(list => {\n          if (\n            list.some(record => Array.from(record.removedNodes).includes(this.$el))\n          ) {\n            observer.disconnect()\n            removeActivator(activator)\n          }\n        })\n        observer.observe(this.$el.parentNode!, { subtree: false, childList: true })\n      } else {\n        removeActivator(activator)\n      }\n    }\n  },\n\n  methods: {\n    getScopeIdAttrs () {\n      const scopeId = getObjectValueByPath(this.$vnode, 'context.$options._scopeId')\n\n      return scopeId && {\n        [scopeId]: '',\n      }\n    },\n    initDetach () {\n      if (this._isDestroyed ||\n        !this.$refs.content ||\n        this.hasDetached ||\n        // Leave menu in place if attached\n        // and dev has not changed target\n        this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n        this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n        this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n      ) return\n\n      let target\n      if (this.attach === false) {\n        // Default, detach to app\n        target = document.querySelector('[data-app]')\n      } else if (typeof this.attach === 'string') {\n        // CSS selector\n        target = document.querySelector(this.attach)\n      } else {\n        // DOM Element\n        target = this.attach\n      }\n\n      if (!target) {\n        consoleWarn(`Unable to locate target ${this.attach || '[data-app]'}`, this)\n        return\n      }\n\n      target.appendChild(this.$refs.content)\n\n      this.hasDetached = true\n    },\n  },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n  name: 'elevatable',\n\n  props: {\n    elevation: [Number, String],\n  },\n\n  computed: {\n    computedElevation (): string | number | undefined {\n      return this.elevation\n    },\n    elevationClasses (): Record<string, boolean> {\n      const elevation = this.computedElevation\n\n      if (elevation == null) return {}\n      if (isNaN(parseInt(elevation))) return {}\n      return { [`elevation-${this.elevation}`]: true }\n    },\n  },\n})\n","// Mixins\nimport { Registrable, inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { ExtractVue } from '../../util/mixins'\nimport { VueConstructor } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport type Groupable<T extends string, C extends VueConstructor | null = null> = VueConstructor<ExtractVue<Registrable<T, C>> & {\n  activeClass: string\n  isActive: boolean\n  disabled: boolean\n  groupClasses: object\n  toggle (): void\n}>\n\nexport function factory<T extends string, C extends VueConstructor | null = null> (\n  namespace: T,\n  child?: string,\n  parent?: string\n): Groupable<T, C> {\n  return RegistrableInject<T, C>(namespace, child, parent).extend({\n    name: 'groupable',\n\n    props: {\n      activeClass: {\n        type: String,\n        default (): string | undefined {\n          if (!this[namespace]) return undefined\n\n          return this[namespace].activeClass\n        },\n      } as any as PropValidator<string>,\n      disabled: Boolean,\n    },\n\n    data () {\n      return {\n        isActive: false,\n      }\n    },\n\n    computed: {\n      groupClasses (): object {\n        if (!this.activeClass) return {}\n\n        return {\n          [this.activeClass]: this.isActive,\n        }\n      },\n    },\n\n    created () {\n      this[namespace] && (this[namespace] as any).register(this)\n    },\n\n    beforeDestroy () {\n      this[namespace] && (this[namespace] as any).unregister(this)\n    },\n\n    methods: {\n      toggle () {\n        this.$emit('change')\n      },\n    },\n  })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Groupable = factory('itemGroup')\n\nexport default Groupable\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n  VFadeTransition,\n  VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n  Colorable,\n  PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n  Proxyable,\n  Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-progress-linear',\n\n  directives: { intersect },\n\n  props: {\n    active: {\n      type: Boolean,\n      default: true,\n    },\n    backgroundColor: {\n      type: String,\n      default: null,\n    },\n    backgroundOpacity: {\n      type: [Number, String],\n      default: null,\n    },\n    bufferValue: {\n      type: [Number, String],\n      default: 100,\n    },\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    height: {\n      type: [Number, String],\n      default: 4,\n    },\n    indeterminate: Boolean,\n    query: Boolean,\n    reverse: Boolean,\n    rounded: Boolean,\n    stream: Boolean,\n    striped: Boolean,\n    value: {\n      type: [Number, String],\n      default: 0,\n    },\n  },\n\n  data () {\n    return {\n      internalLazyValue: this.value || 0,\n      isVisible: true,\n    }\n  },\n\n  computed: {\n    __cachedBackground (): VNode {\n      return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n        staticClass: 'v-progress-linear__background',\n        style: this.backgroundStyle,\n      }))\n    },\n    __cachedBar (): VNode {\n      return this.$createElement(this.computedTransition, [this.__cachedBarType])\n    },\n    __cachedBarType (): VNode {\n      return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n    },\n    __cachedBuffer (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__buffer',\n        style: this.styles,\n      })\n    },\n    __cachedDeterminate (): VNode {\n      return this.$createElement('div', this.setBackgroundColor(this.color, {\n        staticClass: `v-progress-linear__determinate`,\n        style: {\n          width: convertToUnit(this.normalizedValue, '%'),\n        },\n      }))\n    },\n    __cachedIndeterminate (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__indeterminate',\n        class: {\n          'v-progress-linear__indeterminate--active': this.active,\n        },\n      }, [\n        this.genProgressBar('long'),\n        this.genProgressBar('short'),\n      ])\n    },\n    __cachedStream (): VNode | null {\n      if (!this.stream) return null\n\n      return this.$createElement('div', this.setTextColor(this.color, {\n        staticClass: 'v-progress-linear__stream',\n        style: {\n          width: convertToUnit(100 - this.normalizedBuffer, '%'),\n        },\n      }))\n    },\n    backgroundStyle (): object {\n      const backgroundOpacity = this.backgroundOpacity == null\n        ? (this.backgroundColor ? 1 : 0.3)\n        : parseFloat(this.backgroundOpacity)\n\n      return {\n        opacity: backgroundOpacity,\n        [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n        width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n      }\n    },\n    classes (): object {\n      return {\n        'v-progress-linear--absolute': this.absolute,\n        'v-progress-linear--fixed': this.fixed,\n        'v-progress-linear--query': this.query,\n        'v-progress-linear--reactive': this.reactive,\n        'v-progress-linear--reverse': this.isReversed,\n        'v-progress-linear--rounded': this.rounded,\n        'v-progress-linear--striped': this.striped,\n        'v-progress-linear--visible': this.isVisible,\n        ...this.themeClasses,\n      }\n    },\n    computedTransition (): FunctionalComponentOptions {\n      return this.indeterminate ? VFadeTransition : VSlideXTransition\n    },\n    isReversed (): boolean {\n      return this.$vuetify.rtl !== this.reverse\n    },\n    normalizedBuffer (): number {\n      return this.normalize(this.bufferValue)\n    },\n    normalizedValue (): number {\n      return this.normalize(this.internalLazyValue)\n    },\n    reactive (): boolean {\n      return Boolean(this.$listeners.change)\n    },\n    styles (): object {\n      const styles: Record<string, any> = {}\n\n      if (!this.active) {\n        styles.height = 0\n      }\n\n      if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n        styles.width = convertToUnit(this.normalizedBuffer, '%')\n      }\n\n      return styles\n    },\n  },\n\n  methods: {\n    genContent () {\n      const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n      if (!slot) return null\n\n      return this.$createElement('div', {\n        staticClass: 'v-progress-linear__content',\n      }, slot)\n    },\n    genListeners () {\n      const listeners = this.$listeners\n\n      if (this.reactive) {\n        listeners.click = this.onClick\n      }\n\n      return listeners\n    },\n    genProgressBar (name: 'long' | 'short') {\n      return this.$createElement('div', this.setBackgroundColor(this.color, {\n        staticClass: 'v-progress-linear__indeterminate',\n        class: {\n          [name]: true,\n        },\n      }))\n    },\n    onClick (e: MouseEvent) {\n      if (!this.reactive) return\n\n      const { width } = this.$el.getBoundingClientRect()\n\n      this.internalValue = e.offsetX / width * 100\n    },\n    onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n      this.isVisible = isIntersecting\n    },\n    normalize (value: string | number) {\n      if (value < 0) return 0\n      if (value > 100) return 100\n      return parseFloat(value)\n    },\n  },\n\n  render (h): VNode {\n    const data = {\n      staticClass: 'v-progress-linear',\n      attrs: {\n        role: 'progressbar',\n        'aria-valuemin': 0,\n        'aria-valuemax': this.normalizedBuffer,\n        'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n      },\n      class: this.classes,\n      directives: [{\n        name: 'intersect',\n        value: this.onObserve,\n      }],\n      style: {\n        bottom: this.bottom ? 0 : undefined,\n        height: this.active ? convertToUnit(this.height) : 0,\n        top: this.top ? 0 : undefined,\n      },\n      on: this.genListeners(),\n    }\n\n    return h('div', data, [\n      this.__cachedStream,\n      this.__cachedBackground,\n      this.__cachedBuffer,\n      this.__cachedBar,\n      this.genContent(),\n    ])\n  },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\n\ninterface colorable extends Vue {\n  color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend<colorable>().extend({\n  name: 'loadable',\n\n  props: {\n    loading: {\n      type: [Boolean, String],\n      default: false,\n    },\n    loaderHeight: {\n      type: [Number, String],\n      default: 2,\n    },\n  },\n\n  methods: {\n    genProgress (): VNode | VNode[] | null {\n      if (this.loading === false) return null\n\n      return this.$slots.progress || this.$createElement(VProgressLinear, {\n        props: {\n          absolute: true,\n          color: (this.loading === true || this.loading === '')\n            ? (this.color || 'primary')\n            : this.loading,\n          height: this.loaderHeight,\n          indeterminate: true,\n        },\n      })\n    },\n  },\n})\n","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType<string | number | undefined>\n\nexport default Vue.extend({\n  name: 'measurable',\n\n  props: {\n    height: [Number, String] as NumberOrNumberString,\n    maxHeight: [Number, String] as NumberOrNumberString,\n    maxWidth: [Number, String] as NumberOrNumberString,\n    minHeight: [Number, String] as NumberOrNumberString,\n    minWidth: [Number, String] as NumberOrNumberString,\n    width: [Number, String] as NumberOrNumberString,\n  },\n\n  computed: {\n    measurableStyles (): object {\n      const styles: Record<string, string> = {}\n\n      const height = convertToUnit(this.height)\n      const minHeight = convertToUnit(this.minHeight)\n      const minWidth = convertToUnit(this.minWidth)\n      const maxHeight = convertToUnit(this.maxHeight)\n      const maxWidth = convertToUnit(this.maxWidth)\n      const width = convertToUnit(this.width)\n\n      if (height) styles.height = height\n      if (minHeight) styles.minHeight = minHeight\n      if (minWidth) styles.minWidth = minWidth\n      if (maxHeight) styles.maxHeight = maxHeight\n      if (maxWidth) styles.maxWidth = maxWidth\n      if (width) styles.width = width\n\n      return styles\n    },\n  },\n})\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n  Stackable,\n  positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n  Activatable,\n  Detachable,\n)\n\ninterface dimensions {\n  top: number\n  left: number\n  bottom: number\n  right: number\n  width: number\n  height: number\n  offsetTop: number\n  scrollHeight: number\n  offsetLeft: number\n}\n\ninterface options extends ExtractVue<typeof baseMixins> {\n  attach: boolean | string | Element\n  offsetY: boolean\n  offsetX: boolean\n  dimensions: {\n    activator: dimensions\n    content: dimensions\n  }\n  $refs: {\n    content: HTMLElement\n    activator: HTMLElement\n  }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'menuable',\n\n  props: {\n    allowOverflow: Boolean,\n    light: Boolean,\n    dark: Boolean,\n    maxWidth: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    minWidth: [Number, String],\n    nudgeBottom: {\n      type: [Number, String],\n      default: 0,\n    },\n    nudgeLeft: {\n      type: [Number, String],\n      default: 0,\n    },\n    nudgeRight: {\n      type: [Number, String],\n      default: 0,\n    },\n    nudgeTop: {\n      type: [Number, String],\n      default: 0,\n    },\n    nudgeWidth: {\n      type: [Number, String],\n      default: 0,\n    },\n    offsetOverflow: Boolean,\n    positionX: {\n      type: Number,\n      default: null,\n    },\n    positionY: {\n      type: Number,\n      default: null,\n    },\n    zIndex: {\n      type: [Number, String],\n      default: null,\n    },\n  },\n\n  data: () => ({\n    activatorNode: [] as VNode[],\n    absoluteX: 0,\n    absoluteY: 0,\n    activatedBy: null as EventTarget | null,\n    activatorFixed: false,\n    dimensions: {\n      activator: {\n        top: 0,\n        left: 0,\n        bottom: 0,\n        right: 0,\n        width: 0,\n        height: 0,\n        offsetTop: 0,\n        scrollHeight: 0,\n        offsetLeft: 0,\n      },\n      content: {\n        top: 0,\n        left: 0,\n        bottom: 0,\n        right: 0,\n        width: 0,\n        height: 0,\n        offsetTop: 0,\n        scrollHeight: 0,\n      },\n    },\n    relativeYOffset: 0,\n    hasJustFocused: false,\n    hasWindow: false,\n    inputActivator: false,\n    isContentActive: false,\n    pageWidth: 0,\n    pageYOffset: 0,\n    stackClass: 'v-menu__content--active',\n    stackMinZIndex: 6,\n  }),\n\n  computed: {\n    computedLeft () {\n      const a = this.dimensions.activator\n      const c = this.dimensions.content\n      const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n      const minWidth = Math.max(a.width, c.width)\n      let left = 0\n      left += activatorLeft\n      if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n      if (this.offsetX) {\n        const maxWidth = isNaN(Number(this.maxWidth))\n          ? a.width\n          : Math.min(a.width, Number(this.maxWidth))\n\n        left += this.left ? -maxWidth : a.width\n      }\n      if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n      if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n      return left\n    },\n    computedTop () {\n      const a = this.dimensions.activator\n      const c = this.dimensions.content\n      let top = 0\n\n      if (this.top) top += a.height - c.height\n      if (this.attach !== false) top += a.offsetTop\n      else top += a.top + this.pageYOffset\n      if (this.offsetY) top += this.top ? -a.height : a.height\n      if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n      if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n      return top\n    },\n    hasActivator (): boolean {\n      return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n    },\n    absoluteYOffset (): number {\n      return this.pageYOffset - this.relativeYOffset\n    },\n  },\n\n  watch: {\n    disabled (val) {\n      val && this.callDeactivate()\n    },\n    isActive (val) {\n      if (this.disabled) return\n\n      val ? this.callActivate() : this.callDeactivate()\n    },\n    positionX: 'updateDimensions',\n    positionY: 'updateDimensions',\n  },\n\n  beforeMount () {\n    this.hasWindow = typeof window !== 'undefined'\n\n    if (this.hasWindow) {\n      window.addEventListener('resize', this.updateDimensions, false)\n    }\n  },\n\n  beforeDestroy () {\n    if (this.hasWindow) {\n      window.removeEventListener('resize', this.updateDimensions, false)\n    }\n  },\n\n  methods: {\n    absolutePosition () {\n      return {\n        offsetTop: this.positionY || this.absoluteY,\n        offsetLeft: this.positionX || this.absoluteX,\n        scrollHeight: 0,\n        top: this.positionY || this.absoluteY,\n        bottom: this.positionY || this.absoluteY,\n        left: this.positionX || this.absoluteX,\n        right: this.positionX || this.absoluteX,\n        height: 0,\n        width: 0,\n      }\n    },\n    activate () {},\n    calcLeft (menuWidth: number) {\n      return convertToUnit(this.attach !== false\n        ? this.computedLeft\n        : this.calcXOverflow(this.computedLeft, menuWidth))\n    },\n    calcTop () {\n      return convertToUnit(this.attach !== false\n        ? this.computedTop\n        : this.calcYOverflow(this.computedTop))\n    },\n    calcXOverflow (left: number, menuWidth: number) {\n      const xOverflow = left + menuWidth - this.pageWidth + 12\n\n      if ((!this.left || this.right) && xOverflow > 0) {\n        left = Math.max(left - xOverflow, 0)\n      } else {\n        left = Math.max(left, 12)\n      }\n\n      return left + this.getOffsetLeft()\n    },\n    calcYOverflow (top: number) {\n      const documentHeight = this.getInnerHeight()\n      const toTop = this.absoluteYOffset + documentHeight\n      const activator = this.dimensions.activator\n      const contentHeight = this.dimensions.content.height\n      const totalHeight = top + contentHeight\n      const isOverflowing = toTop < totalHeight\n\n      // If overflowing bottom and offset\n      // TODO: set 'bottom' position instead of 'top'\n      if (isOverflowing &&\n        this.offsetOverflow &&\n        // If we don't have enough room to offset\n        // the overflow, don't offset\n        activator.top > contentHeight\n      ) {\n        top = this.pageYOffset + (activator.top - contentHeight)\n      // If overflowing bottom\n      } else if (isOverflowing && !this.allowOverflow) {\n        top = toTop - contentHeight - 12\n      // If overflowing top\n      } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n        top = this.absoluteYOffset + 12\n      }\n\n      return top < 12 ? 12 : top\n    },\n    callActivate () {\n      if (!this.hasWindow) return\n\n      this.activate()\n    },\n    callDeactivate () {\n      this.isContentActive = false\n\n      this.deactivate()\n    },\n    checkForPageYOffset () {\n      if (this.hasWindow) {\n        this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n      }\n    },\n    checkActivatorFixed () {\n      if (this.attach !== false) return\n      let el = this.getActivator()\n      while (el) {\n        if (window.getComputedStyle(el).position === 'fixed') {\n          this.activatorFixed = true\n          return\n        }\n        el = el.offsetParent as HTMLElement\n      }\n      this.activatorFixed = false\n    },\n    deactivate () {},\n    genActivatorListeners () {\n      const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n      const onClick = listeners.click\n\n      if (onClick) {\n        listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n          if (this.openOnClick) {\n            onClick && onClick(e)\n          }\n\n          this.absoluteX = e.clientX\n          this.absoluteY = e.clientY\n        }\n      }\n\n      return listeners\n    },\n    getInnerHeight () {\n      if (!this.hasWindow) return 0\n\n      return window.innerHeight ||\n        document.documentElement.clientHeight\n    },\n    getOffsetLeft () {\n      if (!this.hasWindow) return 0\n\n      return window.pageXOffset ||\n        document.documentElement.scrollLeft\n    },\n    getOffsetTop () {\n      if (!this.hasWindow) return 0\n\n      return window.pageYOffset ||\n        document.documentElement.scrollTop\n    },\n    getRoundedBoundedClientRect (el: Element) {\n      const rect = el.getBoundingClientRect()\n      return {\n        top: Math.round(rect.top),\n        left: Math.round(rect.left),\n        bottom: Math.round(rect.bottom),\n        right: Math.round(rect.right),\n        width: Math.round(rect.width),\n        height: Math.round(rect.height),\n      }\n    },\n    measure (el: HTMLElement) {\n      if (!el || !this.hasWindow) return null\n\n      const rect = this.getRoundedBoundedClientRect(el)\n\n      // Account for activator margin\n      if (this.attach !== false) {\n        const style = window.getComputedStyle(el)\n\n        rect.left = parseInt(style.marginLeft!)\n        rect.top = parseInt(style.marginTop!)\n      }\n\n      return rect\n    },\n    sneakPeek (cb: () => void) {\n      requestAnimationFrame(() => {\n        const el = this.$refs.content\n\n        if (!el || el.style.display !== 'none') {\n          cb()\n          return\n        }\n\n        el.style.display = 'inline-block'\n        cb()\n        el.style.display = 'none'\n      })\n    },\n    startTransition () {\n      return new Promise<void>(resolve => requestAnimationFrame(() => {\n        this.isContentActive = this.hasJustFocused = this.isActive\n        resolve()\n      }))\n    },\n    updateDimensions () {\n      this.hasWindow = typeof window !== 'undefined'\n      this.checkActivatorFixed()\n      this.checkForPageYOffset()\n      this.pageWidth = document.documentElement.clientWidth\n\n      const dimensions: any = {\n        activator: { ...this.dimensions.activator },\n        content: { ...this.dimensions.content },\n      }\n\n      // Activator should already be shown\n      if (!this.hasActivator || this.absolute) {\n        dimensions.activator = this.absolutePosition()\n      } else {\n        const activator = this.getActivator()\n        if (!activator) return\n\n        dimensions.activator = this.measure(activator)\n        dimensions.activator.offsetLeft = activator.offsetLeft\n        if (this.attach !== false) {\n          // account for css padding causing things to not line up\n          // this is mostly for v-autocomplete, hopefully it won't break anything\n          dimensions.activator.offsetTop = activator.offsetTop\n        } else {\n          dimensions.activator.offsetTop = 0\n        }\n      }\n\n      // Display and hide to get dimensions\n      this.sneakPeek(() => {\n        if (this.$refs.content) {\n          if (this.$refs.content.offsetParent) {\n            const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n            this.relativeYOffset = window.pageYOffset + offsetRect.top\n            dimensions.activator.top -= this.relativeYOffset\n            dimensions.activator.left -= window.pageXOffset + offsetRect.left\n          }\n\n          dimensions.content = this.measure(this.$refs.content)\n        }\n\n        this.dimensions = dimensions\n      })\n    },\n  },\n})\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'mobile',\n\n  props: {\n    mobileBreakpoint: {\n      type: [Number, String] as PropType<number | BreakpointName>,\n      default (): number | BreakpointName | undefined {\n        // Avoid destroying unit\n        // tests for users\n        return this.$vuetify\n          ? this.$vuetify.breakpoint.mobileBreakpoint\n          : undefined\n      },\n      validator: v => (\n        !isNaN(Number(v)) ||\n        ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n      ),\n    },\n  },\n\n  computed: {\n    isMobile (): boolean {\n      const {\n        mobile,\n        width,\n        name,\n        mobileBreakpoint,\n      } = this.$vuetify.breakpoint\n\n      // Check if local mobileBreakpoint matches\n      // the application's mobileBreakpoint\n      if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n      const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n      const isNumber = !isNaN(mobileWidth)\n\n      return isNumber\n        ? width < mobileWidth\n        : name === this.mobileBreakpoint\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n      deprecate('mobile-break-point', 'mobile-breakpoint', this)\n    }\n  },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n  keyCodes,\n  addOnceEventListener,\n  addPassiveEventListener,\n  getZIndex,\n  composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n  isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n  activeZIndex: number\n}\n\ninterface options {\n  absolute?: boolean\n  $refs: {\n    dialog?: HTMLElement\n    content?: HTMLElement\n  }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n  name: 'overlayable',\n\n  props: {\n    hideOverlay: Boolean,\n    overlayColor: String,\n    overlayOpacity: [Number, String],\n  },\n\n  data () {\n    return {\n      animationFrame: 0,\n      overlay: null as InstanceType<typeof VOverlay> | null,\n    }\n  },\n\n  watch: {\n    hideOverlay (value) {\n      if (!this.isActive) return\n\n      if (value) this.removeOverlay()\n      else this.genOverlay()\n    },\n  },\n\n  beforeDestroy () {\n    this.removeOverlay()\n  },\n\n  methods: {\n    createOverlay () {\n      const overlay = new VOverlay({\n        propsData: {\n          absolute: this.absolute,\n          value: false,\n          color: this.overlayColor,\n          opacity: this.overlayOpacity,\n        },\n      })\n\n      overlay.$mount()\n\n      const parent = this.absolute\n        ? this.$el.parentNode\n        : document.querySelector('[data-app]')\n\n      parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n      this.overlay = overlay\n    },\n    genOverlay () {\n      this.hideScroll()\n\n      if (this.hideOverlay) return\n\n      if (!this.overlay) this.createOverlay()\n\n      this.animationFrame = requestAnimationFrame(() => {\n        if (!this.overlay) return\n\n        if (this.activeZIndex !== undefined) {\n          this.overlay.zIndex = String(this.activeZIndex - 1)\n        } else if (this.$el) {\n          this.overlay.zIndex = getZIndex(this.$el)\n        }\n\n        this.overlay.value = true\n      })\n\n      return true\n    },\n    /** removeOverlay(false) will not restore the scollbar afterwards */\n    removeOverlay (showScroll = true) {\n      if (this.overlay) {\n        addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n          if (\n            !this.overlay ||\n            !this.overlay.$el ||\n            !this.overlay.$el.parentNode ||\n            this.overlay.value ||\n            this.isActive\n          ) return\n\n          this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n          this.overlay.$destroy()\n          this.overlay = null\n        })\n\n        // Cancel animation frame in case\n        // overlay is removed before it\n        // has finished its animation\n        cancelAnimationFrame(this.animationFrame)\n\n        this.overlay.value = false\n      }\n\n      showScroll && this.showScroll()\n    },\n    scrollListener (e: WheelEvent & KeyboardEvent) {\n      if (e.type === 'keydown') {\n        if (\n          ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n          // https://github.com/vuetifyjs/vuetify/issues/4715\n          (e.target as HTMLElement).isContentEditable\n        ) return\n\n        const up = [keyCodes.up, keyCodes.pageup]\n        const down = [keyCodes.down, keyCodes.pagedown]\n\n        if (up.includes(e.keyCode)) {\n          (e as any).deltaY = -1\n        } else if (down.includes(e.keyCode)) {\n          (e as any).deltaY = 1\n        } else {\n          return\n        }\n      }\n\n      if (e.target === this.overlay ||\n        (e.type !== 'keydown' && e.target === document.body) ||\n        this.checkPath(e)) e.preventDefault()\n    },\n    hasScrollbar (el?: Element) {\n      if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n      const style = window.getComputedStyle(el)\n      return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n      ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n    },\n    shouldScroll (el: Element, e: WheelEvent): boolean {\n      if (el.hasAttribute('data-app')) return false\n\n      const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n      const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n      let alreadyAtStart: boolean\n      let alreadyAtEnd: boolean\n      if (dir === 'y') {\n        alreadyAtStart = el.scrollTop === 0\n        alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n      } else {\n        alreadyAtStart = el.scrollLeft === 0\n        alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n      }\n\n      const scrollingUp = delta < 0\n      const scrollingDown = delta > 0\n\n      if (!alreadyAtStart && scrollingUp) return true\n      if (!alreadyAtEnd && scrollingDown) return true\n      if ((alreadyAtStart || alreadyAtEnd)) {\n        return this.shouldScroll(el.parentNode as Element, e)\n      }\n\n      return false\n    },\n    isInside (el: Element, parent: Element): boolean {\n      if (el === parent) {\n        return true\n      } else if (el === null || el === document.body) {\n        return false\n      } else {\n        return this.isInside(el.parentNode as Element, parent)\n      }\n    },\n    checkPath (e: WheelEvent) {\n      const path = composedPath(e)\n\n      if (e.type === 'keydown' && path[0] === document.body) {\n        const dialog = this.$refs.dialog\n        // getSelection returns null in firefox in some edge cases, can be ignored\n        const selected = window.getSelection()!.anchorNode as Element\n        if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n          return !this.shouldScroll(dialog, e)\n        }\n        return true\n      }\n\n      for (let index = 0; index < path.length; index++) {\n        const el = path[index]\n\n        if (el === document) return true\n        if (el === document.documentElement) return true\n        if (el === this.$refs.content) return true\n\n        if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n      }\n\n      return true\n    },\n    hideScroll () {\n      if (this.$vuetify.breakpoint.smAndDown) {\n        document.documentElement!.classList.add('overflow-y-hidden')\n      } else {\n        addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n        window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n      }\n    },\n    showScroll () {\n      document.documentElement!.classList.remove('overflow-y-hidden')\n      window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n      window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n    },\n  },\n})\n","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n  absolute: Boolean,\n  bottom: Boolean,\n  fixed: Boolean,\n  left: Boolean,\n  right: Boolean,\n  top: Boolean,\n}\ntype props = Record<keyof typeof availableProps, boolean>\n\nexport type Positionable<S extends keyof props> = VueConstructor<Vue & { [P in S]: boolean }, { [P in S]: BooleanConstructor }>\n\nexport function factory <S extends keyof props> (selected?: S[]): Positionable<S>\nexport function factory (selected: undefined): OptionsVue<Vue, {}, {}, {}, props, typeof availableProps>\nexport function factory (selected: any[] = []): any {\n  return Vue.extend({\n    name: 'positionable',\n    props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n  })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n  created () {\n    this.top\n    this.bottom\n    this.absolute\n  }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n  created () {\n    this.top\n    this.bottom\n    this.absolute\n  }\n})\n\nlet all = factory().extend({\n  created () {\n    this.top\n    this.bottom\n    this.absolute\n    this.foobar\n  }\n})\n/**/\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Proxyable<T extends string = 'value'> = VueConstructor<Vue & {\n  internalLazyValue: unknown\n  internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n  prop = 'value',\n  event = 'change'\n) {\n  return Vue.extend({\n    name: 'proxyable',\n\n    model: {\n      prop,\n      event,\n    },\n\n    props: {\n      [prop]: {\n        required: false,\n      },\n    },\n\n    data () {\n      return {\n        internalLazyValue: this[prop] as unknown,\n      }\n    },\n\n    computed: {\n      internalValue: {\n        get (): unknown {\n          return this.internalLazyValue\n        },\n        set (val: any) {\n          if (val === this.internalLazyValue) return\n\n          this.internalLazyValue = val\n\n          this.$emit(event, val)\n        },\n      },\n    },\n\n    watch: {\n      [prop] (val) {\n        this.internalLazyValue = val\n      },\n    },\n  })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n","import Vue from 'vue'\nimport { VueConstructor } from 'vue/types/vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction generateWarning (child: string, parent: string) {\n  return () => consoleWarn(`The ${child} component must be used inside a ${parent}`)\n}\n\nexport type Registrable<T extends string, C extends VueConstructor | null = null> = VueConstructor<Vue & {\n  [K in T]: C extends VueConstructor ? InstanceType<C> : {\n    register (...props: any[]): void\n    unregister (self: any): void\n  }\n}>\n\nexport function inject<\n  T extends string, C extends VueConstructor | null = null\n> (namespace: T, child?: string, parent?: string): Registrable<T, C> {\n  const defaultImpl = child && parent ? {\n    register: generateWarning(child, parent),\n    unregister: generateWarning(child, parent),\n  } : null\n\n  return Vue.extend({\n    name: 'registrable-inject',\n\n    inject: {\n      [namespace]: {\n        default: defaultImpl,\n      },\n    },\n  })\n}\n\nexport function provide (namespace: string, self = false) {\n  return Vue.extend({\n    name: 'registrable-provide',\n\n    provide (): object {\n      return {\n        [namespace]: self ? this : {\n          register: (this as any).register,\n          unregister: (this as any).unregister,\n        },\n      }\n    },\n  })\n}\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'returnable',\n\n  props: {\n    returnValue: null as any,\n  },\n\n  data: () => ({\n    isActive: false,\n    originalValue: null as any,\n  }),\n\n  watch: {\n    isActive (val) {\n      if (val) {\n        this.originalValue = this.returnValue\n      } else {\n        this.$emit('update:return-value', this.originalValue)\n      }\n    },\n  },\n\n  methods: {\n    save (value: any) {\n      this.originalValue = value\n      setTimeout(() => {\n        this.isActive = false\n      })\n    },\n  },\n})\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n  name: 'rippleable',\n\n  directives: { ripple },\n\n  props: {\n    ripple: {\n      type: [Boolean, Object],\n      default: true,\n    },\n  },\n\n  methods: {\n    genRipple (data: VNodeData = {}): VNode | null {\n      if (!this.ripple) return null\n\n      data.staticClass = 'v-input--selection-controls__ripple'\n\n      data.directives = data.directives || []\n      data.directives.push({\n        name: 'ripple',\n        value: { center: true },\n      } as VNodeDirective)\n\n      return this.$createElement('div', data)\n    },\n  },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n  name: 'roundable',\n\n  props: {\n    rounded: [Boolean, String],\n    tile: Boolean,\n  },\n\n  computed: {\n    roundedClasses (): Record<string, boolean> {\n      const composite = []\n      const rounded = typeof this.rounded === 'string'\n        ? String(this.rounded)\n        : this.rounded === true\n\n      if (this.tile) {\n        composite.push('rounded-0')\n      } else if (typeof rounded === 'string') {\n        const values = rounded.split(' ')\n\n        for (const value of values) {\n          composite.push(`rounded-${value}`)\n        }\n      } else if (rounded) {\n        composite.push('rounded')\n      }\n\n      return composite.length > 0 ? {\n        [composite.join(' ')]: true,\n      } : {}\n    },\n  },\n})\n","import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n  name: 'routable',\n\n  directives: {\n    Ripple,\n  },\n\n  props: {\n    activeClass: String,\n    append: Boolean,\n    disabled: Boolean,\n    exact: {\n      type: Boolean as PropType<boolean | undefined>,\n      default: undefined,\n    },\n    exactPath: Boolean,\n    exactActiveClass: String,\n    link: Boolean,\n    href: [String, Object],\n    to: [String, Object],\n    nuxt: Boolean,\n    replace: Boolean,\n    ripple: {\n      type: [Boolean, Object],\n      default: null,\n    },\n    tag: String,\n    target: String,\n  },\n\n  data: () => ({\n    isActive: false,\n    proxyClass: '',\n  }),\n\n  computed: {\n    classes (): object {\n      const classes: Record<string, boolean> = {}\n\n      if (this.to) return classes\n\n      if (this.activeClass) classes[this.activeClass] = this.isActive\n      if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n      return classes\n    },\n    computedRipple (): RippleOptions | boolean {\n      return this.ripple ?? (!this.disabled && this.isClickable)\n    },\n    isClickable (): boolean {\n      if (this.disabled) return false\n\n      return Boolean(\n        this.isLink ||\n        this.$listeners.click ||\n        this.$listeners['!click'] ||\n        this.$attrs.tabindex\n      )\n    },\n    isLink (): boolean {\n      return this.to || this.href || this.link\n    },\n    styles: () => ({}),\n  },\n\n  watch: {\n    $route: 'onRouteChange',\n  },\n\n  mounted () {\n    this.onRouteChange()\n  },\n\n  methods: {\n    generateRouteLink () {\n      let exact = this.exact\n      let tag\n\n      const data: VNodeData = {\n        attrs: {\n          tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n        },\n        class: this.classes,\n        style: this.styles,\n        props: {},\n        directives: [{\n          name: 'ripple',\n          value: this.computedRipple,\n        }],\n        [this.to ? 'nativeOn' : 'on']: {\n          ...this.$listeners,\n          ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n        },\n        ref: 'link',\n      }\n\n      if (typeof this.exact === 'undefined') {\n        exact = this.to === '/' ||\n          (this.to === Object(this.to) && this.to.path === '/')\n      }\n\n      if (this.to) {\n        // Add a special activeClass hook\n        // for component level styles\n        let activeClass = this.activeClass\n        let exactActiveClass = this.exactActiveClass || activeClass\n\n        if (this.proxyClass) {\n          activeClass = `${activeClass} ${this.proxyClass}`.trim()\n          exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n        }\n\n        tag = this.nuxt ? 'nuxt-link' : 'router-link'\n        Object.assign(data.props, {\n          to: this.to,\n          exact,\n          exactPath: this.exactPath,\n          activeClass,\n          exactActiveClass,\n          append: this.append,\n          replace: this.replace,\n        })\n      } else {\n        tag = (this.href && 'a') || this.tag || 'div'\n\n        if (tag === 'a' && this.href) data.attrs!.href = this.href\n      }\n\n      if (this.target) data.attrs!.target = this.target\n\n      return { tag, data }\n    },\n    onRouteChange () {\n      if (!this.to || !this.$refs.link || !this.$route) return\n      const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n      const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n      const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n      this.$nextTick(() => {\n        /* istanbul ignore else */\n        if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n          this.toggle()\n        }\n      })\n    },\n    toggle () {\n      this.isActive = !this.isActive\n    },\n  },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n  e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n  VInput,\n  Rippleable,\n  Comparable\n).extend({\n  name: 'selectable',\n\n  model: {\n    prop: 'inputValue',\n    event: 'change',\n  },\n\n  props: {\n    id: String,\n    inputValue: null as any,\n    falseValue: null as any,\n    trueValue: null as any,\n    multiple: {\n      type: Boolean,\n      default: null,\n    },\n    label: String,\n  },\n\n  data () {\n    return {\n      hasColor: this.inputValue,\n      lazyValue: this.inputValue,\n    }\n  },\n\n  computed: {\n    computedColor (): string | undefined {\n      if (!this.isActive) return undefined\n      if (this.color) return this.color\n      if (this.isDark && !this.appIsDark) return 'white'\n      return 'primary'\n    },\n    isMultiple (): boolean {\n      return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n    },\n    isActive (): boolean {\n      const value = this.value\n      const input = this.internalValue\n\n      if (this.isMultiple) {\n        if (!Array.isArray(input)) return false\n\n        return input.some(item => this.valueComparator(item, value))\n      }\n\n      if (this.trueValue === undefined || this.falseValue === undefined) {\n        return value\n          ? this.valueComparator(value, input)\n          : Boolean(input)\n      }\n\n      return this.valueComparator(input, this.trueValue)\n    },\n    isDirty (): boolean {\n      return this.isActive\n    },\n    rippleState (): string | undefined {\n      return !this.isDisabled && !this.validationState\n        ? undefined\n        : this.validationState\n    },\n  },\n\n  watch: {\n    inputValue (val) {\n      this.lazyValue = val\n      this.hasColor = val\n    },\n  },\n\n  methods: {\n    genLabel () {\n      const label = VInput.options.methods.genLabel.call(this)\n\n      if (!label) return label\n\n      label!.data!.on = {\n        // Label shouldn't cause the input to focus\n        click: prevent,\n      }\n\n      return label\n    },\n    genInput (type: string, attrs: object) {\n      return this.$createElement('input', {\n        attrs: Object.assign({\n          'aria-checked': this.isActive.toString(),\n          disabled: this.isDisabled,\n          id: this.computedId,\n          role: type,\n          type,\n        }, attrs),\n        domProps: {\n          value: this.value,\n          checked: this.isActive,\n        },\n        on: {\n          blur: this.onBlur,\n          change: this.onChange,\n          focus: this.onFocus,\n          keydown: this.onKeydown,\n          click: prevent,\n        },\n        ref: 'input',\n      })\n    },\n    onClick (e: Event) {\n      this.onChange()\n      this.$emit('click', e)\n    },\n    onChange () {\n      if (!this.isInteractive) return\n\n      const value = this.value\n      let input = this.internalValue\n\n      if (this.isMultiple) {\n        if (!Array.isArray(input)) {\n          input = []\n        }\n\n        const length = input.length\n\n        input = input.filter((item: any) => !this.valueComparator(item, value))\n\n        if (input.length === length) {\n          input.push(value)\n        }\n      } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n        input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n      } else if (value) {\n        input = this.valueComparator(input, value) ? null : value\n      } else {\n        input = !input\n      }\n\n      this.validate(true, input)\n      this.internalValue = input\n      this.hasColor = input\n    },\n    onFocus (e: FocusEvent) {\n      this.isFocused = true\n      this.$emit('focus', e)\n    },\n    onBlur (e: FocusEvent) {\n      this.isFocused = false\n      this.$emit('blur', e)\n    },\n    /** @abstract */\n    onKeydown (e: Event) {},\n  },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n  name: 'sizeable',\n\n  props: {\n    large: Boolean,\n    small: Boolean,\n    xLarge: Boolean,\n    xSmall: Boolean,\n  },\n\n  computed: {\n    medium (): boolean {\n      return Boolean(\n        !this.xSmall &&\n        !this.small &&\n        !this.large &&\n        !this.xLarge\n      )\n    },\n    sizeableClasses (): object {\n      return {\n        'v-size--x-small': this.xSmall,\n        'v-size--small': this.small,\n        'v-size--default': this.medium,\n        'v-size--large': this.large,\n        'v-size--x-large': this.xLarge,\n      }\n    },\n  },\n})\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n  name: 'ssr-bootable',\n\n  data: () => ({\n    isBooted: false,\n  }),\n\n  mounted () {\n    // Use setAttribute instead of dataset\n    // because dataset does not work well\n    // with unit tests\n    window.requestAnimationFrame(() => {\n      this.$el.setAttribute('data-booted', 'true')\n      this.isBooted = true\n    })\n  },\n})\n","import Vue from 'vue'\n\nimport { getZIndex } from '../../util/helpers'\n\ninterface options extends Vue {\n  $refs: {\n    content: Element\n  }\n}\n\n/* @vue/component */\nexport default Vue.extend<options>().extend({\n  name: 'stackable',\n\n  data () {\n    return {\n      stackElement: null as Element | null,\n      stackExclude: null as Element[] | null,\n      stackMinZIndex: 0,\n      isActive: false,\n    }\n  },\n  computed: {\n    activeZIndex (): number {\n      if (typeof window === 'undefined') return 0\n\n      const content = this.stackElement || this.$refs.content\n      // Return current zindex if not active\n\n      const index = !this.isActive\n        ? getZIndex(content)\n        : this.getMaxZIndex(this.stackExclude || [content]) + 2\n\n      if (index == null) return index\n\n      // Return max current z-index (excluding self) + 2\n      // (2 to leave room for an overlay below, if needed)\n      return parseInt(index)\n    },\n  },\n  methods: {\n    getMaxZIndex (exclude: Element[] = []) {\n      const base = this.$el\n      // Start with lowest allowed z-index or z-index of\n      // base component's element, whichever is greater\n      const zis = [this.stackMinZIndex, getZIndex(base)]\n      // Convert the NodeList to an array to\n      // prevent an Edge bug with Symbol.iterator\n      // https://github.com/vuetifyjs/vuetify/issues/2146\n      const activeElements = [\n        ...document.getElementsByClassName('v-menu__content--active'),\n        ...document.getElementsByClassName('v-dialog__content--active'),\n      ]\n\n      // Get z-index for all active dialogs\n      for (let index = 0; index < activeElements.length; index++) {\n        if (!exclude.includes(activeElements[index])) {\n          zis.push(getZIndex(activeElements[index]))\n        }\n      }\n\n      return Math.max(...zis)\n    },\n  },\n})\n","import Vue from 'vue'\nimport { PropType, RenderContext } from 'vue/types/options'\n\ninterface options extends Vue {\n  theme: {\n    isDark: boolean\n  }\n}\n\n/* @vue/component */\nconst Themeable = Vue.extend<options>().extend({\n  name: 'themeable',\n\n  provide (): object {\n    return {\n      theme: this.themeableProvide,\n    }\n  },\n\n  inject: {\n    theme: {\n      default: {\n        isDark: false,\n      },\n    },\n  },\n\n  props: {\n    dark: {\n      type: Boolean as PropType<boolean | null>,\n      default: null,\n    },\n    light: {\n      type: Boolean as PropType<boolean | null>,\n      default: null,\n    },\n  },\n\n  data () {\n    return {\n      themeableProvide: {\n        isDark: false,\n      },\n    }\n  },\n\n  computed: {\n    appIsDark (): boolean {\n      return this.$vuetify.theme.dark || false\n    },\n    isDark (): boolean {\n      if (this.dark === true) {\n        // explicitly dark\n        return true\n      } else if (this.light === true) {\n        // explicitly light\n        return false\n      } else {\n        // inherit from parent, or default false if there is none\n        return this.theme.isDark\n      }\n    },\n    themeClasses (): object {\n      return {\n        'theme--dark': this.isDark,\n        'theme--light': !this.isDark,\n      }\n    },\n    /** Used by menus and dialogs, inherits from v-app instead of the parent */\n    rootIsDark (): boolean {\n      if (this.dark === true) {\n        // explicitly dark\n        return true\n      } else if (this.light === true) {\n        // explicitly light\n        return false\n      } else {\n        // inherit from v-app\n        return this.appIsDark\n      }\n    },\n    rootThemeClasses (): Dictionary<boolean> {\n      return {\n        'theme--dark': this.rootIsDark,\n        'theme--light': !this.rootIsDark,\n      }\n    },\n  },\n\n  watch: {\n    isDark: {\n      handler (newVal, oldVal) {\n        if (newVal !== oldVal) {\n          this.themeableProvide.isDark = this.isDark\n        }\n      },\n      immediate: true,\n    },\n  },\n})\n\nexport default Themeable\n\nexport function functionalThemeClasses (context: RenderContext): object {\n  const vm = {\n    ...context.props,\n    ...context.injections,\n  }\n  const isDark = Themeable.options.computed.isDark.call(vm)\n  return Themeable.options.computed.themeClasses.call({ isDark })\n}\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Toggleable<T extends string = 'value'> = VueConstructor<Vue & { isActive: boolean } & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Toggleable<T>\nexport function factory (prop = 'value', event = 'input') {\n  return Vue.extend({\n    name: 'toggleable',\n\n    model: { prop, event },\n\n    props: {\n      [prop]: { required: false },\n    },\n\n    data () {\n      return {\n        isActive: !!this[prop],\n      }\n    },\n\n    watch: {\n      [prop] (val) {\n        this.isActive = !!val\n      },\n      isActive (val) {\n        !!val !== this[prop] && this.$emit(event, val)\n      },\n    },\n  })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n  Colorable,\n  RegistrableInject<'form', any>('form'),\n  Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'validatable',\n\n  props: {\n    disabled: Boolean,\n    error: Boolean,\n    errorCount: {\n      type: [Number, String],\n      default: 1,\n    },\n    errorMessages: {\n      type: [String, Array],\n      default: () => [],\n    } as PropValidator<InputMessage | null>,\n    messages: {\n      type: [String, Array],\n      default: () => [],\n    } as PropValidator<InputMessage | null>,\n    readonly: Boolean,\n    rules: {\n      type: Array,\n      default: () => [],\n    } as PropValidator<InputValidationRules>,\n    success: Boolean,\n    successMessages: {\n      type: [String, Array],\n      default: () => [],\n    } as PropValidator<InputMessage | null>,\n    validateOnBlur: Boolean,\n    value: { required: false },\n  },\n\n  data () {\n    return {\n      errorBucket: [] as string[],\n      hasColor: false,\n      hasFocused: false,\n      hasInput: false,\n      isFocused: false,\n      isResetting: false,\n      lazyValue: this.value,\n      valid: false,\n    }\n  },\n\n  computed: {\n    computedColor (): string | undefined {\n      if (this.isDisabled) return undefined\n      if (this.color) return this.color\n      // It's assumed that if the input is on a\n      // dark background, the user will want to\n      // have a white color. If the entire app\n      // is setup to be dark, then they will\n      // like want to use their primary color\n      if (this.isDark && !this.appIsDark) return 'white'\n      else return 'primary'\n    },\n    hasError (): boolean {\n      return (\n        this.internalErrorMessages.length > 0 ||\n        this.errorBucket.length > 0 ||\n        this.error\n      )\n    },\n    // TODO: Add logic that allows the user to enable based\n    // upon a good validation\n    hasSuccess (): boolean {\n      return (\n        this.internalSuccessMessages.length > 0 ||\n        this.success\n      )\n    },\n    externalError (): boolean {\n      return this.internalErrorMessages.length > 0 || this.error\n    },\n    hasMessages (): boolean {\n      return this.validationTarget.length > 0\n    },\n    hasState (): boolean {\n      if (this.isDisabled) return false\n\n      return (\n        this.hasSuccess ||\n        (this.shouldValidate && this.hasError)\n      )\n    },\n    internalErrorMessages (): InputValidationRules {\n      return this.genInternalMessages(this.errorMessages)\n    },\n    internalMessages (): InputValidationRules {\n      return this.genInternalMessages(this.messages)\n    },\n    internalSuccessMessages (): InputValidationRules {\n      return this.genInternalMessages(this.successMessages)\n    },\n    internalValue: {\n      get (): unknown {\n        return this.lazyValue\n      },\n      set (val: any) {\n        this.lazyValue = val\n\n        this.$emit('input', val)\n      },\n    },\n    isDisabled (): boolean {\n      return this.disabled || (\n        !!this.form &&\n        this.form.disabled\n      )\n    },\n    isInteractive (): boolean {\n      return !this.isDisabled && !this.isReadonly\n    },\n    isReadonly (): boolean {\n      return this.readonly || (\n        !!this.form &&\n        this.form.readonly\n      )\n    },\n    shouldValidate (): boolean {\n      if (this.externalError) return true\n      if (this.isResetting) return false\n\n      return this.validateOnBlur\n        ? this.hasFocused && !this.isFocused\n        : (this.hasInput || this.hasFocused)\n    },\n    validations (): InputValidationRules {\n      return this.validationTarget.slice(0, Number(this.errorCount))\n    },\n    validationState (): string | undefined {\n      if (this.isDisabled) return undefined\n      if (this.hasError && this.shouldValidate) return 'error'\n      if (this.hasSuccess) return 'success'\n      if (this.hasColor) return this.computedColor\n      return undefined\n    },\n    validationTarget (): InputValidationRules {\n      if (this.internalErrorMessages.length > 0) {\n        return this.internalErrorMessages\n      } else if (this.successMessages && this.successMessages.length > 0) {\n        return this.internalSuccessMessages\n      } else if (this.messages && this.messages.length > 0) {\n        return this.internalMessages\n      } else if (this.shouldValidate) {\n        return this.errorBucket\n      } else return []\n    },\n  },\n\n  watch: {\n    rules: {\n      handler (newVal, oldVal) {\n        if (deepEqual(newVal, oldVal)) return\n        this.validate()\n      },\n      deep: true,\n    },\n    internalValue () {\n      // If it's the first time we're setting input,\n      // mark it with hasInput\n      this.hasInput = true\n      this.validateOnBlur || this.$nextTick(this.validate)\n    },\n    isFocused (val) {\n      // Should not check validation\n      // if disabled\n      if (\n        !val &&\n        !this.isDisabled\n      ) {\n        this.hasFocused = true\n        this.validateOnBlur && this.$nextTick(this.validate)\n      }\n    },\n    isResetting () {\n      setTimeout(() => {\n        this.hasInput = false\n        this.hasFocused = false\n        this.isResetting = false\n        this.validate()\n      }, 0)\n    },\n    hasError (val) {\n      if (this.shouldValidate) {\n        this.$emit('update:error', val)\n      }\n    },\n    value (val) {\n      this.lazyValue = val\n    },\n  },\n\n  beforeMount () {\n    this.validate()\n  },\n\n  created () {\n    this.form && this.form.register(this)\n  },\n\n  beforeDestroy () {\n    this.form && this.form.unregister(this)\n  },\n\n  methods: {\n    genInternalMessages (messages: InputMessage | null): InputValidationRules {\n      if (!messages) return []\n      else if (Array.isArray(messages)) return messages\n      else return [messages]\n    },\n    /** @public */\n    reset () {\n      this.isResetting = true\n      this.internalValue = Array.isArray(this.internalValue)\n        ? []\n        : null\n    },\n    /** @public */\n    resetValidation () {\n      this.isResetting = true\n    },\n    /** @public */\n    validate (force = false, value?: any): boolean {\n      const errorBucket = []\n      value = value || this.internalValue\n\n      if (force) this.hasInput = this.hasFocused = true\n\n      for (let index = 0; index < this.rules.length; index++) {\n        const rule = this.rules[index]\n        const valid = typeof rule === 'function' ? rule(value) : rule\n\n        if (valid === false || typeof valid === 'string') {\n          errorBucket.push(valid || '')\n        } else if (typeof valid !== 'boolean') {\n          consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n        }\n      }\n\n      this.errorBucket = errorBucket\n      this.valid = errorBucket.length === 0\n\n      return this.valid\n    },\n  },\n})\n","export type EasingFunction = (t: number) => number\n\n// linear\nexport const linear = (t: number) => t\n// accelerating from zero velocity\nexport const easeInQuad = (t: number) => t ** 2\n// decelerating to zero velocity\nexport const easeOutQuad = (t: number) => t * (2 - t)\n// acceleration until halfway, then deceleration\nexport const easeInOutQuad = (t: number) => (t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t)\n// accelerating from zero velocity\nexport const easeInCubic = (t: number) => t ** 3\n// decelerating to zero velocity\nexport const easeOutCubic = (t: number) => --t ** 3 + 1\n// acceleration until halfway, then deceleration\nexport const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\n// accelerating from zero velocity\nexport const easeInQuart = (t: number) => t ** 4\n// decelerating to zero velocity\nexport const easeOutQuart = (t: number) => 1 - --t ** 4\n// acceleration until halfway, then deceleration\nexport const easeInOutQuart = (t: number) => (t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t)\n// accelerating from zero velocity\nexport const easeInQuint = (t: number) => t ** 5\n// decelerating to zero velocity\nexport const easeOutQuint = (t: number) => 1 + --t ** 5\n// acceleration until halfway, then deceleration\nexport const easeInOutQuint = (t: number) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n","import Vue from 'vue'\n\n// Return target's cumulative offset from the top\nexport function getOffset (target: any): number {\n  if (typeof target === 'number') {\n    return target\n  }\n\n  let el = $(target)\n  if (!el) {\n    throw typeof target === 'string'\n      ? new Error(`Target element \"${target}\" not found.`)\n      : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`)\n  }\n\n  let totalOffset = 0\n  while (el) {\n    totalOffset += el.offsetTop\n    el = el.offsetParent as HTMLElement\n  }\n\n  return totalOffset\n}\n\nexport function getContainer (container: any): HTMLElement {\n  const el = $(container)\n\n  if (el) return el\n\n  throw typeof container === 'string'\n    ? new Error(`Container element \"${container}\" not found.`)\n    : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`)\n}\n\nfunction type (el: any) {\n  return el == null ? el : el.constructor.name\n}\n\nfunction $ (el: any): HTMLElement | null {\n  if (typeof el === 'string') {\n    return document.querySelector<HTMLElement>(el)\n  } else if (el && el._isVue) {\n    return (el as Vue).$el as HTMLElement\n  } else if (el instanceof HTMLElement) {\n    return el\n  } else {\n    return null\n  }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as easingPatterns from './easing-patterns'\nimport {\n  getContainer,\n  getOffset,\n} from './util'\n\n// Types\nimport { GoToOptions, VuetifyGoToTarget } from 'vuetify/types/services/goto'\n\nimport { VuetifyServiceContract } from 'vuetify/types/services'\n\nexport default function goTo (\n  _target: VuetifyGoToTarget,\n  _settings: GoToOptions = {}\n): Promise<number> {\n  const settings: GoToOptions = {\n    container: (document.scrollingElement as HTMLElement | null) || document.body || document.documentElement,\n    duration: 500,\n    offset: 0,\n    easing: 'easeInOutCubic',\n    appOffset: true,\n    ..._settings,\n  }\n  const container = getContainer(settings.container)\n\n  /* istanbul ignore else */\n  if (settings.appOffset && goTo.framework.application) {\n    const isDrawer = container.classList.contains('v-navigation-drawer')\n    const isClipped = container.classList.contains('v-navigation-drawer--clipped')\n    const { bar, top } = goTo.framework.application as any\n\n    settings.offset += bar\n    /* istanbul ignore else */\n    if (!isDrawer || isClipped) settings.offset += top\n  }\n\n  const startTime = performance.now()\n\n  let targetLocation: number\n  if (typeof _target === 'number') {\n    targetLocation = getOffset(_target) - settings.offset!\n  } else {\n    targetLocation = getOffset(_target) - getOffset(container) - settings.offset!\n  }\n\n  const startLocation = container.scrollTop\n  if (targetLocation === startLocation) return Promise.resolve(targetLocation)\n\n  const ease = typeof settings.easing === 'function'\n    ? settings.easing\n    : easingPatterns[settings.easing!]\n  /* istanbul ignore else */\n  if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`)\n\n  // Cannot be tested properly in jsdom\n  /* istanbul ignore next */\n  return new Promise(resolve => requestAnimationFrame(function step (currentTime: number) {\n    const timeElapsed = currentTime - startTime\n    const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1)\n\n    container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress))\n\n    const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight\n    const reachBottom = clientHeight + container.scrollTop >= container.scrollHeight\n    if (\n      progress === 1 ||\n      // Need to go lower but reach bottom\n      (targetLocation > container.scrollTop && reachBottom)\n    ) {\n      return resolve(targetLocation)\n    }\n\n    requestAnimationFrame(step)\n  }))\n}\n\ngoTo.framework = {} as Record<string, VuetifyServiceContract>\ngoTo.init = () => {}\n\nexport class Goto extends Service {\n  public static property: 'goTo' = 'goTo'\n\n  constructor () {\n    super()\n\n    return goTo\n  }\n}\n","// Contracts\nimport { VuetifyServiceContract } from 'vuetify/types/services/index'\n\n// Types\nimport Vue from 'vue'\n\nexport class Service implements VuetifyServiceContract {\n  framework = {}\n\n  init (root: Vue, ssrContext?: object) {}\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport { toXYZ } from './color/transformSRGB'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | false): boolean {\n  return !!color && !!color.match(/^(#|var\\(--|(rgb|hsl)a?\\()/)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n  let rgb\n\n  if (typeof color === 'number') {\n    rgb = color\n  } else if (typeof color === 'string') {\n    let c = color[0] === '#' ? color.substring(1) : color\n    if (c.length === 3) {\n      c = c.split('').map(char => char + char).join('')\n    }\n    if (c.length !== 6) {\n      consoleWarn(`'${color}' is not a valid rgb color`)\n    }\n    rgb = parseInt(c, 16)\n  } else {\n    throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n  }\n\n  if (rgb < 0) {\n    consoleWarn(`Colors cannot be negative: '${color}'`)\n    rgb = 0\n  } else if (rgb > 0xffffff || isNaN(rgb)) {\n    consoleWarn(`'${color}' is not a valid rgb color`)\n    rgb = 0xffffff\n  }\n\n  return rgb\n}\n\nexport function classToHex (\n  color: string,\n  colors: Record<string, Record<string, string>>,\n  currentTheme: Partial<VuetifyThemeVariant>,\n): string {\n  const [colorName, colorModifier] = color\n    .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n  let hexColor = ''\n  if (colorName && colorName in colors) {\n    if (colorModifier && colorModifier in colors[colorName]) {\n      hexColor = colors[colorName][colorModifier]\n    } else if ('base' in colors[colorName]) {\n      hexColor = colors[colorName].base\n    }\n  } else if (colorName && colorName in currentTheme) {\n    hexColor = currentTheme[colorName] as string\n  }\n\n  return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n  let hexColor: string = color.toString(16)\n\n  if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n  return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n  return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n  const { h, s, v, a } = hsva\n  const f = (n: number) => {\n    const k = (n + (h / 60)) % 6\n    return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n  }\n\n  const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n  return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n  if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n  const r = rgba.r / 255\n  const g = rgba.g / 255\n  const b = rgba.b / 255\n  const max = Math.max(r, g, b)\n  const min = Math.min(r, g, b)\n\n  let h = 0\n\n  if (max !== min) {\n    if (max === r) {\n      h = 60 * (0 + ((g - b) / (max - min)))\n    } else if (max === g) {\n      h = 60 * (2 + ((b - r) / (max - min)))\n    } else if (max === b) {\n      h = 60 * (4 + ((r - g) / (max - min)))\n    }\n  }\n\n  if (h < 0) h = h + 360\n\n  const s = max === 0 ? 0 : (max - min) / max\n  const hsv = [h, s, max]\n\n  return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n  const { h, s, v, a } = hsva\n\n  const l = v - (v * s / 2)\n\n  const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n  return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n  const { h, s, l, a } = hsl\n\n  const v = l + s * Math.min(l, 1 - l)\n\n  const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n  return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n  return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n  return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n  const toHex = (v: number) => {\n    const h = Math.round(v).toString(16)\n    return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n  }\n\n  return `#${[\n    toHex(rgba.r),\n    toHex(rgba.g),\n    toHex(rgba.b),\n    toHex(Math.round(rgba.a * 255)),\n  ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n  const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n  return {\n    r: rgba[0],\n    g: rgba[1],\n    b: rgba[2],\n    a: Math.round((rgba[3] / 255) * 100) / 100,\n  }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n  const rgb = HexToRGBA(hex)\n  return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n  return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n  if (hex.startsWith('#')) {\n    hex = hex.slice(1)\n  }\n\n  hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n  if (hex.length === 3 || hex.length === 4) {\n    hex = hex.split('').map(x => x + x).join('')\n  }\n\n  if (hex.length === 6) {\n    hex = padEnd(hex, 8, 'F')\n  } else {\n    hex = padEnd(padEnd(hex, 6), 8, 'F')\n  }\n\n  return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n  gradient: string,\n  colors: Record<string, Record<string, string>>,\n  currentTheme: Partial<VuetifyThemeVariant>,\n) {\n  return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n    return classToHex(x, colors, currentTheme) || x\n  }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n    return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n  })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n  return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n *\n * @param c1 First color\n * @param c2 Second color\n */\nexport function contrastRatio (c1: RGBA, c2: RGBA): number {\n  const [, y1] = toXYZ(RGBtoInt(c1))\n  const [, y2] = toXYZ(RGBtoInt(c2))\n\n  return (Math.max(y1, y2) + 0.05) / (Math.min(y1, y2) + 0.05)\n}\n","const red = Object.freeze({\n  base: '#f44336',\n  lighten5: '#ffebee',\n  lighten4: '#ffcdd2',\n  lighten3: '#ef9a9a',\n  lighten2: '#e57373',\n  lighten1: '#ef5350',\n  darken1: '#e53935',\n  darken2: '#d32f2f',\n  darken3: '#c62828',\n  darken4: '#b71c1c',\n  accent1: '#ff8a80',\n  accent2: '#ff5252',\n  accent3: '#ff1744',\n  accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n  base: '#e91e63',\n  lighten5: '#fce4ec',\n  lighten4: '#f8bbd0',\n  lighten3: '#f48fb1',\n  lighten2: '#f06292',\n  lighten1: '#ec407a',\n  darken1: '#d81b60',\n  darken2: '#c2185b',\n  darken3: '#ad1457',\n  darken4: '#880e4f',\n  accent1: '#ff80ab',\n  accent2: '#ff4081',\n  accent3: '#f50057',\n  accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n  base: '#9c27b0',\n  lighten5: '#f3e5f5',\n  lighten4: '#e1bee7',\n  lighten3: '#ce93d8',\n  lighten2: '#ba68c8',\n  lighten1: '#ab47bc',\n  darken1: '#8e24aa',\n  darken2: '#7b1fa2',\n  darken3: '#6a1b9a',\n  darken4: '#4a148c',\n  accent1: '#ea80fc',\n  accent2: '#e040fb',\n  accent3: '#d500f9',\n  accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n  base: '#673ab7',\n  lighten5: '#ede7f6',\n  lighten4: '#d1c4e9',\n  lighten3: '#b39ddb',\n  lighten2: '#9575cd',\n  lighten1: '#7e57c2',\n  darken1: '#5e35b1',\n  darken2: '#512da8',\n  darken3: '#4527a0',\n  darken4: '#311b92',\n  accent1: '#b388ff',\n  accent2: '#7c4dff',\n  accent3: '#651fff',\n  accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n  base: '#3f51b5',\n  lighten5: '#e8eaf6',\n  lighten4: '#c5cae9',\n  lighten3: '#9fa8da',\n  lighten2: '#7986cb',\n  lighten1: '#5c6bc0',\n  darken1: '#3949ab',\n  darken2: '#303f9f',\n  darken3: '#283593',\n  darken4: '#1a237e',\n  accent1: '#8c9eff',\n  accent2: '#536dfe',\n  accent3: '#3d5afe',\n  accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n  base: '#2196f3',\n  lighten5: '#e3f2fd',\n  lighten4: '#bbdefb',\n  lighten3: '#90caf9',\n  lighten2: '#64b5f6',\n  lighten1: '#42a5f5',\n  darken1: '#1e88e5',\n  darken2: '#1976d2',\n  darken3: '#1565c0',\n  darken4: '#0d47a1',\n  accent1: '#82b1ff',\n  accent2: '#448aff',\n  accent3: '#2979ff',\n  accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n  base: '#03a9f4',\n  lighten5: '#e1f5fe',\n  lighten4: '#b3e5fc',\n  lighten3: '#81d4fa',\n  lighten2: '#4fc3f7',\n  lighten1: '#29b6f6',\n  darken1: '#039be5',\n  darken2: '#0288d1',\n  darken3: '#0277bd',\n  darken4: '#01579b',\n  accent1: '#80d8ff',\n  accent2: '#40c4ff',\n  accent3: '#00b0ff',\n  accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n  base: '#00bcd4',\n  lighten5: '#e0f7fa',\n  lighten4: '#b2ebf2',\n  lighten3: '#80deea',\n  lighten2: '#4dd0e1',\n  lighten1: '#26c6da',\n  darken1: '#00acc1',\n  darken2: '#0097a7',\n  darken3: '#00838f',\n  darken4: '#006064',\n  accent1: '#84ffff',\n  accent2: '#18ffff',\n  accent3: '#00e5ff',\n  accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n  base: '#009688',\n  lighten5: '#e0f2f1',\n  lighten4: '#b2dfdb',\n  lighten3: '#80cbc4',\n  lighten2: '#4db6ac',\n  lighten1: '#26a69a',\n  darken1: '#00897b',\n  darken2: '#00796b',\n  darken3: '#00695c',\n  darken4: '#004d40',\n  accent1: '#a7ffeb',\n  accent2: '#64ffda',\n  accent3: '#1de9b6',\n  accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n  base: '#4caf50',\n  lighten5: '#e8f5e9',\n  lighten4: '#c8e6c9',\n  lighten3: '#a5d6a7',\n  lighten2: '#81c784',\n  lighten1: '#66bb6a',\n  darken1: '#43a047',\n  darken2: '#388e3c',\n  darken3: '#2e7d32',\n  darken4: '#1b5e20',\n  accent1: '#b9f6ca',\n  accent2: '#69f0ae',\n  accent3: '#00e676',\n  accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n  base: '#8bc34a',\n  lighten5: '#f1f8e9',\n  lighten4: '#dcedc8',\n  lighten3: '#c5e1a5',\n  lighten2: '#aed581',\n  lighten1: '#9ccc65',\n  darken1: '#7cb342',\n  darken2: '#689f38',\n  darken3: '#558b2f',\n  darken4: '#33691e',\n  accent1: '#ccff90',\n  accent2: '#b2ff59',\n  accent3: '#76ff03',\n  accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n  base: '#cddc39',\n  lighten5: '#f9fbe7',\n  lighten4: '#f0f4c3',\n  lighten3: '#e6ee9c',\n  lighten2: '#dce775',\n  lighten1: '#d4e157',\n  darken1: '#c0ca33',\n  darken2: '#afb42b',\n  darken3: '#9e9d24',\n  darken4: '#827717',\n  accent1: '#f4ff81',\n  accent2: '#eeff41',\n  accent3: '#c6ff00',\n  accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n  base: '#ffeb3b',\n  lighten5: '#fffde7',\n  lighten4: '#fff9c4',\n  lighten3: '#fff59d',\n  lighten2: '#fff176',\n  lighten1: '#ffee58',\n  darken1: '#fdd835',\n  darken2: '#fbc02d',\n  darken3: '#f9a825',\n  darken4: '#f57f17',\n  accent1: '#ffff8d',\n  accent2: '#ffff00',\n  accent3: '#ffea00',\n  accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n  base: '#ffc107',\n  lighten5: '#fff8e1',\n  lighten4: '#ffecb3',\n  lighten3: '#ffe082',\n  lighten2: '#ffd54f',\n  lighten1: '#ffca28',\n  darken1: '#ffb300',\n  darken2: '#ffa000',\n  darken3: '#ff8f00',\n  darken4: '#ff6f00',\n  accent1: '#ffe57f',\n  accent2: '#ffd740',\n  accent3: '#ffc400',\n  accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n  base: '#ff9800',\n  lighten5: '#fff3e0',\n  lighten4: '#ffe0b2',\n  lighten3: '#ffcc80',\n  lighten2: '#ffb74d',\n  lighten1: '#ffa726',\n  darken1: '#fb8c00',\n  darken2: '#f57c00',\n  darken3: '#ef6c00',\n  darken4: '#e65100',\n  accent1: '#ffd180',\n  accent2: '#ffab40',\n  accent3: '#ff9100',\n  accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n  base: '#ff5722',\n  lighten5: '#fbe9e7',\n  lighten4: '#ffccbc',\n  lighten3: '#ffab91',\n  lighten2: '#ff8a65',\n  lighten1: '#ff7043',\n  darken1: '#f4511e',\n  darken2: '#e64a19',\n  darken3: '#d84315',\n  darken4: '#bf360c',\n  accent1: '#ff9e80',\n  accent2: '#ff6e40',\n  accent3: '#ff3d00',\n  accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n  base: '#795548',\n  lighten5: '#efebe9',\n  lighten4: '#d7ccc8',\n  lighten3: '#bcaaa4',\n  lighten2: '#a1887f',\n  lighten1: '#8d6e63',\n  darken1: '#6d4c41',\n  darken2: '#5d4037',\n  darken3: '#4e342e',\n  darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n  base: '#607d8b',\n  lighten5: '#eceff1',\n  lighten4: '#cfd8dc',\n  lighten3: '#b0bec5',\n  lighten2: '#90a4ae',\n  lighten1: '#78909c',\n  darken1: '#546e7a',\n  darken2: '#455a64',\n  darken3: '#37474f',\n  darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n  base: '#9e9e9e',\n  lighten5: '#fafafa',\n  lighten4: '#f5f5f5',\n  lighten3: '#eeeeee',\n  lighten2: '#e0e0e0',\n  lighten1: '#bdbdbd',\n  darken1: '#757575',\n  darken2: '#616161',\n  darken3: '#424242',\n  darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n  black: '#000000',\n  white: '#ffffff',\n  transparent: 'transparent',\n})\n\nexport default Object.freeze({\n  red,\n  pink,\n  purple,\n  deepPurple,\n  indigo,\n  blue,\n  lightBlue,\n  cyan,\n  teal,\n  green,\n  lightGreen,\n  lime,\n  yellow,\n  amber,\n  orange,\n  deepOrange,\n  brown,\n  blueGrey,\n  grey,\n  shades,\n})\n","/* eslint-disable no-console */\nimport Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n  if (Vuetify.config.silent) return\n\n  if (parent) {\n    vm = {\n      _isVue: true,\n      $parent: parent,\n      $options: vm,\n    }\n  }\n\n  if (vm) {\n    // Only show each message once per instance\n    vm.$_alreadyWarned = vm.$_alreadyWarned || []\n    if (vm.$_alreadyWarned.includes(message)) return\n    vm.$_alreadyWarned.push(message)\n  }\n\n  return `[Vuetify] ${message}` + (\n    vm ? generateComponentTrace(vm) : ''\n  )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n  const newMessage = createMessage(message, vm, parent)\n  newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n  const newMessage = createMessage(message, vm, parent)\n  newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n  const newMessage = createMessage(message, vm, parent)\n  newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n  consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n  consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n  consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n  .replace(classifyRE, c => c.toUpperCase())\n  .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n  if (vm.$root === vm) {\n    return '<Root>'\n  }\n  const options = typeof vm === 'function' && vm.cid != null\n    ? vm.options\n    : vm._isVue\n      ? vm.$options || vm.constructor.options\n      : vm || {}\n  let name = options.name || options._componentTag\n  const file = options.__file\n  if (!name && file) {\n    const match = file.match(/([^/\\\\]+)\\.vue$/)\n    name = match && match[1]\n  }\n\n  return (\n    (name ? `<${classify(name)}>` : `<Anonymous>`) +\n    (file && includeFile !== false ? ` at ${file}` : '')\n  )\n}\n\nfunction generateComponentTrace (vm: any): string {\n  if (vm._isVue && vm.$parent) {\n    const tree: any[] = []\n    let currentRecursiveSequence = 0\n    while (vm) {\n      if (tree.length > 0) {\n        const last: any = tree[tree.length - 1]\n        if (last.constructor === vm.constructor) {\n          currentRecursiveSequence++\n          vm = vm.$parent\n          continue\n        } else if (currentRecursiveSequence > 0) {\n          tree[tree.length - 1] = [last, currentRecursiveSequence]\n          currentRecursiveSequence = 0\n        }\n      }\n      tree.push(vm)\n      vm = vm.$parent\n    }\n    return '\\n\\nfound in\\n\\n' + tree\n      .map((vm, i) => `${\n        i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n      }${\n        Array.isArray(vm)\n          ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n          : formatComponentName(vm)\n      }`)\n      .join('\\n')\n  } else {\n    return `\\n\\n(found in ${formatComponentName(vm)})`\n  }\n}\n","/**\n * Returns:\n *  - 'null' if the node is not attached to the DOM\n *  - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n  /* istanbul ignore next */\n  if (typeof node.getRootNode !== 'function') {\n    // Shadow DOM not supported (IE11), lets find the root of this node\n    while (node.parentNode) node = node.parentNode\n\n    // The root parent is the document if the node is attached to the DOM\n    if (node !== document) return null\n\n    return document\n  }\n\n  const root = node.getRootNode()\n\n  // The composed root node is the document if the node is attached to the DOM\n  if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n  return root as HTMLDocument | ShadowRoot\n}\n","import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n  c: string,\n  el = 'div',\n  name?: string\n) {\n  return Vue.extend({\n    name: name || c.replace(/__/g, '-'),\n\n    functional: true,\n\n    props: {\n      tag: {\n        type: String,\n        default: el,\n      },\n    },\n\n    render (h, { data, props, children }): VNode {\n      data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n      return h(props.tag, data, children)\n    },\n  })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n  return {\n    ...defaults,\n    ...binding.modifiers,\n    value: binding.arg,\n    ...(binding.value || {}),\n  }\n}\n\nexport function addOnceEventListener (\n  el: EventTarget,\n  eventName: string,\n  cb: (event: Event) => void,\n  options: boolean | AddEventListenerOptions = false\n): void {\n  const once = (event: Event) => {\n    cb(event)\n    el.removeEventListener(eventName, once, options)\n  }\n\n  el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n  if (typeof window !== 'undefined') {\n    const testListenerOpts = Object.defineProperty({}, 'passive', {\n      get: () => {\n        passiveSupported = true\n      },\n    })\n\n    window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n    window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n  }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n  el: EventTarget,\n  event: string,\n  cb: EventHandlerNonNull | (() => void),\n  options: {}\n): void {\n  el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n  const last = path.length - 1\n\n  if (last < 0) return obj === undefined ? fallback : obj\n\n  for (let i = 0; i < last; i++) {\n    if (obj == null) {\n      return fallback\n    }\n    obj = obj[path[i]]\n  }\n\n  if (obj == null) return fallback\n\n  return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n  if (a === b) return true\n\n  if (\n    a instanceof Date &&\n    b instanceof Date &&\n    a.getTime() !== b.getTime()\n  ) {\n    // If the values are Date, compare them as timestamps\n    return false\n  }\n\n  if (a !== Object(a) || b !== Object(b)) {\n    // If the values aren't objects, they were already checked for equality\n    return false\n  }\n\n  const props = Object.keys(a)\n\n  if (props.length !== Object.keys(b).length) {\n    // Different number of props, don't bother to check\n    return false\n  }\n\n  return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n  // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n  if (obj == null || !path || typeof path !== 'string') return fallback\n  if (obj[path] !== undefined) return obj[path]\n  path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n  path = path.replace(/^\\./, '') // strip a leading dot\n  return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n  item: object,\n  property: SelectItemKey,\n  fallback?: any\n): any {\n  if (property == null) return item === undefined ? fallback : item\n\n  if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n  if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n  if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n  if (typeof property !== 'function') return fallback\n\n  const value = property(item, fallback)\n\n  return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n  return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n  if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n  const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n  if (!index) return getZIndex(el.parentNode as Element)\n  return index\n}\n\nconst tagsToReplace = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n} as any\n\nexport function escapeHTML (str: string): string {\n  return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n  const filtered = {} as { [N in K]: T[N] }\n\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i]\n    if (typeof obj[key] !== 'undefined') {\n      filtered[key] = obj[key]\n    }\n  }\n\n  return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n  if (str == null || str === '') {\n    return undefined\n  } else if (isNaN(+str!)) {\n    return String(str)\n  } else {\n    return `${Number(str)}${unit}`\n  }\n}\n\nexport function kebabCase (str: string): string {\n  return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n  return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n  enter: 13,\n  tab: 9,\n  delete: 46,\n  esc: 27,\n  space: 32,\n  up: 38,\n  down: 40,\n  left: 37,\n  right: 39,\n  end: 35,\n  home: 36,\n  del: 46,\n  backspace: 8,\n  insert: 45,\n  pageup: 33,\n  pagedown: 34,\n  shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n  // Look for custom component in the configuration\n  const component = vm.$vuetify.icons.component\n\n  // Look for overrides\n  if (iconName.startsWith('$')) {\n    // Get the target icon name\n    const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n    // Now look up icon indirection name,\n    // e.g. '$vuetify.icons.values.cancel'\n    const override = getObjectValueByPath(vm, iconPath, iconName)\n\n    if (typeof override === 'string') iconName = override\n    else return override\n  }\n\n  if (component == null) {\n    return iconName\n  }\n\n  return {\n    component,\n    props: {\n      icon: iconName,\n    },\n  }\n}\n\nexport function keys<O> (o: O) {\n  return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n  const diff: any[] = []\n  for (let i = 0; i < b.length; i++) {\n    if (a.indexOf(b[i]) < 0) diff.push(b[i])\n  }\n  return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n  return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n  items: T[],\n  groupBy: string[],\n  groupDesc: boolean[]\n): ItemGroup<T>[] {\n  const key = groupBy[0]\n  const groups: ItemGroup<T>[] = []\n  let current\n  for (let i = 0; i < items.length; i++) {\n    const item = items[i]\n    const val = getObjectValueByPath(item, key, null)\n    if (current !== val) {\n      current = val\n      groups.push({\n        name: val ?? '',\n        items: [],\n      })\n    }\n    groups[groups.length - 1].items.push(item)\n  }\n  return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n  items: T[],\n  sortBy: string[],\n  sortDesc: boolean[],\n  locale: string,\n  customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n  if (sortBy === null || !sortBy.length) return items\n  const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n  return items.sort((a, b) => {\n    for (let i = 0; i < sortBy.length; i++) {\n      const sortKey = sortBy[i]\n\n      let sortA = getObjectValueByPath(a, sortKey)\n      let sortB = getObjectValueByPath(b, sortKey)\n\n      if (sortDesc[i]) {\n        [sortA, sortB] = [sortB, sortA]\n      }\n\n      if (customSorters && customSorters[sortKey]) {\n        const customResult = customSorters[sortKey](sortA, sortB)\n\n        if (!customResult) continue\n\n        return customResult\n      }\n\n      // Check if both cannot be evaluated\n      if (sortA === null && sortB === null) {\n        continue\n      }\n\n      // Dates should be compared numerically\n      if (sortA instanceof Date && sortB instanceof Date) {\n        return sortA.getTime() - sortB.getTime()\n      }\n\n      [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n      if (sortA !== sortB) {\n        if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n        return stringCollator.compare(sortA, sortB)\n      }\n    }\n\n    return 0\n  })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n  return value != null &&\n    search != null &&\n    typeof value !== 'boolean' &&\n    value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n  if (!search) return items\n  search = search.toString().toLowerCase()\n  if (search.trim() === '') return items\n\n  return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n *  - 'normal' for old style slots - `<template slot=\"default\">`\n *  - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n *  - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n  if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && (vm.$scopedSlots[name] as any).name) {\n    return split ? 'v-slot' as any : 'scoped'\n  }\n  if (vm.$slots.hasOwnProperty(name)) return 'normal'\n  if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n  let timeoutId = 0 as any\n  return (...args: any[]) => {\n    clearTimeout(timeoutId)\n    timeoutId = setTimeout(() => fn(...args), delay)\n  }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n  let throttling = false\n  return (...args: Parameters<T>): void | ReturnType<T> => {\n    if (!throttling) {\n      throttling = true\n      setTimeout(() => throttling = false, limit)\n      return fn(...args)\n    }\n  }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n  return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n    obj[k.replace(prefix, '')] = scopedSlots[k]\n    return obj\n  }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n  if (vm.$scopedSlots.hasOwnProperty(name)) {\n    return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n  } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n    return vm.$slots[name]\n  }\n  return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n  return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n  return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n  const chunked: string[] = []\n  let index = 0\n  while (index < str.length) {\n    chunked.push(str.substr(index, size))\n    index += size\n  }\n  return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n  const base = binary ? 1024 : 1000\n  if (bytes < base) {\n    return `${bytes} B`\n  }\n\n  const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n  let unit = -1\n  while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n    bytes /= base\n    ++unit\n  }\n  return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n  if (!obj) return {}\n\n  return Object.keys(obj).reduce((o: any, key: string) => {\n    o[camelize(key)] = obj[key]\n    return o\n  }, {})\n}\n\nexport function mergeDeep (\n  source: Dictionary<any> = {},\n  target: Dictionary<any> = {}\n) {\n  for (const key in target) {\n    const sourceProperty = source[key]\n    const targetProperty = target[key]\n\n    // Only continue deep merging if\n    // both properties are objects\n    if (\n      isObject(sourceProperty) &&\n      isObject(targetProperty)\n    ) {\n      source[key] = mergeDeep(sourceProperty, targetProperty)\n\n      continue\n    }\n\n    source[key] = targetProperty\n  }\n\n  return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n  return Array(length).fill(obj)\n}\n\n/**  Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n  if (e.composedPath) return e.composedPath()\n\n  const path = []\n  let el = e.target as Element\n\n  while (el) {\n    path.push(el)\n\n    if (el.tagName === 'HTML') {\n      path.push(document)\n      path.push(window)\n\n      return path\n    }\n\n    el = el.parentElement!\n  }\n  return path\n}\n","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n  styleList: /;(?![^(]*\\))/g,\n  styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n  const styleMap: Dictionary<any> = {}\n\n  for (const s of style.split(pattern.styleList)) {\n    let [key, val] = s.split(pattern.styleProp)\n    key = key.trim()\n    if (!key) {\n      continue\n    }\n    // May be undefined if the `key: value` pair is incomplete.\n    if (typeof val === 'string') {\n      val = val.trim()\n    }\n    styleMap[camelize(key)] = val\n  }\n\n  return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n  const mergeTarget: VNodeData & Dictionary<any> = {}\n  let i: number = arguments.length\n  let prop: string\n\n  // Allow for variadic argument length.\n  while (i--) {\n    // Iterate through the data properties and execute merge strategies\n    // Object.keys eliminates need for hasOwnProperty call\n    for (prop of Object.keys(arguments[i])) {\n      switch (prop) {\n        // Array merge strategy (array concatenation)\n        case 'class':\n        case 'directives':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n          }\n          break\n        case 'style':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n          }\n          break\n        // Space delimited string concatenation strategy\n        case 'staticClass':\n          if (!arguments[i][prop]) {\n            break\n          }\n          if (mergeTarget[prop] === undefined) {\n            mergeTarget[prop] = ''\n          }\n          if (mergeTarget[prop]) {\n            // Not an empty string, so concatenate\n            mergeTarget[prop] += ' '\n          }\n          mergeTarget[prop] += arguments[i][prop].trim()\n          break\n        // Object, the properties of which to merge via array merge strategy (array concatenation).\n        // Callback merge strategy merges callbacks to the beginning of the array,\n        // so that the last defined callback will be invoked first.\n        // This is done since to mimic how Object.assign merging\n        // uses the last given value to assign.\n        case 'on':\n        case 'nativeOn':\n          if (arguments[i][prop]) {\n            mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n          }\n          break\n        // Object merge strategy\n        case 'attrs':\n        case 'props':\n        case 'domProps':\n        case 'scopedSlots':\n        case 'staticStyle':\n        case 'hook':\n        case 'transition':\n          if (!arguments[i][prop]) {\n            break\n          }\n          if (!mergeTarget[prop]) {\n            mergeTarget[prop] = {}\n          }\n          mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n          break\n        // Reassignment strategy (no merge)\n        default: // slot, key, ref, tag, show, keepAlive\n          if (!mergeTarget[prop]) {\n            mergeTarget[prop] = arguments[i][prop]\n          }\n      }\n    }\n  }\n\n  return mergeTarget\n}\n\nexport function mergeStyles (\n  target: undefined | string | object[] | object,\n  source: undefined | string | object[] | object\n) {\n  if (!target) return source\n  if (!source) return target\n\n  target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n  return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n  if (!source) return target\n  if (!target) return source\n\n  return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n  { [key: string]: Function | Function[] } | undefined,\n  { [key: string]: Function | Function[] } | undefined\n]) {\n  if (!args[0]) return args[1]\n  if (!args[1]) return args[0]\n\n  const dest: { [key: string]: Function | Function[] } = {}\n\n  for (let i = 2; i--;) {\n    const arg = args[i]\n    for (const event in arg) {\n      if (!arg[event]) continue\n\n      if (dest[event]) {\n        // Merge current listeners before (because we are iterating backwards).\n        // Note that neither \"target\" or \"source\" must be altered.\n        dest[event] = ([] as Function[]).concat(arg[event], dest[event])\n      } else {\n        // Straight assign.\n        dest[event] = arg[event]\n      }\n    }\n  }\n\n  return dest\n}\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue, { VueConstructor } from 'vue'\n\nexport default function mixins<T extends VueConstructor[]> (...args: T): ExtractVue<T> extends infer V ? V extends Vue ? VueConstructor<V> : never : never\nexport default function mixins<T extends Vue> (...args: VueConstructor[]): VueConstructor<T>\nexport default function mixins (...args: VueConstructor[]): VueConstructor {\n  return Vue.extend({ mixins: args })\n}\n\n/**\n * Returns the instance type from a VueConstructor\n * Useful for adding types when using mixins().extend()\n */\nexport type ExtractVue<T extends VueConstructor | VueConstructor[]> = T extends (infer U)[]\n  ? UnionToIntersection<\n    U extends VueConstructor<infer V> ? V : never\n  >\n  : T extends VueConstructor<infer V> ? V : never\n\ntype UnionToIntersection<U> =\n  (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-pdf-app\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-pdf-app\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"00ee\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n\n/***/ \"02c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process, Buffer) {/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"cb29\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"d81d\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"b680\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"2ca0\");\n\n__webpack_require__(\"cc71\");\n\n__webpack_require__(\"143c\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"ddb0\");\n\nvar _toConsumableArray = __webpack_require__(\"448a\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _display_utils = __webpack_require__(\"61a8\");\n\nvar _is_node = __webpack_require__(\"eca3\");\n\nvar SVGGraphics = function SVGGraphics() {\n  throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n  var SVG_DEFAULTS = {\n    fontStyle: \"normal\",\n    fontWeight: \"normal\",\n    fillColor: \"#000000\"\n  };\n  var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n  var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n  var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n  var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n  var convertImgDataToPng = function () {\n    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n    var CHUNK_WRAPPER_SIZE = 12;\n    var crcTable = new Int32Array(256);\n\n    for (var i = 0; i < 256; i++) {\n      var c = i;\n\n      for (var h = 0; h < 8; h++) {\n        if (c & 1) {\n          c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n        } else {\n          c = c >> 1 & 0x7fffffff;\n        }\n      }\n\n      crcTable[i] = c;\n    }\n\n    function crc32(data, start, end) {\n      var crc = -1;\n\n      for (var _i = start; _i < end; _i++) {\n        var a = (crc ^ data[_i]) & 0xff;\n        var b = crcTable[a];\n        crc = crc >>> 8 ^ b;\n      }\n\n      return crc ^ -1;\n    }\n\n    function writePngChunk(type, body, data, offset) {\n      var p = offset;\n      var len = body.length;\n      data[p] = len >> 24 & 0xff;\n      data[p + 1] = len >> 16 & 0xff;\n      data[p + 2] = len >> 8 & 0xff;\n      data[p + 3] = len & 0xff;\n      p += 4;\n      data[p] = type.charCodeAt(0) & 0xff;\n      data[p + 1] = type.charCodeAt(1) & 0xff;\n      data[p + 2] = type.charCodeAt(2) & 0xff;\n      data[p + 3] = type.charCodeAt(3) & 0xff;\n      p += 4;\n      data.set(body, p);\n      p += body.length;\n      var crc = crc32(data, offset + 4, p);\n      data[p] = crc >> 24 & 0xff;\n      data[p + 1] = crc >> 16 & 0xff;\n      data[p + 2] = crc >> 8 & 0xff;\n      data[p + 3] = crc & 0xff;\n    }\n\n    function adler32(data, start, end) {\n      var a = 1;\n      var b = 0;\n\n      for (var _i2 = start; _i2 < end; ++_i2) {\n        a = (a + (data[_i2] & 0xff)) % 65521;\n        b = (b + a) % 65521;\n      }\n\n      return b << 16 | a;\n    }\n\n    function deflateSync(literals) {\n      if (!_is_node.isNodeJS) {\n        return deflateSyncUncompressed(literals);\n      }\n\n      try {\n        var input;\n\n        if (parseInt(process.versions.node) >= 8) {\n          input = literals;\n        } else {\n          input = Buffer.from(literals);\n        }\n\n        var output = __webpack_require__(5).deflateSync(input, {\n          level: 9\n        });\n\n        return output instanceof Uint8Array ? output : new Uint8Array(output);\n      } catch (e) {\n        (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n      }\n\n      return deflateSyncUncompressed(literals);\n    }\n\n    function deflateSyncUncompressed(literals) {\n      var len = literals.length;\n      var maxBlockLength = 0xffff;\n      var deflateBlocks = Math.ceil(len / maxBlockLength);\n      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n      var pi = 0;\n      idat[pi++] = 0x78;\n      idat[pi++] = 0x9c;\n      var pos = 0;\n\n      while (len > maxBlockLength) {\n        idat[pi++] = 0x00;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0x00;\n        idat[pi++] = 0x00;\n        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n        pi += maxBlockLength;\n        pos += maxBlockLength;\n        len -= maxBlockLength;\n      }\n\n      idat[pi++] = 0x01;\n      idat[pi++] = len & 0xff;\n      idat[pi++] = len >> 8 & 0xff;\n      idat[pi++] = ~len & 0xffff & 0xff;\n      idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n      idat.set(literals.subarray(pos), pi);\n      pi += literals.length - pos;\n      var adler = adler32(literals, 0, literals.length);\n      idat[pi++] = adler >> 24 & 0xff;\n      idat[pi++] = adler >> 16 & 0xff;\n      idat[pi++] = adler >> 8 & 0xff;\n      idat[pi++] = adler & 0xff;\n      return idat;\n    }\n\n    function encode(imgData, kind, forceDataSchema, isMask) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var bitDepth, colorType, lineSize;\n      var bytes = imgData.data;\n\n      switch (kind) {\n        case _util.ImageKind.GRAYSCALE_1BPP:\n          colorType = 0;\n          bitDepth = 1;\n          lineSize = width + 7 >> 3;\n          break;\n\n        case _util.ImageKind.RGB_24BPP:\n          colorType = 2;\n          bitDepth = 8;\n          lineSize = width * 3;\n          break;\n\n        case _util.ImageKind.RGBA_32BPP:\n          colorType = 6;\n          bitDepth = 8;\n          lineSize = width * 4;\n          break;\n\n        default:\n          throw new Error(\"invalid format\");\n      }\n\n      var literals = new Uint8Array((1 + lineSize) * height);\n      var offsetLiterals = 0,\n          offsetBytes = 0;\n\n      for (var y = 0; y < height; ++y) {\n        literals[offsetLiterals++] = 0;\n        literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n        offsetBytes += lineSize;\n        offsetLiterals += lineSize;\n      }\n\n      if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n        offsetLiterals = 0;\n\n        for (var _y = 0; _y < height; _y++) {\n          offsetLiterals++;\n\n          for (var _i3 = 0; _i3 < lineSize; _i3++) {\n            literals[offsetLiterals++] ^= 0xff;\n          }\n        }\n      }\n\n      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n      var idat = deflateSync(literals);\n      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n      var data = new Uint8Array(pngLength);\n      var offset = 0;\n      data.set(PNG_HEADER, offset);\n      offset += PNG_HEADER.length;\n      writePngChunk(\"IHDR\", ihdr, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n      writePngChunk(\"IDATA\", idat, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + idat.length;\n      writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n      return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n    }\n\n    return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n      return encode(imgData, kind, forceDataSchema, isMask);\n    };\n  }();\n\n  var SVGExtraState = /*#__PURE__*/function () {\n    function SVGExtraState() {\n      _classCallCheck(this, SVGExtraState);\n\n      this.fontSizeScale = 1;\n      this.fontWeight = SVG_DEFAULTS.fontWeight;\n      this.fontSize = 0;\n      this.textMatrix = _util.IDENTITY_MATRIX;\n      this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n      this.leading = 0;\n      this.textRenderingMode = _util.TextRenderingMode.FILL;\n      this.textMatrixScale = 1;\n      this.x = 0;\n      this.y = 0;\n      this.lineX = 0;\n      this.lineY = 0;\n      this.charSpacing = 0;\n      this.wordSpacing = 0;\n      this.textHScale = 1;\n      this.textRise = 0;\n      this.fillColor = SVG_DEFAULTS.fillColor;\n      this.strokeColor = \"#000000\";\n      this.fillAlpha = 1;\n      this.strokeAlpha = 1;\n      this.lineWidth = 1;\n      this.lineJoin = \"\";\n      this.lineCap = \"\";\n      this.miterLimit = 0;\n      this.dashArray = [];\n      this.dashPhase = 0;\n      this.dependencies = [];\n      this.activeClipUrl = null;\n      this.clipGroup = null;\n      this.maskId = \"\";\n    }\n\n    _createClass(SVGExtraState, [{\n      key: \"clone\",\n      value: function clone() {\n        return Object.create(this);\n      }\n    }, {\n      key: \"setCurrentPoint\",\n      value: function setCurrentPoint(x, y) {\n        this.x = x;\n        this.y = y;\n      }\n    }]);\n\n    return SVGExtraState;\n  }();\n\n  function opListToTree(opList) {\n    var opTree = [];\n    var tmp = [];\n\n    var _iterator = _createForOfIteratorHelper(opList),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var opListElement = _step.value;\n\n        if (opListElement.fn === \"save\") {\n          opTree.push({\n            fnId: 92,\n            fn: \"group\",\n            items: []\n          });\n          tmp.push(opTree);\n          opTree = opTree[opTree.length - 1].items;\n          continue;\n        }\n\n        if (opListElement.fn === \"restore\") {\n          opTree = tmp.pop();\n        } else {\n          opTree.push(opListElement);\n        }\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    return opTree;\n  }\n\n  function pf(value) {\n    if (Number.isInteger(value)) {\n      return value.toString();\n    }\n\n    var s = value.toFixed(10);\n    var i = s.length - 1;\n\n    if (s[i] !== \"0\") {\n      return s;\n    }\n\n    do {\n      i--;\n    } while (s[i] === \"0\");\n\n    return s.substring(0, s[i] === \".\" ? i : i + 1);\n  }\n\n  function pm(m) {\n    if (m[4] === 0 && m[5] === 0) {\n      if (m[1] === 0 && m[2] === 0) {\n        if (m[0] === 1 && m[3] === 1) {\n          return \"\";\n        }\n\n        return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n      }\n\n      if (m[0] === m[3] && m[1] === -m[2]) {\n        var a = Math.acos(m[0]) * 180 / Math.PI;\n        return \"rotate(\".concat(pf(a), \")\");\n      }\n    } else {\n      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n        return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n      }\n    }\n\n    return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n  }\n\n  var clipCount = 0;\n  var maskCount = 0;\n  var shadingCount = 0;\n\n  exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n    function SVGGraphics(commonObjs, objs, forceDataSchema) {\n      _classCallCheck(this, SVGGraphics);\n\n      this.svgFactory = new _display_utils.DOMSVGFactory();\n      this.current = new SVGExtraState();\n      this.transformMatrix = _util.IDENTITY_MATRIX;\n      this.transformStack = [];\n      this.extraStack = [];\n      this.commonObjs = commonObjs;\n      this.objs = objs;\n      this.pendingClip = null;\n      this.pendingEOFill = false;\n      this.embedFonts = false;\n      this.embeddedFonts = Object.create(null);\n      this.cssStyle = null;\n      this.forceDataSchema = !!forceDataSchema;\n      this._operatorIdMapping = [];\n\n      for (var op in _util.OPS) {\n        this._operatorIdMapping[_util.OPS[op]] = op;\n      }\n    }\n\n    _createClass(SVGGraphics, [{\n      key: \"save\",\n      value: function save() {\n        this.transformStack.push(this.transformMatrix);\n        var old = this.current;\n        this.extraStack.push(old);\n        this.current = old.clone();\n      }\n    }, {\n      key: \"restore\",\n      value: function restore() {\n        this.transformMatrix = this.transformStack.pop();\n        this.current = this.extraStack.pop();\n        this.pendingClip = null;\n        this.tgrp = null;\n      }\n    }, {\n      key: \"group\",\n      value: function group(items) {\n        this.save();\n        this.executeOpTree(items);\n        this.restore();\n      }\n    }, {\n      key: \"loadDependencies\",\n      value: function loadDependencies(operatorList) {\n        var _this = this;\n\n        var fnArray = operatorList.fnArray;\n        var argsArray = operatorList.argsArray;\n\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          if (fnArray[i] !== _util.OPS.dependency) {\n            continue;\n          }\n\n          var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n              _step2;\n\n          try {\n            var _loop = function _loop() {\n              var obj = _step2.value;\n              var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n              var promise = new Promise(function (resolve) {\n                objsPool.get(obj, resolve);\n              });\n\n              _this.current.dependencies.push(promise);\n            };\n\n            for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n              _loop();\n            }\n          } catch (err) {\n            _iterator2.e(err);\n          } finally {\n            _iterator2.f();\n          }\n        }\n\n        return Promise.all(this.current.dependencies);\n      }\n    }, {\n      key: \"transform\",\n      value: function transform(a, b, c, d, e, f) {\n        var transformMatrix = [a, b, c, d, e, f];\n        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n        this.tgrp = null;\n      }\n    }, {\n      key: \"getSVG\",\n      value: function getSVG(operatorList, viewport) {\n        var _this2 = this;\n\n        this.viewport = viewport;\n\n        var svgElement = this._initialize(viewport);\n\n        return this.loadDependencies(operatorList).then(function () {\n          _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n          _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n          return svgElement;\n        });\n      }\n    }, {\n      key: \"convertOpList\",\n      value: function convertOpList(operatorList) {\n        var operatorIdMapping = this._operatorIdMapping;\n        var argsArray = operatorList.argsArray;\n        var fnArray = operatorList.fnArray;\n        var opList = [];\n\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          var fnId = fnArray[i];\n          opList.push({\n            fnId: fnId,\n            fn: operatorIdMapping[fnId],\n            args: argsArray[i]\n          });\n        }\n\n        return opListToTree(opList);\n      }\n    }, {\n      key: \"executeOpTree\",\n      value: function executeOpTree(opTree) {\n        var _iterator3 = _createForOfIteratorHelper(opTree),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var opTreeElement = _step3.value;\n            var fn = opTreeElement.fn;\n            var fnId = opTreeElement.fnId;\n            var args = opTreeElement.args;\n\n            switch (fnId | 0) {\n              case _util.OPS.beginText:\n                this.beginText();\n                break;\n\n              case _util.OPS.dependency:\n                break;\n\n              case _util.OPS.setLeading:\n                this.setLeading(args);\n                break;\n\n              case _util.OPS.setLeadingMoveText:\n                this.setLeadingMoveText(args[0], args[1]);\n                break;\n\n              case _util.OPS.setFont:\n                this.setFont(args);\n                break;\n\n              case _util.OPS.showText:\n                this.showText(args[0]);\n                break;\n\n              case _util.OPS.showSpacedText:\n                this.showText(args[0]);\n                break;\n\n              case _util.OPS.endText:\n                this.endText();\n                break;\n\n              case _util.OPS.moveText:\n                this.moveText(args[0], args[1]);\n                break;\n\n              case _util.OPS.setCharSpacing:\n                this.setCharSpacing(args[0]);\n                break;\n\n              case _util.OPS.setWordSpacing:\n                this.setWordSpacing(args[0]);\n                break;\n\n              case _util.OPS.setHScale:\n                this.setHScale(args[0]);\n                break;\n\n              case _util.OPS.setTextMatrix:\n                this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n                break;\n\n              case _util.OPS.setTextRise:\n                this.setTextRise(args[0]);\n                break;\n\n              case _util.OPS.setTextRenderingMode:\n                this.setTextRenderingMode(args[0]);\n                break;\n\n              case _util.OPS.setLineWidth:\n                this.setLineWidth(args[0]);\n                break;\n\n              case _util.OPS.setLineJoin:\n                this.setLineJoin(args[0]);\n                break;\n\n              case _util.OPS.setLineCap:\n                this.setLineCap(args[0]);\n                break;\n\n              case _util.OPS.setMiterLimit:\n                this.setMiterLimit(args[0]);\n                break;\n\n              case _util.OPS.setFillRGBColor:\n                this.setFillRGBColor(args[0], args[1], args[2]);\n                break;\n\n              case _util.OPS.setStrokeRGBColor:\n                this.setStrokeRGBColor(args[0], args[1], args[2]);\n                break;\n\n              case _util.OPS.setStrokeColorN:\n                this.setStrokeColorN(args);\n                break;\n\n              case _util.OPS.setFillColorN:\n                this.setFillColorN(args);\n                break;\n\n              case _util.OPS.shadingFill:\n                this.shadingFill(args[0]);\n                break;\n\n              case _util.OPS.setDash:\n                this.setDash(args[0], args[1]);\n                break;\n\n              case _util.OPS.setRenderingIntent:\n                this.setRenderingIntent(args[0]);\n                break;\n\n              case _util.OPS.setFlatness:\n                this.setFlatness(args[0]);\n                break;\n\n              case _util.OPS.setGState:\n                this.setGState(args[0]);\n                break;\n\n              case _util.OPS.fill:\n                this.fill();\n                break;\n\n              case _util.OPS.eoFill:\n                this.eoFill();\n                break;\n\n              case _util.OPS.stroke:\n                this.stroke();\n                break;\n\n              case _util.OPS.fillStroke:\n                this.fillStroke();\n                break;\n\n              case _util.OPS.eoFillStroke:\n                this.eoFillStroke();\n                break;\n\n              case _util.OPS.clip:\n                this.clip(\"nonzero\");\n                break;\n\n              case _util.OPS.eoClip:\n                this.clip(\"evenodd\");\n                break;\n\n              case _util.OPS.paintSolidColorImageMask:\n                this.paintSolidColorImageMask();\n                break;\n\n              case _util.OPS.paintJpegXObject:\n                this.paintJpegXObject(args[0], args[1], args[2]);\n                break;\n\n              case _util.OPS.paintImageXObject:\n                this.paintImageXObject(args[0]);\n                break;\n\n              case _util.OPS.paintInlineImageXObject:\n                this.paintInlineImageXObject(args[0]);\n                break;\n\n              case _util.OPS.paintImageMaskXObject:\n                this.paintImageMaskXObject(args[0]);\n                break;\n\n              case _util.OPS.paintFormXObjectBegin:\n                this.paintFormXObjectBegin(args[0], args[1]);\n                break;\n\n              case _util.OPS.paintFormXObjectEnd:\n                this.paintFormXObjectEnd();\n                break;\n\n              case _util.OPS.closePath:\n                this.closePath();\n                break;\n\n              case _util.OPS.closeStroke:\n                this.closeStroke();\n                break;\n\n              case _util.OPS.closeFillStroke:\n                this.closeFillStroke();\n                break;\n\n              case _util.OPS.closeEOFillStroke:\n                this.closeEOFillStroke();\n                break;\n\n              case _util.OPS.nextLine:\n                this.nextLine();\n                break;\n\n              case _util.OPS.transform:\n                this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n                break;\n\n              case _util.OPS.constructPath:\n                this.constructPath(args[0], args[1]);\n                break;\n\n              case _util.OPS.endPath:\n                this.endPath();\n                break;\n\n              case 92:\n                this.group(opTreeElement.items);\n                break;\n\n              default:\n                (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n                break;\n            }\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n      }\n    }, {\n      key: \"setWordSpacing\",\n      value: function setWordSpacing(wordSpacing) {\n        this.current.wordSpacing = wordSpacing;\n      }\n    }, {\n      key: \"setCharSpacing\",\n      value: function setCharSpacing(charSpacing) {\n        this.current.charSpacing = charSpacing;\n      }\n    }, {\n      key: \"nextLine\",\n      value: function nextLine() {\n        this.moveText(0, this.current.leading);\n      }\n    }, {\n      key: \"setTextMatrix\",\n      value: function setTextMatrix(a, b, c, d, e, f) {\n        var current = this.current;\n        current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n        current.textMatrixScale = Math.sqrt(a * a + b * b);\n        current.x = current.lineX = 0;\n        current.y = current.lineY = 0;\n        current.xcoords = [];\n        current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n        current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n        current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n        current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n        current.txtElement = this.svgFactory.createElement(\"svg:text\");\n        current.txtElement.appendChild(current.tspan);\n      }\n    }, {\n      key: \"beginText\",\n      value: function beginText() {\n        var current = this.current;\n        current.x = current.lineX = 0;\n        current.y = current.lineY = 0;\n        current.textMatrix = _util.IDENTITY_MATRIX;\n        current.lineMatrix = _util.IDENTITY_MATRIX;\n        current.textMatrixScale = 1;\n        current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n        current.txtElement = this.svgFactory.createElement(\"svg:text\");\n        current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n        current.xcoords = [];\n      }\n    }, {\n      key: \"moveText\",\n      value: function moveText(x, y) {\n        var current = this.current;\n        current.x = current.lineX += x;\n        current.y = current.lineY += y;\n        current.xcoords = [];\n        current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n        current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n        current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n        current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n      }\n    }, {\n      key: \"showText\",\n      value: function showText(glyphs) {\n        var current = this.current;\n        var font = current.font;\n        var fontSize = current.fontSize;\n\n        if (fontSize === 0) {\n          return;\n        }\n\n        var charSpacing = current.charSpacing;\n        var wordSpacing = current.wordSpacing;\n        var fontDirection = current.fontDirection;\n        var textHScale = current.textHScale * fontDirection;\n        var vertical = font.vertical;\n        var widthAdvanceScale = fontSize * current.fontMatrix[0];\n        var x = 0;\n\n        var _iterator4 = _createForOfIteratorHelper(glyphs),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var glyph = _step4.value;\n\n            if (glyph === null) {\n              x += fontDirection * wordSpacing;\n              continue;\n            } else if ((0, _util.isNum)(glyph)) {\n              x += -glyph * fontSize * 0.001;\n              continue;\n            }\n\n            var width = glyph.width;\n            var character = glyph.fontChar;\n            var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n            var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n            if (!glyph.isInFont && !font.missingFile) {\n              x += charWidth;\n              continue;\n            }\n\n            current.xcoords.push(current.x + x);\n            current.tspan.textContent += character;\n            x += charWidth;\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n\n        if (vertical) {\n          current.y -= x * textHScale;\n        } else {\n          current.x += x * textHScale;\n        }\n\n        current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n        current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n        current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n        current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n          current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n        }\n\n        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n          current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n        }\n\n        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n            current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n          }\n\n          if (current.fillAlpha < 1) {\n            current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n          }\n        } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n          current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n        } else {\n          current.tspan.setAttributeNS(null, \"fill\", \"none\");\n        }\n\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n          this._setStrokeAttributes(current.tspan, lineWidthScale);\n        }\n\n        var textMatrix = current.textMatrix;\n\n        if (current.textRise !== 0) {\n          textMatrix = textMatrix.slice();\n          textMatrix[5] += current.textRise;\n        }\n\n        current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n        current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n        current.txtElement.appendChild(current.tspan);\n        current.txtgrp.appendChild(current.txtElement);\n\n        this._ensureTransformGroup().appendChild(current.txtElement);\n      }\n    }, {\n      key: \"setLeadingMoveText\",\n      value: function setLeadingMoveText(x, y) {\n        this.setLeading(-y);\n        this.moveText(x, y);\n      }\n    }, {\n      key: \"addFontStyle\",\n      value: function addFontStyle(fontObj) {\n        if (!this.cssStyle) {\n          this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n          this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n          this.defs.appendChild(this.cssStyle);\n        }\n\n        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n        this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n      }\n    }, {\n      key: \"setFont\",\n      value: function setFont(details) {\n        var current = this.current;\n        var fontObj = this.commonObjs.get(details[0]);\n        var size = details[1];\n        current.font = fontObj;\n\n        if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n          this.addFontStyle(fontObj);\n          this.embeddedFonts[fontObj.loadedName] = fontObj;\n        }\n\n        current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n        var bold = \"normal\";\n\n        if (fontObj.black) {\n          bold = \"900\";\n        } else if (fontObj.bold) {\n          bold = \"bold\";\n        }\n\n        var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n        if (size < 0) {\n          size = -size;\n          current.fontDirection = -1;\n        } else {\n          current.fontDirection = 1;\n        }\n\n        current.fontSize = size;\n        current.fontFamily = fontObj.loadedName;\n        current.fontWeight = bold;\n        current.fontStyle = italic;\n        current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n        current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n        current.xcoords = [];\n      }\n    }, {\n      key: \"endText\",\n      value: function endText() {\n        var current = this.current;\n\n        if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n          current.element = current.txtElement;\n          this.clip(\"nonzero\");\n          this.endPath();\n        }\n      }\n    }, {\n      key: \"setLineWidth\",\n      value: function setLineWidth(width) {\n        if (width > 0) {\n          this.current.lineWidth = width;\n        }\n      }\n    }, {\n      key: \"setLineCap\",\n      value: function setLineCap(style) {\n        this.current.lineCap = LINE_CAP_STYLES[style];\n      }\n    }, {\n      key: \"setLineJoin\",\n      value: function setLineJoin(style) {\n        this.current.lineJoin = LINE_JOIN_STYLES[style];\n      }\n    }, {\n      key: \"setMiterLimit\",\n      value: function setMiterLimit(limit) {\n        this.current.miterLimit = limit;\n      }\n    }, {\n      key: \"setStrokeAlpha\",\n      value: function setStrokeAlpha(strokeAlpha) {\n        this.current.strokeAlpha = strokeAlpha;\n      }\n    }, {\n      key: \"setStrokeRGBColor\",\n      value: function setStrokeRGBColor(r, g, b) {\n        this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n      }\n    }, {\n      key: \"setFillAlpha\",\n      value: function setFillAlpha(fillAlpha) {\n        this.current.fillAlpha = fillAlpha;\n      }\n    }, {\n      key: \"setFillRGBColor\",\n      value: function setFillRGBColor(r, g, b) {\n        this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n        this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n        this.current.xcoords = [];\n      }\n    }, {\n      key: \"setStrokeColorN\",\n      value: function setStrokeColorN(args) {\n        this.current.strokeColor = this._makeColorN_Pattern(args);\n      }\n    }, {\n      key: \"setFillColorN\",\n      value: function setFillColorN(args) {\n        this.current.fillColor = this._makeColorN_Pattern(args);\n      }\n    }, {\n      key: \"shadingFill\",\n      value: function shadingFill(args) {\n        var width = this.viewport.width;\n        var height = this.viewport.height;\n\n        var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n        var bl = _util.Util.applyTransform([0, 0], inv);\n\n        var br = _util.Util.applyTransform([0, height], inv);\n\n        var ul = _util.Util.applyTransform([width, 0], inv);\n\n        var ur = _util.Util.applyTransform([width, height], inv);\n\n        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n        var rect = this.svgFactory.createElement(\"svg:rect\");\n        rect.setAttributeNS(null, \"x\", x0);\n        rect.setAttributeNS(null, \"y\", y0);\n        rect.setAttributeNS(null, \"width\", x1 - x0);\n        rect.setAttributeNS(null, \"height\", y1 - y0);\n        rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n        this._ensureTransformGroup().appendChild(rect);\n      }\n    }, {\n      key: \"_makeColorN_Pattern\",\n      value: function _makeColorN_Pattern(args) {\n        if (args[0] === \"TilingPattern\") {\n          return this._makeTilingPattern(args);\n        }\n\n        return this._makeShadingPattern(args);\n      }\n    }, {\n      key: \"_makeTilingPattern\",\n      value: function _makeTilingPattern(args) {\n        var color = args[1];\n        var operatorList = args[2];\n        var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n        var _args$ = _slicedToArray(args[4], 4),\n            x0 = _args$[0],\n            y0 = _args$[1],\n            x1 = _args$[2],\n            y1 = _args$[3];\n\n        var xstep = args[5];\n        var ystep = args[6];\n        var paintType = args[7];\n        var tilingId = \"shading\".concat(shadingCount++);\n\n        var _util$Util$applyTrans = _util.Util.applyTransform([x0, y0], matrix),\n            _util$Util$applyTrans2 = _slicedToArray(_util$Util$applyTrans, 2),\n            tx0 = _util$Util$applyTrans2[0],\n            ty0 = _util$Util$applyTrans2[1];\n\n        var _util$Util$applyTrans3 = _util.Util.applyTransform([x1, y1], matrix),\n            _util$Util$applyTrans4 = _slicedToArray(_util$Util$applyTrans3, 2),\n            tx1 = _util$Util$applyTrans4[0],\n            ty1 = _util$Util$applyTrans4[1];\n\n        var _util$Util$singularVa = _util.Util.singularValueDecompose2dScale(matrix),\n            _util$Util$singularVa2 = _slicedToArray(_util$Util$singularVa, 2),\n            xscale = _util$Util$singularVa2[0],\n            yscale = _util$Util$singularVa2[1];\n\n        var txstep = xstep * xscale;\n        var tystep = ystep * yscale;\n        var tiling = this.svgFactory.createElement(\"svg:pattern\");\n        tiling.setAttributeNS(null, \"id\", tilingId);\n        tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n        tiling.setAttributeNS(null, \"width\", txstep);\n        tiling.setAttributeNS(null, \"height\", tystep);\n        tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n        tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n        var svg = this.svg;\n        var transformMatrix = this.transformMatrix;\n        var fillColor = this.current.fillColor;\n        var strokeColor = this.current.strokeColor;\n        var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n        this.svg = bbox;\n        this.transformMatrix = matrix;\n\n        if (paintType === 2) {\n          var _util$Util;\n\n          var cssColor = (_util$Util = _util.Util).makeCssRgb.apply(_util$Util, _toConsumableArray(color));\n\n          this.current.fillColor = cssColor;\n          this.current.strokeColor = cssColor;\n        }\n\n        this.executeOpTree(this.convertOpList(operatorList));\n        this.svg = svg;\n        this.transformMatrix = transformMatrix;\n        this.current.fillColor = fillColor;\n        this.current.strokeColor = strokeColor;\n        tiling.appendChild(bbox.childNodes[0]);\n        this.defs.appendChild(tiling);\n        return \"url(#\".concat(tilingId, \")\");\n      }\n    }, {\n      key: \"_makeShadingPattern\",\n      value: function _makeShadingPattern(args) {\n        switch (args[0]) {\n          case \"RadialAxial\":\n            var shadingId = \"shading\".concat(shadingCount++);\n            var colorStops = args[3];\n            var gradient;\n\n            switch (args[1]) {\n              case \"axial\":\n                var point0 = args[4];\n                var point1 = args[5];\n                gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n                gradient.setAttributeNS(null, \"id\", shadingId);\n                gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n                gradient.setAttributeNS(null, \"x1\", point0[0]);\n                gradient.setAttributeNS(null, \"y1\", point0[1]);\n                gradient.setAttributeNS(null, \"x2\", point1[0]);\n                gradient.setAttributeNS(null, \"y2\", point1[1]);\n                break;\n\n              case \"radial\":\n                var focalPoint = args[4];\n                var circlePoint = args[5];\n                var focalRadius = args[6];\n                var circleRadius = args[7];\n                gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n                gradient.setAttributeNS(null, \"id\", shadingId);\n                gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n                gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n                gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n                gradient.setAttributeNS(null, \"r\", circleRadius);\n                gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n                gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n                gradient.setAttributeNS(null, \"fr\", focalRadius);\n                break;\n\n              default:\n                throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n            }\n\n            var _iterator5 = _createForOfIteratorHelper(colorStops),\n                _step5;\n\n            try {\n              for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n                var colorStop = _step5.value;\n                var stop = this.svgFactory.createElement(\"svg:stop\");\n                stop.setAttributeNS(null, \"offset\", colorStop[0]);\n                stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n                gradient.appendChild(stop);\n              }\n            } catch (err) {\n              _iterator5.e(err);\n            } finally {\n              _iterator5.f();\n            }\n\n            this.defs.appendChild(gradient);\n            return \"url(#\".concat(shadingId, \")\");\n\n          case \"Mesh\":\n            (0, _util.warn)(\"Unimplemented pattern Mesh\");\n            return null;\n\n          case \"Dummy\":\n            return \"hotpink\";\n\n          default:\n            throw new Error(\"Unknown IR type: \".concat(args[0]));\n        }\n      }\n    }, {\n      key: \"setDash\",\n      value: function setDash(dashArray, dashPhase) {\n        this.current.dashArray = dashArray;\n        this.current.dashPhase = dashPhase;\n      }\n    }, {\n      key: \"constructPath\",\n      value: function constructPath(ops, args) {\n        var current = this.current;\n        var x = current.x,\n            y = current.y;\n        var d = [];\n        var j = 0;\n\n        var _iterator6 = _createForOfIteratorHelper(ops),\n            _step6;\n\n        try {\n          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n            var op = _step6.value;\n\n            switch (op | 0) {\n              case _util.OPS.rectangle:\n                x = args[j++];\n                y = args[j++];\n                var width = args[j++];\n                var height = args[j++];\n                var xw = x + width;\n                var yh = y + height;\n                d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n                break;\n\n              case _util.OPS.moveTo:\n                x = args[j++];\n                y = args[j++];\n                d.push(\"M\", pf(x), pf(y));\n                break;\n\n              case _util.OPS.lineTo:\n                x = args[j++];\n                y = args[j++];\n                d.push(\"L\", pf(x), pf(y));\n                break;\n\n              case _util.OPS.curveTo:\n                x = args[j + 4];\n                y = args[j + 5];\n                d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n                j += 6;\n                break;\n\n              case _util.OPS.curveTo2:\n                d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n                x = args[j + 2];\n                y = args[j + 3];\n                j += 4;\n                break;\n\n              case _util.OPS.curveTo3:\n                x = args[j + 2];\n                y = args[j + 3];\n                d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n                j += 4;\n                break;\n\n              case _util.OPS.closePath:\n                d.push(\"Z\");\n                break;\n            }\n          }\n        } catch (err) {\n          _iterator6.e(err);\n        } finally {\n          _iterator6.f();\n        }\n\n        d = d.join(\" \");\n\n        if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n          d = current.path.getAttributeNS(null, \"d\") + d;\n        } else {\n          current.path = this.svgFactory.createElement(\"svg:path\");\n\n          this._ensureTransformGroup().appendChild(current.path);\n        }\n\n        current.path.setAttributeNS(null, \"d\", d);\n        current.path.setAttributeNS(null, \"fill\", \"none\");\n        current.element = current.path;\n        current.setCurrentPoint(x, y);\n      }\n    }, {\n      key: \"endPath\",\n      value: function endPath() {\n        var current = this.current;\n        current.path = null;\n\n        if (!this.pendingClip) {\n          return;\n        }\n\n        if (!current.element) {\n          this.pendingClip = null;\n          return;\n        }\n\n        var clipId = \"clippath\".concat(clipCount++);\n        var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n        clipPath.setAttributeNS(null, \"id\", clipId);\n        clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n        var clipElement = current.element.cloneNode(true);\n\n        if (this.pendingClip === \"evenodd\") {\n          clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n        } else {\n          clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n        }\n\n        this.pendingClip = null;\n        clipPath.appendChild(clipElement);\n        this.defs.appendChild(clipPath);\n\n        if (current.activeClipUrl) {\n          current.clipGroup = null;\n          this.extraStack.forEach(function (prev) {\n            prev.clipGroup = null;\n          });\n          clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n        }\n\n        current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n        this.tgrp = null;\n      }\n    }, {\n      key: \"clip\",\n      value: function clip(type) {\n        this.pendingClip = type;\n      }\n    }, {\n      key: \"closePath\",\n      value: function closePath() {\n        var current = this.current;\n\n        if (current.path) {\n          var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n          current.path.setAttributeNS(null, \"d\", d);\n        }\n      }\n    }, {\n      key: \"setLeading\",\n      value: function setLeading(leading) {\n        this.current.leading = -leading;\n      }\n    }, {\n      key: \"setTextRise\",\n      value: function setTextRise(textRise) {\n        this.current.textRise = textRise;\n      }\n    }, {\n      key: \"setTextRenderingMode\",\n      value: function setTextRenderingMode(textRenderingMode) {\n        this.current.textRenderingMode = textRenderingMode;\n      }\n    }, {\n      key: \"setHScale\",\n      value: function setHScale(scale) {\n        this.current.textHScale = scale / 100;\n      }\n    }, {\n      key: \"setRenderingIntent\",\n      value: function setRenderingIntent(intent) {}\n    }, {\n      key: \"setFlatness\",\n      value: function setFlatness(flatness) {}\n    }, {\n      key: \"setGState\",\n      value: function setGState(states) {\n        var _iterator7 = _createForOfIteratorHelper(states),\n            _step7;\n\n        try {\n          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n            var _step7$value = _slicedToArray(_step7.value, 2),\n                key = _step7$value[0],\n                value = _step7$value[1];\n\n            switch (key) {\n              case \"LW\":\n                this.setLineWidth(value);\n                break;\n\n              case \"LC\":\n                this.setLineCap(value);\n                break;\n\n              case \"LJ\":\n                this.setLineJoin(value);\n                break;\n\n              case \"ML\":\n                this.setMiterLimit(value);\n                break;\n\n              case \"D\":\n                this.setDash(value[0], value[1]);\n                break;\n\n              case \"RI\":\n                this.setRenderingIntent(value);\n                break;\n\n              case \"FL\":\n                this.setFlatness(value);\n                break;\n\n              case \"Font\":\n                this.setFont(value);\n                break;\n\n              case \"CA\":\n                this.setStrokeAlpha(value);\n                break;\n\n              case \"ca\":\n                this.setFillAlpha(value);\n                break;\n\n              default:\n                (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n                break;\n            }\n          }\n        } catch (err) {\n          _iterator7.e(err);\n        } finally {\n          _iterator7.f();\n        }\n      }\n    }, {\n      key: \"fill\",\n      value: function fill() {\n        var current = this.current;\n\n        if (current.element) {\n          current.element.setAttributeNS(null, \"fill\", current.fillColor);\n          current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n          this.endPath();\n        }\n      }\n    }, {\n      key: \"stroke\",\n      value: function stroke() {\n        var current = this.current;\n\n        if (current.element) {\n          this._setStrokeAttributes(current.element);\n\n          current.element.setAttributeNS(null, \"fill\", \"none\");\n          this.endPath();\n        }\n      }\n    }, {\n      key: \"_setStrokeAttributes\",\n      value: function _setStrokeAttributes(element) {\n        var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n        var current = this.current;\n        var dashArray = current.dashArray;\n\n        if (lineWidthScale !== 1 && dashArray.length > 0) {\n          dashArray = dashArray.map(function (value) {\n            return lineWidthScale * value;\n          });\n        }\n\n        element.setAttributeNS(null, \"stroke\", current.strokeColor);\n        element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n        element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n        element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n        element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n        element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n        element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n        element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n      }\n    }, {\n      key: \"eoFill\",\n      value: function eoFill() {\n        if (this.current.element) {\n          this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n        }\n\n        this.fill();\n      }\n    }, {\n      key: \"fillStroke\",\n      value: function fillStroke() {\n        this.stroke();\n        this.fill();\n      }\n    }, {\n      key: \"eoFillStroke\",\n      value: function eoFillStroke() {\n        if (this.current.element) {\n          this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n        }\n\n        this.fillStroke();\n      }\n    }, {\n      key: \"closeStroke\",\n      value: function closeStroke() {\n        this.closePath();\n        this.stroke();\n      }\n    }, {\n      key: \"closeFillStroke\",\n      value: function closeFillStroke() {\n        this.closePath();\n        this.fillStroke();\n      }\n    }, {\n      key: \"closeEOFillStroke\",\n      value: function closeEOFillStroke() {\n        this.closePath();\n        this.eoFillStroke();\n      }\n    }, {\n      key: \"paintSolidColorImageMask\",\n      value: function paintSolidColorImageMask() {\n        var rect = this.svgFactory.createElement(\"svg:rect\");\n        rect.setAttributeNS(null, \"x\", \"0\");\n        rect.setAttributeNS(null, \"y\", \"0\");\n        rect.setAttributeNS(null, \"width\", \"1px\");\n        rect.setAttributeNS(null, \"height\", \"1px\");\n        rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n        this._ensureTransformGroup().appendChild(rect);\n      }\n    }, {\n      key: \"paintJpegXObject\",\n      value: function paintJpegXObject(objId, w, h) {\n        var imgObj = this.objs.get(objId);\n        var imgEl = this.svgFactory.createElement(\"svg:image\");\n        imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgObj.src);\n        imgEl.setAttributeNS(null, \"width\", pf(w));\n        imgEl.setAttributeNS(null, \"height\", pf(h));\n        imgEl.setAttributeNS(null, \"x\", \"0\");\n        imgEl.setAttributeNS(null, \"y\", pf(-h));\n        imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n        this._ensureTransformGroup().appendChild(imgEl);\n      }\n    }, {\n      key: \"paintImageXObject\",\n      value: function paintImageXObject(objId) {\n        var imgData = this.objs.get(objId);\n\n        if (!imgData) {\n          (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n          return;\n        }\n\n        this.paintInlineImageXObject(imgData);\n      }\n    }, {\n      key: \"paintInlineImageXObject\",\n      value: function paintInlineImageXObject(imgData, mask) {\n        var width = imgData.width;\n        var height = imgData.height;\n        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n        var cliprect = this.svgFactory.createElement(\"svg:rect\");\n        cliprect.setAttributeNS(null, \"x\", \"0\");\n        cliprect.setAttributeNS(null, \"y\", \"0\");\n        cliprect.setAttributeNS(null, \"width\", pf(width));\n        cliprect.setAttributeNS(null, \"height\", pf(height));\n        this.current.element = cliprect;\n        this.clip(\"nonzero\");\n        var imgEl = this.svgFactory.createElement(\"svg:image\");\n        imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n        imgEl.setAttributeNS(null, \"x\", \"0\");\n        imgEl.setAttributeNS(null, \"y\", pf(-height));\n        imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n        imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n        imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n        if (mask) {\n          mask.appendChild(imgEl);\n        } else {\n          this._ensureTransformGroup().appendChild(imgEl);\n        }\n      }\n    }, {\n      key: \"paintImageMaskXObject\",\n      value: function paintImageMaskXObject(imgData) {\n        var current = this.current;\n        var width = imgData.width;\n        var height = imgData.height;\n        var fillColor = current.fillColor;\n        current.maskId = \"mask\".concat(maskCount++);\n        var mask = this.svgFactory.createElement(\"svg:mask\");\n        mask.setAttributeNS(null, \"id\", current.maskId);\n        var rect = this.svgFactory.createElement(\"svg:rect\");\n        rect.setAttributeNS(null, \"x\", \"0\");\n        rect.setAttributeNS(null, \"y\", \"0\");\n        rect.setAttributeNS(null, \"width\", pf(width));\n        rect.setAttributeNS(null, \"height\", pf(height));\n        rect.setAttributeNS(null, \"fill\", fillColor);\n        rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n        this.defs.appendChild(mask);\n\n        this._ensureTransformGroup().appendChild(rect);\n\n        this.paintInlineImageXObject(imgData, mask);\n      }\n    }, {\n      key: \"paintFormXObjectBegin\",\n      value: function paintFormXObjectBegin(matrix, bbox) {\n        if (Array.isArray(matrix) && matrix.length === 6) {\n          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n        }\n\n        if (bbox) {\n          var width = bbox[2] - bbox[0];\n          var height = bbox[3] - bbox[1];\n          var cliprect = this.svgFactory.createElement(\"svg:rect\");\n          cliprect.setAttributeNS(null, \"x\", bbox[0]);\n          cliprect.setAttributeNS(null, \"y\", bbox[1]);\n          cliprect.setAttributeNS(null, \"width\", pf(width));\n          cliprect.setAttributeNS(null, \"height\", pf(height));\n          this.current.element = cliprect;\n          this.clip(\"nonzero\");\n          this.endPath();\n        }\n      }\n    }, {\n      key: \"paintFormXObjectEnd\",\n      value: function paintFormXObjectEnd() {}\n    }, {\n      key: \"_initialize\",\n      value: function _initialize(viewport) {\n        var svg = this.svgFactory.create(viewport.width, viewport.height);\n        var definitions = this.svgFactory.createElement(\"svg:defs\");\n        svg.appendChild(definitions);\n        this.defs = definitions;\n        var rootGroup = this.svgFactory.createElement(\"svg:g\");\n        rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n        svg.appendChild(rootGroup);\n        this.svg = rootGroup;\n        return svg;\n      }\n    }, {\n      key: \"_ensureClipGroup\",\n      value: function _ensureClipGroup() {\n        if (!this.current.clipGroup) {\n          var clipGroup = this.svgFactory.createElement(\"svg:g\");\n          clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n          this.svg.appendChild(clipGroup);\n          this.current.clipGroup = clipGroup;\n        }\n\n        return this.current.clipGroup;\n      }\n    }, {\n      key: \"_ensureTransformGroup\",\n      value: function _ensureTransformGroup() {\n        if (!this.tgrp) {\n          this.tgrp = this.svgFactory.createElement(\"svg:g\");\n          this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n          if (this.current.activeClipUrl) {\n            this._ensureClipGroup().appendChild(this.tgrp);\n          } else {\n            this.svg.appendChild(this.tgrp);\n          }\n        }\n\n        return this.tgrp;\n      }\n    }]);\n\n    return SVGGraphics;\n  }();\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\"), __webpack_require__(\"b639\").Buffer))\n\n/***/ }),\n\n/***/ \"0366\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(\"1c0b\");\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ \"0496\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"07ac\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"1276\");\n\n__webpack_require__(\"498a\");\n\n__webpack_require__(\"159b\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.getGlobalEventBus = getGlobalEventBus;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n  UNKNOWN: 0,\n  NORMAL: 1,\n  CHANGING: 2,\n  FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n  CANVAS: \"canvas\",\n  SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n  DISABLE: 0,\n  ENABLE: 1,\n  ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n  UNKNOWN: -1,\n  VERTICAL: 0,\n  HORIZONTAL: 1,\n  WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n  UNKNOWN: -1,\n  NONE: 0,\n  ODD: 1,\n  EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n  if (!args) {\n    return text;\n  }\n\n  return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n    return name in args ? args[name] : \"{{\" + name + \"}}\";\n  });\n}\n\nvar NullL10n = {\n  getLanguage: function getLanguage() {\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n      return regeneratorRuntime.wrap(function _callee$(_context) {\n        while (1) {\n          switch (_context.prev = _context.next) {\n            case 0:\n              return _context.abrupt(\"return\", \"en-us\");\n\n            case 1:\n            case \"end\":\n              return _context.stop();\n          }\n        }\n      }, _callee);\n    }))();\n  },\n  getDirection: function getDirection() {\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n      return regeneratorRuntime.wrap(function _callee2$(_context2) {\n        while (1) {\n          switch (_context2.prev = _context2.next) {\n            case 0:\n              return _context2.abrupt(\"return\", \"ltr\");\n\n            case 1:\n            case \"end\":\n              return _context2.stop();\n          }\n        }\n      }, _callee2);\n    }))();\n  },\n  get: function get(property, args, fallback) {\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n      return regeneratorRuntime.wrap(function _callee3$(_context3) {\n        while (1) {\n          switch (_context3.prev = _context3.next) {\n            case 0:\n              return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n            case 1:\n            case \"end\":\n              return _context3.stop();\n          }\n        }\n      }, _callee3);\n    }))();\n  },\n  translate: function translate(element) {\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n      return regeneratorRuntime.wrap(function _callee4$(_context4) {\n        while (1) {\n          switch (_context4.prev = _context4.next) {\n            case 0:\n            case \"end\":\n              return _context4.stop();\n          }\n        }\n      }, _callee4);\n    }))();\n  }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n  var devicePixelRatio = window.devicePixelRatio || 1;\n  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n  var pixelRatio = devicePixelRatio / backingStoreRatio;\n  return {\n    sx: pixelRatio,\n    sy: pixelRatio,\n    scaled: pixelRatio !== 1\n  };\n}\n\nfunction scrollIntoView(element, spot) {\n  var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var parent = element.offsetParent;\n\n  if (!parent) {\n    console.error(\"offsetParent is not set -- cannot scroll\");\n    return;\n  }\n\n  var offsetY = element.offsetTop + element.clientTop;\n  var offsetX = element.offsetLeft + element.clientLeft;\n\n  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n    if (parent.dataset._scaleY) {\n      offsetY /= parent.dataset._scaleY;\n      offsetX /= parent.dataset._scaleX;\n    }\n\n    offsetY += parent.offsetTop;\n    offsetX += parent.offsetLeft;\n    parent = parent.offsetParent;\n\n    if (!parent) {\n      return;\n    }\n  }\n\n  if (spot) {\n    if (spot.top !== undefined) {\n      offsetY += spot.top;\n    }\n\n    if (spot.left !== undefined) {\n      offsetX += spot.left;\n      parent.scrollLeft = offsetX;\n    }\n  }\n\n  parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n  var debounceScroll = function debounceScroll(evt) {\n    if (rAF) {\n      return;\n    }\n\n    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n      rAF = null;\n      var currentX = viewAreaElement.scrollLeft;\n      var lastX = state.lastX;\n\n      if (currentX !== lastX) {\n        state.right = currentX > lastX;\n      }\n\n      state.lastX = currentX;\n      var currentY = viewAreaElement.scrollTop;\n      var lastY = state.lastY;\n\n      if (currentY !== lastY) {\n        state.down = currentY > lastY;\n      }\n\n      state.lastY = currentY;\n      callback(state);\n    });\n  };\n\n  var state = {\n    right: true,\n    down: true,\n    lastX: viewAreaElement.scrollLeft,\n    lastY: viewAreaElement.scrollTop,\n    _eventHandler: debounceScroll\n  };\n  var rAF = null;\n  viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n  return state;\n}\n\nfunction parseQueryString(query) {\n  var parts = query.split(\"&\");\n  var params = Object.create(null);\n\n  for (var i = 0, ii = parts.length; i < ii; ++i) {\n    var param = parts[i].split(\"=\");\n    var key = param[0].toLowerCase();\n    var value = param.length > 1 ? param[1] : null;\n    params[decodeURIComponent(key)] = decodeURIComponent(value);\n  }\n\n  return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n  var minIndex = 0;\n  var maxIndex = items.length - 1;\n\n  if (items.length === 0 || !condition(items[maxIndex])) {\n    return items.length;\n  }\n\n  if (condition(items[minIndex])) {\n    return minIndex;\n  }\n\n  while (minIndex < maxIndex) {\n    var currentIndex = minIndex + maxIndex >> 1;\n    var currentItem = items[currentIndex];\n\n    if (condition(currentItem)) {\n      maxIndex = currentIndex;\n    } else {\n      minIndex = currentIndex + 1;\n    }\n  }\n\n  return minIndex;\n}\n\nfunction approximateFraction(x) {\n  if (Math.floor(x) === x) {\n    return [x, 1];\n  }\n\n  var xinv = 1 / x;\n  var limit = 8;\n\n  if (xinv > limit) {\n    return [1, limit];\n  } else if (Math.floor(xinv) === xinv) {\n    return [1, xinv];\n  }\n\n  var x_ = x > 1 ? xinv : x;\n  var a = 0,\n      b = 1,\n      c = 1,\n      d = 1;\n\n  while (true) {\n    var p = a + c,\n        q = b + d;\n\n    if (q > limit) {\n      break;\n    }\n\n    if (x_ <= p / q) {\n      c = p;\n      d = q;\n    } else {\n      a = p;\n      b = q;\n    }\n  }\n\n  var result;\n\n  if (x_ - a / b < c / d - x_) {\n    result = x_ === x ? [a, b] : [b, a];\n  } else {\n    result = x_ === x ? [c, d] : [d, c];\n  }\n\n  return result;\n}\n\nfunction roundToDivide(x, div) {\n  var r = x % div;\n  return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n  var view = _ref.view,\n      userUnit = _ref.userUnit,\n      rotate = _ref.rotate;\n\n  var _view = _slicedToArray(view, 4),\n      x1 = _view[0],\n      y1 = _view[1],\n      x2 = _view[2],\n      y2 = _view[3];\n\n  var changeOrientation = rotate % 180 !== 0;\n  var width = (x2 - x1) / 72 * userUnit;\n  var height = (y2 - y1) / 72 * userUnit;\n  return {\n    width: changeOrientation ? height : width,\n    height: changeOrientation ? width : height\n  };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n  if (index < 2) {\n    return index;\n  }\n\n  var elt = views[index].div;\n  var pageTop = elt.offsetTop + elt.clientTop;\n\n  if (pageTop >= top) {\n    elt = views[index - 1].div;\n    pageTop = elt.offsetTop + elt.clientTop;\n  }\n\n  for (var i = index - 2; i >= 0; --i) {\n    elt = views[i].div;\n\n    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n      break;\n    }\n\n    index = i;\n  }\n\n  return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n  var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var top = scrollEl.scrollTop,\n      bottom = top + scrollEl.clientHeight;\n  var left = scrollEl.scrollLeft,\n      right = left + scrollEl.clientWidth;\n\n  function isElementBottomAfterViewTop(view) {\n    var element = view.div;\n    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n    return elementBottom > top;\n  }\n\n  function isElementRightAfterViewLeft(view) {\n    var element = view.div;\n    var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n    return elementRight > left;\n  }\n\n  var visible = [],\n      numViews = views.length;\n  var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n  if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n    firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n  }\n\n  var lastEdge = horizontal ? right : -1;\n\n  for (var i = firstVisibleElementInd; i < numViews; i++) {\n    var view = views[i],\n        element = view.div;\n    var currentWidth = element.offsetLeft + element.clientLeft;\n    var currentHeight = element.offsetTop + element.clientTop;\n    var viewWidth = element.clientWidth,\n        viewHeight = element.clientHeight;\n    var viewRight = currentWidth + viewWidth;\n    var viewBottom = currentHeight + viewHeight;\n\n    if (lastEdge === -1) {\n      if (viewBottom >= bottom) {\n        lastEdge = viewBottom;\n      }\n    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n      break;\n    }\n\n    if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n      continue;\n    }\n\n    var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n    var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n    var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n    visible.push({\n      id: view.id,\n      x: currentWidth,\n      y: currentHeight,\n      view: view,\n      percent: percent\n    });\n  }\n\n  var first = visible[0],\n      last = visible[visible.length - 1];\n\n  if (sortByVisibility) {\n    visible.sort(function (a, b) {\n      var pc = a.percent - b.percent;\n\n      if (Math.abs(pc) > 0.001) {\n        return -pc;\n      }\n\n      return a.id - b.id;\n    });\n  }\n\n  return {\n    first: first,\n    last: last,\n    views: visible\n  };\n}\n\nfunction noContextMenuHandler(evt) {\n  evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n  var i = 0;\n  var ii = url.length;\n\n  while (i < ii && url[i].trim() === \"\") {\n    i++;\n  }\n\n  return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n  if (typeof url !== \"string\") {\n    return defaultFilename;\n  }\n\n  if (isDataSchema(url)) {\n    console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n    return defaultFilename;\n  }\n\n  var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n  var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n  var splitURI = reURI.exec(url);\n  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n  if (suggestedFilename) {\n    suggestedFilename = suggestedFilename[0];\n\n    if (suggestedFilename.includes(\"%\")) {\n      try {\n        suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n      } catch (ex) {}\n    }\n  }\n\n  return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n  var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n  var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n    delta = -delta;\n  }\n\n  var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n  var MOUSE_DOM_DELTA_LINE_MODE = 1;\n  var MOUSE_PIXELS_PER_LINE = 30;\n  var MOUSE_LINES_PER_PAGE = 30;\n\n  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n    delta /= MOUSE_LINES_PER_PAGE;\n  }\n\n  return delta;\n}\n\nfunction isValidRotation(angle) {\n  return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n  return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n  return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n  return size.width <= size.height;\n}\n\nvar WaitOnType = {\n  EVENT: \"event\",\n  TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n  var target = _ref2.target,\n      name = _ref2.name,\n      _ref2$delay = _ref2.delay,\n      delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n  return new Promise(function (resolve, reject) {\n    if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n      throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n    }\n\n    function handler(type) {\n      if (target instanceof EventBus) {\n        target._off(name, eventHandler);\n      } else {\n        target.removeEventListener(name, eventHandler);\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n\n      resolve(type);\n    }\n\n    var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n    if (target instanceof EventBus) {\n      target._on(name, eventHandler);\n    } else {\n      target.addEventListener(name, eventHandler);\n    }\n\n    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n    var timeout = setTimeout(timeoutHandler, delay);\n  });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n  window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n  var details = Object.create(null);\n\n  if (args && args.length > 0) {\n    var obj = args[0];\n\n    for (var key in obj) {\n      var value = obj[key];\n\n      if (key === \"source\") {\n        if (value === window || value === document) {\n          return;\n        }\n\n        continue;\n      }\n\n      details[key] = value;\n    }\n  }\n\n  var event = document.createEvent(\"CustomEvent\");\n  event.initCustomEvent(eventName, true, true, details);\n  document.dispatchEvent(event);\n}\n\nvar EventBus = /*#__PURE__*/function () {\n  function EventBus() {\n    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref3$dispatchToDOM = _ref3.dispatchToDOM,\n        dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM;\n\n    _classCallCheck(this, EventBus);\n\n    this._listeners = Object.create(null);\n    this._dispatchToDOM = dispatchToDOM === true;\n\n    if (dispatchToDOM) {\n      console.error(\"The `eventBusDispatchToDOM` option/preference is deprecated, \" + \"add event listeners to the EventBus instance rather than the DOM.\");\n    }\n  }\n\n  _createClass(EventBus, [{\n    key: \"on\",\n    value: function on(eventName, listener) {\n      this._on(eventName, listener, {\n        external: true\n      });\n    }\n  }, {\n    key: \"off\",\n    value: function off(eventName, listener) {\n      this._off(eventName, listener, {\n        external: true\n      });\n    }\n  }, {\n    key: \"dispatch\",\n    value: function dispatch(eventName) {\n      var eventListeners = this._listeners[eventName];\n\n      if (!eventListeners || eventListeners.length === 0) {\n        if (this._dispatchToDOM) {\n          var _args5 = Array.prototype.slice.call(arguments, 1);\n\n          dispatchDOMEvent(eventName, _args5);\n        }\n\n        return;\n      }\n\n      var args = Array.prototype.slice.call(arguments, 1);\n      var externalListeners;\n      eventListeners.slice(0).forEach(function (_ref4) {\n        var listener = _ref4.listener,\n            external = _ref4.external;\n\n        if (external) {\n          if (!externalListeners) {\n            externalListeners = [];\n          }\n\n          externalListeners.push(listener);\n          return;\n        }\n\n        listener.apply(null, args);\n      });\n\n      if (externalListeners) {\n        externalListeners.forEach(function (listener) {\n          listener.apply(null, args);\n        });\n        externalListeners = null;\n      }\n\n      if (this._dispatchToDOM) {\n        dispatchDOMEvent(eventName, args);\n      }\n    }\n  }, {\n    key: \"_on\",\n    value: function _on(eventName, listener) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var eventListeners = this._listeners[eventName];\n\n      if (!eventListeners) {\n        this._listeners[eventName] = eventListeners = [];\n      }\n\n      eventListeners.push({\n        listener: listener,\n        external: (options && options.external) === true\n      });\n    }\n  }, {\n    key: \"_off\",\n    value: function _off(eventName, listener) {\n      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var eventListeners = this._listeners[eventName];\n\n      if (!eventListeners) {\n        return;\n      }\n\n      for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n        if (eventListeners[i].listener === listener) {\n          eventListeners.splice(i, 1);\n          return;\n        }\n      }\n    }\n  }]);\n\n  return EventBus;\n}();\n\nexports.EventBus = EventBus;\nvar globalEventBus = null;\n\nfunction getGlobalEventBus() {\n  var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n  console.error(\"getGlobalEventBus is deprecated, use a manually created EventBus instance instead.\");\n\n  if (!globalEventBus) {\n    globalEventBus = new EventBus({\n      dispatchToDOM: dispatchToDOM\n    });\n  }\n\n  return globalEventBus;\n}\n\nfunction clamp(v, min, max) {\n  return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n  function ProgressBar(id) {\n    var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        height = _ref5.height,\n        width = _ref5.width,\n        units = _ref5.units;\n\n    _classCallCheck(this, ProgressBar);\n\n    this.visible = true;\n    this.div = document.querySelector(id + \" .progress\");\n    this.bar = this.div.parentNode;\n    this.height = height || 100;\n    this.width = width || 100;\n    this.units = units || \"%\";\n    this.div.style.height = this.height + this.units;\n    this.percent = 0;\n  }\n\n  _createClass(ProgressBar, [{\n    key: \"_updateBar\",\n    value: function _updateBar() {\n      if (this._indeterminate) {\n        this.div.classList.add(\"indeterminate\");\n        this.div.style.width = this.width + this.units;\n        return;\n      }\n\n      this.div.classList.remove(\"indeterminate\");\n      var progressSize = this.width * this._percent / 100;\n      this.div.style.width = progressSize + this.units;\n    }\n  }, {\n    key: \"setWidth\",\n    value: function setWidth(viewer) {\n      if (!viewer) {\n        return;\n      }\n\n      var container = viewer.parentNode;\n      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n      if (scrollbarWidth > 0) {\n        this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n      }\n    }\n  }, {\n    key: \"hide\",\n    value: function hide() {\n      if (!this.visible) {\n        return;\n      }\n\n      this.visible = false;\n      this.bar.classList.add(\"hidden\");\n      document.body.classList.remove(\"loadingInProgress\");\n    }\n  }, {\n    key: \"show\",\n    value: function show() {\n      if (this.visible) {\n        return;\n      }\n\n      this.visible = true;\n      document.body.classList.add(\"loadingInProgress\");\n      this.bar.classList.remove(\"hidden\");\n    }\n  }, {\n    key: \"percent\",\n    get: function get() {\n      return this._percent;\n    },\n    set: function set(val) {\n      this._indeterminate = isNaN(val);\n      this._percent = clamp(val, 0, 100);\n\n      this._updateBar();\n    }\n  }]);\n\n  return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n  var moved = [],\n      len = arr.length;\n  var write = 0;\n\n  for (var read = 0; read < len; ++read) {\n    if (condition(arr[read])) {\n      moved.push(arr[read]);\n    } else {\n      arr[write] = arr[read];\n      ++write;\n    }\n  }\n\n  for (var _read = 0; write < len; ++_read, ++write) {\n    arr[write] = moved[_read];\n  }\n}\n\n/***/ }),\n\n/***/ \"04d0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.OptionKind = exports.AppOptions = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _viewer_compatibility = __webpack_require__(\"6aed\");\n\nvar OptionKind = {\n  VIEWER: 0x02,\n  API: 0x04,\n  WORKER: 0x08,\n  PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nvar defaultOptions = {\n  cursorToolOnLoad: {\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  defaultUrl: {\n    value: \"compressed.tracemonkey-pldi-09.pdf\",\n    kind: OptionKind.VIEWER\n  },\n  defaultZoomValue: {\n    value: \"\",\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  disableHistory: {\n    value: false,\n    kind: OptionKind.VIEWER\n  },\n  disablePageLabels: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  enablePrintAutoRotate: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  enableWebGL: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  eventBusDispatchToDOM: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  externalLinkRel: {\n    value: \"noopener noreferrer nofollow\",\n    kind: OptionKind.VIEWER\n  },\n  externalLinkTarget: {\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  historyUpdateUrl: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  ignoreDestinationZoom: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  imageResourcesPath: {\n    value: \"./images/\",\n    kind: OptionKind.VIEWER\n  },\n  maxCanvasPixels: {\n    value: 16777216,\n    compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels,\n    kind: OptionKind.VIEWER\n  },\n  pdfBugEnabled: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  renderer: {\n    value: \"canvas\",\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  renderInteractiveForms: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  sidebarViewOnLoad: {\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  scrollModeOnLoad: {\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  spreadModeOnLoad: {\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  textLayerMode: {\n    value: 1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  useOnlyCssZoom: {\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  viewOnLoad: {\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n  },\n  cMapPacked: {\n    value: true,\n    kind: OptionKind.API\n  },\n  cMapUrl: {\n    value: \"../web/cmaps/\",\n    kind: OptionKind.API\n  },\n  disableAutoFetch: {\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE\n  },\n  disableCreateObjectURL: {\n    value: false,\n    compatibility: _pdf.apiCompatibilityParams.disableCreateObjectURL,\n    kind: OptionKind.API\n  },\n  disableFontFace: {\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE\n  },\n  disableRange: {\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE\n  },\n  disableStream: {\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE\n  },\n  docBaseUrl: {\n    value: \"\",\n    kind: OptionKind.API\n  },\n  isEvalSupported: {\n    value: true,\n    kind: OptionKind.API\n  },\n  maxImageSize: {\n    value: -1,\n    kind: OptionKind.API\n  },\n  pdfBug: {\n    value: false,\n    kind: OptionKind.API\n  },\n  verbosity: {\n    value: 1,\n    kind: OptionKind.API\n  },\n  workerPort: {\n    value: null,\n    kind: OptionKind.WORKER\n  },\n  workerSrc: {\n    value: \"../build/pdf.worker.js\",\n    kind: OptionKind.WORKER\n  }\n};\n;\nvar userOptions = Object.create(null);\n\nvar AppOptions = /*#__PURE__*/function () {\n  function AppOptions() {\n    _classCallCheck(this, AppOptions);\n\n    throw new Error(\"Cannot initialize AppOptions.\");\n  }\n\n  _createClass(AppOptions, null, [{\n    key: \"get\",\n    value: function get(name) {\n      var userOption = userOptions[name];\n\n      if (userOption !== undefined) {\n        return userOption;\n      }\n\n      var defaultOption = defaultOptions[name];\n\n      if (defaultOption !== undefined) {\n        return defaultOption.compatibility || defaultOption.value;\n      }\n\n      return undefined;\n    }\n  }, {\n    key: \"getAll\",\n    value: function getAll() {\n      var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var options = Object.create(null);\n\n      for (var name in defaultOptions) {\n        var defaultOption = defaultOptions[name];\n\n        if (kind) {\n          if ((kind & defaultOption.kind) === 0) {\n            continue;\n          }\n\n          if (kind === OptionKind.PREFERENCE) {\n            var value = defaultOption.value,\n                valueType = _typeof(value);\n\n            if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n              options[name] = value;\n              continue;\n            }\n\n            throw new Error(\"Invalid type for preference: \".concat(name));\n          }\n        }\n\n        var userOption = userOptions[name];\n        options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value;\n      }\n\n      return options;\n    }\n  }, {\n    key: \"set\",\n    value: function set(name, value) {\n      userOptions[name] = value;\n    }\n  }, {\n    key: \"remove\",\n    value: function remove(name) {\n      delete userOptions[name];\n    }\n  }]);\n\n  return AppOptions;\n}();\n\nexports.AppOptions = AppOptions;\n\n/***/ }),\n\n/***/ \"0538\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(\"1c0b\");\nvar isObject = __webpack_require__(\"861d\");\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n  if (!(argsLength in factories)) {\n    for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n    // eslint-disable-next-line no-new-func\n    factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n  } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var fn = aFunction(this);\n  var partArgs = slice.call(arguments, 1);\n  var boundFunction = function bound(/* args... */) {\n    var args = partArgs.concat(slice.call(arguments));\n    return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n  };\n  if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n  return boundFunction;\n};\n\n\n/***/ }),\n\n/***/ \"057f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar nativeGetOwnPropertyNames = __webpack_require__(\"241c\").f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return nativeGetOwnPropertyNames(it);\n  } catch (error) {\n    return windowNames.slice();\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]'\n    ? getWindowNames(it)\n    : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n\n/***/ }),\n\n/***/ \"0676\":\n/***/ (function(module, exports) {\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\n\n/***/ }),\n\n/***/ \"06cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar has = __webpack_require__(\"5135\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"07ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar $values = __webpack_require__(\"6f53\").values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n  values: function values(O) {\n    return $values(O);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"0b25\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\nvar toLength = __webpack_require__(\"50c4\");\n\n// `ToIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-toindex\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toInteger(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length or index');\n  return length;\n};\n\n\n/***/ }),\n\n/***/ \"0c47\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar setToStringTag = __webpack_require__(\"d44e\");\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n\n/***/ \"0ccb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = __webpack_require__(\"50c4\");\nvar repeat = __webpack_require__(\"1148\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n  return function ($this, maxLength, fillString) {\n    var S = String(requireObjectCoercible($this));\n    var stringLength = S.length;\n    var fillStr = fillString === undefined ? ' ' : String(fillString);\n    var intMaxLength = toLength(maxLength);\n    var fillLen, stringFiller;\n    if (intMaxLength <= stringLength || fillStr == '') return S;\n    fillLen = intMaxLength - stringLength;\n    stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n    if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n    return IS_END ? S + stringFiller : stringFiller + S;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.padStart` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n  start: createMethod(false),\n  // `String.prototype.padEnd` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n  end: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ \"0cfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar createElement = __webpack_require__(\"cc12\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"0d3b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar IS_PURE = __webpack_require__(\"c430\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n  var url = new URL('b?a=1&b=2&c=3', 'http://a');\n  var searchParams = url.searchParams;\n  var result = '';\n  url.pathname = 'c%20d';\n  searchParams.forEach(function (value, key) {\n    searchParams['delete']('b');\n    result += key + value;\n  });\n  return (IS_PURE && !url.toJSON)\n    || !searchParams.sort\n    || url.href !== 'http://a/c%20d?a=1&c=3'\n    || searchParams.get('c') !== '3'\n    || String(new URLSearchParams('?a=1')) !== 'a=1'\n    || !searchParams[ITERATOR]\n    // throws in Edge\n    || new URL('https://a@b').username !== 'a'\n    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n    // not punycoded in Edge\n    || new URL('http://тест').host !== 'xn--e1aybc'\n    // not escaped in Chrome 62-\n    || new URL('http://a#б').hash !== '#%D0%B1'\n    // fails in Chrome 66-\n    || result !== 'a1c3'\n    // throws in Safari\n    || new URL('http://x', undefined).host !== 'x';\n});\n\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"10d1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(\"da84\");\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar InternalMetadataModule = __webpack_require__(\"f183\");\nvar collection = __webpack_require__(\"6d61\");\nvar collectionWeak = __webpack_require__(\"acac\");\nvar isObject = __webpack_require__(\"861d\");\nvar enforceIternalState = __webpack_require__(\"69f3\").enforce;\nvar NATIVE_WEAK_MAP = __webpack_require__(\"7f9a\");\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.REQUIRED = true;\n  var WeakMapPrototype = $WeakMap.prototype;\n  var nativeDelete = WeakMapPrototype['delete'];\n  var nativeHas = WeakMapPrototype.has;\n  var nativeGet = WeakMapPrototype.get;\n  var nativeSet = WeakMapPrototype.set;\n  redefineAll(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete.call(this, key) || state.frozen['delete'](key);\n      } return nativeDelete.call(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) || state.frozen.has(key);\n      } return nativeHas.call(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n      } return nativeGet.call(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet.call(this, key, value);\n      return this;\n    }\n  });\n}\n\n\n/***/ }),\n\n/***/ \"1148\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n  var str = String(requireObjectCoercible(this));\n  var result = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"11b0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a4d3\");\n\n__webpack_require__(\"e01a\");\n\n__webpack_require__(\"d28b\");\n\n__webpack_require__(\"a630\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\n\n/***/ }),\n\n/***/ \"1276\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar isRegExp = __webpack_require__(\"44e7\");\nvar anObject = __webpack_require__(\"825a\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar speciesConstructor = __webpack_require__(\"4840\");\nvar advanceStringIndex = __webpack_require__(\"8aa5\");\nvar toLength = __webpack_require__(\"50c4\");\nvar callRegExpExec = __webpack_require__(\"14c3\");\nvar regexpExec = __webpack_require__(\"9263\");\nvar fails = __webpack_require__(\"d039\");\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'.split(/(b)*/)[1] == 'c' ||\n    'test'.split(/(?:)/, -1).length != 4 ||\n    'ab'.split(/(?:ab)*/).length != 2 ||\n    '.'.split(/(.?)(.?)/).length != 4 ||\n    '.'.split(/()()/).length > 1 ||\n    ''.split(/.?/).length\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(requireObjectCoercible(this));\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (separator === undefined) return [string];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) {\n        return nativeSplit.call(string, separator, lim);\n      }\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy.lastIndex;\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n          lastLength = match[0].length;\n          lastLastIndex = lastIndex;\n          if (output.length >= lim) break;\n        }\n        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string.length) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output.length > lim ? output.slice(0, lim) : output;\n    };\n  // Chakra, V8\n  } else if ('0'.split(undefined, 0).length) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n    };\n  } else internalSplit = nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (SUPPORTS_Y ? 'y' : 'g');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n}, !SUPPORTS_Y);\n\n\n/***/ }),\n\n/***/ \"129f\":\n/***/ (function(module, exports) {\n\n// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n  // eslint-disable-next-line no-self-compare\n  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/***/ }),\n\n/***/ \"12b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"10d1\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFPageView = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _pdf_rendering_queue = __webpack_require__(\"ef24\");\n\nvar _viewer_compatibility = __webpack_require__(\"6aed\");\n\nvar MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n  function PDFPageView(options) {\n    _classCallCheck(this, PDFPageView);\n\n    var container = options.container;\n    var defaultViewport = options.defaultViewport;\n    this.id = options.id;\n    this.renderingId = \"page\" + this.id;\n    this.pdfPage = null;\n    this.pageLabel = null;\n    this.rotation = 0;\n    this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n    this.viewport = defaultViewport;\n    this.pdfPageRotate = defaultViewport.rotation;\n    this.hasRestrictedScaling = false;\n    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n    this.imageResourcesPath = options.imageResourcesPath || \"\";\n    this.renderInteractiveForms = options.renderInteractiveForms || false;\n    this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this.renderingQueue = options.renderingQueue;\n    this.textLayerFactory = options.textLayerFactory;\n    this.annotationLayerFactory = options.annotationLayerFactory;\n    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n    this.enableWebGL = options.enableWebGL || false;\n    this.l10n = options.l10n || _ui_utils.NullL10n;\n    this.paintTask = null;\n    this.paintedViewportMap = new WeakMap();\n    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n    this.resume = null;\n    this.error = null;\n    this.annotationLayer = null;\n    this.textLayer = null;\n    this.zoomLayer = null;\n    var div = document.createElement(\"div\");\n    div.className = \"page\";\n    div.style.width = Math.floor(this.viewport.width) + \"px\";\n    div.style.height = Math.floor(this.viewport.height) + \"px\";\n    div.setAttribute(\"data-page-number\", this.id);\n    this.div = div;\n    container.appendChild(div);\n  }\n\n  _createClass(PDFPageView, [{\n    key: \"setPdfPage\",\n    value: function setPdfPage(pdfPage) {\n      this.pdfPage = pdfPage;\n      this.pdfPageRotate = pdfPage.rotate;\n      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n      this.viewport = pdfPage.getViewport({\n        scale: this.scale * _ui_utils.CSS_UNITS,\n        rotation: totalRotation\n      });\n      this.stats = pdfPage.stats;\n      this.reset();\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy() {\n      this.reset();\n\n      if (this.pdfPage) {\n        this.pdfPage.cleanup();\n      }\n    }\n  }, {\n    key: \"_resetZoomLayer\",\n    value: function _resetZoomLayer() {\n      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!this.zoomLayer) {\n        return;\n      }\n\n      var zoomLayerCanvas = this.zoomLayer.firstChild;\n      this.paintedViewportMap.delete(zoomLayerCanvas);\n      zoomLayerCanvas.width = 0;\n      zoomLayerCanvas.height = 0;\n\n      if (removeFromDOM) {\n        this.zoomLayer.remove();\n      }\n\n      this.zoomLayer = null;\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      this.cancelRendering(keepAnnotations);\n      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n      var div = this.div;\n      div.style.width = Math.floor(this.viewport.width) + \"px\";\n      div.style.height = Math.floor(this.viewport.height) + \"px\";\n      var childNodes = div.childNodes;\n      var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n      var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n      for (var i = childNodes.length - 1; i >= 0; i--) {\n        var node = childNodes[i];\n\n        if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n          continue;\n        }\n\n        div.removeChild(node);\n      }\n\n      div.removeAttribute(\"data-loaded\");\n\n      if (currentAnnotationNode) {\n        this.annotationLayer.hide();\n      } else if (this.annotationLayer) {\n        this.annotationLayer.cancel();\n        this.annotationLayer = null;\n      }\n\n      if (!currentZoomLayerNode) {\n        if (this.canvas) {\n          this.paintedViewportMap.delete(this.canvas);\n          this.canvas.width = 0;\n          this.canvas.height = 0;\n          delete this.canvas;\n        }\n\n        this._resetZoomLayer();\n      }\n\n      if (this.svg) {\n        this.paintedViewportMap.delete(this.svg);\n        delete this.svg;\n      }\n\n      this.loadingIconDiv = document.createElement(\"div\");\n      this.loadingIconDiv.className = \"loadingIcon\";\n      div.appendChild(this.loadingIconDiv);\n    }\n  }, {\n    key: \"update\",\n    value: function update(scale, rotation) {\n      this.scale = scale || this.scale;\n\n      if (typeof rotation !== \"undefined\") {\n        this.rotation = rotation;\n      }\n\n      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n      this.viewport = this.viewport.clone({\n        scale: this.scale * _ui_utils.CSS_UNITS,\n        rotation: totalRotation\n      });\n\n      if (this.svg) {\n        this.cssTransform(this.svg, true);\n        this.eventBus.dispatch(\"pagerendered\", {\n          source: this,\n          pageNumber: this.id,\n          cssTransform: true,\n          timestamp: performance.now()\n        });\n        return;\n      }\n\n      var isScalingRestricted = false;\n\n      if (this.canvas && this.maxCanvasPixels > 0) {\n        var outputScale = this.outputScale;\n\n        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n          isScalingRestricted = true;\n        }\n      }\n\n      if (this.canvas) {\n        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n          this.cssTransform(this.canvas, true);\n          this.eventBus.dispatch(\"pagerendered\", {\n            source: this,\n            pageNumber: this.id,\n            cssTransform: true,\n            timestamp: performance.now()\n          });\n          return;\n        }\n\n        if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n          this.zoomLayer = this.canvas.parentNode;\n          this.zoomLayer.style.position = \"absolute\";\n        }\n      }\n\n      if (this.zoomLayer) {\n        this.cssTransform(this.zoomLayer.firstChild);\n      }\n\n      this.reset(true, true);\n    }\n  }, {\n    key: \"cancelRendering\",\n    value: function cancelRendering() {\n      var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (this.paintTask) {\n        this.paintTask.cancel();\n        this.paintTask = null;\n      }\n\n      this.resume = null;\n\n      if (this.textLayer) {\n        this.textLayer.cancel();\n        this.textLayer = null;\n      }\n\n      if (!keepAnnotations && this.annotationLayer) {\n        this.annotationLayer.cancel();\n        this.annotationLayer = null;\n      }\n    }\n  }, {\n    key: \"cssTransform\",\n    value: function cssTransform(target) {\n      var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var width = this.viewport.width;\n      var height = this.viewport.height;\n      var div = this.div;\n      target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n      target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n      var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n      var absRotation = Math.abs(relativeRotation);\n      var scaleX = 1,\n          scaleY = 1;\n\n      if (absRotation === 90 || absRotation === 270) {\n        scaleX = height / width;\n        scaleY = width / height;\n      }\n\n      var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n      target.style.transform = cssTransform;\n\n      if (this.textLayer) {\n        var textLayerViewport = this.textLayer.viewport;\n        var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n        var textAbsRotation = Math.abs(textRelativeRotation);\n        var scale = width / textLayerViewport.width;\n\n        if (textAbsRotation === 90 || textAbsRotation === 270) {\n          scale = width / textLayerViewport.height;\n        }\n\n        var textLayerDiv = this.textLayer.textLayerDiv;\n        var transX, transY;\n\n        switch (textAbsRotation) {\n          case 0:\n            transX = transY = 0;\n            break;\n\n          case 90:\n            transX = 0;\n            transY = \"-\" + textLayerDiv.style.height;\n            break;\n\n          case 180:\n            transX = \"-\" + textLayerDiv.style.width;\n            transY = \"-\" + textLayerDiv.style.height;\n            break;\n\n          case 270:\n            transX = \"-\" + textLayerDiv.style.width;\n            transY = 0;\n            break;\n\n          default:\n            console.error(\"Bad rotation value.\");\n            break;\n        }\n\n        textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n        textLayerDiv.style.transformOrigin = \"0% 0%\";\n      }\n\n      if (redrawAnnotations && this.annotationLayer) {\n        this.annotationLayer.render(this.viewport, \"display\");\n      }\n    }\n  }, {\n    key: \"getPagePoint\",\n    value: function getPagePoint(x, y) {\n      return this.viewport.convertToPdfPoint(x, y);\n    }\n  }, {\n    key: \"draw\",\n    value: function draw() {\n      var _this = this;\n\n      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n        console.error(\"Must be in new state before drawing\");\n        this.reset();\n      }\n\n      var div = this.div,\n          pdfPage = this.pdfPage;\n\n      if (!pdfPage) {\n        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n        if (this.loadingIconDiv) {\n          div.removeChild(this.loadingIconDiv);\n          delete this.loadingIconDiv;\n        }\n\n        return Promise.reject(new Error(\"pdfPage is not loaded\"));\n      }\n\n      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n      var canvasWrapper = document.createElement(\"div\");\n      canvasWrapper.style.width = div.style.width;\n      canvasWrapper.style.height = div.style.height;\n      canvasWrapper.classList.add(\"canvasWrapper\");\n\n      if (this.annotationLayer && this.annotationLayer.div) {\n        div.insertBefore(canvasWrapper, this.annotationLayer.div);\n      } else {\n        div.appendChild(canvasWrapper);\n      }\n\n      var textLayer = null;\n\n      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n        var textLayerDiv = document.createElement(\"div\");\n        textLayerDiv.className = \"textLayer\";\n        textLayerDiv.style.width = canvasWrapper.style.width;\n        textLayerDiv.style.height = canvasWrapper.style.height;\n\n        if (this.annotationLayer && this.annotationLayer.div) {\n          div.insertBefore(textLayerDiv, this.annotationLayer.div);\n        } else {\n          div.appendChild(textLayerDiv);\n        }\n\n        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n      }\n\n      this.textLayer = textLayer;\n      var renderContinueCallback = null;\n\n      if (this.renderingQueue) {\n        renderContinueCallback = function renderContinueCallback(cont) {\n          if (!_this.renderingQueue.isHighestPriority(_this)) {\n            _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n            _this.resume = function () {\n              _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n              cont();\n            };\n\n            return;\n          }\n\n          cont();\n        };\n      }\n\n      var finishPaintTask = /*#__PURE__*/function () {\n        var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(error) {\n          return regeneratorRuntime.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (paintTask === _this.paintTask) {\n                    _this.paintTask = null;\n                  }\n\n                  if (!(error instanceof _pdf.RenderingCancelledException)) {\n                    _context.next = 4;\n                    break;\n                  }\n\n                  _this.error = null;\n                  return _context.abrupt(\"return\");\n\n                case 4:\n                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n                  if (_this.loadingIconDiv) {\n                    div.removeChild(_this.loadingIconDiv);\n                    delete _this.loadingIconDiv;\n                  }\n\n                  _this._resetZoomLayer(true);\n\n                  _this.error = error;\n                  _this.stats = pdfPage.stats;\n\n                  _this.eventBus.dispatch(\"pagerendered\", {\n                    source: _this,\n                    pageNumber: _this.id,\n                    cssTransform: false,\n                    timestamp: performance.now()\n                  });\n\n                  if (!error) {\n                    _context.next = 12;\n                    break;\n                  }\n\n                  throw error;\n\n                case 12:\n                case \"end\":\n                  return _context.stop();\n              }\n            }\n          }, _callee);\n        }));\n\n        return function finishPaintTask(_x) {\n          return _ref.apply(this, arguments);\n        };\n      }();\n\n      var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n      paintTask.onRenderContinue = renderContinueCallback;\n      this.paintTask = paintTask;\n      var resultPromise = paintTask.promise.then(function () {\n        return finishPaintTask(null).then(function () {\n          if (textLayer) {\n            var readableStream = pdfPage.streamTextContent({\n              normalizeWhitespace: true\n            });\n            textLayer.setTextContentStream(readableStream);\n            textLayer.render();\n          }\n        });\n      }, function (reason) {\n        return finishPaintTask(reason);\n      });\n\n      if (this.annotationLayerFactory) {\n        if (!this.annotationLayer) {\n          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n        }\n\n        this.annotationLayer.render(this.viewport, \"display\");\n      }\n\n      div.setAttribute(\"data-loaded\", true);\n      this.eventBus.dispatch(\"pagerender\", {\n        source: this,\n        pageNumber: this.id\n      });\n      return resultPromise;\n    }\n  }, {\n    key: \"paintOnCanvas\",\n    value: function paintOnCanvas(canvasWrapper) {\n      var renderCapability = (0, _pdf.createPromiseCapability)();\n      var result = {\n        promise: renderCapability.promise,\n        onRenderContinue: function onRenderContinue(cont) {\n          cont();\n        },\n        cancel: function cancel() {\n          renderTask.cancel();\n        }\n      };\n      var viewport = this.viewport;\n      var canvas = document.createElement(\"canvas\");\n      this.l10n.get(\"page_canvas\", {\n        page: this.id\n      }, \"Page {{page}}\").then(function (msg) {\n        canvas.setAttribute(\"aria-label\", msg);\n      });\n      canvas.setAttribute(\"hidden\", \"hidden\");\n      var isCanvasHidden = true;\n\n      var showCanvas = function showCanvas() {\n        if (isCanvasHidden) {\n          canvas.removeAttribute(\"hidden\");\n          isCanvasHidden = false;\n        }\n      };\n\n      canvasWrapper.appendChild(canvas);\n      this.canvas = canvas;\n      canvas.mozOpaque = true;\n      var ctx = canvas.getContext(\"2d\", {\n        alpha: false\n      });\n      var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n      this.outputScale = outputScale;\n\n      if (this.useOnlyCssZoom) {\n        var actualSizeViewport = viewport.clone({\n          scale: _ui_utils.CSS_UNITS\n        });\n        outputScale.sx *= actualSizeViewport.width / viewport.width;\n        outputScale.sy *= actualSizeViewport.height / viewport.height;\n        outputScale.scaled = true;\n      }\n\n      if (this.maxCanvasPixels > 0) {\n        var pixelsInViewport = viewport.width * viewport.height;\n        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n          outputScale.sx = maxScale;\n          outputScale.sy = maxScale;\n          outputScale.scaled = true;\n          this.hasRestrictedScaling = true;\n        } else {\n          this.hasRestrictedScaling = false;\n        }\n      }\n\n      var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n      var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n      canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n      canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n      canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n      canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n      this.paintedViewportMap.set(canvas, viewport);\n      var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n      var renderContext = {\n        canvasContext: ctx,\n        transform: transform,\n        viewport: this.viewport,\n        enableWebGL: this.enableWebGL,\n        renderInteractiveForms: this.renderInteractiveForms\n      };\n      var renderTask = this.pdfPage.render(renderContext);\n\n      renderTask.onContinue = function (cont) {\n        showCanvas();\n\n        if (result.onRenderContinue) {\n          result.onRenderContinue(cont);\n        } else {\n          cont();\n        }\n      };\n\n      renderTask.promise.then(function () {\n        showCanvas();\n        renderCapability.resolve(undefined);\n      }, function (error) {\n        showCanvas();\n        renderCapability.reject(error);\n      });\n      return result;\n    }\n  }, {\n    key: \"paintOnSvg\",\n    value: function paintOnSvg(wrapper) {\n      var _this2 = this;\n\n      var cancelled = false;\n\n      var ensureNotCancelled = function ensureNotCancelled() {\n        if (cancelled) {\n          throw new _pdf.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n        }\n      };\n\n      var pdfPage = this.pdfPage;\n      var actualSizeViewport = this.viewport.clone({\n        scale: _ui_utils.CSS_UNITS\n      });\n      var promise = pdfPage.getOperatorList().then(function (opList) {\n        ensureNotCancelled();\n        var svgGfx = new _pdf.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n          ensureNotCancelled();\n          _this2.svg = svg;\n\n          _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n          svg.style.width = wrapper.style.width;\n          svg.style.height = wrapper.style.height;\n          _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n          wrapper.appendChild(svg);\n        });\n      });\n      return {\n        promise: promise,\n        onRenderContinue: function onRenderContinue(cont) {\n          cont();\n        },\n        cancel: function cancel() {\n          cancelled = true;\n        }\n      };\n    }\n  }, {\n    key: \"setPageLabel\",\n    value: function setPageLabel(label) {\n      this.pageLabel = typeof label === \"string\" ? label : null;\n\n      if (this.pageLabel !== null) {\n        this.div.setAttribute(\"data-page-label\", this.pageLabel);\n      } else {\n        this.div.removeAttribute(\"data-page-label\");\n      }\n    }\n  }, {\n    key: \"width\",\n    get: function get() {\n      return this.viewport.width;\n    }\n  }, {\n    key: \"height\",\n    get: function get() {\n      return this.viewport.height;\n    }\n  }]);\n\n  return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n\n/***/ \"130f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar task = __webpack_require__(\"2cf4\");\n\nvar FORCED = !global.setImmediate || !global.clearImmediate;\n\n// http://w3c.github.io/setImmediate/\n$({ global: true, bind: true, enumerable: true, forced: FORCED }, {\n  // `setImmediate` method\n  // http://w3c.github.io/setImmediate/#si-setImmediate\n  setImmediate: task.set,\n  // `clearImmediate` method\n  // http://w3c.github.io/setImmediate/#si-clearImmediate\n  clearImmediate: task.clear\n});\n\n\n/***/ }),\n\n/***/ \"143c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Int32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n  return function Int32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"145e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(\"7b0b\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar toLength = __webpack_require__(\"50c4\");\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = toLength(O.length);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n\n\n/***/ }),\n\n/***/ \"14c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\nvar regexpExec = __webpack_require__(\"9263\");\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n\n  if (classof(R) !== 'RegExp') {\n    throw TypeError('RegExp#exec called on incompatible receiver');\n  }\n\n  return regexpExec.call(R, S);\n};\n\n\n\n/***/ }),\n\n/***/ \"159b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar DOMIterables = __webpack_require__(\"fdbc\");\nvar forEach = __webpack_require__(\"17c2\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n  } catch (error) {\n    CollectionPrototype.forEach = forEach;\n  }\n}\n\n\n/***/ }),\n\n/***/ \"16ba\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"cca6\");\n\n__webpack_require__(\"dca8\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFDocumentProperties = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar DEFAULT_FIELD_CONTENT = \"-\";\nvar NON_METRIC_LOCALES = [\"en-us\", \"en-lr\", \"my\"];\nvar US_PAGE_NAMES = {\n  \"8.5x11\": \"Letter\",\n  \"8.5x14\": \"Legal\"\n};\nvar METRIC_PAGE_NAMES = {\n  \"297x420\": \"A3\",\n  \"210x297\": \"A4\"\n};\n\nfunction getPageName(size, isPortrait, pageNames) {\n  var width = isPortrait ? size.width : size.height;\n  var height = isPortrait ? size.height : size.width;\n  return pageNames[\"\".concat(width, \"x\").concat(height)];\n}\n\nvar PDFDocumentProperties = /*#__PURE__*/function () {\n  function PDFDocumentProperties(_ref, overlayManager, eventBus) {\n    var _this = this;\n\n    var overlayName = _ref.overlayName,\n        fields = _ref.fields,\n        container = _ref.container,\n        closeButton = _ref.closeButton;\n    var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;\n\n    _classCallCheck(this, PDFDocumentProperties);\n\n    this.overlayName = overlayName;\n    this.fields = fields;\n    this.container = container;\n    this.overlayManager = overlayManager;\n    this.l10n = l10n;\n\n    this._reset();\n\n    if (closeButton) {\n      closeButton.addEventListener(\"click\", this.close.bind(this));\n    }\n\n    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));\n\n    if (eventBus) {\n      eventBus._on(\"pagechanging\", function (evt) {\n        _this._currentPageNumber = evt.pageNumber;\n      });\n\n      eventBus._on(\"rotationchanging\", function (evt) {\n        _this._pagesRotation = evt.pagesRotation;\n      });\n    }\n\n    this._isNonMetricLocale = true;\n    l10n.getLanguage().then(function (locale) {\n      _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);\n    });\n  }\n\n  _createClass(PDFDocumentProperties, [{\n    key: \"open\",\n    value: function open() {\n      var _this2 = this;\n\n      var freezeFieldData = function freezeFieldData(data) {\n        Object.defineProperty(_this2, \"fieldData\", {\n          value: Object.freeze(data),\n          writable: false,\n          enumerable: true,\n          configurable: true\n        });\n      };\n\n      Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {\n        var currentPageNumber = _this2._currentPageNumber;\n        var pagesRotation = _this2._pagesRotation;\n\n        if (_this2.fieldData && currentPageNumber === _this2.fieldData[\"_currentPageNumber\"] && pagesRotation === _this2.fieldData[\"_pagesRotation\"]) {\n          _this2._updateUI();\n\n          return;\n        }\n\n        _this2.pdfDocument.getMetadata().then(function (_ref2) {\n          var info = _ref2.info,\n              metadata = _ref2.metadata,\n              contentDispositionFilename = _ref2.contentDispositionFilename;\n          return Promise.all([info, metadata, contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(_this2.url || \"\"), _this2._parseFileSize(_this2.maybeFileSize), _this2._parseDate(info.CreationDate), _this2._parseDate(info.ModDate), _this2.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {\n            return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);\n          }), _this2._parseLinearization(info.IsLinearized)]);\n        }).then(function (_ref3) {\n          var _ref4 = _slicedToArray(_ref3, 8),\n              info = _ref4[0],\n              metadata = _ref4[1],\n              fileName = _ref4[2],\n              fileSize = _ref4[3],\n              creationDate = _ref4[4],\n              modDate = _ref4[5],\n              pageSize = _ref4[6],\n              isLinearized = _ref4[7];\n\n          freezeFieldData({\n            fileName: fileName,\n            fileSize: fileSize,\n            title: info.Title,\n            author: info.Author,\n            subject: info.Subject,\n            keywords: info.Keywords,\n            creationDate: creationDate,\n            modificationDate: modDate,\n            creator: info.Creator,\n            producer: info.Producer,\n            version: info.PDFFormatVersion,\n            pageCount: _this2.pdfDocument.numPages,\n            pageSize: pageSize,\n            linearized: isLinearized,\n            _currentPageNumber: currentPageNumber,\n            _pagesRotation: pagesRotation\n          });\n\n          _this2._updateUI();\n\n          return _this2.pdfDocument.getDownloadInfo();\n        }).then(function (_ref5) {\n          var length = _ref5.length;\n          _this2.maybeFileSize = length;\n          return _this2._parseFileSize(length);\n        }).then(function (fileSize) {\n          if (fileSize === _this2.fieldData[\"fileSize\"]) {\n            return;\n          }\n\n          var data = Object.assign(Object.create(null), _this2.fieldData);\n          data[\"fileSize\"] = fileSize;\n          freezeFieldData(data);\n\n          _this2._updateUI();\n        });\n      });\n    }\n  }, {\n    key: \"close\",\n    value: function close() {\n      this.overlayManager.close(this.overlayName);\n    }\n  }, {\n    key: \"setDocument\",\n    value: function setDocument(pdfDocument) {\n      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      if (this.pdfDocument) {\n        this._reset();\n\n        this._updateUI(true);\n      }\n\n      if (!pdfDocument) {\n        return;\n      }\n\n      this.pdfDocument = pdfDocument;\n      this.url = url;\n\n      this._dataAvailableCapability.resolve();\n    }\n  }, {\n    key: \"setFileSize\",\n    value: function setFileSize(fileSize) {\n      if (Number.isInteger(fileSize) && fileSize > 0) {\n        this.maybeFileSize = fileSize;\n      }\n    }\n  }, {\n    key: \"_reset\",\n    value: function _reset() {\n      this.pdfDocument = null;\n      this.url = null;\n      this.maybeFileSize = 0;\n      delete this.fieldData;\n      this._dataAvailableCapability = (0, _pdf.createPromiseCapability)();\n      this._currentPageNumber = 1;\n      this._pagesRotation = 0;\n    }\n  }, {\n    key: \"_updateUI\",\n    value: function _updateUI() {\n      var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (reset || !this.fieldData) {\n        for (var id in this.fields) {\n          this.fields[id].textContent = DEFAULT_FIELD_CONTENT;\n        }\n\n        return;\n      }\n\n      if (this.overlayManager.active !== this.overlayName) {\n        return;\n      }\n\n      for (var _id in this.fields) {\n        var content = this.fieldData[_id];\n        this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;\n      }\n    }\n  }, {\n    key: \"_parseFileSize\",\n    value: function () {\n      var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var fileSize,\n            kb,\n            _args = arguments;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                fileSize = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;\n                kb = fileSize / 1024;\n\n                if (kb) {\n                  _context.next = 6;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", undefined);\n\n              case 6:\n                if (!(kb < 1024)) {\n                  _context.next = 8;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", this.l10n.get(\"document_properties_kb\", {\n                  size_kb: (+kb.toPrecision(3)).toLocaleString(),\n                  size_b: fileSize.toLocaleString()\n                }, \"{{size_kb}} KB ({{size_b}} bytes)\"));\n\n              case 8:\n                return _context.abrupt(\"return\", this.l10n.get(\"document_properties_mb\", {\n                  size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),\n                  size_b: fileSize.toLocaleString()\n                }, \"{{size_mb}} MB ({{size_b}} bytes)\"));\n\n              case 9:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _parseFileSize() {\n        return _parseFileSize2.apply(this, arguments);\n      }\n\n      return _parseFileSize;\n    }()\n  }, {\n    key: \"_parsePageSize\",\n    value: function () {\n      var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(pageSizeInches, pagesRotation) {\n        var _this3 = this;\n\n        var isPortrait, sizeInches, sizeMillimeters, pageName, rawName, exactMillimeters, intMillimeters;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                if (pageSizeInches) {\n                  _context2.next = 2;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", undefined);\n\n              case 2:\n                if (pagesRotation % 180 !== 0) {\n                  pageSizeInches = {\n                    width: pageSizeInches.height,\n                    height: pageSizeInches.width\n                  };\n                }\n\n                isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);\n                sizeInches = {\n                  width: Math.round(pageSizeInches.width * 100) / 100,\n                  height: Math.round(pageSizeInches.height * 100) / 100\n                };\n                sizeMillimeters = {\n                  width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,\n                  height: Math.round(pageSizeInches.height * 25.4 * 10) / 10\n                };\n                pageName = null;\n                rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);\n\n                if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {\n                  exactMillimeters = {\n                    width: pageSizeInches.width * 25.4,\n                    height: pageSizeInches.height * 25.4\n                  };\n                  intMillimeters = {\n                    width: Math.round(sizeMillimeters.width),\n                    height: Math.round(sizeMillimeters.height)\n                  };\n\n                  if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {\n                    rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);\n\n                    if (rawName) {\n                      sizeInches = {\n                        width: Math.round(intMillimeters.width / 25.4 * 100) / 100,\n                        height: Math.round(intMillimeters.height / 25.4 * 100) / 100\n                      };\n                      sizeMillimeters = intMillimeters;\n                    }\n                  }\n                }\n\n                if (rawName) {\n                  pageName = this.l10n.get(\"document_properties_page_size_name_\" + rawName.toLowerCase(), null, rawName);\n                }\n\n                return _context2.abrupt(\"return\", Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get(\"document_properties_page_size_unit_\" + (this._isNonMetricLocale ? \"inches\" : \"millimeters\"), null, this._isNonMetricLocale ? \"in\" : \"mm\"), pageName, this.l10n.get(\"document_properties_page_size_orientation_\" + (isPortrait ? \"portrait\" : \"landscape\"), null, isPortrait ? \"portrait\" : \"landscape\")]).then(function (_ref6) {\n                  var _ref7 = _slicedToArray(_ref6, 4),\n                      _ref7$ = _ref7[0],\n                      width = _ref7$.width,\n                      height = _ref7$.height,\n                      unit = _ref7[1],\n                      name = _ref7[2],\n                      orientation = _ref7[3];\n\n                  return _this3.l10n.get(\"document_properties_page_size_dimension_\" + (name ? \"name_\" : \"\") + \"string\", {\n                    width: width.toLocaleString(),\n                    height: height.toLocaleString(),\n                    unit: unit,\n                    name: name,\n                    orientation: orientation\n                  }, \"{{width}} × {{height}} {{unit}} (\" + (name ? \"{{name}}, \" : \"\") + \"{{orientation}})\");\n                }));\n\n              case 11:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function _parsePageSize(_x, _x2) {\n        return _parsePageSize2.apply(this, arguments);\n      }\n\n      return _parsePageSize;\n    }()\n  }, {\n    key: \"_parseDate\",\n    value: function () {\n      var _parseDate2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(inputDate) {\n        var dateObject;\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                dateObject = _pdf.PDFDateString.toDateObject(inputDate);\n\n                if (dateObject) {\n                  _context3.next = 3;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 3:\n                return _context3.abrupt(\"return\", this.l10n.get(\"document_properties_date_string\", {\n                  date: dateObject.toLocaleDateString(),\n                  time: dateObject.toLocaleTimeString()\n                }, \"{{date}}, {{time}}\"));\n\n              case 4:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function _parseDate(_x3) {\n        return _parseDate2.apply(this, arguments);\n      }\n\n      return _parseDate;\n    }()\n  }, {\n    key: \"_parseLinearization\",\n    value: function _parseLinearization(isLinearized) {\n      return this.l10n.get(\"document_properties_linearized_\" + (isLinearized ? \"yes\" : \"no\"), null, isLinearized ? \"Yes\" : \"No\");\n    }\n  }]);\n\n  return PDFDocumentProperties;\n}();\n\nexports.PDFDocumentProperties = PDFDocumentProperties;\n\n/***/ }),\n\n/***/ \"170b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar speciesConstructor = __webpack_require__(\"4840\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n  var O = aTypedArray(this);\n  var length = O.length;\n  var beginIndex = toAbsoluteIndex(begin, length);\n  return new (speciesConstructor(O, O.constructor))(\n    O.buffer,\n    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n  );\n});\n\n\n/***/ }),\n\n/***/ \"17c2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $forEach = __webpack_require__(\"b727\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n/***/ }),\n\n/***/ \"182d\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toPositiveInteger = __webpack_require__(\"f8cd\");\n\nmodule.exports = function (it, BYTES) {\n  var offset = toPositiveInteger(it);\n  if (offset % BYTES) throw RangeError('Wrong offset');\n  return offset;\n};\n\n\n/***/ }),\n\n/***/ \"18a5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar createHTML = __webpack_require__(\"857a\");\nvar forcedStringHTMLMethod = __webpack_require__(\"af03\");\n\n// `String.prototype.anchor` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n  anchor: function anchor(name) {\n    return createHTML(this, 'a', 'name', name);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"19aa\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n\n\n/***/ }),\n\n/***/ \"1be4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ \"1c0b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n\n\n/***/ }),\n\n/***/ \"1c7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n\n/***/ \"1cdc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar userAgent = __webpack_require__(\"342f\");\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n\n/***/ }),\n\n/***/ \"1d80\":\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"1db6\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAARElEQVR4AWMgDrzofXEGBbYxvBB7cQhJYPcLAZC6MCQhN4hWphfzoQJ9CPNUX5wACux/IYpsSTZQyB/VXrYXFS8YIWwAuoI/FPk23zUAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"1dda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n  if (!bbox || typeof Path2D === \"undefined\") {\n    return;\n  }\n\n  var width = bbox[2] - bbox[0];\n  var height = bbox[3] - bbox[1];\n  var region = new Path2D();\n  region.rect(bbox[0], bbox[1], width, height);\n  ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n  fromIR: function RadialAxial_fromIR(raw) {\n    var type = raw[1];\n    var bbox = raw[2];\n    var colorStops = raw[3];\n    var p0 = raw[4];\n    var p1 = raw[5];\n    var r0 = raw[6];\n    var r1 = raw[7];\n    return {\n      type: \"Pattern\",\n      getPattern: function RadialAxial_getPattern(ctx) {\n        applyBoundingBox(ctx, bbox);\n        var grad;\n\n        if (type === \"axial\") {\n          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n        } else if (type === \"radial\") {\n          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n        }\n\n        for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n          var c = colorStops[i];\n          grad.addColorStop(c[0], c[1]);\n        }\n\n        return grad;\n      }\n    };\n  }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n    var coords = context.coords,\n        colors = context.colors;\n    var bytes = data.data,\n        rowSize = data.width * 4;\n    var tmp;\n\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n\n    if (coords[p2 + 1] > coords[p3 + 1]) {\n      tmp = p2;\n      p2 = p3;\n      p3 = tmp;\n      tmp = c2;\n      c2 = c3;\n      c3 = tmp;\n    }\n\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n\n    var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n    var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n    var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n    if (y1 >= y3) {\n      return;\n    }\n\n    var c1r = colors[c1],\n        c1g = colors[c1 + 1],\n        c1b = colors[c1 + 2];\n    var c2r = colors[c2],\n        c2g = colors[c2 + 1],\n        c2b = colors[c2 + 2];\n    var c3r = colors[c3],\n        c3g = colors[c3 + 1],\n        c3b = colors[c3 + 2];\n    var minY = Math.round(y1),\n        maxY = Math.round(y3);\n    var xa, car, cag, cab;\n    var xb, cbr, cbg, cbb;\n\n    for (var y = minY; y <= maxY; y++) {\n      if (y < y2) {\n        var _k = void 0;\n\n        if (y < y1) {\n          _k = 0;\n        } else if (y1 === y2) {\n          _k = 1;\n        } else {\n          _k = (y1 - y) / (y1 - y2);\n        }\n\n        xa = x1 - (x1 - x2) * _k;\n        car = c1r - (c1r - c2r) * _k;\n        cag = c1g - (c1g - c2g) * _k;\n        cab = c1b - (c1b - c2b) * _k;\n      } else {\n        var _k2 = void 0;\n\n        if (y > y3) {\n          _k2 = 1;\n        } else if (y2 === y3) {\n          _k2 = 0;\n        } else {\n          _k2 = (y2 - y) / (y2 - y3);\n        }\n\n        xa = x2 - (x2 - x3) * _k2;\n        car = c2r - (c2r - c3r) * _k2;\n        cag = c2g - (c2g - c3g) * _k2;\n        cab = c2b - (c2b - c3b) * _k2;\n      }\n\n      var k = void 0;\n\n      if (y < y1) {\n        k = 0;\n      } else if (y > y3) {\n        k = 1;\n      } else {\n        k = (y1 - y) / (y1 - y3);\n      }\n\n      xb = x1 - (x1 - x3) * k;\n      cbr = c1r - (c1r - c3r) * k;\n      cbg = c1g - (c1g - c3g) * k;\n      cbb = c1b - (c1b - c3b) * k;\n      var x1_ = Math.round(Math.min(xa, xb));\n      var x2_ = Math.round(Math.max(xa, xb));\n      var j = rowSize * y + x1_ * 4;\n\n      for (var x = x1_; x <= x2_; x++) {\n        var _k3 = (xa - x) / (xa - xb);\n\n        if (_k3 < 0) {\n          _k3 = 0;\n        } else if (_k3 > 1) {\n          _k3 = 1;\n        }\n\n        bytes[j++] = car - (car - cbr) * _k3 | 0;\n        bytes[j++] = cag - (cag - cbg) * _k3 | 0;\n        bytes[j++] = cab - (cab - cbb) * _k3 | 0;\n        bytes[j++] = 255;\n      }\n    }\n  }\n\n  function drawFigure(data, figure, context) {\n    var ps = figure.coords;\n    var cs = figure.colors;\n    var i, ii;\n\n    switch (figure.type) {\n      case \"lattice\":\n        var verticesPerRow = figure.verticesPerRow;\n        var rows = Math.floor(ps.length / verticesPerRow) - 1;\n        var cols = verticesPerRow - 1;\n\n        for (i = 0; i < rows; i++) {\n          var q = i * verticesPerRow;\n\n          for (var j = 0; j < cols; j++, q++) {\n            drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n            drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n          }\n        }\n\n        break;\n\n      case \"triangles\":\n        for (i = 0, ii = ps.length; i < ii; i += 3) {\n          drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n        }\n\n        break;\n\n      default:\n        throw new Error(\"illegal figure\");\n    }\n  }\n\n  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n    var EXPECTED_SCALE = 1.1;\n    var MAX_PATTERN_SIZE = 3000;\n    var BORDER_SIZE = 2;\n    var offsetX = Math.floor(bounds[0]);\n    var offsetY = Math.floor(bounds[1]);\n    var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n    var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n    var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n    var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n    var scaleX = boundsWidth / width;\n    var scaleY = boundsHeight / height;\n    var context = {\n      coords: coords,\n      colors: colors,\n      offsetX: -offsetX,\n      offsetY: -offsetY,\n      scaleX: 1 / scaleX,\n      scaleY: 1 / scaleY\n    };\n    var paddedWidth = width + BORDER_SIZE * 2;\n    var paddedHeight = height + BORDER_SIZE * 2;\n    var canvas, tmpCanvas, i, ii;\n\n    if (webGLContext.isEnabled) {\n      canvas = webGLContext.drawFigures({\n        width: width,\n        height: height,\n        backgroundColor: backgroundColor,\n        figures: figures,\n        context: context\n      });\n      tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    } else {\n      tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n      var tmpCtx = tmpCanvas.context;\n      var data = tmpCtx.createImageData(width, height);\n\n      if (backgroundColor) {\n        var bytes = data.data;\n\n        for (i = 0, ii = bytes.length; i < ii; i += 4) {\n          bytes[i] = backgroundColor[0];\n          bytes[i + 1] = backgroundColor[1];\n          bytes[i + 2] = backgroundColor[2];\n          bytes[i + 3] = 255;\n        }\n      }\n\n      for (i = 0; i < figures.length; i++) {\n        drawFigure(data, figures[i], context);\n      }\n\n      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    }\n\n    return {\n      canvas: canvas,\n      offsetX: offsetX - BORDER_SIZE * scaleX,\n      offsetY: offsetY - BORDER_SIZE * scaleY,\n      scaleX: scaleX,\n      scaleY: scaleY\n    };\n  }\n\n  return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n  fromIR: function Mesh_fromIR(raw) {\n    var coords = raw[2];\n    var colors = raw[3];\n    var figures = raw[4];\n    var bounds = raw[5];\n    var matrix = raw[6];\n    var bbox = raw[7];\n    var background = raw[8];\n    return {\n      type: \"Pattern\",\n      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n        applyBoundingBox(ctx, bbox);\n        var scale;\n\n        if (shadingFill) {\n          scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n        } else {\n          scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n          if (matrix) {\n            var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n          }\n        }\n\n        var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n        if (!shadingFill) {\n          ctx.setTransform.apply(ctx, owner.baseTransform);\n\n          if (matrix) {\n            ctx.transform.apply(ctx, matrix);\n          }\n        }\n\n        ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n        return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n      }\n    };\n  }\n};\nShadingIRs.Dummy = {\n  fromIR: function Dummy_fromIR() {\n    return {\n      type: \"Pattern\",\n      getPattern: function Dummy_fromIR_getPattern() {\n        return \"hotpink\";\n      }\n    };\n  }\n};\n\nfunction getShadingPatternFromIR(raw) {\n  var shadingIR = ShadingIRs[raw[0]];\n\n  if (!shadingIR) {\n    throw new Error(\"Unknown IR type: \".concat(raw[0]));\n  }\n\n  return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n  var PaintType = {\n    COLORED: 1,\n    UNCOLORED: 2\n  };\n  var MAX_PATTERN_SIZE = 3000;\n\n  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n    this.operatorList = IR[2];\n    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n    this.bbox = IR[4];\n    this.xstep = IR[5];\n    this.ystep = IR[6];\n    this.paintType = IR[7];\n    this.tilingType = IR[8];\n    this.color = color;\n    this.canvasGraphicsFactory = canvasGraphicsFactory;\n    this.baseTransform = baseTransform;\n    this.type = \"Pattern\";\n    this.ctx = ctx;\n  }\n\n  TilingPattern.prototype = {\n    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n      var operatorList = this.operatorList;\n      var bbox = this.bbox;\n      var xstep = this.xstep;\n      var ystep = this.ystep;\n      var paintType = this.paintType;\n      var tilingType = this.tilingType;\n      var color = this.color;\n      var canvasGraphicsFactory = this.canvasGraphicsFactory;\n      (0, _util.info)(\"TilingType: \" + tilingType);\n      var x0 = bbox[0],\n          y0 = bbox[1],\n          x1 = bbox[2],\n          y1 = bbox[3];\n\n      var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n      var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n      var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n      var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n      var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n      var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n      var tmpCtx = tmpCanvas.context;\n      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n      graphics.groupLevel = owner.groupLevel;\n      this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n      graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n      graphics.transform(1, 0, 0, 1, -x0, -y0);\n      this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n      graphics.executeOperatorList(operatorList);\n      this.ctx.transform(1, 0, 0, 1, x0, y0);\n      this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n      return tmpCanvas.canvas;\n    },\n    getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n      step = Math.abs(step);\n      var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n      var size = Math.ceil(step * scale);\n\n      if (size >= maxSize) {\n        size = maxSize;\n      } else {\n        scale = size / step;\n      }\n\n      return {\n        scale: scale,\n        size: size\n      };\n    },\n    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n      if (Array.isArray(bbox) && bbox.length === 4) {\n        var bboxWidth = x1 - x0;\n        var bboxHeight = y1 - y0;\n        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n        graphics.clip();\n        graphics.endPath();\n      }\n    },\n    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n      var context = graphics.ctx,\n          current = graphics.current;\n\n      switch (paintType) {\n        case PaintType.COLORED:\n          var ctx = this.ctx;\n          context.fillStyle = ctx.fillStyle;\n          context.strokeStyle = ctx.strokeStyle;\n          current.fillColor = ctx.fillStyle;\n          current.strokeColor = ctx.strokeStyle;\n          break;\n\n        case PaintType.UNCOLORED:\n          var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n          context.fillStyle = cssColor;\n          context.strokeStyle = cssColor;\n          current.fillColor = cssColor;\n          current.strokeColor = cssColor;\n          break;\n\n        default:\n          throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n      }\n    },\n    getPattern: function TilingPattern_getPattern(ctx, owner) {\n      ctx = this.ctx;\n      ctx.setTransform.apply(ctx, this.baseTransform);\n      ctx.transform.apply(ctx, this.matrix);\n      var temporaryPatternCanvas = this.createPatternCanvas(owner);\n      return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n    }\n  };\n  return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n\n/***/ \"1dde\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n\n\n/***/ }),\n\n/***/ \"1de5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = url && url.__esModule ? url.default : url;\n\n  if (typeof url !== 'string') {\n    return url;\n  } // If url is already wrapped in quotes, remove them\n\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    // eslint-disable-next-line no-param-reassign\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n  }\n\n  return url;\n};\n\n/***/ }),\n\n/***/ \"1fb5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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(\n      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n    ))\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\n\n/***/ }),\n\n/***/ \"1fe2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar collection = __webpack_require__(\"6d61\");\nvar collectionWeak = __webpack_require__(\"acac\");\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"219c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n  return $sort.call(aTypedArray(this), comparefn);\n});\n\n\n/***/ }),\n\n/***/ \"2236\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayLikeToArray = __webpack_require__(\"5a43\");\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\n\n/***/ }),\n\n/***/ \"2242\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAR0lEQVQI12NgYHgx6YUSAyp4cebFyRc1L0RQhUDw0IukF+yoQiC45YXvCyZUIRAsQhVa/8IRWeP+FzEvWJFtLH8hgGwjmrsAP6JHRnPnejIAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"2266\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar isArrayIteratorMethod = __webpack_require__(\"e95a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar bind = __webpack_require__(\"0366\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\nvar callWithSafeIterationClosing = __webpack_require__(\"9bdd\");\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n  var iterator, iterFn, index, length, result, next, step;\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = AS_ENTRIES\n          ? boundFunction(anObject(step = iterable[index])[0], step[1])\n          : boundFunction(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\niterate.stop = function (result) {\n  return new Result(true, result);\n};\n\n\n/***/ }),\n\n/***/ \"23cb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ \"23dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar setToStringTag = __webpack_require__(\"d44e\");\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n\n\n/***/ }),\n\n/***/ \"23e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar copyConstructorProperties = __webpack_require__(\"e893\");\nvar isForced = __webpack_require__(\"94ca\");\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty === typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n\n\n/***/ }),\n\n/***/ \"241c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"24fb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}\n\n/***/ }),\n\n/***/ \"2532\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar notARegExp = __webpack_require__(\"5a34\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar correctIsRegExpLogic = __webpack_require__(\"ab13\");\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~String(requireObjectCoercible(this))\n      .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"25a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $reduceRight = __webpack_require__(\"d58f\").right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n  return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"25f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefine = __webpack_require__(\"6eeb\");\nvar anObject = __webpack_require__(\"825a\");\nvar fails = __webpack_require__(\"d039\");\nvar flags = __webpack_require__(\"ad6d\");\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  redefine(RegExp.prototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var p = String(R.source);\n    var rf = R.flags;\n    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n    return '/' + p + '/' + f;\n  }, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ \"2626\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n  var defineProperty = definePropertyModule.f;\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineProperty(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n\n\n/***/ }),\n\n/***/ \"278c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayWithHoles = __webpack_require__(\"c135\");\n\nvar iterableToArrayLimit = __webpack_require__(\"9b42\");\n\nvar unsupportedIterableToArray = __webpack_require__(\"6613\");\n\nvar nonIterableRest = __webpack_require__(\"c240\");\n\nfunction _slicedToArray(arr, i) {\n  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\n\n/***/ }),\n\n/***/ \"2954\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar speciesConstructor = __webpack_require__(\"4840\");\nvar fails = __webpack_require__(\"d039\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n  // eslint-disable-next-line no-undef\n  new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n  var list = $slice.call(aTypedArray(this), start, end);\n  var C = speciesConstructor(this, this.constructor);\n  var index = 0;\n  var length = list.length;\n  var result = new (aTypedArrayConstructor(C))(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n}, FORCED);\n\n\n/***/ }),\n\n/***/ \"2a8b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _get = __webpack_require__(\"8962\");\n\nvar _getPrototypeOf = __webpack_require__(\"36c6\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __webpack_require__(\"3b56\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar PDFViewer = /*#__PURE__*/function (_base_viewer$BaseView) {\n  _inherits(PDFViewer, _base_viewer$BaseView);\n\n  var _super = _createSuper(PDFViewer);\n\n  function PDFViewer() {\n    _classCallCheck(this, PDFViewer);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(PDFViewer, [{\n    key: \"_scrollIntoView\",\n    value: function _scrollIntoView(_ref) {\n      var pageDiv = _ref.pageDiv,\n          _ref$pageSpot = _ref.pageSpot,\n          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n          _ref$pageNumber = _ref.pageNumber,\n          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n      if (!pageSpot && !this.isInPresentationMode) {\n        var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n        var right = left + pageDiv.clientWidth;\n        var _this$container = this.container,\n            scrollLeft = _this$container.scrollLeft,\n            clientWidth = _this$container.clientWidth;\n\n        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n          pageSpot = {\n            left: 0,\n            top: 0\n          };\n        }\n      }\n\n      _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n        pageDiv: pageDiv,\n        pageSpot: pageSpot,\n        pageNumber: pageNumber\n      });\n    }\n  }, {\n    key: \"_getVisiblePages\",\n    value: function _getVisiblePages() {\n      if (this.isInPresentationMode) {\n        return this._getCurrentVisiblePage();\n      }\n\n      return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n    }\n  }, {\n    key: \"_updateHelper\",\n    value: function _updateHelper(visiblePages) {\n      if (this.isInPresentationMode) {\n        return;\n      }\n\n      var currentId = this._currentPageNumber;\n      var stillFullyVisible = false;\n\n      var _iterator = _createForOfIteratorHelper(visiblePages),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var page = _step.value;\n\n          if (page.percent < 100) {\n            break;\n          }\n\n          if (page.id === currentId) {\n            stillFullyVisible = true;\n            break;\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      if (!stillFullyVisible) {\n        currentId = visiblePages[0].id;\n      }\n\n      this._setCurrentPageNumber(currentId);\n    }\n  }, {\n    key: \"_setDocumentViewerElement\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"_setDocumentViewerElement\", this.viewer);\n    }\n  }]);\n\n  return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ }),\n\n/***/ \"2b3d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(\"3ca3\");\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar USE_NATIVE_URL = __webpack_require__(\"0d3b\");\nvar global = __webpack_require__(\"da84\");\nvar defineProperties = __webpack_require__(\"37e8\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar has = __webpack_require__(\"5135\");\nvar assign = __webpack_require__(\"60da\");\nvar arrayFrom = __webpack_require__(\"4df4\");\nvar codeAt = __webpack_require__(\"6547\").codeAt;\nvar toASCII = __webpack_require__(\"5fb2\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar URLSearchParamsModule = __webpack_require__(\"9861\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n  var result, codePoints, index;\n  if (input.charAt(0) == '[') {\n    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n    result = parseIPv6(input.slice(1, -1));\n    if (!result) return INVALID_HOST;\n    url.host = result;\n  // opaque host\n  } else if (!isSpecial(url)) {\n    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n    result = '';\n    codePoints = arrayFrom(input);\n    for (index = 0; index < codePoints.length; index++) {\n      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n    }\n    url.host = result;\n  } else {\n    input = toASCII(input);\n    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n    result = parseIPv4(input);\n    if (result === null) return INVALID_HOST;\n    url.host = result;\n  }\n};\n\nvar parseIPv4 = function (input) {\n  var parts = input.split('.');\n  var partsLength, numbers, index, part, radix, number, ipv4;\n  if (parts.length && parts[parts.length - 1] == '') {\n    parts.pop();\n  }\n  partsLength = parts.length;\n  if (partsLength > 4) return input;\n  numbers = [];\n  for (index = 0; index < partsLength; index++) {\n    part = parts[index];\n    if (part == '') return input;\n    radix = 10;\n    if (part.length > 1 && part.charAt(0) == '0') {\n      radix = HEX_START.test(part) ? 16 : 8;\n      part = part.slice(radix == 8 ? 1 : 2);\n    }\n    if (part === '') {\n      number = 0;\n    } else {\n      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n      number = parseInt(part, radix);\n    }\n    numbers.push(number);\n  }\n  for (index = 0; index < partsLength; index++) {\n    number = numbers[index];\n    if (index == partsLength - 1) {\n      if (number >= pow(256, 5 - partsLength)) return null;\n    } else if (number > 255) return null;\n  }\n  ipv4 = numbers.pop();\n  for (index = 0; index < numbers.length; index++) {\n    ipv4 += numbers[index] * pow(256, 3 - index);\n  }\n  return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n  var address = [0, 0, 0, 0, 0, 0, 0, 0];\n  var pieceIndex = 0;\n  var compress = null;\n  var pointer = 0;\n  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n  var char = function () {\n    return input.charAt(pointer);\n  };\n\n  if (char() == ':') {\n    if (input.charAt(1) != ':') return;\n    pointer += 2;\n    pieceIndex++;\n    compress = pieceIndex;\n  }\n  while (char()) {\n    if (pieceIndex == 8) return;\n    if (char() == ':') {\n      if (compress !== null) return;\n      pointer++;\n      pieceIndex++;\n      compress = pieceIndex;\n      continue;\n    }\n    value = length = 0;\n    while (length < 4 && HEX.test(char())) {\n      value = value * 16 + parseInt(char(), 16);\n      pointer++;\n      length++;\n    }\n    if (char() == '.') {\n      if (length == 0) return;\n      pointer -= length;\n      if (pieceIndex > 6) return;\n      numbersSeen = 0;\n      while (char()) {\n        ipv4Piece = null;\n        if (numbersSeen > 0) {\n          if (char() == '.' && numbersSeen < 4) pointer++;\n          else return;\n        }\n        if (!DIGIT.test(char())) return;\n        while (DIGIT.test(char())) {\n          number = parseInt(char(), 10);\n          if (ipv4Piece === null) ipv4Piece = number;\n          else if (ipv4Piece == 0) return;\n          else ipv4Piece = ipv4Piece * 10 + number;\n          if (ipv4Piece > 255) return;\n          pointer++;\n        }\n        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n        numbersSeen++;\n        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n      }\n      if (numbersSeen != 4) return;\n      break;\n    } else if (char() == ':') {\n      pointer++;\n      if (!char()) return;\n    } else if (char()) return;\n    address[pieceIndex++] = value;\n  }\n  if (compress !== null) {\n    swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex != 0 && swaps > 0) {\n      swap = address[pieceIndex];\n      address[pieceIndex--] = address[compress + swaps - 1];\n      address[compress + --swaps] = swap;\n    }\n  } else if (pieceIndex != 8) return;\n  return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n  var maxIndex = null;\n  var maxLength = 1;\n  var currStart = null;\n  var currLength = 0;\n  var index = 0;\n  for (; index < 8; index++) {\n    if (ipv6[index] !== 0) {\n      if (currLength > maxLength) {\n        maxIndex = currStart;\n        maxLength = currLength;\n      }\n      currStart = null;\n      currLength = 0;\n    } else {\n      if (currStart === null) currStart = index;\n      ++currLength;\n    }\n  }\n  if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n  }\n  return maxIndex;\n};\n\nvar serializeHost = function (host) {\n  var result, index, compress, ignore0;\n  // ipv4\n  if (typeof host == 'number') {\n    result = [];\n    for (index = 0; index < 4; index++) {\n      result.unshift(host % 256);\n      host = floor(host / 256);\n    } return result.join('.');\n  // ipv6\n  } else if (typeof host == 'object') {\n    result = '';\n    compress = findLongestZeroSequence(host);\n    for (index = 0; index < 8; index++) {\n      if (ignore0 && host[index] === 0) continue;\n      if (ignore0) ignore0 = false;\n      if (compress === index) {\n        result += index ? ':' : '::';\n        ignore0 = true;\n      } else {\n        result += host[index].toString(16);\n        if (index < 7) result += ':';\n      }\n    }\n    return '[' + result + ']';\n  } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n  ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n  '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n  var code = codeAt(char, 0);\n  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\nvar isSpecial = function (url) {\n  return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n  return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n  var second;\n  return string.length == 2 && ALPHA.test(string.charAt(0))\n    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n  var third;\n  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n    string.length == 2 ||\n    ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n  );\n};\n\nvar shortenURLsPath = function (url) {\n  var path = url.path;\n  var pathSize = path.length;\n  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n    path.pop();\n  }\n};\n\nvar isSingleDot = function (segment) {\n  return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n  segment = segment.toLowerCase();\n  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n  var state = stateOverride || SCHEME_START;\n  var pointer = 0;\n  var buffer = '';\n  var seenAt = false;\n  var seenBracket = false;\n  var seenPasswordToken = false;\n  var codePoints, char, bufferCodePoints, failure;\n\n  if (!stateOverride) {\n    url.scheme = '';\n    url.username = '';\n    url.password = '';\n    url.host = null;\n    url.port = null;\n    url.path = [];\n    url.query = null;\n    url.fragment = null;\n    url.cannotBeABaseURL = false;\n    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n  }\n\n  input = input.replace(TAB_AND_NEW_LINE, '');\n\n  codePoints = arrayFrom(input);\n\n  while (pointer <= codePoints.length) {\n    char = codePoints[pointer];\n    switch (state) {\n      case SCHEME_START:\n        if (char && ALPHA.test(char)) {\n          buffer += char.toLowerCase();\n          state = SCHEME;\n        } else if (!stateOverride) {\n          state = NO_SCHEME;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case SCHEME:\n        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n          buffer += char.toLowerCase();\n        } else if (char == ':') {\n          if (stateOverride && (\n            (isSpecial(url) != has(specialSchemes, buffer)) ||\n            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n            (url.scheme == 'file' && !url.host)\n          )) return;\n          url.scheme = buffer;\n          if (stateOverride) {\n            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n            return;\n          }\n          buffer = '';\n          if (url.scheme == 'file') {\n            state = FILE;\n          } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n            state = SPECIAL_RELATIVE_OR_AUTHORITY;\n          } else if (isSpecial(url)) {\n            state = SPECIAL_AUTHORITY_SLASHES;\n          } else if (codePoints[pointer + 1] == '/') {\n            state = PATH_OR_AUTHORITY;\n            pointer++;\n          } else {\n            url.cannotBeABaseURL = true;\n            url.path.push('');\n            state = CANNOT_BE_A_BASE_URL_PATH;\n          }\n        } else if (!stateOverride) {\n          buffer = '';\n          state = NO_SCHEME;\n          pointer = 0;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case NO_SCHEME:\n        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n        if (base.cannotBeABaseURL && char == '#') {\n          url.scheme = base.scheme;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          url.cannotBeABaseURL = true;\n          state = FRAGMENT;\n          break;\n        }\n        state = base.scheme == 'file' ? FILE : RELATIVE;\n        continue;\n\n      case SPECIAL_RELATIVE_OR_AUTHORITY:\n        if (char == '/' && codePoints[pointer + 1] == '/') {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          pointer++;\n        } else {\n          state = RELATIVE;\n          continue;\n        } break;\n\n      case PATH_OR_AUTHORITY:\n        if (char == '/') {\n          state = AUTHORITY;\n          break;\n        } else {\n          state = PATH;\n          continue;\n        }\n\n      case RELATIVE:\n        url.scheme = base.scheme;\n        if (char == EOF) {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n        } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n          state = RELATIVE_SLASH;\n        } else if (char == '?') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          state = FRAGMENT;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.path.pop();\n          state = PATH;\n          continue;\n        } break;\n\n      case RELATIVE_SLASH:\n        if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        } else if (char == '/') {\n          state = AUTHORITY;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          state = PATH;\n          continue;\n        } break;\n\n      case SPECIAL_AUTHORITY_SLASHES:\n        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n        pointer++;\n        break;\n\n      case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n        if (char != '/' && char != '\\\\') {\n          state = AUTHORITY;\n          continue;\n        } break;\n\n      case AUTHORITY:\n        if (char == '@') {\n          if (seenAt) buffer = '%40' + buffer;\n          seenAt = true;\n          bufferCodePoints = arrayFrom(buffer);\n          for (var i = 0; i < bufferCodePoints.length; i++) {\n            var codePoint = bufferCodePoints[i];\n            if (codePoint == ':' && !seenPasswordToken) {\n              seenPasswordToken = true;\n              continue;\n            }\n            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n            if (seenPasswordToken) url.password += encodedCodePoints;\n            else url.username += encodedCodePoints;\n          }\n          buffer = '';\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (seenAt && buffer == '') return INVALID_AUTHORITY;\n          pointer -= arrayFrom(buffer).length + 1;\n          buffer = '';\n          state = HOST;\n        } else buffer += char;\n        break;\n\n      case HOST:\n      case HOSTNAME:\n        if (stateOverride && url.scheme == 'file') {\n          state = FILE_HOST;\n          continue;\n        } else if (char == ':' && !seenBracket) {\n          if (buffer == '') return INVALID_HOST;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PORT;\n          if (stateOverride == HOSTNAME) return;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (isSpecial(url) && buffer == '') return INVALID_HOST;\n          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PATH_START;\n          if (stateOverride) return;\n          continue;\n        } else {\n          if (char == '[') seenBracket = true;\n          else if (char == ']') seenBracket = false;\n          buffer += char;\n        } break;\n\n      case PORT:\n        if (DIGIT.test(char)) {\n          buffer += char;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          stateOverride\n        ) {\n          if (buffer != '') {\n            var port = parseInt(buffer, 10);\n            if (port > 0xFFFF) return INVALID_PORT;\n            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n            buffer = '';\n          }\n          if (stateOverride) return;\n          state = PATH_START;\n          continue;\n        } else return INVALID_PORT;\n        break;\n\n      case FILE:\n        url.scheme = 'file';\n        if (char == '/' || char == '\\\\') state = FILE_SLASH;\n        else if (base && base.scheme == 'file') {\n          if (char == EOF) {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n          } else if (char == '?') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n            url.fragment = '';\n            state = FRAGMENT;\n          } else {\n            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n              url.host = base.host;\n              url.path = base.path.slice();\n              shortenURLsPath(url);\n            }\n            state = PATH;\n            continue;\n          }\n        } else {\n          state = PATH;\n          continue;\n        } break;\n\n      case FILE_SLASH:\n        if (char == '/' || char == '\\\\') {\n          state = FILE_HOST;\n          break;\n        }\n        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n          else url.host = base.host;\n        }\n        state = PATH;\n        continue;\n\n      case FILE_HOST:\n        if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n          if (!stateOverride && isWindowsDriveLetter(buffer)) {\n            state = PATH;\n          } else if (buffer == '') {\n            url.host = '';\n            if (stateOverride) return;\n            state = PATH_START;\n          } else {\n            failure = parseHost(url, buffer);\n            if (failure) return failure;\n            if (url.host == 'localhost') url.host = '';\n            if (stateOverride) return;\n            buffer = '';\n            state = PATH_START;\n          } continue;\n        } else buffer += char;\n        break;\n\n      case PATH_START:\n        if (isSpecial(url)) {\n          state = PATH;\n          if (char != '/' && char != '\\\\') continue;\n        } else if (!stateOverride && char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          state = PATH;\n          if (char != '/') continue;\n        } break;\n\n      case PATH:\n        if (\n          char == EOF || char == '/' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          (!stateOverride && (char == '?' || char == '#'))\n        ) {\n          if (isDoubleDot(buffer)) {\n            shortenURLsPath(url);\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else if (isSingleDot(buffer)) {\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else {\n            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n              if (url.host) url.host = '';\n              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n            }\n            url.path.push(buffer);\n          }\n          buffer = '';\n          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n            while (url.path.length > 1 && url.path[0] === '') {\n              url.path.shift();\n            }\n          }\n          if (char == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          }\n        } else {\n          buffer += percentEncode(char, pathPercentEncodeSet);\n        } break;\n\n      case CANNOT_BE_A_BASE_URL_PATH:\n        if (char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case QUERY:\n        if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          if (char == \"'\" && isSpecial(url)) url.query += '%27';\n          else if (char == '#') url.query += '%23';\n          else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case FRAGMENT:\n        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n        break;\n    }\n\n    pointer++;\n  }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n  var that = anInstance(this, URLConstructor, 'URL');\n  var base = arguments.length > 1 ? arguments[1] : undefined;\n  var urlString = String(url);\n  var state = setInternalState(that, { type: 'URL' });\n  var baseState, failure;\n  if (base !== undefined) {\n    if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n    else {\n      failure = parseURL(baseState = {}, String(base));\n      if (failure) throw TypeError(failure);\n    }\n  }\n  failure = parseURL(state, urlString, null, baseState);\n  if (failure) throw TypeError(failure);\n  var searchParams = state.searchParams = new URLSearchParams();\n  var searchParamsState = getInternalSearchParamsState(searchParams);\n  searchParamsState.updateSearchParams(state.query);\n  searchParamsState.updateURL = function () {\n    state.query = String(searchParams) || null;\n  };\n  if (!DESCRIPTORS) {\n    that.href = serializeURL.call(that);\n    that.origin = getOrigin.call(that);\n    that.protocol = getProtocol.call(that);\n    that.username = getUsername.call(that);\n    that.password = getPassword.call(that);\n    that.host = getHost.call(that);\n    that.hostname = getHostname.call(that);\n    that.port = getPort.call(that);\n    that.pathname = getPathname.call(that);\n    that.search = getSearch.call(that);\n    that.searchParams = getSearchParams.call(that);\n    that.hash = getHash.call(that);\n  }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var username = url.username;\n  var password = url.password;\n  var host = url.host;\n  var port = url.port;\n  var path = url.path;\n  var query = url.query;\n  var fragment = url.fragment;\n  var output = scheme + ':';\n  if (host !== null) {\n    output += '//';\n    if (includesCredentials(url)) {\n      output += username + (password ? ':' + password : '') + '@';\n    }\n    output += serializeHost(host);\n    if (port !== null) output += ':' + port;\n  } else if (scheme == 'file') output += '//';\n  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n  if (query !== null) output += '?' + query;\n  if (fragment !== null) output += '#' + fragment;\n  return output;\n};\n\nvar getOrigin = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var port = url.port;\n  if (scheme == 'blob') try {\n    return new URL(scheme.path[0]).origin;\n  } catch (error) {\n    return 'null';\n  }\n  if (scheme == 'file' || !isSpecial(url)) return 'null';\n  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n  return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n  return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n  return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n  var url = getInternalURLState(this);\n  var host = url.host;\n  var port = url.port;\n  return host === null ? ''\n    : port === null ? serializeHost(host)\n    : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n  var host = getInternalURLState(this).host;\n  return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n  var port = getInternalURLState(this).port;\n  return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n  var url = getInternalURLState(this);\n  var path = url.path;\n  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n  var query = getInternalURLState(this).query;\n  return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n  return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n  var fragment = getInternalURLState(this).fragment;\n  return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n  return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n  defineProperties(URLPrototype, {\n    // `URL.prototype.href` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-href\n    href: accessorDescriptor(serializeURL, function (href) {\n      var url = getInternalURLState(this);\n      var urlString = String(href);\n      var failure = parseURL(url, urlString);\n      if (failure) throw TypeError(failure);\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.origin` getter\n    // https://url.spec.whatwg.org/#dom-url-origin\n    origin: accessorDescriptor(getOrigin),\n    // `URL.prototype.protocol` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-protocol\n    protocol: accessorDescriptor(getProtocol, function (protocol) {\n      var url = getInternalURLState(this);\n      parseURL(url, String(protocol) + ':', SCHEME_START);\n    }),\n    // `URL.prototype.username` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-username\n    username: accessorDescriptor(getUsername, function (username) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(username));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.username = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.password` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-password\n    password: accessorDescriptor(getPassword, function (password) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(password));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.password = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.host` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-host\n    host: accessorDescriptor(getHost, function (host) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(host), HOST);\n    }),\n    // `URL.prototype.hostname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hostname\n    hostname: accessorDescriptor(getHostname, function (hostname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(hostname), HOSTNAME);\n    }),\n    // `URL.prototype.port` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-port\n    port: accessorDescriptor(getPort, function (port) {\n      var url = getInternalURLState(this);\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      port = String(port);\n      if (port == '') url.port = null;\n      else parseURL(url, port, PORT);\n    }),\n    // `URL.prototype.pathname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-pathname\n    pathname: accessorDescriptor(getPathname, function (pathname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      url.path = [];\n      parseURL(url, pathname + '', PATH_START);\n    }),\n    // `URL.prototype.search` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-search\n    search: accessorDescriptor(getSearch, function (search) {\n      var url = getInternalURLState(this);\n      search = String(search);\n      if (search == '') {\n        url.query = null;\n      } else {\n        if ('?' == search.charAt(0)) search = search.slice(1);\n        url.query = '';\n        parseURL(url, search, QUERY);\n      }\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.searchParams` getter\n    // https://url.spec.whatwg.org/#dom-url-searchparams\n    searchParams: accessorDescriptor(getSearchParams),\n    // `URL.prototype.hash` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hash\n    hash: accessorDescriptor(getHash, function (hash) {\n      var url = getInternalURLState(this);\n      hash = String(hash);\n      if (hash == '') {\n        url.fragment = null;\n        return;\n      }\n      if ('#' == hash.charAt(0)) hash = hash.slice(1);\n      url.fragment = '';\n      parseURL(url, hash, FRAGMENT);\n    })\n  });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n  var nativeCreateObjectURL = NativeURL.createObjectURL;\n  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n  // `URL.createObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n    return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n  // `URL.revokeObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n    return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n  URL: URLConstructor\n});\n\n\n/***/ }),\n\n/***/ \"2ca0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar toLength = __webpack_require__(\"50c4\");\nvar notARegExp = __webpack_require__(\"5a34\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar correctIsRegExpLogic = __webpack_require__(\"ab13\");\nvar IS_PURE = __webpack_require__(\"c430\");\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return nativeStartsWith\n      ? nativeStartsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"2cf4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar fails = __webpack_require__(\"d039\");\nvar classof = __webpack_require__(\"c6b6\");\nvar bind = __webpack_require__(\"0366\");\nvar html = __webpack_require__(\"1be4\");\nvar createElement = __webpack_require__(\"cc12\");\nvar IS_IOS = __webpack_require__(\"1cdc\");\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar listener = function (event) {\n  run(event.data);\n};\n\nvar post = function (id) {\n  // old engines have not location.origin\n  global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (classof(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = bind(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    global.addEventListener &&\n    typeof postMessage == 'function' &&\n    !global.importScripts &&\n    !fails(post) &&\n    location.protocol !== 'file:'\n  ) {\n    defer = post;\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar userAgent = __webpack_require__(\"342f\");\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] + match[1];\n} else if (userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = match[1];\n  }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n\n/***/ \"2d0d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"4ae1\");\n\nvar getPrototypeOf = __webpack_require__(\"36c6\");\n\nvar isNativeReflectConstruct = __webpack_require__(\"6f8f\");\n\nvar possibleConstructorReturn = __webpack_require__(\"6b58\");\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = isNativeReflectConstruct();\n  return function _createSuperInternal() {\n    var Super = getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = getPrototypeOf(this).constructor;\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return possibleConstructorReturn(this, result);\n  };\n}\n\nmodule.exports = _createSuper;\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"317c\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a6d9\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);\n/* unused harmony reexport * */\n /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n/***/ }),\n\n/***/ \"3280\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $lastIndexOf = __webpack_require__(\"e58c\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n  return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ \"3410\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar nativeGetPrototypeOf = __webpack_require__(\"e163\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(\"e177\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n  getPrototypeOf: function getPrototypeOf(it) {\n    return nativeGetPrototypeOf(toObject(it));\n  }\n});\n\n\n\n/***/ }),\n\n/***/ \"342f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ \"345d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"cc71\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFOutlineViewer = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar DEFAULT_TITLE = \"\\u2013\";\n\nvar PDFOutlineViewer = /*#__PURE__*/function () {\n  function PDFOutlineViewer(_ref) {\n    var container = _ref.container,\n        linkService = _ref.linkService,\n        eventBus = _ref.eventBus;\n\n    _classCallCheck(this, PDFOutlineViewer);\n\n    this.container = container;\n    this.linkService = linkService;\n    this.eventBus = eventBus;\n    this.reset();\n\n    eventBus._on(\"toggleoutlinetree\", this.toggleOutlineTree.bind(this));\n  }\n\n  _createClass(PDFOutlineViewer, [{\n    key: \"reset\",\n    value: function reset() {\n      this.outline = null;\n      this.lastToggleIsShow = true;\n      this.container.textContent = \"\";\n      this.container.classList.remove(\"outlineWithDeepNesting\");\n    }\n  }, {\n    key: \"_dispatchEvent\",\n    value: function _dispatchEvent(outlineCount) {\n      this.eventBus.dispatch(\"outlineloaded\", {\n        source: this,\n        outlineCount: outlineCount\n      });\n    }\n  }, {\n    key: \"_bindLink\",\n    value: function _bindLink(element, _ref2) {\n      var url = _ref2.url,\n          newWindow = _ref2.newWindow,\n          dest = _ref2.dest;\n      var linkService = this.linkService;\n\n      if (url) {\n        (0, _pdf.addLinkAttributes)(element, {\n          url: url,\n          target: newWindow ? _pdf.LinkTarget.BLANK : linkService.externalLinkTarget,\n          rel: linkService.externalLinkRel,\n          enabled: linkService.externalLinkEnabled\n        });\n        return;\n      }\n\n      element.href = linkService.getDestinationHash(dest);\n\n      element.onclick = function () {\n        if (dest) {\n          linkService.navigateTo(dest);\n        }\n\n        return false;\n      };\n    }\n  }, {\n    key: \"_setStyles\",\n    value: function _setStyles(element, _ref3) {\n      var bold = _ref3.bold,\n          italic = _ref3.italic;\n\n      if (bold) {\n        element.style.fontWeight = \"bold\";\n      }\n\n      if (italic) {\n        element.style.fontStyle = \"italic\";\n      }\n    }\n  }, {\n    key: \"_addToggleButton\",\n    value: function _addToggleButton(div, _ref4) {\n      var _this = this;\n\n      var count = _ref4.count,\n          items = _ref4.items;\n      var toggler = document.createElement(\"div\");\n      toggler.className = \"outlineItemToggler\";\n\n      if (count < 0 && Math.abs(count) === items.length) {\n        toggler.classList.add(\"outlineItemsHidden\");\n      }\n\n      toggler.onclick = function (evt) {\n        evt.stopPropagation();\n        toggler.classList.toggle(\"outlineItemsHidden\");\n\n        if (evt.shiftKey) {\n          var shouldShowAll = !toggler.classList.contains(\"outlineItemsHidden\");\n\n          _this._toggleOutlineItem(div, shouldShowAll);\n        }\n      };\n\n      div.insertBefore(toggler, div.firstChild);\n    }\n  }, {\n    key: \"_toggleOutlineItem\",\n    value: function _toggleOutlineItem(root) {\n      var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      this.lastToggleIsShow = show;\n\n      var _iterator = _createForOfIteratorHelper(root.querySelectorAll(\".outlineItemToggler\")),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var toggler = _step.value;\n          toggler.classList.toggle(\"outlineItemsHidden\", !show);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n  }, {\n    key: \"toggleOutlineTree\",\n    value: function toggleOutlineTree() {\n      if (!this.outline) {\n        return;\n      }\n\n      this._toggleOutlineItem(this.container, !this.lastToggleIsShow);\n    }\n  }, {\n    key: \"render\",\n    value: function render(_ref5) {\n      var outline = _ref5.outline;\n      var outlineCount = 0;\n\n      if (this.outline) {\n        this.reset();\n      }\n\n      this.outline = outline || null;\n\n      if (!outline) {\n        this._dispatchEvent(outlineCount);\n\n        return;\n      }\n\n      var fragment = document.createDocumentFragment();\n      var queue = [{\n        parent: fragment,\n        items: this.outline\n      }];\n      var hasAnyNesting = false;\n\n      while (queue.length > 0) {\n        var levelData = queue.shift();\n\n        var _iterator2 = _createForOfIteratorHelper(levelData.items),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var item = _step2.value;\n            var div = document.createElement(\"div\");\n            div.className = \"outlineItem\";\n            var element = document.createElement(\"a\");\n\n            this._bindLink(element, item);\n\n            this._setStyles(element, item);\n\n            element.textContent = (0, _pdf.removeNullCharacters)(item.title) || DEFAULT_TITLE;\n            div.appendChild(element);\n\n            if (item.items.length > 0) {\n              hasAnyNesting = true;\n\n              this._addToggleButton(div, item);\n\n              var itemsDiv = document.createElement(\"div\");\n              itemsDiv.className = \"outlineItems\";\n              div.appendChild(itemsDiv);\n              queue.push({\n                parent: itemsDiv,\n                items: item.items\n              });\n            }\n\n            levelData.parent.appendChild(div);\n            outlineCount++;\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n      }\n\n      if (hasAnyNesting) {\n        this.container.classList.add(\"outlineWithDeepNesting\");\n        this.lastToggleIsShow = fragment.querySelectorAll(\".outlineItemsHidden\").length === 0;\n      }\n\n      this.container.appendChild(fragment);\n\n      this._dispatchEvent(outlineCount);\n    }\n  }]);\n\n  return PDFOutlineViewer;\n}();\n\nexports.PDFOutlineViewer = PDFOutlineViewer;\n\n/***/ }),\n\n/***/ \"35a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"f5df\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"3642\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _get = __webpack_require__(\"8962\");\n\nvar _getPrototypeOf = __webpack_require__(\"36c6\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __webpack_require__(\"3b56\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar PDFSinglePageViewer = /*#__PURE__*/function (_base_viewer$BaseView) {\n  _inherits(PDFSinglePageViewer, _base_viewer$BaseView);\n\n  var _super = _createSuper(PDFSinglePageViewer);\n\n  function PDFSinglePageViewer(options) {\n    var _this;\n\n    _classCallCheck(this, PDFSinglePageViewer);\n\n    _this = _super.call(this, options);\n\n    _this.eventBus._on(\"pagesinit\", function (evt) {\n      _this._ensurePageViewVisible();\n    });\n\n    return _this;\n  }\n\n  _createClass(PDFSinglePageViewer, [{\n    key: \"_resetView\",\n    value: function _resetView() {\n      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n      this._previousPageNumber = 1;\n      this._shadowViewer = document.createDocumentFragment();\n      this._updateScrollDown = null;\n    }\n  }, {\n    key: \"_ensurePageViewVisible\",\n    value: function _ensurePageViewVisible() {\n      var pageView = this._pages[this._currentPageNumber - 1];\n      var previousPageView = this._pages[this._previousPageNumber - 1];\n      var viewerNodes = this.viewer.childNodes;\n\n      switch (viewerNodes.length) {\n        case 0:\n          this.viewer.appendChild(pageView.div);\n          break;\n\n        case 1:\n          if (viewerNodes[0] !== previousPageView.div) {\n            throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n          }\n\n          if (pageView === previousPageView) {\n            break;\n          }\n\n          this._shadowViewer.appendChild(previousPageView.div);\n\n          this.viewer.appendChild(pageView.div);\n          this.container.scrollTop = 0;\n          break;\n\n        default:\n          throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n      }\n\n      this._previousPageNumber = this._currentPageNumber;\n    }\n  }, {\n    key: \"_scrollUpdate\",\n    value: function _scrollUpdate() {\n      if (this._updateScrollDown) {\n        this._updateScrollDown();\n      }\n\n      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n    }\n  }, {\n    key: \"_scrollIntoView\",\n    value: function _scrollIntoView(_ref) {\n      var _this2 = this;\n\n      var pageDiv = _ref.pageDiv,\n          _ref$pageSpot = _ref.pageSpot,\n          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n          _ref$pageNumber = _ref.pageNumber,\n          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n      if (pageNumber) {\n        this._setCurrentPageNumber(pageNumber);\n      }\n\n      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n      this._ensurePageViewVisible();\n\n      this.update();\n\n      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n        pageDiv: pageDiv,\n        pageSpot: pageSpot,\n        pageNumber: pageNumber\n      });\n\n      this._updateScrollDown = function () {\n        _this2.scroll.down = scrolledDown;\n        _this2._updateScrollDown = null;\n      };\n    }\n  }, {\n    key: \"_getVisiblePages\",\n    value: function _getVisiblePages() {\n      return this._getCurrentVisiblePage();\n    }\n  }, {\n    key: \"_updateHelper\",\n    value: function _updateHelper(visiblePages) {}\n  }, {\n    key: \"_updateScrollMode\",\n    value: function _updateScrollMode() {}\n  }, {\n    key: \"_updateSpreadMode\",\n    value: function _updateSpreadMode() {}\n  }, {\n    key: \"_setDocumentViewerElement\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"_setDocumentViewerElement\", this._shadowViewer);\n    }\n  }, {\n    key: \"_isScrollModeHorizontal\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"_isScrollModeHorizontal\", false);\n    }\n  }]);\n\n  return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n\n/***/ \"36c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"3410\");\n\nfunction _getPrototypeOf(o) {\n  module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\n\n/***/ }),\n\n/***/ \"37e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar anObject = __webpack_require__(\"825a\");\nvar objectKeys = __webpack_require__(\"df75\");\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"38cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar repeat = __webpack_require__(\"1148\");\n\n// `String.prototype.repeat` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n  repeat: repeat\n});\n\n\n/***/ }),\n\n/***/ \"3a7b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $findIndex = __webpack_require__(\"b727\").findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"3b56\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"a623\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d81d\");\n\n__webpack_require__(\"45fc\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"6062\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"10d1\");\n\n__webpack_require__(\"ddb0\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_rendering_queue = __webpack_require__(\"ef24\");\n\nvar _annotation_layer_builder = __webpack_require__(\"b3fd\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _pdf_page_view = __webpack_require__(\"12b2\");\n\nvar _pdf_link_service = __webpack_require__(\"8a38\");\n\nvar _text_layer_builder = __webpack_require__(\"9e3b\");\n\nvar DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n  var data = [];\n\n  this.push = function (view) {\n    var i = data.indexOf(view);\n\n    if (i >= 0) {\n      data.splice(i, 1);\n    }\n\n    data.push(view);\n\n    if (data.length > size) {\n      data.shift().destroy();\n    }\n  };\n\n  this.resize = function (newSize, pagesToKeep) {\n    size = newSize;\n\n    if (pagesToKeep) {\n      var pageIdsToKeep = new Set();\n\n      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n        pageIdsToKeep.add(pagesToKeep[i].id);\n      }\n\n      (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n        return pageIdsToKeep.has(page.id);\n      });\n    }\n\n    while (data.length > size) {\n      data.shift().destroy();\n    }\n  };\n}\n\nfunction isSameScale(oldScale, newScale) {\n  if (newScale === oldScale) {\n    return true;\n  }\n\n  if (Math.abs(newScale - oldScale) < 1e-15) {\n    return true;\n  }\n\n  return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n  function BaseViewer(options) {\n    var _this = this;\n\n    _classCallCheck(this, BaseViewer);\n\n    if (this.constructor === BaseViewer) {\n      throw new Error(\"Cannot initialize BaseViewer.\");\n    }\n\n    this._name = this.constructor.name;\n    this.container = options.container;\n    this.viewer = options.viewer || options.container.firstElementChild;\n    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n    this.downloadManager = options.downloadManager || null;\n    this.findController = options.findController || null;\n    this.removePageBorders = options.removePageBorders || false;\n    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n    this.imageResourcesPath = options.imageResourcesPath || \"\";\n    this.renderInteractiveForms = options.renderInteractiveForms || false;\n    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n    this.enableWebGL = options.enableWebGL || false;\n    this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n    this.maxCanvasPixels = options.maxCanvasPixels;\n    this.l10n = options.l10n || _ui_utils.NullL10n;\n    this.defaultRenderingQueue = !options.renderingQueue;\n\n    if (this.defaultRenderingQueue) {\n      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n      this.renderingQueue.setViewer(this);\n    } else {\n      this.renderingQueue = options.renderingQueue;\n    }\n\n    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n    this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n    this._onBeforeDraw = this._onAfterDraw = null;\n\n    this._resetView();\n\n    if (this.removePageBorders) {\n      this.viewer.classList.add(\"removePageBorders\");\n    }\n\n    Promise.resolve().then(function () {\n      _this.eventBus.dispatch(\"baseviewerinit\", {\n        source: _this\n      });\n    });\n  }\n\n  _createClass(BaseViewer, [{\n    key: \"getPageView\",\n    value: function getPageView(index) {\n      return this._pages[index];\n    }\n  }, {\n    key: \"_setCurrentPageNumber\",\n    value: function _setCurrentPageNumber(val) {\n      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (this._currentPageNumber === val) {\n        if (resetCurrentPageView) {\n          this._resetCurrentPageView();\n        }\n\n        return true;\n      }\n\n      if (!(0 < val && val <= this.pagesCount)) {\n        return false;\n      }\n\n      this._currentPageNumber = val;\n      this.eventBus.dispatch(\"pagechanging\", {\n        source: this,\n        pageNumber: val,\n        pageLabel: this._pageLabels && this._pageLabels[val - 1]\n      });\n\n      if (resetCurrentPageView) {\n        this._resetCurrentPageView();\n      }\n\n      return true;\n    }\n  }, {\n    key: \"setDocument\",\n    value: function setDocument(pdfDocument) {\n      var _this2 = this;\n\n      if (this.pdfDocument) {\n        this._cancelRendering();\n\n        this._resetView();\n\n        if (this.findController) {\n          this.findController.setDocument(null);\n        }\n      }\n\n      this.pdfDocument = pdfDocument;\n\n      if (!pdfDocument) {\n        return;\n      }\n\n      var pagesCount = pdfDocument.numPages;\n      var firstPagePromise = pdfDocument.getPage(1);\n\n      this._pagesCapability.promise.then(function () {\n        _this2.eventBus.dispatch(\"pagesloaded\", {\n          source: _this2,\n          pagesCount: pagesCount\n        });\n      });\n\n      this._onBeforeDraw = function (evt) {\n        var pageView = _this2._pages[evt.pageNumber - 1];\n\n        if (!pageView) {\n          return;\n        }\n\n        _this2._buffer.push(pageView);\n      };\n\n      this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n      this._onAfterDraw = function (evt) {\n        if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n          return;\n        }\n\n        _this2._onePageRenderedCapability.resolve();\n\n        _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n        _this2._onAfterDraw = null;\n      };\n\n      this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n      firstPagePromise.then(function (firstPdfPage) {\n        _this2._firstPageCapability.resolve(firstPdfPage);\n\n        var scale = _this2.currentScale;\n        var viewport = firstPdfPage.getViewport({\n          scale: scale * _ui_utils.CSS_UNITS\n        });\n        var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n          var pageView = new _pdf_page_view.PDFPageView({\n            container: _this2._setDocumentViewerElement,\n            eventBus: _this2.eventBus,\n            id: pageNum,\n            scale: scale,\n            defaultViewport: viewport.clone(),\n            renderingQueue: _this2.renderingQueue,\n            textLayerFactory: textLayerFactory,\n            textLayerMode: _this2.textLayerMode,\n            annotationLayerFactory: _this2,\n            imageResourcesPath: _this2.imageResourcesPath,\n            renderInteractiveForms: _this2.renderInteractiveForms,\n            renderer: _this2.renderer,\n            enableWebGL: _this2.enableWebGL,\n            useOnlyCssZoom: _this2.useOnlyCssZoom,\n            maxCanvasPixels: _this2.maxCanvasPixels,\n            l10n: _this2.l10n\n          });\n\n          _this2._pages.push(pageView);\n        }\n\n        var firstPageView = _this2._pages[0];\n\n        if (firstPageView) {\n          firstPageView.setPdfPage(firstPdfPage);\n\n          _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n        }\n\n        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n          _this2._updateSpreadMode();\n        }\n\n        _this2._onePageRenderedCapability.promise.then(function () {\n          if (_this2.findController) {\n            _this2.findController.setDocument(pdfDocument);\n          }\n\n          if (pdfDocument.loadingParams[\"disableAutoFetch\"] || pagesCount > 7500) {\n            _this2._pagesCapability.resolve();\n\n            return;\n          }\n\n          var getPagesLeft = pagesCount - 1;\n\n          if (getPagesLeft <= 0) {\n            _this2._pagesCapability.resolve();\n\n            return;\n          }\n\n          var _loop = function _loop(_pageNum) {\n            pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n              var pageView = _this2._pages[_pageNum - 1];\n\n              if (!pageView.pdfPage) {\n                pageView.setPdfPage(pdfPage);\n              }\n\n              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n              if (--getPagesLeft === 0) {\n                _this2._pagesCapability.resolve();\n              }\n            }, function (reason) {\n              console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n              if (--getPagesLeft === 0) {\n                _this2._pagesCapability.resolve();\n              }\n            });\n          };\n\n          for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n            _loop(_pageNum);\n          }\n        });\n\n        _this2.eventBus.dispatch(\"pagesinit\", {\n          source: _this2\n        });\n\n        if (_this2.defaultRenderingQueue) {\n          _this2.update();\n        }\n      }).catch(function (reason) {\n        console.error(\"Unable to initialize viewer\", reason);\n      });\n    }\n  }, {\n    key: \"setPageLabels\",\n    value: function setPageLabels(labels) {\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      if (!labels) {\n        this._pageLabels = null;\n      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n        this._pageLabels = null;\n        console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n      } else {\n        this._pageLabels = labels;\n      }\n\n      for (var i = 0, ii = this._pages.length; i < ii; i++) {\n        var pageView = this._pages[i];\n        var label = this._pageLabels && this._pageLabels[i];\n        pageView.setPageLabel(label);\n      }\n    }\n  }, {\n    key: \"_resetView\",\n    value: function _resetView() {\n      this._pages = [];\n      this._currentPageNumber = 1;\n      this._currentScale = _ui_utils.UNKNOWN_SCALE;\n      this._currentScaleValue = null;\n      this._pageLabels = null;\n      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n      this._location = null;\n      this._pagesRotation = 0;\n      this._pagesRequests = new WeakMap();\n      this._firstPageCapability = (0, _pdf.createPromiseCapability)();\n      this._onePageRenderedCapability = (0, _pdf.createPromiseCapability)();\n      this._pagesCapability = (0, _pdf.createPromiseCapability)();\n      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n      this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n      if (this._onBeforeDraw) {\n        this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n        this._onBeforeDraw = null;\n      }\n\n      if (this._onAfterDraw) {\n        this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n        this._onAfterDraw = null;\n      }\n\n      this.viewer.textContent = \"\";\n\n      this._updateScrollMode();\n    }\n  }, {\n    key: \"_scrollUpdate\",\n    value: function _scrollUpdate() {\n      if (this.pagesCount === 0) {\n        return;\n      }\n\n      this.update();\n    }\n  }, {\n    key: \"_scrollIntoView\",\n    value: function _scrollIntoView(_ref) {\n      var pageDiv = _ref.pageDiv,\n          _ref$pageSpot = _ref.pageSpot,\n          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n          _ref$pageNumber = _ref.pageNumber,\n          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n    }\n  }, {\n    key: \"_setScaleUpdatePages\",\n    value: function _setScaleUpdatePages(newScale, newValue) {\n      var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      this._currentScaleValue = newValue.toString();\n\n      if (isSameScale(this._currentScale, newScale)) {\n        if (preset) {\n          this.eventBus.dispatch(\"scalechanging\", {\n            source: this,\n            scale: newScale,\n            presetValue: newValue\n          });\n        }\n\n        return;\n      }\n\n      for (var i = 0, ii = this._pages.length; i < ii; i++) {\n        this._pages[i].update(newScale);\n      }\n\n      this._currentScale = newScale;\n\n      if (!noScroll) {\n        var page = this._currentPageNumber,\n            dest;\n\n        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n          page = this._location.pageNumber;\n          dest = [null, {\n            name: \"XYZ\"\n          }, this._location.left, this._location.top, null];\n        }\n\n        this.scrollPageIntoView({\n          pageNumber: page,\n          destArray: dest,\n          allowNegativeOffset: true\n        });\n      }\n\n      this.eventBus.dispatch(\"scalechanging\", {\n        source: this,\n        scale: newScale,\n        presetValue: preset ? newValue : undefined\n      });\n\n      if (this.defaultRenderingQueue) {\n        this.update();\n      }\n    }\n  }, {\n    key: \"_setScale\",\n    value: function _setScale(value) {\n      var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var scale = parseFloat(value);\n\n      if (scale > 0) {\n        this._setScaleUpdatePages(scale, value, noScroll, false);\n      } else {\n        var currentPage = this._pages[this._currentPageNumber - 1];\n\n        if (!currentPage) {\n          return;\n        }\n\n        var noPadding = this.isInPresentationMode || this.removePageBorders;\n        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n        if (!noPadding && this._isScrollModeHorizontal) {\n          var _ref2 = [vPadding, hPadding];\n          hPadding = _ref2[0];\n          vPadding = _ref2[1];\n        }\n\n        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n        switch (value) {\n          case \"page-actual\":\n            scale = 1;\n            break;\n\n          case \"page-width\":\n            scale = pageWidthScale;\n            break;\n\n          case \"page-height\":\n            scale = pageHeightScale;\n            break;\n\n          case \"page-fit\":\n            scale = Math.min(pageWidthScale, pageHeightScale);\n            break;\n\n          case \"auto\":\n            var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n            scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n            break;\n\n          default:\n            console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n            return;\n        }\n\n        this._setScaleUpdatePages(scale, value, noScroll, true);\n      }\n    }\n  }, {\n    key: \"_resetCurrentPageView\",\n    value: function _resetCurrentPageView() {\n      if (this.isInPresentationMode) {\n        this._setScale(this._currentScaleValue, true);\n      }\n\n      var pageView = this._pages[this._currentPageNumber - 1];\n\n      this._scrollIntoView({\n        pageDiv: pageView.div\n      });\n    }\n  }, {\n    key: \"scrollPageIntoView\",\n    value: function scrollPageIntoView(_ref3) {\n      var pageNumber = _ref3.pageNumber,\n          _ref3$destArray = _ref3.destArray,\n          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n          _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n          ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n      if (!pageView) {\n        console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n        return;\n      }\n\n      if (this.isInPresentationMode || !destArray) {\n        this._setCurrentPageNumber(pageNumber, true);\n\n        return;\n      }\n\n      var x = 0,\n          y = 0;\n      var width = 0,\n          height = 0,\n          widthScale,\n          heightScale;\n      var changeOrientation = pageView.rotation % 180 !== 0;\n      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n      var scale = 0;\n\n      switch (destArray[1].name) {\n        case \"XYZ\":\n          x = destArray[2];\n          y = destArray[3];\n          scale = destArray[4];\n          x = x !== null ? x : 0;\n          y = y !== null ? y : pageHeight;\n          break;\n\n        case \"Fit\":\n        case \"FitB\":\n          scale = \"page-fit\";\n          break;\n\n        case \"FitH\":\n        case \"FitBH\":\n          y = destArray[2];\n          scale = \"page-width\";\n\n          if (y === null && this._location) {\n            x = this._location.left;\n            y = this._location.top;\n          }\n\n          break;\n\n        case \"FitV\":\n        case \"FitBV\":\n          x = destArray[2];\n          width = pageWidth;\n          height = pageHeight;\n          scale = \"page-height\";\n          break;\n\n        case \"FitR\":\n          x = destArray[2];\n          y = destArray[3];\n          width = destArray[4] - x;\n          height = destArray[5] - y;\n          var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n          var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n          widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n          break;\n\n        default:\n          console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n          return;\n      }\n\n      if (!ignoreDestinationZoom) {\n        if (scale && scale !== this._currentScale) {\n          this.currentScaleValue = scale;\n        } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n          this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n        }\n      }\n\n      if (scale === \"page-fit\" && !destArray[4]) {\n        this._scrollIntoView({\n          pageDiv: pageView.div,\n          pageNumber: pageNumber\n        });\n\n        return;\n      }\n\n      var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n      var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n      var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n      if (!allowNegativeOffset) {\n        left = Math.max(left, 0);\n        top = Math.max(top, 0);\n      }\n\n      this._scrollIntoView({\n        pageDiv: pageView.div,\n        pageSpot: {\n          left: left,\n          top: top\n        },\n        pageNumber: pageNumber\n      });\n    }\n  }, {\n    key: \"_updateLocation\",\n    value: function _updateLocation(firstPage) {\n      var currentScale = this._currentScale;\n      var currentScaleValue = this._currentScaleValue;\n      var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n      var pageNumber = firstPage.id;\n      var pdfOpenParams = \"#page=\" + pageNumber;\n      pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n      var currentPageView = this._pages[pageNumber - 1];\n      var container = this.container;\n      var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n      var intLeft = Math.round(topLeft[0]);\n      var intTop = Math.round(topLeft[1]);\n      pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n      this._location = {\n        pageNumber: pageNumber,\n        scale: normalizedScaleValue,\n        top: intTop,\n        left: intLeft,\n        rotation: this._pagesRotation,\n        pdfOpenParams: pdfOpenParams\n      };\n    }\n  }, {\n    key: \"_updateHelper\",\n    value: function _updateHelper(visiblePages) {\n      throw new Error(\"Not implemented: _updateHelper\");\n    }\n  }, {\n    key: \"update\",\n    value: function update() {\n      var visible = this._getVisiblePages();\n\n      var visiblePages = visible.views,\n          numVisiblePages = visiblePages.length;\n\n      if (numVisiblePages === 0) {\n        return;\n      }\n\n      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n      this._buffer.resize(newCacheSize, visiblePages);\n\n      this.renderingQueue.renderHighestPriority(visible);\n\n      this._updateHelper(visiblePages);\n\n      this._updateLocation(visible.first);\n\n      this.eventBus.dispatch(\"updateviewarea\", {\n        source: this,\n        location: this._location\n      });\n    }\n  }, {\n    key: \"containsElement\",\n    value: function containsElement(element) {\n      return this.container.contains(element);\n    }\n  }, {\n    key: \"focus\",\n    value: function focus() {\n      this.container.focus();\n    }\n  }, {\n    key: \"_getCurrentVisiblePage\",\n    value: function _getCurrentVisiblePage() {\n      if (!this.pagesCount) {\n        return {\n          views: []\n        };\n      }\n\n      var pageView = this._pages[this._currentPageNumber - 1];\n      var element = pageView.div;\n      var view = {\n        id: pageView.id,\n        x: element.offsetLeft + element.clientLeft,\n        y: element.offsetTop + element.clientTop,\n        view: pageView\n      };\n      return {\n        first: view,\n        last: view,\n        views: [view]\n      };\n    }\n  }, {\n    key: \"_getVisiblePages\",\n    value: function _getVisiblePages() {\n      return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n    }\n  }, {\n    key: \"isPageVisible\",\n    value: function isPageVisible(pageNumber) {\n      if (!this.pdfDocument) {\n        return false;\n      }\n\n      if (pageNumber < 1 || pageNumber > this.pagesCount) {\n        console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n        return false;\n      }\n\n      return this._getVisiblePages().views.some(function (view) {\n        return view.id === pageNumber;\n      });\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      for (var i = 0, ii = this._pages.length; i < ii; i++) {\n        if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n          this._pages[i].reset();\n        }\n      }\n    }\n  }, {\n    key: \"_cancelRendering\",\n    value: function _cancelRendering() {\n      for (var i = 0, ii = this._pages.length; i < ii; i++) {\n        if (this._pages[i]) {\n          this._pages[i].cancelRendering();\n        }\n      }\n    }\n  }, {\n    key: \"_ensurePdfPageLoaded\",\n    value: function _ensurePdfPageLoaded(pageView) {\n      var _this3 = this;\n\n      if (pageView.pdfPage) {\n        return Promise.resolve(pageView.pdfPage);\n      }\n\n      if (this._pagesRequests.has(pageView)) {\n        return this._pagesRequests.get(pageView);\n      }\n\n      var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n        if (!pageView.pdfPage) {\n          pageView.setPdfPage(pdfPage);\n        }\n\n        _this3._pagesRequests.delete(pageView);\n\n        return pdfPage;\n      }).catch(function (reason) {\n        console.error(\"Unable to get page for page view\", reason);\n\n        _this3._pagesRequests.delete(pageView);\n      });\n\n      this._pagesRequests.set(pageView, promise);\n\n      return promise;\n    }\n  }, {\n    key: \"forceRendering\",\n    value: function forceRendering(currentlyVisiblePages) {\n      var _this4 = this;\n\n      var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n      if (pageView) {\n        this._ensurePdfPageLoaded(pageView).then(function () {\n          _this4.renderingQueue.renderView(pageView);\n        });\n\n        return true;\n      }\n\n      return false;\n    }\n  }, {\n    key: \"createTextLayerBuilder\",\n    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n      return new _text_layer_builder.TextLayerBuilder({\n        textLayerDiv: textLayerDiv,\n        eventBus: eventBus,\n        pageIndex: pageIndex,\n        viewport: viewport,\n        findController: this.isInPresentationMode ? null : this.findController,\n        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n      });\n    }\n  }, {\n    key: \"createAnnotationLayerBuilder\",\n    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n      return new _annotation_layer_builder.AnnotationLayerBuilder({\n        pageDiv: pageDiv,\n        pdfPage: pdfPage,\n        imageResourcesPath: imageResourcesPath,\n        renderInteractiveForms: renderInteractiveForms,\n        linkService: this.linkService,\n        downloadManager: this.downloadManager,\n        l10n: l10n\n      });\n    }\n  }, {\n    key: \"getPagesOverview\",\n    value: function getPagesOverview() {\n      var pagesOverview = this._pages.map(function (pageView) {\n        var viewport = pageView.pdfPage.getViewport({\n          scale: 1\n        });\n        return {\n          width: viewport.width,\n          height: viewport.height,\n          rotation: viewport.rotation\n        };\n      });\n\n      if (!this.enablePrintAutoRotate) {\n        return pagesOverview;\n      }\n\n      var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);\n      return pagesOverview.map(function (size) {\n        if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {\n          return size;\n        }\n\n        return {\n          width: size.height,\n          height: size.width,\n          rotation: (size.rotation + 90) % 360\n        };\n      });\n    }\n  }, {\n    key: \"_updateScrollMode\",\n    value: function _updateScrollMode() {\n      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var scrollMode = this._scrollMode,\n          viewer = this.viewer;\n      viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n      viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n      if (!this.pdfDocument || !pageNumber) {\n        return;\n      }\n\n      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n        this._setScale(this._currentScaleValue, true);\n      }\n\n      this._setCurrentPageNumber(pageNumber, true);\n\n      this.update();\n    }\n  }, {\n    key: \"_updateSpreadMode\",\n    value: function _updateSpreadMode() {\n      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      var viewer = this.viewer,\n          pages = this._pages;\n      viewer.textContent = \"\";\n\n      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n        for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n          viewer.appendChild(pages[i].div);\n        }\n      } else {\n        var parity = this._spreadMode - 1;\n        var spread = null;\n\n        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n          if (spread === null) {\n            spread = document.createElement(\"div\");\n            spread.className = \"spread\";\n            viewer.appendChild(spread);\n          } else if (_i % 2 === parity) {\n            spread = spread.cloneNode(false);\n            viewer.appendChild(spread);\n          }\n\n          spread.appendChild(pages[_i].div);\n        }\n      }\n\n      if (!pageNumber) {\n        return;\n      }\n\n      this._setCurrentPageNumber(pageNumber, true);\n\n      this.update();\n    }\n  }, {\n    key: \"pagesCount\",\n    get: function get() {\n      return this._pages.length;\n    }\n  }, {\n    key: \"pageViewsReady\",\n    get: function get() {\n      if (!this._pagesCapability.settled) {\n        return false;\n      }\n\n      return this._pages.every(function (pageView) {\n        return pageView && pageView.pdfPage;\n      });\n    }\n  }, {\n    key: \"currentPageNumber\",\n    get: function get() {\n      return this._currentPageNumber;\n    },\n    set: function set(val) {\n      if (!Number.isInteger(val)) {\n        throw new Error(\"Invalid page number.\");\n      }\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      if (!this._setCurrentPageNumber(val, true)) {\n        console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n      }\n    }\n  }, {\n    key: \"currentPageLabel\",\n    get: function get() {\n      return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n    },\n    set: function set(val) {\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      var page = val | 0;\n\n      if (this._pageLabels) {\n        var i = this._pageLabels.indexOf(val);\n\n        if (i >= 0) {\n          page = i + 1;\n        }\n      }\n\n      if (!this._setCurrentPageNumber(page, true)) {\n        console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n      }\n    }\n  }, {\n    key: \"currentScale\",\n    get: function get() {\n      return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n    },\n    set: function set(val) {\n      if (isNaN(val)) {\n        throw new Error(\"Invalid numeric scale.\");\n      }\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      this._setScale(val, false);\n    }\n  }, {\n    key: \"currentScaleValue\",\n    get: function get() {\n      return this._currentScaleValue;\n    },\n    set: function set(val) {\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      this._setScale(val, false);\n    }\n  }, {\n    key: \"pagesRotation\",\n    get: function get() {\n      return this._pagesRotation;\n    },\n    set: function set(rotation) {\n      if (!(0, _ui_utils.isValidRotation)(rotation)) {\n        throw new Error(\"Invalid pages rotation angle.\");\n      }\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      if (this._pagesRotation === rotation) {\n        return;\n      }\n\n      this._pagesRotation = rotation;\n      var pageNumber = this._currentPageNumber;\n\n      for (var i = 0, ii = this._pages.length; i < ii; i++) {\n        var pageView = this._pages[i];\n        pageView.update(pageView.scale, rotation);\n      }\n\n      if (this._currentScaleValue) {\n        this._setScale(this._currentScaleValue, true);\n      }\n\n      this.eventBus.dispatch(\"rotationchanging\", {\n        source: this,\n        pagesRotation: rotation,\n        pageNumber: pageNumber\n      });\n\n      if (this.defaultRenderingQueue) {\n        this.update();\n      }\n    }\n  }, {\n    key: \"firstPagePromise\",\n    get: function get() {\n      return this.pdfDocument ? this._firstPageCapability.promise : null;\n    }\n  }, {\n    key: \"onePageRendered\",\n    get: function get() {\n      return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n    }\n  }, {\n    key: \"pagesPromise\",\n    get: function get() {\n      return this.pdfDocument ? this._pagesCapability.promise : null;\n    }\n  }, {\n    key: \"_setDocumentViewerElement\",\n    get: function get() {\n      throw new Error(\"Not implemented: _setDocumentViewerElement\");\n    }\n  }, {\n    key: \"_isScrollModeHorizontal\",\n    get: function get() {\n      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n    }\n  }, {\n    key: \"isInPresentationMode\",\n    get: function get() {\n      return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n    }\n  }, {\n    key: \"isChangingPresentationMode\",\n    get: function get() {\n      return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n    }\n  }, {\n    key: \"isHorizontalScrollbarEnabled\",\n    get: function get() {\n      return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n    }\n  }, {\n    key: \"isVerticalScrollbarEnabled\",\n    get: function get() {\n      return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n    }\n  }, {\n    key: \"hasEqualPageSizes\",\n    get: function get() {\n      var firstPageView = this._pages[0];\n\n      for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n        var pageView = this._pages[i];\n\n        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: \"scrollMode\",\n    get: function get() {\n      return this._scrollMode;\n    },\n    set: function set(mode) {\n      if (this._scrollMode === mode) {\n        return;\n      }\n\n      if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n        throw new Error(\"Invalid scroll mode: \".concat(mode));\n      }\n\n      this._scrollMode = mode;\n      this.eventBus.dispatch(\"scrollmodechanged\", {\n        source: this,\n        mode: mode\n      });\n\n      this._updateScrollMode(this._currentPageNumber);\n    }\n  }, {\n    key: \"spreadMode\",\n    get: function get() {\n      return this._spreadMode;\n    },\n    set: function set(mode) {\n      if (this._spreadMode === mode) {\n        return;\n      }\n\n      if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n        throw new Error(\"Invalid spread mode: \".concat(mode));\n      }\n\n      this._spreadMode = mode;\n      this.eventBus.dispatch(\"spreadmodechanged\", {\n        source: this,\n        mode: mode\n      });\n\n      this._updateSpreadMode(this._currentPageNumber);\n    }\n  }]);\n\n  return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n\n/***/ \"3bbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nmodule.exports = function (it) {\n  if (!isObject(it) && it !== null) {\n    throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n  } return it;\n};\n\n\n/***/ }),\n\n/***/ \"3c5d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toOffset = __webpack_require__(\"182d\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar fails = __webpack_require__(\"d039\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n  // eslint-disable-next-line no-undef\n  new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n  aTypedArray(this);\n  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n  var length = this.length;\n  var src = toObject(arrayLike);\n  var len = toLength(src.length);\n  var index = 0;\n  if (len + offset > length) throw RangeError('Wrong length');\n  while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n\n\n/***/ }),\n\n/***/ \"3c96\":\n/***/ (function(module, exports) {\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n/***/ }),\n\n/***/ \"3ca3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(\"6547\").charAt;\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar defineIterator = __webpack_require__(\"7dd0\");\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: String(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return { value: undefined, done: true };\n  point = charAt(string, index);\n  state.index += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"3db6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n  SPACE: 0,\n  ALPHA_LETTER: 1,\n  PUNCT: 2,\n  HAN_LETTER: 3,\n  KATAKANA_LETTER: 4,\n  HIRAGANA_LETTER: 5,\n  HALFWIDTH_KATAKANA_LETTER: 6,\n  THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n  return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n  return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n  return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n  return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n  return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n  return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n  return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n  return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n  if (isAlphabeticalScript(charCode)) {\n    if (isAscii(charCode)) {\n      if (isAsciiSpace(charCode)) {\n        return CharacterType.SPACE;\n      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n        return CharacterType.ALPHA_LETTER;\n      }\n\n      return CharacterType.PUNCT;\n    } else if (isThai(charCode)) {\n      return CharacterType.THAI_LETTER;\n    } else if (charCode === 0xa0) {\n      return CharacterType.SPACE;\n    }\n\n    return CharacterType.ALPHA_LETTER;\n  }\n\n  if (isHan(charCode)) {\n    return CharacterType.HAN_LETTER;\n  } else if (isKatakana(charCode)) {\n    return CharacterType.KATAKANA_LETTER;\n  } else if (isHiragana(charCode)) {\n    return CharacterType.HIRAGANA_LETTER;\n  } else if (isHalfwidthKatakana(charCode)) {\n    return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n  }\n\n  return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n\n/***/ \"3f8c\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"3f9c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _network_utils = __webpack_require__(\"6634\");\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n  return {\n    method: \"GET\",\n    headers: headers,\n    signal: abortController && abortController.signal,\n    mode: \"cors\",\n    credentials: withCredentials ? \"include\" : \"same-origin\",\n    redirect: \"follow\"\n  };\n}\n\nfunction createHeaders(httpHeaders) {\n  var headers = new Headers();\n\n  for (var property in httpHeaders) {\n    var value = httpHeaders[property];\n\n    if (typeof value === \"undefined\") {\n      continue;\n    }\n\n    headers.append(property, value);\n  }\n\n  return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n  function PDFFetchStream(source) {\n    _classCallCheck(this, PDFFetchStream);\n\n    this.source = source;\n    this.isHttp = /^https?:/i.test(source.url);\n    this.httpHeaders = this.isHttp && source.httpHeaders || {};\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFFetchStream, [{\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      this._fullRequestReader = new PDFFetchStreamReader(this);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(begin, end) {\n      if (end <= this._progressiveDataLength) {\n        return null;\n      }\n\n      var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n      this._rangeRequestReaders.push(reader);\n\n      return reader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeRequestReaders.slice(0);\n\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }, {\n    key: \"_progressiveDataLength\",\n    get: function get() {\n      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n    }\n  }]);\n\n  return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n  function PDFFetchStreamReader(stream) {\n    var _this = this;\n\n    _classCallCheck(this, PDFFetchStreamReader);\n\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    this._filename = null;\n    var source = stream.source;\n    this._withCredentials = source.withCredentials || false;\n    this._contentLength = source.length;\n    this._headersCapability = (0, _util.createPromiseCapability)();\n    this._disableRange = source.disableRange || false;\n    this._rangeChunkSize = source.rangeChunkSize;\n\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    if (typeof AbortController !== \"undefined\") {\n      this._abortController = new AbortController();\n    }\n\n    this._isStreamingSupported = !source.disableStream;\n    this._isRangeSupported = !source.disableRange;\n    this._headers = createHeaders(this._stream.httpHeaders);\n    var url = source.url;\n    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n      if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n        throw (0, _network_utils.createResponseStatusError)(response.status, url);\n      }\n\n      _this._reader = response.body.getReader();\n\n      _this._headersCapability.resolve();\n\n      var getResponseHeader = function getResponseHeader(name) {\n        return response.headers.get(name);\n      };\n\n      var _ref = (0, _network_utils.validateRangeRequestCapabilities)({\n        getResponseHeader: getResponseHeader,\n        isHttp: _this._stream.isHttp,\n        rangeChunkSize: _this._rangeChunkSize,\n        disableRange: _this._disableRange\n      }),\n          allowRangeRequests = _ref.allowRangeRequests,\n          suggestedLength = _ref.suggestedLength;\n\n      _this._isRangeSupported = allowRangeRequests;\n      _this._contentLength = suggestedLength || _this._contentLength;\n      _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n      if (!_this._isStreamingSupported && _this._isRangeSupported) {\n        _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n      }\n    }).catch(this._headersCapability.reject);\n    this.onProgress = null;\n  }\n\n  _createClass(PDFFetchStreamReader, [{\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var _yield$this$_reader$r, value, done, buffer;\n\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return this._headersCapability.promise;\n\n              case 2:\n                _context.next = 4;\n                return this._reader.read();\n\n              case 4:\n                _yield$this$_reader$r = _context.sent;\n                value = _yield$this$_reader$r.value;\n                done = _yield$this$_reader$r.done;\n\n                if (!done) {\n                  _context.next = 9;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: value,\n                  done: done\n                });\n\n              case 9:\n                this._loaded += value.byteLength;\n\n                if (this.onProgress) {\n                  this.onProgress({\n                    loaded: this._loaded,\n                    total: this._contentLength\n                  });\n                }\n\n                buffer = new Uint8Array(value).buffer;\n                return _context.abrupt(\"return\", {\n                  value: buffer,\n                  done: false\n                });\n\n              case 13:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      if (this._reader) {\n        this._reader.cancel(reason);\n      }\n\n      if (this._abortController) {\n        this._abortController.abort();\n      }\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersCapability.promise;\n    }\n  }, {\n    key: \"filename\",\n    get: function get() {\n      return this._filename;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n  function PDFFetchStreamRangeReader(stream, begin, end) {\n    var _this2 = this;\n\n    _classCallCheck(this, PDFFetchStreamRangeReader);\n\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    var source = stream.source;\n    this._withCredentials = source.withCredentials || false;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    this._isStreamingSupported = !source.disableStream;\n\n    if (typeof AbortController !== \"undefined\") {\n      this._abortController = new AbortController();\n    }\n\n    this._headers = createHeaders(this._stream.httpHeaders);\n\n    this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n    var url = source.url;\n    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n      if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n        throw (0, _network_utils.createResponseStatusError)(response.status, url);\n      }\n\n      _this2._readCapability.resolve();\n\n      _this2._reader = response.body.getReader();\n    });\n    this.onProgress = null;\n  }\n\n  _createClass(PDFFetchStreamRangeReader, [{\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var _yield$this$_reader$r2, value, done, buffer;\n\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this._readCapability.promise;\n\n              case 2:\n                _context2.next = 4;\n                return this._reader.read();\n\n              case 4:\n                _yield$this$_reader$r2 = _context2.sent;\n                value = _yield$this$_reader$r2.value;\n                done = _yield$this$_reader$r2.done;\n\n                if (!done) {\n                  _context2.next = 9;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: value,\n                  done: done\n                });\n\n              case 9:\n                this._loaded += value.byteLength;\n\n                if (this.onProgress) {\n                  this.onProgress({\n                    loaded: this._loaded\n                  });\n                }\n\n                buffer = new Uint8Array(value).buffer;\n                return _context2.abrupt(\"return\", {\n                  value: buffer,\n                  done: false\n                });\n\n              case 13:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      if (this._reader) {\n        this._reader.cancel(reason);\n      }\n\n      if (this._abortController) {\n        this._abortController.abort();\n      }\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return PDFFetchStreamRangeReader;\n}();\n\n/***/ }),\n\n/***/ \"3fcc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $map = __webpack_require__(\"b727\").map;\nvar speciesConstructor = __webpack_require__(\"4840\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n    return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n  });\n});\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"408a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n  if (typeof value != 'number' && classof(value) != 'Number') {\n    throw TypeError('Incorrect invocation');\n  }\n  return +value;\n};\n\n\n/***/ }),\n\n/***/ \"4160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar forEach = __webpack_require__(\"17c2\");\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n  forEach: forEach\n});\n\n\n/***/ }),\n\n/***/ \"428f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\n\nmodule.exports = global;\n\n\n/***/ }),\n\n/***/ \"4362\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.nextTick = function nextTick(fn) {\n    var args = Array.prototype.slice.call(arguments);\n    args.shift();\n    setTimeout(function () {\n        fn.apply(null, args);\n    }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n    var cwd = '/';\n    var path;\n    exports.cwd = function () { return cwd };\n    exports.chdir = function (dir) {\n        if (!path) path = __webpack_require__(\"df7c\");\n        cwd = path.resolve(dir, cwd);\n    };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n\n\n/***/ }),\n\n/***/ \"448a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayWithoutHoles = __webpack_require__(\"2236\");\n\nvar iterableToArray = __webpack_require__(\"11b0\");\n\nvar unsupportedIterableToArray = __webpack_require__(\"6613\");\n\nvar nonIterableSpread = __webpack_require__(\"0676\");\n\nfunction _toConsumableArray(arr) {\n  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\n\n/***/ }),\n\n/***/ \"44ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar classof = __webpack_require__(\"c6b6\");\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n\n/***/ \"44d2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar create = __webpack_require__(\"7c73\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"44de\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\n\nmodule.exports = function (a, b) {\n  var console = global.console;\n  if (console && console.error) {\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  }\n};\n\n\n/***/ }),\n\n/***/ \"44e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar classof = __webpack_require__(\"c6b6\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"4519\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"3ce22e999d54bb9ca8150a59207f9d3e.cur\";\n\n/***/ }),\n\n/***/ \"458c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"159b\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _network_utils = __webpack_require__(\"6634\");\n\nvar fs = __webpack_require__(6);\n\nvar http = __webpack_require__(7);\n\nvar https = __webpack_require__(8);\n\nvar url = __webpack_require__(9);\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n  var parsedUrl = url.parse(sourceUrl);\n\n  if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n    return parsedUrl;\n  }\n\n  if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n    return url.parse(\"file:///\".concat(sourceUrl));\n  }\n\n  if (!parsedUrl.host) {\n    parsedUrl.protocol = \"file:\";\n  }\n\n  return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n  function PDFNodeStream(source) {\n    _classCallCheck(this, PDFNodeStream);\n\n    this.source = source;\n    this.url = parseUrl(source.url);\n    this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n    this.isFsUrl = this.url.protocol === \"file:\";\n    this.httpHeaders = this.isHttp && source.httpHeaders || {};\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFNodeStream, [{\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(start, end) {\n      if (end <= this._progressiveDataLength) {\n        return null;\n      }\n\n      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n      this._rangeRequestReaders.push(rangeReader);\n\n      return rangeReader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeRequestReaders.slice(0);\n\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }, {\n    key: \"_progressiveDataLength\",\n    get: function get() {\n      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n    }\n  }]);\n\n  return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n  function BaseFullReader(stream) {\n    _classCallCheck(this, BaseFullReader);\n\n    this._url = stream.url;\n    this._done = false;\n    this._storedError = null;\n    this.onProgress = null;\n    var source = stream.source;\n    this._contentLength = source.length;\n    this._loaded = 0;\n    this._filename = null;\n    this._disableRange = source.disableRange || false;\n    this._rangeChunkSize = source.rangeChunkSize;\n\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    this._isStreamingSupported = !source.disableStream;\n    this._isRangeSupported = !source.disableRange;\n    this._readableStream = null;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    this._headersCapability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(BaseFullReader, [{\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var chunk, buffer;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return this._readCapability.promise;\n\n              case 2:\n                if (!this._done) {\n                  _context.next = 4;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 4:\n                if (!this._storedError) {\n                  _context.next = 6;\n                  break;\n                }\n\n                throw this._storedError;\n\n              case 6:\n                chunk = this._readableStream.read();\n\n                if (!(chunk === null)) {\n                  _context.next = 10;\n                  break;\n                }\n\n                this._readCapability = (0, _util.createPromiseCapability)();\n                return _context.abrupt(\"return\", this.read());\n\n              case 10:\n                this._loaded += chunk.length;\n\n                if (this.onProgress) {\n                  this.onProgress({\n                    loaded: this._loaded,\n                    total: this._contentLength\n                  });\n                }\n\n                buffer = new Uint8Array(chunk).buffer;\n                return _context.abrupt(\"return\", {\n                  value: buffer,\n                  done: false\n                });\n\n              case 14:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      if (!this._readableStream) {\n        this._error(reason);\n\n        return;\n      }\n\n      this._readableStream.destroy(reason);\n    }\n  }, {\n    key: \"_error\",\n    value: function _error(reason) {\n      this._storedError = reason;\n\n      this._readCapability.resolve();\n    }\n  }, {\n    key: \"_setReadableStream\",\n    value: function _setReadableStream(readableStream) {\n      var _this = this;\n\n      this._readableStream = readableStream;\n      readableStream.on(\"readable\", function () {\n        _this._readCapability.resolve();\n      });\n      readableStream.on(\"end\", function () {\n        readableStream.destroy();\n        _this._done = true;\n\n        _this._readCapability.resolve();\n      });\n      readableStream.on(\"error\", function (reason) {\n        _this._error(reason);\n      });\n\n      if (!this._isStreamingSupported && this._isRangeSupported) {\n        this._error(new _util.AbortException(\"streaming is disabled\"));\n      }\n\n      if (this._storedError) {\n        this._readableStream.destroy(this._storedError);\n      }\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersCapability.promise;\n    }\n  }, {\n    key: \"filename\",\n    get: function get() {\n      return this._filename;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n  function BaseRangeReader(stream) {\n    _classCallCheck(this, BaseRangeReader);\n\n    this._url = stream.url;\n    this._done = false;\n    this._storedError = null;\n    this.onProgress = null;\n    this._loaded = 0;\n    this._readableStream = null;\n    this._readCapability = (0, _util.createPromiseCapability)();\n    var source = stream.source;\n    this._isStreamingSupported = !source.disableStream;\n  }\n\n  _createClass(BaseRangeReader, [{\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var chunk, buffer;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this._readCapability.promise;\n\n              case 2:\n                if (!this._done) {\n                  _context2.next = 4;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 4:\n                if (!this._storedError) {\n                  _context2.next = 6;\n                  break;\n                }\n\n                throw this._storedError;\n\n              case 6:\n                chunk = this._readableStream.read();\n\n                if (!(chunk === null)) {\n                  _context2.next = 10;\n                  break;\n                }\n\n                this._readCapability = (0, _util.createPromiseCapability)();\n                return _context2.abrupt(\"return\", this.read());\n\n              case 10:\n                this._loaded += chunk.length;\n\n                if (this.onProgress) {\n                  this.onProgress({\n                    loaded: this._loaded\n                  });\n                }\n\n                buffer = new Uint8Array(chunk).buffer;\n                return _context2.abrupt(\"return\", {\n                  value: buffer,\n                  done: false\n                });\n\n              case 14:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      if (!this._readableStream) {\n        this._error(reason);\n\n        return;\n      }\n\n      this._readableStream.destroy(reason);\n    }\n  }, {\n    key: \"_error\",\n    value: function _error(reason) {\n      this._storedError = reason;\n\n      this._readCapability.resolve();\n    }\n  }, {\n    key: \"_setReadableStream\",\n    value: function _setReadableStream(readableStream) {\n      var _this2 = this;\n\n      this._readableStream = readableStream;\n      readableStream.on(\"readable\", function () {\n        _this2._readCapability.resolve();\n      });\n      readableStream.on(\"end\", function () {\n        readableStream.destroy();\n        _this2._done = true;\n\n        _this2._readCapability.resolve();\n      });\n      readableStream.on(\"error\", function (reason) {\n        _this2._error(reason);\n      });\n\n      if (this._storedError) {\n        this._readableStream.destroy(this._storedError);\n      }\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }]);\n\n  return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n  return {\n    protocol: url.protocol,\n    auth: url.auth,\n    host: url.hostname,\n    port: url.port,\n    path: url.path,\n    method: \"GET\",\n    headers: headers\n  };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n  _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n  var _super = _createSuper(PDFNodeStreamFullReader);\n\n  function PDFNodeStreamFullReader(stream) {\n    var _this3;\n\n    _classCallCheck(this, PDFNodeStreamFullReader);\n\n    _this3 = _super.call(this, stream);\n\n    var handleResponse = function handleResponse(response) {\n      if (response.statusCode === 404) {\n        var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n        _this3._storedError = error;\n\n        _this3._headersCapability.reject(error);\n\n        return;\n      }\n\n      _this3._headersCapability.resolve();\n\n      _this3._setReadableStream(response);\n\n      var getResponseHeader = function getResponseHeader(name) {\n        return _this3._readableStream.headers[name.toLowerCase()];\n      };\n\n      var _ref = (0, _network_utils.validateRangeRequestCapabilities)({\n        getResponseHeader: getResponseHeader,\n        isHttp: stream.isHttp,\n        rangeChunkSize: _this3._rangeChunkSize,\n        disableRange: _this3._disableRange\n      }),\n          allowRangeRequests = _ref.allowRangeRequests,\n          suggestedLength = _ref.suggestedLength;\n\n      _this3._isRangeSupported = allowRangeRequests;\n      _this3._contentLength = suggestedLength || _this3._contentLength;\n      _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n    };\n\n    _this3._request = null;\n\n    if (_this3._url.protocol === \"http:\") {\n      _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n    } else {\n      _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n    }\n\n    _this3._request.on(\"error\", function (reason) {\n      _this3._storedError = reason;\n\n      _this3._headersCapability.reject(reason);\n    });\n\n    _this3._request.end();\n\n    return _this3;\n  }\n\n  return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n  var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n  function PDFNodeStreamRangeReader(stream, start, end) {\n    var _this4;\n\n    _classCallCheck(this, PDFNodeStreamRangeReader);\n\n    _this4 = _super2.call(this, stream);\n    _this4._httpHeaders = {};\n\n    for (var property in stream.httpHeaders) {\n      var value = stream.httpHeaders[property];\n\n      if (typeof value === \"undefined\") {\n        continue;\n      }\n\n      _this4._httpHeaders[property] = value;\n    }\n\n    _this4._httpHeaders[\"Range\"] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n    var handleResponse = function handleResponse(response) {\n      if (response.statusCode === 404) {\n        var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n        _this4._storedError = error;\n        return;\n      }\n\n      _this4._setReadableStream(response);\n    };\n\n    _this4._request = null;\n\n    if (_this4._url.protocol === \"http:\") {\n      _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n    } else {\n      _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n    }\n\n    _this4._request.on(\"error\", function (reason) {\n      _this4._storedError = reason;\n    });\n\n    _this4._request.end();\n\n    return _this4;\n  }\n\n  return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n  var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n  function PDFNodeStreamFsFullReader(stream) {\n    var _this5;\n\n    _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n    _this5 = _super3.call(this, stream);\n    var path = decodeURIComponent(_this5._url.path);\n\n    if (fileUriRegex.test(_this5._url.href)) {\n      path = path.replace(/^\\//, \"\");\n    }\n\n    fs.lstat(path, function (error, stat) {\n      if (error) {\n        if (error.code === \"ENOENT\") {\n          error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n        }\n\n        _this5._storedError = error;\n\n        _this5._headersCapability.reject(error);\n\n        return;\n      }\n\n      _this5._contentLength = stat.size;\n\n      _this5._setReadableStream(fs.createReadStream(path));\n\n      _this5._headersCapability.resolve();\n    });\n    return _this5;\n  }\n\n  return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n  var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n  function PDFNodeStreamFsRangeReader(stream, start, end) {\n    var _this6;\n\n    _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n    _this6 = _super4.call(this, stream);\n    var path = decodeURIComponent(_this6._url.path);\n\n    if (fileUriRegex.test(_this6._url.href)) {\n      path = path.replace(/^\\//, \"\");\n    }\n\n    _this6._setReadableStream(fs.createReadStream(path, {\n      start: start,\n      end: end - 1\n    }));\n\n    return _this6;\n  }\n\n  return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n\n/***/ \"45fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $some = __webpack_require__(\"b727\").some;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n  some: function some(callbackfn /* , thisArg */) {\n    return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"466d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar anObject = __webpack_require__(\"825a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar advanceStringIndex = __webpack_require__(\"8aa5\");\nvar regExpExec = __webpack_require__(\"14c3\");\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = regexp == undefined ? undefined : regexp[MATCH];\n      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative(nativeMatch, regexp, this);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n\n      if (!rx.global) return regExpExec(rx, S);\n\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n\n\n/***/ }),\n\n/***/ \"4840\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar aFunction = __webpack_require__(\"1c0b\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n\n/***/ }),\n\n/***/ \"4930\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  // Chrome 38 Symbol has incorrect toString conversion\n  // eslint-disable-next-line no-undef\n  return !String(Symbol());\n});\n\n\n/***/ }),\n\n/***/ \"498a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $trim = __webpack_require__(\"58a8\").trim;\nvar forcedStringTrimMethod = __webpack_require__(\"c8d2\");\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"499e\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"default\", function() { return /* binding */ addStylesClient; });\n\n// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nfunction listToStyles (parentId, list) {\n  var styles = []\n  var newStyles = {}\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i]\n    var id = item[0]\n    var css = item[1]\n    var media = item[2]\n    var sourceMap = item[3]\n    var part = {\n      id: parentId + ':' + i,\n      css: css,\n      media: media,\n      sourceMap: sourceMap\n    }\n    if (!newStyles[id]) {\n      styles.push(newStyles[id] = { id: id, parts: [part] })\n    } else {\n      newStyles[id].parts.push(part)\n    }\n  }\n  return styles\n}\n\n// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n  Modified by Evan You @yyx990803\n*/\n\n\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n  if (!hasDocument) {\n    throw new Error(\n    'vue-style-loader cannot be used in a non-browser environment. ' +\n    \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n  ) }\n}\n\n/*\ntype StyleObject = {\n  id: number;\n  parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n  css: string;\n  media: string;\n  sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n  [id: number]: {\n    id: number,\n    refs: number,\n    parts: Array<(obj?: StyleObjectPart) => void>\n  }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nfunction addStylesClient (parentId, list, _isProduction, _options) {\n  isProduction = _isProduction\n\n  options = _options || {}\n\n  var styles = listToStyles(parentId, list)\n  addStylesToDom(styles)\n\n  return function update (newList) {\n    var mayRemove = []\n    for (var i = 0; i < styles.length; i++) {\n      var item = styles[i]\n      var domStyle = stylesInDom[item.id]\n      domStyle.refs--\n      mayRemove.push(domStyle)\n    }\n    if (newList) {\n      styles = listToStyles(parentId, newList)\n      addStylesToDom(styles)\n    } else {\n      styles = []\n    }\n    for (var i = 0; i < mayRemove.length; i++) {\n      var domStyle = mayRemove[i]\n      if (domStyle.refs === 0) {\n        for (var j = 0; j < domStyle.parts.length; j++) {\n          domStyle.parts[j]()\n        }\n        delete stylesInDom[domStyle.id]\n      }\n    }\n  }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n  for (var i = 0; i < styles.length; i++) {\n    var item = styles[i]\n    var domStyle = stylesInDom[item.id]\n    if (domStyle) {\n      domStyle.refs++\n      for (var j = 0; j < domStyle.parts.length; j++) {\n        domStyle.parts[j](item.parts[j])\n      }\n      for (; j < item.parts.length; j++) {\n        domStyle.parts.push(addStyle(item.parts[j]))\n      }\n      if (domStyle.parts.length > item.parts.length) {\n        domStyle.parts.length = item.parts.length\n      }\n    } else {\n      var parts = []\n      for (var j = 0; j < item.parts.length; j++) {\n        parts.push(addStyle(item.parts[j]))\n      }\n      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n    }\n  }\n}\n\nfunction createStyleElement () {\n  var styleElement = document.createElement('style')\n  styleElement.type = 'text/css'\n  head.appendChild(styleElement)\n  return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n  var update, remove\n  var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n  if (styleElement) {\n    if (isProduction) {\n      // has SSR styles and in production mode.\n      // simply do nothing.\n      return noop\n    } else {\n      // has SSR styles but in dev mode.\n      // for some reason Chrome can't handle source map in server-rendered\n      // style tags - source maps in <style> only works if the style tag is\n      // created and inserted dynamically. So we remove the server rendered\n      // styles and inject new ones.\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  if (isOldIE) {\n    // use singleton mode for IE9.\n    var styleIndex = singletonCounter++\n    styleElement = singletonElement || (singletonElement = createStyleElement())\n    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n  } else {\n    // use multi-style-tag mode in all other cases\n    styleElement = createStyleElement()\n    update = applyToTag.bind(null, styleElement)\n    remove = function () {\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  update(obj)\n\n  return function updateStyle (newObj /* StyleObjectPart */) {\n    if (newObj) {\n      if (newObj.css === obj.css &&\n          newObj.media === obj.media &&\n          newObj.sourceMap === obj.sourceMap) {\n        return\n      }\n      update(obj = newObj)\n    } else {\n      remove()\n    }\n  }\n}\n\nvar replaceText = (function () {\n  var textStore = []\n\n  return function (index, replacement) {\n    textStore[index] = replacement\n    return textStore.filter(Boolean).join('\\n')\n  }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n  var css = remove ? '' : obj.css\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = replaceText(index, css)\n  } else {\n    var cssNode = document.createTextNode(css)\n    var childNodes = styleElement.childNodes\n    if (childNodes[index]) styleElement.removeChild(childNodes[index])\n    if (childNodes.length) {\n      styleElement.insertBefore(cssNode, childNodes[index])\n    } else {\n      styleElement.appendChild(cssNode)\n    }\n  }\n}\n\nfunction applyToTag (styleElement, obj) {\n  var css = obj.css\n  var media = obj.media\n  var sourceMap = obj.sourceMap\n\n  if (media) {\n    styleElement.setAttribute('media', media)\n  }\n  if (options.ssrId) {\n    styleElement.setAttribute(ssrIdKey, obj.id)\n  }\n\n  if (sourceMap) {\n    // https://developer.chrome.com/devtools/docs/javascript-debugging\n    // this makes source maps inside style tags work properly in Chrome\n    css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n    // http://stackoverflow.com/a/26603875\n    css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n  }\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild)\n    }\n    styleElement.appendChild(document.createTextNode(css))\n  }\n}\n\n\n/***/ }),\n\n/***/ \"4a4b\":\n/***/ (function(module, exports) {\n\nfunction _setPrototypeOf(o, p) {\n  module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n/***/ }),\n\n/***/ \"4a9b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Float64Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n  return function Float64Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"4ae1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar aFunction = __webpack_require__(\"1c0b\");\nvar anObject = __webpack_require__(\"825a\");\nvar isObject = __webpack_require__(\"861d\");\nvar create = __webpack_require__(\"7c73\");\nvar bind = __webpack_require__(\"0538\");\nvar fails = __webpack_require__(\"d039\");\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n  function F() { /* empty */ }\n  return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n  nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n  construct: function construct(Target, args /* , newTarget */) {\n    aFunction(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n    if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n    if (Target == newTarget) {\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch (args.length) {\n        case 0: return new Target();\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      $args.push.apply($args, args);\n      return new (bind.apply(Target, $args))();\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto = newTarget.prototype;\n    var instance = create(isObject(proto) ? proto : Object.prototype);\n    var result = Function.apply.call(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"4d63\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar isForced = __webpack_require__(\"94ca\");\nvar inheritIfRequired = __webpack_require__(\"7156\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar getOwnPropertyNames = __webpack_require__(\"241c\").f;\nvar isRegExp = __webpack_require__(\"44e7\");\nvar getFlags = __webpack_require__(\"ad6d\");\nvar stickyHelpers = __webpack_require__(\"9f7f\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar fails = __webpack_require__(\"d039\");\nvar setInternalState = __webpack_require__(\"69f3\").set;\nvar setSpecies = __webpack_require__(\"2626\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n  re2[MATCH] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n  var RegExpWrapper = function RegExp(pattern, flags) {\n    var thisIsRegExp = this instanceof RegExpWrapper;\n    var patternIsRegExp = isRegExp(pattern);\n    var flagsAreUndefined = flags === undefined;\n    var sticky;\n\n    if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n      return pattern;\n    }\n\n    if (CORRECT_NEW) {\n      if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n    } else if (pattern instanceof RegExpWrapper) {\n      if (flagsAreUndefined) flags = getFlags.call(pattern);\n      pattern = pattern.source;\n    }\n\n    if (UNSUPPORTED_Y) {\n      sticky = !!flags && flags.indexOf('y') > -1;\n      if (sticky) flags = flags.replace(/y/g, '');\n    }\n\n    var result = inheritIfRequired(\n      CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n      thisIsRegExp ? this : RegExpPrototype,\n      RegExpWrapper\n    );\n\n    if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n    return result;\n  };\n  var proxy = function (key) {\n    key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n      configurable: true,\n      get: function () { return NativeRegExp[key]; },\n      set: function (it) { NativeRegExp[key] = it; }\n    });\n  };\n  var keys = getOwnPropertyNames(NativeRegExp);\n  var index = 0;\n  while (keys.length > index) proxy(keys[index++]);\n  RegExpPrototype.constructor = RegExpWrapper;\n  RegExpWrapper.prototype = RegExpPrototype;\n  redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\n\n/***/ }),\n\n/***/ \"4d64\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"4d90\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $padStart = __webpack_require__(\"0ccb\").start;\nvar WEBKIT_BUG = __webpack_require__(\"9a0c\");\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"4de4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $filter = __webpack_require__(\"b727\").filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"4df4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bind = __webpack_require__(\"0366\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar callWithSafeIterationClosing = __webpack_require__(\"9bdd\");\nvar isArrayIteratorMethod = __webpack_require__(\"e95a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar createProperty = __webpack_require__(\"8418\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var C = typeof this == 'function' ? this : Array;\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  var iteratorMethod = getIteratorMethod(O);\n  var index = 0;\n  var length, result, step, iterator, next, value;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = iteratorMethod.call(O);\n    next = iterator.next;\n    result = new C();\n    for (;!(step = next.call(iterator)).done; index++) {\n      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n      createProperty(result, index, value);\n    }\n  } else {\n    length = toLength(O.length);\n    result = new C(length);\n    for (;length > index; index++) {\n      value = mapping ? mapfn(O[index], index) : O[index];\n      createProperty(result, index, value);\n    }\n  }\n  result.length = index;\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"4ec9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar collection = __webpack_require__(\"6d61\");\nvar collectionStrong = __webpack_require__(\"6566\");\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"50ba\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAc0lEQVR4AWOgM3gx4cUZAnACwwupF8fwKQHKSoPMSserKA1iIduLTbiUAGXYYO6yw6nIlrDzJ6D6URbT+UARKfSgyMDmZHRF7AjnI5yMqcwBRZEN4dDvwx1FciDnYzoZu/NT8Uc3x4vNLzZiOBnT+ZhOBgAIx/kNQRV40AAAAABJRU5ErkJggg==\"\n\n/***/ }),\n\n/***/ \"50c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"5135\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"52f8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n\n/***/ \"5319\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar anObject = __webpack_require__(\"825a\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar advanceStringIndex = __webpack_require__(\"8aa5\");\nvar regExpExec = __webpack_require__(\"14c3\");\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n  var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n  var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = requireObjectCoercible(this);\n      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n      return replacer !== undefined\n        ? replacer.call(searchValue, O, replaceValue)\n        : nativeReplace.call(String(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n    function (regexp, replaceValue) {\n      if (\n        (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n        (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n      ) {\n        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n        if (res.done) return res.value;\n      }\n\n      var rx = anObject(regexp);\n      var S = String(this);\n\n      var functionalReplace = typeof replaceValue === 'function';\n      if (!functionalReplace) replaceValue = String(replaceValue);\n\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n\n        results.push(result);\n        if (!global) break;\n\n        var matchStr = String(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n\n        var matched = String(result[0]);\n        var position = max(min(toInteger(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n\n  // https://tc39.github.io/ecma262/#sec-getsubstitution\n  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n    var tailPos = position + matched.length;\n    var m = captures.length;\n    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n    if (namedCaptures !== undefined) {\n      namedCaptures = toObject(namedCaptures);\n      symbols = SUBSTITUTION_SYMBOLS;\n    }\n    return nativeReplace.call(replacement, symbols, function (match, ch) {\n      var capture;\n      switch (ch.charAt(0)) {\n        case '$': return '$';\n        case '&': return matched;\n        case '`': return str.slice(0, position);\n        case \"'\": return str.slice(tailPos);\n        case '<':\n          capture = namedCaptures[ch.slice(1, -1)];\n          break;\n        default: // \\d\\d?\n          var n = +ch;\n          if (n === 0) return match;\n          if (n > m) {\n            var f = floor(n / 10);\n            if (f === 0) return match;\n            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n            return match;\n          }\n          capture = captures[n - 1];\n      }\n      return capture === undefined ? '' : capture;\n    });\n  }\n});\n\n\n/***/ }),\n\n/***/ \"5377\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar objectDefinePropertyModule = __webpack_require__(\"9bf2\");\nvar regExpFlags = __webpack_require__(\"ad6d\");\nvar UNSUPPORTED_Y = __webpack_require__(\"9f7f\").UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n  objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n    configurable: true,\n    get: regExpFlags\n  });\n}\n\n\n/***/ }),\n\n/***/ \"5692\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(\"c430\");\nvar store = __webpack_require__(\"c6cd\");\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.6.5',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"56ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar anObject = __webpack_require__(\"825a\");\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ \"5899\":\n/***/ (function(module, exports) {\n\n// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n\n/***/ \"58a8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar whitespaces = __webpack_require__(\"5899\");\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n  return function ($this) {\n    var string = String(requireObjectCoercible($this));\n    if (TYPE & 1) string = string.replace(ltrim, '');\n    if (TYPE & 2) string = string.replace(rtrim, '');\n    return string;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n  start: createMethod(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n  end: createMethod(2),\n  // `String.prototype.trim` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n  trim: createMethod(3)\n};\n\n\n/***/ }),\n\n/***/ \"5a34\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isRegExp = __webpack_require__(\"44e7\");\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n\n\n/***/ }),\n\n/***/ \"5a43\":\n/***/ (function(module, exports) {\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\n\n/***/ }),\n\n/***/ \"5bc3\":\n/***/ (function(module, exports) {\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nmodule.exports = _createClass;\n\n/***/ }),\n\n/***/ \"5c6c\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"5cc6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Uint8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n  return function Uint8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"5d41\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar isObject = __webpack_require__(\"861d\");\nvar anObject = __webpack_require__(\"825a\");\nvar has = __webpack_require__(\"5135\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar getPrototypeOf = __webpack_require__(\"e163\");\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n  var receiver = arguments.length < 3 ? target : arguments[2];\n  var descriptor, prototype;\n  if (anObject(target) === receiver) return target[propertyKey];\n  if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n    ? descriptor.value\n    : descriptor.get === undefined\n      ? undefined\n      : descriptor.get.call(receiver);\n  if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n  get: get\n});\n\n\n/***/ }),\n\n/***/ \"5e89\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n\n/***/ \"5f96\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('join', function join(separator) {\n  return $join.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ \"5fb2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n  var output = [];\n  var counter = 0;\n  var length = string.length;\n  while (counter < length) {\n    var value = string.charCodeAt(counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // It's a high surrogate, and there is a next character.\n      var extra = string.charCodeAt(counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // It's an unmatched surrogate; only append this code unit, in case the\n        // next code unit is the high surrogate of a surrogate pair.\n        output.push(value);\n        counter--;\n      }\n    } else {\n      output.push(value);\n    }\n  }\n  return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n    delta = floor(delta / baseMinusTMin);\n  }\n  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line  max-statements\nvar encode = function (input) {\n  var output = [];\n\n  // Convert the input in UCS-2 to an array of Unicode code points.\n  input = ucs2decode(input);\n\n  // Cache the length.\n  var inputLength = input.length;\n\n  // Initialize the state.\n  var n = initialN;\n  var delta = 0;\n  var bias = initialBias;\n  var i, currentValue;\n\n  // Handle the basic code points.\n  for (i = 0; i < input.length; i++) {\n    currentValue = input[i];\n    if (currentValue < 0x80) {\n      output.push(stringFromCharCode(currentValue));\n    }\n  }\n\n  var basicLength = output.length; // number of basic code points.\n  var handledCPCount = basicLength; // number of code points that have been handled;\n\n  // Finish the basic string with a delimiter unless it's empty.\n  if (basicLength) {\n    output.push(delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n    // All non-basic code points < n have been handled already. Find the next larger one:\n    var m = maxInt;\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n    var handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      throw RangeError(OVERFLOW_ERROR);\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue < n && ++delta > maxInt) {\n        throw RangeError(OVERFLOW_ERROR);\n      }\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer.\n        var q = delta;\n        for (var k = base; /* no condition */; k += base) {\n          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) break;\n          var qMinusT = q - t;\n          var baseMinusT = base - t;\n          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n          q = floor(qMinusT / baseMinusT);\n        }\n\n        output.push(stringFromCharCode(digitToBasic(q)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        ++handledCPCount;\n      }\n    }\n\n    ++delta;\n    ++n;\n  }\n  return output.join('');\n};\n\nmodule.exports = function (input) {\n  var encoded = [];\n  var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n  var i, label;\n  for (i = 0; i < labels.length; i++) {\n    label = labels[i];\n    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n  }\n  return encoded.join('.');\n};\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"6062\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar collection = __webpack_require__(\"6d61\");\nvar collectionStrong = __webpack_require__(\"6566\");\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n\n/***/ }),\n\n/***/ \"60bd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(\"da84\");\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar ArrayIterators = __webpack_require__(\"e260\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n  && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n  return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n  return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n  return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n\n\n/***/ }),\n\n/***/ \"60da\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar objectKeys = __webpack_require__(\"df75\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar IndexedObject = __webpack_require__(\"44ad\");\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : nativeAssign;\n\n\n/***/ }),\n\n/***/ \"61a8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"baa5\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"4d63\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"843c\");\n\n__webpack_require__(\"2ca0\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar DOMCanvasFactory = /*#__PURE__*/function () {\n  function DOMCanvasFactory() {\n    _classCallCheck(this, DOMCanvasFactory);\n  }\n\n  _createClass(DOMCanvasFactory, [{\n    key: \"create\",\n    value: function create(width, height) {\n      if (width <= 0 || height <= 0) {\n        throw new Error(\"Invalid canvas size\");\n      }\n\n      var canvas = document.createElement(\"canvas\");\n      var context = canvas.getContext(\"2d\");\n      canvas.width = width;\n      canvas.height = height;\n      return {\n        canvas: canvas,\n        context: context\n      };\n    }\n  }, {\n    key: \"reset\",\n    value: function reset(canvasAndContext, width, height) {\n      if (!canvasAndContext.canvas) {\n        throw new Error(\"Canvas is not specified\");\n      }\n\n      if (width <= 0 || height <= 0) {\n        throw new Error(\"Invalid canvas size\");\n      }\n\n      canvasAndContext.canvas.width = width;\n      canvasAndContext.canvas.height = height;\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy(canvasAndContext) {\n      if (!canvasAndContext.canvas) {\n        throw new Error(\"Canvas is not specified\");\n      }\n\n      canvasAndContext.canvas.width = 0;\n      canvasAndContext.canvas.height = 0;\n      canvasAndContext.canvas = null;\n      canvasAndContext.context = null;\n    }\n  }]);\n\n  return DOMCanvasFactory;\n}();\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function () {\n  function DOMCMapReaderFactory(_ref) {\n    var _ref$baseUrl = _ref.baseUrl,\n        baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n        _ref$isCompressed = _ref.isCompressed,\n        isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n    _classCallCheck(this, DOMCMapReaderFactory);\n\n    this.baseUrl = baseUrl;\n    this.isCompressed = isCompressed;\n  }\n\n  _createClass(DOMCMapReaderFactory, [{\n    key: \"fetch\",\n    value: function (_fetch) {\n      function fetch(_x) {\n        return _fetch.apply(this, arguments);\n      }\n\n      fetch.toString = function () {\n        return _fetch.toString();\n      };\n\n      return fetch;\n    }( /*#__PURE__*/function () {\n      var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref2) {\n        var _this = this;\n\n        var name, url, compressionType;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                name = _ref2.name;\n\n                if (this.baseUrl) {\n                  _context2.next = 3;\n                  break;\n                }\n\n                throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n              case 3:\n                if (name) {\n                  _context2.next = 5;\n                  break;\n                }\n\n                throw new Error(\"CMap name must be specified.\");\n\n              case 5:\n                url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n                compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n                if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n                  _context2.next = 9;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", fetch(url).then( /*#__PURE__*/function () {\n                  var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(response) {\n                    var cMapData;\n                    return regeneratorRuntime.wrap(function _callee$(_context) {\n                      while (1) {\n                        switch (_context.prev = _context.next) {\n                          case 0:\n                            if (response.ok) {\n                              _context.next = 2;\n                              break;\n                            }\n\n                            throw new Error(response.statusText);\n\n                          case 2:\n                            if (!_this.isCompressed) {\n                              _context.next = 10;\n                              break;\n                            }\n\n                            _context.t0 = Uint8Array;\n                            _context.next = 6;\n                            return response.arrayBuffer();\n\n                          case 6:\n                            _context.t1 = _context.sent;\n                            cMapData = new _context.t0(_context.t1);\n                            _context.next = 15;\n                            break;\n\n                          case 10:\n                            _context.t2 = (0, _util.stringToBytes);\n                            _context.next = 13;\n                            return response.text();\n\n                          case 13:\n                            _context.t3 = _context.sent;\n                            cMapData = (0, _context.t2)(_context.t3);\n\n                          case 15:\n                            return _context.abrupt(\"return\", {\n                              cMapData: cMapData,\n                              compressionType: compressionType\n                            });\n\n                          case 16:\n                          case \"end\":\n                            return _context.stop();\n                        }\n                      }\n                    }, _callee);\n                  }));\n\n                  return function (_x3) {\n                    return _ref4.apply(this, arguments);\n                  };\n                }()).catch(function (reason) {\n                  throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n                }));\n\n              case 9:\n                return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n                  var request = new XMLHttpRequest();\n                  request.open(\"GET\", url, true);\n\n                  if (_this.isCompressed) {\n                    request.responseType = \"arraybuffer\";\n                  }\n\n                  request.onreadystatechange = function () {\n                    if (request.readyState !== XMLHttpRequest.DONE) {\n                      return;\n                    }\n\n                    if (request.status === 200 || request.status === 0) {\n                      var cMapData;\n\n                      if (_this.isCompressed && request.response) {\n                        cMapData = new Uint8Array(request.response);\n                      } else if (!_this.isCompressed && request.responseText) {\n                        cMapData = (0, _util.stringToBytes)(request.responseText);\n                      }\n\n                      if (cMapData) {\n                        resolve({\n                          cMapData: cMapData,\n                          compressionType: compressionType\n                        });\n                        return;\n                      }\n                    }\n\n                    reject(new Error(request.statusText));\n                  };\n\n                  request.send(null);\n                }).catch(function (reason) {\n                  throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n                }));\n\n              case 10:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      return function (_x2) {\n        return _ref3.apply(this, arguments);\n      };\n    }())\n  }]);\n\n  return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory = /*#__PURE__*/function () {\n  function DOMSVGFactory() {\n    _classCallCheck(this, DOMSVGFactory);\n  }\n\n  _createClass(DOMSVGFactory, [{\n    key: \"create\",\n    value: function create(width, height) {\n      (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n      var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n      svg.setAttribute(\"version\", \"1.1\");\n      svg.setAttribute(\"width\", width + \"px\");\n      svg.setAttribute(\"height\", height + \"px\");\n      svg.setAttribute(\"preserveAspectRatio\", \"none\");\n      svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n      return svg;\n    }\n  }, {\n    key: \"createElement\",\n    value: function createElement(type) {\n      (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n      return document.createElementNS(SVG_NS, type);\n    }\n  }]);\n\n  return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\n  function PageViewport(_ref5) {\n    var viewBox = _ref5.viewBox,\n        scale = _ref5.scale,\n        rotation = _ref5.rotation,\n        _ref5$offsetX = _ref5.offsetX,\n        offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n        _ref5$offsetY = _ref5.offsetY,\n        offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n        _ref5$dontFlip = _ref5.dontFlip,\n        dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n    _classCallCheck(this, PageViewport);\n\n    this.viewBox = viewBox;\n    this.scale = scale;\n    this.rotation = rotation;\n    this.offsetX = offsetX;\n    this.offsetY = offsetY;\n    var centerX = (viewBox[2] + viewBox[0]) / 2;\n    var centerY = (viewBox[3] + viewBox[1]) / 2;\n    var rotateA, rotateB, rotateC, rotateD;\n    rotation = rotation % 360;\n    rotation = rotation < 0 ? rotation + 360 : rotation;\n\n    switch (rotation) {\n      case 180:\n        rotateA = -1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = 1;\n        break;\n\n      case 90:\n        rotateA = 0;\n        rotateB = 1;\n        rotateC = 1;\n        rotateD = 0;\n        break;\n\n      case 270:\n        rotateA = 0;\n        rotateB = -1;\n        rotateC = -1;\n        rotateD = 0;\n        break;\n\n      default:\n        rotateA = 1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = -1;\n        break;\n    }\n\n    if (dontFlip) {\n      rotateC = -rotateC;\n      rotateD = -rotateD;\n    }\n\n    var offsetCanvasX, offsetCanvasY;\n    var width, height;\n\n    if (rotateA === 0) {\n      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n      width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n      height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n    } else {\n      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n      width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n      height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n    }\n\n    this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n    this.width = width;\n    this.height = height;\n  }\n\n  _createClass(PageViewport, [{\n    key: \"clone\",\n    value: function clone() {\n      var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref6$scale = _ref6.scale,\n          scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n          _ref6$rotation = _ref6.rotation,\n          rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n          _ref6$offsetX = _ref6.offsetX,\n          offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n          _ref6$offsetY = _ref6.offsetY,\n          offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n          _ref6$dontFlip = _ref6.dontFlip,\n          dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n      return new PageViewport({\n        viewBox: this.viewBox.slice(),\n        scale: scale,\n        rotation: rotation,\n        offsetX: offsetX,\n        offsetY: offsetY,\n        dontFlip: dontFlip\n      });\n    }\n  }, {\n    key: \"convertToViewportPoint\",\n    value: function convertToViewportPoint(x, y) {\n      return _util.Util.applyTransform([x, y], this.transform);\n    }\n  }, {\n    key: \"convertToViewportRectangle\",\n    value: function convertToViewportRectangle(rect) {\n      var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n      var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n      return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n    }\n  }, {\n    key: \"convertToPdfPoint\",\n    value: function convertToPdfPoint(x, y) {\n      return _util.Util.applyInverseTransform([x, y], this.transform);\n    }\n  }]);\n\n  return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_util$BaseException) {\n  _inherits(RenderingCancelledException, _util$BaseException);\n\n  var _super = _createSuper(RenderingCancelledException);\n\n  function RenderingCancelledException(msg, type) {\n    var _this2;\n\n    _classCallCheck(this, RenderingCancelledException);\n\n    _this2 = _super.call(this, msg);\n    _this2.type = type;\n    return _this2;\n  }\n\n  return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n  NONE: 0,\n  SELF: 1,\n  BLANK: 2,\n  PARENT: 3,\n  TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link) {\n  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n      url = _ref7.url,\n      target = _ref7.target,\n      rel = _ref7.rel,\n      _ref7$enabled = _ref7.enabled,\n      enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n  (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n  var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n  if (enabled) {\n    link.href = link.title = urlNullRemoved;\n  } else {\n    link.href = \"\";\n    link.title = \"Disabled: \".concat(urlNullRemoved);\n\n    link.onclick = function () {\n      return false;\n    };\n  }\n\n  var targetStr = \"\";\n\n  switch (target) {\n    case LinkTarget.NONE:\n      break;\n\n    case LinkTarget.SELF:\n      targetStr = \"_self\";\n      break;\n\n    case LinkTarget.BLANK:\n      targetStr = \"_blank\";\n      break;\n\n    case LinkTarget.PARENT:\n      targetStr = \"_parent\";\n      break;\n\n    case LinkTarget.TOP:\n      targetStr = \"_top\";\n      break;\n  }\n\n  link.target = targetStr;\n  link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n  var anchor = url.indexOf(\"#\");\n  var query = url.indexOf(\"?\");\n  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n  return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nvar StatTimer = /*#__PURE__*/function () {\n  function StatTimer() {\n    _classCallCheck(this, StatTimer);\n\n    this.started = Object.create(null);\n    this.times = [];\n  }\n\n  _createClass(StatTimer, [{\n    key: \"time\",\n    value: function time(name) {\n      if (name in this.started) {\n        (0, _util.warn)(\"Timer is already running for \".concat(name));\n      }\n\n      this.started[name] = Date.now();\n    }\n  }, {\n    key: \"timeEnd\",\n    value: function timeEnd(name) {\n      if (!(name in this.started)) {\n        (0, _util.warn)(\"Timer has not been started for \".concat(name));\n      }\n\n      this.times.push({\n        name: name,\n        start: this.started[name],\n        end: Date.now()\n      });\n      delete this.started[name];\n    }\n  }, {\n    key: \"toString\",\n    value: function toString() {\n      var outBuf = [];\n      var longest = 0;\n\n      var _iterator = _createForOfIteratorHelper(this.times),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var time = _step.value;\n          var name = time.name;\n\n          if (name.length > longest) {\n            longest = name.length;\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      var _iterator2 = _createForOfIteratorHelper(this.times),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var _time = _step2.value;\n          var duration = _time.end - _time.start;\n          outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      return outBuf.join(\"\");\n    }\n  }]);\n\n  return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n  return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n  try {\n    var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n        protocol = _ref8.protocol;\n\n    return protocol === \"http:\" || protocol === \"https:\";\n  } catch (ex) {\n    return false;\n  }\n}\n\nfunction loadScript(src) {\n  return new Promise(function (resolve, reject) {\n    var script = document.createElement(\"script\");\n    script.src = src;\n    script.onload = resolve;\n\n    script.onerror = function () {\n      reject(new Error(\"Cannot load script at: \".concat(script.src)));\n    };\n\n    (document.head || document.documentElement).appendChild(script);\n  });\n}\n\nfunction deprecated(details) {\n  console.log(\"Deprecated API usage: \" + details);\n}\n\nfunction releaseImageResources(img) {\n  (0, _util.assert)(img instanceof Image, \"Invalid `img` parameter.\");\n  var url = img.src;\n\n  if (typeof url === \"string\" && url.startsWith(\"blob:\") && URL.revokeObjectURL) {\n    URL.revokeObjectURL(url);\n  }\n\n  img.removeAttribute(\"src\");\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n  function PDFDateString() {\n    _classCallCheck(this, PDFDateString);\n  }\n\n  _createClass(PDFDateString, null, [{\n    key: \"toDateObject\",\n    value: function toDateObject(input) {\n      if (!input || !(0, _util.isString)(input)) {\n        return null;\n      }\n\n      if (!pdfDateStringRegex) {\n        pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n      }\n\n      var matches = pdfDateStringRegex.exec(input);\n\n      if (!matches) {\n        return null;\n      }\n\n      var year = parseInt(matches[1], 10);\n      var month = parseInt(matches[2], 10);\n      month = month >= 1 && month <= 12 ? month - 1 : 0;\n      var day = parseInt(matches[3], 10);\n      day = day >= 1 && day <= 31 ? day : 1;\n      var hour = parseInt(matches[4], 10);\n      hour = hour >= 0 && hour <= 23 ? hour : 0;\n      var minute = parseInt(matches[5], 10);\n      minute = minute >= 0 && minute <= 59 ? minute : 0;\n      var second = parseInt(matches[6], 10);\n      second = second >= 0 && second <= 59 ? second : 0;\n      var universalTimeRelation = matches[7] || \"Z\";\n      var offsetHour = parseInt(matches[8], 10);\n      offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n      var offsetMinute = parseInt(matches[9], 10) || 0;\n      offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n      if (universalTimeRelation === \"-\") {\n        hour += offsetHour;\n        minute += offsetMinute;\n      } else if (universalTimeRelation === \"+\") {\n        hour -= offsetHour;\n        minute -= offsetMinute;\n      }\n\n      return new Date(Date.UTC(year, month, day, hour, minute, second));\n    }\n  }]);\n\n  return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n\n/***/ \"621a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(\"da84\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(\"a981\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar fails = __webpack_require__(\"d039\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar toInteger = __webpack_require__(\"a691\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toIndex = __webpack_require__(\"0b25\");\nvar IEEE754 = __webpack_require__(\"77a7\");\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\nvar getOwnPropertyNames = __webpack_require__(\"241c\").f;\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar arrayFill = __webpack_require__(\"81d5\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n  return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n  return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n  return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = bytes.slice(start, start + count);\n  return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = conversion(+value);\n  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n    var byteLength = toIndex(length);\n    setInternalState(this, {\n      bytes: arrayFill.call(new Array(byteLength), 0),\n      byteLength: byteLength\n    });\n    if (!DESCRIPTORS) this.byteLength = byteLength;\n  };\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, $DataView, DATA_VIEW);\n    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n    var bufferLength = getInternalState(buffer).byteLength;\n    var offset = toInteger(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    setInternalState(this, {\n      buffer: buffer,\n      byteLength: byteLength,\n      byteOffset: offset\n    });\n    if (!DESCRIPTORS) {\n      this.buffer = buffer;\n      this.byteLength = byteLength;\n      this.byteOffset = offset;\n    }\n  };\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, 'byteLength');\n    addGetter($DataView, 'buffer');\n    addGetter($DataView, 'byteLength');\n    addGetter($DataView, 'byteOffset');\n  }\n\n  redefineAll($DataView[PROTOTYPE], {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n    }\n  });\n} else {\n  if (!fails(function () {\n    NativeArrayBuffer(1);\n  }) || !fails(function () {\n    new NativeArrayBuffer(-1); // eslint-disable-line no-new\n  }) || fails(function () {\n    new NativeArrayBuffer(); // eslint-disable-line no-new\n    new NativeArrayBuffer(1.5); // eslint-disable-line no-new\n    new NativeArrayBuffer(NaN); // eslint-disable-line no-new\n    return NativeArrayBuffer.name != ARRAY_BUFFER;\n  })) {\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, $ArrayBuffer);\n      return new NativeArrayBuffer(toIndex(length));\n    };\n    var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) {\n        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n      }\n    }\n    ArrayBufferPrototype.constructor = $ArrayBuffer;\n  }\n\n  // WebKit bug - the same parent prototype for typed arrays and data view\n  if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n    setPrototypeOf($DataViewPrototype, ObjectPrototype);\n  }\n\n  // iOS Safari 7.x bug\n  var testView = new $DataView(new $ArrayBuffer(2));\n  var nativeSetInt8 = $DataViewPrototype.setInt8;\n  testView.setInt8(0, 2147483648);\n  testView.setInt8(1, 2147483649);\n  if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n    setInt8: function setInt8(byteOffset, value) {\n      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);\n    }\n  }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n  ArrayBuffer: $ArrayBuffer,\n  DataView: $DataView\n};\n\n\n/***/ }),\n\n/***/ \"62e4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n\n/***/ \"6329\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n;\n\n/***/ }),\n\n/***/ \"6374\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a4d3\");\n\n__webpack_require__(\"e01a\");\n\n__webpack_require__(\"d28b\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\nvar unsupportedIterableToArray = __webpack_require__(\"6613\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n  var it;\n\n  if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n    if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n      if (it) o = it;\n      var i = 0;\n\n      var F = function F() {};\n\n      return {\n        s: F,\n        n: function n() {\n          if (i >= o.length) return {\n            done: true\n          };\n          return {\n            done: false,\n            value: o[i++]\n          };\n        },\n        e: function e(_e) {\n          throw _e;\n        },\n        f: F\n      };\n    }\n\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n\n  var normalCompletion = true,\n      didErr = false,\n      err;\n  return {\n    s: function s() {\n      it = o[Symbol.iterator]();\n    },\n    n: function n() {\n      var step = it.next();\n      normalCompletion = step.done;\n      return step;\n    },\n    e: function e(_e2) {\n      didErr = true;\n      err = _e2;\n    },\n    f: function f() {\n      try {\n        if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n      } finally {\n        if (didErr) throw err;\n      }\n    }\n  };\n}\n\nmodule.exports = _createForOfIteratorHelper;\n\n/***/ }),\n\n/***/ \"649e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $some = __webpack_require__(\"b727\").some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"6547\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = String(requireObjectCoercible($this));\n    var position = toInteger(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ \"6566\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar create = __webpack_require__(\"7c73\");\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar bind = __webpack_require__(\"0366\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar iterate = __webpack_require__(\"2266\");\nvar defineIterator = __webpack_require__(\"7dd0\");\nvar setSpecies = __webpack_require__(\"2626\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fastKey = __webpack_require__(\"f183\").fastKey;\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        index: create(null),\n        first: undefined,\n        last: undefined,\n        size: 0\n      });\n      if (!DESCRIPTORS) that.size = 0;\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var entry = getEntry(that, key);\n      var previous, index;\n      // change existing entry\n      if (entry) {\n        entry.value = value;\n      // create new entry\n      } else {\n        state.last = entry = {\n          index: index = fastKey(key, true),\n          key: key,\n          value: value,\n          previous: previous = state.last,\n          next: undefined,\n          removed: false\n        };\n        if (!state.first) state.first = entry;\n        if (previous) previous.next = entry;\n        if (DESCRIPTORS) state.size++;\n        else that.size++;\n        // add to index\n        if (index !== 'F') state.index[index] = entry;\n      } return that;\n    };\n\n    var getEntry = function (that, key) {\n      var state = getInternalState(that);\n      // fast case\n      var index = fastKey(key);\n      var entry;\n      if (index !== 'F') return state.index[index];\n      // frozen object case\n      for (entry = state.first; entry; entry = entry.next) {\n        if (entry.key == key) return entry;\n      }\n    };\n\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        var that = this;\n        var state = getInternalState(that);\n        var data = state.index;\n        var entry = state.first;\n        while (entry) {\n          entry.removed = true;\n          if (entry.previous) entry.previous = entry.previous.next = undefined;\n          delete data[entry.index];\n          entry = entry.next;\n        }\n        state.first = state.last = undefined;\n        if (DESCRIPTORS) state.size = 0;\n        else that.size = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.next;\n          var prev = entry.previous;\n          delete state.index[entry.index];\n          entry.removed = true;\n          if (prev) prev.next = next;\n          if (next) next.previous = prev;\n          if (state.first == entry) state.first = next;\n          if (state.last == entry) state.last = prev;\n          if (DESCRIPTORS) state.size--;\n          else that.size--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.next : state.first) {\n          boundFunction(entry.value, entry.key, this);\n          // revert to the last existing entry\n          while (entry && entry.removed) entry = entry.previous;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.1.3.6 Map.prototype.get(key)\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // 23.1.3.9 Map.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // 23.2.3.1 Set.prototype.add(value)\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return C;\n  },\n  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n      setInternalState(this, {\n        type: ITERATOR_NAME,\n        target: iterated,\n        state: getInternalCollectionState(iterated),\n        kind: kind,\n        last: undefined\n      });\n    }, function () {\n      var state = getInternalIteratorState(this);\n      var kind = state.kind;\n      var entry = state.last;\n      // revert to the last existing entry\n      while (entry && entry.removed) entry = entry.previous;\n      // get next entry\n      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n        // or finish the iteration\n        state.target = undefined;\n        return { value: undefined, done: true };\n      }\n      // return step by kind\n      if (kind == 'keys') return { value: entry.key, done: false };\n      if (kind == 'values') return { value: entry.value, done: false };\n      return { value: [entry.key, entry.value], done: false };\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n\n\n/***/ }),\n\n/***/ \"65f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n/***/ }),\n\n/***/ \"6613\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a630\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\nvar arrayLikeToArray = __webpack_require__(\"5a43\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\n\n/***/ }),\n\n/***/ \"6634\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"2ca0\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _content_disposition = __webpack_require__(\"9fbe\");\n\nfunction validateRangeRequestCapabilities(_ref) {\n  var getResponseHeader = _ref.getResponseHeader,\n      isHttp = _ref.isHttp,\n      rangeChunkSize = _ref.rangeChunkSize,\n      disableRange = _ref.disableRange;\n  (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n  var returnValues = {\n    allowRangeRequests: false,\n    suggestedLength: undefined\n  };\n  var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n  if (!Number.isInteger(length)) {\n    return returnValues;\n  }\n\n  returnValues.suggestedLength = length;\n\n  if (length <= 2 * rangeChunkSize) {\n    return returnValues;\n  }\n\n  if (disableRange || !isHttp) {\n    return returnValues;\n  }\n\n  if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n    return returnValues;\n  }\n\n  var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n  if (contentEncoding !== \"identity\") {\n    return returnValues;\n  }\n\n  returnValues.allowRangeRequests = true;\n  return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n  var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n  if (contentDisposition) {\n    var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n    if (filename.includes(\"%\")) {\n      try {\n        filename = decodeURIComponent(filename);\n      } catch (ex) {}\n    }\n\n    if (/\\.pdf$/i.test(filename)) {\n      return filename;\n    }\n  }\n\n  return null;\n}\n\nfunction createResponseStatusError(status, url) {\n  if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n    return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n  }\n\n  return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n  return status === 200 || status === 206;\n}\n\n/***/ }),\n\n/***/ \"69f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(\"7f9a\");\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar objectHas = __webpack_require__(\"5135\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ \"6aed\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"dca8\");\n\nvar compatibilityParams = Object.create(null);\n{\n  var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n  var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n  var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n  var isAndroid = /Android/.test(userAgent);\n  var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n\n  (function checkCanvasSizeLimitation() {\n    if (isIOS || isAndroid) {\n      compatibilityParams.maxCanvasPixels = 5242880;\n    }\n  })();\n}\nexports.viewerCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n\n/***/ \"6b58\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar assertThisInitialized = __webpack_require__(\"3c96\");\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\n\n/***/ }),\n\n/***/ \"6c57\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n  globalThis: global\n});\n\n\n/***/ }),\n\n/***/ \"6d61\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar isForced = __webpack_require__(\"94ca\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar InternalMetadataModule = __webpack_require__(\"f183\");\nvar iterate = __webpack_require__(\"2266\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar isObject = __webpack_require__(\"861d\");\nvar fails = __webpack_require__(\"d039\");\nvar checkCorrectnessOfIteration = __webpack_require__(\"1c7e\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar inheritIfRequired = __webpack_require__(\"7156\");\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = global[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var nativeMethod = NativePrototype[KEY];\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        nativeMethod.call(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        nativeMethod.call(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  // eslint-disable-next-line max-len\n  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n    new NativeConstructor().entries().next();\n  })))) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.REQUIRED = true;\n  } else if (isForced(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n\n\n/***/ }),\n\n/***/ \"6d7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n(typeof window !== \"undefined\" ? window : {}).pdfjsWorker = __webpack_require__(\"80e2\");\n\n/***/ }),\n\n/***/ \"6d96\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAXElEQVR4AWMAgRd9L6QZCIEXZ14cfZH2gp2AIjDc8MIWryIYBFlMUBHMYryK8FiMkMZjMUIKj8UICWwWE1a08YUdxdb1v5BBczimJRQGJsISTICwhNKkArYEDwAAaN/49eXnGYUAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"6ea4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"b64b\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFAttachmentViewer = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar PDFAttachmentViewer = /*#__PURE__*/function () {\n  function PDFAttachmentViewer(_ref) {\n    var container = _ref.container,\n        eventBus = _ref.eventBus,\n        downloadManager = _ref.downloadManager;\n\n    _classCallCheck(this, PDFAttachmentViewer);\n\n    this.container = container;\n    this.eventBus = eventBus;\n    this.downloadManager = downloadManager;\n    this.reset();\n\n    this.eventBus._on(\"fileattachmentannotation\", this._appendAttachment.bind(this));\n  }\n\n  _createClass(PDFAttachmentViewer, [{\n    key: \"reset\",\n    value: function reset() {\n      var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      this.attachments = null;\n      this.container.textContent = \"\";\n\n      if (!keepRenderedCapability) {\n        this._renderedCapability = (0, _pdf.createPromiseCapability)();\n      }\n    }\n  }, {\n    key: \"_dispatchEvent\",\n    value: function _dispatchEvent(attachmentsCount) {\n      this._renderedCapability.resolve();\n\n      this.eventBus.dispatch(\"attachmentsloaded\", {\n        source: this,\n        attachmentsCount: attachmentsCount\n      });\n    }\n  }, {\n    key: \"_bindPdfLink\",\n    value: function _bindPdfLink(button, content, filename) {\n      if (this.downloadManager.disableCreateObjectURL) {\n        throw new Error('bindPdfLink: Unsupported \"disableCreateObjectURL\" value.');\n      }\n\n      var blobUrl;\n\n      button.onclick = function () {\n        if (!blobUrl) {\n          blobUrl = (0, _pdf.createObjectURL)(content, \"application/pdf\");\n        }\n\n        var viewerUrl;\n        viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n        window.open(viewerUrl);\n        return false;\n      };\n    }\n  }, {\n    key: \"_bindLink\",\n    value: function _bindLink(button, content, filename) {\n      var _this = this;\n\n      button.onclick = function () {\n        _this.downloadManager.downloadData(content, filename, \"\");\n\n        return false;\n      };\n    }\n  }, {\n    key: \"render\",\n    value: function render(_ref2) {\n      var attachments = _ref2.attachments,\n          _ref2$keepRenderedCap = _ref2.keepRenderedCapability,\n          keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap;\n      var attachmentsCount = 0;\n\n      if (this.attachments) {\n        this.reset(keepRenderedCapability === true);\n      }\n\n      this.attachments = attachments || null;\n\n      if (!attachments) {\n        this._dispatchEvent(attachmentsCount);\n\n        return;\n      }\n\n      var names = Object.keys(attachments).sort(function (a, b) {\n        return a.toLowerCase().localeCompare(b.toLowerCase());\n      });\n      attachmentsCount = names.length;\n\n      for (var i = 0; i < attachmentsCount; i++) {\n        var item = attachments[names[i]];\n        var filename = (0, _pdf.removeNullCharacters)((0, _pdf.getFilenameFromUrl)(item.filename));\n        var div = document.createElement(\"div\");\n        div.className = \"attachmentsItem\";\n        var button = document.createElement(\"button\");\n        button.textContent = filename;\n\n        if (/\\.pdf$/i.test(filename) && !this.downloadManager.disableCreateObjectURL) {\n          this._bindPdfLink(button, item.content, filename);\n        } else {\n          this._bindLink(button, item.content, filename);\n        }\n\n        div.appendChild(button);\n        this.container.appendChild(div);\n      }\n\n      this._dispatchEvent(attachmentsCount);\n    }\n  }, {\n    key: \"_appendAttachment\",\n    value: function _appendAttachment(_ref3) {\n      var _this2 = this;\n\n      var id = _ref3.id,\n          filename = _ref3.filename,\n          content = _ref3.content;\n\n      this._renderedCapability.promise.then(function () {\n        var attachments = _this2.attachments;\n\n        if (!attachments) {\n          attachments = Object.create(null);\n        } else {\n          for (var name in attachments) {\n            if (id === name) {\n              return;\n            }\n          }\n        }\n\n        attachments[id] = {\n          filename: filename,\n          content: content\n        };\n\n        _this2.render({\n          attachments: attachments,\n          keepRenderedCapability: true\n        });\n      });\n    }\n  }]);\n\n  return PDFAttachmentViewer;\n}();\n\nexports.PDFAttachmentViewer = PDFAttachmentViewer;\n\n/***/ }),\n\n/***/ \"6ee0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFCursorTools = exports.CursorTool = void 0;\n\nvar _grab_to_pan = __webpack_require__(\"7ddb\");\n\nvar CursorTool = {\n  SELECT: 0,\n  HAND: 1,\n  ZOOM: 2\n};\nexports.CursorTool = CursorTool;\n\nvar PDFCursorTools = /*#__PURE__*/function () {\n  function PDFCursorTools(_ref) {\n    var _this = this;\n\n    var container = _ref.container,\n        eventBus = _ref.eventBus,\n        _ref$cursorToolOnLoad = _ref.cursorToolOnLoad,\n        cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;\n\n    _classCallCheck(this, PDFCursorTools);\n\n    this.container = container;\n    this.eventBus = eventBus;\n    this.active = CursorTool.SELECT;\n    this.activeBeforePresentationMode = null;\n    this.handTool = new _grab_to_pan.GrabToPan({\n      element: this.container\n    });\n\n    this._addEventListeners();\n\n    Promise.resolve().then(function () {\n      _this.switchTool(cursorToolOnLoad);\n    });\n  }\n\n  _createClass(PDFCursorTools, [{\n    key: \"switchTool\",\n    value: function switchTool(tool) {\n      var _this2 = this;\n\n      if (this.activeBeforePresentationMode !== null) {\n        return;\n      }\n\n      if (tool === this.active) {\n        return;\n      }\n\n      var disableActiveTool = function disableActiveTool() {\n        switch (_this2.active) {\n          case CursorTool.SELECT:\n            break;\n\n          case CursorTool.HAND:\n            _this2.handTool.deactivate();\n\n            break;\n\n          case CursorTool.ZOOM:\n        }\n      };\n\n      switch (tool) {\n        case CursorTool.SELECT:\n          disableActiveTool();\n          break;\n\n        case CursorTool.HAND:\n          disableActiveTool();\n          this.handTool.activate();\n          break;\n\n        case CursorTool.ZOOM:\n        default:\n          console.error(\"switchTool: \\\"\".concat(tool, \"\\\" is an unsupported value.\"));\n          return;\n      }\n\n      this.active = tool;\n\n      this._dispatchEvent();\n    }\n  }, {\n    key: \"_dispatchEvent\",\n    value: function _dispatchEvent() {\n      this.eventBus.dispatch(\"cursortoolchanged\", {\n        source: this,\n        tool: this.active\n      });\n    }\n  }, {\n    key: \"_addEventListeners\",\n    value: function _addEventListeners() {\n      var _this3 = this;\n\n      this.eventBus._on(\"switchcursortool\", function (evt) {\n        _this3.switchTool(evt.tool);\n      });\n\n      this.eventBus._on(\"presentationmodechanged\", function (evt) {\n        if (evt.switchInProgress) {\n          return;\n        }\n\n        var previouslyActive;\n\n        if (evt.active) {\n          previouslyActive = _this3.active;\n\n          _this3.switchTool(CursorTool.SELECT);\n\n          _this3.activeBeforePresentationMode = previouslyActive;\n        } else {\n          previouslyActive = _this3.activeBeforePresentationMode;\n          _this3.activeBeforePresentationMode = null;\n\n          _this3.switchTool(previouslyActive);\n        }\n      });\n    }\n  }, {\n    key: \"activeTool\",\n    get: function get() {\n      return this.active;\n    }\n  }]);\n\n  return PDFCursorTools;\n}();\n\nexports.PDFCursorTools = PDFCursorTools;\n\n/***/ }),\n\n/***/ \"6eeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar inspectSource = __webpack_require__(\"8925\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n\n/***/ \"6f53\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar objectKeys = __webpack_require__(\"df75\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar propertyIsEnumerable = __webpack_require__(\"d1e7\").f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n  return function (it) {\n    var O = toIndexedObject(it);\n    var keys = objectKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.github.io/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.github.io/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"6f8f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"4ae1\");\n\n__webpack_require__(\"25f0\");\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nmodule.exports = _isNativeReflectConstruct;\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"7037\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a4d3\");\n\n__webpack_require__(\"e01a\");\n\n__webpack_require__(\"d28b\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    module.exports = _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    module.exports = _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n/***/ }),\n\n/***/ \"7039\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar nativeGetOwnPropertyNames = __webpack_require__(\"057f\").f;\n\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  getOwnPropertyNames: nativeGetOwnPropertyNames\n});\n\n\n/***/ }),\n\n/***/ \"7086\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PasswordPrompt = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar PasswordPrompt = /*#__PURE__*/function () {\n  function PasswordPrompt(options, overlayManager) {\n    var _this = this;\n\n    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;\n\n    _classCallCheck(this, PasswordPrompt);\n\n    this.overlayName = options.overlayName;\n    this.container = options.container;\n    this.label = options.label;\n    this.input = options.input;\n    this.submitButton = options.submitButton;\n    this.cancelButton = options.cancelButton;\n    this.overlayManager = overlayManager;\n    this.l10n = l10n;\n    this.updateCallback = null;\n    this.reason = null;\n    this.submitButton.addEventListener(\"click\", this.verify.bind(this));\n    this.cancelButton.addEventListener(\"click\", this.close.bind(this));\n    this.input.addEventListener(\"keydown\", function (e) {\n      if (e.keyCode === 13) {\n        _this.verify();\n      }\n    });\n    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true);\n  }\n\n  _createClass(PasswordPrompt, [{\n    key: \"open\",\n    value: function open() {\n      var _this2 = this;\n\n      this.overlayManager.open(this.overlayName).then(function () {\n        _this2.input.focus();\n\n        var promptString;\n\n        if (_this2.reason === _pdf.PasswordResponses.INCORRECT_PASSWORD) {\n          promptString = _this2.l10n.get(\"password_invalid\", null, \"Invalid password. Please try again.\");\n        } else {\n          promptString = _this2.l10n.get(\"password_label\", null, \"Enter the password to open this PDF file.\");\n        }\n\n        promptString.then(function (msg) {\n          _this2.label.textContent = msg;\n        });\n      });\n    }\n  }, {\n    key: \"close\",\n    value: function close() {\n      var _this3 = this;\n\n      this.overlayManager.close(this.overlayName).then(function () {\n        _this3.input.value = \"\";\n      });\n    }\n  }, {\n    key: \"verify\",\n    value: function verify() {\n      var password = this.input.value;\n\n      if (password && password.length > 0) {\n        this.close();\n        this.updateCallback(password);\n      }\n    }\n  }, {\n    key: \"setUpdateCallback\",\n    value: function setUpdateCallback(updateCallback, reason) {\n      this.updateCallback = updateCallback;\n      this.reason = reason;\n    }\n  }]);\n\n  return PasswordPrompt;\n}();\n\nexports.PasswordPrompt = PasswordPrompt;\n\n/***/ }),\n\n/***/ \"7122\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFSidebar = exports.SidebarView = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_rendering_queue = __webpack_require__(\"ef24\");\n\nvar UI_NOTIFICATION_CLASS = \"pdfSidebarNotification\";\nvar SidebarView = {\n  UNKNOWN: -1,\n  NONE: 0,\n  THUMBS: 1,\n  OUTLINE: 2,\n  ATTACHMENTS: 3,\n  LAYERS: 4\n};\nexports.SidebarView = SidebarView;\n\nvar PDFSidebar = /*#__PURE__*/function () {\n  function PDFSidebar(_ref) {\n    var elements = _ref.elements,\n        pdfViewer = _ref.pdfViewer,\n        pdfThumbnailViewer = _ref.pdfThumbnailViewer,\n        eventBus = _ref.eventBus,\n        _ref$l10n = _ref.l10n,\n        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,\n        _ref$disableNotificat = _ref.disableNotification,\n        disableNotification = _ref$disableNotificat === void 0 ? false : _ref$disableNotificat;\n\n    _classCallCheck(this, PDFSidebar);\n\n    this.isOpen = false;\n    this.active = SidebarView.THUMBS;\n    this.isInitialViewSet = false;\n    this.onToggled = null;\n    this.pdfViewer = pdfViewer;\n    this.pdfThumbnailViewer = pdfThumbnailViewer;\n    this.outerContainer = elements.outerContainer;\n    this.viewerContainer = elements.viewerContainer;\n    this.toggleButton = elements.toggleButton;\n    this.thumbnailButton = elements.thumbnailButton;\n    this.outlineButton = elements.outlineButton;\n    this.attachmentsButton = elements.attachmentsButton;\n    this.thumbnailView = elements.thumbnailView;\n    this.outlineView = elements.outlineView;\n    this.attachmentsView = elements.attachmentsView;\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n    this._disableNotification = disableNotification;\n\n    this._addEventListeners();\n  }\n\n  _createClass(PDFSidebar, [{\n    key: \"reset\",\n    value: function reset() {\n      this.isInitialViewSet = false;\n\n      this._hideUINotification(null);\n\n      this.switchView(SidebarView.THUMBS);\n      this.outlineButton.disabled = false;\n      this.attachmentsButton.disabled = false;\n    }\n  }, {\n    key: \"setInitialView\",\n    value: function setInitialView() {\n      var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SidebarView.NONE;\n\n      if (this.isInitialViewSet) {\n        return;\n      }\n\n      this.isInitialViewSet = true;\n\n      if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {\n        this._dispatchEvent();\n\n        return;\n      }\n\n      if (!this._switchView(view, true)) {\n        this._dispatchEvent();\n      }\n    }\n  }, {\n    key: \"switchView\",\n    value: function switchView(view) {\n      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      this._switchView(view, forceOpen);\n    }\n  }, {\n    key: \"_switchView\",\n    value: function _switchView(view) {\n      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var isViewChanged = view !== this.active;\n      var shouldForceRendering = false;\n\n      switch (view) {\n        case SidebarView.NONE:\n          if (this.isOpen) {\n            this.close();\n            return true;\n          }\n\n          return false;\n\n        case SidebarView.THUMBS:\n          if (this.isOpen && isViewChanged) {\n            shouldForceRendering = true;\n          }\n\n          break;\n\n        case SidebarView.OUTLINE:\n          if (this.outlineButton.disabled) {\n            return false;\n          }\n\n          break;\n\n        case SidebarView.ATTACHMENTS:\n          if (this.attachmentsButton.disabled) {\n            return false;\n          }\n\n          break;\n\n        default:\n          console.error(\"PDFSidebar._switchView: \\\"\".concat(view, \"\\\" is not a valid view.\"));\n          return false;\n      }\n\n      this.active = view;\n      this.thumbnailButton.classList.toggle(\"toggled\", view === SidebarView.THUMBS);\n      this.outlineButton.classList.toggle(\"toggled\", view === SidebarView.OUTLINE);\n      this.attachmentsButton.classList.toggle(\"toggled\", view === SidebarView.ATTACHMENTS);\n      this.thumbnailView.classList.toggle(\"hidden\", view !== SidebarView.THUMBS);\n      this.outlineView.classList.toggle(\"hidden\", view !== SidebarView.OUTLINE);\n      this.attachmentsView.classList.toggle(\"hidden\", view !== SidebarView.ATTACHMENTS);\n\n      if (forceOpen && !this.isOpen) {\n        this.open();\n        return true;\n      }\n\n      if (shouldForceRendering) {\n        this._updateThumbnailViewer();\n\n        this._forceRendering();\n      }\n\n      if (isViewChanged) {\n        this._dispatchEvent();\n      }\n\n      this._hideUINotification(this.active);\n\n      return isViewChanged;\n    }\n  }, {\n    key: \"open\",\n    value: function open() {\n      if (this.isOpen) {\n        return;\n      }\n\n      this.isOpen = true;\n      this.toggleButton.classList.add(\"toggled\");\n      this.outerContainer.classList.add(\"sidebarMoving\", \"sidebarOpen\");\n\n      if (this.active === SidebarView.THUMBS) {\n        this._updateThumbnailViewer();\n      }\n\n      this._forceRendering();\n\n      this._dispatchEvent();\n\n      this._hideUINotification(this.active);\n    }\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (!this.isOpen) {\n        return;\n      }\n\n      this.isOpen = false;\n      this.toggleButton.classList.remove(\"toggled\");\n      this.outerContainer.classList.add(\"sidebarMoving\");\n      this.outerContainer.classList.remove(\"sidebarOpen\");\n\n      this._forceRendering();\n\n      this._dispatchEvent();\n    }\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.isOpen) {\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n  }, {\n    key: \"_dispatchEvent\",\n    value: function _dispatchEvent() {\n      this.eventBus.dispatch(\"sidebarviewchanged\", {\n        source: this,\n        view: this.visibleView\n      });\n    }\n  }, {\n    key: \"_forceRendering\",\n    value: function _forceRendering() {\n      if (this.onToggled) {\n        this.onToggled();\n      } else {\n        this.pdfViewer.forceRendering();\n        this.pdfThumbnailViewer.forceRendering();\n      }\n    }\n  }, {\n    key: \"_updateThumbnailViewer\",\n    value: function _updateThumbnailViewer() {\n      var pdfViewer = this.pdfViewer,\n          pdfThumbnailViewer = this.pdfThumbnailViewer;\n      var pagesCount = pdfViewer.pagesCount;\n\n      for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {\n        var pageView = pdfViewer.getPageView(pageIndex);\n\n        if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {\n          var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);\n          thumbnailView.setImage(pageView);\n        }\n      }\n\n      pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);\n    }\n  }, {\n    key: \"_showUINotification\",\n    value: function _showUINotification(view) {\n      var _this = this;\n\n      if (this._disableNotification) {\n        return;\n      }\n\n      this.l10n.get(\"toggle_sidebar_notification.title\", null, \"Toggle Sidebar (document contains outline/attachments)\").then(function (msg) {\n        _this.toggleButton.title = msg;\n      });\n\n      if (!this.isOpen) {\n        this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);\n      } else if (view === this.active) {\n        return;\n      }\n\n      switch (view) {\n        case SidebarView.OUTLINE:\n          this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);\n          break;\n\n        case SidebarView.ATTACHMENTS:\n          this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);\n          break;\n      }\n    }\n  }, {\n    key: \"_hideUINotification\",\n    value: function _hideUINotification(view) {\n      var _this2 = this;\n\n      if (this._disableNotification) {\n        return;\n      }\n\n      var removeNotification = function removeNotification(sidebarView) {\n        switch (sidebarView) {\n          case SidebarView.OUTLINE:\n            _this2.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);\n\n            break;\n\n          case SidebarView.ATTACHMENTS:\n            _this2.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);\n\n            break;\n        }\n      };\n\n      if (!this.isOpen && view !== null) {\n        return;\n      }\n\n      this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);\n\n      if (view !== null) {\n        removeNotification(view);\n        return;\n      }\n\n      for (view in SidebarView) {\n        removeNotification(SidebarView[view]);\n      }\n\n      this.l10n.get(\"toggle_sidebar.title\", null, \"Toggle Sidebar\").then(function (msg) {\n        _this2.toggleButton.title = msg;\n      });\n    }\n  }, {\n    key: \"_addEventListeners\",\n    value: function _addEventListeners() {\n      var _this3 = this;\n\n      this.viewerContainer.addEventListener(\"transitionend\", function (evt) {\n        if (evt.target === _this3.viewerContainer) {\n          _this3.outerContainer.classList.remove(\"sidebarMoving\");\n        }\n      });\n      this.toggleButton.addEventListener(\"click\", function () {\n        _this3.toggle();\n      });\n      this.thumbnailButton.addEventListener(\"click\", function () {\n        _this3.switchView(SidebarView.THUMBS);\n      });\n      this.outlineButton.addEventListener(\"click\", function () {\n        _this3.switchView(SidebarView.OUTLINE);\n      });\n      this.outlineButton.addEventListener(\"dblclick\", function () {\n        _this3.eventBus.dispatch(\"toggleoutlinetree\", {\n          source: _this3\n        });\n      });\n      this.attachmentsButton.addEventListener(\"click\", function () {\n        _this3.switchView(SidebarView.ATTACHMENTS);\n      });\n\n      this.eventBus._on(\"outlineloaded\", function (evt) {\n        var outlineCount = evt.outlineCount;\n        _this3.outlineButton.disabled = !outlineCount;\n\n        if (outlineCount) {\n          _this3._showUINotification(SidebarView.OUTLINE);\n        } else if (_this3.active === SidebarView.OUTLINE) {\n          _this3.switchView(SidebarView.THUMBS);\n        }\n      });\n\n      this.eventBus._on(\"attachmentsloaded\", function (evt) {\n        if (evt.attachmentsCount) {\n          _this3.attachmentsButton.disabled = false;\n\n          _this3._showUINotification(SidebarView.ATTACHMENTS);\n\n          return;\n        }\n\n        Promise.resolve().then(function () {\n          if (_this3.attachmentsView.hasChildNodes()) {\n            return;\n          }\n\n          _this3.attachmentsButton.disabled = true;\n\n          if (_this3.active === SidebarView.ATTACHMENTS) {\n            _this3.switchView(SidebarView.THUMBS);\n          }\n        });\n      });\n\n      this.eventBus._on(\"presentationmodechanged\", function (evt) {\n        if (!evt.active && !evt.switchInProgress && _this3.isThumbnailViewVisible) {\n          _this3._updateThumbnailViewer();\n        }\n      });\n    }\n  }, {\n    key: \"visibleView\",\n    get: function get() {\n      return this.isOpen ? this.active : SidebarView.NONE;\n    }\n  }, {\n    key: \"isThumbnailViewVisible\",\n    get: function get() {\n      return this.isOpen && this.active === SidebarView.THUMBS;\n    }\n  }, {\n    key: \"isOutlineViewVisible\",\n    get: function get() {\n      return this.isOpen && this.active === SidebarView.OUTLINE;\n    }\n  }, {\n    key: \"isAttachmentsViewVisible\",\n    get: function get() {\n      return this.isOpen && this.active === SidebarView.ATTACHMENTS;\n    }\n  }]);\n\n  return PDFSidebar;\n}();\n\nexports.PDFSidebar = PDFSidebar;\n\n/***/ }),\n\n/***/ \"7156\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    typeof (NewTarget = dummy.constructor) == 'function' &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n\n\n/***/ }),\n\n/***/ \"72f7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar exportTypedArrayMethod = __webpack_require__(\"ebb5\").exportTypedArrayMethod;\nvar fails = __webpack_require__(\"d039\");\nvar global = __webpack_require__(\"da84\");\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n  arrayToString = function toString() {\n    return arrayJoin.call(this);\n  };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n\n\n/***/ }),\n\n/***/ \"735e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $fill = __webpack_require__(\"81d5\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n  return $fill.apply(aTypedArray(this), arguments);\n});\n\n\n/***/ }),\n\n/***/ \"7418\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"746f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar has = __webpack_require__(\"5135\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n\n\n/***/ }),\n\n/***/ \"74e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(\"8aa7\");\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar ArrayBufferModule = __webpack_require__(\"621a\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toIndex = __webpack_require__(\"0b25\");\nvar toOffset = __webpack_require__(\"182d\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar has = __webpack_require__(\"5135\");\nvar classof = __webpack_require__(\"f5df\");\nvar isObject = __webpack_require__(\"861d\");\nvar create = __webpack_require__(\"7c73\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\nvar getOwnPropertyNames = __webpack_require__(\"241c\").f;\nvar typedArrayFrom = __webpack_require__(\"a078\");\nvar forEach = __webpack_require__(\"b727\").forEach;\nvar setSpecies = __webpack_require__(\"2626\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar inheritIfRequired = __webpack_require__(\"7156\");\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n  var index = 0;\n  var length = list.length;\n  var result = new (aTypedArrayConstructor(C))(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n};\n\nvar addGetter = function (it, key) {\n  nativeDefineProperty(it, key, { get: function () {\n    return getInternalState(this)[key];\n  } });\n};\n\nvar isArrayBuffer = function (it) {\n  var klass;\n  return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n  return isTypedArray(target)\n    && typeof key != 'symbol'\n    && key in target\n    && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n  return isTypedArrayIndex(target, key = toPrimitive(key, true))\n    ? createPropertyDescriptor(2, target[key])\n    : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n  if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n    && isObject(descriptor)\n    && has(descriptor, 'value')\n    && !has(descriptor, 'get')\n    && !has(descriptor, 'set')\n    // TODO: add validation descriptor w/o calling accessors\n    && !descriptor.configurable\n    && (!has(descriptor, 'writable') || descriptor.writable)\n    && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n  ) {\n    target[key] = descriptor.value;\n    return target;\n  } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n  if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n    definePropertyModule.f = wrappedDefineProperty;\n    addGetter(TypedArrayPrototype, 'buffer');\n    addGetter(TypedArrayPrototype, 'byteOffset');\n    addGetter(TypedArrayPrototype, 'byteLength');\n    addGetter(TypedArrayPrototype, 'length');\n  }\n\n  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n    defineProperty: wrappedDefineProperty\n  });\n\n  module.exports = function (TYPE, wrapper, CLAMPED) {\n    var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + TYPE;\n    var SETTER = 'set' + TYPE;\n    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n    var TypedArrayConstructor = NativeTypedArrayConstructor;\n    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n    var exported = {};\n\n    var getter = function (that, index) {\n      var data = getInternalState(that);\n      return data.view[GETTER](index * BYTES + data.byteOffset, true);\n    };\n\n    var setter = function (that, index, value) {\n      var data = getInternalState(that);\n      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n      data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n    };\n\n    var addElement = function (that, index) {\n      nativeDefineProperty(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n\n    if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n        anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n        var index = 0;\n        var byteOffset = 0;\n        var buffer, byteLength, length;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new ArrayBuffer(byteLength);\n        } else if (isArrayBuffer(data)) {\n          buffer = data;\n          byteOffset = toOffset(offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - byteOffset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (isTypedArray(data)) {\n          return fromList(TypedArrayConstructor, data);\n        } else {\n          return typedArrayFrom.call(TypedArrayConstructor, data);\n        }\n        setInternalState(that, {\n          buffer: buffer,\n          byteOffset: byteOffset,\n          byteLength: byteLength,\n          length: length,\n          view: new DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n        anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n        return inheritIfRequired(function () {\n          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n          if (isArrayBuffer(data)) return $length !== undefined\n            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n            : typedArrayOffset !== undefined\n              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n              : new NativeTypedArrayConstructor(data);\n          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n          return typedArrayFrom.call(TypedArrayConstructor, data);\n        }(), dummy, TypedArrayConstructor);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n        if (!(key in TypedArrayConstructor)) {\n          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n        }\n      });\n      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n    }\n\n    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n    }\n\n    if (TYPED_ARRAY_TAG) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n    }\n\n    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n    $({\n      global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n    }, exported);\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    setSpecies(CONSTRUCTOR_NAME);\n  };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n\n/***/ \"74f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"d81d\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"5319\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nvar _get = __webpack_require__(\"8962\");\n\nvar _getPrototypeOf = __webpack_require__(\"36c6\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SimpleXMLParser = void 0;\nvar XMLParserErrorCode = {\n  NoError: 0,\n  EndOfDocument: -1,\n  UnterminatedCdat: -2,\n  UnterminatedXmlDeclaration: -3,\n  UnterminatedDoctypeDeclaration: -4,\n  UnterminatedComment: -5,\n  MalformedElement: -6,\n  OutOfMemory: -7,\n  UnterminatedAttributeValue: -8,\n  UnterminatedElement: -9,\n  ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n  var ch = s[index];\n  return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n  for (var i = 0, ii = s.length; i < ii; i++) {\n    if (!isWhitespace(s, i)) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n  function XMLParserBase() {\n    _classCallCheck(this, XMLParserBase);\n  }\n\n  _createClass(XMLParserBase, [{\n    key: \"_resolveEntities\",\n    value: function _resolveEntities(s) {\n      var _this = this;\n\n      return s.replace(/&([^;]+);/g, function (all, entity) {\n        if (entity.substring(0, 2) === \"#x\") {\n          return String.fromCharCode(parseInt(entity.substring(2), 16));\n        } else if (entity.substring(0, 1) === \"#\") {\n          return String.fromCharCode(parseInt(entity.substring(1), 10));\n        }\n\n        switch (entity) {\n          case \"lt\":\n            return \"<\";\n\n          case \"gt\":\n            return \">\";\n\n          case \"amp\":\n            return \"&\";\n\n          case \"quot\":\n            return '\"';\n        }\n\n        return _this.onResolveEntity(entity);\n      });\n    }\n  }, {\n    key: \"_parseContent\",\n    value: function _parseContent(s, start) {\n      var attributes = [];\n      var pos = start;\n\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n        ++pos;\n      }\n\n      var name = s.substring(start, pos);\n      skipWs();\n\n      while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n        skipWs();\n        var attrName = \"\",\n            attrValue = \"\";\n\n        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n          attrName += s[pos];\n          ++pos;\n        }\n\n        skipWs();\n\n        if (s[pos] !== \"=\") {\n          return null;\n        }\n\n        ++pos;\n        skipWs();\n        var attrEndChar = s[pos];\n\n        if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n          return null;\n        }\n\n        var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n        if (attrEndIndex < 0) {\n          return null;\n        }\n\n        attrValue = s.substring(pos, attrEndIndex);\n        attributes.push({\n          name: attrName,\n          value: this._resolveEntities(attrValue)\n        });\n        pos = attrEndIndex + 1;\n        skipWs();\n      }\n\n      return {\n        name: name,\n        attributes: attributes,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: \"_parseProcessingInstruction\",\n    value: function _parseProcessingInstruction(s, start) {\n      var pos = start;\n\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n        ++pos;\n      }\n\n      var name = s.substring(start, pos);\n      skipWs();\n      var attrStart = pos;\n\n      while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n        ++pos;\n      }\n\n      var value = s.substring(attrStart, pos);\n      return {\n        name: name,\n        value: value,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: \"parseXml\",\n    value: function parseXml(s) {\n      var i = 0;\n\n      while (i < s.length) {\n        var ch = s[i];\n        var j = i;\n\n        if (ch === \"<\") {\n          ++j;\n          var ch2 = s[j];\n          var q = void 0;\n\n          switch (ch2) {\n            case \"/\":\n              ++j;\n              q = s.indexOf(\">\", j);\n\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n\n              this.onEndElement(s.substring(j, q));\n              j = q + 1;\n              break;\n\n            case \"?\":\n              ++j;\n\n              var pi = this._parseProcessingInstruction(s, j);\n\n              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n                return;\n              }\n\n              this.onPi(pi.name, pi.value);\n              j += pi.parsed + 2;\n              break;\n\n            case \"!\":\n              if (s.substring(j + 1, j + 3) === \"--\") {\n                q = s.indexOf(\"-->\", j + 3);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedComment);\n                  return;\n                }\n\n                this.onComment(s.substring(j + 3, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n                q = s.indexOf(\"]]>\", j + 8);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedCdat);\n                  return;\n                }\n\n                this.onCdata(s.substring(j + 8, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n                var q2 = s.indexOf(\"[\", j + 8);\n                var complexDoctype = false;\n                q = s.indexOf(\">\", j + 8);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                  return;\n                }\n\n                if (q2 > 0 && q > q2) {\n                  q = s.indexOf(\"]>\", j + 8);\n\n                  if (q < 0) {\n                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                    return;\n                  }\n\n                  complexDoctype = true;\n                }\n\n                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n                this.onDoctype(doctypeContent);\n                j = q + (complexDoctype ? 2 : 1);\n              } else {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n\n              break;\n\n            default:\n              var content = this._parseContent(s, j);\n\n              if (content === null) {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n\n              var isClosed = false;\n\n              if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n                isClosed = true;\n              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n\n              this.onBeginElement(content.name, content.attributes, isClosed);\n              j += content.parsed + (isClosed ? 2 : 1);\n              break;\n          }\n        } else {\n          while (j < s.length && s[j] !== \"<\") {\n            j++;\n          }\n\n          var text = s.substring(i, j);\n          this.onText(this._resolveEntities(text));\n        }\n\n        i = j;\n      }\n    }\n  }, {\n    key: \"onResolveEntity\",\n    value: function onResolveEntity(name) {\n      return \"&\".concat(name, \";\");\n    }\n  }, {\n    key: \"onPi\",\n    value: function onPi(name, value) {}\n  }, {\n    key: \"onComment\",\n    value: function onComment(text) {}\n  }, {\n    key: \"onCdata\",\n    value: function onCdata(text) {}\n  }, {\n    key: \"onDoctype\",\n    value: function onDoctype(doctypeContent) {}\n  }, {\n    key: \"onText\",\n    value: function onText(text) {}\n  }, {\n    key: \"onBeginElement\",\n    value: function onBeginElement(name, attributes, isEmpty) {}\n  }, {\n    key: \"onEndElement\",\n    value: function onEndElement(name) {}\n  }, {\n    key: \"onError\",\n    value: function onError(code) {}\n  }]);\n\n  return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n  function SimpleDOMNode(nodeName, nodeValue) {\n    _classCallCheck(this, SimpleDOMNode);\n\n    this.nodeName = nodeName;\n    this.nodeValue = nodeValue;\n    Object.defineProperty(this, \"parentNode\", {\n      value: null,\n      writable: true\n    });\n  }\n\n  _createClass(SimpleDOMNode, [{\n    key: \"hasChildNodes\",\n    value: function hasChildNodes() {\n      return this.childNodes && this.childNodes.length > 0;\n    }\n  }, {\n    key: \"firstChild\",\n    get: function get() {\n      return this.childNodes && this.childNodes[0];\n    }\n  }, {\n    key: \"nextSibling\",\n    get: function get() {\n      var childNodes = this.parentNode.childNodes;\n\n      if (!childNodes) {\n        return undefined;\n      }\n\n      var index = childNodes.indexOf(this);\n\n      if (index === -1) {\n        return undefined;\n      }\n\n      return childNodes[index + 1];\n    }\n  }, {\n    key: \"textContent\",\n    get: function get() {\n      if (!this.childNodes) {\n        return this.nodeValue || \"\";\n      }\n\n      return this.childNodes.map(function (child) {\n        return child.textContent;\n      }).join(\"\");\n    }\n  }]);\n\n  return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n  _inherits(SimpleXMLParser, _XMLParserBase);\n\n  var _super = _createSuper(SimpleXMLParser);\n\n  function SimpleXMLParser() {\n    var _this2;\n\n    _classCallCheck(this, SimpleXMLParser);\n\n    _this2 = _super.call(this);\n    _this2._currentFragment = null;\n    _this2._stack = null;\n    _this2._errorCode = XMLParserErrorCode.NoError;\n    return _this2;\n  }\n\n  _createClass(SimpleXMLParser, [{\n    key: \"parseFromString\",\n    value: function parseFromString(data) {\n      this._currentFragment = [];\n      this._stack = [];\n      this._errorCode = XMLParserErrorCode.NoError;\n      this.parseXml(data);\n\n      if (this._errorCode !== XMLParserErrorCode.NoError) {\n        return undefined;\n      }\n\n      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n          documentElement = _this$_currentFragmen[0];\n\n      if (!documentElement) {\n        return undefined;\n      }\n\n      return {\n        documentElement: documentElement\n      };\n    }\n  }, {\n    key: \"onResolveEntity\",\n    value: function onResolveEntity(name) {\n      switch (name) {\n        case \"apos\":\n          return \"'\";\n      }\n\n      return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n    }\n  }, {\n    key: \"onText\",\n    value: function onText(text) {\n      if (isWhitespaceString(text)) {\n        return;\n      }\n\n      var node = new SimpleDOMNode(\"#text\", text);\n\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: \"onCdata\",\n    value: function onCdata(text) {\n      var node = new SimpleDOMNode(\"#text\", text);\n\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: \"onBeginElement\",\n    value: function onBeginElement(name, attributes, isEmpty) {\n      var node = new SimpleDOMNode(name);\n      node.childNodes = [];\n\n      this._currentFragment.push(node);\n\n      if (isEmpty) {\n        return;\n      }\n\n      this._stack.push(this._currentFragment);\n\n      this._currentFragment = node.childNodes;\n    }\n  }, {\n    key: \"onEndElement\",\n    value: function onEndElement(name) {\n      this._currentFragment = this._stack.pop() || [];\n      var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n      if (!lastElement) {\n        return;\n      }\n\n      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n        lastElement.childNodes[i].parentNode = lastElement;\n      }\n    }\n  }, {\n    key: \"onError\",\n    value: function onError(code) {\n      this._errorCode = code;\n    }\n  }]);\n\n  return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n\n/***/ \"761b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SecondaryToolbar = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_cursor_tools = __webpack_require__(\"6ee0\");\n\nvar _pdf_single_page_viewer = __webpack_require__(\"3642\");\n\nvar SecondaryToolbar = /*#__PURE__*/function () {\n  function SecondaryToolbar(options, mainContainer, eventBus) {\n    var _this = this;\n\n    _classCallCheck(this, SecondaryToolbar);\n\n    this.toolbar = options.toolbar;\n    this.toggleButton = options.toggleButton;\n    this.toolbarButtonContainer = options.toolbarButtonContainer;\n    this.buttons = [{\n      element: options.presentationModeButton,\n      eventName: \"presentationmode\",\n      close: true\n    }, {\n      element: options.openFileButton,\n      eventName: \"openfile\",\n      close: true\n    }, {\n      element: options.printButton,\n      eventName: \"print\",\n      close: true\n    }, {\n      element: options.downloadButton,\n      eventName: \"download\",\n      close: true\n    }, {\n      element: options.viewBookmarkButton,\n      eventName: null,\n      close: true\n    }, {\n      element: options.firstPageButton,\n      eventName: \"firstpage\",\n      close: true\n    }, {\n      element: options.lastPageButton,\n      eventName: \"lastpage\",\n      close: true\n    }, {\n      element: options.pageRotateCwButton,\n      eventName: \"rotatecw\",\n      close: false\n    }, {\n      element: options.pageRotateCcwButton,\n      eventName: \"rotateccw\",\n      close: false\n    }, {\n      element: options.cursorSelectToolButton,\n      eventName: \"switchcursortool\",\n      eventDetails: {\n        tool: _pdf_cursor_tools.CursorTool.SELECT\n      },\n      close: true\n    }, {\n      element: options.cursorHandToolButton,\n      eventName: \"switchcursortool\",\n      eventDetails: {\n        tool: _pdf_cursor_tools.CursorTool.HAND\n      },\n      close: true\n    }, {\n      element: options.scrollVerticalButton,\n      eventName: \"switchscrollmode\",\n      eventDetails: {\n        mode: _ui_utils.ScrollMode.VERTICAL\n      },\n      close: true\n    }, {\n      element: options.scrollHorizontalButton,\n      eventName: \"switchscrollmode\",\n      eventDetails: {\n        mode: _ui_utils.ScrollMode.HORIZONTAL\n      },\n      close: true\n    }, {\n      element: options.scrollWrappedButton,\n      eventName: \"switchscrollmode\",\n      eventDetails: {\n        mode: _ui_utils.ScrollMode.WRAPPED\n      },\n      close: true\n    }, {\n      element: options.spreadNoneButton,\n      eventName: \"switchspreadmode\",\n      eventDetails: {\n        mode: _ui_utils.SpreadMode.NONE\n      },\n      close: true\n    }, {\n      element: options.spreadOddButton,\n      eventName: \"switchspreadmode\",\n      eventDetails: {\n        mode: _ui_utils.SpreadMode.ODD\n      },\n      close: true\n    }, {\n      element: options.spreadEvenButton,\n      eventName: \"switchspreadmode\",\n      eventDetails: {\n        mode: _ui_utils.SpreadMode.EVEN\n      },\n      close: true\n    }, {\n      element: options.documentPropertiesButton,\n      eventName: \"documentproperties\",\n      close: true\n    }];\n    this.items = {\n      firstPage: options.firstPageButton,\n      lastPage: options.lastPageButton,\n      pageRotateCw: options.pageRotateCwButton,\n      pageRotateCcw: options.pageRotateCcwButton\n    };\n    this.mainContainer = mainContainer;\n    this.eventBus = eventBus;\n    this.opened = false;\n    this.containerHeight = null;\n    this.previousContainerHeight = null;\n    this.reset();\n\n    this._bindClickListeners();\n\n    this._bindCursorToolsListener(options);\n\n    this._bindScrollModeListener(options);\n\n    this._bindSpreadModeListener(options);\n\n    this.eventBus._on(\"resize\", this._setMaxHeight.bind(this));\n\n    this.eventBus._on(\"baseviewerinit\", function (evt) {\n      if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {\n        _this.toolbarButtonContainer.classList.add(\"hiddenScrollModeButtons\", \"hiddenSpreadModeButtons\");\n      } else {\n        _this.toolbarButtonContainer.classList.remove(\"hiddenScrollModeButtons\", \"hiddenSpreadModeButtons\");\n      }\n    });\n  }\n\n  _createClass(SecondaryToolbar, [{\n    key: \"setPageNumber\",\n    value: function setPageNumber(pageNumber) {\n      this.pageNumber = pageNumber;\n\n      this._updateUIState();\n    }\n  }, {\n    key: \"setPagesCount\",\n    value: function setPagesCount(pagesCount) {\n      this.pagesCount = pagesCount;\n\n      this._updateUIState();\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.pageNumber = 0;\n      this.pagesCount = 0;\n\n      this._updateUIState();\n\n      this.eventBus.dispatch(\"secondarytoolbarreset\", {\n        source: this\n      });\n    }\n  }, {\n    key: \"_updateUIState\",\n    value: function _updateUIState() {\n      this.items.firstPage.disabled = this.pageNumber <= 1;\n      this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;\n      this.items.pageRotateCw.disabled = this.pagesCount === 0;\n      this.items.pageRotateCcw.disabled = this.pagesCount === 0;\n    }\n  }, {\n    key: \"_bindClickListeners\",\n    value: function _bindClickListeners() {\n      var _this2 = this;\n\n      this.toggleButton.addEventListener(\"click\", this.toggle.bind(this));\n\n      var _iterator = _createForOfIteratorHelper(this.buttons),\n          _step;\n\n      try {\n        var _loop = function _loop() {\n          var _step$value = _step.value,\n              element = _step$value.element,\n              eventName = _step$value.eventName,\n              close = _step$value.close,\n              eventDetails = _step$value.eventDetails;\n          element.addEventListener(\"click\", function (evt) {\n            if (eventName !== null) {\n              var details = {\n                source: _this2\n              };\n\n              for (var property in eventDetails) {\n                details[property] = eventDetails[property];\n              }\n\n              _this2.eventBus.dispatch(eventName, details);\n            }\n\n            if (close) {\n              _this2.close();\n            }\n          });\n        };\n\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n  }, {\n    key: \"_bindCursorToolsListener\",\n    value: function _bindCursorToolsListener(buttons) {\n      this.eventBus._on(\"cursortoolchanged\", function (_ref) {\n        var tool = _ref.tool;\n        buttons.cursorSelectToolButton.classList.toggle(\"toggled\", tool === _pdf_cursor_tools.CursorTool.SELECT);\n        buttons.cursorHandToolButton.classList.toggle(\"toggled\", tool === _pdf_cursor_tools.CursorTool.HAND);\n      });\n    }\n  }, {\n    key: \"_bindScrollModeListener\",\n    value: function _bindScrollModeListener(buttons) {\n      var _this3 = this;\n\n      function scrollModeChanged(_ref2) {\n        var mode = _ref2.mode;\n        buttons.scrollVerticalButton.classList.toggle(\"toggled\", mode === _ui_utils.ScrollMode.VERTICAL);\n        buttons.scrollHorizontalButton.classList.toggle(\"toggled\", mode === _ui_utils.ScrollMode.HORIZONTAL);\n        buttons.scrollWrappedButton.classList.toggle(\"toggled\", mode === _ui_utils.ScrollMode.WRAPPED);\n        var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;\n        buttons.spreadNoneButton.disabled = isScrollModeHorizontal;\n        buttons.spreadOddButton.disabled = isScrollModeHorizontal;\n        buttons.spreadEvenButton.disabled = isScrollModeHorizontal;\n      }\n\n      this.eventBus._on(\"scrollmodechanged\", scrollModeChanged);\n\n      this.eventBus._on(\"secondarytoolbarreset\", function (evt) {\n        if (evt.source === _this3) {\n          scrollModeChanged({\n            mode: _ui_utils.ScrollMode.VERTICAL\n          });\n        }\n      });\n    }\n  }, {\n    key: \"_bindSpreadModeListener\",\n    value: function _bindSpreadModeListener(buttons) {\n      var _this4 = this;\n\n      function spreadModeChanged(_ref3) {\n        var mode = _ref3.mode;\n        buttons.spreadNoneButton.classList.toggle(\"toggled\", mode === _ui_utils.SpreadMode.NONE);\n        buttons.spreadOddButton.classList.toggle(\"toggled\", mode === _ui_utils.SpreadMode.ODD);\n        buttons.spreadEvenButton.classList.toggle(\"toggled\", mode === _ui_utils.SpreadMode.EVEN);\n      }\n\n      this.eventBus._on(\"spreadmodechanged\", spreadModeChanged);\n\n      this.eventBus._on(\"secondarytoolbarreset\", function (evt) {\n        if (evt.source === _this4) {\n          spreadModeChanged({\n            mode: _ui_utils.SpreadMode.NONE\n          });\n        }\n      });\n    }\n  }, {\n    key: \"open\",\n    value: function open() {\n      if (this.opened) {\n        return;\n      }\n\n      this.opened = true;\n\n      this._setMaxHeight();\n\n      this.toggleButton.classList.add(\"toggled\");\n      this.toolbar.classList.remove(\"hidden\");\n    }\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (!this.opened) {\n        return;\n      }\n\n      this.opened = false;\n      this.toolbar.classList.add(\"hidden\");\n      this.toggleButton.classList.remove(\"toggled\");\n    }\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.opened) {\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n  }, {\n    key: \"_setMaxHeight\",\n    value: function _setMaxHeight() {\n      if (!this.opened) {\n        return;\n      }\n\n      this.containerHeight = this.mainContainer.clientHeight;\n\n      if (this.containerHeight === this.previousContainerHeight) {\n        return;\n      }\n\n      this.toolbarButtonContainer.style.maxHeight = \"\".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, \"px\");\n      this.previousContainerHeight = this.containerHeight;\n    }\n  }, {\n    key: \"isOpen\",\n    get: function get() {\n      return this.opened;\n    }\n  }]);\n\n  return SecondaryToolbar;\n}();\n\nexports.SecondaryToolbar = SecondaryToolbar;\n\n/***/ }),\n\n/***/ \"7637\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"ef50ac9e93aaebe3299791c79f277f8e.cur\";\n\n/***/ }),\n\n/***/ \"77a7\":\n/***/ (function(module, exports) {\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = 1 / 0;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n  var buffer = new Array(bytes);\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n  var index = 0;\n  var exponent, mantissa, c;\n  number = abs(number);\n  // eslint-disable-next-line no-self-compare\n  if (number != number || number === Infinity) {\n    // eslint-disable-next-line no-self-compare\n    mantissa = number != number ? 1 : 0;\n    exponent = eMax;\n  } else {\n    exponent = floor(log(number) / LN2);\n    if (number * (c = pow(2, -exponent)) < 1) {\n      exponent--;\n      c *= 2;\n    }\n    if (exponent + eBias >= 1) {\n      number += rt / c;\n    } else {\n      number += rt * pow(2, 1 - eBias);\n    }\n    if (number * c >= 2) {\n      exponent++;\n      c /= 2;\n    }\n    if (exponent + eBias >= eMax) {\n      mantissa = 0;\n      exponent = eMax;\n    } else if (exponent + eBias >= 1) {\n      mantissa = (number * c - 1) * pow(2, mantissaLength);\n      exponent = exponent + eBias;\n    } else {\n      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n      exponent = 0;\n    }\n  }\n  for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n  exponent = exponent << mantissaLength | mantissa;\n  exponentLength += mantissaLength;\n  for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n  buffer[--index] |= sign * 128;\n  return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n  var bytes = buffer.length;\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var nBits = exponentLength - 7;\n  var index = bytes - 1;\n  var sign = buffer[index--];\n  var exponent = sign & 127;\n  var mantissa;\n  sign >>= 7;\n  for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n  mantissa = exponent & (1 << -nBits) - 1;\n  exponent >>= -nBits;\n  nBits += mantissaLength;\n  for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n  if (exponent === 0) {\n    exponent = 1 - eBias;\n  } else if (exponent === eMax) {\n    return mantissa ? NaN : sign ? -Infinity : Infinity;\n  } else {\n    mantissa = mantissa + pow(2, mantissaLength);\n    exponent = exponent - eBias;\n  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n  pack: pack,\n  unpack: unpack\n};\n\n\n/***/ }),\n\n/***/ \"7839\":\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n\n\n/***/ }),\n\n/***/ \"7a15\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"cb29\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"2ca0\");\n\n__webpack_require__(\"cc71\");\n\n__webpack_require__(\"143c\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"fb2c\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _pattern_helper = __webpack_require__(\"1dda\");\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n  if (!ctx.mozCurrentTransform) {\n    ctx._originalSave = ctx.save;\n    ctx._originalRestore = ctx.restore;\n    ctx._originalRotate = ctx.rotate;\n    ctx._originalScale = ctx.scale;\n    ctx._originalTranslate = ctx.translate;\n    ctx._originalTransform = ctx.transform;\n    ctx._originalSetTransform = ctx.setTransform;\n    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n    ctx._transformStack = [];\n    Object.defineProperty(ctx, \"mozCurrentTransform\", {\n      get: function getCurrentTransform() {\n        return this._transformMatrix;\n      }\n    });\n    Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n      get: function getCurrentTransformInverse() {\n        var m = this._transformMatrix;\n        var a = m[0],\n            b = m[1],\n            c = m[2],\n            d = m[3],\n            e = m[4],\n            f = m[5];\n        var ad_bc = a * d - b * c;\n        var bc_ad = b * c - a * d;\n        return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n      }\n    });\n\n    ctx.save = function ctxSave() {\n      var old = this._transformMatrix;\n\n      this._transformStack.push(old);\n\n      this._transformMatrix = old.slice(0, 6);\n\n      this._originalSave();\n    };\n\n    ctx.restore = function ctxRestore() {\n      var prev = this._transformStack.pop();\n\n      if (prev) {\n        this._transformMatrix = prev;\n\n        this._originalRestore();\n      }\n    };\n\n    ctx.translate = function ctxTranslate(x, y) {\n      var m = this._transformMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n\n      this._originalTranslate(x, y);\n    };\n\n    ctx.scale = function ctxScale(x, y) {\n      var m = this._transformMatrix;\n      m[0] = m[0] * x;\n      m[1] = m[1] * x;\n      m[2] = m[2] * y;\n      m[3] = m[3] * y;\n\n      this._originalScale(x, y);\n    };\n\n    ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n      var m = this._transformMatrix;\n      this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n      ctx._originalTransform(a, b, c, d, e, f);\n    };\n\n    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n      this._transformMatrix = [a, b, c, d, e, f];\n\n      ctx._originalSetTransform(a, b, c, d, e, f);\n    };\n\n    ctx.rotate = function ctxRotate(angle) {\n      var cosValue = Math.cos(angle);\n      var sinValue = Math.sin(angle);\n      var m = this._transformMatrix;\n      this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n      this._originalRotate(angle);\n    };\n  }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n  function CachedCanvases(canvasFactory) {\n    this.canvasFactory = canvasFactory;\n    this.cache = Object.create(null);\n  }\n\n  CachedCanvases.prototype = {\n    getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n      var canvasEntry;\n\n      if (this.cache[id] !== undefined) {\n        canvasEntry = this.cache[id];\n        this.canvasFactory.reset(canvasEntry, width, height);\n        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n      } else {\n        canvasEntry = this.canvasFactory.create(width, height);\n        this.cache[id] = canvasEntry;\n      }\n\n      if (trackTransform) {\n        addContextCurrentTransform(canvasEntry.context);\n      }\n\n      return canvasEntry;\n    },\n    clear: function clear() {\n      for (var id in this.cache) {\n        var canvasEntry = this.cache[id];\n        this.canvasFactory.destroy(canvasEntry);\n        delete this.cache[id];\n      }\n    }\n  };\n  return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n  var POINT_TO_PROCESS_LIMIT = 1000;\n  var width = imgData.width,\n      height = imgData.height;\n  var i,\n      j,\n      j0,\n      width1 = width + 1;\n  var points = new Uint8Array(width1 * (height + 1));\n  var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n  var lineSize = width + 7 & ~7,\n      data0 = imgData.data;\n  var data = new Uint8Array(lineSize * height),\n      pos = 0,\n      ii;\n\n  for (i = 0, ii = data0.length; i < ii; i++) {\n    var mask = 128,\n        elem = data0[i];\n\n    while (mask > 0) {\n      data[pos++] = elem & mask ? 0 : 255;\n      mask >>= 1;\n    }\n  }\n\n  var count = 0;\n  pos = 0;\n\n  if (data[pos] !== 0) {\n    points[0] = 1;\n    ++count;\n  }\n\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j] = data[pos] ? 2 : 1;\n      ++count;\n    }\n\n    pos++;\n  }\n\n  if (data[pos] !== 0) {\n    points[j] = 2;\n    ++count;\n  }\n\n  for (i = 1; i < height; i++) {\n    pos = i * lineSize;\n    j0 = i * width1;\n\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0] = data[pos] ? 1 : 8;\n      ++count;\n    }\n\n    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n    for (j = 1; j < width; j++) {\n      sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n      if (POINT_TYPES[sum]) {\n        points[j0 + j] = POINT_TYPES[sum];\n        ++count;\n      }\n\n      pos++;\n    }\n\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0 + j] = data[pos] ? 2 : 4;\n      ++count;\n    }\n\n    if (count > POINT_TO_PROCESS_LIMIT) {\n      return null;\n    }\n  }\n\n  pos = lineSize * (height - 1);\n  j0 = i * width1;\n\n  if (data[pos] !== 0) {\n    points[j0] = 8;\n    ++count;\n  }\n\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j0 + j] = data[pos] ? 4 : 8;\n      ++count;\n    }\n\n    pos++;\n  }\n\n  if (data[pos] !== 0) {\n    points[j0 + j] = 4;\n    ++count;\n  }\n\n  if (count > POINT_TO_PROCESS_LIMIT) {\n    return null;\n  }\n\n  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n  var outlines = [];\n\n  for (i = 0; count && i <= height; i++) {\n    var p = i * width1;\n    var end = p + width;\n\n    while (p < end && !points[p]) {\n      p++;\n    }\n\n    if (p === end) {\n      continue;\n    }\n\n    var coords = [p % width1, i];\n    var type = points[p],\n        p0 = p,\n        pp;\n\n    do {\n      var step = steps[type];\n\n      do {\n        p += step;\n      } while (!points[p]);\n\n      pp = points[p];\n\n      if (pp !== 5 && pp !== 10) {\n        type = pp;\n        points[p] = 0;\n      } else {\n        type = pp & 0x33 * type >> 4;\n        points[p] &= type >> 2 | type << 2;\n      }\n\n      coords.push(p % width1);\n      coords.push(p / width1 | 0);\n\n      if (!points[p]) {\n        --count;\n      }\n    } while (p0 !== p);\n\n    outlines.push(coords);\n    --i;\n  }\n\n  var drawOutline = function drawOutline(c) {\n    c.save();\n    c.scale(1 / width, -1 / height);\n    c.translate(0, -height);\n    c.beginPath();\n\n    for (var i = 0, ii = outlines.length; i < ii; i++) {\n      var o = outlines[i];\n      c.moveTo(o[0], o[1]);\n\n      for (var j = 2, jj = o.length; j < jj; j += 2) {\n        c.lineTo(o[j], o[j + 1]);\n      }\n    }\n\n    c.fill();\n    c.beginPath();\n    c.restore();\n  };\n\n  return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n  function CanvasExtraState() {\n    this.alphaIsShape = false;\n    this.fontSize = 0;\n    this.fontSizeScale = 1;\n    this.textMatrix = _util.IDENTITY_MATRIX;\n    this.textMatrixScale = 1;\n    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n    this.leading = 0;\n    this.x = 0;\n    this.y = 0;\n    this.lineX = 0;\n    this.lineY = 0;\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.textHScale = 1;\n    this.textRenderingMode = _util.TextRenderingMode.FILL;\n    this.textRise = 0;\n    this.fillColor = \"#000000\";\n    this.strokeColor = \"#000000\";\n    this.patternFill = false;\n    this.fillAlpha = 1;\n    this.strokeAlpha = 1;\n    this.lineWidth = 1;\n    this.activeSMask = null;\n    this.resumeSMaskCtx = null;\n  }\n\n  CanvasExtraState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    },\n    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n      this.x = x;\n      this.y = y;\n    }\n  };\n  return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n  var EXECUTION_TIME = 15;\n  var EXECUTION_STEPS = 10;\n\n  function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n    this.ctx = canvasCtx;\n    this.current = new CanvasExtraState();\n    this.stateStack = [];\n    this.pendingClip = null;\n    this.pendingEOFill = false;\n    this.res = null;\n    this.xobjs = null;\n    this.commonObjs = commonObjs;\n    this.objs = objs;\n    this.canvasFactory = canvasFactory;\n    this.webGLContext = webGLContext;\n    this.imageLayer = imageLayer;\n    this.groupStack = [];\n    this.processingType3 = null;\n    this.baseTransform = null;\n    this.baseTransformStack = [];\n    this.groupLevel = 0;\n    this.smaskStack = [];\n    this.smaskCounter = 0;\n    this.tempSMask = null;\n    this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n    if (canvasCtx) {\n      addContextCurrentTransform(canvasCtx);\n    }\n\n    this._cachedGetSinglePixelWidth = null;\n  }\n\n  function putBinaryImageData(ctx, imgData) {\n    if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n      ctx.putImageData(imgData, 0, 0);\n      return;\n    }\n\n    var height = imgData.height,\n        width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0,\n        destPos;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n    var i, j, thisChunkHeight, elemsInThisChunk;\n\n    if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n      var srcLength = src.byteLength;\n      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n      var dest32DataLength = dest32.length;\n      var fullSrcDiff = width + 7 >> 3;\n      var white = 0xffffffff;\n      var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n      for (i = 0; i < totalChunks; i++) {\n        thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n        destPos = 0;\n\n        for (j = 0; j < thisChunkHeight; j++) {\n          var srcDiff = srcLength - srcPos;\n          var k = 0;\n          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n          var kEndUnrolled = kEnd & ~7;\n          var mask = 0;\n          var srcByte = 0;\n\n          for (; k < kEndUnrolled; k += 8) {\n            srcByte = src[srcPos++];\n            dest32[destPos++] = srcByte & 128 ? white : black;\n            dest32[destPos++] = srcByte & 64 ? white : black;\n            dest32[destPos++] = srcByte & 32 ? white : black;\n            dest32[destPos++] = srcByte & 16 ? white : black;\n            dest32[destPos++] = srcByte & 8 ? white : black;\n            dest32[destPos++] = srcByte & 4 ? white : black;\n            dest32[destPos++] = srcByte & 2 ? white : black;\n            dest32[destPos++] = srcByte & 1 ? white : black;\n          }\n\n          for (; k < kEnd; k++) {\n            if (mask === 0) {\n              srcByte = src[srcPos++];\n              mask = 128;\n            }\n\n            dest32[destPos++] = srcByte & mask ? white : black;\n            mask >>= 1;\n          }\n        }\n\n        while (destPos < dest32DataLength) {\n          dest32[destPos++] = 0;\n        }\n\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n      j = 0;\n      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n      for (i = 0; i < fullChunks; i++) {\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        srcPos += elemsInThisChunk;\n        ctx.putImageData(chunkImgData, 0, j);\n        j += FULL_CHUNK_HEIGHT;\n      }\n\n      if (i < totalChunks) {\n        elemsInThisChunk = width * partialChunkHeight * 4;\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        ctx.putImageData(chunkImgData, 0, j);\n      }\n    } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n      thisChunkHeight = FULL_CHUNK_HEIGHT;\n      elemsInThisChunk = width * thisChunkHeight;\n\n      for (i = 0; i < totalChunks; i++) {\n        if (i >= fullChunks) {\n          thisChunkHeight = partialChunkHeight;\n          elemsInThisChunk = width * thisChunkHeight;\n        }\n\n        destPos = 0;\n\n        for (j = elemsInThisChunk; j--;) {\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = 255;\n        }\n\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else {\n      throw new Error(\"bad image kind: \".concat(imgData.kind));\n    }\n  }\n\n  function putBinaryImageMask(ctx, imgData) {\n    var height = imgData.height,\n        width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n\n    for (var i = 0; i < totalChunks; i++) {\n      var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n      var destPos = 3;\n\n      for (var j = 0; j < thisChunkHeight; j++) {\n        var mask = 0;\n\n        for (var k = 0; k < width; k++) {\n          if (!mask) {\n            var elem = src[srcPos++];\n            mask = 128;\n          }\n\n          dest[destPos] = elem & mask ? 0 : 255;\n          destPos += 4;\n          mask >>= 1;\n        }\n      }\n\n      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n    }\n  }\n\n  function copyCtxState(sourceCtx, destCtx) {\n    var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n    for (var i = 0, ii = properties.length; i < ii; i++) {\n      var property = properties[i];\n\n      if (sourceCtx[property] !== undefined) {\n        destCtx[property] = sourceCtx[property];\n      }\n    }\n\n    if (sourceCtx.setLineDash !== undefined) {\n      destCtx.setLineDash(sourceCtx.getLineDash());\n      destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n    }\n  }\n\n  function resetCtxToDefault(ctx) {\n    ctx.strokeStyle = \"#000000\";\n    ctx.fillStyle = \"#000000\";\n    ctx.fillRule = \"nonzero\";\n    ctx.globalAlpha = 1;\n    ctx.lineWidth = 1;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 10;\n    ctx.globalCompositeOperation = \"source-over\";\n    ctx.font = \"10px sans-serif\";\n\n    if (ctx.setLineDash !== undefined) {\n      ctx.setLineDash([]);\n      ctx.lineDashOffset = 0;\n    }\n  }\n\n  function composeSMaskBackdrop(bytes, r0, g0, b0) {\n    var length = bytes.length;\n\n    for (var i = 3; i < length; i += 4) {\n      var alpha = bytes[i];\n\n      if (alpha === 0) {\n        bytes[i - 3] = r0;\n        bytes[i - 2] = g0;\n        bytes[i - 1] = b0;\n      } else if (alpha < 255) {\n        var alpha_ = 255 - alpha;\n        bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n        bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n        bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n      }\n    }\n  }\n\n  function composeSMaskAlpha(maskData, layerData, transferMap) {\n    var length = maskData.length;\n    var scale = 1 / 255;\n\n    for (var i = 3; i < length; i += 4) {\n      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n      layerData[i] = layerData[i] * alpha * scale | 0;\n    }\n  }\n\n  function composeSMaskLuminosity(maskData, layerData, transferMap) {\n    var length = maskData.length;\n\n    for (var i = 3; i < length; i += 4) {\n      var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n      layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n    }\n  }\n\n  function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n    var hasBackdrop = !!backdrop;\n    var r0 = hasBackdrop ? backdrop[0] : 0;\n    var g0 = hasBackdrop ? backdrop[1] : 0;\n    var b0 = hasBackdrop ? backdrop[2] : 0;\n    var composeFn;\n\n    if (subtype === \"Luminosity\") {\n      composeFn = composeSMaskLuminosity;\n    } else {\n      composeFn = composeSMaskAlpha;\n    }\n\n    var PIXELS_TO_PROCESS = 1048576;\n    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n    for (var row = 0; row < height; row += chunkSize) {\n      var chunkHeight = Math.min(chunkSize, height - row);\n      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n      if (hasBackdrop) {\n        composeSMaskBackdrop(maskData.data, r0, g0, b0);\n      }\n\n      composeFn(maskData.data, layerData.data, transferMap);\n      maskCtx.putImageData(layerData, 0, row);\n    }\n  }\n\n  function composeSMask(ctx, smask, layerCtx, webGLContext) {\n    var mask = smask.canvas;\n    var maskCtx = smask.context;\n    ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n    var backdrop = smask.backdrop || null;\n\n    if (!smask.transferMap && webGLContext.isEnabled) {\n      var composed = webGLContext.composeSMask({\n        layer: layerCtx.canvas,\n        mask: mask,\n        properties: {\n          subtype: smask.subtype,\n          backdrop: backdrop\n        }\n      });\n      ctx.setTransform(1, 0, 0, 1, 0, 0);\n      ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n      return;\n    }\n\n    genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n    ctx.drawImage(mask, 0, 0);\n  }\n\n  var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n  var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n  var NORMAL_CLIP = {};\n  var EO_CLIP = {};\n  CanvasGraphics.prototype = {\n    beginDrawing: function beginDrawing(_ref) {\n      var transform = _ref.transform,\n          viewport = _ref.viewport,\n          _ref$transparency = _ref.transparency,\n          transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n          _ref$background = _ref.background,\n          background = _ref$background === void 0 ? null : _ref$background;\n      var width = this.ctx.canvas.width;\n      var height = this.ctx.canvas.height;\n      this.ctx.save();\n      this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n      this.ctx.fillRect(0, 0, width, height);\n      this.ctx.restore();\n\n      if (transparency) {\n        var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n        this.compositeCtx = this.ctx;\n        this.transparentCanvas = transparentCanvas.canvas;\n        this.ctx = transparentCanvas.context;\n        this.ctx.save();\n        this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n      }\n\n      this.ctx.save();\n      resetCtxToDefault(this.ctx);\n\n      if (transform) {\n        this.ctx.transform.apply(this.ctx, transform);\n      }\n\n      this.ctx.transform.apply(this.ctx, viewport.transform);\n      this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n      if (this.imageLayer) {\n        this.imageLayer.beginLayout();\n      }\n    },\n    executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n      var argsArray = operatorList.argsArray;\n      var fnArray = operatorList.fnArray;\n      var i = executionStartIdx || 0;\n      var argsArrayLen = argsArray.length;\n\n      if (argsArrayLen === i) {\n        return i;\n      }\n\n      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n      var steps = 0;\n      var commonObjs = this.commonObjs;\n      var objs = this.objs;\n      var fnId;\n\n      while (true) {\n        if (stepper !== undefined && i === stepper.nextBreakPoint) {\n          stepper.breakIt(i, continueCallback);\n          return i;\n        }\n\n        fnId = fnArray[i];\n\n        if (fnId !== _util.OPS.dependency) {\n          this[fnId].apply(this, argsArray[i]);\n        } else {\n          var _iterator = _createForOfIteratorHelper(argsArray[i]),\n              _step;\n\n          try {\n            for (_iterator.s(); !(_step = _iterator.n()).done;) {\n              var depObjId = _step.value;\n              var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n              if (!objsPool.has(depObjId)) {\n                objsPool.get(depObjId, continueCallback);\n                return i;\n              }\n            }\n          } catch (err) {\n            _iterator.e(err);\n          } finally {\n            _iterator.f();\n          }\n        }\n\n        i++;\n\n        if (i === argsArrayLen) {\n          return i;\n        }\n\n        if (chunkOperations && ++steps > EXECUTION_STEPS) {\n          if (Date.now() > endTime) {\n            continueCallback();\n            return i;\n          }\n\n          steps = 0;\n        }\n      }\n    },\n    endDrawing: function CanvasGraphics_endDrawing() {\n      if (this.current.activeSMask !== null) {\n        this.endSMaskGroup();\n      }\n\n      this.ctx.restore();\n\n      if (this.transparentCanvas) {\n        this.ctx = this.compositeCtx;\n        this.ctx.save();\n        this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n        this.ctx.drawImage(this.transparentCanvas, 0, 0);\n        this.ctx.restore();\n        this.transparentCanvas = null;\n      }\n\n      this.cachedCanvases.clear();\n      this.webGLContext.clear();\n\n      if (this.imageLayer) {\n        this.imageLayer.endLayout();\n      }\n    },\n    setLineWidth: function CanvasGraphics_setLineWidth(width) {\n      this.current.lineWidth = width;\n      this.ctx.lineWidth = width;\n    },\n    setLineCap: function CanvasGraphics_setLineCap(style) {\n      this.ctx.lineCap = LINE_CAP_STYLES[style];\n    },\n    setLineJoin: function CanvasGraphics_setLineJoin(style) {\n      this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n    },\n    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n      this.ctx.miterLimit = limit;\n    },\n    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n      var ctx = this.ctx;\n\n      if (ctx.setLineDash !== undefined) {\n        ctx.setLineDash(dashArray);\n        ctx.lineDashOffset = dashPhase;\n      }\n    },\n    setRenderingIntent: function setRenderingIntent(intent) {},\n    setFlatness: function setFlatness(flatness) {},\n    setGState: function CanvasGraphics_setGState(states) {\n      for (var i = 0, ii = states.length; i < ii; i++) {\n        var state = states[i];\n        var key = state[0];\n        var value = state[1];\n\n        switch (key) {\n          case \"LW\":\n            this.setLineWidth(value);\n            break;\n\n          case \"LC\":\n            this.setLineCap(value);\n            break;\n\n          case \"LJ\":\n            this.setLineJoin(value);\n            break;\n\n          case \"ML\":\n            this.setMiterLimit(value);\n            break;\n\n          case \"D\":\n            this.setDash(value[0], value[1]);\n            break;\n\n          case \"RI\":\n            this.setRenderingIntent(value);\n            break;\n\n          case \"FL\":\n            this.setFlatness(value);\n            break;\n\n          case \"Font\":\n            this.setFont(value[0], value[1]);\n            break;\n\n          case \"CA\":\n            this.current.strokeAlpha = state[1];\n            break;\n\n          case \"ca\":\n            this.current.fillAlpha = state[1];\n            this.ctx.globalAlpha = state[1];\n            break;\n\n          case \"BM\":\n            this.ctx.globalCompositeOperation = value;\n            break;\n\n          case \"SMask\":\n            if (this.current.activeSMask) {\n              if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n                this.suspendSMaskGroup();\n              } else {\n                this.endSMaskGroup();\n              }\n            }\n\n            this.current.activeSMask = value ? this.tempSMask : null;\n\n            if (this.current.activeSMask) {\n              this.beginSMaskGroup();\n            }\n\n            this.tempSMask = null;\n            break;\n        }\n      }\n    },\n    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n      var activeSMask = this.current.activeSMask;\n      var drawnWidth = activeSMask.canvas.width;\n      var drawnHeight = activeSMask.canvas.height;\n      var cacheId = \"smaskGroupAt\" + this.groupLevel;\n      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n      var currentCtx = this.ctx;\n      var currentTransform = currentCtx.mozCurrentTransform;\n      this.ctx.save();\n      var groupCtx = scratchCanvas.context;\n      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n      this.ctx.restore();\n      this.ctx.save();\n      copyCtxState(groupCtx, this.ctx);\n      this.current.resumeSMaskCtx = groupCtx;\n\n      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n      groupCtx.save();\n      groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n      groupCtx.restore();\n    },\n    resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.current.resumeSMaskCtx;\n      var currentCtx = this.ctx;\n      this.ctx = groupCtx;\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n      this.ctx.restore();\n      copyCtxState(groupCtx, this.ctx);\n\n      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n    },\n    save: function CanvasGraphics_save() {\n      this.ctx.save();\n      var old = this.current;\n      this.stateStack.push(old);\n      this.current = old.clone();\n      this.current.resumeSMaskCtx = null;\n    },\n    restore: function CanvasGraphics_restore() {\n      if (this.current.resumeSMaskCtx) {\n        this.resumeSMaskGroup();\n      }\n\n      if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n        this.endSMaskGroup();\n      }\n\n      if (this.stateStack.length !== 0) {\n        this.current = this.stateStack.pop();\n        this.ctx.restore();\n        this.pendingClip = null;\n        this._cachedGetSinglePixelWidth = null;\n      }\n    },\n    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n      this.ctx.transform(a, b, c, d, e, f);\n      this._cachedGetSinglePixelWidth = null;\n    },\n    constructPath: function CanvasGraphics_constructPath(ops, args) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var x = current.x,\n          y = current.y;\n\n      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n        switch (ops[i] | 0) {\n          case _util.OPS.rectangle:\n            x = args[j++];\n            y = args[j++];\n            var width = args[j++];\n            var height = args[j++];\n\n            if (width === 0) {\n              width = this.getSinglePixelWidth();\n            }\n\n            if (height === 0) {\n              height = this.getSinglePixelWidth();\n            }\n\n            var xw = x + width;\n            var yh = y + height;\n            this.ctx.moveTo(x, y);\n            this.ctx.lineTo(xw, y);\n            this.ctx.lineTo(xw, yh);\n            this.ctx.lineTo(x, yh);\n            this.ctx.lineTo(x, y);\n            this.ctx.closePath();\n            break;\n\n          case _util.OPS.moveTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.moveTo(x, y);\n            break;\n\n          case _util.OPS.lineTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.lineTo(x, y);\n            break;\n\n          case _util.OPS.curveTo:\n            x = args[j + 4];\n            y = args[j + 5];\n            ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n            j += 6;\n            break;\n\n          case _util.OPS.curveTo2:\n            ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n            x = args[j + 2];\n            y = args[j + 3];\n            j += 4;\n            break;\n\n          case _util.OPS.curveTo3:\n            x = args[j + 2];\n            y = args[j + 3];\n            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n            j += 4;\n            break;\n\n          case _util.OPS.closePath:\n            ctx.closePath();\n            break;\n        }\n      }\n\n      current.setCurrentPoint(x, y);\n    },\n    closePath: function CanvasGraphics_closePath() {\n      this.ctx.closePath();\n    },\n    stroke: function CanvasGraphics_stroke(consumePath) {\n      consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n      var ctx = this.ctx;\n      var strokeColor = this.current.strokeColor;\n      ctx.globalAlpha = this.current.strokeAlpha;\n\n      if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n        ctx.save();\n        var transform = ctx.mozCurrentTransform;\n\n        var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n        ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n        ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n        ctx.stroke();\n        ctx.restore();\n      } else {\n        ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n        ctx.stroke();\n      }\n\n      if (consumePath) {\n        this.consumePath();\n      }\n\n      ctx.globalAlpha = this.current.fillAlpha;\n    },\n    closeStroke: function CanvasGraphics_closeStroke() {\n      this.closePath();\n      this.stroke();\n    },\n    fill: function CanvasGraphics_fill(consumePath) {\n      consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n      var ctx = this.ctx;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var needRestore = false;\n\n      if (isPatternFill) {\n        ctx.save();\n\n        if (this.baseTransform) {\n          ctx.setTransform.apply(ctx, this.baseTransform);\n        }\n\n        ctx.fillStyle = fillColor.getPattern(ctx, this);\n        needRestore = true;\n      }\n\n      if (this.pendingEOFill) {\n        ctx.fill(\"evenodd\");\n        this.pendingEOFill = false;\n      } else {\n        ctx.fill();\n      }\n\n      if (needRestore) {\n        ctx.restore();\n      }\n\n      if (consumePath) {\n        this.consumePath();\n      }\n    },\n    eoFill: function CanvasGraphics_eoFill() {\n      this.pendingEOFill = true;\n      this.fill();\n    },\n    fillStroke: function CanvasGraphics_fillStroke() {\n      this.fill(false);\n      this.stroke(false);\n      this.consumePath();\n    },\n    eoFillStroke: function CanvasGraphics_eoFillStroke() {\n      this.pendingEOFill = true;\n      this.fillStroke();\n    },\n    closeFillStroke: function CanvasGraphics_closeFillStroke() {\n      this.closePath();\n      this.fillStroke();\n    },\n    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n      this.pendingEOFill = true;\n      this.closePath();\n      this.fillStroke();\n    },\n    endPath: function CanvasGraphics_endPath() {\n      this.consumePath();\n    },\n    clip: function CanvasGraphics_clip() {\n      this.pendingClip = NORMAL_CLIP;\n    },\n    eoClip: function CanvasGraphics_eoClip() {\n      this.pendingClip = EO_CLIP;\n    },\n    beginText: function CanvasGraphics_beginText() {\n      this.current.textMatrix = _util.IDENTITY_MATRIX;\n      this.current.textMatrixScale = 1;\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    endText: function CanvasGraphics_endText() {\n      var paths = this.pendingTextPaths;\n      var ctx = this.ctx;\n\n      if (paths === undefined) {\n        ctx.beginPath();\n        return;\n      }\n\n      ctx.save();\n      ctx.beginPath();\n\n      for (var i = 0; i < paths.length; i++) {\n        var path = paths[i];\n        ctx.setTransform.apply(ctx, path.transform);\n        ctx.translate(path.x, path.y);\n        path.addToPath(ctx, path.fontSize);\n      }\n\n      ctx.restore();\n      ctx.clip();\n      ctx.beginPath();\n      delete this.pendingTextPaths;\n    },\n    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n      this.current.charSpacing = spacing;\n    },\n    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n      this.current.wordSpacing = spacing;\n    },\n    setHScale: function CanvasGraphics_setHScale(scale) {\n      this.current.textHScale = scale / 100;\n    },\n    setLeading: function CanvasGraphics_setLeading(leading) {\n      this.current.leading = -leading;\n    },\n    setFont: function CanvasGraphics_setFont(fontRefName, size) {\n      var fontObj = this.commonObjs.get(fontRefName);\n      var current = this.current;\n\n      if (!fontObj) {\n        throw new Error(\"Can't find font for \".concat(fontRefName));\n      }\n\n      current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n        (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n      }\n\n      if (size < 0) {\n        size = -size;\n        current.fontDirection = -1;\n      } else {\n        current.fontDirection = 1;\n      }\n\n      this.current.font = fontObj;\n      this.current.fontSize = size;\n\n      if (fontObj.isType3Font) {\n        return;\n      }\n\n      var name = fontObj.loadedName || \"sans-serif\";\n      var bold = \"normal\";\n\n      if (fontObj.black) {\n        bold = \"900\";\n      } else if (fontObj.bold) {\n        bold = \"bold\";\n      }\n\n      var italic = fontObj.italic ? \"italic\" : \"normal\";\n      var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n      var browserFontSize = size;\n\n      if (size < MIN_FONT_SIZE) {\n        browserFontSize = MIN_FONT_SIZE;\n      } else if (size > MAX_FONT_SIZE) {\n        browserFontSize = MAX_FONT_SIZE;\n      }\n\n      this.current.fontSizeScale = size / browserFontSize;\n      this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n    },\n    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n      this.current.textRenderingMode = mode;\n    },\n    setTextRise: function CanvasGraphics_setTextRise(rise) {\n      this.current.textRise = rise;\n    },\n    moveText: function CanvasGraphics_moveText(x, y) {\n      this.current.x = this.current.lineX += x;\n      this.current.y = this.current.lineY += y;\n    },\n    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n      this.setLeading(-y);\n      this.moveText(x, y);\n    },\n    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n      this.current.textMatrix = [a, b, c, d, e, f];\n      this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    nextLine: function CanvasGraphics_nextLine() {\n      this.moveText(0, this.current.leading);\n    },\n    paintChar: function paintChar(character, x, y, patternTransform) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var textRenderingMode = current.textRenderingMode;\n      var fontSize = current.fontSize / current.fontSizeScale;\n      var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n      var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n      var patternFill = current.patternFill && font.data;\n      var addToPath;\n\n      if (font.disableFontFace || isAddToPathSet || patternFill) {\n        addToPath = font.getPathGenerator(this.commonObjs, character);\n      }\n\n      if (font.disableFontFace || patternFill) {\n        ctx.save();\n        ctx.translate(x, y);\n        ctx.beginPath();\n        addToPath(ctx, fontSize);\n\n        if (patternTransform) {\n          ctx.setTransform.apply(ctx, patternTransform);\n        }\n\n        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.fill();\n        }\n\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.stroke();\n        }\n\n        ctx.restore();\n      } else {\n        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.fillText(character, x, y);\n        }\n\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          ctx.strokeText(character, x, y);\n        }\n      }\n\n      if (isAddToPathSet) {\n        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n        paths.push({\n          transform: ctx.mozCurrentTransform,\n          x: x,\n          y: y,\n          fontSize: fontSize,\n          addToPath: addToPath\n        });\n      }\n    },\n\n    get isFontSubpixelAAEnabled() {\n      var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n          ctx = _this$cachedCanvases$.context;\n\n      ctx.scale(1.5, 1);\n      ctx.fillText(\"I\", 0, 10);\n      var data = ctx.getImageData(0, 0, 10, 10).data;\n      var enabled = false;\n\n      for (var i = 3; i < data.length; i += 4) {\n        if (data[i] > 0 && data[i] < 255) {\n          enabled = true;\n          break;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n    },\n\n    showText: function CanvasGraphics_showText(glyphs) {\n      var current = this.current;\n      var font = current.font;\n\n      if (font.isType3Font) {\n        return this.showType3Text(glyphs);\n      }\n\n      var fontSize = current.fontSize;\n\n      if (fontSize === 0) {\n        return undefined;\n      }\n\n      var ctx = this.ctx;\n      var fontSizeScale = current.fontSizeScale;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var fontDirection = current.fontDirection;\n      var textHScale = current.textHScale * fontDirection;\n      var glyphsLength = glyphs.length;\n      var vertical = font.vertical;\n      var spacingDir = vertical ? 1 : -1;\n      var defaultVMetrics = font.defaultVMetrics;\n      var widthAdvanceScale = fontSize * current.fontMatrix[0];\n      var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n      ctx.save();\n      var patternTransform;\n\n      if (current.patternFill) {\n        ctx.save();\n        var pattern = current.fillColor.getPattern(ctx, this);\n        patternTransform = ctx.mozCurrentTransform;\n        ctx.restore();\n        ctx.fillStyle = pattern;\n      }\n\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y + current.textRise);\n\n      if (fontDirection > 0) {\n        ctx.scale(textHScale, -1);\n      } else {\n        ctx.scale(textHScale, 1);\n      }\n\n      var lineWidth = current.lineWidth;\n      var scale = current.textMatrixScale;\n\n      if (scale === 0 || lineWidth === 0) {\n        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n          this._cachedGetSinglePixelWidth = null;\n          lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n        }\n      } else {\n        lineWidth /= scale;\n      }\n\n      if (fontSizeScale !== 1.0) {\n        ctx.scale(fontSizeScale, fontSizeScale);\n        lineWidth /= fontSizeScale;\n      }\n\n      ctx.lineWidth = lineWidth;\n      var x = 0,\n          i;\n\n      for (i = 0; i < glyphsLength; ++i) {\n        var glyph = glyphs[i];\n\n        if ((0, _util.isNum)(glyph)) {\n          x += spacingDir * glyph * fontSize / 1000;\n          continue;\n        }\n\n        var restoreNeeded = false;\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var character = glyph.fontChar;\n        var accent = glyph.accent;\n        var scaledX, scaledY, scaledAccentX, scaledAccentY;\n        var width = glyph.width;\n\n        if (vertical) {\n          var vmetric, vx, vy;\n          vmetric = glyph.vmetric || defaultVMetrics;\n          vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n          vx = -vx * widthAdvanceScale;\n          vy = vmetric[2] * widthAdvanceScale;\n          width = vmetric ? -vmetric[0] : width;\n          scaledX = vx / fontSizeScale;\n          scaledY = (x + vy) / fontSizeScale;\n        } else {\n          scaledX = x / fontSizeScale;\n          scaledY = 0;\n        }\n\n        if (font.remeasure && width > 0) {\n          var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n            var characterScaleX = width / measuredWidth;\n            restoreNeeded = true;\n            ctx.save();\n            ctx.scale(characterScaleX, 1);\n            scaledX /= characterScaleX;\n          } else if (width !== measuredWidth) {\n            scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n          }\n        }\n\n        if (glyph.isInFont || font.missingFile) {\n          if (simpleFillText && !accent) {\n            ctx.fillText(character, scaledX, scaledY);\n          } else {\n            this.paintChar(character, scaledX, scaledY, patternTransform);\n\n            if (accent) {\n              scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n              scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n              this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n            }\n          }\n        }\n\n        var charWidth;\n\n        if (vertical) {\n          charWidth = width * widthAdvanceScale - spacing * fontDirection;\n        } else {\n          charWidth = width * widthAdvanceScale + spacing * fontDirection;\n        }\n\n        x += charWidth;\n\n        if (restoreNeeded) {\n          ctx.restore();\n        }\n      }\n\n      if (vertical) {\n        current.y -= x;\n      } else {\n        current.x += x * textHScale;\n      }\n\n      ctx.restore();\n    },\n    showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var fontSize = current.fontSize;\n      var fontDirection = current.fontDirection;\n      var spacingDir = font.vertical ? 1 : -1;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var textHScale = current.textHScale * fontDirection;\n      var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n      var glyphsLength = glyphs.length;\n      var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n      var i, glyph, width, spacingLength;\n\n      if (isTextInvisible || fontSize === 0) {\n        return;\n      }\n\n      this._cachedGetSinglePixelWidth = null;\n      ctx.save();\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y);\n      ctx.scale(textHScale, fontDirection);\n\n      for (i = 0; i < glyphsLength; ++i) {\n        glyph = glyphs[i];\n\n        if ((0, _util.isNum)(glyph)) {\n          spacingLength = spacingDir * glyph * fontSize / 1000;\n          this.ctx.translate(spacingLength, 0);\n          current.x += spacingLength * textHScale;\n          continue;\n        }\n\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n        if (!operatorList) {\n          (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n          continue;\n        }\n\n        this.processingType3 = glyph;\n        this.save();\n        ctx.scale(fontSize, fontSize);\n        ctx.transform.apply(ctx, fontMatrix);\n        this.executeOperatorList(operatorList);\n        this.restore();\n\n        var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n        width = transformed[0] * fontSize + spacing;\n        ctx.translate(width, 0);\n        current.x += width * textHScale;\n      }\n\n      ctx.restore();\n      this.processingType3 = null;\n    },\n    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n      this.ctx.rect(llx, lly, urx - llx, ury - lly);\n      this.clip();\n      this.endPath();\n    },\n    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n      var _this = this;\n\n      var pattern;\n\n      if (IR[0] === \"TilingPattern\") {\n        var color = IR[1];\n        var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n        var canvasGraphicsFactory = {\n          createCanvasGraphics: function createCanvasGraphics(ctx) {\n            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n          }\n        };\n        pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n      } else {\n        pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n      }\n\n      return pattern;\n    },\n    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n      this.current.strokeColor = this.getColorN_Pattern(arguments);\n    },\n    setFillColorN: function CanvasGraphics_setFillColorN() {\n      this.current.fillColor = this.getColorN_Pattern(arguments);\n      this.current.patternFill = true;\n    },\n    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n      var color = _util.Util.makeCssRgb(r, g, b);\n\n      this.ctx.strokeStyle = color;\n      this.current.strokeColor = color;\n    },\n    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n      var color = _util.Util.makeCssRgb(r, g, b);\n\n      this.ctx.fillStyle = color;\n      this.current.fillColor = color;\n      this.current.patternFill = false;\n    },\n    shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n      var ctx = this.ctx;\n      this.save();\n      var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n      ctx.fillStyle = pattern.getPattern(ctx, this, true);\n      var inv = ctx.mozCurrentTransformInverse;\n\n      if (inv) {\n        var canvas = ctx.canvas;\n        var width = canvas.width;\n        var height = canvas.height;\n\n        var bl = _util.Util.applyTransform([0, 0], inv);\n\n        var br = _util.Util.applyTransform([0, height], inv);\n\n        var ul = _util.Util.applyTransform([width, 0], inv);\n\n        var ur = _util.Util.applyTransform([width, height], inv);\n\n        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n      } else {\n        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n      }\n\n      this.restore();\n    },\n    beginInlineImage: function CanvasGraphics_beginInlineImage() {\n      (0, _util.unreachable)(\"Should not call beginInlineImage\");\n    },\n    beginImageData: function CanvasGraphics_beginImageData() {\n      (0, _util.unreachable)(\"Should not call beginImageData\");\n    },\n    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n      this.save();\n      this.baseTransformStack.push(this.baseTransform);\n\n      if (Array.isArray(matrix) && matrix.length === 6) {\n        this.transform.apply(this, matrix);\n      }\n\n      this.baseTransform = this.ctx.mozCurrentTransform;\n\n      if (bbox) {\n        var width = bbox[2] - bbox[0];\n        var height = bbox[3] - bbox[1];\n        this.ctx.rect(bbox[0], bbox[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n    },\n    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n      this.restore();\n      this.baseTransform = this.baseTransformStack.pop();\n    },\n    beginGroup: function CanvasGraphics_beginGroup(group) {\n      this.save();\n      var currentCtx = this.ctx;\n\n      if (!group.isolated) {\n        (0, _util.info)(\"TODO: Support non-isolated groups.\");\n      }\n\n      if (group.knockout) {\n        (0, _util.warn)(\"Knockout groups not supported.\");\n      }\n\n      var currentTransform = currentCtx.mozCurrentTransform;\n\n      if (group.matrix) {\n        currentCtx.transform.apply(currentCtx, group.matrix);\n      }\n\n      if (!group.bbox) {\n        throw new Error(\"Bounding box is required.\");\n      }\n\n      var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n      var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n      bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n      var offsetX = Math.floor(bounds[0]);\n      var offsetY = Math.floor(bounds[1]);\n      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n      var scaleX = 1,\n          scaleY = 1;\n\n      if (drawnWidth > MAX_GROUP_SIZE) {\n        scaleX = drawnWidth / MAX_GROUP_SIZE;\n        drawnWidth = MAX_GROUP_SIZE;\n      }\n\n      if (drawnHeight > MAX_GROUP_SIZE) {\n        scaleY = drawnHeight / MAX_GROUP_SIZE;\n        drawnHeight = MAX_GROUP_SIZE;\n      }\n\n      var cacheId = \"groupAt\" + this.groupLevel;\n\n      if (group.smask) {\n        cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n      }\n\n      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n      var groupCtx = scratchCanvas.context;\n      groupCtx.scale(1 / scaleX, 1 / scaleY);\n      groupCtx.translate(-offsetX, -offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n\n      if (group.smask) {\n        this.smaskStack.push({\n          canvas: scratchCanvas.canvas,\n          context: groupCtx,\n          offsetX: offsetX,\n          offsetY: offsetY,\n          scaleX: scaleX,\n          scaleY: scaleY,\n          subtype: group.smask.subtype,\n          backdrop: group.smask.backdrop,\n          transferMap: group.smask.transferMap || null,\n          startTransformInverse: null\n        });\n      } else {\n        currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n        currentCtx.translate(offsetX, offsetY);\n        currentCtx.scale(scaleX, scaleY);\n      }\n\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n      this.current.activeSMask = null;\n    },\n    endGroup: function CanvasGraphics_endGroup(group) {\n      this.groupLevel--;\n      var groupCtx = this.ctx;\n      this.ctx = this.groupStack.pop();\n\n      if (this.ctx.imageSmoothingEnabled !== undefined) {\n        this.ctx.imageSmoothingEnabled = false;\n      } else {\n        this.ctx.mozImageSmoothingEnabled = false;\n      }\n\n      if (group.smask) {\n        this.tempSMask = this.smaskStack.pop();\n      } else {\n        this.ctx.drawImage(groupCtx.canvas, 0, 0);\n      }\n\n      this.restore();\n    },\n    beginAnnotations: function CanvasGraphics_beginAnnotations() {\n      this.save();\n\n      if (this.baseTransform) {\n        this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n      }\n    },\n    endAnnotations: function CanvasGraphics_endAnnotations() {\n      this.restore();\n    },\n    beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n      this.save();\n      resetCtxToDefault(this.ctx);\n      this.current = new CanvasExtraState();\n\n      if (Array.isArray(rect) && rect.length === 4) {\n        var width = rect[2] - rect[0];\n        var height = rect[3] - rect[1];\n        this.ctx.rect(rect[0], rect[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n\n      this.transform.apply(this, transform);\n      this.transform.apply(this, matrix);\n    },\n    endAnnotation: function CanvasGraphics_endAnnotation() {\n      this.restore();\n    },\n    paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n      var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n      if (!domImage) {\n        (0, _util.warn)(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      this.save();\n      var ctx = this.ctx;\n      ctx.scale(1 / w, -1 / h);\n      ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n      if (this.imageLayer) {\n        var currentTransform = ctx.mozCurrentTransformInverse;\n        var position = this.getCanvasPosition(0, 0);\n        this.imageLayer.appendImage({\n          objId: objId,\n          left: position[0],\n          top: position[1],\n          width: w / currentTransform[0],\n          height: h / currentTransform[3]\n        });\n      }\n\n      this.restore();\n    },\n    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n      var ctx = this.ctx;\n      var width = img.width,\n          height = img.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var glyph = this.processingType3;\n\n      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n          glyph.compiled = compileType3Glyph({\n            data: img.data,\n            width: width,\n            height: height\n          });\n        } else {\n          glyph.compiled = null;\n        }\n      }\n\n      if (glyph && glyph.compiled) {\n        glyph.compiled(ctx);\n        return;\n      }\n\n      var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n      putBinaryImageMask(maskCtx, img);\n      maskCtx.globalCompositeOperation = \"source-in\";\n      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n      maskCtx.restore();\n      this.paintInlineImageXObject(maskCanvas.canvas);\n    },\n    paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n      putBinaryImageMask(maskCtx, imgData);\n      maskCtx.globalCompositeOperation = \"source-in\";\n      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n      maskCtx.restore();\n      var ctx = this.ctx;\n\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        ctx.save();\n        ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n      var ctx = this.ctx;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n\n      for (var i = 0, ii = images.length; i < ii; i++) {\n        var image = images[i];\n        var width = image.width,\n            height = image.height;\n        var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n        var maskCtx = maskCanvas.context;\n        maskCtx.save();\n        putBinaryImageMask(maskCtx, image);\n        maskCtx.globalCompositeOperation = \"source-in\";\n        maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n        maskCtx.fillRect(0, 0, width, height);\n        maskCtx.restore();\n        ctx.save();\n        ctx.transform.apply(ctx, image.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n      if (!imgData) {\n        (0, _util.warn)(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      this.paintInlineImageXObject(imgData);\n    },\n    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n      if (!imgData) {\n        (0, _util.warn)(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      var width = imgData.width;\n      var height = imgData.height;\n      var map = [];\n\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        map.push({\n          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n          x: 0,\n          y: 0,\n          w: width,\n          h: height\n        });\n      }\n\n      this.paintInlineImageXObjectGroup(imgData, map);\n    },\n    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var ctx = this.ctx;\n      this.save();\n      ctx.scale(1 / width, -1 / height);\n      var currentTransform = ctx.mozCurrentTransformInverse;\n      var a = currentTransform[0],\n          b = currentTransform[1];\n      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n      var c = currentTransform[2],\n          d = currentTransform[3];\n      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n      var imgToPaint, tmpCanvas;\n\n      if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n        imgToPaint = imgData;\n      } else {\n        tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n        var tmpCtx = tmpCanvas.context;\n        putBinaryImageData(tmpCtx, imgData);\n        imgToPaint = tmpCanvas.canvas;\n      }\n\n      var paintWidth = width,\n          paintHeight = height;\n      var tmpCanvasId = \"prescale1\";\n\n      while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n        var newWidth = paintWidth,\n            newHeight = paintHeight;\n\n        if (widthScale > 2 && paintWidth > 1) {\n          newWidth = Math.ceil(paintWidth / 2);\n          widthScale /= paintWidth / newWidth;\n        }\n\n        if (heightScale > 2 && paintHeight > 1) {\n          newHeight = Math.ceil(paintHeight / 2);\n          heightScale /= paintHeight / newHeight;\n        }\n\n        tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n        tmpCtx = tmpCanvas.context;\n        tmpCtx.clearRect(0, 0, newWidth, newHeight);\n        tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n        imgToPaint = tmpCanvas.canvas;\n        paintWidth = newWidth;\n        paintHeight = newHeight;\n        tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n      }\n\n      ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n      if (this.imageLayer) {\n        var position = this.getCanvasPosition(0, -height);\n        this.imageLayer.appendImage({\n          imgData: imgData,\n          left: position[0],\n          top: position[1],\n          width: width / currentTransform[0],\n          height: height / currentTransform[3]\n        });\n      }\n\n      this.restore();\n    },\n    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n      var ctx = this.ctx;\n      var w = imgData.width;\n      var h = imgData.height;\n      var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n      var tmpCtx = tmpCanvas.context;\n      putBinaryImageData(tmpCtx, imgData);\n\n      for (var i = 0, ii = map.length; i < ii; i++) {\n        var entry = map[i];\n        ctx.save();\n        ctx.transform.apply(ctx, entry.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n        if (this.imageLayer) {\n          var position = this.getCanvasPosition(entry.x, entry.y);\n          this.imageLayer.appendImage({\n            imgData: imgData,\n            left: position[0],\n            top: position[1],\n            width: w,\n            height: h\n          });\n        }\n\n        ctx.restore();\n      }\n    },\n    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n      this.ctx.fillRect(0, 0, 1, 1);\n    },\n    paintXObject: function CanvasGraphics_paintXObject() {\n      (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n    },\n    markPoint: function CanvasGraphics_markPoint(tag) {},\n    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n    endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n    beginCompat: function CanvasGraphics_beginCompat() {},\n    endCompat: function CanvasGraphics_endCompat() {},\n    consumePath: function CanvasGraphics_consumePath() {\n      var ctx = this.ctx;\n\n      if (this.pendingClip) {\n        if (this.pendingClip === EO_CLIP) {\n          ctx.clip(\"evenodd\");\n        } else {\n          ctx.clip();\n        }\n\n        this.pendingClip = null;\n      }\n\n      ctx.beginPath();\n    },\n    getSinglePixelWidth: function getSinglePixelWidth(scale) {\n      if (this._cachedGetSinglePixelWidth === null) {\n        var inverse = this.ctx.mozCurrentTransformInverse;\n        this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n      }\n\n      return this._cachedGetSinglePixelWidth;\n    },\n    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n      var transform = this.ctx.mozCurrentTransform;\n      return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n    }\n  };\n\n  for (var op in _util.OPS) {\n    CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n  }\n\n  return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n\n/***/ \"7b0b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ \"7c73\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar defineProperties = __webpack_require__(\"37e8\");\nvar enumBugKeys = __webpack_require__(\"7839\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar html = __webpack_require__(\"1be4\");\nvar documentCreateElement = __webpack_require__(\"cc12\");\nvar sharedKey = __webpack_require__(\"f772\");\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    /* global ActiveXObject */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"7db0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $find = __webpack_require__(\"b727\").find;\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\n\n/***/ }),\n\n/***/ \"7dd0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar createIteratorConstructor = __webpack_require__(\"9ed3\");\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar IteratorsCore = __webpack_require__(\"ae93\");\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    } return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    INCORRECT_VALUES_NAME = true;\n    defaultIterator = function values() { return nativeIterator.call(this); };\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n  }\n  Iterators[NAME] = defaultIterator;\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        redefine(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ \"7ddb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"45fc\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.GrabToPan = GrabToPan;\n\nfunction GrabToPan(options) {\n  this.element = options.element;\n  this.document = options.element.ownerDocument;\n\n  if (typeof options.ignoreTarget === \"function\") {\n    this.ignoreTarget = options.ignoreTarget;\n  }\n\n  this.onActiveChanged = options.onActiveChanged;\n  this.activate = this.activate.bind(this);\n  this.deactivate = this.deactivate.bind(this);\n  this.toggle = this.toggle.bind(this);\n  this._onmousedown = this._onmousedown.bind(this);\n  this._onmousemove = this._onmousemove.bind(this);\n  this._endPan = this._endPan.bind(this);\n  var overlay = this.overlay = document.createElement(\"div\");\n  overlay.className = \"grab-to-pan-grabbing\";\n}\n\nGrabToPan.prototype = {\n  CSS_CLASS_GRAB: \"grab-to-pan-grab\",\n  activate: function GrabToPan_activate() {\n    if (!this.active) {\n      this.active = true;\n      this.element.addEventListener(\"mousedown\", this._onmousedown, true);\n      this.element.classList.add(this.CSS_CLASS_GRAB);\n\n      if (this.onActiveChanged) {\n        this.onActiveChanged(true);\n      }\n    }\n  },\n  deactivate: function GrabToPan_deactivate() {\n    if (this.active) {\n      this.active = false;\n      this.element.removeEventListener(\"mousedown\", this._onmousedown, true);\n\n      this._endPan();\n\n      this.element.classList.remove(this.CSS_CLASS_GRAB);\n\n      if (this.onActiveChanged) {\n        this.onActiveChanged(false);\n      }\n    }\n  },\n  toggle: function GrabToPan_toggle() {\n    if (this.active) {\n      this.deactivate();\n    } else {\n      this.activate();\n    }\n  },\n  ignoreTarget: function GrabToPan_ignoreTarget(node) {\n    return node[matchesSelector](\"a[href], a[href] *, input, textarea, button, button *, select, option\");\n  },\n  _onmousedown: function GrabToPan__onmousedown(event) {\n    if (event.button !== 0 || this.ignoreTarget(event.target)) {\n      return;\n    }\n\n    if (event.originalTarget) {\n      try {\n        event.originalTarget.tagName;\n      } catch (e) {\n        return;\n      }\n    }\n\n    this.scrollLeftStart = this.element.scrollLeft;\n    this.scrollTopStart = this.element.scrollTop;\n    this.clientXStart = event.clientX;\n    this.clientYStart = event.clientY;\n    this.document.addEventListener(\"mousemove\", this._onmousemove, true);\n    this.document.addEventListener(\"mouseup\", this._endPan, true);\n    this.element.addEventListener(\"scroll\", this._endPan, true);\n    event.preventDefault();\n    event.stopPropagation();\n    var focusedElement = document.activeElement;\n\n    if (focusedElement && !focusedElement.contains(event.target)) {\n      focusedElement.blur();\n    }\n  },\n  _onmousemove: function GrabToPan__onmousemove(event) {\n    this.element.removeEventListener(\"scroll\", this._endPan, true);\n\n    if (isLeftMouseReleased(event)) {\n      this._endPan();\n\n      return;\n    }\n\n    var xDiff = event.clientX - this.clientXStart;\n    var yDiff = event.clientY - this.clientYStart;\n    var scrollTop = this.scrollTopStart - yDiff;\n    var scrollLeft = this.scrollLeftStart - xDiff;\n\n    if (this.element.scrollTo) {\n      this.element.scrollTo({\n        top: scrollTop,\n        left: scrollLeft,\n        behavior: \"instant\"\n      });\n    } else {\n      this.element.scrollTop = scrollTop;\n      this.element.scrollLeft = scrollLeft;\n    }\n\n    if (!this.overlay.parentNode) {\n      document.body.appendChild(this.overlay);\n    }\n  },\n  _endPan: function GrabToPan__endPan() {\n    this.element.removeEventListener(\"scroll\", this._endPan, true);\n    this.document.removeEventListener(\"mousemove\", this._onmousemove, true);\n    this.document.removeEventListener(\"mouseup\", this._endPan, true);\n    this.overlay.remove();\n  }\n};\nvar matchesSelector;\n[\"webkitM\", \"mozM\", \"msM\", \"oM\", \"m\"].some(function (prefix) {\n  var name = prefix + \"atches\";\n\n  if (name in document.documentElement) {\n    matchesSelector = name;\n  }\n\n  name += \"Selector\";\n\n  if (name in document.documentElement) {\n    matchesSelector = name;\n  }\n\n  return matchesSelector;\n});\nvar isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9;\nvar chrome = window.chrome;\nvar isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);\nvar isSafari6plus = /Apple/.test(navigator.vendor) && /Version\\/([6-9]\\d*|[1-5]\\d+)/.test(navigator.userAgent);\n\nfunction isLeftMouseReleased(event) {\n  if (\"buttons\" in event && isNotIEorIsIE10plus) {\n    return !(event.buttons & 1);\n  }\n\n  if (isChrome15OrOpera15plus || isSafari6plus) {\n    return event.which === 0;\n  }\n\n  return false;\n}\n\n/***/ }),\n\n/***/ \"7f9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar inspectSource = __webpack_require__(\"8925\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n\n/***/ \"7fc1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"cfc3\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar WebGLContext = /*#__PURE__*/function () {\n  function WebGLContext(_ref) {\n    var _ref$enable = _ref.enable,\n        enable = _ref$enable === void 0 ? false : _ref$enable;\n\n    _classCallCheck(this, WebGLContext);\n\n    this._enabled = enable === true;\n  }\n\n  _createClass(WebGLContext, [{\n    key: \"composeSMask\",\n    value: function composeSMask(_ref2) {\n      var layer = _ref2.layer,\n          mask = _ref2.mask,\n          properties = _ref2.properties;\n      return WebGLUtils.composeSMask(layer, mask, properties);\n    }\n  }, {\n    key: \"drawFigures\",\n    value: function drawFigures(_ref3) {\n      var width = _ref3.width,\n          height = _ref3.height,\n          backgroundColor = _ref3.backgroundColor,\n          figures = _ref3.figures,\n          context = _ref3.context;\n      return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      WebGLUtils.cleanup();\n    }\n  }, {\n    key: \"isEnabled\",\n    get: function get() {\n      var enabled = this._enabled;\n\n      if (enabled) {\n        enabled = WebGLUtils.tryInitGL();\n      }\n\n      return (0, _util.shadow)(this, \"isEnabled\", enabled);\n    }\n  }]);\n\n  return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n  function loadShader(gl, code, shaderType) {\n    var shader = gl.createShader(shaderType);\n    gl.shaderSource(shader, code);\n    gl.compileShader(shader);\n    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n    if (!compiled) {\n      var errorMsg = gl.getShaderInfoLog(shader);\n      throw new Error(\"Error during shader compilation: \" + errorMsg);\n    }\n\n    return shader;\n  }\n\n  function createVertexShader(gl, code) {\n    return loadShader(gl, code, gl.VERTEX_SHADER);\n  }\n\n  function createFragmentShader(gl, code) {\n    return loadShader(gl, code, gl.FRAGMENT_SHADER);\n  }\n\n  function createProgram(gl, shaders) {\n    var program = gl.createProgram();\n\n    for (var i = 0, ii = shaders.length; i < ii; ++i) {\n      gl.attachShader(program, shaders[i]);\n    }\n\n    gl.linkProgram(program);\n    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n    if (!linked) {\n      var errorMsg = gl.getProgramInfoLog(program);\n      throw new Error(\"Error during program linking: \" + errorMsg);\n    }\n\n    return program;\n  }\n\n  function createTexture(gl, image, textureId) {\n    gl.activeTexture(textureId);\n    var texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n    return texture;\n  }\n\n  var currentGL, currentCanvas;\n\n  function generateGL() {\n    if (currentGL) {\n      return;\n    }\n\n    currentCanvas = document.createElement(\"canvas\");\n    currentGL = currentCanvas.getContext(\"webgl\", {\n      premultipliedalpha: false\n    });\n  }\n\n  var smaskVertexShaderCode = \"\\\r\n  attribute vec2 a_position;                                    \\\r\n  attribute vec2 a_texCoord;                                    \\\r\n                                                                \\\r\n  uniform vec2 u_resolution;                                    \\\r\n                                                                \\\r\n  varying vec2 v_texCoord;                                      \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \\\r\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\r\n                                                                \\\r\n    v_texCoord = a_texCoord;                                    \\\r\n  }                                                             \";\n  var smaskFragmentShaderCode = \"\\\r\n  precision mediump float;                                      \\\r\n                                                                \\\r\n  uniform vec4 u_backdrop;                                      \\\r\n  uniform int u_subtype;                                        \\\r\n  uniform sampler2D u_image;                                    \\\r\n  uniform sampler2D u_mask;                                     \\\r\n                                                                \\\r\n  varying vec2 v_texCoord;                                      \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec4 imageColor = texture2D(u_image, v_texCoord);           \\\r\n    vec4 maskColor = texture2D(u_mask, v_texCoord);             \\\r\n    if (u_backdrop.a > 0.0) {                                   \\\r\n      maskColor.rgb = maskColor.rgb * maskColor.a +             \\\r\n                      u_backdrop.rgb * (1.0 - maskColor.a);     \\\r\n    }                                                           \\\r\n    float lum;                                                  \\\r\n    if (u_subtype == 0) {                                       \\\r\n      lum = maskColor.a;                                        \\\r\n    } else {                                                    \\\r\n      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \\\r\n            maskColor.b * 0.11;                                 \\\r\n    }                                                           \\\r\n    imageColor.a *= lum;                                        \\\r\n    imageColor.rgb *= imageColor.a;                             \\\r\n    gl_FragColor = imageColor;                                  \\\r\n  }                                                             \";\n  var smaskCache = null;\n\n  function initSmaskGL() {\n    var canvas, gl;\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n    cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n    cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n    cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n    var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n    var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n    var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n    var texCoordBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(texCoordLocation);\n    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n    gl.uniform1i(texLayerLocation, 0);\n    gl.uniform1i(texMaskLocation, 1);\n    smaskCache = cache;\n  }\n\n  function composeSMask(layer, mask, properties) {\n    var width = layer.width,\n        height = layer.height;\n\n    if (!smaskCache) {\n      initSmaskGL();\n    }\n\n    var cache = smaskCache,\n        canvas = cache.canvas,\n        gl = cache.gl;\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n\n    if (properties.backdrop) {\n      gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n    } else {\n      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n    }\n\n    gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n    var texture = createTexture(gl, layer, gl.TEXTURE0);\n    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n    var buffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n    gl.clearColor(0, 0, 0, 0);\n    gl.enable(gl.BLEND);\n    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n    gl.clear(gl.COLOR_BUFFER_BIT);\n    gl.drawArrays(gl.TRIANGLES, 0, 6);\n    gl.flush();\n    gl.deleteTexture(texture);\n    gl.deleteTexture(maskTexture);\n    gl.deleteBuffer(buffer);\n    return canvas;\n  }\n\n  var figuresVertexShaderCode = \"\\\r\n  attribute vec2 a_position;                                    \\\r\n  attribute vec3 a_color;                                       \\\r\n                                                                \\\r\n  uniform vec2 u_resolution;                                    \\\r\n  uniform vec2 u_scale;                                         \\\r\n  uniform vec2 u_offset;                                        \\\r\n                                                                \\\r\n  varying vec4 v_color;                                         \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec2 position = (a_position + u_offset) * u_scale;          \\\r\n    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \\\r\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\r\n                                                                \\\r\n    v_color = vec4(a_color / 255.0, 1.0);                       \\\r\n  }                                                             \";\n  var figuresFragmentShaderCode = \"\\\r\n  precision mediump float;                                      \\\r\n                                                                \\\r\n  varying vec4 v_color;                                         \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    gl_FragColor = v_color;                                     \\\r\n  }                                                             \";\n  var figuresCache = null;\n\n  function initFiguresGL() {\n    var canvas, gl;\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n    cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n    cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n    cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n    cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n    figuresCache = cache;\n  }\n\n  function drawFigures(width, height, backgroundColor, figures, context) {\n    if (!figuresCache) {\n      initFiguresGL();\n    }\n\n    var cache = figuresCache,\n        canvas = cache.canvas,\n        gl = cache.gl;\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n    var count = 0;\n    var i, ii, rows;\n\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      switch (figures[i].type) {\n        case \"lattice\":\n          rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n          break;\n\n        case \"triangles\":\n          count += figures[i].coords.length;\n          break;\n      }\n    }\n\n    var coords = new Float32Array(count * 2);\n    var colors = new Uint8Array(count * 3);\n    var coordsMap = context.coords,\n        colorsMap = context.colors;\n    var pIndex = 0,\n        cIndex = 0;\n\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n          ps = figure.coords,\n          cs = figure.colors;\n\n      switch (figure.type) {\n        case \"lattice\":\n          var cols = figure.verticesPerRow;\n          rows = ps.length / cols | 0;\n\n          for (var row = 1; row < rows; row++) {\n            var offset = row * cols + 1;\n\n            for (var col = 1; col < cols; col++, offset++) {\n              coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n              coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n              coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n              colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n              colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n              colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n              coords[pIndex + 6] = coords[pIndex + 2];\n              coords[pIndex + 7] = coords[pIndex + 3];\n              coords[pIndex + 8] = coords[pIndex + 4];\n              coords[pIndex + 9] = coords[pIndex + 5];\n              coords[pIndex + 10] = coordsMap[ps[offset]];\n              coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n              colors[cIndex + 9] = colors[cIndex + 3];\n              colors[cIndex + 10] = colors[cIndex + 4];\n              colors[cIndex + 11] = colors[cIndex + 5];\n              colors[cIndex + 12] = colors[cIndex + 6];\n              colors[cIndex + 13] = colors[cIndex + 7];\n              colors[cIndex + 14] = colors[cIndex + 8];\n              colors[cIndex + 15] = colorsMap[cs[offset]];\n              colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n              colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n              pIndex += 12;\n              cIndex += 18;\n            }\n          }\n\n          break;\n\n        case \"triangles\":\n          for (var j = 0, jj = ps.length; j < jj; j++) {\n            coords[pIndex] = coordsMap[ps[j]];\n            coords[pIndex + 1] = coordsMap[ps[j] + 1];\n            colors[cIndex] = colorsMap[cs[j]];\n            colors[cIndex + 1] = colorsMap[cs[j] + 1];\n            colors[cIndex + 2] = colorsMap[cs[j] + 2];\n            pIndex += 2;\n            cIndex += 3;\n          }\n\n          break;\n      }\n    }\n\n    if (backgroundColor) {\n      gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n    } else {\n      gl.clearColor(0, 0, 0, 0);\n    }\n\n    gl.clear(gl.COLOR_BUFFER_BIT);\n    var coordsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n    var colorsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.colorLocation);\n    gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n    gl.drawArrays(gl.TRIANGLES, 0, count);\n    gl.flush();\n    gl.deleteBuffer(coordsBuffer);\n    gl.deleteBuffer(colorsBuffer);\n    return canvas;\n  }\n\n  return {\n    tryInitGL: function tryInitGL() {\n      try {\n        generateGL();\n        return !!currentGL;\n      } catch (ex) {}\n\n      return false;\n    },\n    composeSMask: composeSMask,\n    drawFigures: drawFigures,\n    cleanup: function cleanup() {\n      if (smaskCache && smaskCache.canvas) {\n        smaskCache.canvas.width = 0;\n        smaskCache.canvas.height = 0;\n      }\n\n      if (figuresCache && figuresCache.canvas) {\n        figuresCache.canvas.width = 0;\n        figuresCache.canvas.height = 0;\n      }\n\n      smaskCache = null;\n      figuresCache = null;\n    }\n  };\n}();\n\n/***/ }),\n\n/***/ 8:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"80b1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"45fc\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"10d1\");\n\n__webpack_require__(\"ddb0\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFThumbnailViewer = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_thumbnail_view = __webpack_require__(\"e200\");\n\nvar THUMBNAIL_SCROLL_MARGIN = -19;\nvar THUMBNAIL_SELECTED_CLASS = \"selected\";\n\nvar PDFThumbnailViewer = /*#__PURE__*/function () {\n  function PDFThumbnailViewer(_ref) {\n    var container = _ref.container,\n        linkService = _ref.linkService,\n        renderingQueue = _ref.renderingQueue,\n        _ref$l10n = _ref.l10n,\n        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n    _classCallCheck(this, PDFThumbnailViewer);\n\n    this.container = container;\n    this.linkService = linkService;\n    this.renderingQueue = renderingQueue;\n    this.l10n = l10n;\n    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));\n\n    this._resetView();\n  }\n\n  _createClass(PDFThumbnailViewer, [{\n    key: \"_scrollUpdated\",\n    value: function _scrollUpdated() {\n      this.renderingQueue.renderHighestPriority();\n    }\n  }, {\n    key: \"getThumbnail\",\n    value: function getThumbnail(index) {\n      return this._thumbnails[index];\n    }\n  }, {\n    key: \"_getVisibleThumbs\",\n    value: function _getVisibleThumbs() {\n      return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);\n    }\n  }, {\n    key: \"scrollThumbnailIntoView\",\n    value: function scrollThumbnailIntoView(pageNumber) {\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      var thumbnailView = this._thumbnails[pageNumber - 1];\n\n      if (!thumbnailView) {\n        console.error('scrollThumbnailIntoView: Invalid \"pageNumber\" parameter.');\n        return;\n      }\n\n      if (pageNumber !== this._currentPageNumber) {\n        var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];\n        prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);\n        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);\n      }\n\n      var visibleThumbs = this._getVisibleThumbs();\n\n      var numVisibleThumbs = visibleThumbs.views.length;\n\n      if (numVisibleThumbs > 0) {\n        var first = visibleThumbs.first.id;\n        var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;\n        var shouldScroll = false;\n\n        if (pageNumber <= first || pageNumber >= last) {\n          shouldScroll = true;\n        } else {\n          visibleThumbs.views.some(function (view) {\n            if (view.id !== pageNumber) {\n              return false;\n            }\n\n            shouldScroll = view.percent < 100;\n            return true;\n          });\n        }\n\n        if (shouldScroll) {\n          (0, _ui_utils.scrollIntoView)(thumbnailView.div, {\n            top: THUMBNAIL_SCROLL_MARGIN\n          });\n        }\n      }\n\n      this._currentPageNumber = pageNumber;\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      _pdf_thumbnail_view.PDFThumbnailView.cleanup();\n    }\n  }, {\n    key: \"_resetView\",\n    value: function _resetView() {\n      this._thumbnails = [];\n      this._currentPageNumber = 1;\n      this._pageLabels = null;\n      this._pagesRotation = 0;\n      this._pagesRequests = new WeakMap();\n      this.container.textContent = \"\";\n    }\n  }, {\n    key: \"setDocument\",\n    value: function setDocument(pdfDocument) {\n      var _this = this;\n\n      if (this.pdfDocument) {\n        this._cancelRendering();\n\n        this._resetView();\n      }\n\n      this.pdfDocument = pdfDocument;\n\n      if (!pdfDocument) {\n        return;\n      }\n\n      pdfDocument.getPage(1).then(function (firstPdfPage) {\n        var pagesCount = pdfDocument.numPages;\n        var viewport = firstPdfPage.getViewport({\n          scale: 1\n        });\n\n        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n          var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({\n            container: _this.container,\n            id: pageNum,\n            defaultViewport: viewport.clone(),\n            linkService: _this.linkService,\n            renderingQueue: _this.renderingQueue,\n            disableCanvasToImageConversion: false,\n            l10n: _this.l10n\n          });\n\n          _this._thumbnails.push(thumbnail);\n        }\n\n        var firstThumbnailView = _this._thumbnails[0];\n\n        if (firstThumbnailView) {\n          firstThumbnailView.setPdfPage(firstPdfPage);\n        }\n\n        var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1];\n        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);\n      }).catch(function (reason) {\n        console.error(\"Unable to initialize thumbnail viewer\", reason);\n      });\n    }\n  }, {\n    key: \"_cancelRendering\",\n    value: function _cancelRendering() {\n      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {\n        if (this._thumbnails[i]) {\n          this._thumbnails[i].cancelRendering();\n        }\n      }\n    }\n  }, {\n    key: \"setPageLabels\",\n    value: function setPageLabels(labels) {\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      if (!labels) {\n        this._pageLabels = null;\n      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n        this._pageLabels = null;\n        console.error(\"PDFThumbnailViewer_setPageLabels: Invalid page labels.\");\n      } else {\n        this._pageLabels = labels;\n      }\n\n      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {\n        var label = this._pageLabels && this._pageLabels[i];\n\n        this._thumbnails[i].setPageLabel(label);\n      }\n    }\n  }, {\n    key: \"_ensurePdfPageLoaded\",\n    value: function _ensurePdfPageLoaded(thumbView) {\n      var _this2 = this;\n\n      if (thumbView.pdfPage) {\n        return Promise.resolve(thumbView.pdfPage);\n      }\n\n      if (this._pagesRequests.has(thumbView)) {\n        return this._pagesRequests.get(thumbView);\n      }\n\n      var promise = this.pdfDocument.getPage(thumbView.id).then(function (pdfPage) {\n        if (!thumbView.pdfPage) {\n          thumbView.setPdfPage(pdfPage);\n        }\n\n        _this2._pagesRequests.delete(thumbView);\n\n        return pdfPage;\n      }).catch(function (reason) {\n        console.error(\"Unable to get page for thumb view\", reason);\n\n        _this2._pagesRequests.delete(thumbView);\n      });\n\n      this._pagesRequests.set(thumbView, promise);\n\n      return promise;\n    }\n  }, {\n    key: \"forceRendering\",\n    value: function forceRendering() {\n      var _this3 = this;\n\n      var visibleThumbs = this._getVisibleThumbs();\n\n      var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);\n\n      if (thumbView) {\n        this._ensurePdfPageLoaded(thumbView).then(function () {\n          _this3.renderingQueue.renderView(thumbView);\n        });\n\n        return true;\n      }\n\n      return false;\n    }\n  }, {\n    key: \"pagesRotation\",\n    get: function get() {\n      return this._pagesRotation;\n    },\n    set: function set(rotation) {\n      if (!(0, _ui_utils.isValidRotation)(rotation)) {\n        throw new Error(\"Invalid thumbnails rotation angle.\");\n      }\n\n      if (!this.pdfDocument) {\n        return;\n      }\n\n      if (this._pagesRotation === rotation) {\n        return;\n      }\n\n      this._pagesRotation = rotation;\n\n      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {\n        this._thumbnails[i].update(rotation);\n      }\n    }\n  }]);\n\n  return PDFThumbnailViewer;\n}();\n\nexports.PDFThumbnailViewer = PDFThumbnailViewer;\n\n/***/ }),\n\n/***/ \"80e2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(\"a4d3\");__webpack_require__(\"e01a\");__webpack_require__(\"944a\");__webpack_require__(\"99af\");__webpack_require__(\"a623\");__webpack_require__(\"cb29\");__webpack_require__(\"4de4\");__webpack_require__(\"4160\");__webpack_require__(\"caad\");__webpack_require__(\"c975\");__webpack_require__(\"e260\");__webpack_require__(\"a15b\");__webpack_require__(\"d81d\");__webpack_require__(\"fb6a\");__webpack_require__(\"a434\");__webpack_require__(\"b0c0\");__webpack_require__(\"0c47\");__webpack_require__(\"4ec9\");__webpack_require__(\"90d7\");__webpack_require__(\"23dc\");__webpack_require__(\"a9e3\");__webpack_require__(\"8ba4\");__webpack_require__(\"9129\");__webpack_require__(\"cca6\");__webpack_require__(\"b64b\");__webpack_require__(\"d3b7\");__webpack_require__(\"07ac\");__webpack_require__(\"e6cf\");__webpack_require__(\"820e\");__webpack_require__(\"4d63\");__webpack_require__(\"ac1f\");__webpack_require__(\"5377\");__webpack_require__(\"25f0\");__webpack_require__(\"f5b2\");__webpack_require__(\"f6d6\");__webpack_require__(\"3ca3\");__webpack_require__(\"466d\");__webpack_require__(\"4d90\");__webpack_require__(\"5319\");__webpack_require__(\"841c\");__webpack_require__(\"1276\");__webpack_require__(\"2ca0\");__webpack_require__(\"cc71\");__webpack_require__(\"cfc3\");__webpack_require__(\"4a9b\");__webpack_require__(\"fd87\");__webpack_require__(\"8b09\");__webpack_require__(\"143c\");__webpack_require__(\"5cc6\");__webpack_require__(\"8a59\");__webpack_require__(\"84c3\");__webpack_require__(\"fb2c\");__webpack_require__(\"9a8c\");__webpack_require__(\"a975\");__webpack_require__(\"735e\");__webpack_require__(\"c1ac\");__webpack_require__(\"d139\");__webpack_require__(\"3a7b\");__webpack_require__(\"d5d6\");__webpack_require__(\"82f8\");__webpack_require__(\"e91f\");__webpack_require__(\"60bd\");__webpack_require__(\"5f96\");__webpack_require__(\"3280\");__webpack_require__(\"3fcc\");__webpack_require__(\"ca91\");__webpack_require__(\"25a1\");__webpack_require__(\"cd26\");__webpack_require__(\"3c5d\");__webpack_require__(\"2954\");__webpack_require__(\"649e\");__webpack_require__(\"219c\");__webpack_require__(\"170b\");__webpack_require__(\"b39a\");__webpack_require__(\"72f7\");__webpack_require__(\"159b\");__webpack_require__(\"ddb0\");__webpack_require__(\"2b3d\");var _possibleConstructorReturn=__webpack_require__(\"6b58\");var _get=__webpack_require__(\"8962\");var _getPrototypeOf=__webpack_require__(\"36c6\");var _toConsumableArray=__webpack_require__(\"448a\");var _createForOfIteratorHelper=__webpack_require__(\"6374\");var _assertThisInitialized=__webpack_require__(\"3c96\");var _createClass=__webpack_require__(\"5bc3\");var _classCallCheck=__webpack_require__(\"970b\");var _inherits=__webpack_require__(\"ed6d\");var _createSuper=__webpack_require__(\"2d0d\");__webpack_require__(\"96cf\");var _slicedToArray=__webpack_require__(\"278c\");var _asyncToGenerator=__webpack_require__(\"c973\");var _typeof=__webpack_require__(\"7037\");/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */(function webpackUniversalModuleDefinition(root,factory){if(( false?undefined:_typeof(exports))==='object'&&( false?undefined:_typeof(module))==='object')module.exports=factory();else if(true)!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else {}})(this,function(){return(/******/function(modules){// webpackBootstrap\n/******/ // The module cache\n/******/var installedModules={};/******/ /******/ // The require function\n/******/function __w_pdfjs_require__(moduleId){/******/ /******/ // Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/ // Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******/ /******/ // Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__w_pdfjs_require__);/******/ /******/ // Flag the module as loaded\n/******/module.l=true;/******/ /******/ // Return the exports of the module\n/******/return module.exports;/******/}/******/ /******/ /******/ // expose the modules object (__webpack_modules__)\n/******/__w_pdfjs_require__.m=modules;/******/ /******/ // expose the module cache\n/******/__w_pdfjs_require__.c=installedModules;/******/ /******/ // define getter function for harmony exports\n/******/__w_pdfjs_require__.d=function(exports,name,getter){/******/if(!__w_pdfjs_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******/ /******/ // define __esModule on exports\n/******/__w_pdfjs_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******/ /******/ // create a fake namespace object\n/******/ // mode & 1: value is a module id, require it\n/******/ // mode & 2: merge all properties of value into the ns\n/******/ // mode & 4: return value when already ns object\n/******/ // mode & 8|1: behave like require\n/******/__w_pdfjs_require__.t=function(value,mode){/******/if(mode&1)value=__w_pdfjs_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&_typeof(value)==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__w_pdfjs_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__w_pdfjs_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******/ /******/ // getDefaultExport function for compatibility with non-harmony modules\n/******/__w_pdfjs_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__w_pdfjs_require__.d(getter,'a',getter);/******/return getter;/******/};/******/ /******/ // Object.prototype.hasOwnProperty.call\n/******/__w_pdfjs_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******/ /******/ // __webpack_public_path__\n/******/__w_pdfjs_require__.p=\"\";/******/ /******/ /******/ // Load entry module and return exports\n/******/return __w_pdfjs_require__(__w_pdfjs_require__.s=0);/******/}(/************************************************************************/ /******/[/* 0 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var pdfjsVersion='2.4.456';var pdfjsBuild='228a591c';var pdfjsCoreWorker=__w_pdfjs_require__(1);exports.WorkerMessageHandler=pdfjsCoreWorker.WorkerMessageHandler;/***/},/* 1 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.WorkerMessageHandler=exports.WorkerTask=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _pdf_manager=__w_pdfjs_require__(5);var _is_node=__w_pdfjs_require__(44);var _message_handler=__w_pdfjs_require__(45);var _worker_stream=__w_pdfjs_require__(46);var _core_utils=__w_pdfjs_require__(7);var WorkerTask=function WorkerTaskClosure(){function WorkerTask(name){this.name=name;this.terminated=false;this._capability=(0,_util.createPromiseCapability)();}WorkerTask.prototype={get finished(){return this._capability.promise;},finish:function finish(){this._capability.resolve();},terminate:function terminate(){this.terminated=true;},ensureNotTerminated:function ensureNotTerminated(){if(this.terminated){throw new Error(\"Worker task was terminated\");}}};return WorkerTask;}();exports.WorkerTask=WorkerTask;var WorkerMessageHandler={setup:function setup(handler,port){var testMessageProcessed=false;handler.on(\"test\",function wphSetupTest(data){if(testMessageProcessed){return;}testMessageProcessed=true;if(!(data instanceof Uint8Array)){handler.send(\"test\",null);return;}var supportTransfers=data[0]===255;handler.postMessageTransfers=supportTransfers;handler.send(\"test\",{supportTransfers:supportTransfers});});handler.on(\"configure\",function wphConfigure(data){(0,_util.setVerbosityLevel)(data.verbosity);});handler.on(\"GetDocRequest\",function wphSetupDoc(data){return WorkerMessageHandler.createDocumentHandler(data,port);});},createDocumentHandler:function createDocumentHandler(docParams,port){var pdfManager;var terminated=false;var cancelXHRs=null;var WorkerTasks=[];var verbosity=(0,_util.getVerbosityLevel)();var apiVersion=docParams.apiVersion;var workerVersion='2.4.456';if(apiVersion!==workerVersion){throw new Error(\"The API version \\\"\".concat(apiVersion,\"\\\" does not match \")+\"the Worker version \\\"\".concat(workerVersion,\"\\\".\"));}var enumerableProperties=[];for(var property in[]){enumerableProperties.push(property);}if(enumerableProperties.length){throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \"+enumerableProperties.join(\", \")+\"; thus breaking e.g. `for...in` iteration of `Array`s.\");}var docId=docParams.docId;var docBaseUrl=docParams.docBaseUrl;var workerHandlerName=docParams.docId+\"_worker\";var handler=new _message_handler.MessageHandler(workerHandlerName,docId,port);handler.postMessageTransfers=docParams.postMessageTransfers;function ensureNotTerminated(){if(terminated){throw new Error(\"Worker was terminated\");}}function startWorkerTask(task){WorkerTasks.push(task);}function finishWorkerTask(task){task.finish();var i=WorkerTasks.indexOf(task);WorkerTasks.splice(i,1);}function loadDocument(_x){return _loadDocument.apply(this,arguments);}function _loadDocument(){_loadDocument=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee(recoveryMode){var _yield$Promise$all,_yield$Promise$all2,numPages,fingerprint;return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return pdfManager.ensureDoc(\"checkHeader\");case 2:_context.next=4;return pdfManager.ensureDoc(\"parseStartXRef\");case 4:_context.next=6;return pdfManager.ensureDoc(\"parse\",[recoveryMode]);case 6:if(recoveryMode){_context.next=9;break;}_context.next=9;return pdfManager.ensureDoc(\"checkFirstPage\");case 9:_context.next=11;return Promise.all([pdfManager.ensureDoc(\"numPages\"),pdfManager.ensureDoc(\"fingerprint\")]);case 11:_yield$Promise$all=_context.sent;_yield$Promise$all2=_slicedToArray(_yield$Promise$all,2);numPages=_yield$Promise$all2[0];fingerprint=_yield$Promise$all2[1];return _context.abrupt(\"return\",{numPages:numPages,fingerprint:fingerprint});case 16:case\"end\":return _context.stop();}}},_callee);}));return _loadDocument.apply(this,arguments);}function getPdfManager(data,evaluatorOptions){var pdfManagerCapability=(0,_util.createPromiseCapability)();var pdfManager;var source=data.source;if(source.data){try{pdfManager=new _pdf_manager.LocalPdfManager(docId,source.data,source.password,evaluatorOptions,docBaseUrl);pdfManagerCapability.resolve(pdfManager);}catch(ex){pdfManagerCapability.reject(ex);}return pdfManagerCapability.promise;}var pdfStream,cachedChunks=[];try{pdfStream=new _worker_stream.PDFWorkerStream(handler);}catch(ex){pdfManagerCapability.reject(ex);return pdfManagerCapability.promise;}var fullRequest=pdfStream.getFullReader();fullRequest.headersReady.then(function(){if(!fullRequest.isRangeSupported){return;}var disableAutoFetch=source.disableAutoFetch||fullRequest.isStreamingSupported;pdfManager=new _pdf_manager.NetworkPdfManager(docId,pdfStream,{msgHandler:handler,password:source.password,length:fullRequest.contentLength,disableAutoFetch:disableAutoFetch,rangeChunkSize:source.rangeChunkSize},evaluatorOptions,docBaseUrl);for(var i=0;i<cachedChunks.length;i++){pdfManager.sendProgressiveData(cachedChunks[i]);}cachedChunks=[];pdfManagerCapability.resolve(pdfManager);cancelXHRs=null;}).catch(function(reason){pdfManagerCapability.reject(reason);cancelXHRs=null;});var loaded=0;var flushChunks=function flushChunks(){var pdfFile=(0,_util.arraysToBytes)(cachedChunks);if(source.length&&pdfFile.length!==source.length){(0,_util.warn)(\"reported HTTP length is different from actual\");}try{pdfManager=new _pdf_manager.LocalPdfManager(docId,pdfFile,source.password,evaluatorOptions,docBaseUrl);pdfManagerCapability.resolve(pdfManager);}catch(ex){pdfManagerCapability.reject(ex);}cachedChunks=[];};var readPromise=new Promise(function(resolve,reject){var readChunk=function readChunk(chunk){try{ensureNotTerminated();if(chunk.done){if(!pdfManager){flushChunks();}cancelXHRs=null;return;}var data=chunk.value;loaded+=(0,_util.arrayByteLength)(data);if(!fullRequest.isStreamingSupported){handler.send(\"DocProgress\",{loaded:loaded,total:Math.max(loaded,fullRequest.contentLength||0)});}if(pdfManager){pdfManager.sendProgressiveData(data);}else{cachedChunks.push(data);}fullRequest.read().then(readChunk,reject);}catch(e){reject(e);}};fullRequest.read().then(readChunk,reject);});readPromise.catch(function(e){pdfManagerCapability.reject(e);cancelXHRs=null;});cancelXHRs=function cancelXHRs(reason){pdfStream.cancelAllRequests(reason);};return pdfManagerCapability.promise;}function setupDoc(data){function onSuccess(doc){ensureNotTerminated();handler.send(\"GetDoc\",{pdfInfo:doc});}function onFailure(ex){ensureNotTerminated();if(ex instanceof _util.PasswordException){var task=new WorkerTask(\"PasswordException: response \".concat(ex.code));startWorkerTask(task);handler.sendWithPromise(\"PasswordRequest\",ex).then(function(data){finishWorkerTask(task);pdfManager.updatePassword(data.password);pdfManagerReady();}).catch(function(){finishWorkerTask(task);handler.send(\"DocException\",ex);});}else if(ex instanceof _util.InvalidPDFException||ex instanceof _util.MissingPDFException||ex instanceof _util.UnexpectedResponseException||ex instanceof _util.UnknownErrorException){handler.send(\"DocException\",ex);}else{handler.send(\"DocException\",new _util.UnknownErrorException(ex.message,ex.toString()));}}function pdfManagerReady(){ensureNotTerminated();loadDocument(false).then(onSuccess,function loadFailure(ex){ensureNotTerminated();if(!(ex instanceof _core_utils.XRefParseException)){onFailure(ex);return;}pdfManager.requestLoadedStream();pdfManager.onLoadedStream().then(function(){ensureNotTerminated();loadDocument(true).then(onSuccess,onFailure);});},onFailure);}ensureNotTerminated();var evaluatorOptions={forceDataSchema:data.disableCreateObjectURL,maxImageSize:data.maxImageSize,disableFontFace:data.disableFontFace,nativeImageDecoderSupport:data.nativeImageDecoderSupport,ignoreErrors:data.ignoreErrors,isEvalSupported:data.isEvalSupported};getPdfManager(data,evaluatorOptions).then(function(newPdfManager){if(terminated){newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));throw new Error(\"Worker was terminated\");}pdfManager=newPdfManager;pdfManager.onLoadedStream().then(function(stream){handler.send(\"DataLoaded\",{length:stream.bytes.byteLength});});}).then(pdfManagerReady,onFailure);}handler.on(\"GetPage\",function wphSetupGetPage(data){return pdfManager.getPage(data.pageIndex).then(function(page){return Promise.all([pdfManager.ensure(page,\"rotate\"),pdfManager.ensure(page,\"ref\"),pdfManager.ensure(page,\"userUnit\"),pdfManager.ensure(page,\"view\")]).then(function(_ref){var _ref2=_slicedToArray(_ref,4),rotate=_ref2[0],ref=_ref2[1],userUnit=_ref2[2],view=_ref2[3];return{rotate:rotate,ref:ref,userUnit:userUnit,view:view};});});});handler.on(\"GetPageIndex\",function wphSetupGetPageIndex(data){var ref=_primitives.Ref.get(data.ref.num,data.ref.gen);var catalog=pdfManager.pdfDocument.catalog;return catalog.getPageIndex(ref);});handler.on(\"GetDestinations\",function wphSetupGetDestinations(data){return pdfManager.ensureCatalog(\"destinations\");});handler.on(\"GetDestination\",function wphSetupGetDestination(data){return pdfManager.ensureCatalog(\"getDestination\",[data.id]);});handler.on(\"GetPageLabels\",function wphSetupGetPageLabels(data){return pdfManager.ensureCatalog(\"pageLabels\");});handler.on(\"GetPageLayout\",function wphSetupGetPageLayout(data){return pdfManager.ensureCatalog(\"pageLayout\");});handler.on(\"GetPageMode\",function wphSetupGetPageMode(data){return pdfManager.ensureCatalog(\"pageMode\");});handler.on(\"GetViewerPreferences\",function(data){return pdfManager.ensureCatalog(\"viewerPreferences\");});handler.on(\"GetOpenAction\",function(data){return pdfManager.ensureCatalog(\"openAction\");});handler.on(\"GetAttachments\",function wphSetupGetAttachments(data){return pdfManager.ensureCatalog(\"attachments\");});handler.on(\"GetJavaScript\",function wphSetupGetJavaScript(data){return pdfManager.ensureCatalog(\"javaScript\");});handler.on(\"GetOutline\",function wphSetupGetOutline(data){return pdfManager.ensureCatalog(\"documentOutline\");});handler.on(\"GetPermissions\",function(data){return pdfManager.ensureCatalog(\"permissions\");});handler.on(\"GetMetadata\",function wphSetupGetMetadata(data){return Promise.all([pdfManager.ensureDoc(\"documentInfo\"),pdfManager.ensureCatalog(\"metadata\")]);});handler.on(\"GetData\",function wphSetupGetData(data){pdfManager.requestLoadedStream();return pdfManager.onLoadedStream().then(function(stream){return stream.bytes;});});handler.on(\"GetStats\",function wphSetupGetStats(data){return pdfManager.pdfDocument.xref.stats;});handler.on(\"GetAnnotations\",function(_ref3){var pageIndex=_ref3.pageIndex,intent=_ref3.intent;return pdfManager.getPage(pageIndex).then(function(page){return page.getAnnotationsData(intent);});});handler.on(\"GetOperatorList\",function wphSetupRenderPage(data,sink){var pageIndex=data.pageIndex;pdfManager.getPage(pageIndex).then(function(page){var task=new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));startWorkerTask(task);var start=verbosity>=_util.VerbosityLevel.INFOS?Date.now():0;page.getOperatorList({handler:handler,sink:sink,task:task,intent:data.intent,renderInteractiveForms:data.renderInteractiveForms}).then(function(operatorListInfo){finishWorkerTask(task);if(start){(0,_util.info)(\"page=\".concat(pageIndex+1,\" - getOperatorList: time=\")+\"\".concat(Date.now()-start,\"ms, len=\").concat(operatorListInfo.length));}sink.close();},function(reason){finishWorkerTask(task);if(task.terminated){return;}handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});sink.error(reason);});});},this);handler.on(\"GetTextContent\",function wphExtractText(data,sink){var pageIndex=data.pageIndex;sink.onPull=function(desiredSize){};sink.onCancel=function(reason){};pdfManager.getPage(pageIndex).then(function(page){var task=new WorkerTask(\"GetTextContent: page \"+pageIndex);startWorkerTask(task);var start=verbosity>=_util.VerbosityLevel.INFOS?Date.now():0;page.extractTextContent({handler:handler,task:task,sink:sink,normalizeWhitespace:data.normalizeWhitespace,combineTextItems:data.combineTextItems}).then(function(){finishWorkerTask(task);if(start){(0,_util.info)(\"page=\".concat(pageIndex+1,\" - getTextContent: time=\")+\"\".concat(Date.now()-start,\"ms\"));}sink.close();},function(reason){finishWorkerTask(task);if(task.terminated){return;}sink.error(reason);});});});handler.on(\"FontFallback\",function(data){return pdfManager.fontFallback(data.id,handler);});handler.on(\"Cleanup\",function wphCleanup(data){return pdfManager.cleanup();});handler.on(\"Terminate\",function wphTerminate(data){terminated=true;var waitOn=[];if(pdfManager){pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));var cleanupPromise=pdfManager.cleanup();waitOn.push(cleanupPromise);pdfManager=null;}else{(0,_primitives.clearPrimitiveCaches)();}if(cancelXHRs){cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));}WorkerTasks.forEach(function(task){waitOn.push(task.finished);task.terminate();});return Promise.all(waitOn).then(function(){handler.destroy();handler=null;});});handler.on(\"Ready\",function wphReady(data){setupDoc(docParams);docParams=null;});return workerHandlerName;},initializeFromPort:function initializeFromPort(port){var handler=new _message_handler.MessageHandler(\"worker\",\"main\",port);WorkerMessageHandler.setup(handler,port);handler.send(\"ready\",null);}};exports.WorkerMessageHandler=WorkerMessageHandler;function isMessagePort(maybePort){return typeof maybePort.postMessage===\"function\"&&\"onmessage\"in maybePort;}if(typeof window===\"undefined\"&&!_is_node.isNodeJS&&typeof self!==\"undefined\"&&isMessagePort(self)){WorkerMessageHandler.initializeFromPort(self);}/***/},/* 2 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.arrayByteLength=arrayByteLength;exports.arraysToBytes=arraysToBytes;exports.assert=assert;exports.bytesToString=bytesToString;exports.createPromiseCapability=createPromiseCapability;exports.getVerbosityLevel=getVerbosityLevel;exports.info=info;exports.isArrayBuffer=isArrayBuffer;exports.isArrayEqual=isArrayEqual;exports.isBool=isBool;exports.isEmptyObj=isEmptyObj;exports.isNum=isNum;exports.isString=isString;exports.isSameOrigin=isSameOrigin;exports.createValidAbsoluteUrl=createValidAbsoluteUrl;exports.removeNullCharacters=removeNullCharacters;exports.setVerbosityLevel=setVerbosityLevel;exports.shadow=shadow;exports.string32=string32;exports.stringToBytes=stringToBytes;exports.stringToPDFString=stringToPDFString;exports.stringToUTF8String=stringToUTF8String;exports.utf8StringToString=utf8StringToString;exports.warn=warn;exports.unreachable=unreachable;exports.IsEvalSupportedCached=exports.IsLittleEndianCached=exports.createObjectURL=exports.FormatError=exports.Util=exports.UnknownErrorException=exports.UnexpectedResponseException=exports.TextRenderingMode=exports.StreamType=exports.PermissionFlag=exports.PasswordResponses=exports.PasswordException=exports.NativeImageDecoding=exports.MissingPDFException=exports.InvalidPDFException=exports.AbortException=exports.CMapCompressionType=exports.ImageKind=exports.FontType=exports.AnnotationType=exports.AnnotationStateModelType=exports.AnnotationReviewState=exports.AnnotationReplyType=exports.AnnotationMarkedState=exports.AnnotationFlag=exports.AnnotationFieldFlag=exports.AnnotationBorderStyleType=exports.UNSUPPORTED_FEATURES=exports.VerbosityLevel=exports.OPS=exports.IDENTITY_MATRIX=exports.FONT_IDENTITY_MATRIX=exports.BaseException=void 0;__w_pdfjs_require__(3);var IDENTITY_MATRIX=[1,0,0,1,0,0];exports.IDENTITY_MATRIX=IDENTITY_MATRIX;var FONT_IDENTITY_MATRIX=[0.001,0,0,0.001,0,0];exports.FONT_IDENTITY_MATRIX=FONT_IDENTITY_MATRIX;var NativeImageDecoding={NONE:\"none\",DECODE:\"decode\",DISPLAY:\"display\"};exports.NativeImageDecoding=NativeImageDecoding;var PermissionFlag={PRINT:0x04,MODIFY_CONTENTS:0x08,COPY:0x10,MODIFY_ANNOTATIONS:0x20,FILL_INTERACTIVE_FORMS:0x100,COPY_FOR_ACCESSIBILITY:0x200,ASSEMBLE:0x400,PRINT_HIGH_QUALITY:0x800};exports.PermissionFlag=PermissionFlag;var TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};exports.TextRenderingMode=TextRenderingMode;var ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};exports.ImageKind=ImageKind;var AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};exports.AnnotationType=AnnotationType;var AnnotationStateModelType={MARKED:\"Marked\",REVIEW:\"Review\"};exports.AnnotationStateModelType=AnnotationStateModelType;var AnnotationMarkedState={MARKED:\"Marked\",UNMARKED:\"Unmarked\"};exports.AnnotationMarkedState=AnnotationMarkedState;var AnnotationReviewState={ACCEPTED:\"Accepted\",REJECTED:\"Rejected\",CANCELLED:\"Cancelled\",COMPLETED:\"Completed\",NONE:\"None\"};exports.AnnotationReviewState=AnnotationReviewState;var AnnotationReplyType={GROUP:\"Group\",REPLY:\"R\"};exports.AnnotationReplyType=AnnotationReplyType;var AnnotationFlag={INVISIBLE:0x01,HIDDEN:0x02,PRINT:0x04,NOZOOM:0x08,NOROTATE:0x10,NOVIEW:0x20,READONLY:0x40,LOCKED:0x80,TOGGLENOVIEW:0x100,LOCKEDCONTENTS:0x200};exports.AnnotationFlag=AnnotationFlag;var AnnotationFieldFlag={READONLY:0x0000001,REQUIRED:0x0000002,NOEXPORT:0x0000004,MULTILINE:0x0001000,PASSWORD:0x0002000,NOTOGGLETOOFF:0x0004000,RADIO:0x0008000,PUSHBUTTON:0x0010000,COMBO:0x0020000,EDIT:0x0040000,SORT:0x0080000,FILESELECT:0x0100000,MULTISELECT:0x0200000,DONOTSPELLCHECK:0x0400000,DONOTSCROLL:0x0800000,COMB:0x1000000,RICHTEXT:0x2000000,RADIOSINUNISON:0x2000000,COMMITONSELCHANGE:0x4000000};exports.AnnotationFieldFlag=AnnotationFieldFlag;var AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};exports.AnnotationBorderStyleType=AnnotationBorderStyleType;var StreamType={UNKNOWN:\"UNKNOWN\",FLATE:\"FLATE\",LZW:\"LZW\",DCT:\"DCT\",JPX:\"JPX\",JBIG:\"JBIG\",A85:\"A85\",AHX:\"AHX\",CCF:\"CCF\",RLX:\"RLX\"};exports.StreamType=StreamType;var FontType={UNKNOWN:\"UNKNOWN\",TYPE1:\"TYPE1\",TYPE1C:\"TYPE1C\",CIDFONTTYPE0:\"CIDFONTTYPE0\",CIDFONTTYPE0C:\"CIDFONTTYPE0C\",TRUETYPE:\"TRUETYPE\",CIDFONTTYPE2:\"CIDFONTTYPE2\",TYPE3:\"TYPE3\",OPENTYPE:\"OPENTYPE\",TYPE0:\"TYPE0\",MMTYPE1:\"MMTYPE1\"};exports.FontType=FontType;var VerbosityLevel={ERRORS:0,WARNINGS:1,INFOS:5};exports.VerbosityLevel=VerbosityLevel;var CMapCompressionType={NONE:0,BINARY:1,STREAM:2};exports.CMapCompressionType=CMapCompressionType;var OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};exports.OPS=OPS;var UNSUPPORTED_FEATURES={unknown:\"unknown\",forms:\"forms\",javaScript:\"javaScript\",smask:\"smask\",shadingPattern:\"shadingPattern\",font:\"font\"};exports.UNSUPPORTED_FEATURES=UNSUPPORTED_FEATURES;var PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};exports.PasswordResponses=PasswordResponses;var verbosity=VerbosityLevel.WARNINGS;function setVerbosityLevel(level){if(Number.isInteger(level)){verbosity=level;}}function getVerbosityLevel(){return verbosity;}function info(msg){if(verbosity>=VerbosityLevel.INFOS){console.log(\"Info: \".concat(msg));}}function warn(msg){if(verbosity>=VerbosityLevel.WARNINGS){console.log(\"Warning: \".concat(msg));}}function unreachable(msg){throw new Error(msg);}function assert(cond,msg){if(!cond){unreachable(msg);}}function isSameOrigin(baseUrl,otherUrl){var base;try{base=new URL(baseUrl);if(!base.origin||base.origin===\"null\"){return false;}}catch(e){return false;}var other=new URL(otherUrl,base);return base.origin===other.origin;}function _isValidProtocol(url){if(!url){return false;}switch(url.protocol){case\"http:\":case\"https:\":case\"ftp:\":case\"mailto:\":case\"tel:\":return true;default:return false;}}function createValidAbsoluteUrl(url,baseUrl){if(!url){return null;}try{var absoluteUrl=baseUrl?new URL(url,baseUrl):new URL(url);if(_isValidProtocol(absoluteUrl)){return absoluteUrl;}}catch(ex){}return null;}function shadow(obj,prop,value){Object.defineProperty(obj,prop,{value:value,enumerable:true,configurable:true,writable:false});return value;}var BaseException=function BaseExceptionClosure(){function BaseException(message){if(this.constructor===BaseException){unreachable(\"Cannot initialize BaseException.\");}this.message=message;this.name=this.constructor.name;}BaseException.prototype=new Error();BaseException.constructor=BaseException;return BaseException;}();exports.BaseException=BaseException;var PasswordException=/*#__PURE__*/function(_BaseException){_inherits(PasswordException,_BaseException);var _super=_createSuper(PasswordException);function PasswordException(msg,code){var _this;_classCallCheck(this,PasswordException);_this=_super.call(this,msg);_this.code=code;return _this;}return PasswordException;}(BaseException);exports.PasswordException=PasswordException;var UnknownErrorException=/*#__PURE__*/function(_BaseException2){_inherits(UnknownErrorException,_BaseException2);var _super2=_createSuper(UnknownErrorException);function UnknownErrorException(msg,details){var _this2;_classCallCheck(this,UnknownErrorException);_this2=_super2.call(this,msg);_this2.details=details;return _this2;}return UnknownErrorException;}(BaseException);exports.UnknownErrorException=UnknownErrorException;var InvalidPDFException=/*#__PURE__*/function(_BaseException3){_inherits(InvalidPDFException,_BaseException3);var _super3=_createSuper(InvalidPDFException);function InvalidPDFException(){_classCallCheck(this,InvalidPDFException);return _super3.apply(this,arguments);}return InvalidPDFException;}(BaseException);exports.InvalidPDFException=InvalidPDFException;var MissingPDFException=/*#__PURE__*/function(_BaseException4){_inherits(MissingPDFException,_BaseException4);var _super4=_createSuper(MissingPDFException);function MissingPDFException(){_classCallCheck(this,MissingPDFException);return _super4.apply(this,arguments);}return MissingPDFException;}(BaseException);exports.MissingPDFException=MissingPDFException;var UnexpectedResponseException=/*#__PURE__*/function(_BaseException5){_inherits(UnexpectedResponseException,_BaseException5);var _super5=_createSuper(UnexpectedResponseException);function UnexpectedResponseException(msg,status){var _this3;_classCallCheck(this,UnexpectedResponseException);_this3=_super5.call(this,msg);_this3.status=status;return _this3;}return UnexpectedResponseException;}(BaseException);exports.UnexpectedResponseException=UnexpectedResponseException;var FormatError=/*#__PURE__*/function(_BaseException6){_inherits(FormatError,_BaseException6);var _super6=_createSuper(FormatError);function FormatError(){_classCallCheck(this,FormatError);return _super6.apply(this,arguments);}return FormatError;}(BaseException);exports.FormatError=FormatError;var AbortException=/*#__PURE__*/function(_BaseException7){_inherits(AbortException,_BaseException7);var _super7=_createSuper(AbortException);function AbortException(){_classCallCheck(this,AbortException);return _super7.apply(this,arguments);}return AbortException;}(BaseException);exports.AbortException=AbortException;var NullCharactersRegExp=/\\x00/g;function removeNullCharacters(str){if(typeof str!==\"string\"){warn(\"The argument for removeNullCharacters must be a string.\");return str;}return str.replace(NullCharactersRegExp,\"\");}function bytesToString(bytes){assert(bytes!==null&&_typeof(bytes)===\"object\"&&bytes.length!==undefined,\"Invalid argument for bytesToString\");var length=bytes.length;var MAX_ARGUMENT_COUNT=8192;if(length<MAX_ARGUMENT_COUNT){return String.fromCharCode.apply(null,bytes);}var strBuf=[];for(var i=0;i<length;i+=MAX_ARGUMENT_COUNT){var chunkEnd=Math.min(i+MAX_ARGUMENT_COUNT,length);var chunk=bytes.subarray(i,chunkEnd);strBuf.push(String.fromCharCode.apply(null,chunk));}return strBuf.join(\"\");}function stringToBytes(str){assert(typeof str===\"string\",\"Invalid argument for stringToBytes\");var length=str.length;var bytes=new Uint8Array(length);for(var i=0;i<length;++i){bytes[i]=str.charCodeAt(i)&0xff;}return bytes;}function arrayByteLength(arr){if(arr.length!==undefined){return arr.length;}assert(arr.byteLength!==undefined);return arr.byteLength;}function arraysToBytes(arr){var length=arr.length;if(length===1&&arr[0]instanceof Uint8Array){return arr[0];}var resultLength=0;for(var i=0;i<length;i++){resultLength+=arrayByteLength(arr[i]);}var pos=0;var data=new Uint8Array(resultLength);for(var _i=0;_i<length;_i++){var item=arr[_i];if(!(item instanceof Uint8Array)){if(typeof item===\"string\"){item=stringToBytes(item);}else{item=new Uint8Array(item);}}var itemLength=item.byteLength;data.set(item,pos);pos+=itemLength;}return data;}function string32(value){return String.fromCharCode(value>>24&0xff,value>>16&0xff,value>>8&0xff,value&0xff);}function isLittleEndian(){var buffer8=new Uint8Array(4);buffer8[0]=1;var view32=new Uint32Array(buffer8.buffer,0,1);return view32[0]===1;}var IsLittleEndianCached={get value(){return shadow(this,\"value\",isLittleEndian());}};exports.IsLittleEndianCached=IsLittleEndianCached;function isEvalSupported(){try{new Function(\"\");return true;}catch(e){return false;}}var IsEvalSupportedCached={get value(){return shadow(this,\"value\",isEvalSupported());}};exports.IsEvalSupportedCached=IsEvalSupportedCached;var rgbBuf=[\"rgb(\",0,\",\",0,\",\",0,\")\"];var Util=/*#__PURE__*/function(){function Util(){_classCallCheck(this,Util);}_createClass(Util,null,[{key:\"makeCssRgb\",value:function makeCssRgb(r,g,b){rgbBuf[1]=r;rgbBuf[3]=g;rgbBuf[5]=b;return rgbBuf.join(\"\");}},{key:\"transform\",value:function transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]];}},{key:\"applyTransform\",value:function applyTransform(p,m){var xt=p[0]*m[0]+p[1]*m[2]+m[4];var yt=p[0]*m[1]+p[1]*m[3]+m[5];return[xt,yt];}},{key:\"applyInverseTransform\",value:function applyInverseTransform(p,m){var d=m[0]*m[3]-m[1]*m[2];var xt=(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d;var yt=(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d;return[xt,yt];}},{key:\"getAxialAlignedBoundingBox\",value:function getAxialAlignedBoundingBox(r,m){var p1=Util.applyTransform(r,m);var p2=Util.applyTransform(r.slice(2,4),m);var p3=Util.applyTransform([r[0],r[3]],m);var p4=Util.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])];}},{key:\"inverseTransform\",value:function inverseTransform(m){var d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d];}},{key:\"apply3dTransform\",value:function apply3dTransform(m,v){return[m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2]];}},{key:\"singularValueDecompose2dScale\",value:function singularValueDecompose2dScale(m){var transpose=[m[0],m[2],m[1],m[3]];var a=m[0]*transpose[0]+m[1]*transpose[2];var b=m[0]*transpose[1]+m[1]*transpose[3];var c=m[2]*transpose[0]+m[3]*transpose[2];var d=m[2]*transpose[1]+m[3]*transpose[3];var first=(a+d)/2;var second=Math.sqrt((a+d)*(a+d)-4*(a*d-c*b))/2;var sx=first+second||1;var sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)];}},{key:\"normalizeRect\",value:function normalizeRect(rect){var r=rect.slice(0);if(rect[0]>rect[2]){r[0]=rect[2];r[2]=rect[0];}if(rect[1]>rect[3]){r[1]=rect[3];r[3]=rect[1];}return r;}},{key:\"intersect\",value:function intersect(rect1,rect2){function compare(a,b){return a-b;}var orderedX=[rect1[0],rect1[2],rect2[0],rect2[2]].sort(compare);var orderedY=[rect1[1],rect1[3],rect2[1],rect2[3]].sort(compare);var result=[];rect1=Util.normalizeRect(rect1);rect2=Util.normalizeRect(rect2);if(orderedX[0]===rect1[0]&&orderedX[1]===rect2[0]||orderedX[0]===rect2[0]&&orderedX[1]===rect1[0]){result[0]=orderedX[1];result[2]=orderedX[2];}else{return null;}if(orderedY[0]===rect1[1]&&orderedY[1]===rect2[1]||orderedY[0]===rect2[1]&&orderedY[1]===rect1[1]){result[1]=orderedY[1];result[3]=orderedY[2];}else{return null;}return result;}}]);return Util;}();exports.Util=Util;var PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2D8,0x2C7,0x2C6,0x2D9,0x2DD,0x2DB,0x2DA,0x2DC,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2022,0x2020,0x2021,0x2026,0x2014,0x2013,0x192,0x2044,0x2039,0x203A,0x2212,0x2030,0x201E,0x201C,0x201D,0x2018,0x2019,0x201A,0x2122,0xFB01,0xFB02,0x141,0x152,0x160,0x178,0x17D,0x131,0x142,0x153,0x161,0x17E,0,0x20AC];function stringToPDFString(str){var length=str.length,strBuf=[];if(str[0]===\"\\xFE\"&&str[1]===\"\\xFF\"){for(var i=2;i<length;i+=2){strBuf.push(String.fromCharCode(str.charCodeAt(i)<<8|str.charCodeAt(i+1)));}}else if(str[0]===\"\\xFF\"&&str[1]===\"\\xFE\"){for(var _i2=2;_i2<length;_i2+=2){strBuf.push(String.fromCharCode(str.charCodeAt(_i2+1)<<8|str.charCodeAt(_i2)));}}else{for(var _i3=0;_i3<length;++_i3){var code=PDFStringTranslateTable[str.charCodeAt(_i3)];strBuf.push(code?String.fromCharCode(code):str.charAt(_i3));}}return strBuf.join(\"\");}function stringToUTF8String(str){return decodeURIComponent(escape(str));}function utf8StringToString(str){return unescape(encodeURIComponent(str));}function isEmptyObj(obj){for(var key in obj){return false;}return true;}function isBool(v){return typeof v===\"boolean\";}function isNum(v){return typeof v===\"number\";}function isString(v){return typeof v===\"string\";}function isArrayBuffer(v){return _typeof(v)===\"object\"&&v!==null&&v.byteLength!==undefined;}function isArrayEqual(arr1,arr2){if(arr1.length!==arr2.length){return false;}return arr1.every(function(element,index){return element===arr2[index];});}function createPromiseCapability(){var capability=Object.create(null);var isSettled=false;Object.defineProperty(capability,\"settled\",{get:function get(){return isSettled;}});capability.promise=new Promise(function(resolve,reject){capability.resolve=function(data){isSettled=true;resolve(data);};capability.reject=function(reason){isSettled=true;reject(reason);};});return capability;}var createObjectURL=function createObjectURLClosure(){var digits=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return function createObjectURL(data,contentType){var forceDataSchema=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(!forceDataSchema&&URL.createObjectURL){var blob=new Blob([data],{type:contentType});return URL.createObjectURL(blob);}var buffer=\"data:\".concat(contentType,\";base64,\");for(var i=0,ii=data.length;i<ii;i+=3){var b1=data[i]&0xff;var b2=data[i+1]&0xff;var b3=data[i+2]&0xff;var d1=b1>>2,d2=(b1&3)<<4|b2>>4;var d3=i+1<ii?(b2&0xf)<<2|b3>>6:64;var d4=i+2<ii?b3&0x3f:64;buffer+=digits[d1]+digits[d2]+digits[d3]+digits[d4];}return buffer;};}();exports.createObjectURL=createObjectURL;/***/},/* 3 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";;/***/},/* 4 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.clearPrimitiveCaches=clearPrimitiveCaches;exports.isEOF=isEOF;exports.isCmd=isCmd;exports.isDict=isDict;exports.isName=isName;exports.isRef=isRef;exports.isRefsEqual=isRefsEqual;exports.isStream=isStream;exports.RefSetCache=exports.RefSet=exports.Ref=exports.Name=exports.Dict=exports.Cmd=exports.EOF=void 0;var _util=__w_pdfjs_require__(2);var EOF={};exports.EOF=EOF;var Name=function NameClosure(){var nameCache=Object.create(null);function Name(name){this.name=name;}Name.prototype={};Name.get=function Name_get(name){var nameValue=nameCache[name];return nameValue?nameValue:nameCache[name]=new Name(name);};Name._clearCache=function(){nameCache=Object.create(null);};return Name;}();exports.Name=Name;var Cmd=function CmdClosure(){var cmdCache=Object.create(null);function Cmd(cmd){this.cmd=cmd;}Cmd.prototype={};Cmd.get=function Cmd_get(cmd){var cmdValue=cmdCache[cmd];return cmdValue?cmdValue:cmdCache[cmd]=new Cmd(cmd);};Cmd._clearCache=function(){cmdCache=Object.create(null);};return Cmd;}();exports.Cmd=Cmd;var Dict=function DictClosure(){var nonSerializable=function nonSerializableClosure(){return nonSerializable;};function Dict(xref){this._map=Object.create(null);this.xref=xref;this.objId=null;this.suppressEncryption=false;this.__nonSerializable__=nonSerializable;}Dict.prototype={assignXref:function Dict_assignXref(newXref){this.xref=newXref;},get:function get(key1,key2,key3){var value=this._map[key1];if(value===undefined&&key2!==undefined){value=this._map[key2];if(value===undefined&&key3!==undefined){value=this._map[key3];}}if(value instanceof Ref&&this.xref){return this.xref.fetch(value,this.suppressEncryption);}return value;},getAsync:function getAsync(key1,key2,key3){var _this4=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee2(){var value;return regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:value=_this4._map[key1];if(value===undefined&&key2!==undefined){value=_this4._map[key2];if(value===undefined&&key3!==undefined){value=_this4._map[key3];}}if(!(value instanceof Ref&&_this4.xref)){_context2.next=4;break;}return _context2.abrupt(\"return\",_this4.xref.fetchAsync(value,_this4.suppressEncryption));case 4:return _context2.abrupt(\"return\",value);case 5:case\"end\":return _context2.stop();}}},_callee2);}))();},getArray:function getArray(key1,key2,key3){var value=this.get(key1,key2,key3);if(!Array.isArray(value)||!this.xref){return value;}value=value.slice();for(var i=0,ii=value.length;i<ii;i++){if(!(value[i]instanceof Ref)){continue;}value[i]=this.xref.fetch(value[i],this.suppressEncryption);}return value;},getRaw:function Dict_getRaw(key){return this._map[key];},getKeys:function Dict_getKeys(){return Object.keys(this._map);},set:function Dict_set(key,value){this._map[key]=value;},has:function Dict_has(key){return this._map[key]!==undefined;},forEach:function Dict_forEach(callback){for(var key in this._map){callback(key,this.get(key));}}};Dict.empty=new Dict(null);Dict.merge=function(xref,dictArray){var mergedDict=new Dict(xref);for(var i=0,ii=dictArray.length;i<ii;i++){var dict=dictArray[i];if(!isDict(dict)){continue;}for(var keyName in dict._map){if(mergedDict._map[keyName]!==undefined){continue;}mergedDict._map[keyName]=dict._map[keyName];}}return mergedDict;};return Dict;}();exports.Dict=Dict;var Ref=function RefClosure(){var refCache=Object.create(null);function Ref(num,gen){this.num=num;this.gen=gen;}Ref.prototype={toString:function Ref_toString(){if(this.gen===0){return\"\".concat(this.num,\"R\");}return\"\".concat(this.num,\"R\").concat(this.gen);}};Ref.get=function(num,gen){var key=gen===0?\"\".concat(num,\"R\"):\"\".concat(num,\"R\").concat(gen);var refValue=refCache[key];return refValue?refValue:refCache[key]=new Ref(num,gen);};Ref._clearCache=function(){refCache=Object.create(null);};return Ref;}();exports.Ref=Ref;var RefSet=function RefSetClosure(){function RefSet(){this.dict=Object.create(null);}RefSet.prototype={has:function RefSet_has(ref){return ref.toString()in this.dict;},put:function RefSet_put(ref){this.dict[ref.toString()]=true;},remove:function RefSet_remove(ref){delete this.dict[ref.toString()];}};return RefSet;}();exports.RefSet=RefSet;var RefSetCache=function RefSetCacheClosure(){function RefSetCache(){this.dict=Object.create(null);}RefSetCache.prototype={get:function RefSetCache_get(ref){return this.dict[ref.toString()];},has:function RefSetCache_has(ref){return ref.toString()in this.dict;},put:function RefSetCache_put(ref,obj){this.dict[ref.toString()]=obj;},putAlias:function RefSetCache_putAlias(ref,aliasRef){this.dict[ref.toString()]=this.get(aliasRef);},forEach:function RefSetCache_forEach(callback){for(var i in this.dict){callback(this.dict[i]);}},clear:function RefSetCache_clear(){this.dict=Object.create(null);}};return RefSetCache;}();exports.RefSetCache=RefSetCache;function isEOF(v){return v===EOF;}function isName(v,name){return v instanceof Name&&(name===undefined||v.name===name);}function isCmd(v,cmd){return v instanceof Cmd&&(cmd===undefined||v.cmd===cmd);}function isDict(v,type){return v instanceof Dict&&(type===undefined||isName(v.get(\"Type\"),type));}function isRef(v){return v instanceof Ref;}function isRefsEqual(v1,v2){return v1.num===v2.num&&v1.gen===v2.gen;}function isStream(v){return _typeof(v)===\"object\"&&v!==null&&v.getBytes!==undefined;}function clearPrimitiveCaches(){Cmd._clearCache();Name._clearCache();Ref._clearCache();}/***/},/* 5 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.NetworkPdfManager=exports.LocalPdfManager=void 0;var _util=__w_pdfjs_require__(2);var _chunked_stream=__w_pdfjs_require__(6);var _core_utils=__w_pdfjs_require__(7);var _document=__w_pdfjs_require__(8);var _stream=__w_pdfjs_require__(11);var BasePdfManager=/*#__PURE__*/function(){function BasePdfManager(){_classCallCheck(this,BasePdfManager);if(this.constructor===BasePdfManager){(0,_util.unreachable)(\"Cannot initialize BasePdfManager.\");}}_createClass(BasePdfManager,[{key:\"onLoadedStream\",value:function onLoadedStream(){(0,_util.unreachable)(\"Abstract method `onLoadedStream` called\");}},{key:\"ensureDoc\",value:function ensureDoc(prop,args){return this.ensure(this.pdfDocument,prop,args);}},{key:\"ensureXRef\",value:function ensureXRef(prop,args){return this.ensure(this.pdfDocument.xref,prop,args);}},{key:\"ensureCatalog\",value:function ensureCatalog(prop,args){return this.ensure(this.pdfDocument.catalog,prop,args);}},{key:\"getPage\",value:function getPage(pageIndex){return this.pdfDocument.getPage(pageIndex);}},{key:\"fontFallback\",value:function fontFallback(id,handler){return this.pdfDocument.fontFallback(id,handler);}},{key:\"cleanup\",value:function cleanup(){return this.pdfDocument.cleanup();}},{key:\"ensure\",value:function(){var _ensure=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee3(obj,prop,args){return regeneratorRuntime.wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:(0,_util.unreachable)(\"Abstract method `ensure` called\");case 1:case\"end\":return _context3.stop();}}},_callee3);}));function ensure(_x2,_x3,_x4){return _ensure.apply(this,arguments);}return ensure;}()},{key:\"requestRange\",value:function requestRange(begin,end){(0,_util.unreachable)(\"Abstract method `requestRange` called\");}},{key:\"requestLoadedStream\",value:function requestLoadedStream(){(0,_util.unreachable)(\"Abstract method `requestLoadedStream` called\");}},{key:\"sendProgressiveData\",value:function sendProgressiveData(chunk){(0,_util.unreachable)(\"Abstract method `sendProgressiveData` called\");}},{key:\"updatePassword\",value:function updatePassword(password){this._password=password;}},{key:\"terminate\",value:function terminate(reason){(0,_util.unreachable)(\"Abstract method `terminate` called\");}},{key:\"docId\",get:function get(){return this._docId;}},{key:\"password\",get:function get(){return this._password;}},{key:\"docBaseUrl\",get:function get(){var docBaseUrl=null;if(this._docBaseUrl){var absoluteUrl=(0,_util.createValidAbsoluteUrl)(this._docBaseUrl);if(absoluteUrl){docBaseUrl=absoluteUrl.href;}else{(0,_util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl,\"\\\".\"));}}return(0,_util.shadow)(this,\"docBaseUrl\",docBaseUrl);}}]);return BasePdfManager;}();var LocalPdfManager=/*#__PURE__*/function(_BasePdfManager){_inherits(LocalPdfManager,_BasePdfManager);var _super8=_createSuper(LocalPdfManager);function LocalPdfManager(docId,data,password,evaluatorOptions,docBaseUrl){var _this5;_classCallCheck(this,LocalPdfManager);_this5=_super8.call(this);_this5._docId=docId;_this5._password=password;_this5._docBaseUrl=docBaseUrl;_this5.evaluatorOptions=evaluatorOptions;var stream=new _stream.Stream(data);_this5.pdfDocument=new _document.PDFDocument(_assertThisInitialized(_this5),stream);_this5._loadedStreamPromise=Promise.resolve(stream);return _this5;}_createClass(LocalPdfManager,[{key:\"ensure\",value:function(){var _ensure2=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee4(obj,prop,args){var value;return regeneratorRuntime.wrap(function _callee4$(_context4){while(1){switch(_context4.prev=_context4.next){case 0:value=obj[prop];if(!(typeof value===\"function\")){_context4.next=3;break;}return _context4.abrupt(\"return\",value.apply(obj,args));case 3:return _context4.abrupt(\"return\",value);case 4:case\"end\":return _context4.stop();}}},_callee4);}));function ensure(_x5,_x6,_x7){return _ensure2.apply(this,arguments);}return ensure;}()},{key:\"requestRange\",value:function requestRange(begin,end){return Promise.resolve();}},{key:\"requestLoadedStream\",value:function requestLoadedStream(){}},{key:\"onLoadedStream\",value:function onLoadedStream(){return this._loadedStreamPromise;}},{key:\"terminate\",value:function terminate(reason){}}]);return LocalPdfManager;}(BasePdfManager);exports.LocalPdfManager=LocalPdfManager;var NetworkPdfManager=/*#__PURE__*/function(_BasePdfManager2){_inherits(NetworkPdfManager,_BasePdfManager2);var _super9=_createSuper(NetworkPdfManager);function NetworkPdfManager(docId,pdfNetworkStream,args,evaluatorOptions,docBaseUrl){var _this6;_classCallCheck(this,NetworkPdfManager);_this6=_super9.call(this);_this6._docId=docId;_this6._password=args.password;_this6._docBaseUrl=docBaseUrl;_this6.msgHandler=args.msgHandler;_this6.evaluatorOptions=evaluatorOptions;_this6.streamManager=new _chunked_stream.ChunkedStreamManager(pdfNetworkStream,{msgHandler:args.msgHandler,length:args.length,disableAutoFetch:args.disableAutoFetch,rangeChunkSize:args.rangeChunkSize});_this6.pdfDocument=new _document.PDFDocument(_assertThisInitialized(_this6),_this6.streamManager.getStream());return _this6;}_createClass(NetworkPdfManager,[{key:\"ensure\",value:function(){var _ensure3=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee5(obj,prop,args){var value;return regeneratorRuntime.wrap(function _callee5$(_context5){while(1){switch(_context5.prev=_context5.next){case 0:_context5.prev=0;value=obj[prop];if(!(typeof value===\"function\")){_context5.next=4;break;}return _context5.abrupt(\"return\",value.apply(obj,args));case 4:return _context5.abrupt(\"return\",value);case 7:_context5.prev=7;_context5.t0=_context5[\"catch\"](0);if(_context5.t0 instanceof _core_utils.MissingDataException){_context5.next=11;break;}throw _context5.t0;case 11:_context5.next=13;return this.requestRange(_context5.t0.begin,_context5.t0.end);case 13:return _context5.abrupt(\"return\",this.ensure(obj,prop,args));case 14:case\"end\":return _context5.stop();}}},_callee5,this,[[0,7]]);}));function ensure(_x8,_x9,_x10){return _ensure3.apply(this,arguments);}return ensure;}()},{key:\"requestRange\",value:function requestRange(begin,end){return this.streamManager.requestRange(begin,end);}},{key:\"requestLoadedStream\",value:function requestLoadedStream(){this.streamManager.requestAllChunks();}},{key:\"sendProgressiveData\",value:function sendProgressiveData(chunk){this.streamManager.onReceiveData({chunk:chunk});}},{key:\"onLoadedStream\",value:function onLoadedStream(){return this.streamManager.onLoadedStream();}},{key:\"terminate\",value:function terminate(reason){this.streamManager.abort(reason);}}]);return NetworkPdfManager;}(BasePdfManager);exports.NetworkPdfManager=NetworkPdfManager;/***/},/* 6 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.ChunkedStreamManager=exports.ChunkedStream=void 0;var _util=__w_pdfjs_require__(2);var _core_utils=__w_pdfjs_require__(7);var ChunkedStream=/*#__PURE__*/function(){function ChunkedStream(length,chunkSize,manager){_classCallCheck(this,ChunkedStream);this.bytes=new Uint8Array(length);this.start=0;this.pos=0;this.end=length;this.chunkSize=chunkSize;this.loadedChunks=[];this.numChunksLoaded=0;this.numChunks=Math.ceil(length/chunkSize);this.manager=manager;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1;}_createClass(ChunkedStream,[{key:\"getMissingChunks\",value:function getMissingChunks(){var chunks=[];for(var chunk=0,n=this.numChunks;chunk<n;++chunk){if(!this.loadedChunks[chunk]){chunks.push(chunk);}}return chunks;}},{key:\"getBaseStreams\",value:function getBaseStreams(){return[this];}},{key:\"allChunksLoaded\",value:function allChunksLoaded(){return this.numChunksLoaded===this.numChunks;}},{key:\"onReceiveData\",value:function onReceiveData(begin,chunk){var chunkSize=this.chunkSize;if(begin%chunkSize!==0){throw new Error(\"Bad begin offset: \".concat(begin));}var end=begin+chunk.byteLength;if(end%chunkSize!==0&&end!==this.bytes.length){throw new Error(\"Bad end offset: \".concat(end));}this.bytes.set(new Uint8Array(chunk),begin);var beginChunk=Math.floor(begin/chunkSize);var endChunk=Math.floor((end-1)/chunkSize)+1;for(var curChunk=beginChunk;curChunk<endChunk;++curChunk){if(!this.loadedChunks[curChunk]){this.loadedChunks[curChunk]=true;++this.numChunksLoaded;}}}},{key:\"onReceiveProgressiveData\",value:function onReceiveProgressiveData(data){var position=this.progressiveDataLength;var beginChunk=Math.floor(position/this.chunkSize);this.bytes.set(new Uint8Array(data),position);position+=data.byteLength;this.progressiveDataLength=position;var endChunk=position>=this.end?this.numChunks:Math.floor(position/this.chunkSize);for(var curChunk=beginChunk;curChunk<endChunk;++curChunk){if(!this.loadedChunks[curChunk]){this.loadedChunks[curChunk]=true;++this.numChunksLoaded;}}}},{key:\"ensureByte\",value:function ensureByte(pos){if(pos<this.progressiveDataLength){return;}var chunk=Math.floor(pos/this.chunkSize);if(chunk===this.lastSuccessfulEnsureByteChunk){return;}if(!this.loadedChunks[chunk]){throw new _core_utils.MissingDataException(pos,pos+1);}this.lastSuccessfulEnsureByteChunk=chunk;}},{key:\"ensureRange\",value:function ensureRange(begin,end){if(begin>=end){return;}if(end<=this.progressiveDataLength){return;}var chunkSize=this.chunkSize;var beginChunk=Math.floor(begin/chunkSize);var endChunk=Math.floor((end-1)/chunkSize)+1;for(var chunk=beginChunk;chunk<endChunk;++chunk){if(!this.loadedChunks[chunk]){throw new _core_utils.MissingDataException(begin,end);}}}},{key:\"nextEmptyChunk\",value:function nextEmptyChunk(beginChunk){var numChunks=this.numChunks;for(var i=0;i<numChunks;++i){var chunk=(beginChunk+i)%numChunks;if(!this.loadedChunks[chunk]){return chunk;}}return null;}},{key:\"hasChunk\",value:function hasChunk(chunk){return!!this.loadedChunks[chunk];}},{key:\"getByte\",value:function getByte(){var pos=this.pos;if(pos>=this.end){return-1;}if(pos>=this.progressiveDataLength){this.ensureByte(pos);}return this.bytes[this.pos++];}},{key:\"getUint16\",value:function getUint16(){var b0=this.getByte();var b1=this.getByte();if(b0===-1||b1===-1){return-1;}return(b0<<8)+b1;}},{key:\"getInt32\",value:function getInt32(){var b0=this.getByte();var b1=this.getByte();var b2=this.getByte();var b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3;}},{key:\"getBytes\",value:function getBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var bytes=this.bytes;var pos=this.pos;var strEnd=this.end;if(!length){if(strEnd>this.progressiveDataLength){this.ensureRange(pos,strEnd);}var _subarray=bytes.subarray(pos,strEnd);return forceClamped?new Uint8ClampedArray(_subarray):_subarray;}var end=pos+length;if(end>strEnd){end=strEnd;}if(end>this.progressiveDataLength){this.ensureRange(pos,end);}this.pos=end;var subarray=bytes.subarray(pos,end);return forceClamped?new Uint8ClampedArray(subarray):subarray;}},{key:\"peekByte\",value:function peekByte(){var peekedByte=this.getByte();if(peekedByte!==-1){this.pos--;}return peekedByte;}},{key:\"peekBytes\",value:function peekBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var bytes=this.getBytes(length,forceClamped);this.pos-=bytes.length;return bytes;}},{key:\"getByteRange\",value:function getByteRange(begin,end){if(begin<0){begin=0;}if(end>this.end){end=this.end;}if(end>this.progressiveDataLength){this.ensureRange(begin,end);}return this.bytes.subarray(begin,end);}},{key:\"skip\",value:function skip(n){if(!n){n=1;}this.pos+=n;}},{key:\"reset\",value:function reset(){this.pos=this.start;}},{key:\"moveStart\",value:function moveStart(){this.start=this.pos;}},{key:\"makeSubStream\",value:function makeSubStream(start,length,dict){if(length){if(start+length>this.progressiveDataLength){this.ensureRange(start,start+length);}}else{if(start>=this.progressiveDataLength){this.ensureByte(start);}}function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){var chunkSize=this.chunkSize;var beginChunk=Math.floor(this.start/chunkSize);var endChunk=Math.floor((this.end-1)/chunkSize)+1;var missingChunks=[];for(var chunk=beginChunk;chunk<endChunk;++chunk){if(!this.loadedChunks[chunk]){missingChunks.push(chunk);}}return missingChunks;};ChunkedStreamSubstream.prototype.allChunksLoaded=function(){if(this.numChunksLoaded===this.numChunks){return true;}return this.getMissingChunks().length===0;};var subStream=new ChunkedStreamSubstream();subStream.pos=subStream.start=start;subStream.end=start+length||this.end;subStream.dict=dict;return subStream;}},{key:\"length\",get:function get(){return this.end-this.start;}},{key:\"isEmpty\",get:function get(){return this.length===0;}}]);return ChunkedStream;}();exports.ChunkedStream=ChunkedStream;var ChunkedStreamManager=/*#__PURE__*/function(){function ChunkedStreamManager(pdfNetworkStream,args){_classCallCheck(this,ChunkedStreamManager);this.length=args.length;this.chunkSize=args.rangeChunkSize;this.stream=new ChunkedStream(this.length,this.chunkSize,this);this.pdfNetworkStream=pdfNetworkStream;this.disableAutoFetch=args.disableAutoFetch;this.msgHandler=args.msgHandler;this.currRequestId=0;this.chunksNeededByRequest=Object.create(null);this.requestsByChunk=Object.create(null);this.promisesByRequest=Object.create(null);this.progressiveDataLength=0;this.aborted=false;this._loadedStreamCapability=(0,_util.createPromiseCapability)();}_createClass(ChunkedStreamManager,[{key:\"onLoadedStream\",value:function onLoadedStream(){return this._loadedStreamCapability.promise;}},{key:\"sendRequest\",value:function sendRequest(begin,end){var _this7=this;var rangeReader=this.pdfNetworkStream.getRangeReader(begin,end);if(!rangeReader.isStreamingSupported){rangeReader.onProgress=this.onProgress.bind(this);}var chunks=[],loaded=0;var promise=new Promise(function(resolve,reject){var readChunk=function readChunk(chunk){try{if(!chunk.done){var data=chunk.value;chunks.push(data);loaded+=(0,_util.arrayByteLength)(data);if(rangeReader.isStreamingSupported){_this7.onProgress({loaded:loaded});}rangeReader.read().then(readChunk,reject);return;}var chunkData=(0,_util.arraysToBytes)(chunks);chunks=null;resolve(chunkData);}catch(e){reject(e);}};rangeReader.read().then(readChunk,reject);});promise.then(function(data){if(_this7.aborted){return;}_this7.onReceiveData({chunk:data,begin:begin});});}},{key:\"requestAllChunks\",value:function requestAllChunks(){var missingChunks=this.stream.getMissingChunks();this._requestChunks(missingChunks);return this._loadedStreamCapability.promise;}},{key:\"_requestChunks\",value:function _requestChunks(chunks){var requestId=this.currRequestId++;var chunksNeeded=Object.create(null);this.chunksNeededByRequest[requestId]=chunksNeeded;var _iterator=_createForOfIteratorHelper(chunks),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _chunk=_step.value;if(!this.stream.hasChunk(_chunk)){chunksNeeded[_chunk]=true;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}if((0,_util.isEmptyObj)(chunksNeeded)){return Promise.resolve();}var capability=(0,_util.createPromiseCapability)();this.promisesByRequest[requestId]=capability;var chunksToRequest=[];for(var chunk in chunksNeeded){chunk=chunk|0;if(!(chunk in this.requestsByChunk)){this.requestsByChunk[chunk]=[];chunksToRequest.push(chunk);}this.requestsByChunk[chunk].push(requestId);}if(!chunksToRequest.length){return capability.promise;}var groupedChunksToRequest=this.groupChunks(chunksToRequest);var _iterator2=_createForOfIteratorHelper(groupedChunksToRequest),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var groupedChunk=_step2.value;var begin=groupedChunk.beginChunk*this.chunkSize;var end=Math.min(groupedChunk.endChunk*this.chunkSize,this.length);this.sendRequest(begin,end);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}return capability.promise;}},{key:\"getStream\",value:function getStream(){return this.stream;}},{key:\"requestRange\",value:function requestRange(begin,end){end=Math.min(end,this.length);var beginChunk=this.getBeginChunk(begin);var endChunk=this.getEndChunk(end);var chunks=[];for(var chunk=beginChunk;chunk<endChunk;++chunk){chunks.push(chunk);}return this._requestChunks(chunks);}},{key:\"requestRanges\",value:function requestRanges(){var ranges=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var chunksToRequest=[];var _iterator3=_createForOfIteratorHelper(ranges),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var range=_step3.value;var beginChunk=this.getBeginChunk(range.begin);var endChunk=this.getEndChunk(range.end);for(var chunk=beginChunk;chunk<endChunk;++chunk){if(!chunksToRequest.includes(chunk)){chunksToRequest.push(chunk);}}}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}chunksToRequest.sort(function(a,b){return a-b;});return this._requestChunks(chunksToRequest);}},{key:\"groupChunks\",value:function groupChunks(chunks){var groupedChunks=[];var beginChunk=-1;var prevChunk=-1;for(var i=0,ii=chunks.length;i<ii;++i){var chunk=chunks[i];if(beginChunk<0){beginChunk=chunk;}if(prevChunk>=0&&prevChunk+1!==chunk){groupedChunks.push({beginChunk:beginChunk,endChunk:prevChunk+1});beginChunk=chunk;}if(i+1===chunks.length){groupedChunks.push({beginChunk:beginChunk,endChunk:chunk+1});}prevChunk=chunk;}return groupedChunks;}},{key:\"onProgress\",value:function onProgress(args){this.msgHandler.send(\"DocProgress\",{loaded:this.stream.numChunksLoaded*this.chunkSize+args.loaded,total:this.length});}},{key:\"onReceiveData\",value:function onReceiveData(args){var chunk=args.chunk;var isProgressive=args.begin===undefined;var begin=isProgressive?this.progressiveDataLength:args.begin;var end=begin+chunk.byteLength;var beginChunk=Math.floor(begin/this.chunkSize);var endChunk=end<this.length?Math.floor(end/this.chunkSize):Math.ceil(end/this.chunkSize);if(isProgressive){this.stream.onReceiveProgressiveData(chunk);this.progressiveDataLength=end;}else{this.stream.onReceiveData(begin,chunk);}if(this.stream.allChunksLoaded()){this._loadedStreamCapability.resolve(this.stream);}var loadedRequests=[];for(var _chunk2=beginChunk;_chunk2<endChunk;++_chunk2){var requestIds=this.requestsByChunk[_chunk2]||[];delete this.requestsByChunk[_chunk2];var _iterator4=_createForOfIteratorHelper(requestIds),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var requestId=_step4.value;var chunksNeeded=this.chunksNeededByRequest[requestId];if(_chunk2 in chunksNeeded){delete chunksNeeded[_chunk2];}if(!(0,_util.isEmptyObj)(chunksNeeded)){continue;}loadedRequests.push(requestId);}}catch(err){_iterator4.e(err);}finally{_iterator4.f();}}if(!this.disableAutoFetch&&(0,_util.isEmptyObj)(this.requestsByChunk)){var nextEmptyChunk;if(this.stream.numChunksLoaded===1){var lastChunk=this.stream.numChunks-1;if(!this.stream.hasChunk(lastChunk)){nextEmptyChunk=lastChunk;}}else{nextEmptyChunk=this.stream.nextEmptyChunk(endChunk);}if(Number.isInteger(nextEmptyChunk)){this._requestChunks([nextEmptyChunk]);}}for(var _i4=0,_loadedRequests=loadedRequests;_i4<_loadedRequests.length;_i4++){var _requestId=_loadedRequests[_i4];var capability=this.promisesByRequest[_requestId];delete this.promisesByRequest[_requestId];capability.resolve();}this.msgHandler.send(\"DocProgress\",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length});}},{key:\"onError\",value:function onError(err){this._loadedStreamCapability.reject(err);}},{key:\"getBeginChunk\",value:function getBeginChunk(begin){return Math.floor(begin/this.chunkSize);}},{key:\"getEndChunk\",value:function getEndChunk(end){return Math.floor((end-1)/this.chunkSize)+1;}},{key:\"abort\",value:function abort(reason){this.aborted=true;if(this.pdfNetworkStream){this.pdfNetworkStream.cancelAllRequests(reason);}for(var requestId in this.promisesByRequest){this.promisesByRequest[requestId].reject(reason);}}}]);return ChunkedStreamManager;}();exports.ChunkedStreamManager=ChunkedStreamManager;/***/},/* 7 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getLookupTableFactory=getLookupTableFactory;exports.getInheritableProperty=getInheritableProperty;exports.toRomanNumerals=toRomanNumerals;exports.log2=log2;exports.readInt8=readInt8;exports.readUint16=readUint16;exports.readUint32=readUint32;exports.isWhiteSpace=isWhiteSpace;exports.XRefParseException=exports.XRefEntryException=exports.MissingDataException=void 0;var _util=__w_pdfjs_require__(2);function getLookupTableFactory(initializer){var lookup;return function(){if(initializer){lookup=Object.create(null);initializer(lookup);initializer=null;}return lookup;};}var MissingDataException=/*#__PURE__*/function(_util$BaseException){_inherits(MissingDataException,_util$BaseException);var _super10=_createSuper(MissingDataException);function MissingDataException(begin,end){var _this8;_classCallCheck(this,MissingDataException);_this8=_super10.call(this,\"Missing data [\".concat(begin,\", \").concat(end,\")\"));_this8.begin=begin;_this8.end=end;return _this8;}return MissingDataException;}(_util.BaseException);exports.MissingDataException=MissingDataException;var XRefEntryException=/*#__PURE__*/function(_util$BaseException2){_inherits(XRefEntryException,_util$BaseException2);var _super11=_createSuper(XRefEntryException);function XRefEntryException(){_classCallCheck(this,XRefEntryException);return _super11.apply(this,arguments);}return XRefEntryException;}(_util.BaseException);exports.XRefEntryException=XRefEntryException;var XRefParseException=/*#__PURE__*/function(_util$BaseException3){_inherits(XRefParseException,_util$BaseException3);var _super12=_createSuper(XRefParseException);function XRefParseException(){_classCallCheck(this,XRefParseException);return _super12.apply(this,arguments);}return XRefParseException;}(_util.BaseException);exports.XRefParseException=XRefParseException;function getInheritableProperty(_ref4){var dict=_ref4.dict,key=_ref4.key,_ref4$getArray=_ref4.getArray,getArray=_ref4$getArray===void 0?false:_ref4$getArray,_ref4$stopWhenFound=_ref4.stopWhenFound,stopWhenFound=_ref4$stopWhenFound===void 0?true:_ref4$stopWhenFound;var LOOP_LIMIT=100;var loopCount=0;var values;while(dict){var value=getArray?dict.getArray(key):dict.get(key);if(value!==undefined){if(stopWhenFound){return value;}if(!values){values=[];}values.push(value);}if(++loopCount>LOOP_LIMIT){(0,_util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key,\"\\\"\"));break;}dict=dict.get(\"Parent\");}return values;}var ROMAN_NUMBER_MAP=[\"\",\"C\",\"CC\",\"CCC\",\"CD\",\"D\",\"DC\",\"DCC\",\"DCCC\",\"CM\",\"\",\"X\",\"XX\",\"XXX\",\"XL\",\"L\",\"LX\",\"LXX\",\"LXXX\",\"XC\",\"\",\"I\",\"II\",\"III\",\"IV\",\"V\",\"VI\",\"VII\",\"VIII\",\"IX\"];function toRomanNumerals(number){var lowerCase=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;(0,_util.assert)(Number.isInteger(number)&&number>0,\"The number should be a positive integer.\");var romanBuf=[];var pos;while(number>=1000){number-=1000;romanBuf.push(\"M\");}pos=number/100|0;number%=100;romanBuf.push(ROMAN_NUMBER_MAP[pos]);pos=number/10|0;number%=10;romanBuf.push(ROMAN_NUMBER_MAP[10+pos]);romanBuf.push(ROMAN_NUMBER_MAP[20+number]);var romanStr=romanBuf.join(\"\");return lowerCase?romanStr.toLowerCase():romanStr;}function log2(x){if(x<=0){return 0;}return Math.ceil(Math.log2(x));}function readInt8(data,offset){return data[offset]<<24>>24;}function readUint16(data,offset){return data[offset]<<8|data[offset+1];}function readUint32(data,offset){return(data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3])>>>0;}function isWhiteSpace(ch){return ch===0x20||ch===0x09||ch===0x0d||ch===0x0a;}/***/},/* 8 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFDocument=exports.Page=void 0;var _util=__w_pdfjs_require__(2);var _obj=__w_pdfjs_require__(9);var _primitives=__w_pdfjs_require__(4);var _core_utils=__w_pdfjs_require__(7);var _stream=__w_pdfjs_require__(11);var _annotation=__w_pdfjs_require__(23);var _crypto=__w_pdfjs_require__(21);var _parser=__w_pdfjs_require__(10);var _operator_list=__w_pdfjs_require__(24);var _evaluator=__w_pdfjs_require__(25);var _function=__w_pdfjs_require__(39);var DEFAULT_USER_UNIT=1.0;var LETTER_SIZE_MEDIABOX=[0,0,612,792];function isAnnotationRenderable(annotation,intent){return intent===\"display\"&&annotation.viewable||intent===\"print\"&&annotation.printable;}var Page=/*#__PURE__*/function(){function Page(_ref5){var pdfManager=_ref5.pdfManager,xref=_ref5.xref,pageIndex=_ref5.pageIndex,pageDict=_ref5.pageDict,ref=_ref5.ref,fontCache=_ref5.fontCache,builtInCMapCache=_ref5.builtInCMapCache,pdfFunctionFactory=_ref5.pdfFunctionFactory;_classCallCheck(this,Page);this.pdfManager=pdfManager;this.pageIndex=pageIndex;this.pageDict=pageDict;this.xref=xref;this.ref=ref;this.fontCache=fontCache;this.builtInCMapCache=builtInCMapCache;this.pdfFunctionFactory=pdfFunctionFactory;this.evaluatorOptions=pdfManager.evaluatorOptions;this.resourcesPromise=null;var idCounters={obj:0};this.idFactory={createObjId:function createObjId(){return\"p\".concat(pageIndex,\"_\").concat(++idCounters.obj);},getDocId:function getDocId(){return\"g_\".concat(pdfManager.docId);}};}_createClass(Page,[{key:\"_getInheritableProperty\",value:function _getInheritableProperty(key){var getArray=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var value=(0,_core_utils.getInheritableProperty)({dict:this.pageDict,key:key,getArray:getArray,stopWhenFound:false});if(!Array.isArray(value)){return value;}if(value.length===1||!(0,_primitives.isDict)(value[0])){return value[0];}return _primitives.Dict.merge(this.xref,value);}},{key:\"_getBoundingBox\",value:function _getBoundingBox(name){var box=this._getInheritableProperty(name,true);if(Array.isArray(box)&&box.length===4){if(box[2]-box[0]!==0&&box[3]-box[1]!==0){return box;}(0,_util.warn)(\"Empty /\".concat(name,\" entry.\"));}return null;}},{key:\"getContentStream\",value:function getContentStream(){var content=this.content;var stream;if(Array.isArray(content)){var xref=this.xref;var streams=[];var _iterator5=_createForOfIteratorHelper(content),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _stream2=_step5.value;streams.push(xref.fetchIfRef(_stream2));}}catch(err){_iterator5.e(err);}finally{_iterator5.f();}stream=new _stream.StreamsSequenceStream(streams);}else if((0,_primitives.isStream)(content)){stream=content;}else{stream=new _stream.NullStream();}return stream;}},{key:\"loadResources\",value:function loadResources(keys){var _this9=this;if(!this.resourcesPromise){this.resourcesPromise=this.pdfManager.ensure(this,\"resources\");}return this.resourcesPromise.then(function(){var objectLoader=new _obj.ObjectLoader(_this9.resources,keys,_this9.xref);return objectLoader.load();});}},{key:\"getOperatorList\",value:function getOperatorList(_ref6){var _this10=this;var handler=_ref6.handler,sink=_ref6.sink,task=_ref6.task,intent=_ref6.intent,renderInteractiveForms=_ref6.renderInteractiveForms;var contentStreamPromise=this.pdfManager.ensure(this,\"getContentStream\");var resourcesPromise=this.loadResources([\"ExtGState\",\"ColorSpace\",\"Pattern\",\"Shading\",\"XObject\",\"Font\"]);var partialEvaluator=new _evaluator.PartialEvaluator({xref:this.xref,handler:handler,pageIndex:this.pageIndex,idFactory:this.idFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,options:this.evaluatorOptions,pdfFunctionFactory:this.pdfFunctionFactory});var dataPromises=Promise.all([contentStreamPromise,resourcesPromise]);var pageListPromise=dataPromises.then(function(_ref7){var _ref8=_slicedToArray(_ref7,1),contentStream=_ref8[0];var opList=new _operator_list.OperatorList(intent,sink,_this10.pageIndex);handler.send(\"StartRenderPage\",{transparency:partialEvaluator.hasBlendModes(_this10.resources),pageIndex:_this10.pageIndex,intent:intent});return partialEvaluator.getOperatorList({stream:contentStream,task:task,resources:_this10.resources,operatorList:opList}).then(function(){return opList;});});return Promise.all([pageListPromise,this._parsedAnnotations]).then(function(_ref9){var _ref10=_slicedToArray(_ref9,2),pageOpList=_ref10[0],annotations=_ref10[1];if(annotations.length===0){pageOpList.flush(true);return{length:pageOpList.totalLength};}var opListPromises=[];var _iterator6=_createForOfIteratorHelper(annotations),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var annotation=_step6.value;if(isAnnotationRenderable(annotation,intent)){opListPromises.push(annotation.getOperatorList(partialEvaluator,task,renderInteractiveForms));}}}catch(err){_iterator6.e(err);}finally{_iterator6.f();}return Promise.all(opListPromises).then(function(opLists){pageOpList.addOp(_util.OPS.beginAnnotations,[]);var _iterator7=_createForOfIteratorHelper(opLists),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var opList=_step7.value;pageOpList.addOpList(opList);}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}pageOpList.addOp(_util.OPS.endAnnotations,[]);pageOpList.flush(true);return{length:pageOpList.totalLength};});});}},{key:\"extractTextContent\",value:function extractTextContent(_ref11){var _this11=this;var handler=_ref11.handler,task=_ref11.task,normalizeWhitespace=_ref11.normalizeWhitespace,sink=_ref11.sink,combineTextItems=_ref11.combineTextItems;var contentStreamPromise=this.pdfManager.ensure(this,\"getContentStream\");var resourcesPromise=this.loadResources([\"ExtGState\",\"XObject\",\"Font\"]);var dataPromises=Promise.all([contentStreamPromise,resourcesPromise]);return dataPromises.then(function(_ref12){var _ref13=_slicedToArray(_ref12,1),contentStream=_ref13[0];var partialEvaluator=new _evaluator.PartialEvaluator({xref:_this11.xref,handler:handler,pageIndex:_this11.pageIndex,idFactory:_this11.idFactory,fontCache:_this11.fontCache,builtInCMapCache:_this11.builtInCMapCache,options:_this11.evaluatorOptions,pdfFunctionFactory:_this11.pdfFunctionFactory});return partialEvaluator.getTextContent({stream:contentStream,task:task,resources:_this11.resources,normalizeWhitespace:normalizeWhitespace,combineTextItems:combineTextItems,sink:sink});});}},{key:\"getAnnotationsData\",value:function getAnnotationsData(intent){return this._parsedAnnotations.then(function(annotations){var annotationsData=[];for(var i=0,ii=annotations.length;i<ii;i++){if(!intent||isAnnotationRenderable(annotations[i],intent)){annotationsData.push(annotations[i].data);}}return annotationsData;});}},{key:\"content\",get:function get(){return this.pageDict.get(\"Contents\");}},{key:\"resources\",get:function get(){return(0,_util.shadow)(this,\"resources\",this._getInheritableProperty(\"Resources\")||_primitives.Dict.empty);}},{key:\"mediaBox\",get:function get(){return(0,_util.shadow)(this,\"mediaBox\",this._getBoundingBox(\"MediaBox\")||LETTER_SIZE_MEDIABOX);}},{key:\"cropBox\",get:function get(){return(0,_util.shadow)(this,\"cropBox\",this._getBoundingBox(\"CropBox\")||this.mediaBox);}},{key:\"userUnit\",get:function get(){var obj=this.pageDict.get(\"UserUnit\");if(!(0,_util.isNum)(obj)||obj<=0){obj=DEFAULT_USER_UNIT;}return(0,_util.shadow)(this,\"userUnit\",obj);}},{key:\"view\",get:function get(){var cropBox=this.cropBox,mediaBox=this.mediaBox;var view;if(cropBox===mediaBox||(0,_util.isArrayEqual)(cropBox,mediaBox)){view=mediaBox;}else{var box=_util.Util.intersect(cropBox,mediaBox);if(box&&box[2]-box[0]!==0&&box[3]-box[1]!==0){view=box;}else{(0,_util.warn)(\"Empty /CropBox and /MediaBox intersection.\");}}return(0,_util.shadow)(this,\"view\",view||mediaBox);}},{key:\"rotate\",get:function get(){var rotate=this._getInheritableProperty(\"Rotate\")||0;if(rotate%90!==0){rotate=0;}else if(rotate>=360){rotate=rotate%360;}else if(rotate<0){rotate=(rotate%360+360)%360;}return(0,_util.shadow)(this,\"rotate\",rotate);}},{key:\"annotations\",get:function get(){return(0,_util.shadow)(this,\"annotations\",this._getInheritableProperty(\"Annots\")||[]);}},{key:\"_parsedAnnotations\",get:function get(){var _this12=this;var parsedAnnotations=this.pdfManager.ensure(this,\"annotations\").then(function(){var annotationRefs=_this12.annotations;var annotationPromises=[];for(var i=0,ii=annotationRefs.length;i<ii;i++){annotationPromises.push(_annotation.AnnotationFactory.create(_this12.xref,annotationRefs[i],_this12.pdfManager,_this12.idFactory));}return Promise.all(annotationPromises).then(function(annotations){return annotations.filter(function isDefined(annotation){return!!annotation;});},function(reason){(0,_util.warn)(\"_parsedAnnotations: \\\"\".concat(reason,\"\\\".\"));return[];});});return(0,_util.shadow)(this,\"_parsedAnnotations\",parsedAnnotations);}}]);return Page;}();exports.Page=Page;var PDF_HEADER_SIGNATURE=new Uint8Array([0x25,0x50,0x44,0x46,0x2d]);var STARTXREF_SIGNATURE=new Uint8Array([0x73,0x74,0x61,0x72,0x74,0x78,0x72,0x65,0x66]);var ENDOBJ_SIGNATURE=new Uint8Array([0x65,0x6e,0x64,0x6f,0x62,0x6a]);var FINGERPRINT_FIRST_BYTES=1024;var EMPTY_FINGERPRINT=\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";var PDF_HEADER_VERSION_REGEXP=/^[1-9]\\.[0-9]$/;function find(stream,signature){var limit=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1024;var backwards=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var signatureLength=signature.length;var scanBytes=stream.peekBytes(limit);var scanLength=scanBytes.length-signatureLength;if(scanLength<=0){return false;}if(backwards){var signatureEnd=signatureLength-1;var pos=scanBytes.length-1;while(pos>=signatureEnd){var j=0;while(j<signatureLength&&scanBytes[pos-j]===signature[signatureEnd-j]){j++;}if(j>=signatureLength){stream.pos+=pos-signatureEnd;return true;}pos--;}}else{var _pos=0;while(_pos<=scanLength){var _j=0;while(_j<signatureLength&&scanBytes[_pos+_j]===signature[_j]){_j++;}if(_j>=signatureLength){stream.pos+=_pos;return true;}_pos++;}}return false;}var PDFDocument=/*#__PURE__*/function(){function PDFDocument(pdfManager,arg){_classCallCheck(this,PDFDocument);var stream;if((0,_primitives.isStream)(arg)){stream=arg;}else if((0,_util.isArrayBuffer)(arg)){stream=new _stream.Stream(arg);}else{throw new Error(\"PDFDocument: Unknown argument type\");}if(stream.length<=0){throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");}this.pdfManager=pdfManager;this.stream=stream;this.xref=new _obj.XRef(stream,pdfManager);this.pdfFunctionFactory=new _function.PDFFunctionFactory({xref:this.xref,isEvalSupported:pdfManager.evaluatorOptions.isEvalSupported});this._pagePromises=[];}_createClass(PDFDocument,[{key:\"parse\",value:function parse(recoveryMode){this.setup(recoveryMode);var version=this.catalog.catDict.get(\"Version\");if((0,_primitives.isName)(version)){this.pdfFormatVersion=version.name;}try{this.acroForm=this.catalog.catDict.get(\"AcroForm\");if(this.acroForm){this.xfa=this.acroForm.get(\"XFA\");var fields=this.acroForm.get(\"Fields\");if((!Array.isArray(fields)||fields.length===0)&&!this.xfa){this.acroForm=null;}}}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.info)(\"Cannot fetch AcroForm entry; assuming no AcroForms are present\");this.acroForm=null;}try{var collection=this.catalog.catDict.get(\"Collection\");if((0,_primitives.isDict)(collection)&&collection.getKeys().length>0){this.collection=collection;}}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.info)(\"Cannot fetch Collection dictionary.\");}}},{key:\"checkHeader\",value:function checkHeader(){var stream=this.stream;stream.reset();if(!find(stream,PDF_HEADER_SIGNATURE)){return;}stream.moveStart();var MAX_PDF_VERSION_LENGTH=12;var version=\"\",ch;while((ch=stream.getByte())>0x20){if(version.length>=MAX_PDF_VERSION_LENGTH){break;}version+=String.fromCharCode(ch);}if(!this.pdfFormatVersion){this.pdfFormatVersion=version.substring(5);}}},{key:\"parseStartXRef\",value:function parseStartXRef(){this.xref.setStartXRef(this.startXRef);}},{key:\"setup\",value:function setup(recoveryMode){this.xref.parse(recoveryMode);this.catalog=new _obj.Catalog(this.pdfManager,this.xref);}},{key:\"_getLinearizationPage\",value:function _getLinearizationPage(pageIndex){var catalog=this.catalog,linearization=this.linearization;(0,_util.assert)(linearization&&linearization.pageFirst===pageIndex);var ref=_primitives.Ref.get(linearization.objectNumberFirst,0);return this.xref.fetchAsync(ref).then(function(obj){if((0,_primitives.isDict)(obj,\"Page\")||(0,_primitives.isDict)(obj)&&!obj.has(\"Type\")&&obj.has(\"Contents\")){if(ref&&!catalog.pageKidsCountCache.has(ref)){catalog.pageKidsCountCache.put(ref,1);}return[obj,ref];}throw new _util.FormatError(\"The Linearization dictionary doesn't point \"+\"to a valid Page dictionary.\");}).catch(function(reason){(0,_util.info)(reason);return catalog.getPageDict(pageIndex);});}},{key:\"getPage\",value:function getPage(pageIndex){var _this13=this;if(this._pagePromises[pageIndex]!==undefined){return this._pagePromises[pageIndex];}var catalog=this.catalog,linearization=this.linearization;var promise=linearization&&linearization.pageFirst===pageIndex?this._getLinearizationPage(pageIndex):catalog.getPageDict(pageIndex);return this._pagePromises[pageIndex]=promise.then(function(_ref14){var _ref15=_slicedToArray(_ref14,2),pageDict=_ref15[0],ref=_ref15[1];return new Page({pdfManager:_this13.pdfManager,xref:_this13.xref,pageIndex:pageIndex,pageDict:pageDict,ref:ref,fontCache:catalog.fontCache,builtInCMapCache:catalog.builtInCMapCache,pdfFunctionFactory:_this13.pdfFunctionFactory});});}},{key:\"checkFirstPage\",value:function checkFirstPage(){var _this14=this;return this.getPage(0).catch(/*#__PURE__*/function(){var _ref16=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee6(reason){return regeneratorRuntime.wrap(function _callee6$(_context6){while(1){switch(_context6.prev=_context6.next){case 0:if(!(reason instanceof _core_utils.XRefEntryException)){_context6.next=5;break;}_this14._pagePromises.length=0;_context6.next=4;return _this14.cleanup();case 4:throw new _core_utils.XRefParseException();case 5:case\"end\":return _context6.stop();}}},_callee6);}));return function(_x11){return _ref16.apply(this,arguments);};}());}},{key:\"fontFallback\",value:function fontFallback(id,handler){return this.catalog.fontFallback(id,handler);}},{key:\"cleanup\",value:function(){var _cleanup=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee7(){return regeneratorRuntime.wrap(function _callee7$(_context7){while(1){switch(_context7.prev=_context7.next){case 0:return _context7.abrupt(\"return\",this.catalog?this.catalog.cleanup():(0,_primitives.clearPrimitiveCaches)());case 1:case\"end\":return _context7.stop();}}},_callee7,this);}));function cleanup(){return _cleanup.apply(this,arguments);}return cleanup;}()},{key:\"linearization\",get:function get(){var linearization=null;try{linearization=_parser.Linearization.create(this.stream);}catch(err){if(err instanceof _core_utils.MissingDataException){throw err;}(0,_util.info)(err);}return(0,_util.shadow)(this,\"linearization\",linearization);}},{key:\"startXRef\",get:function get(){var stream=this.stream;var startXRef=0;if(this.linearization){stream.reset();if(find(stream,ENDOBJ_SIGNATURE)){startXRef=stream.pos+6-stream.start;}}else{var step=1024;var startXRefLength=STARTXREF_SIGNATURE.length;var found=false,pos=stream.end;while(!found&&pos>0){pos-=step-startXRefLength;if(pos<0){pos=0;}stream.pos=pos;found=find(stream,STARTXREF_SIGNATURE,step,true);}if(found){stream.skip(9);var ch;do{ch=stream.getByte();}while((0,_core_utils.isWhiteSpace)(ch));var str=\"\";while(ch>=0x20&&ch<=0x39){str+=String.fromCharCode(ch);ch=stream.getByte();}startXRef=parseInt(str,10);if(isNaN(startXRef)){startXRef=0;}}}return(0,_util.shadow)(this,\"startXRef\",startXRef);}},{key:\"numPages\",get:function get(){var linearization=this.linearization;var num=linearization?linearization.numPages:this.catalog.numPages;return(0,_util.shadow)(this,\"numPages\",num);}},{key:\"documentInfo\",get:function get(){var DocumentInfoValidators={Title:_util.isString,Author:_util.isString,Subject:_util.isString,Keywords:_util.isString,Creator:_util.isString,Producer:_util.isString,CreationDate:_util.isString,ModDate:_util.isString,Trapped:_primitives.isName};var version=this.pdfFormatVersion;if(typeof version!==\"string\"||!PDF_HEADER_VERSION_REGEXP.test(version)){(0,_util.warn)(\"Invalid PDF header version number: \".concat(version));version=null;}var docInfo={PDFFormatVersion:version,IsLinearized:!!this.linearization,IsAcroFormPresent:!!this.acroForm,IsXFAPresent:!!this.xfa,IsCollectionPresent:!!this.collection};var infoDict;try{infoDict=this.xref.trailer.get(\"Info\");}catch(err){if(err instanceof _core_utils.MissingDataException){throw err;}(0,_util.info)(\"The document information dictionary is invalid.\");}if((0,_primitives.isDict)(infoDict)){var _iterator8=_createForOfIteratorHelper(infoDict.getKeys()),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var key=_step8.value;var value=infoDict.get(key);if(DocumentInfoValidators[key]){if(DocumentInfoValidators[key](value)){docInfo[key]=typeof value!==\"string\"?value:(0,_util.stringToPDFString)(value);}else{(0,_util.info)(\"Bad value in document info for \\\"\".concat(key,\"\\\".\"));}}else if(typeof key===\"string\"){var customValue=void 0;if((0,_util.isString)(value)){customValue=(0,_util.stringToPDFString)(value);}else if((0,_primitives.isName)(value)||(0,_util.isNum)(value)||(0,_util.isBool)(value)){customValue=value;}else{(0,_util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key,\"\\\".\"));continue;}if(!docInfo[\"Custom\"]){docInfo[\"Custom\"]=Object.create(null);}docInfo[\"Custom\"][key]=customValue;}}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}}return(0,_util.shadow)(this,\"documentInfo\",docInfo);}},{key:\"fingerprint\",get:function get(){var hash;var idArray=this.xref.trailer.get(\"ID\");if(Array.isArray(idArray)&&idArray[0]&&(0,_util.isString)(idArray[0])&&idArray[0]!==EMPTY_FINGERPRINT){hash=(0,_util.stringToBytes)(idArray[0]);}else{hash=(0,_crypto.calculateMD5)(this.stream.getByteRange(0,FINGERPRINT_FIRST_BYTES),0,FINGERPRINT_FIRST_BYTES);}var fingerprintBuf=[];for(var i=0,ii=hash.length;i<ii;i++){var hex=hash[i].toString(16);fingerprintBuf.push(hex.padStart(2,\"0\"));}return(0,_util.shadow)(this,\"fingerprint\",fingerprintBuf.join(\"\"));}}]);return PDFDocument;}();exports.PDFDocument=PDFDocument;/***/},/* 9 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.FileSpec=exports.XRef=exports.ObjectLoader=exports.Catalog=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _parser=__w_pdfjs_require__(10);var _core_utils=__w_pdfjs_require__(7);var _crypto=__w_pdfjs_require__(21);var _colorspace=__w_pdfjs_require__(22);function fetchDestination(dest){return(0,_primitives.isDict)(dest)?dest.get(\"D\"):dest;}var Catalog=/*#__PURE__*/function(){function Catalog(pdfManager,xref){_classCallCheck(this,Catalog);this.pdfManager=pdfManager;this.xref=xref;this.catDict=xref.getCatalogObj();if(!(0,_primitives.isDict)(this.catDict)){throw new _util.FormatError(\"Catalog object is not a dictionary.\");}this.fontCache=new _primitives.RefSetCache();this.builtInCMapCache=new Map();this.pageKidsCountCache=new _primitives.RefSetCache();}_createClass(Catalog,[{key:\"_readDocumentOutline\",value:function _readDocumentOutline(){var obj=this.catDict.get(\"Outlines\");if(!(0,_primitives.isDict)(obj)){return null;}obj=obj.getRaw(\"First\");if(!(0,_primitives.isRef)(obj)){return null;}var root={items:[]};var queue=[{obj:obj,parent:root}];var processed=new _primitives.RefSet();processed.put(obj);var xref=this.xref,blackColor=new Uint8ClampedArray(3);while(queue.length>0){var i=queue.shift();var outlineDict=xref.fetchIfRef(i.obj);if(outlineDict===null){continue;}if(!outlineDict.has(\"Title\")){throw new _util.FormatError(\"Invalid outline item encountered.\");}var data={url:null,dest:null};Catalog.parseDestDictionary({destDict:outlineDict,resultObj:data,docBaseUrl:this.pdfManager.docBaseUrl});var title=outlineDict.get(\"Title\");var flags=outlineDict.get(\"F\")||0;var color=outlineDict.getArray(\"C\");var count=outlineDict.get(\"Count\");var rgbColor=blackColor;if(Array.isArray(color)&&color.length===3&&(color[0]!==0||color[1]!==0||color[2]!==0)){rgbColor=_colorspace.ColorSpace.singletons.rgb.getRgb(color,0);}var outlineItem={dest:data.dest,url:data.url,unsafeUrl:data.unsafeUrl,newWindow:data.newWindow,title:(0,_util.stringToPDFString)(title),color:rgbColor,count:Number.isInteger(count)?count:undefined,bold:!!(flags&2),italic:!!(flags&1),items:[]};i.parent.items.push(outlineItem);obj=outlineDict.getRaw(\"First\");if((0,_primitives.isRef)(obj)&&!processed.has(obj)){queue.push({obj:obj,parent:outlineItem});processed.put(obj);}obj=outlineDict.getRaw(\"Next\");if((0,_primitives.isRef)(obj)&&!processed.has(obj)){queue.push({obj:obj,parent:i.parent});processed.put(obj);}}return root.items.length>0?root.items:null;}},{key:\"_readPermissions\",value:function _readPermissions(){var encrypt=this.xref.trailer.get(\"Encrypt\");if(!(0,_primitives.isDict)(encrypt)){return null;}var flags=encrypt.get(\"P\");if(!(0,_util.isNum)(flags)){return null;}flags+=Math.pow(2,32);var permissions=[];for(var key in _util.PermissionFlag){var value=_util.PermissionFlag[key];if(flags&value){permissions.push(value);}}return permissions;}},{key:\"getDestination\",value:function getDestination(destinationId){var obj=this._readDests();if(obj instanceof NameTree||obj instanceof _primitives.Dict){return fetchDestination(obj.get(destinationId)||null);}return null;}},{key:\"_readDests\",value:function _readDests(){var obj=this.catDict.get(\"Names\");if(obj&&obj.has(\"Dests\")){return new NameTree(obj.getRaw(\"Dests\"),this.xref);}else if(this.catDict.has(\"Dests\")){return this.catDict.get(\"Dests\");}return undefined;}},{key:\"_readPageLabels\",value:function _readPageLabels(){var obj=this.catDict.getRaw(\"PageLabels\");if(!obj){return null;}var pageLabels=new Array(this.numPages);var style=null,prefix=\"\";var numberTree=new NumberTree(obj,this.xref);var nums=numberTree.getAll();var currentLabel=\"\",currentIndex=1;for(var i=0,ii=this.numPages;i<ii;i++){if(i in nums){var labelDict=nums[i];if(!(0,_primitives.isDict)(labelDict)){throw new _util.FormatError(\"PageLabel is not a dictionary.\");}if(labelDict.has(\"Type\")&&!(0,_primitives.isName)(labelDict.get(\"Type\"),\"PageLabel\")){throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");}if(labelDict.has(\"S\")){var s=labelDict.get(\"S\");if(!(0,_primitives.isName)(s)){throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");}style=s.name;}else{style=null;}if(labelDict.has(\"P\")){var p=labelDict.get(\"P\");if(!(0,_util.isString)(p)){throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");}prefix=(0,_util.stringToPDFString)(p);}else{prefix=\"\";}if(labelDict.has(\"St\")){var st=labelDict.get(\"St\");if(!(Number.isInteger(st)&&st>=1)){throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");}currentIndex=st;}else{currentIndex=1;}}switch(style){case\"D\":currentLabel=currentIndex;break;case\"R\":case\"r\":currentLabel=(0,_core_utils.toRomanNumerals)(currentIndex,style===\"r\");break;case\"A\":case\"a\":var LIMIT=26;var A_UPPER_CASE=0x41,A_LOWER_CASE=0x61;var baseCharCode=style===\"a\"?A_LOWER_CASE:A_UPPER_CASE;var letterIndex=currentIndex-1;var character=String.fromCharCode(baseCharCode+letterIndex%LIMIT);var charBuf=[];for(var j=0,jj=letterIndex/LIMIT|0;j<=jj;j++){charBuf.push(character);}currentLabel=charBuf.join(\"\");break;default:if(style){throw new _util.FormatError(\"Invalid style \\\"\".concat(style,\"\\\" in PageLabel dictionary.\"));}currentLabel=\"\";}pageLabels[i]=prefix+currentLabel;currentIndex++;}return pageLabels;}},{key:\"fontFallback\",value:function fontFallback(id,handler){var promises=[];this.fontCache.forEach(function(promise){promises.push(promise);});return Promise.all(promises).then(function(translatedFonts){var _iterator9=_createForOfIteratorHelper(translatedFonts),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var translatedFont=_step9.value;if(translatedFont.loadedName===id){translatedFont.fallback(handler);return;}}}catch(err){_iterator9.e(err);}finally{_iterator9.f();}});}},{key:\"cleanup\",value:function cleanup(){var _this15=this;(0,_primitives.clearPrimitiveCaches)();this.pageKidsCountCache.clear();var promises=[];this.fontCache.forEach(function(promise){promises.push(promise);});return Promise.all(promises).then(function(translatedFonts){var _iterator10=_createForOfIteratorHelper(translatedFonts),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var dict=_step10.value.dict;delete dict.translated;}}catch(err){_iterator10.e(err);}finally{_iterator10.f();}_this15.fontCache.clear();_this15.builtInCMapCache.clear();});}},{key:\"getPageDict\",value:function getPageDict(pageIndex){var capability=(0,_util.createPromiseCapability)();var nodesToVisit=[this.catDict.getRaw(\"Pages\")];var visitedNodes=new _primitives.RefSet();var xref=this.xref,pageKidsCountCache=this.pageKidsCountCache;var count,currentPageIndex=0;function next(){var _loop=function _loop(){var currentNode=nodesToVisit.pop();if((0,_primitives.isRef)(currentNode)){count=pageKidsCountCache.get(currentNode);if(count>0&&currentPageIndex+count<pageIndex){currentPageIndex+=count;return\"continue\";}if(visitedNodes.has(currentNode)){capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));return{v:void 0};}visitedNodes.put(currentNode);xref.fetchAsync(currentNode).then(function(obj){if((0,_primitives.isDict)(obj,\"Page\")||(0,_primitives.isDict)(obj)&&!obj.has(\"Kids\")){if(pageIndex===currentPageIndex){if(currentNode&&!pageKidsCountCache.has(currentNode)){pageKidsCountCache.put(currentNode,1);}capability.resolve([obj,currentNode]);}else{currentPageIndex++;next();}return;}nodesToVisit.push(obj);next();},capability.reject);return{v:void 0};}if(!(0,_primitives.isDict)(currentNode)){capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));return{v:void 0};}count=currentNode.get(\"Count\");if(Number.isInteger(count)&&count>=0){var objId=currentNode.objId;if(objId&&!pageKidsCountCache.has(objId)){pageKidsCountCache.put(objId,count);}if(currentPageIndex+count<=pageIndex){currentPageIndex+=count;return\"continue\";}}var kids=currentNode.get(\"Kids\");if(!Array.isArray(kids)){if((0,_primitives.isName)(currentNode.get(\"Type\"),\"Page\")||!currentNode.has(\"Type\")&&currentNode.has(\"Contents\")){if(currentPageIndex===pageIndex){capability.resolve([currentNode,null]);return{v:void 0};}currentPageIndex++;return\"continue\";}capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));return{v:void 0};}for(var last=kids.length-1;last>=0;last--){nodesToVisit.push(kids[last]);}};while(nodesToVisit.length){var _ret=_loop();if(_ret===\"continue\")continue;if(_typeof(_ret)===\"object\")return _ret.v;}capability.reject(new Error(\"Page index \".concat(pageIndex,\" not found.\")));}next();return capability.promise;}},{key:\"getPageIndex\",value:function getPageIndex(pageRef){var xref=this.xref;function pagesBeforeRef(kidRef){var total=0,parentRef;return xref.fetchAsync(kidRef).then(function(node){if((0,_primitives.isRefsEqual)(kidRef,pageRef)&&!(0,_primitives.isDict)(node,\"Page\")&&!((0,_primitives.isDict)(node)&&!node.has(\"Type\")&&node.has(\"Contents\"))){throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");}if(!node){return null;}if(!(0,_primitives.isDict)(node)){throw new _util.FormatError(\"Node must be a dictionary.\");}parentRef=node.getRaw(\"Parent\");return node.getAsync(\"Parent\");}).then(function(parent){if(!parent){return null;}if(!(0,_primitives.isDict)(parent)){throw new _util.FormatError(\"Parent must be a dictionary.\");}return parent.getAsync(\"Kids\");}).then(function(kids){if(!kids){return null;}var kidPromises=[];var found=false;for(var i=0,ii=kids.length;i<ii;i++){var kid=kids[i];if(!(0,_primitives.isRef)(kid)){throw new _util.FormatError(\"Kid must be a reference.\");}if((0,_primitives.isRefsEqual)(kid,kidRef)){found=true;break;}kidPromises.push(xref.fetchAsync(kid).then(function(kid){if(!(0,_primitives.isDict)(kid)){throw new _util.FormatError(\"Kid node must be a dictionary.\");}if(kid.has(\"Count\")){total+=kid.get(\"Count\");}else{total++;}}));}if(!found){throw new _util.FormatError(\"Kid reference not found in parent's kids.\");}return Promise.all(kidPromises).then(function(){return[total,parentRef];});});}var total=0;function next(ref){return pagesBeforeRef(ref).then(function(args){if(!args){return total;}var _args8=_slicedToArray(args,2),count=_args8[0],parentRef=_args8[1];total+=count;return next(parentRef);});}return next(pageRef);}},{key:\"metadata\",get:function get(){var streamRef=this.catDict.getRaw(\"Metadata\");if(!(0,_primitives.isRef)(streamRef)){return(0,_util.shadow)(this,\"metadata\",null);}var suppressEncryption=!(this.xref.encrypt&&this.xref.encrypt.encryptMetadata);var stream=this.xref.fetch(streamRef,suppressEncryption);var metadata;if(stream&&(0,_primitives.isDict)(stream.dict)){var type=stream.dict.get(\"Type\");var subtype=stream.dict.get(\"Subtype\");if((0,_primitives.isName)(type,\"Metadata\")&&(0,_primitives.isName)(subtype,\"XML\")){try{metadata=(0,_util.stringToUTF8String)((0,_util.bytesToString)(stream.getBytes()));}catch(e){if(e instanceof _core_utils.MissingDataException){throw e;}(0,_util.info)(\"Skipping invalid metadata.\");}}}return(0,_util.shadow)(this,\"metadata\",metadata);}},{key:\"toplevelPagesDict\",get:function get(){var pagesObj=this.catDict.get(\"Pages\");if(!(0,_primitives.isDict)(pagesObj)){throw new _util.FormatError(\"Invalid top-level pages dictionary.\");}return(0,_util.shadow)(this,\"toplevelPagesDict\",pagesObj);}},{key:\"documentOutline\",get:function get(){var obj=null;try{obj=this._readDocumentOutline();}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"Unable to read document outline.\");}return(0,_util.shadow)(this,\"documentOutline\",obj);}},{key:\"permissions\",get:function get(){var permissions=null;try{permissions=this._readPermissions();}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"Unable to read permissions.\");}return(0,_util.shadow)(this,\"permissions\",permissions);}},{key:\"numPages\",get:function get(){var obj=this.toplevelPagesDict.get(\"Count\");if(!Number.isInteger(obj)){throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");}return(0,_util.shadow)(this,\"numPages\",obj);}},{key:\"destinations\",get:function get(){var obj=this._readDests(),dests=Object.create(null);if(obj instanceof NameTree){var names=obj.getAll();for(var name in names){dests[name]=fetchDestination(names[name]);}}else if(obj instanceof _primitives.Dict){obj.forEach(function(key,value){if(value){dests[key]=fetchDestination(value);}});}return(0,_util.shadow)(this,\"destinations\",dests);}},{key:\"pageLabels\",get:function get(){var obj=null;try{obj=this._readPageLabels();}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"Unable to read page labels.\");}return(0,_util.shadow)(this,\"pageLabels\",obj);}},{key:\"pageLayout\",get:function get(){var obj=this.catDict.get(\"PageLayout\");var pageLayout=\"\";if((0,_primitives.isName)(obj)){switch(obj.name){case\"SinglePage\":case\"OneColumn\":case\"TwoColumnLeft\":case\"TwoColumnRight\":case\"TwoPageLeft\":case\"TwoPageRight\":pageLayout=obj.name;}}return(0,_util.shadow)(this,\"pageLayout\",pageLayout);}},{key:\"pageMode\",get:function get(){var obj=this.catDict.get(\"PageMode\");var pageMode=\"UseNone\";if((0,_primitives.isName)(obj)){switch(obj.name){case\"UseNone\":case\"UseOutlines\":case\"UseThumbs\":case\"FullScreen\":case\"UseOC\":case\"UseAttachments\":pageMode=obj.name;}}return(0,_util.shadow)(this,\"pageMode\",pageMode);}},{key:\"viewerPreferences\",get:function get(){var _this16=this;var ViewerPreferencesValidators={HideToolbar:_util.isBool,HideMenubar:_util.isBool,HideWindowUI:_util.isBool,FitWindow:_util.isBool,CenterWindow:_util.isBool,DisplayDocTitle:_util.isBool,NonFullScreenPageMode:_primitives.isName,Direction:_primitives.isName,ViewArea:_primitives.isName,ViewClip:_primitives.isName,PrintArea:_primitives.isName,PrintClip:_primitives.isName,PrintScaling:_primitives.isName,Duplex:_primitives.isName,PickTrayByPDFSize:_util.isBool,PrintPageRange:Array.isArray,NumCopies:Number.isInteger};var obj=this.catDict.get(\"ViewerPreferences\");var prefs=Object.create(null);if((0,_primitives.isDict)(obj)){for(var key in ViewerPreferencesValidators){if(!obj.has(key)){continue;}var value=obj.get(key);if(!ViewerPreferencesValidators[key](value)){(0,_util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key,\"\\\".\"));continue;}var prefValue=void 0;switch(key){case\"NonFullScreenPageMode\":switch(value.name){case\"UseNone\":case\"UseOutlines\":case\"UseThumbs\":case\"UseOC\":prefValue=value.name;break;default:prefValue=\"UseNone\";}break;case\"Direction\":switch(value.name){case\"L2R\":case\"R2L\":prefValue=value.name;break;default:prefValue=\"L2R\";}break;case\"ViewArea\":case\"ViewClip\":case\"PrintArea\":case\"PrintClip\":switch(value.name){case\"MediaBox\":case\"CropBox\":case\"BleedBox\":case\"TrimBox\":case\"ArtBox\":prefValue=value.name;break;default:prefValue=\"CropBox\";}break;case\"PrintScaling\":switch(value.name){case\"None\":case\"AppDefault\":prefValue=value.name;break;default:prefValue=\"AppDefault\";}break;case\"Duplex\":switch(value.name){case\"Simplex\":case\"DuplexFlipShortEdge\":case\"DuplexFlipLongEdge\":prefValue=value.name;break;default:prefValue=\"None\";}break;case\"PrintPageRange\":var length=value.length;if(length%2!==0){break;}var isValid=value.every(function(page,i,arr){return Number.isInteger(page)&&page>0&&(i===0||page>=arr[i-1])&&page<=_this16.numPages;});if(isValid){prefValue=value;}break;case\"NumCopies\":if(value>0){prefValue=value;}break;default:(0,_util.assert)(typeof value===\"boolean\");prefValue=value;}if(prefValue!==undefined){prefs[key]=prefValue;}else{(0,_util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key,\"\\\".\"));}}}return(0,_util.shadow)(this,\"viewerPreferences\",prefs);}},{key:\"openAction\",get:function get(){var obj=this.catDict.get(\"OpenAction\");var openAction=null;if((0,_primitives.isDict)(obj)){var destDict=new _primitives.Dict(this.xref);destDict.set(\"A\",obj);var resultObj={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:destDict,resultObj:resultObj});if(Array.isArray(resultObj.dest)){if(!openAction){openAction=Object.create(null);}openAction.dest=resultObj.dest;}else if(resultObj.action){if(!openAction){openAction=Object.create(null);}openAction.action=resultObj.action;}}else if(Array.isArray(obj)){if(!openAction){openAction=Object.create(null);}openAction.dest=obj;}return(0,_util.shadow)(this,\"openAction\",openAction);}},{key:\"attachments\",get:function get(){var obj=this.catDict.get(\"Names\");var attachments=null;if(obj&&obj.has(\"EmbeddedFiles\")){var nameTree=new NameTree(obj.getRaw(\"EmbeddedFiles\"),this.xref);var names=nameTree.getAll();for(var name in names){var fs=new FileSpec(names[name],this.xref);if(!attachments){attachments=Object.create(null);}attachments[(0,_util.stringToPDFString)(name)]=fs.serializable;}}return(0,_util.shadow)(this,\"attachments\",attachments);}},{key:\"javaScript\",get:function get(){var obj=this.catDict.get(\"Names\");var javaScript=null;function appendIfJavaScriptDict(jsDict){var type=jsDict.get(\"S\");if(!(0,_primitives.isName)(type,\"JavaScript\")){return;}var js=jsDict.get(\"JS\");if((0,_primitives.isStream)(js)){js=(0,_util.bytesToString)(js.getBytes());}else if(!(0,_util.isString)(js)){return;}if(!javaScript){javaScript=[];}javaScript.push((0,_util.stringToPDFString)(js));}if(obj&&obj.has(\"JavaScript\")){var nameTree=new NameTree(obj.getRaw(\"JavaScript\"),this.xref);var names=nameTree.getAll();for(var name in names){var jsDict=names[name];if((0,_primitives.isDict)(jsDict)){appendIfJavaScriptDict(jsDict);}}}var openAction=this.catDict.get(\"OpenAction\");if((0,_primitives.isDict)(openAction)&&(0,_primitives.isName)(openAction.get(\"S\"),\"JavaScript\")){appendIfJavaScriptDict(openAction);}return(0,_util.shadow)(this,\"javaScript\",javaScript);}}],[{key:\"parseDestDictionary\",value:function parseDestDictionary(params){function addDefaultProtocolToUrl(url){return url.startsWith(\"www.\")?\"http://\".concat(url):url;}function tryConvertUrlEncoding(url){try{return(0,_util.stringToUTF8String)(url);}catch(e){return url;}}var destDict=params.destDict;if(!(0,_primitives.isDict)(destDict)){(0,_util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");return;}var resultObj=params.resultObj;if(_typeof(resultObj)!==\"object\"){(0,_util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");return;}var docBaseUrl=params.docBaseUrl||null;var action=destDict.get(\"A\"),url,dest;if(!(0,_primitives.isDict)(action)&&destDict.has(\"Dest\")){action=destDict.get(\"Dest\");}if((0,_primitives.isDict)(action)){var actionType=action.get(\"S\");if(!(0,_primitives.isName)(actionType)){(0,_util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");return;}var actionName=actionType.name;switch(actionName){case\"URI\":url=action.get(\"URI\");if((0,_primitives.isName)(url)){url=\"/\"+url.name;}else if((0,_util.isString)(url)){url=addDefaultProtocolToUrl(url);}break;case\"GoTo\":dest=action.get(\"D\");break;case\"Launch\":case\"GoToR\":var urlDict=action.get(\"F\");if((0,_primitives.isDict)(urlDict)){url=urlDict.get(\"F\")||null;}else if((0,_util.isString)(urlDict)){url=urlDict;}var remoteDest=action.get(\"D\");if(remoteDest){if((0,_primitives.isName)(remoteDest)){remoteDest=remoteDest.name;}if((0,_util.isString)(url)){var baseUrl=url.split(\"#\")[0];if((0,_util.isString)(remoteDest)){url=baseUrl+\"#\"+remoteDest;}else if(Array.isArray(remoteDest)){url=baseUrl+\"#\"+JSON.stringify(remoteDest);}}}var newWindow=action.get(\"NewWindow\");if((0,_util.isBool)(newWindow)){resultObj.newWindow=newWindow;}break;case\"Named\":var namedAction=action.get(\"N\");if((0,_primitives.isName)(namedAction)){resultObj.action=namedAction.name;}break;case\"JavaScript\":var jsAction=action.get(\"JS\");var js;if((0,_primitives.isStream)(jsAction)){js=(0,_util.bytesToString)(jsAction.getBytes());}else if((0,_util.isString)(jsAction)){js=jsAction;}if(js){var URL_OPEN_METHODS=[\"app.launchURL\",\"window.open\"];var regex=new RegExp(\"^\\\\s*(\"+URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\")+\")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\",\"i\");var jsUrl=regex.exec((0,_util.stringToPDFString)(js));if(jsUrl&&jsUrl[2]){url=jsUrl[2];if(jsUrl[3]===\"true\"&&jsUrl[1]===\"app.launchURL\"){resultObj.newWindow=true;}break;}}default:(0,_util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName,\"\\\".\"));break;}}else if(destDict.has(\"Dest\")){dest=destDict.get(\"Dest\");}if((0,_util.isString)(url)){url=tryConvertUrlEncoding(url);var absoluteUrl=(0,_util.createValidAbsoluteUrl)(url,docBaseUrl);if(absoluteUrl){resultObj.url=absoluteUrl.href;}resultObj.unsafeUrl=url;}if(dest){if((0,_primitives.isName)(dest)){dest=dest.name;}if((0,_util.isString)(dest)||Array.isArray(dest)){resultObj.dest=dest;}}}}]);return Catalog;}();exports.Catalog=Catalog;var XRef=function XRefClosure(){function XRef(stream,pdfManager){this.stream=stream;this.pdfManager=pdfManager;this.entries=[];this.xrefstms=Object.create(null);this._cacheMap=new Map();this.stats={streamTypes:Object.create(null),fontTypes:Object.create(null)};}XRef.prototype={setStartXRef:function XRef_setStartXRef(startXRef){this.startXRefQueue=[startXRef];},parse:function XRef_parse(recoveryMode){var trailerDict;if(!recoveryMode){trailerDict=this.readXRef();}else{(0,_util.warn)(\"Indexing all PDF objects\");trailerDict=this.indexObjects();}trailerDict.assignXref(this);this.trailer=trailerDict;var encrypt;try{encrypt=trailerDict.get(\"Encrypt\");}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex,\"\\\".\"));}if((0,_primitives.isDict)(encrypt)){var ids=trailerDict.get(\"ID\");var fileId=ids&&ids.length?ids[0]:\"\";encrypt.suppressEncryption=true;this.encrypt=new _crypto.CipherTransformFactory(encrypt,fileId,this.pdfManager.password);}var root;try{root=trailerDict.get(\"Root\");}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex,\"\\\".\"));}if((0,_primitives.isDict)(root)&&root.has(\"Pages\")){this.root=root;}else{if(!recoveryMode){throw new _core_utils.XRefParseException();}throw new _util.FormatError(\"Invalid root reference\");}},processXRefTable:function XRef_processXRefTable(parser){if(!(\"tableState\"in this)){this.tableState={entryNum:0,streamPos:parser.lexer.stream.pos,parserBuf1:parser.buf1,parserBuf2:parser.buf2};}var obj=this.readXRefTable(parser);if(!(0,_primitives.isCmd)(obj,\"trailer\")){throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");}var dict=parser.getObj();if(!(0,_primitives.isDict)(dict)&&dict.dict){dict=dict.dict;}if(!(0,_primitives.isDict)(dict)){throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");}delete this.tableState;return dict;},readXRefTable:function XRef_readXRefTable(parser){var stream=parser.lexer.stream;var tableState=this.tableState;stream.pos=tableState.streamPos;parser.buf1=tableState.parserBuf1;parser.buf2=tableState.parserBuf2;var obj;while(true){if(!(\"firstEntryNum\"in tableState)||!(\"entryCount\"in tableState)){if((0,_primitives.isCmd)(obj=parser.getObj(),\"trailer\")){break;}tableState.firstEntryNum=obj;tableState.entryCount=parser.getObj();}var first=tableState.firstEntryNum;var count=tableState.entryCount;if(!Number.isInteger(first)||!Number.isInteger(count)){throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");}for(var i=tableState.entryNum;i<count;i++){tableState.streamPos=stream.pos;tableState.entryNum=i;tableState.parserBuf1=parser.buf1;tableState.parserBuf2=parser.buf2;var entry={};entry.offset=parser.getObj();entry.gen=parser.getObj();var type=parser.getObj();if(type instanceof _primitives.Cmd){switch(type.cmd){case\"f\":entry.free=true;break;case\"n\":entry.uncompressed=true;break;}}if(!Number.isInteger(entry.offset)||!Number.isInteger(entry.gen)||!(entry.free||entry.uncompressed)){throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first,\", \").concat(count));}if(i===0&&entry.free&&first===1){first=0;}if(!this.entries[i+first]){this.entries[i+first]=entry;}}tableState.entryNum=0;tableState.streamPos=stream.pos;tableState.parserBuf1=parser.buf1;tableState.parserBuf2=parser.buf2;delete tableState.firstEntryNum;delete tableState.entryCount;}if(this.entries[0]&&!this.entries[0].free){throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");}return obj;},processXRefStream:function XRef_processXRefStream(stream){if(!(\"streamState\"in this)){var streamParameters=stream.dict;var byteWidths=streamParameters.get(\"W\");var range=streamParameters.get(\"Index\");if(!range){range=[0,streamParameters.get(\"Size\")];}this.streamState={entryRanges:range,byteWidths:byteWidths,entryNum:0,streamPos:stream.pos};}this.readXRefStream(stream);delete this.streamState;return stream.dict;},readXRefStream:function XRef_readXRefStream(stream){var i,j;var streamState=this.streamState;stream.pos=streamState.streamPos;var byteWidths=streamState.byteWidths;var typeFieldWidth=byteWidths[0];var offsetFieldWidth=byteWidths[1];var generationFieldWidth=byteWidths[2];var entryRanges=streamState.entryRanges;while(entryRanges.length>0){var first=entryRanges[0];var n=entryRanges[1];if(!Number.isInteger(first)||!Number.isInteger(n)){throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first,\", \").concat(n));}if(!Number.isInteger(typeFieldWidth)||!Number.isInteger(offsetFieldWidth)||!Number.isInteger(generationFieldWidth)){throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first,\", \").concat(n));}for(i=streamState.entryNum;i<n;++i){streamState.entryNum=i;streamState.streamPos=stream.pos;var type=0,offset=0,generation=0;for(j=0;j<typeFieldWidth;++j){type=type<<8|stream.getByte();}if(typeFieldWidth===0){type=1;}for(j=0;j<offsetFieldWidth;++j){offset=offset<<8|stream.getByte();}for(j=0;j<generationFieldWidth;++j){generation=generation<<8|stream.getByte();}var entry={};entry.offset=offset;entry.gen=generation;switch(type){case 0:entry.free=true;break;case 1:entry.uncompressed=true;break;case 2:break;default:throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));}if(!this.entries[first+i]){this.entries[first+i]=entry;}}streamState.entryNum=0;streamState.streamPos=stream.pos;entryRanges.splice(0,2);}},indexObjects:function XRef_indexObjects(){var TAB=0x9,LF=0xa,CR=0xd,SPACE=0x20;var PERCENT=0x25,LT=0x3c;function readToken(data,offset){var token=\"\",ch=data[offset];while(ch!==LF&&ch!==CR&&ch!==LT){if(++offset>=data.length){break;}token+=String.fromCharCode(ch);ch=data[offset];}return token;}function skipUntil(data,offset,what){var length=what.length,dataLength=data.length;var skipped=0;while(offset<dataLength){var i=0;while(i<length&&data[offset+i]===what[i]){++i;}if(i>=length){break;}offset++;skipped++;}return skipped;}var objRegExp=/^(\\d+)\\s+(\\d+)\\s+obj\\b/;var endobjRegExp=/\\bendobj[\\b\\s]$/;var nestedObjRegExp=/\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;var CHECK_CONTENT_LENGTH=25;var trailerBytes=new Uint8Array([116,114,97,105,108,101,114]);var startxrefBytes=new Uint8Array([115,116,97,114,116,120,114,101,102]);var objBytes=new Uint8Array([111,98,106]);var xrefBytes=new Uint8Array([47,88,82,101,102]);this.entries.length=0;var stream=this.stream;stream.pos=0;var buffer=stream.getBytes();var position=stream.start,length=buffer.length;var trailers=[],xrefStms=[];while(position<length){var ch=buffer[position];if(ch===TAB||ch===LF||ch===CR||ch===SPACE){++position;continue;}if(ch===PERCENT){do{++position;if(position>=length){break;}ch=buffer[position];}while(ch!==LF&&ch!==CR);continue;}var token=readToken(buffer,position);var m;if(token.startsWith(\"xref\")&&(token.length===4||/\\s/.test(token[4]))){position+=skipUntil(buffer,position,trailerBytes);trailers.push(position);position+=skipUntil(buffer,position,startxrefBytes);}else if(m=objRegExp.exec(token)){var num=m[1]|0,gen=m[2]|0;if(!this.entries[num]||this.entries[num].gen===gen){this.entries[num]={offset:position-stream.start,gen:gen,uncompressed:true};}var contentLength=void 0,startPos=position+token.length;while(startPos<buffer.length){var endPos=startPos+skipUntil(buffer,startPos,objBytes)+4;contentLength=endPos-position;var checkPos=Math.max(endPos-CHECK_CONTENT_LENGTH,startPos);var tokenStr=(0,_util.bytesToString)(buffer.subarray(checkPos,endPos));if(endobjRegExp.test(tokenStr)){break;}else{var objToken=nestedObjRegExp.exec(tokenStr);if(objToken&&objToken[1]){(0,_util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", '+'caused by missing \"endobj\" -- trying to recover.');contentLength-=objToken[1].length;break;}}startPos=endPos;}var content=buffer.subarray(position,position+contentLength);var xrefTagOffset=skipUntil(content,0,xrefBytes);if(xrefTagOffset<contentLength&&content[xrefTagOffset+5]<64){xrefStms.push(position-stream.start);this.xrefstms[position-stream.start]=1;}position+=contentLength;}else if(token.startsWith(\"trailer\")&&(token.length===7||/\\s/.test(token[7]))){trailers.push(position);position+=skipUntil(buffer,position,startxrefBytes);}else{position+=token.length+1;}}var i,ii;for(i=0,ii=xrefStms.length;i<ii;++i){this.startXRefQueue.push(xrefStms[i]);this.readXRef(true);}var trailerDict;for(i=0,ii=trailers.length;i<ii;++i){stream.pos=trailers[i];var parser=new _parser.Parser({lexer:new _parser.Lexer(stream),xref:this,allowStreams:true,recoveryMode:true});var obj=parser.getObj();if(!(0,_primitives.isCmd)(obj,\"trailer\")){continue;}var dict=parser.getObj();if(!(0,_primitives.isDict)(dict)){continue;}var rootDict=void 0;try{rootDict=dict.get(\"Root\");}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}continue;}if(!(0,_primitives.isDict)(rootDict)||!rootDict.has(\"Pages\")){continue;}if(dict.has(\"ID\")){return dict;}trailerDict=dict;}if(trailerDict){return trailerDict;}throw new _util.InvalidPDFException(\"Invalid PDF structure.\");},readXRef:function XRef_readXRef(recoveryMode){var stream=this.stream;var startXRefParsedCache=Object.create(null);try{while(this.startXRefQueue.length){var startXRef=this.startXRefQueue[0];if(startXRefParsedCache[startXRef]){(0,_util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");this.startXRefQueue.shift();continue;}startXRefParsedCache[startXRef]=true;stream.pos=startXRef+stream.start;var parser=new _parser.Parser({lexer:new _parser.Lexer(stream),xref:this,allowStreams:true});var obj=parser.getObj();var dict;if((0,_primitives.isCmd)(obj,\"xref\")){dict=this.processXRefTable(parser);if(!this.topDict){this.topDict=dict;}obj=dict.get(\"XRefStm\");if(Number.isInteger(obj)){var pos=obj;if(!(pos in this.xrefstms)){this.xrefstms[pos]=1;this.startXRefQueue.push(pos);}}}else if(Number.isInteger(obj)){if(!Number.isInteger(parser.getObj())||!(0,_primitives.isCmd)(parser.getObj(),\"obj\")||!(0,_primitives.isStream)(obj=parser.getObj())){throw new _util.FormatError(\"Invalid XRef stream\");}dict=this.processXRefStream(obj);if(!this.topDict){this.topDict=dict;}if(!dict){throw new _util.FormatError(\"Failed to read XRef stream\");}}else{throw new _util.FormatError(\"Invalid XRef stream header\");}obj=dict.get(\"Prev\");if(Number.isInteger(obj)){this.startXRefQueue.push(obj);}else if((0,_primitives.isRef)(obj)){this.startXRefQueue.push(obj.num);}this.startXRefQueue.shift();}return this.topDict;}catch(e){if(e instanceof _core_utils.MissingDataException){throw e;}(0,_util.info)(\"(while reading XRef): \"+e);}if(recoveryMode){return undefined;}throw new _core_utils.XRefParseException();},getEntry:function XRef_getEntry(i){var xrefEntry=this.entries[i];if(xrefEntry&&!xrefEntry.free&&xrefEntry.offset){return xrefEntry;}return null;},fetchIfRef:function XRef_fetchIfRef(obj,suppressEncryption){if(obj instanceof _primitives.Ref){return this.fetch(obj,suppressEncryption);}return obj;},fetch:function XRef_fetch(ref,suppressEncryption){if(!(ref instanceof _primitives.Ref)){throw new Error(\"ref object is not a reference\");}var num=ref.num;var cacheEntry=this._cacheMap.get(num);if(cacheEntry!==undefined){if(cacheEntry instanceof _primitives.Dict&&!cacheEntry.objId){cacheEntry.objId=ref.toString();}return cacheEntry;}var xrefEntry=this.getEntry(num);if(xrefEntry===null){this._cacheMap.set(num,xrefEntry);return xrefEntry;}if(xrefEntry.uncompressed){xrefEntry=this.fetchUncompressed(ref,xrefEntry,suppressEncryption);}else{xrefEntry=this.fetchCompressed(ref,xrefEntry,suppressEncryption);}if((0,_primitives.isDict)(xrefEntry)){xrefEntry.objId=ref.toString();}else if((0,_primitives.isStream)(xrefEntry)){xrefEntry.dict.objId=ref.toString();}return xrefEntry;},fetchUncompressed:function fetchUncompressed(ref,xrefEntry){var suppressEncryption=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var gen=ref.gen;var num=ref.num;if(xrefEntry.gen!==gen){throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));}var stream=this.stream.makeSubStream(xrefEntry.offset+this.stream.start);var parser=new _parser.Parser({lexer:new _parser.Lexer(stream),xref:this,allowStreams:true});var obj1=parser.getObj();var obj2=parser.getObj();var obj3=parser.getObj();if(obj1!==num||obj2!==gen||!(obj3 instanceof _primitives.Cmd)){throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));}if(obj3.cmd!==\"obj\"){if(obj3.cmd.startsWith(\"obj\")){num=parseInt(obj3.cmd.substring(3),10);if(!Number.isNaN(num)){return num;}}throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));}if(this.encrypt&&!suppressEncryption){xrefEntry=parser.getObj(this.encrypt.createCipherTransform(num,gen));}else{xrefEntry=parser.getObj();}if(!(0,_primitives.isStream)(xrefEntry)){this._cacheMap.set(num,xrefEntry);}return xrefEntry;},fetchCompressed:function fetchCompressed(ref,xrefEntry){var suppressEncryption=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var tableOffset=xrefEntry.offset;var stream=this.fetch(_primitives.Ref.get(tableOffset,0));if(!(0,_primitives.isStream)(stream)){throw new _util.FormatError(\"bad ObjStm stream\");}var first=stream.dict.get(\"First\");var n=stream.dict.get(\"N\");if(!Number.isInteger(first)||!Number.isInteger(n)){throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");}var parser=new _parser.Parser({lexer:new _parser.Lexer(stream),xref:this,allowStreams:true});var nums=new Array(n);for(var i=0;i<n;++i){var num=parser.getObj();if(!Number.isInteger(num)){throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));}var offset=parser.getObj();if(!Number.isInteger(offset)){throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));}nums[i]=num;}var entries=new Array(n);for(var _i5=0;_i5<n;++_i5){var obj=parser.getObj();entries[_i5]=obj;if(parser.buf1 instanceof _primitives.Cmd&&parser.buf1.cmd===\"endobj\"){parser.shift();}if((0,_primitives.isStream)(obj)){continue;}var _num=nums[_i5],entry=this.entries[_num];if(entry&&entry.offset===tableOffset&&entry.gen===_i5){this._cacheMap.set(_num,obj);}}xrefEntry=entries[xrefEntry.gen];if(xrefEntry===undefined){throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));}return xrefEntry;},fetchIfRefAsync:function fetchIfRefAsync(obj,suppressEncryption){var _this17=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee8(){return regeneratorRuntime.wrap(function _callee8$(_context8){while(1){switch(_context8.prev=_context8.next){case 0:if(!(obj instanceof _primitives.Ref)){_context8.next=2;break;}return _context8.abrupt(\"return\",_this17.fetchAsync(obj,suppressEncryption));case 2:return _context8.abrupt(\"return\",obj);case 3:case\"end\":return _context8.stop();}}},_callee8);}))();},fetchAsync:function fetchAsync(ref,suppressEncryption){var _this18=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee9(){return regeneratorRuntime.wrap(function _callee9$(_context9){while(1){switch(_context9.prev=_context9.next){case 0:_context9.prev=0;return _context9.abrupt(\"return\",_this18.fetch(ref,suppressEncryption));case 4:_context9.prev=4;_context9.t0=_context9[\"catch\"](0);if(_context9.t0 instanceof _core_utils.MissingDataException){_context9.next=8;break;}throw _context9.t0;case 8:_context9.next=10;return _this18.pdfManager.requestRange(_context9.t0.begin,_context9.t0.end);case 10:return _context9.abrupt(\"return\",_this18.fetchAsync(ref,suppressEncryption));case 11:case\"end\":return _context9.stop();}}},_callee9,null,[[0,4]]);}))();},getCatalogObj:function XRef_getCatalogObj(){return this.root;}};return XRef;}();exports.XRef=XRef;var NameOrNumberTree=/*#__PURE__*/function(){function NameOrNumberTree(root,xref,type){_classCallCheck(this,NameOrNumberTree);if(this.constructor===NameOrNumberTree){(0,_util.unreachable)(\"Cannot initialize NameOrNumberTree.\");}this.root=root;this.xref=xref;this._type=type;}_createClass(NameOrNumberTree,[{key:\"getAll\",value:function getAll(){var dict=Object.create(null);if(!this.root){return dict;}var xref=this.xref;var processed=new _primitives.RefSet();processed.put(this.root);var queue=[this.root];while(queue.length>0){var obj=xref.fetchIfRef(queue.shift());if(!(0,_primitives.isDict)(obj)){continue;}if(obj.has(\"Kids\")){var kids=obj.get(\"Kids\");for(var i=0,ii=kids.length;i<ii;i++){var kid=kids[i];if(processed.has(kid)){throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type,\"\\\" tree.\"));}queue.push(kid);processed.put(kid);}continue;}var entries=obj.get(this._type);if(Array.isArray(entries)){for(var _i6=0,_ii=entries.length;_i6<_ii;_i6+=2){dict[xref.fetchIfRef(entries[_i6])]=xref.fetchIfRef(entries[_i6+1]);}}}return dict;}},{key:\"get\",value:function get(key){if(!this.root){return null;}var xref=this.xref;var kidsOrEntries=xref.fetchIfRef(this.root);var loopCount=0;var MAX_LEVELS=10;while(kidsOrEntries.has(\"Kids\")){if(++loopCount>MAX_LEVELS){(0,_util.warn)(\"Search depth limit reached for \\\"\".concat(this._type,\"\\\" tree.\"));return null;}var kids=kidsOrEntries.get(\"Kids\");if(!Array.isArray(kids)){return null;}var l=0,r=kids.length-1;while(l<=r){var m=l+r>>1;var kid=xref.fetchIfRef(kids[m]);var limits=kid.get(\"Limits\");if(key<xref.fetchIfRef(limits[0])){r=m-1;}else if(key>xref.fetchIfRef(limits[1])){l=m+1;}else{kidsOrEntries=xref.fetchIfRef(kids[m]);break;}}if(l>r){return null;}}var entries=kidsOrEntries.get(this._type);if(Array.isArray(entries)){var _l=0,_r=entries.length-2;while(_l<=_r){var tmp=_l+_r>>1,_m=tmp+(tmp&1);var currentKey=xref.fetchIfRef(entries[_m]);if(key<currentKey){_r=_m-2;}else if(key>currentKey){_l=_m+2;}else{return xref.fetchIfRef(entries[_m+1]);}}(0,_util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key,\"\\\", \")+\"in \\\"\".concat(this._type,\"\\\" tree.\"));for(var _m2=0,mm=entries.length;_m2<mm;_m2+=2){var _currentKey=xref.fetchIfRef(entries[_m2]);if(_currentKey===key){(0,_util.warn)(\"The \\\"\".concat(key,\"\\\" key was found at an incorrect, \")+\"i.e. out-of-order, position in \\\"\".concat(this._type,\"\\\" tree.\"));return xref.fetchIfRef(entries[_m2+1]);}}}return null;}}]);return NameOrNumberTree;}();var NameTree=/*#__PURE__*/function(_NameOrNumberTree){_inherits(NameTree,_NameOrNumberTree);var _super13=_createSuper(NameTree);function NameTree(root,xref){_classCallCheck(this,NameTree);return _super13.call(this,root,xref,\"Names\");}return NameTree;}(NameOrNumberTree);var NumberTree=/*#__PURE__*/function(_NameOrNumberTree2){_inherits(NumberTree,_NameOrNumberTree2);var _super14=_createSuper(NumberTree);function NumberTree(root,xref){_classCallCheck(this,NumberTree);return _super14.call(this,root,xref,\"Nums\");}return NumberTree;}(NameOrNumberTree);var FileSpec=function FileSpecClosure(){function FileSpec(root,xref){if(!root||!(0,_primitives.isDict)(root)){return;}this.xref=xref;this.root=root;if(root.has(\"FS\")){this.fs=root.get(\"FS\");}this.description=root.has(\"Desc\")?(0,_util.stringToPDFString)(root.get(\"Desc\")):\"\";if(root.has(\"RF\")){(0,_util.warn)(\"Related file specifications are not supported\");}this.contentAvailable=true;if(!root.has(\"EF\")){this.contentAvailable=false;(0,_util.warn)(\"Non-embedded file specifications are not supported\");}}function pickPlatformItem(dict){if(dict.has(\"UF\")){return dict.get(\"UF\");}else if(dict.has(\"F\")){return dict.get(\"F\");}else if(dict.has(\"Unix\")){return dict.get(\"Unix\");}else if(dict.has(\"Mac\")){return dict.get(\"Mac\");}else if(dict.has(\"DOS\")){return dict.get(\"DOS\");}return null;}FileSpec.prototype={get filename(){if(!this._filename&&this.root){var filename=pickPlatformItem(this.root)||\"unnamed\";this._filename=(0,_util.stringToPDFString)(filename).replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\//g,\"/\").replace(/\\\\/g,\"/\");}return this._filename;},get content(){if(!this.contentAvailable){return null;}if(!this.contentRef&&this.root){this.contentRef=pickPlatformItem(this.root.get(\"EF\"));}var content=null;if(this.contentRef){var xref=this.xref;var fileObj=xref.fetchIfRef(this.contentRef);if(fileObj&&(0,_primitives.isStream)(fileObj)){content=fileObj.getBytes();}else{(0,_util.warn)(\"Embedded file specification points to non-existing/invalid \"+\"content\");}}else{(0,_util.warn)(\"Embedded file specification does not have a content\");}return content;},get serializable(){return{filename:this.filename,content:this.content};}};return FileSpec;}();exports.FileSpec=FileSpec;var ObjectLoader=function(){function mayHaveChildren(value){return value instanceof _primitives.Ref||value instanceof _primitives.Dict||Array.isArray(value)||(0,_primitives.isStream)(value);}function addChildren(node,nodesToVisit){if(node instanceof _primitives.Dict||(0,_primitives.isStream)(node)){var dict=node instanceof _primitives.Dict?node:node.dict;var dictKeys=dict.getKeys();for(var i=0,ii=dictKeys.length;i<ii;i++){var rawValue=dict.getRaw(dictKeys[i]);if(mayHaveChildren(rawValue)){nodesToVisit.push(rawValue);}}}else if(Array.isArray(node)){for(var _i7=0,_ii2=node.length;_i7<_ii2;_i7++){var value=node[_i7];if(mayHaveChildren(value)){nodesToVisit.push(value);}}}}function ObjectLoader(dict,keys,xref){this.dict=dict;this.keys=keys;this.xref=xref;this.refSet=null;}ObjectLoader.prototype={load:function load(){var _this19=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee10(){var keys,dict,nodesToVisit,i,ii,rawValue;return regeneratorRuntime.wrap(function _callee10$(_context10){while(1){switch(_context10.prev=_context10.next){case 0:if(!(!_this19.xref.stream.allChunksLoaded||_this19.xref.stream.allChunksLoaded())){_context10.next=2;break;}return _context10.abrupt(\"return\",undefined);case 2:keys=_this19.keys,dict=_this19.dict;_this19.refSet=new _primitives.RefSet();nodesToVisit=[];for(i=0,ii=keys.length;i<ii;i++){rawValue=dict.getRaw(keys[i]);if(rawValue!==undefined){nodesToVisit.push(rawValue);}}return _context10.abrupt(\"return\",_this19._walk(nodesToVisit));case 7:case\"end\":return _context10.stop();}}},_callee10);}))();},_walk:function _walk(nodesToVisit){var _this20=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee11(){var nodesToRevisit,pendingRequests,currentNode,baseStreams,foundMissingData,i,ii,stream,_i8,_ii3,node;return regeneratorRuntime.wrap(function _callee11$(_context11){while(1){switch(_context11.prev=_context11.next){case 0:nodesToRevisit=[];pendingRequests=[];case 2:if(!nodesToVisit.length){_context11.next=22;break;}currentNode=nodesToVisit.pop();if(!(currentNode instanceof _primitives.Ref)){_context11.next=18;break;}if(!_this20.refSet.has(currentNode)){_context11.next=7;break;}return _context11.abrupt(\"continue\",2);case 7:_context11.prev=7;_this20.refSet.put(currentNode);currentNode=_this20.xref.fetch(currentNode);_context11.next=18;break;case 12:_context11.prev=12;_context11.t0=_context11[\"catch\"](7);if(_context11.t0 instanceof _core_utils.MissingDataException){_context11.next=16;break;}throw _context11.t0;case 16:nodesToRevisit.push(currentNode);pendingRequests.push({begin:_context11.t0.begin,end:_context11.t0.end});case 18:if(currentNode&&currentNode.getBaseStreams){baseStreams=currentNode.getBaseStreams();foundMissingData=false;for(i=0,ii=baseStreams.length;i<ii;i++){stream=baseStreams[i];if(stream.allChunksLoaded&&!stream.allChunksLoaded()){foundMissingData=true;pendingRequests.push({begin:stream.start,end:stream.end});}}if(foundMissingData){nodesToRevisit.push(currentNode);}}addChildren(currentNode,nodesToVisit);_context11.next=2;break;case 22:if(!pendingRequests.length){_context11.next=27;break;}_context11.next=25;return _this20.xref.stream.manager.requestRanges(pendingRequests);case 25:for(_i8=0,_ii3=nodesToRevisit.length;_i8<_ii3;_i8++){node=nodesToRevisit[_i8];if(node instanceof _primitives.Ref){_this20.refSet.remove(node);}}return _context11.abrupt(\"return\",_this20._walk(nodesToRevisit));case 27:_this20.refSet=null;return _context11.abrupt(\"return\",undefined);case 29:case\"end\":return _context11.stop();}}},_callee11,null,[[7,12]]);}))();}};return ObjectLoader;}();exports.ObjectLoader=ObjectLoader;/***/},/* 10 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.Parser=exports.Linearization=exports.Lexer=void 0;var _stream=__w_pdfjs_require__(11);var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _core_utils=__w_pdfjs_require__(7);var _ccitt_stream=__w_pdfjs_require__(12);var _jbig2_stream=__w_pdfjs_require__(14);var _jpeg_stream=__w_pdfjs_require__(17);var _jpx_stream=__w_pdfjs_require__(19);var MAX_LENGTH_TO_CACHE=1000;var MAX_ADLER32_LENGTH=5552;function computeAdler32(bytes){var bytesLength=bytes.length;var a=1,b=0;for(var i=0;i<bytesLength;++i){a+=bytes[i]&0xff;b+=a;}return b%65521<<16|a%65521;}var Parser=/*#__PURE__*/function(){function Parser(_ref17){var lexer=_ref17.lexer,xref=_ref17.xref,_ref17$allowStreams=_ref17.allowStreams,allowStreams=_ref17$allowStreams===void 0?false:_ref17$allowStreams,_ref17$recoveryMode=_ref17.recoveryMode,recoveryMode=_ref17$recoveryMode===void 0?false:_ref17$recoveryMode;_classCallCheck(this,Parser);this.lexer=lexer;this.xref=xref;this.allowStreams=allowStreams;this.recoveryMode=recoveryMode;this.imageCache=Object.create(null);this.refill();}_createClass(Parser,[{key:\"refill\",value:function refill(){this.buf1=this.lexer.getObj();this.buf2=this.lexer.getObj();}},{key:\"shift\",value:function shift(){if(this.buf2 instanceof _primitives.Cmd&&this.buf2.cmd===\"ID\"){this.buf1=this.buf2;this.buf2=null;}else{this.buf1=this.buf2;this.buf2=this.lexer.getObj();}}},{key:\"tryShift\",value:function tryShift(){try{this.shift();return true;}catch(e){if(e instanceof _core_utils.MissingDataException){throw e;}return false;}}},{key:\"getObj\",value:function getObj(){var cipherTransform=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var buf1=this.buf1;this.shift();if(buf1 instanceof _primitives.Cmd){switch(buf1.cmd){case\"BI\":return this.makeInlineImage(cipherTransform);case\"[\":var array=[];while(!(0,_primitives.isCmd)(this.buf1,\"]\")&&!(0,_primitives.isEOF)(this.buf1)){array.push(this.getObj(cipherTransform));}if((0,_primitives.isEOF)(this.buf1)){if(!this.recoveryMode){throw new _util.FormatError(\"End of file inside array\");}return array;}this.shift();return array;case\"<<\":var dict=new _primitives.Dict(this.xref);while(!(0,_primitives.isCmd)(this.buf1,\">>\")&&!(0,_primitives.isEOF)(this.buf1)){if(!(0,_primitives.isName)(this.buf1)){(0,_util.info)(\"Malformed dictionary: key must be a name object\");this.shift();continue;}var key=this.buf1.name;this.shift();if((0,_primitives.isEOF)(this.buf1)){break;}dict.set(key,this.getObj(cipherTransform));}if((0,_primitives.isEOF)(this.buf1)){if(!this.recoveryMode){throw new _util.FormatError(\"End of file inside dictionary\");}return dict;}if((0,_primitives.isCmd)(this.buf2,\"stream\")){return this.allowStreams?this.makeStream(dict,cipherTransform):dict;}this.shift();return dict;default:return buf1;}}if(Number.isInteger(buf1)){if(Number.isInteger(this.buf1)&&(0,_primitives.isCmd)(this.buf2,\"R\")){var ref=_primitives.Ref.get(buf1,this.buf1);this.shift();this.shift();return ref;}return buf1;}if(typeof buf1===\"string\"){if(cipherTransform){return cipherTransform.decryptString(buf1);}return buf1;}return buf1;}},{key:\"findDefaultInlineStreamEnd\",value:function findDefaultInlineStreamEnd(stream){var E=0x45,I=0x49,SPACE=0x20,LF=0xa,CR=0xd;var n=10,NUL=0x0;var startPos=stream.pos;var state=0,ch,maybeEIPos;while((ch=stream.getByte())!==-1){if(state===0){state=ch===E?1:0;}else if(state===1){state=ch===I?2:0;}else{(0,_util.assert)(state===2);if(ch===SPACE||ch===LF||ch===CR){maybeEIPos=stream.pos;var followingBytes=stream.peekBytes(n);for(var i=0,ii=followingBytes.length;i<ii;i++){ch=followingBytes[i];if(ch===NUL&&followingBytes[i+1]!==NUL){continue;}if(ch!==LF&&ch!==CR&&(ch<SPACE||ch>0x7f)){state=0;break;}}if(state===2){break;}}else{state=0;}}}if(ch===-1){(0,_util.warn)(\"findDefaultInlineStreamEnd: \"+\"Reached the end of the stream without finding a valid EI marker\");if(maybeEIPos){(0,_util.warn)('... trying to recover by using the last \"EI\" occurrence.');stream.skip(-(stream.pos-maybeEIPos));}}var endOffset=4;stream.skip(-endOffset);ch=stream.peekByte();stream.skip(endOffset);if(!(0,_core_utils.isWhiteSpace)(ch)){endOffset--;}return stream.pos-endOffset-startPos;}},{key:\"findDCTDecodeInlineStreamEnd\",value:function findDCTDecodeInlineStreamEnd(stream){var startPos=stream.pos;var foundEOI=false,b,markerLength;while((b=stream.getByte())!==-1){if(b!==0xff){continue;}switch(stream.getByte()){case 0x00:break;case 0xff:stream.skip(-1);break;case 0xd9:foundEOI=true;break;case 0xc0:case 0xc1:case 0xc2:case 0xc3:case 0xc5:case 0xc6:case 0xc7:case 0xc9:case 0xca:case 0xcb:case 0xcd:case 0xce:case 0xcf:case 0xc4:case 0xcc:case 0xda:case 0xdb:case 0xdc:case 0xdd:case 0xde:case 0xdf:case 0xe0:case 0xe1:case 0xe2:case 0xe3:case 0xe4:case 0xe5:case 0xe6:case 0xe7:case 0xe8:case 0xe9:case 0xea:case 0xeb:case 0xec:case 0xed:case 0xee:case 0xef:case 0xfe:markerLength=stream.getUint16();if(markerLength>2){stream.skip(markerLength-2);}else{stream.skip(-2);}break;}if(foundEOI){break;}}var length=stream.pos-startPos;if(b===-1){(0,_util.warn)(\"Inline DCTDecode image stream: \"+\"EOI marker not found, searching for /EI/ instead.\");stream.skip(-length);return this.findDefaultInlineStreamEnd(stream);}this.inlineStreamSkipEI(stream);return length;}},{key:\"findASCII85DecodeInlineStreamEnd\",value:function findASCII85DecodeInlineStreamEnd(stream){var TILDE=0x7e,GT=0x3e;var startPos=stream.pos;var ch;while((ch=stream.getByte())!==-1){if(ch===TILDE){var tildePos=stream.pos;ch=stream.peekByte();while((0,_core_utils.isWhiteSpace)(ch)){stream.skip();ch=stream.peekByte();}if(ch===GT){stream.skip();break;}if(stream.pos>tildePos){var maybeEI=stream.peekBytes(2);if(maybeEI[0]===0x45&&maybeEI[1]===0x49){break;}}}}var length=stream.pos-startPos;if(ch===-1){(0,_util.warn)(\"Inline ASCII85Decode image stream: \"+\"EOD marker not found, searching for /EI/ instead.\");stream.skip(-length);return this.findDefaultInlineStreamEnd(stream);}this.inlineStreamSkipEI(stream);return length;}},{key:\"findASCIIHexDecodeInlineStreamEnd\",value:function findASCIIHexDecodeInlineStreamEnd(stream){var GT=0x3e;var startPos=stream.pos;var ch;while((ch=stream.getByte())!==-1){if(ch===GT){break;}}var length=stream.pos-startPos;if(ch===-1){(0,_util.warn)(\"Inline ASCIIHexDecode image stream: \"+\"EOD marker not found, searching for /EI/ instead.\");stream.skip(-length);return this.findDefaultInlineStreamEnd(stream);}this.inlineStreamSkipEI(stream);return length;}},{key:\"inlineStreamSkipEI\",value:function inlineStreamSkipEI(stream){var E=0x45,I=0x49;var state=0,ch;while((ch=stream.getByte())!==-1){if(state===0){state=ch===E?1:0;}else if(state===1){state=ch===I?2:0;}else if(state===2){break;}}}},{key:\"makeInlineImage\",value:function makeInlineImage(cipherTransform){var lexer=this.lexer;var stream=lexer.stream;var dict=new _primitives.Dict(this.xref);var dictLength;while(!(0,_primitives.isCmd)(this.buf1,\"ID\")&&!(0,_primitives.isEOF)(this.buf1)){if(!(0,_primitives.isName)(this.buf1)){throw new _util.FormatError(\"Dictionary key must be a name object\");}var key=this.buf1.name;this.shift();if((0,_primitives.isEOF)(this.buf1)){break;}dict.set(key,this.getObj(cipherTransform));}if(lexer.beginInlineImagePos!==-1){dictLength=stream.pos-lexer.beginInlineImagePos;}var filter=dict.get(\"Filter\",\"F\");var filterName;if((0,_primitives.isName)(filter)){filterName=filter.name;}else if(Array.isArray(filter)){var filterZero=this.xref.fetchIfRef(filter[0]);if((0,_primitives.isName)(filterZero)){filterName=filterZero.name;}}var startPos=stream.pos;var length;if(filterName===\"DCTDecode\"||filterName===\"DCT\"){length=this.findDCTDecodeInlineStreamEnd(stream);}else if(filterName===\"ASCII85Decode\"||filterName===\"A85\"){length=this.findASCII85DecodeInlineStreamEnd(stream);}else if(filterName===\"ASCIIHexDecode\"||filterName===\"AHx\"){length=this.findASCIIHexDecodeInlineStreamEnd(stream);}else{length=this.findDefaultInlineStreamEnd(stream);}var imageStream=stream.makeSubStream(startPos,length,dict);var cacheKey;if(length<MAX_LENGTH_TO_CACHE&&dictLength<MAX_ADLER32_LENGTH){var imageBytes=imageStream.getBytes();imageStream.reset();var initialStreamPos=stream.pos;stream.pos=lexer.beginInlineImagePos;var dictBytes=stream.getBytes(dictLength);stream.pos=initialStreamPos;cacheKey=computeAdler32(imageBytes)+\"_\"+computeAdler32(dictBytes);var cacheEntry=this.imageCache[cacheKey];if(cacheEntry!==undefined){this.buf2=_primitives.Cmd.get(\"EI\");this.shift();cacheEntry.reset();return cacheEntry;}}if(cipherTransform){imageStream=cipherTransform.createStream(imageStream,length);}imageStream=this.filter(imageStream,dict,length);imageStream.dict=dict;if(cacheKey!==undefined){imageStream.cacheKey=\"inline_\".concat(length,\"_\").concat(cacheKey);this.imageCache[cacheKey]=imageStream;}this.buf2=_primitives.Cmd.get(\"EI\");this.shift();return imageStream;}},{key:\"_findStreamLength\",value:function _findStreamLength(startPos,signature){var stream=this.lexer.stream;stream.pos=startPos;var SCAN_BLOCK_LENGTH=2048;var signatureLength=signature.length;while(stream.pos<stream.end){var scanBytes=stream.peekBytes(SCAN_BLOCK_LENGTH);var scanLength=scanBytes.length-signatureLength;if(scanLength<=0){break;}var pos=0;while(pos<scanLength){var j=0;while(j<signatureLength&&scanBytes[pos+j]===signature[j]){j++;}if(j>=signatureLength){stream.pos+=pos;return stream.pos-startPos;}pos++;}stream.pos+=scanLength;}return-1;}},{key:\"makeStream\",value:function makeStream(dict,cipherTransform){var lexer=this.lexer;var stream=lexer.stream;lexer.skipToNextLine();var startPos=stream.pos-1;var length=dict.get(\"Length\");if(!Number.isInteger(length)){(0,_util.info)(\"Bad length \\\"\".concat(length,\"\\\" in stream\"));length=0;}stream.pos=startPos+length;lexer.nextChar();if(this.tryShift()&&(0,_primitives.isCmd)(this.buf2,\"endstream\")){this.shift();}else{var ENDSTREAM_SIGNATURE=new Uint8Array([0x65,0x6E,0x64,0x73,0x74,0x72,0x65,0x61,0x6D]);var actualLength=this._findStreamLength(startPos,ENDSTREAM_SIGNATURE);if(actualLength<0){var MAX_TRUNCATION=1;for(var i=1;i<=MAX_TRUNCATION;i++){var end=ENDSTREAM_SIGNATURE.length-i;var TRUNCATED_SIGNATURE=ENDSTREAM_SIGNATURE.slice(0,end);var maybeLength=this._findStreamLength(startPos,TRUNCATED_SIGNATURE);if(maybeLength>=0){var lastByte=stream.peekBytes(end+1)[end];if(!(0,_core_utils.isWhiteSpace)(lastByte)){break;}(0,_util.info)(\"Found \\\"\".concat((0,_util.bytesToString)(TRUNCATED_SIGNATURE),\"\\\" when \")+\"searching for endstream command.\");actualLength=maybeLength;break;}}if(actualLength<0){throw new _util.FormatError(\"Missing endstream command.\");}}length=actualLength;lexer.nextChar();this.shift();this.shift();}this.shift();stream=stream.makeSubStream(startPos,length,dict);if(cipherTransform){stream=cipherTransform.createStream(stream,length);}stream=this.filter(stream,dict,length);stream.dict=dict;return stream;}},{key:\"filter\",value:function filter(stream,dict,length){var filter=dict.get(\"Filter\",\"F\");var params=dict.get(\"DecodeParms\",\"DP\");if((0,_primitives.isName)(filter)){if(Array.isArray(params)){(0,_util.warn)(\"/DecodeParms should not contain an Array, \"+\"when /Filter contains a Name.\");}return this.makeFilter(stream,filter.name,length,params);}var maybeLength=length;if(Array.isArray(filter)){var filterArray=filter;var paramsArray=params;for(var i=0,ii=filterArray.length;i<ii;++i){filter=this.xref.fetchIfRef(filterArray[i]);if(!(0,_primitives.isName)(filter)){throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter,\"\\\"\"));}params=null;if(Array.isArray(paramsArray)&&i in paramsArray){params=this.xref.fetchIfRef(paramsArray[i]);}stream=this.makeFilter(stream,filter.name,maybeLength,params);maybeLength=null;}}return stream;}},{key:\"makeFilter\",value:function makeFilter(stream,name,maybeLength,params){if(maybeLength===0){(0,_util.warn)(\"Empty \\\"\".concat(name,\"\\\" stream.\"));return new _stream.NullStream();}try{var xrefStreamStats=this.xref.stats.streamTypes;if(name===\"FlateDecode\"||name===\"Fl\"){xrefStreamStats[_util.StreamType.FLATE]=true;if(params){return new _stream.PredictorStream(new _stream.FlateStream(stream,maybeLength),maybeLength,params);}return new _stream.FlateStream(stream,maybeLength);}if(name===\"LZWDecode\"||name===\"LZW\"){xrefStreamStats[_util.StreamType.LZW]=true;var earlyChange=1;if(params){if(params.has(\"EarlyChange\")){earlyChange=params.get(\"EarlyChange\");}return new _stream.PredictorStream(new _stream.LZWStream(stream,maybeLength,earlyChange),maybeLength,params);}return new _stream.LZWStream(stream,maybeLength,earlyChange);}if(name===\"DCTDecode\"||name===\"DCT\"){xrefStreamStats[_util.StreamType.DCT]=true;return new _jpeg_stream.JpegStream(stream,maybeLength,stream.dict,params);}if(name===\"JPXDecode\"||name===\"JPX\"){xrefStreamStats[_util.StreamType.JPX]=true;return new _jpx_stream.JpxStream(stream,maybeLength,stream.dict,params);}if(name===\"ASCII85Decode\"||name===\"A85\"){xrefStreamStats[_util.StreamType.A85]=true;return new _stream.Ascii85Stream(stream,maybeLength);}if(name===\"ASCIIHexDecode\"||name===\"AHx\"){xrefStreamStats[_util.StreamType.AHX]=true;return new _stream.AsciiHexStream(stream,maybeLength);}if(name===\"CCITTFaxDecode\"||name===\"CCF\"){xrefStreamStats[_util.StreamType.CCF]=true;return new _ccitt_stream.CCITTFaxStream(stream,maybeLength,params);}if(name===\"RunLengthDecode\"||name===\"RL\"){xrefStreamStats[_util.StreamType.RLX]=true;return new _stream.RunLengthStream(stream,maybeLength);}if(name===\"JBIG2Decode\"){xrefStreamStats[_util.StreamType.JBIG]=true;return new _jbig2_stream.Jbig2Stream(stream,maybeLength,stream.dict,params);}(0,_util.warn)(\"Filter \\\"\".concat(name,\"\\\" is not supported.\"));return stream;}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"Invalid stream: \\\"\".concat(ex,\"\\\"\"));return new _stream.NullStream();}}}]);return Parser;}();exports.Parser=Parser;var specialChars=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function toHexDigit(ch){if(ch>=0x30&&ch<=0x39){return ch&0x0f;}if(ch>=0x41&&ch<=0x46||ch>=0x61&&ch<=0x66){return(ch&0x0f)+9;}return-1;}var Lexer=/*#__PURE__*/function(){function Lexer(stream){var knownCommands=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;_classCallCheck(this,Lexer);this.stream=stream;this.nextChar();this.strBuf=[];this.knownCommands=knownCommands;this._hexStringNumWarn=0;this.beginInlineImagePos=-1;}_createClass(Lexer,[{key:\"nextChar\",value:function nextChar(){return this.currentChar=this.stream.getByte();}},{key:\"peekChar\",value:function peekChar(){return this.stream.peekByte();}},{key:\"getNumber\",value:function getNumber(){var ch=this.currentChar;var eNotation=false;var divideBy=0;var sign=0;if(ch===0x2d){sign=-1;ch=this.nextChar();if(ch===0x2d){ch=this.nextChar();}}else if(ch===0x2b){sign=1;ch=this.nextChar();}if(ch===0x0a||ch===0x0d){do{ch=this.nextChar();}while(ch===0x0a||ch===0x0d);}if(ch===0x2e){divideBy=10;ch=this.nextChar();}if(ch<0x30||ch>0x39){if(divideBy===10&&sign===0&&((0,_core_utils.isWhiteSpace)(ch)||ch===-1)){(0,_util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");return 0;}throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch),\" (charCode \").concat(ch,\")\"));}sign=sign||1;var baseValue=ch-0x30;var powerValue=0;var powerValueSign=1;while((ch=this.nextChar())>=0){if(ch>=0x30&&ch<=0x39){var currentDigit=ch-0x30;if(eNotation){powerValue=powerValue*10+currentDigit;}else{if(divideBy!==0){divideBy*=10;}baseValue=baseValue*10+currentDigit;}}else if(ch===0x2e){if(divideBy===0){divideBy=1;}else{break;}}else if(ch===0x2d){(0,_util.warn)(\"Badly formatted number: minus sign in the middle\");}else if(ch===0x45||ch===0x65){ch=this.peekChar();if(ch===0x2b||ch===0x2d){powerValueSign=ch===0x2d?-1:1;this.nextChar();}else if(ch<0x30||ch>0x39){break;}eNotation=true;}else{break;}}if(divideBy!==0){baseValue/=divideBy;}if(eNotation){baseValue*=Math.pow(10,powerValueSign*powerValue);}return sign*baseValue;}},{key:\"getString\",value:function getString(){var numParen=1;var done=false;var strBuf=this.strBuf;strBuf.length=0;var ch=this.nextChar();while(true){var charBuffered=false;switch(ch|0){case-1:(0,_util.warn)(\"Unterminated string\");done=true;break;case 0x28:++numParen;strBuf.push(\"(\");break;case 0x29:if(--numParen===0){this.nextChar();done=true;}else{strBuf.push(\")\");}break;case 0x5c:ch=this.nextChar();switch(ch){case-1:(0,_util.warn)(\"Unterminated string\");done=true;break;case 0x6e:strBuf.push(\"\\n\");break;case 0x72:strBuf.push(\"\\r\");break;case 0x74:strBuf.push(\"\\t\");break;case 0x62:strBuf.push(\"\\b\");break;case 0x66:strBuf.push(\"\\f\");break;case 0x5c:case 0x28:case 0x29:strBuf.push(String.fromCharCode(ch));break;case 0x30:case 0x31:case 0x32:case 0x33:case 0x34:case 0x35:case 0x36:case 0x37:var x=ch&0x0f;ch=this.nextChar();charBuffered=true;if(ch>=0x30&&ch<=0x37){x=(x<<3)+(ch&0x0f);ch=this.nextChar();if(ch>=0x30&&ch<=0x37){charBuffered=false;x=(x<<3)+(ch&0x0f);}}strBuf.push(String.fromCharCode(x));break;case 0x0d:if(this.peekChar()===0x0a){this.nextChar();}break;case 0x0a:break;default:strBuf.push(String.fromCharCode(ch));break;}break;default:strBuf.push(String.fromCharCode(ch));break;}if(done){break;}if(!charBuffered){ch=this.nextChar();}}return strBuf.join(\"\");}},{key:\"getName\",value:function getName(){var ch,previousCh;var strBuf=this.strBuf;strBuf.length=0;while((ch=this.nextChar())>=0&&!specialChars[ch]){if(ch===0x23){ch=this.nextChar();if(specialChars[ch]){(0,_util.warn)(\"Lexer_getName: \"+\"NUMBER SIGN (#) should be followed by a hexadecimal number.\");strBuf.push(\"#\");break;}var x=toHexDigit(ch);if(x!==-1){previousCh=ch;ch=this.nextChar();var x2=toHexDigit(ch);if(x2===-1){(0,_util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch),\") \")+\"in hexadecimal number.\");strBuf.push(\"#\",String.fromCharCode(previousCh));if(specialChars[ch]){break;}strBuf.push(String.fromCharCode(ch));continue;}strBuf.push(String.fromCharCode(x<<4|x2));}else{strBuf.push(\"#\",String.fromCharCode(ch));}}else{strBuf.push(String.fromCharCode(ch));}}if(strBuf.length>127){(0,_util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));}return _primitives.Name.get(strBuf.join(\"\"));}},{key:\"_hexStringWarn\",value:function _hexStringWarn(ch){var MAX_HEX_STRING_NUM_WARN=5;if(this._hexStringNumWarn++===MAX_HEX_STRING_NUM_WARN){(0,_util.warn)(\"getHexString - ignoring additional invalid characters.\");return;}if(this._hexStringNumWarn>MAX_HEX_STRING_NUM_WARN){return;}(0,_util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));}},{key:\"getHexString\",value:function getHexString(){var strBuf=this.strBuf;strBuf.length=0;var ch=this.currentChar;var isFirstHex=true;var firstDigit,secondDigit;this._hexStringNumWarn=0;while(true){if(ch<0){(0,_util.warn)(\"Unterminated hex string\");break;}else if(ch===0x3e){this.nextChar();break;}else if(specialChars[ch]===1){ch=this.nextChar();continue;}else{if(isFirstHex){firstDigit=toHexDigit(ch);if(firstDigit===-1){this._hexStringWarn(ch);ch=this.nextChar();continue;}}else{secondDigit=toHexDigit(ch);if(secondDigit===-1){this._hexStringWarn(ch);ch=this.nextChar();continue;}strBuf.push(String.fromCharCode(firstDigit<<4|secondDigit));}isFirstHex=!isFirstHex;ch=this.nextChar();}}return strBuf.join(\"\");}},{key:\"getObj\",value:function getObj(){var comment=false;var ch=this.currentChar;while(true){if(ch<0){return _primitives.EOF;}if(comment){if(ch===0x0a||ch===0x0d){comment=false;}}else if(ch===0x25){comment=true;}else if(specialChars[ch]!==1){break;}ch=this.nextChar();}switch(ch|0){case 0x30:case 0x31:case 0x32:case 0x33:case 0x34:case 0x35:case 0x36:case 0x37:case 0x38:case 0x39:case 0x2b:case 0x2d:case 0x2e:return this.getNumber();case 0x28:return this.getString();case 0x2f:return this.getName();case 0x5b:this.nextChar();return _primitives.Cmd.get(\"[\");case 0x5d:this.nextChar();return _primitives.Cmd.get(\"]\");case 0x3c:ch=this.nextChar();if(ch===0x3c){this.nextChar();return _primitives.Cmd.get(\"<<\");}return this.getHexString();case 0x3e:ch=this.nextChar();if(ch===0x3e){this.nextChar();return _primitives.Cmd.get(\">>\");}return _primitives.Cmd.get(\">\");case 0x7b:this.nextChar();return _primitives.Cmd.get(\"{\");case 0x7d:this.nextChar();return _primitives.Cmd.get(\"}\");case 0x29:this.nextChar();throw new _util.FormatError(\"Illegal character: \".concat(ch));}var str=String.fromCharCode(ch);var knownCommands=this.knownCommands;var knownCommandFound=knownCommands&&knownCommands[str]!==undefined;while((ch=this.nextChar())>=0&&!specialChars[ch]){var possibleCommand=str+String.fromCharCode(ch);if(knownCommandFound&&knownCommands[possibleCommand]===undefined){break;}if(str.length===128){throw new _util.FormatError(\"Command token too long: \".concat(str.length));}str=possibleCommand;knownCommandFound=knownCommands&&knownCommands[str]!==undefined;}if(str===\"true\"){return true;}if(str===\"false\"){return false;}if(str===\"null\"){return null;}if(str===\"BI\"){this.beginInlineImagePos=this.stream.pos;}return _primitives.Cmd.get(str);}},{key:\"skipToNextLine\",value:function skipToNextLine(){var ch=this.currentChar;while(ch>=0){if(ch===0x0d){ch=this.nextChar();if(ch===0x0a){this.nextChar();}break;}else if(ch===0x0a){this.nextChar();break;}ch=this.nextChar();}}}]);return Lexer;}();exports.Lexer=Lexer;var Linearization=/*#__PURE__*/function(){function Linearization(){_classCallCheck(this,Linearization);}_createClass(Linearization,null,[{key:\"create\",value:function create(stream){function getInt(linDict,name){var allowZeroValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var obj=linDict.get(name);if(Number.isInteger(obj)&&(allowZeroValue?obj>=0:obj>0)){return obj;}throw new Error(\"The \\\"\".concat(name,\"\\\" parameter in the linearization \")+\"dictionary is invalid.\");}function getHints(linDict){var hints=linDict.get(\"H\");var hintsLength;if(Array.isArray(hints)&&((hintsLength=hints.length)===2||hintsLength===4)){for(var index=0;index<hintsLength;index++){var hint=hints[index];if(!(Number.isInteger(hint)&&hint>0)){throw new Error(\"Hint (\".concat(index,\") in the linearization dictionary is invalid.\"));}}return hints;}throw new Error(\"Hint array in the linearization dictionary is invalid.\");}var parser=new Parser({lexer:new Lexer(stream),xref:null});var obj1=parser.getObj();var obj2=parser.getObj();var obj3=parser.getObj();var linDict=parser.getObj();var obj,length;if(!(Number.isInteger(obj1)&&Number.isInteger(obj2)&&(0,_primitives.isCmd)(obj3,\"obj\")&&(0,_primitives.isDict)(linDict)&&(0,_util.isNum)(obj=linDict.get(\"Linearized\"))&&obj>0)){return null;}else if((length=getInt(linDict,\"L\"))!==stream.length){throw new Error('The \"L\" parameter in the linearization dictionary '+\"does not equal the stream length.\");}return{length:length,hints:getHints(linDict),objectNumberFirst:getInt(linDict,\"O\"),endFirst:getInt(linDict,\"E\"),numPages:getInt(linDict,\"N\"),mainXRefEntriesOffset:getInt(linDict,\"T\"),pageFirst:linDict.has(\"P\")?getInt(linDict,\"P\",true):0};}}]);return Linearization;}();exports.Linearization=Linearization;/***/},/* 11 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.LZWStream=exports.StringStream=exports.StreamsSequenceStream=exports.Stream=exports.RunLengthStream=exports.PredictorStream=exports.NullStream=exports.FlateStream=exports.DecodeStream=exports.DecryptStream=exports.AsciiHexStream=exports.Ascii85Stream=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _core_utils=__w_pdfjs_require__(7);var Stream=function StreamClosure(){function Stream(arrayBuffer,start,length,dict){this.bytes=arrayBuffer instanceof Uint8Array?arrayBuffer:new Uint8Array(arrayBuffer);this.start=start||0;this.pos=this.start;this.end=start+length||this.bytes.length;this.dict=dict;}Stream.prototype={get length(){return this.end-this.start;},get isEmpty(){return this.length===0;},getByte:function Stream_getByte(){if(this.pos>=this.end){return-1;}return this.bytes[this.pos++];},getUint16:function Stream_getUint16(){var b0=this.getByte();var b1=this.getByte();if(b0===-1||b1===-1){return-1;}return(b0<<8)+b1;},getInt32:function Stream_getInt32(){var b0=this.getByte();var b1=this.getByte();var b2=this.getByte();var b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3;},getBytes:function getBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var bytes=this.bytes;var pos=this.pos;var strEnd=this.end;if(!length){var _subarray2=bytes.subarray(pos,strEnd);return forceClamped?new Uint8ClampedArray(_subarray2):_subarray2;}var end=pos+length;if(end>strEnd){end=strEnd;}this.pos=end;var subarray=bytes.subarray(pos,end);return forceClamped?new Uint8ClampedArray(subarray):subarray;},peekByte:function Stream_peekByte(){var peekedByte=this.getByte();if(peekedByte!==-1){this.pos--;}return peekedByte;},peekBytes:function peekBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var bytes=this.getBytes(length,forceClamped);this.pos-=bytes.length;return bytes;},getByteRange:function getByteRange(begin,end){if(begin<0){begin=0;}if(end>this.end){end=this.end;}return this.bytes.subarray(begin,end);},skip:function Stream_skip(n){if(!n){n=1;}this.pos+=n;},reset:function Stream_reset(){this.pos=this.start;},moveStart:function Stream_moveStart(){this.start=this.pos;},makeSubStream:function Stream_makeSubStream(start,length,dict){return new Stream(this.bytes.buffer,start,length,dict);}};return Stream;}();exports.Stream=Stream;var StringStream=function StringStreamClosure(){function StringStream(str){var bytes=(0,_util.stringToBytes)(str);Stream.call(this,bytes);}StringStream.prototype=Stream.prototype;return StringStream;}();exports.StringStream=StringStream;var DecodeStream=function DecodeStreamClosure(){var emptyBuffer=new Uint8Array(0);function DecodeStream(maybeMinBufferLength){this._rawMinBufferLength=maybeMinBufferLength||0;this.pos=0;this.bufferLength=0;this.eof=false;this.buffer=emptyBuffer;this.minBufferLength=512;if(maybeMinBufferLength){while(this.minBufferLength<maybeMinBufferLength){this.minBufferLength*=2;}}}DecodeStream.prototype={get isEmpty(){while(!this.eof&&this.bufferLength===0){this.readBlock();}return this.bufferLength===0;},ensureBuffer:function DecodeStream_ensureBuffer(requested){var buffer=this.buffer;if(requested<=buffer.byteLength){return buffer;}var size=this.minBufferLength;while(size<requested){size*=2;}var buffer2=new Uint8Array(size);buffer2.set(buffer);return this.buffer=buffer2;},getByte:function DecodeStream_getByte(){var pos=this.pos;while(this.bufferLength<=pos){if(this.eof){return-1;}this.readBlock();}return this.buffer[this.pos++];},getUint16:function DecodeStream_getUint16(){var b0=this.getByte();var b1=this.getByte();if(b0===-1||b1===-1){return-1;}return(b0<<8)+b1;},getInt32:function DecodeStream_getInt32(){var b0=this.getByte();var b1=this.getByte();var b2=this.getByte();var b3=this.getByte();return(b0<<24)+(b1<<16)+(b2<<8)+b3;},getBytes:function getBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var end,pos=this.pos;if(length){this.ensureBuffer(pos+length);end=pos+length;while(!this.eof&&this.bufferLength<end){this.readBlock();}var bufEnd=this.bufferLength;if(end>bufEnd){end=bufEnd;}}else{while(!this.eof){this.readBlock();}end=this.bufferLength;}this.pos=end;var subarray=this.buffer.subarray(pos,end);return forceClamped&&!(subarray instanceof Uint8ClampedArray)?new Uint8ClampedArray(subarray):subarray;},peekByte:function DecodeStream_peekByte(){var peekedByte=this.getByte();if(peekedByte!==-1){this.pos--;}return peekedByte;},peekBytes:function peekBytes(length){var forceClamped=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var bytes=this.getBytes(length,forceClamped);this.pos-=bytes.length;return bytes;},makeSubStream:function DecodeStream_makeSubStream(start,length,dict){var end=start+length;while(this.bufferLength<=end&&!this.eof){this.readBlock();}return new Stream(this.buffer,start,length,dict);},getByteRange:function getByteRange(begin,end){(0,_util.unreachable)(\"Should not call DecodeStream.getByteRange\");},skip:function DecodeStream_skip(n){if(!n){n=1;}this.pos+=n;},reset:function DecodeStream_reset(){this.pos=0;},getBaseStreams:function DecodeStream_getBaseStreams(){if(this.str&&this.str.getBaseStreams){return this.str.getBaseStreams();}return[];}};return DecodeStream;}();exports.DecodeStream=DecodeStream;var StreamsSequenceStream=function StreamsSequenceStreamClosure(){function StreamsSequenceStream(streams){this.streams=streams;var maybeLength=0;for(var i=0,ii=streams.length;i<ii;i++){var stream=streams[i];if(stream instanceof DecodeStream){maybeLength+=stream._rawMinBufferLength;}else{maybeLength+=stream.length;}}DecodeStream.call(this,maybeLength);}StreamsSequenceStream.prototype=Object.create(DecodeStream.prototype);StreamsSequenceStream.prototype.readBlock=function streamSequenceStreamReadBlock(){var streams=this.streams;if(streams.length===0){this.eof=true;return;}var stream=streams.shift();var chunk=stream.getBytes();var bufferLength=this.bufferLength;var newLength=bufferLength+chunk.length;var buffer=this.ensureBuffer(newLength);buffer.set(chunk,bufferLength);this.bufferLength=newLength;};StreamsSequenceStream.prototype.getBaseStreams=function StreamsSequenceStream_getBaseStreams(){var baseStreams=[];for(var i=0,ii=this.streams.length;i<ii;i++){var stream=this.streams[i];if(stream.getBaseStreams){baseStreams.push.apply(baseStreams,_toConsumableArray(stream.getBaseStreams()));}}return baseStreams;};return StreamsSequenceStream;}();exports.StreamsSequenceStream=StreamsSequenceStream;var FlateStream=function FlateStreamClosure(){var codeLenCodeMap=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var lengthDecode=new Int32Array([0x00003,0x00004,0x00005,0x00006,0x00007,0x00008,0x00009,0x0000a,0x1000b,0x1000d,0x1000f,0x10011,0x20013,0x20017,0x2001b,0x2001f,0x30023,0x3002b,0x30033,0x3003b,0x40043,0x40053,0x40063,0x40073,0x50083,0x500a3,0x500c3,0x500e3,0x00102,0x00102,0x00102]);var distDecode=new Int32Array([0x00001,0x00002,0x00003,0x00004,0x10005,0x10007,0x20009,0x2000d,0x30011,0x30019,0x40021,0x40031,0x50041,0x50061,0x60081,0x600c1,0x70101,0x70181,0x80201,0x80301,0x90401,0x90601,0xa0801,0xa0c01,0xb1001,0xb1801,0xc2001,0xc3001,0xd4001,0xd6001]);var fixedLitCodeTab=[new Int32Array([0x70100,0x80050,0x80010,0x80118,0x70110,0x80070,0x80030,0x900c0,0x70108,0x80060,0x80020,0x900a0,0x80000,0x80080,0x80040,0x900e0,0x70104,0x80058,0x80018,0x90090,0x70114,0x80078,0x80038,0x900d0,0x7010c,0x80068,0x80028,0x900b0,0x80008,0x80088,0x80048,0x900f0,0x70102,0x80054,0x80014,0x8011c,0x70112,0x80074,0x80034,0x900c8,0x7010a,0x80064,0x80024,0x900a8,0x80004,0x80084,0x80044,0x900e8,0x70106,0x8005c,0x8001c,0x90098,0x70116,0x8007c,0x8003c,0x900d8,0x7010e,0x8006c,0x8002c,0x900b8,0x8000c,0x8008c,0x8004c,0x900f8,0x70101,0x80052,0x80012,0x8011a,0x70111,0x80072,0x80032,0x900c4,0x70109,0x80062,0x80022,0x900a4,0x80002,0x80082,0x80042,0x900e4,0x70105,0x8005a,0x8001a,0x90094,0x70115,0x8007a,0x8003a,0x900d4,0x7010d,0x8006a,0x8002a,0x900b4,0x8000a,0x8008a,0x8004a,0x900f4,0x70103,0x80056,0x80016,0x8011e,0x70113,0x80076,0x80036,0x900cc,0x7010b,0x80066,0x80026,0x900ac,0x80006,0x80086,0x80046,0x900ec,0x70107,0x8005e,0x8001e,0x9009c,0x70117,0x8007e,0x8003e,0x900dc,0x7010f,0x8006e,0x8002e,0x900bc,0x8000e,0x8008e,0x8004e,0x900fc,0x70100,0x80051,0x80011,0x80119,0x70110,0x80071,0x80031,0x900c2,0x70108,0x80061,0x80021,0x900a2,0x80001,0x80081,0x80041,0x900e2,0x70104,0x80059,0x80019,0x90092,0x70114,0x80079,0x80039,0x900d2,0x7010c,0x80069,0x80029,0x900b2,0x80009,0x80089,0x80049,0x900f2,0x70102,0x80055,0x80015,0x8011d,0x70112,0x80075,0x80035,0x900ca,0x7010a,0x80065,0x80025,0x900aa,0x80005,0x80085,0x80045,0x900ea,0x70106,0x8005d,0x8001d,0x9009a,0x70116,0x8007d,0x8003d,0x900da,0x7010e,0x8006d,0x8002d,0x900ba,0x8000d,0x8008d,0x8004d,0x900fa,0x70101,0x80053,0x80013,0x8011b,0x70111,0x80073,0x80033,0x900c6,0x70109,0x80063,0x80023,0x900a6,0x80003,0x80083,0x80043,0x900e6,0x70105,0x8005b,0x8001b,0x90096,0x70115,0x8007b,0x8003b,0x900d6,0x7010d,0x8006b,0x8002b,0x900b6,0x8000b,0x8008b,0x8004b,0x900f6,0x70103,0x80057,0x80017,0x8011f,0x70113,0x80077,0x80037,0x900ce,0x7010b,0x80067,0x80027,0x900ae,0x80007,0x80087,0x80047,0x900ee,0x70107,0x8005f,0x8001f,0x9009e,0x70117,0x8007f,0x8003f,0x900de,0x7010f,0x8006f,0x8002f,0x900be,0x8000f,0x8008f,0x8004f,0x900fe,0x70100,0x80050,0x80010,0x80118,0x70110,0x80070,0x80030,0x900c1,0x70108,0x80060,0x80020,0x900a1,0x80000,0x80080,0x80040,0x900e1,0x70104,0x80058,0x80018,0x90091,0x70114,0x80078,0x80038,0x900d1,0x7010c,0x80068,0x80028,0x900b1,0x80008,0x80088,0x80048,0x900f1,0x70102,0x80054,0x80014,0x8011c,0x70112,0x80074,0x80034,0x900c9,0x7010a,0x80064,0x80024,0x900a9,0x80004,0x80084,0x80044,0x900e9,0x70106,0x8005c,0x8001c,0x90099,0x70116,0x8007c,0x8003c,0x900d9,0x7010e,0x8006c,0x8002c,0x900b9,0x8000c,0x8008c,0x8004c,0x900f9,0x70101,0x80052,0x80012,0x8011a,0x70111,0x80072,0x80032,0x900c5,0x70109,0x80062,0x80022,0x900a5,0x80002,0x80082,0x80042,0x900e5,0x70105,0x8005a,0x8001a,0x90095,0x70115,0x8007a,0x8003a,0x900d5,0x7010d,0x8006a,0x8002a,0x900b5,0x8000a,0x8008a,0x8004a,0x900f5,0x70103,0x80056,0x80016,0x8011e,0x70113,0x80076,0x80036,0x900cd,0x7010b,0x80066,0x80026,0x900ad,0x80006,0x80086,0x80046,0x900ed,0x70107,0x8005e,0x8001e,0x9009d,0x70117,0x8007e,0x8003e,0x900dd,0x7010f,0x8006e,0x8002e,0x900bd,0x8000e,0x8008e,0x8004e,0x900fd,0x70100,0x80051,0x80011,0x80119,0x70110,0x80071,0x80031,0x900c3,0x70108,0x80061,0x80021,0x900a3,0x80001,0x80081,0x80041,0x900e3,0x70104,0x80059,0x80019,0x90093,0x70114,0x80079,0x80039,0x900d3,0x7010c,0x80069,0x80029,0x900b3,0x80009,0x80089,0x80049,0x900f3,0x70102,0x80055,0x80015,0x8011d,0x70112,0x80075,0x80035,0x900cb,0x7010a,0x80065,0x80025,0x900ab,0x80005,0x80085,0x80045,0x900eb,0x70106,0x8005d,0x8001d,0x9009b,0x70116,0x8007d,0x8003d,0x900db,0x7010e,0x8006d,0x8002d,0x900bb,0x8000d,0x8008d,0x8004d,0x900fb,0x70101,0x80053,0x80013,0x8011b,0x70111,0x80073,0x80033,0x900c7,0x70109,0x80063,0x80023,0x900a7,0x80003,0x80083,0x80043,0x900e7,0x70105,0x8005b,0x8001b,0x90097,0x70115,0x8007b,0x8003b,0x900d7,0x7010d,0x8006b,0x8002b,0x900b7,0x8000b,0x8008b,0x8004b,0x900f7,0x70103,0x80057,0x80017,0x8011f,0x70113,0x80077,0x80037,0x900cf,0x7010b,0x80067,0x80027,0x900af,0x80007,0x80087,0x80047,0x900ef,0x70107,0x8005f,0x8001f,0x9009f,0x70117,0x8007f,0x8003f,0x900df,0x7010f,0x8006f,0x8002f,0x900bf,0x8000f,0x8008f,0x8004f,0x900ff]),9];var fixedDistCodeTab=[new Int32Array([0x50000,0x50010,0x50008,0x50018,0x50004,0x50014,0x5000c,0x5001c,0x50002,0x50012,0x5000a,0x5001a,0x50006,0x50016,0x5000e,0x00000,0x50001,0x50011,0x50009,0x50019,0x50005,0x50015,0x5000d,0x5001d,0x50003,0x50013,0x5000b,0x5001b,0x50007,0x50017,0x5000f,0x00000]),5];function FlateStream(str,maybeLength){this.str=str;this.dict=str.dict;var cmf=str.getByte();var flg=str.getByte();if(cmf===-1||flg===-1){throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf,\", \").concat(flg));}if((cmf&0x0f)!==0x08){throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf,\", \").concat(flg));}if(((cmf<<8)+flg)%31!==0){throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf,\", \").concat(flg));}if(flg&0x20){throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf,\", \").concat(flg));}this.codeSize=0;this.codeBuf=0;DecodeStream.call(this,maybeLength);}FlateStream.prototype=Object.create(DecodeStream.prototype);FlateStream.prototype.getBits=function FlateStream_getBits(bits){var str=this.str;var codeSize=this.codeSize;var codeBuf=this.codeBuf;var b;while(codeSize<bits){if((b=str.getByte())===-1){throw new _util.FormatError(\"Bad encoding in flate stream\");}codeBuf|=b<<codeSize;codeSize+=8;}b=codeBuf&(1<<bits)-1;this.codeBuf=codeBuf>>bits;this.codeSize=codeSize-=bits;return b;};FlateStream.prototype.getCode=function FlateStream_getCode(table){var str=this.str;var codes=table[0];var maxLen=table[1];var codeSize=this.codeSize;var codeBuf=this.codeBuf;var b;while(codeSize<maxLen){if((b=str.getByte())===-1){break;}codeBuf|=b<<codeSize;codeSize+=8;}var code=codes[codeBuf&(1<<maxLen)-1];var codeLen=code>>16;var codeVal=code&0xffff;if(codeLen<1||codeSize<codeLen){throw new _util.FormatError(\"Bad encoding in flate stream\");}this.codeBuf=codeBuf>>codeLen;this.codeSize=codeSize-codeLen;return codeVal;};FlateStream.prototype.generateHuffmanTable=function flateStreamGenerateHuffmanTable(lengths){var n=lengths.length;var maxLen=0;var i;for(i=0;i<n;++i){if(lengths[i]>maxLen){maxLen=lengths[i];}}var size=1<<maxLen;var codes=new Int32Array(size);for(var len=1,code=0,skip=2;len<=maxLen;++len,code<<=1,skip<<=1){for(var val=0;val<n;++val){if(lengths[val]===len){var code2=0;var t=code;for(i=0;i<len;++i){code2=code2<<1|t&1;t>>=1;}for(i=code2;i<size;i+=skip){codes[i]=len<<16|val;}++code;}}}return[codes,maxLen];};FlateStream.prototype.readBlock=function FlateStream_readBlock(){var buffer,len;var str=this.str;var hdr=this.getBits(3);if(hdr&1){this.eof=true;}hdr>>=1;if(hdr===0){var b;if((b=str.getByte())===-1){throw new _util.FormatError(\"Bad block header in flate stream\");}var blockLen=b;if((b=str.getByte())===-1){throw new _util.FormatError(\"Bad block header in flate stream\");}blockLen|=b<<8;if((b=str.getByte())===-1){throw new _util.FormatError(\"Bad block header in flate stream\");}var check=b;if((b=str.getByte())===-1){throw new _util.FormatError(\"Bad block header in flate stream\");}check|=b<<8;if(check!==(~blockLen&0xffff)&&(blockLen!==0||check!==0)){throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");}this.codeBuf=0;this.codeSize=0;var bufferLength=this.bufferLength,end=bufferLength+blockLen;buffer=this.ensureBuffer(end);this.bufferLength=end;if(blockLen===0){if(str.peekByte()===-1){this.eof=true;}}else{var block=str.getBytes(blockLen);buffer.set(block,bufferLength);if(block.length<blockLen){this.eof=true;}}return;}var litCodeTable;var distCodeTable;if(hdr===1){litCodeTable=fixedLitCodeTab;distCodeTable=fixedDistCodeTab;}else if(hdr===2){var numLitCodes=this.getBits(5)+257;var numDistCodes=this.getBits(5)+1;var numCodeLenCodes=this.getBits(4)+4;var codeLenCodeLengths=new Uint8Array(codeLenCodeMap.length);var i;for(i=0;i<numCodeLenCodes;++i){codeLenCodeLengths[codeLenCodeMap[i]]=this.getBits(3);}var codeLenCodeTab=this.generateHuffmanTable(codeLenCodeLengths);len=0;i=0;var codes=numLitCodes+numDistCodes;var codeLengths=new Uint8Array(codes);var bitsLength,bitsOffset,what;while(i<codes){var code=this.getCode(codeLenCodeTab);if(code===16){bitsLength=2;bitsOffset=3;what=len;}else if(code===17){bitsLength=3;bitsOffset=3;what=len=0;}else if(code===18){bitsLength=7;bitsOffset=11;what=len=0;}else{codeLengths[i++]=len=code;continue;}var repeatLength=this.getBits(bitsLength)+bitsOffset;while(repeatLength-->0){codeLengths[i++]=what;}}litCodeTable=this.generateHuffmanTable(codeLengths.subarray(0,numLitCodes));distCodeTable=this.generateHuffmanTable(codeLengths.subarray(numLitCodes,codes));}else{throw new _util.FormatError(\"Unknown block type in flate stream\");}buffer=this.buffer;var limit=buffer?buffer.length:0;var pos=this.bufferLength;while(true){var code1=this.getCode(litCodeTable);if(code1<256){if(pos+1>=limit){buffer=this.ensureBuffer(pos+1);limit=buffer.length;}buffer[pos++]=code1;continue;}if(code1===256){this.bufferLength=pos;return;}code1-=257;code1=lengthDecode[code1];var code2=code1>>16;if(code2>0){code2=this.getBits(code2);}len=(code1&0xffff)+code2;code1=this.getCode(distCodeTable);code1=distDecode[code1];code2=code1>>16;if(code2>0){code2=this.getBits(code2);}var dist=(code1&0xffff)+code2;if(pos+len>=limit){buffer=this.ensureBuffer(pos+len);limit=buffer.length;}for(var k=0;k<len;++k,++pos){buffer[pos]=buffer[pos-dist];}}};return FlateStream;}();exports.FlateStream=FlateStream;var PredictorStream=function PredictorStreamClosure(){function PredictorStream(str,maybeLength,params){if(!(0,_primitives.isDict)(params)){return str;}var predictor=this.predictor=params.get(\"Predictor\")||1;if(predictor<=1){return str;}if(predictor!==2&&(predictor<10||predictor>15)){throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));}if(predictor===2){this.readBlock=this.readBlockTiff;}else{this.readBlock=this.readBlockPng;}this.str=str;this.dict=str.dict;var colors=this.colors=params.get(\"Colors\")||1;var bits=this.bits=params.get(\"BitsPerComponent\")||8;var columns=this.columns=params.get(\"Columns\")||1;this.pixBytes=colors*bits+7>>3;this.rowBytes=columns*colors*bits+7>>3;DecodeStream.call(this,maybeLength);return this;}PredictorStream.prototype=Object.create(DecodeStream.prototype);PredictorStream.prototype.readBlockTiff=function predictorStreamReadBlockTiff(){var rowBytes=this.rowBytes;var bufferLength=this.bufferLength;var buffer=this.ensureBuffer(bufferLength+rowBytes);var bits=this.bits;var colors=this.colors;var rawBytes=this.str.getBytes(rowBytes);this.eof=!rawBytes.length;if(this.eof){return;}var inbuf=0,outbuf=0;var inbits=0,outbits=0;var pos=bufferLength;var i;if(bits===1&&colors===1){for(i=0;i<rowBytes;++i){var c=rawBytes[i]^inbuf;c^=c>>1;c^=c>>2;c^=c>>4;inbuf=(c&1)<<7;buffer[pos++]=c;}}else if(bits===8){for(i=0;i<colors;++i){buffer[pos++]=rawBytes[i];}for(;i<rowBytes;++i){buffer[pos]=buffer[pos-colors]+rawBytes[i];pos++;}}else if(bits===16){var bytesPerPixel=colors*2;for(i=0;i<bytesPerPixel;++i){buffer[pos++]=rawBytes[i];}for(;i<rowBytes;i+=2){var sum=((rawBytes[i]&0xff)<<8)+(rawBytes[i+1]&0xff)+((buffer[pos-bytesPerPixel]&0xff)<<8)+(buffer[pos-bytesPerPixel+1]&0xff);buffer[pos++]=sum>>8&0xff;buffer[pos++]=sum&0xff;}}else{var compArray=new Uint8Array(colors+1);var bitMask=(1<<bits)-1;var j=0,k=bufferLength;var columns=this.columns;for(i=0;i<columns;++i){for(var kk=0;kk<colors;++kk){if(inbits<bits){inbuf=inbuf<<8|rawBytes[j++]&0xff;inbits+=8;}compArray[kk]=compArray[kk]+(inbuf>>inbits-bits)&bitMask;inbits-=bits;outbuf=outbuf<<bits|compArray[kk];outbits+=bits;if(outbits>=8){buffer[k++]=outbuf>>outbits-8&0xff;outbits-=8;}}}if(outbits>0){buffer[k++]=(outbuf<<8-outbits)+(inbuf&(1<<8-outbits)-1);}}this.bufferLength+=rowBytes;};PredictorStream.prototype.readBlockPng=function predictorStreamReadBlockPng(){var rowBytes=this.rowBytes;var pixBytes=this.pixBytes;var predictor=this.str.getByte();var rawBytes=this.str.getBytes(rowBytes);this.eof=!rawBytes.length;if(this.eof){return;}var bufferLength=this.bufferLength;var buffer=this.ensureBuffer(bufferLength+rowBytes);var prevRow=buffer.subarray(bufferLength-rowBytes,bufferLength);if(prevRow.length===0){prevRow=new Uint8Array(rowBytes);}var i,j=bufferLength,up,c;switch(predictor){case 0:for(i=0;i<rowBytes;++i){buffer[j++]=rawBytes[i];}break;case 1:for(i=0;i<pixBytes;++i){buffer[j++]=rawBytes[i];}for(;i<rowBytes;++i){buffer[j]=buffer[j-pixBytes]+rawBytes[i]&0xff;j++;}break;case 2:for(i=0;i<rowBytes;++i){buffer[j++]=prevRow[i]+rawBytes[i]&0xff;}break;case 3:for(i=0;i<pixBytes;++i){buffer[j++]=(prevRow[i]>>1)+rawBytes[i];}for(;i<rowBytes;++i){buffer[j]=(prevRow[i]+buffer[j-pixBytes]>>1)+rawBytes[i]&0xff;j++;}break;case 4:for(i=0;i<pixBytes;++i){up=prevRow[i];c=rawBytes[i];buffer[j++]=up+c;}for(;i<rowBytes;++i){up=prevRow[i];var upLeft=prevRow[i-pixBytes];var left=buffer[j-pixBytes];var p=left+up-upLeft;var pa=p-left;if(pa<0){pa=-pa;}var pb=p-up;if(pb<0){pb=-pb;}var pc=p-upLeft;if(pc<0){pc=-pc;}c=rawBytes[i];if(pa<=pb&&pa<=pc){buffer[j++]=left+c;}else if(pb<=pc){buffer[j++]=up+c;}else{buffer[j++]=upLeft+c;}}break;default:throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));}this.bufferLength+=rowBytes;};return PredictorStream;}();exports.PredictorStream=PredictorStream;var DecryptStream=function DecryptStreamClosure(){function DecryptStream(str,maybeLength,decrypt){this.str=str;this.dict=str.dict;this.decrypt=decrypt;this.nextChunk=null;this.initialized=false;DecodeStream.call(this,maybeLength);}var chunkSize=512;DecryptStream.prototype=Object.create(DecodeStream.prototype);DecryptStream.prototype.readBlock=function DecryptStream_readBlock(){var chunk;if(this.initialized){chunk=this.nextChunk;}else{chunk=this.str.getBytes(chunkSize);this.initialized=true;}if(!chunk||chunk.length===0){this.eof=true;return;}this.nextChunk=this.str.getBytes(chunkSize);var hasMoreData=this.nextChunk&&this.nextChunk.length>0;var decrypt=this.decrypt;chunk=decrypt(chunk,!hasMoreData);var bufferLength=this.bufferLength;var i,n=chunk.length;var buffer=this.ensureBuffer(bufferLength+n);for(i=0;i<n;i++){buffer[bufferLength++]=chunk[i];}this.bufferLength=bufferLength;};return DecryptStream;}();exports.DecryptStream=DecryptStream;var Ascii85Stream=function Ascii85StreamClosure(){function Ascii85Stream(str,maybeLength){this.str=str;this.dict=str.dict;this.input=new Uint8Array(5);if(maybeLength){maybeLength=0.8*maybeLength;}DecodeStream.call(this,maybeLength);}Ascii85Stream.prototype=Object.create(DecodeStream.prototype);Ascii85Stream.prototype.readBlock=function Ascii85Stream_readBlock(){var TILDA_CHAR=0x7e;var Z_LOWER_CHAR=0x7a;var EOF=-1;var str=this.str;var c=str.getByte();while((0,_core_utils.isWhiteSpace)(c)){c=str.getByte();}if(c===EOF||c===TILDA_CHAR){this.eof=true;return;}var bufferLength=this.bufferLength,buffer;var i;if(c===Z_LOWER_CHAR){buffer=this.ensureBuffer(bufferLength+4);for(i=0;i<4;++i){buffer[bufferLength+i]=0;}this.bufferLength+=4;}else{var input=this.input;input[0]=c;for(i=1;i<5;++i){c=str.getByte();while((0,_core_utils.isWhiteSpace)(c)){c=str.getByte();}input[i]=c;if(c===EOF||c===TILDA_CHAR){break;}}buffer=this.ensureBuffer(bufferLength+i-1);this.bufferLength+=i-1;if(i<5){for(;i<5;++i){input[i]=0x21+84;}this.eof=true;}var t=0;for(i=0;i<5;++i){t=t*85+(input[i]-0x21);}for(i=3;i>=0;--i){buffer[bufferLength+i]=t&0xff;t>>=8;}}};return Ascii85Stream;}();exports.Ascii85Stream=Ascii85Stream;var AsciiHexStream=function AsciiHexStreamClosure(){function AsciiHexStream(str,maybeLength){this.str=str;this.dict=str.dict;this.firstDigit=-1;if(maybeLength){maybeLength=0.5*maybeLength;}DecodeStream.call(this,maybeLength);}AsciiHexStream.prototype=Object.create(DecodeStream.prototype);AsciiHexStream.prototype.readBlock=function AsciiHexStream_readBlock(){var UPSTREAM_BLOCK_SIZE=8000;var bytes=this.str.getBytes(UPSTREAM_BLOCK_SIZE);if(!bytes.length){this.eof=true;return;}var maxDecodeLength=bytes.length+1>>1;var buffer=this.ensureBuffer(this.bufferLength+maxDecodeLength);var bufferLength=this.bufferLength;var firstDigit=this.firstDigit;for(var i=0,ii=bytes.length;i<ii;i++){var ch=bytes[i],digit;if(ch>=0x30&&ch<=0x39){digit=ch&0x0f;}else if(ch>=0x41&&ch<=0x46||ch>=0x61&&ch<=0x66){digit=(ch&0x0f)+9;}else if(ch===0x3e){this.eof=true;break;}else{continue;}if(firstDigit<0){firstDigit=digit;}else{buffer[bufferLength++]=firstDigit<<4|digit;firstDigit=-1;}}if(firstDigit>=0&&this.eof){buffer[bufferLength++]=firstDigit<<4;firstDigit=-1;}this.firstDigit=firstDigit;this.bufferLength=bufferLength;};return AsciiHexStream;}();exports.AsciiHexStream=AsciiHexStream;var RunLengthStream=function RunLengthStreamClosure(){function RunLengthStream(str,maybeLength){this.str=str;this.dict=str.dict;DecodeStream.call(this,maybeLength);}RunLengthStream.prototype=Object.create(DecodeStream.prototype);RunLengthStream.prototype.readBlock=function RunLengthStream_readBlock(){var repeatHeader=this.str.getBytes(2);if(!repeatHeader||repeatHeader.length<2||repeatHeader[0]===128){this.eof=true;return;}var buffer;var bufferLength=this.bufferLength;var n=repeatHeader[0];if(n<128){buffer=this.ensureBuffer(bufferLength+n+1);buffer[bufferLength++]=repeatHeader[1];if(n>0){var source=this.str.getBytes(n);buffer.set(source,bufferLength);bufferLength+=n;}}else{n=257-n;var b=repeatHeader[1];buffer=this.ensureBuffer(bufferLength+n+1);for(var i=0;i<n;i++){buffer[bufferLength++]=b;}}this.bufferLength=bufferLength;};return RunLengthStream;}();exports.RunLengthStream=RunLengthStream;var LZWStream=function LZWStreamClosure(){function LZWStream(str,maybeLength,earlyChange){this.str=str;this.dict=str.dict;this.cachedData=0;this.bitsCached=0;var maxLzwDictionarySize=4096;var lzwState={earlyChange:earlyChange,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(maxLzwDictionarySize),dictionaryLengths:new Uint16Array(maxLzwDictionarySize),dictionaryPrevCodes:new Uint16Array(maxLzwDictionarySize),currentSequence:new Uint8Array(maxLzwDictionarySize),currentSequenceLength:0};for(var i=0;i<256;++i){lzwState.dictionaryValues[i]=i;lzwState.dictionaryLengths[i]=1;}this.lzwState=lzwState;DecodeStream.call(this,maybeLength);}LZWStream.prototype=Object.create(DecodeStream.prototype);LZWStream.prototype.readBits=function LZWStream_readBits(n){var bitsCached=this.bitsCached;var cachedData=this.cachedData;while(bitsCached<n){var c=this.str.getByte();if(c===-1){this.eof=true;return null;}cachedData=cachedData<<8|c;bitsCached+=8;}this.bitsCached=bitsCached-=n;this.cachedData=cachedData;this.lastCode=null;return cachedData>>>bitsCached&(1<<n)-1;};LZWStream.prototype.readBlock=function LZWStream_readBlock(){var blockSize=512;var estimatedDecodedSize=blockSize*2,decodedSizeDelta=blockSize;var i,j,q;var lzwState=this.lzwState;if(!lzwState){return;}var earlyChange=lzwState.earlyChange;var nextCode=lzwState.nextCode;var dictionaryValues=lzwState.dictionaryValues;var dictionaryLengths=lzwState.dictionaryLengths;var dictionaryPrevCodes=lzwState.dictionaryPrevCodes;var codeLength=lzwState.codeLength;var prevCode=lzwState.prevCode;var currentSequence=lzwState.currentSequence;var currentSequenceLength=lzwState.currentSequenceLength;var decodedLength=0;var currentBufferLength=this.bufferLength;var buffer=this.ensureBuffer(this.bufferLength+estimatedDecodedSize);for(i=0;i<blockSize;i++){var code=this.readBits(codeLength);var hasPrev=currentSequenceLength>0;if(code<256){currentSequence[0]=code;currentSequenceLength=1;}else if(code>=258){if(code<nextCode){currentSequenceLength=dictionaryLengths[code];for(j=currentSequenceLength-1,q=code;j>=0;j--){currentSequence[j]=dictionaryValues[q];q=dictionaryPrevCodes[q];}}else{currentSequence[currentSequenceLength++]=currentSequence[0];}}else if(code===256){codeLength=9;nextCode=258;currentSequenceLength=0;continue;}else{this.eof=true;delete this.lzwState;break;}if(hasPrev){dictionaryPrevCodes[nextCode]=prevCode;dictionaryLengths[nextCode]=dictionaryLengths[prevCode]+1;dictionaryValues[nextCode]=currentSequence[0];nextCode++;codeLength=nextCode+earlyChange&nextCode+earlyChange-1?codeLength:Math.min(Math.log(nextCode+earlyChange)/0.6931471805599453+1,12)|0;}prevCode=code;decodedLength+=currentSequenceLength;if(estimatedDecodedSize<decodedLength){do{estimatedDecodedSize+=decodedSizeDelta;}while(estimatedDecodedSize<decodedLength);buffer=this.ensureBuffer(this.bufferLength+estimatedDecodedSize);}for(j=0;j<currentSequenceLength;j++){buffer[currentBufferLength++]=currentSequence[j];}}lzwState.nextCode=nextCode;lzwState.codeLength=codeLength;lzwState.prevCode=prevCode;lzwState.currentSequenceLength=currentSequenceLength;this.bufferLength=currentBufferLength;};return LZWStream;}();exports.LZWStream=LZWStream;var NullStream=function NullStreamClosure(){function NullStream(){Stream.call(this,new Uint8Array(0));}NullStream.prototype=Stream.prototype;return NullStream;}();exports.NullStream=NullStream;/***/},/* 12 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.CCITTFaxStream=void 0;var _primitives=__w_pdfjs_require__(4);var _ccitt=__w_pdfjs_require__(13);var _stream=__w_pdfjs_require__(11);var CCITTFaxStream=function CCITTFaxStreamClosure(){function CCITTFaxStream(str,maybeLength,params){this.str=str;this.dict=str.dict;if(!(0,_primitives.isDict)(params)){params=_primitives.Dict.empty;}var source={next:function next(){return str.getByte();}};this.ccittFaxDecoder=new _ccitt.CCITTFaxDecoder(source,{K:params.get(\"K\"),EndOfLine:params.get(\"EndOfLine\"),EncodedByteAlign:params.get(\"EncodedByteAlign\"),Columns:params.get(\"Columns\"),Rows:params.get(\"Rows\"),EndOfBlock:params.get(\"EndOfBlock\"),BlackIs1:params.get(\"BlackIs1\")});_stream.DecodeStream.call(this,maybeLength);}CCITTFaxStream.prototype=Object.create(_stream.DecodeStream.prototype);CCITTFaxStream.prototype.readBlock=function(){while(!this.eof){var c=this.ccittFaxDecoder.readNextChar();if(c===-1){this.eof=true;return;}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=c;}};return CCITTFaxStream;}();exports.CCITTFaxStream=CCITTFaxStream;/***/},/* 13 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.CCITTFaxDecoder=void 0;var _util=__w_pdfjs_require__(2);var CCITTFaxDecoder=function CCITTFaxDecoder(){var ccittEOL=-2;var ccittEOF=-1;var twoDimPass=0;var twoDimHoriz=1;var twoDimVert0=2;var twoDimVertR1=3;var twoDimVertL1=4;var twoDimVertR2=5;var twoDimVertL2=6;var twoDimVertR3=7;var twoDimVertL3=8;var twoDimTable=[[-1,-1],[-1,-1],[7,twoDimVertL3],[7,twoDimVertR3],[6,twoDimVertL2],[6,twoDimVertL2],[6,twoDimVertR2],[6,twoDimVertR2],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[4,twoDimPass],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimHoriz],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertL1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[3,twoDimVertR1],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0],[1,twoDimVert0]];var whiteTable1=[[-1,-1],[12,ccittEOL],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]];var whiteTable2=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]];var blackTable1=[[-1,-1],[-1,-1],[12,ccittEOL],[12,ccittEOL],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]];var blackTable2=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]];var blackTable3=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];function CCITTFaxDecoder(source){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!source||typeof source.next!==\"function\"){throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');}this.source=source;this.eof=false;this.encoding=options[\"K\"]||0;this.eoline=options[\"EndOfLine\"]||false;this.byteAlign=options[\"EncodedByteAlign\"]||false;this.columns=options[\"Columns\"]||1728;this.rows=options[\"Rows\"]||0;var eoblock=options[\"EndOfBlock\"];if(eoblock===null||eoblock===undefined){eoblock=true;}this.eoblock=eoblock;this.black=options[\"BlackIs1\"]||false;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=false;var code1;while((code1=this._lookBits(12))===0){this._eatBits(1);}if(code1===1){this._eatBits(12);}if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1);}}CCITTFaxDecoder.prototype={readNextChar:function readNextChar(){if(this.eof){return-1;}var refLine=this.refLine;var codingLine=this.codingLine;var columns=this.columns;var refPos,blackPixels,bits,i;if(this.outputBits===0){if(this.rowsDone){this.eof=true;}if(this.eof){return-1;}this.err=false;var code1,code2,code3;if(this.nextLine2D){for(i=0;codingLine[i]<columns;++i){refLine[i]=codingLine[i];}refLine[i++]=columns;refLine[i]=columns;codingLine[0]=0;this.codingPos=0;refPos=0;blackPixels=0;while(codingLine[this.codingPos]<columns){code1=this._getTwoDimCode();switch(code1){case twoDimPass:this._addPixels(refLine[refPos+1],blackPixels);if(refLine[refPos+1]<columns){refPos+=2;}break;case twoDimHoriz:code1=code2=0;if(blackPixels){do{code1+=code3=this._getBlackCode();}while(code3>=64);do{code2+=code3=this._getWhiteCode();}while(code3>=64);}else{do{code1+=code3=this._getWhiteCode();}while(code3>=64);do{code2+=code3=this._getBlackCode();}while(code3>=64);}this._addPixels(codingLine[this.codingPos]+code1,blackPixels);if(codingLine[this.codingPos]<columns){this._addPixels(codingLine[this.codingPos]+code2,blackPixels^1);}while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}break;case twoDimVertR3:this._addPixels(refLine[refPos]+3,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){++refPos;while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVertR2:this._addPixels(refLine[refPos]+2,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){++refPos;while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVertR1:this._addPixels(refLine[refPos]+1,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){++refPos;while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVert0:this._addPixels(refLine[refPos],blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){++refPos;while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVertL3:this._addPixelsNeg(refLine[refPos]-3,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){if(refPos>0){--refPos;}else{++refPos;}while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVertL2:this._addPixelsNeg(refLine[refPos]-2,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){if(refPos>0){--refPos;}else{++refPos;}while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case twoDimVertL1:this._addPixelsNeg(refLine[refPos]-1,blackPixels);blackPixels^=1;if(codingLine[this.codingPos]<columns){if(refPos>0){--refPos;}else{++refPos;}while(refLine[refPos]<=codingLine[this.codingPos]&&refLine[refPos]<columns){refPos+=2;}}break;case ccittEOF:this._addPixels(columns,0);this.eof=true;break;default:(0,_util.info)(\"bad 2d code\");this._addPixels(columns,0);this.err=true;}}}else{codingLine[0]=0;this.codingPos=0;blackPixels=0;while(codingLine[this.codingPos]<columns){code1=0;if(blackPixels){do{code1+=code3=this._getBlackCode();}while(code3>=64);}else{do{code1+=code3=this._getWhiteCode();}while(code3>=64);}this._addPixels(codingLine[this.codingPos]+code1,blackPixels);blackPixels^=1;}}var gotEOL=false;if(this.byteAlign){this.inputBits&=~7;}if(!this.eoblock&&this.row===this.rows-1){this.rowsDone=true;}else{code1=this._lookBits(12);if(this.eoline){while(code1!==ccittEOF&&code1!==1){this._eatBits(1);code1=this._lookBits(12);}}else{while(code1===0){this._eatBits(1);code1=this._lookBits(12);}}if(code1===1){this._eatBits(12);gotEOL=true;}else if(code1===ccittEOF){this.eof=true;}}if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1);}if(this.eoblock&&gotEOL&&this.byteAlign){code1=this._lookBits(12);if(code1===1){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1);}if(this.encoding>=0){for(i=0;i<4;++i){code1=this._lookBits(12);if(code1!==1){(0,_util.info)(\"bad rtc code: \"+code1);}this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1);}}}this.eof=true;}}else if(this.err&&this.eoline){while(true){code1=this._lookBits(13);if(code1===ccittEOF){this.eof=true;return-1;}if(code1>>1===1){break;}this._eatBits(1);}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(code1&1);}}if(codingLine[0]>0){this.outputBits=codingLine[this.codingPos=0];}else{this.outputBits=codingLine[this.codingPos=1];}this.row++;}var c;if(this.outputBits>=8){c=this.codingPos&1?0:0xff;this.outputBits-=8;if(this.outputBits===0&&codingLine[this.codingPos]<columns){this.codingPos++;this.outputBits=codingLine[this.codingPos]-codingLine[this.codingPos-1];}}else{bits=8;c=0;do{if(this.outputBits>bits){c<<=bits;if(!(this.codingPos&1)){c|=0xff>>8-bits;}this.outputBits-=bits;bits=0;}else{c<<=this.outputBits;if(!(this.codingPos&1)){c|=0xff>>8-this.outputBits;}bits-=this.outputBits;this.outputBits=0;if(codingLine[this.codingPos]<columns){this.codingPos++;this.outputBits=codingLine[this.codingPos]-codingLine[this.codingPos-1];}else if(bits>0){c<<=bits;bits=0;}}}while(bits);}if(this.black){c^=0xff;}return c;},_addPixels:function _addPixels(a1,blackPixels){var codingLine=this.codingLine;var codingPos=this.codingPos;if(a1>codingLine[codingPos]){if(a1>this.columns){(0,_util.info)(\"row is wrong length\");this.err=true;a1=this.columns;}if(codingPos&1^blackPixels){++codingPos;}codingLine[codingPos]=a1;}this.codingPos=codingPos;},_addPixelsNeg:function _addPixelsNeg(a1,blackPixels){var codingLine=this.codingLine;var codingPos=this.codingPos;if(a1>codingLine[codingPos]){if(a1>this.columns){(0,_util.info)(\"row is wrong length\");this.err=true;a1=this.columns;}if(codingPos&1^blackPixels){++codingPos;}codingLine[codingPos]=a1;}else if(a1<codingLine[codingPos]){if(a1<0){(0,_util.info)(\"invalid code\");this.err=true;a1=0;}while(codingPos>0&&a1<codingLine[codingPos-1]){--codingPos;}codingLine[codingPos]=a1;}this.codingPos=codingPos;},_findTableCode:function _findTableCode(start,end,table,limit){var limitValue=limit||0;for(var i=start;i<=end;++i){var code=this._lookBits(i);if(code===ccittEOF){return[true,1,false];}if(i<end){code<<=end-i;}if(!limitValue||code>=limitValue){var p=table[code-limitValue];if(p[0]===i){this._eatBits(i);return[true,p[1],true];}}}return[false,0,false];},_getTwoDimCode:function _getTwoDimCode(){var code=0;var p;if(this.eoblock){code=this._lookBits(7);p=twoDimTable[code];if(p&&p[0]>0){this._eatBits(p[0]);return p[1];}}else{var result=this._findTableCode(1,7,twoDimTable);if(result[0]&&result[2]){return result[1];}}(0,_util.info)(\"Bad two dim code\");return ccittEOF;},_getWhiteCode:function _getWhiteCode(){var code=0;var p;if(this.eoblock){code=this._lookBits(12);if(code===ccittEOF){return 1;}if(code>>5===0){p=whiteTable1[code];}else{p=whiteTable2[code>>3];}if(p[0]>0){this._eatBits(p[0]);return p[1];}}else{var result=this._findTableCode(1,9,whiteTable2);if(result[0]){return result[1];}result=this._findTableCode(11,12,whiteTable1);if(result[0]){return result[1];}}(0,_util.info)(\"bad white code\");this._eatBits(1);return 1;},_getBlackCode:function _getBlackCode(){var code,p;if(this.eoblock){code=this._lookBits(13);if(code===ccittEOF){return 1;}if(code>>7===0){p=blackTable1[code];}else if(code>>9===0&&code>>7!==0){p=blackTable2[(code>>1)-64];}else{p=blackTable3[code>>7];}if(p[0]>0){this._eatBits(p[0]);return p[1];}}else{var result=this._findTableCode(2,6,blackTable3);if(result[0]){return result[1];}result=this._findTableCode(7,12,blackTable2,64);if(result[0]){return result[1];}result=this._findTableCode(10,13,blackTable1);if(result[0]){return result[1];}}(0,_util.info)(\"bad black code\");this._eatBits(1);return 1;},_lookBits:function _lookBits(n){var c;while(this.inputBits<n){if((c=this.source.next())===-1){if(this.inputBits===0){return ccittEOF;}return this.inputBuf<<n-this.inputBits&0xffff>>16-n;}this.inputBuf=this.inputBuf<<8|c;this.inputBits+=8;}return this.inputBuf>>this.inputBits-n&0xffff>>16-n;},_eatBits:function _eatBits(n){if((this.inputBits-=n)<0){this.inputBits=0;}}};return CCITTFaxDecoder;}();exports.CCITTFaxDecoder=CCITTFaxDecoder;/***/},/* 14 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.Jbig2Stream=void 0;var _primitives=__w_pdfjs_require__(4);var _stream=__w_pdfjs_require__(11);var _jbig=__w_pdfjs_require__(15);var _util=__w_pdfjs_require__(2);var Jbig2Stream=function Jbig2StreamClosure(){function Jbig2Stream(stream,maybeLength,dict,params){this.stream=stream;this.maybeLength=maybeLength;this.dict=dict;this.params=params;_stream.DecodeStream.call(this,maybeLength);}Jbig2Stream.prototype=Object.create(_stream.DecodeStream.prototype);Object.defineProperty(Jbig2Stream.prototype,\"bytes\",{get:function get(){return(0,_util.shadow)(this,\"bytes\",this.stream.getBytes(this.maybeLength));},configurable:true});Jbig2Stream.prototype.ensureBuffer=function(requested){};Jbig2Stream.prototype.readBlock=function(){if(this.eof){return;}var jbig2Image=new _jbig.Jbig2Image();var chunks=[];if((0,_primitives.isDict)(this.params)){var globalsStream=this.params.get(\"JBIG2Globals\");if((0,_primitives.isStream)(globalsStream)){var globals=globalsStream.getBytes();chunks.push({data:globals,start:0,end:globals.length});}}chunks.push({data:this.bytes,start:0,end:this.bytes.length});var data=jbig2Image.parseChunks(chunks);var dataLength=data.length;for(var i=0;i<dataLength;i++){data[i]^=0xff;}this.buffer=data;this.bufferLength=dataLength;this.eof=true;};return Jbig2Stream;}();exports.Jbig2Stream=Jbig2Stream;/***/},/* 15 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.Jbig2Image=void 0;var _util=__w_pdfjs_require__(2);var _core_utils=__w_pdfjs_require__(7);var _arithmetic_decoder=__w_pdfjs_require__(16);var _ccitt=__w_pdfjs_require__(13);var Jbig2Error=/*#__PURE__*/function(_util$BaseException4){_inherits(Jbig2Error,_util$BaseException4);var _super15=_createSuper(Jbig2Error);function Jbig2Error(msg){_classCallCheck(this,Jbig2Error);return _super15.call(this,\"JBIG2 error: \".concat(msg));}return Jbig2Error;}(_util.BaseException);var Jbig2Image=function Jbig2ImageClosure(){function ContextCache(){}ContextCache.prototype={getContexts:function getContexts(id){if(id in this){return this[id];}return this[id]=new Int8Array(1<<16);}};function DecodingContext(data,start,end){this.data=data;this.start=start;this.end=end;}DecodingContext.prototype={get decoder(){var decoder=new _arithmetic_decoder.ArithmeticDecoder(this.data,this.start,this.end);return(0,_util.shadow)(this,\"decoder\",decoder);},get contextCache(){var cache=new ContextCache();return(0,_util.shadow)(this,\"contextCache\",cache);}};function decodeInteger(contextCache,procedure,decoder){var contexts=contextCache.getContexts(procedure);var prev=1;function readBits(length){var v=0;for(var i=0;i<length;i++){var bit=decoder.readBit(contexts,prev);prev=prev<256?prev<<1|bit:(prev<<1|bit)&511|256;v=v<<1|bit;}return v>>>0;}var sign=readBits(1);var value=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);if(sign===0){return value;}else if(value>0){return-value;}return null;}function decodeIAID(contextCache,decoder,codeLength){var contexts=contextCache.getContexts(\"IAID\");var prev=1;for(var i=0;i<codeLength;i++){var bit=decoder.readBit(contexts,prev);prev=prev<<1|bit;}if(codeLength<31){return prev&(1<<codeLength)-1;}return prev&0x7fffffff;}var SegmentTypes=[\"SymbolDictionary\",null,null,null,\"IntermediateTextRegion\",null,\"ImmediateTextRegion\",\"ImmediateLosslessTextRegion\",null,null,null,null,null,null,null,null,\"PatternDictionary\",null,null,null,\"IntermediateHalftoneRegion\",null,\"ImmediateHalftoneRegion\",\"ImmediateLosslessHalftoneRegion\",null,null,null,null,null,null,null,null,null,null,null,null,\"IntermediateGenericRegion\",null,\"ImmediateGenericRegion\",\"ImmediateLosslessGenericRegion\",\"IntermediateGenericRefinementRegion\",null,\"ImmediateGenericRefinementRegion\",\"ImmediateLosslessGenericRefinementRegion\",null,null,null,null,\"PageInformation\",\"EndOfPage\",\"EndOfStripe\",\"EndOfFile\",\"Profiles\",\"Tables\",null,null,null,null,null,null,null,null,\"Extension\"];var CodingTemplates=[[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:2,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:2,y:-1},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}],[{x:-1,y:-2},{x:0,y:-2},{x:1,y:-2},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-2,y:0},{x:-1,y:0}],[{x:-3,y:-1},{x:-2,y:-1},{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-4,y:0},{x:-3,y:0},{x:-2,y:0},{x:-1,y:0}]];var RefinementTemplates=[{coding:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:1,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:-1,y:1},{x:0,y:1},{x:1,y:1}]},{coding:[{x:-1,y:-1},{x:0,y:-1},{x:1,y:-1},{x:-1,y:0}],reference:[{x:0,y:-1},{x:-1,y:0},{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]}];var ReusedContexts=[0x9b25,0x0795,0x00e5,0x0195];var RefinementReusedContexts=[0x0020,0x0008];function decodeBitmapTemplate0(width,height,decodingContext){var decoder=decodingContext.decoder;var contexts=decodingContext.contextCache.getContexts(\"GB\");var contextLabel,i,j,pixel,row,row1,row2,bitmap=[];var OLD_PIXEL_MASK=0x7bf7;for(i=0;i<height;i++){row=bitmap[i]=new Uint8Array(width);row1=i<1?row:bitmap[i-1];row2=i<2?row:bitmap[i-2];contextLabel=row2[0]<<13|row2[1]<<12|row2[2]<<11|row1[0]<<7|row1[1]<<6|row1[2]<<5|row1[3]<<4;for(j=0;j<width;j++){row[j]=pixel=decoder.readBit(contexts,contextLabel);contextLabel=(contextLabel&OLD_PIXEL_MASK)<<1|(j+3<width?row2[j+3]<<11:0)|(j+4<width?row1[j+4]<<4:0)|pixel;}}return bitmap;}function decodeBitmap(mmr,width,height,templateIndex,prediction,skip,at,decodingContext){if(mmr){var input=new Reader(decodingContext.data,decodingContext.start,decodingContext.end);return decodeMMRBitmap(input,width,height,false);}if(templateIndex===0&&!skip&&!prediction&&at.length===4&&at[0].x===3&&at[0].y===-1&&at[1].x===-3&&at[1].y===-1&&at[2].x===2&&at[2].y===-2&&at[3].x===-2&&at[3].y===-2){return decodeBitmapTemplate0(width,height,decodingContext);}var useskip=!!skip;var template=CodingTemplates[templateIndex].concat(at);template.sort(function(a,b){return a.y-b.y||a.x-b.x;});var templateLength=template.length;var templateX=new Int8Array(templateLength);var templateY=new Int8Array(templateLength);var changingTemplateEntries=[];var reuseMask=0,minX=0,maxX=0,minY=0;var c,k;for(k=0;k<templateLength;k++){templateX[k]=template[k].x;templateY[k]=template[k].y;minX=Math.min(minX,template[k].x);maxX=Math.max(maxX,template[k].x);minY=Math.min(minY,template[k].y);if(k<templateLength-1&&template[k].y===template[k+1].y&&template[k].x===template[k+1].x-1){reuseMask|=1<<templateLength-1-k;}else{changingTemplateEntries.push(k);}}var changingEntriesLength=changingTemplateEntries.length;var changingTemplateX=new Int8Array(changingEntriesLength);var changingTemplateY=new Int8Array(changingEntriesLength);var changingTemplateBit=new Uint16Array(changingEntriesLength);for(c=0;c<changingEntriesLength;c++){k=changingTemplateEntries[c];changingTemplateX[c]=template[k].x;changingTemplateY[c]=template[k].y;changingTemplateBit[c]=1<<templateLength-1-k;}var sbb_left=-minX;var sbb_top=-minY;var sbb_right=width-maxX;var pseudoPixelContext=ReusedContexts[templateIndex];var row=new Uint8Array(width);var bitmap=[];var decoder=decodingContext.decoder;var contexts=decodingContext.contextCache.getContexts(\"GB\");var ltp=0,j,i0,j0,contextLabel=0,bit,shift;for(var i=0;i<height;i++){if(prediction){var sltp=decoder.readBit(contexts,pseudoPixelContext);ltp^=sltp;if(ltp){bitmap.push(row);continue;}}row=new Uint8Array(row);bitmap.push(row);for(j=0;j<width;j++){if(useskip&&skip[i][j]){row[j]=0;continue;}if(j>=sbb_left&&j<sbb_right&&i>=sbb_top){contextLabel=contextLabel<<1&reuseMask;for(k=0;k<changingEntriesLength;k++){i0=i+changingTemplateY[k];j0=j+changingTemplateX[k];bit=bitmap[i0][j0];if(bit){bit=changingTemplateBit[k];contextLabel|=bit;}}}else{contextLabel=0;shift=templateLength-1;for(k=0;k<templateLength;k++,shift--){j0=j+templateX[k];if(j0>=0&&j0<width){i0=i+templateY[k];if(i0>=0){bit=bitmap[i0][j0];if(bit){contextLabel|=bit<<shift;}}}}}var pixel=decoder.readBit(contexts,contextLabel);row[j]=pixel;}}return bitmap;}function decodeRefinement(width,height,templateIndex,referenceBitmap,offsetX,offsetY,prediction,at,decodingContext){var codingTemplate=RefinementTemplates[templateIndex].coding;if(templateIndex===0){codingTemplate=codingTemplate.concat([at[0]]);}var codingTemplateLength=codingTemplate.length;var codingTemplateX=new Int32Array(codingTemplateLength);var codingTemplateY=new Int32Array(codingTemplateLength);var k;for(k=0;k<codingTemplateLength;k++){codingTemplateX[k]=codingTemplate[k].x;codingTemplateY[k]=codingTemplate[k].y;}var referenceTemplate=RefinementTemplates[templateIndex].reference;if(templateIndex===0){referenceTemplate=referenceTemplate.concat([at[1]]);}var referenceTemplateLength=referenceTemplate.length;var referenceTemplateX=new Int32Array(referenceTemplateLength);var referenceTemplateY=new Int32Array(referenceTemplateLength);for(k=0;k<referenceTemplateLength;k++){referenceTemplateX[k]=referenceTemplate[k].x;referenceTemplateY[k]=referenceTemplate[k].y;}var referenceWidth=referenceBitmap[0].length;var referenceHeight=referenceBitmap.length;var pseudoPixelContext=RefinementReusedContexts[templateIndex];var bitmap=[];var decoder=decodingContext.decoder;var contexts=decodingContext.contextCache.getContexts(\"GR\");var ltp=0;for(var i=0;i<height;i++){if(prediction){var sltp=decoder.readBit(contexts,pseudoPixelContext);ltp^=sltp;if(ltp){throw new Jbig2Error(\"prediction is not supported\");}}var row=new Uint8Array(width);bitmap.push(row);for(var j=0;j<width;j++){var i0,j0;var contextLabel=0;for(k=0;k<codingTemplateLength;k++){i0=i+codingTemplateY[k];j0=j+codingTemplateX[k];if(i0<0||j0<0||j0>=width){contextLabel<<=1;}else{contextLabel=contextLabel<<1|bitmap[i0][j0];}}for(k=0;k<referenceTemplateLength;k++){i0=i+referenceTemplateY[k]-offsetY;j0=j+referenceTemplateX[k]-offsetX;if(i0<0||i0>=referenceHeight||j0<0||j0>=referenceWidth){contextLabel<<=1;}else{contextLabel=contextLabel<<1|referenceBitmap[i0][j0];}}var pixel=decoder.readBit(contexts,contextLabel);row[j]=pixel;}}return bitmap;}function decodeSymbolDictionary(huffman,refinement,symbols,numberOfNewSymbols,numberOfExportedSymbols,huffmanTables,templateIndex,at,refinementTemplateIndex,refinementAt,decodingContext,huffmanInput){if(huffman&&refinement){throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");}var newSymbols=[];var currentHeight=0;var symbolCodeLength=(0,_core_utils.log2)(symbols.length+numberOfNewSymbols);var decoder=decodingContext.decoder;var contextCache=decodingContext.contextCache;var tableB1,symbolWidths;if(huffman){tableB1=getStandardTable(1);symbolWidths=[];symbolCodeLength=Math.max(symbolCodeLength,1);}while(newSymbols.length<numberOfNewSymbols){var deltaHeight=huffman?huffmanTables.tableDeltaHeight.decode(huffmanInput):decodeInteger(contextCache,\"IADH\",decoder);currentHeight+=deltaHeight;var currentWidth=0,totalWidth=0;var firstSymbol=huffman?symbolWidths.length:0;while(true){var deltaWidth=huffman?huffmanTables.tableDeltaWidth.decode(huffmanInput):decodeInteger(contextCache,\"IADW\",decoder);if(deltaWidth===null){break;}currentWidth+=deltaWidth;totalWidth+=currentWidth;var bitmap;if(refinement){var numberOfInstances=decodeInteger(contextCache,\"IAAI\",decoder);if(numberOfInstances>1){bitmap=decodeTextRegion(huffman,refinement,currentWidth,currentHeight,0,numberOfInstances,1,symbols.concat(newSymbols),symbolCodeLength,0,0,1,0,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext,0,huffmanInput);}else{var symbolId=decodeIAID(contextCache,decoder,symbolCodeLength);var rdx=decodeInteger(contextCache,\"IARDX\",decoder);var rdy=decodeInteger(contextCache,\"IARDY\",decoder);var symbol=symbolId<symbols.length?symbols[symbolId]:newSymbols[symbolId-symbols.length];bitmap=decodeRefinement(currentWidth,currentHeight,refinementTemplateIndex,symbol,rdx,rdy,false,refinementAt,decodingContext);}newSymbols.push(bitmap);}else if(huffman){symbolWidths.push(currentWidth);}else{bitmap=decodeBitmap(false,currentWidth,currentHeight,templateIndex,false,null,at,decodingContext);newSymbols.push(bitmap);}}if(huffman&&!refinement){var bitmapSize=huffmanTables.tableBitmapSize.decode(huffmanInput);huffmanInput.byteAlign();var collectiveBitmap=void 0;if(bitmapSize===0){collectiveBitmap=readUncompressedBitmap(huffmanInput,totalWidth,currentHeight);}else{var originalEnd=huffmanInput.end;var bitmapEnd=huffmanInput.position+bitmapSize;huffmanInput.end=bitmapEnd;collectiveBitmap=decodeMMRBitmap(huffmanInput,totalWidth,currentHeight,false);huffmanInput.end=originalEnd;huffmanInput.position=bitmapEnd;}var numberOfSymbolsDecoded=symbolWidths.length;if(firstSymbol===numberOfSymbolsDecoded-1){newSymbols.push(collectiveBitmap);}else{var _i9=void 0,y=void 0,xMin=0,xMax=void 0,bitmapWidth=void 0,symbolBitmap=void 0;for(_i9=firstSymbol;_i9<numberOfSymbolsDecoded;_i9++){bitmapWidth=symbolWidths[_i9];xMax=xMin+bitmapWidth;symbolBitmap=[];for(y=0;y<currentHeight;y++){symbolBitmap.push(collectiveBitmap[y].subarray(xMin,xMax));}newSymbols.push(symbolBitmap);xMin=xMax;}}}}var exportedSymbols=[];var flags=[],currentFlag=false;var totalSymbolsLength=symbols.length+numberOfNewSymbols;while(flags.length<totalSymbolsLength){var runLength=huffman?tableB1.decode(huffmanInput):decodeInteger(contextCache,\"IAEX\",decoder);while(runLength--){flags.push(currentFlag);}currentFlag=!currentFlag;}for(var i=0,ii=symbols.length;i<ii;i++){if(flags[i]){exportedSymbols.push(symbols[i]);}}for(var j=0;j<numberOfNewSymbols;i++,j++){if(flags[i]){exportedSymbols.push(newSymbols[j]);}}return exportedSymbols;}function decodeTextRegion(huffman,refinement,width,height,defaultPixelValue,numberOfSymbolInstances,stripSize,inputSymbols,symbolCodeLength,transposed,dsOffset,referenceCorner,combinationOperator,huffmanTables,refinementTemplateIndex,refinementAt,decodingContext,logStripSize,huffmanInput){if(huffman&&refinement){throw new Jbig2Error(\"refinement with Huffman is not supported\");}var bitmap=[];var i,row;for(i=0;i<height;i++){row=new Uint8Array(width);if(defaultPixelValue){for(var j=0;j<width;j++){row[j]=defaultPixelValue;}}bitmap.push(row);}var decoder=decodingContext.decoder;var contextCache=decodingContext.contextCache;var stripT=huffman?-huffmanTables.tableDeltaT.decode(huffmanInput):-decodeInteger(contextCache,\"IADT\",decoder);var firstS=0;i=0;while(i<numberOfSymbolInstances){var deltaT=huffman?huffmanTables.tableDeltaT.decode(huffmanInput):decodeInteger(contextCache,\"IADT\",decoder);stripT+=deltaT;var deltaFirstS=huffman?huffmanTables.tableFirstS.decode(huffmanInput):decodeInteger(contextCache,\"IAFS\",decoder);firstS+=deltaFirstS;var currentS=firstS;do{var currentT=0;if(stripSize>1){currentT=huffman?huffmanInput.readBits(logStripSize):decodeInteger(contextCache,\"IAIT\",decoder);}var t=stripSize*stripT+currentT;var symbolId=huffman?huffmanTables.symbolIDTable.decode(huffmanInput):decodeIAID(contextCache,decoder,symbolCodeLength);var applyRefinement=refinement&&(huffman?huffmanInput.readBit():decodeInteger(contextCache,\"IARI\",decoder));var symbolBitmap=inputSymbols[symbolId];var symbolWidth=symbolBitmap[0].length;var symbolHeight=symbolBitmap.length;if(applyRefinement){var rdw=decodeInteger(contextCache,\"IARDW\",decoder);var rdh=decodeInteger(contextCache,\"IARDH\",decoder);var rdx=decodeInteger(contextCache,\"IARDX\",decoder);var rdy=decodeInteger(contextCache,\"IARDY\",decoder);symbolWidth+=rdw;symbolHeight+=rdh;symbolBitmap=decodeRefinement(symbolWidth,symbolHeight,refinementTemplateIndex,symbolBitmap,(rdw>>1)+rdx,(rdh>>1)+rdy,false,refinementAt,decodingContext);}var offsetT=t-(referenceCorner&1?0:symbolHeight-1);var offsetS=currentS-(referenceCorner&2?symbolWidth-1:0);var s2,t2,symbolRow;if(transposed){for(s2=0;s2<symbolHeight;s2++){row=bitmap[offsetS+s2];if(!row){continue;}symbolRow=symbolBitmap[s2];var maxWidth=Math.min(width-offsetT,symbolWidth);switch(combinationOperator){case 0:for(t2=0;t2<maxWidth;t2++){row[offsetT+t2]|=symbolRow[t2];}break;case 2:for(t2=0;t2<maxWidth;t2++){row[offsetT+t2]^=symbolRow[t2];}break;default:throw new Jbig2Error(\"operator \".concat(combinationOperator,\" is not supported\"));}}currentS+=symbolHeight-1;}else{for(t2=0;t2<symbolHeight;t2++){row=bitmap[offsetT+t2];if(!row){continue;}symbolRow=symbolBitmap[t2];switch(combinationOperator){case 0:for(s2=0;s2<symbolWidth;s2++){row[offsetS+s2]|=symbolRow[s2];}break;case 2:for(s2=0;s2<symbolWidth;s2++){row[offsetS+s2]^=symbolRow[s2];}break;default:throw new Jbig2Error(\"operator \".concat(combinationOperator,\" is not supported\"));}}currentS+=symbolWidth-1;}i++;var deltaS=huffman?huffmanTables.tableDeltaS.decode(huffmanInput):decodeInteger(contextCache,\"IADS\",decoder);if(deltaS===null){break;}currentS+=deltaS+dsOffset;}while(true);}return bitmap;}function decodePatternDictionary(mmr,patternWidth,patternHeight,maxPatternIndex,template,decodingContext){var at=[];if(!mmr){at.push({x:-patternWidth,y:0});if(template===0){at.push({x:-3,y:-1});at.push({x:2,y:-2});at.push({x:-2,y:-2});}}var collectiveWidth=(maxPatternIndex+1)*patternWidth;var collectiveBitmap=decodeBitmap(mmr,collectiveWidth,patternHeight,template,false,null,at,decodingContext);var patterns=[];for(var i=0;i<=maxPatternIndex;i++){var patternBitmap=[];var xMin=patternWidth*i;var xMax=xMin+patternWidth;for(var y=0;y<patternHeight;y++){patternBitmap.push(collectiveBitmap[y].subarray(xMin,xMax));}patterns.push(patternBitmap);}return patterns;}function decodeHalftoneRegion(mmr,patterns,template,regionWidth,regionHeight,defaultPixelValue,enableSkip,combinationOperator,gridWidth,gridHeight,gridOffsetX,gridOffsetY,gridVectorX,gridVectorY,decodingContext){var skip=null;if(enableSkip){throw new Jbig2Error(\"skip is not supported\");}if(combinationOperator!==0){throw new Jbig2Error(\"operator \"+combinationOperator+\" is not supported in halftone region\");}var regionBitmap=[];var i,j,row;for(i=0;i<regionHeight;i++){row=new Uint8Array(regionWidth);if(defaultPixelValue){for(j=0;j<regionWidth;j++){row[j]=defaultPixelValue;}}regionBitmap.push(row);}var numberOfPatterns=patterns.length;var pattern0=patterns[0];var patternWidth=pattern0[0].length,patternHeight=pattern0.length;var bitsPerValue=(0,_core_utils.log2)(numberOfPatterns);var at=[];if(!mmr){at.push({x:template<=1?3:2,y:-1});if(template===0){at.push({x:-3,y:-1});at.push({x:2,y:-2});at.push({x:-2,y:-2});}}var grayScaleBitPlanes=[];var mmrInput,bitmap;if(mmr){mmrInput=new Reader(decodingContext.data,decodingContext.start,decodingContext.end);}for(i=bitsPerValue-1;i>=0;i--){if(mmr){bitmap=decodeMMRBitmap(mmrInput,gridWidth,gridHeight,true);}else{bitmap=decodeBitmap(false,gridWidth,gridHeight,template,false,skip,at,decodingContext);}grayScaleBitPlanes[i]=bitmap;}var mg,ng,bit,patternIndex,patternBitmap,x,y,patternRow,regionRow;for(mg=0;mg<gridHeight;mg++){for(ng=0;ng<gridWidth;ng++){bit=0;patternIndex=0;for(j=bitsPerValue-1;j>=0;j--){bit=grayScaleBitPlanes[j][mg][ng]^bit;patternIndex|=bit<<j;}patternBitmap=patterns[patternIndex];x=gridOffsetX+mg*gridVectorY+ng*gridVectorX>>8;y=gridOffsetY+mg*gridVectorX-ng*gridVectorY>>8;if(x>=0&&x+patternWidth<=regionWidth&&y>=0&&y+patternHeight<=regionHeight){for(i=0;i<patternHeight;i++){regionRow=regionBitmap[y+i];patternRow=patternBitmap[i];for(j=0;j<patternWidth;j++){regionRow[x+j]|=patternRow[j];}}}else{var regionX=void 0,regionY=void 0;for(i=0;i<patternHeight;i++){regionY=y+i;if(regionY<0||regionY>=regionHeight){continue;}regionRow=regionBitmap[regionY];patternRow=patternBitmap[i];for(j=0;j<patternWidth;j++){regionX=x+j;if(regionX>=0&&regionX<regionWidth){regionRow[regionX]|=patternRow[j];}}}}}}return regionBitmap;}function readSegmentHeader(data,start){var segmentHeader={};segmentHeader.number=(0,_core_utils.readUint32)(data,start);var flags=data[start+4];var segmentType=flags&0x3f;if(!SegmentTypes[segmentType]){throw new Jbig2Error(\"invalid segment type: \"+segmentType);}segmentHeader.type=segmentType;segmentHeader.typeName=SegmentTypes[segmentType];segmentHeader.deferredNonRetain=!!(flags&0x80);var pageAssociationFieldSize=!!(flags&0x40);var referredFlags=data[start+5];var referredToCount=referredFlags>>5&7;var retainBits=[referredFlags&31];var position=start+6;if(referredFlags===7){referredToCount=(0,_core_utils.readUint32)(data,position-1)&0x1fffffff;position+=3;var bytes=referredToCount+7>>3;retainBits[0]=data[position++];while(--bytes>0){retainBits.push(data[position++]);}}else if(referredFlags===5||referredFlags===6){throw new Jbig2Error(\"invalid referred-to flags\");}segmentHeader.retainBits=retainBits;var referredToSegmentNumberSize=4;if(segmentHeader.number<=256){referredToSegmentNumberSize=1;}else if(segmentHeader.number<=65536){referredToSegmentNumberSize=2;}var referredTo=[];var i,ii;for(i=0;i<referredToCount;i++){var number=void 0;if(referredToSegmentNumberSize===1){number=data[position];}else if(referredToSegmentNumberSize===2){number=(0,_core_utils.readUint16)(data,position);}else{number=(0,_core_utils.readUint32)(data,position);}referredTo.push(number);position+=referredToSegmentNumberSize;}segmentHeader.referredTo=referredTo;if(!pageAssociationFieldSize){segmentHeader.pageAssociation=data[position++];}else{segmentHeader.pageAssociation=(0,_core_utils.readUint32)(data,position);position+=4;}segmentHeader.length=(0,_core_utils.readUint32)(data,position);position+=4;if(segmentHeader.length===0xffffffff){if(segmentType===38){var genericRegionInfo=readRegionSegmentInformation(data,position);var genericRegionSegmentFlags=data[position+RegionSegmentInformationFieldLength];var genericRegionMmr=!!(genericRegionSegmentFlags&1);var searchPatternLength=6;var searchPattern=new Uint8Array(searchPatternLength);if(!genericRegionMmr){searchPattern[0]=0xff;searchPattern[1]=0xac;}searchPattern[2]=genericRegionInfo.height>>>24&0xff;searchPattern[3]=genericRegionInfo.height>>16&0xff;searchPattern[4]=genericRegionInfo.height>>8&0xff;searchPattern[5]=genericRegionInfo.height&0xff;for(i=position,ii=data.length;i<ii;i++){var j=0;while(j<searchPatternLength&&searchPattern[j]===data[i+j]){j++;}if(j===searchPatternLength){segmentHeader.length=i+searchPatternLength;break;}}if(segmentHeader.length===0xffffffff){throw new Jbig2Error(\"segment end was not found\");}}else{throw new Jbig2Error(\"invalid unknown segment length\");}}segmentHeader.headerEnd=position;return segmentHeader;}function readSegments(header,data,start,end){var segments=[];var position=start;while(position<end){var segmentHeader=readSegmentHeader(data,position);position=segmentHeader.headerEnd;var segment={header:segmentHeader,data:data};if(!header.randomAccess){segment.start=position;position+=segmentHeader.length;segment.end=position;}segments.push(segment);if(segmentHeader.type===51){break;}}if(header.randomAccess){for(var i=0,ii=segments.length;i<ii;i++){segments[i].start=position;position+=segments[i].header.length;segments[i].end=position;}}return segments;}function readRegionSegmentInformation(data,start){return{width:(0,_core_utils.readUint32)(data,start),height:(0,_core_utils.readUint32)(data,start+4),x:(0,_core_utils.readUint32)(data,start+8),y:(0,_core_utils.readUint32)(data,start+12),combinationOperator:data[start+16]&7};}var RegionSegmentInformationFieldLength=17;function processSegment(segment,visitor){var header=segment.header;var data=segment.data,position=segment.start,end=segment.end;var args,at,i,atLength;switch(header.type){case 0:var dictionary={};var dictionaryFlags=(0,_core_utils.readUint16)(data,position);dictionary.huffman=!!(dictionaryFlags&1);dictionary.refinement=!!(dictionaryFlags&2);dictionary.huffmanDHSelector=dictionaryFlags>>2&3;dictionary.huffmanDWSelector=dictionaryFlags>>4&3;dictionary.bitmapSizeSelector=dictionaryFlags>>6&1;dictionary.aggregationInstancesSelector=dictionaryFlags>>7&1;dictionary.bitmapCodingContextUsed=!!(dictionaryFlags&256);dictionary.bitmapCodingContextRetained=!!(dictionaryFlags&512);dictionary.template=dictionaryFlags>>10&3;dictionary.refinementTemplate=dictionaryFlags>>12&1;position+=2;if(!dictionary.huffman){atLength=dictionary.template===0?4:1;at=[];for(i=0;i<atLength;i++){at.push({x:(0,_core_utils.readInt8)(data,position),y:(0,_core_utils.readInt8)(data,position+1)});position+=2;}dictionary.at=at;}if(dictionary.refinement&&!dictionary.refinementTemplate){at=[];for(i=0;i<2;i++){at.push({x:(0,_core_utils.readInt8)(data,position),y:(0,_core_utils.readInt8)(data,position+1)});position+=2;}dictionary.refinementAt=at;}dictionary.numberOfExportedSymbols=(0,_core_utils.readUint32)(data,position);position+=4;dictionary.numberOfNewSymbols=(0,_core_utils.readUint32)(data,position);position+=4;args=[dictionary,header.number,header.referredTo,data,position,end];break;case 6:case 7:var textRegion={};textRegion.info=readRegionSegmentInformation(data,position);position+=RegionSegmentInformationFieldLength;var textRegionSegmentFlags=(0,_core_utils.readUint16)(data,position);position+=2;textRegion.huffman=!!(textRegionSegmentFlags&1);textRegion.refinement=!!(textRegionSegmentFlags&2);textRegion.logStripSize=textRegionSegmentFlags>>2&3;textRegion.stripSize=1<<textRegion.logStripSize;textRegion.referenceCorner=textRegionSegmentFlags>>4&3;textRegion.transposed=!!(textRegionSegmentFlags&64);textRegion.combinationOperator=textRegionSegmentFlags>>7&3;textRegion.defaultPixelValue=textRegionSegmentFlags>>9&1;textRegion.dsOffset=textRegionSegmentFlags<<17>>27;textRegion.refinementTemplate=textRegionSegmentFlags>>15&1;if(textRegion.huffman){var textRegionHuffmanFlags=(0,_core_utils.readUint16)(data,position);position+=2;textRegion.huffmanFS=textRegionHuffmanFlags&3;textRegion.huffmanDS=textRegionHuffmanFlags>>2&3;textRegion.huffmanDT=textRegionHuffmanFlags>>4&3;textRegion.huffmanRefinementDW=textRegionHuffmanFlags>>6&3;textRegion.huffmanRefinementDH=textRegionHuffmanFlags>>8&3;textRegion.huffmanRefinementDX=textRegionHuffmanFlags>>10&3;textRegion.huffmanRefinementDY=textRegionHuffmanFlags>>12&3;textRegion.huffmanRefinementSizeSelector=!!(textRegionHuffmanFlags&0x4000);}if(textRegion.refinement&&!textRegion.refinementTemplate){at=[];for(i=0;i<2;i++){at.push({x:(0,_core_utils.readInt8)(data,position),y:(0,_core_utils.readInt8)(data,position+1)});position+=2;}textRegion.refinementAt=at;}textRegion.numberOfSymbolInstances=(0,_core_utils.readUint32)(data,position);position+=4;args=[textRegion,header.referredTo,data,position,end];break;case 16:var patternDictionary={};var patternDictionaryFlags=data[position++];patternDictionary.mmr=!!(patternDictionaryFlags&1);patternDictionary.template=patternDictionaryFlags>>1&3;patternDictionary.patternWidth=data[position++];patternDictionary.patternHeight=data[position++];patternDictionary.maxPatternIndex=(0,_core_utils.readUint32)(data,position);position+=4;args=[patternDictionary,header.number,data,position,end];break;case 22:case 23:var halftoneRegion={};halftoneRegion.info=readRegionSegmentInformation(data,position);position+=RegionSegmentInformationFieldLength;var halftoneRegionFlags=data[position++];halftoneRegion.mmr=!!(halftoneRegionFlags&1);halftoneRegion.template=halftoneRegionFlags>>1&3;halftoneRegion.enableSkip=!!(halftoneRegionFlags&8);halftoneRegion.combinationOperator=halftoneRegionFlags>>4&7;halftoneRegion.defaultPixelValue=halftoneRegionFlags>>7&1;halftoneRegion.gridWidth=(0,_core_utils.readUint32)(data,position);position+=4;halftoneRegion.gridHeight=(0,_core_utils.readUint32)(data,position);position+=4;halftoneRegion.gridOffsetX=(0,_core_utils.readUint32)(data,position)&0xffffffff;position+=4;halftoneRegion.gridOffsetY=(0,_core_utils.readUint32)(data,position)&0xffffffff;position+=4;halftoneRegion.gridVectorX=(0,_core_utils.readUint16)(data,position);position+=2;halftoneRegion.gridVectorY=(0,_core_utils.readUint16)(data,position);position+=2;args=[halftoneRegion,header.referredTo,data,position,end];break;case 38:case 39:var genericRegion={};genericRegion.info=readRegionSegmentInformation(data,position);position+=RegionSegmentInformationFieldLength;var genericRegionSegmentFlags=data[position++];genericRegion.mmr=!!(genericRegionSegmentFlags&1);genericRegion.template=genericRegionSegmentFlags>>1&3;genericRegion.prediction=!!(genericRegionSegmentFlags&8);if(!genericRegion.mmr){atLength=genericRegion.template===0?4:1;at=[];for(i=0;i<atLength;i++){at.push({x:(0,_core_utils.readInt8)(data,position),y:(0,_core_utils.readInt8)(data,position+1)});position+=2;}genericRegion.at=at;}args=[genericRegion,data,position,end];break;case 48:var pageInfo={width:(0,_core_utils.readUint32)(data,position),height:(0,_core_utils.readUint32)(data,position+4),resolutionX:(0,_core_utils.readUint32)(data,position+8),resolutionY:(0,_core_utils.readUint32)(data,position+12)};if(pageInfo.height===0xffffffff){delete pageInfo.height;}var pageSegmentFlags=data[position+16];(0,_core_utils.readUint16)(data,position+17);pageInfo.lossless=!!(pageSegmentFlags&1);pageInfo.refinement=!!(pageSegmentFlags&2);pageInfo.defaultPixelValue=pageSegmentFlags>>2&1;pageInfo.combinationOperator=pageSegmentFlags>>3&3;pageInfo.requiresBuffer=!!(pageSegmentFlags&32);pageInfo.combinationOperatorOverride=!!(pageSegmentFlags&64);args=[pageInfo];break;case 49:break;case 50:break;case 51:break;case 53:args=[header.number,data,position,end];break;case 62:break;default:throw new Jbig2Error(\"segment type \".concat(header.typeName,\"(\").concat(header.type,\")\")+\" is not implemented\");}var callbackName=\"on\"+header.typeName;if(callbackName in visitor){visitor[callbackName].apply(visitor,args);}}function processSegments(segments,visitor){for(var i=0,ii=segments.length;i<ii;i++){processSegment(segments[i],visitor);}}function parseJbig2Chunks(chunks){var visitor=new SimpleSegmentVisitor();for(var i=0,ii=chunks.length;i<ii;i++){var chunk=chunks[i];var segments=readSegments({},chunk.data,chunk.start,chunk.end);processSegments(segments,visitor);}return visitor.buffer;}function parseJbig2(data){var end=data.length;var position=0;if(data[position]!==0x97||data[position+1]!==0x4a||data[position+2]!==0x42||data[position+3]!==0x32||data[position+4]!==0x0d||data[position+5]!==0x0a||data[position+6]!==0x1a||data[position+7]!==0x0a){throw new Jbig2Error(\"parseJbig2 - invalid header.\");}var header=Object.create(null);position+=8;var flags=data[position++];header.randomAccess=!(flags&1);if(!(flags&2)){header.numberOfPages=(0,_core_utils.readUint32)(data,position);position+=4;}var segments=readSegments(header,data,position,end);var visitor=new SimpleSegmentVisitor();processSegments(segments,visitor);var _visitor$currentPageI=visitor.currentPageInfo,width=_visitor$currentPageI.width,height=_visitor$currentPageI.height;var bitPacked=visitor.buffer;var imgData=new Uint8ClampedArray(width*height);var q=0,k=0;for(var i=0;i<height;i++){var mask=0,buffer=void 0;for(var j=0;j<width;j++){if(!mask){mask=128;buffer=bitPacked[k++];}imgData[q++]=buffer&mask?0:255;mask>>=1;}}return{imgData:imgData,width:width,height:height};}function SimpleSegmentVisitor(){}SimpleSegmentVisitor.prototype={onPageInformation:function SimpleSegmentVisitor_onPageInformation(info){this.currentPageInfo=info;var rowSize=info.width+7>>3;var buffer=new Uint8ClampedArray(rowSize*info.height);if(info.defaultPixelValue){for(var i=0,ii=buffer.length;i<ii;i++){buffer[i]=0xff;}}this.buffer=buffer;},drawBitmap:function SimpleSegmentVisitor_drawBitmap(regionInfo,bitmap){var pageInfo=this.currentPageInfo;var width=regionInfo.width,height=regionInfo.height;var rowSize=pageInfo.width+7>>3;var combinationOperator=pageInfo.combinationOperatorOverride?regionInfo.combinationOperator:pageInfo.combinationOperator;var buffer=this.buffer;var mask0=128>>(regionInfo.x&7);var offset0=regionInfo.y*rowSize+(regionInfo.x>>3);var i,j,mask,offset;switch(combinationOperator){case 0:for(i=0;i<height;i++){mask=mask0;offset=offset0;for(j=0;j<width;j++){if(bitmap[i][j]){buffer[offset]|=mask;}mask>>=1;if(!mask){mask=128;offset++;}}offset0+=rowSize;}break;case 2:for(i=0;i<height;i++){mask=mask0;offset=offset0;for(j=0;j<width;j++){if(bitmap[i][j]){buffer[offset]^=mask;}mask>>=1;if(!mask){mask=128;offset++;}}offset0+=rowSize;}break;default:throw new Jbig2Error(\"operator \".concat(combinationOperator,\" is not supported\"));}},onImmediateGenericRegion:function SimpleSegmentVisitor_onImmediateGenericRegion(region,data,start,end){var regionInfo=region.info;var decodingContext=new DecodingContext(data,start,end);var bitmap=decodeBitmap(region.mmr,regionInfo.width,regionInfo.height,region.template,region.prediction,null,region.at,decodingContext);this.drawBitmap(regionInfo,bitmap);},onImmediateLosslessGenericRegion:function SimpleSegmentVisitor_onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion.apply(this,arguments);},onSymbolDictionary:function SimpleSegmentVisitor_onSymbolDictionary(dictionary,currentSegment,referredSegments,data,start,end){var huffmanTables,huffmanInput;if(dictionary.huffman){huffmanTables=getSymbolDictionaryHuffmanTables(dictionary,referredSegments,this.customTables);huffmanInput=new Reader(data,start,end);}var symbols=this.symbols;if(!symbols){this.symbols=symbols={};}var inputSymbols=[];for(var i=0,ii=referredSegments.length;i<ii;i++){var referredSymbols=symbols[referredSegments[i]];if(referredSymbols){inputSymbols=inputSymbols.concat(referredSymbols);}}var decodingContext=new DecodingContext(data,start,end);symbols[currentSegment]=decodeSymbolDictionary(dictionary.huffman,dictionary.refinement,inputSymbols,dictionary.numberOfNewSymbols,dictionary.numberOfExportedSymbols,huffmanTables,dictionary.template,dictionary.at,dictionary.refinementTemplate,dictionary.refinementAt,decodingContext,huffmanInput);},onImmediateTextRegion:function SimpleSegmentVisitor_onImmediateTextRegion(region,referredSegments,data,start,end){var regionInfo=region.info;var huffmanTables,huffmanInput;var symbols=this.symbols;var inputSymbols=[];for(var i=0,ii=referredSegments.length;i<ii;i++){var referredSymbols=symbols[referredSegments[i]];if(referredSymbols){inputSymbols=inputSymbols.concat(referredSymbols);}}var symbolCodeLength=(0,_core_utils.log2)(inputSymbols.length);if(region.huffman){huffmanInput=new Reader(data,start,end);huffmanTables=getTextRegionHuffmanTables(region,referredSegments,this.customTables,inputSymbols.length,huffmanInput);}var decodingContext=new DecodingContext(data,start,end);var bitmap=decodeTextRegion(region.huffman,region.refinement,regionInfo.width,regionInfo.height,region.defaultPixelValue,region.numberOfSymbolInstances,region.stripSize,inputSymbols,symbolCodeLength,region.transposed,region.dsOffset,region.referenceCorner,region.combinationOperator,huffmanTables,region.refinementTemplate,region.refinementAt,decodingContext,region.logStripSize,huffmanInput);this.drawBitmap(regionInfo,bitmap);},onImmediateLosslessTextRegion:function SimpleSegmentVisitor_onImmediateLosslessTextRegion(){this.onImmediateTextRegion.apply(this,arguments);},onPatternDictionary:function onPatternDictionary(dictionary,currentSegment,data,start,end){var patterns=this.patterns;if(!patterns){this.patterns=patterns={};}var decodingContext=new DecodingContext(data,start,end);patterns[currentSegment]=decodePatternDictionary(dictionary.mmr,dictionary.patternWidth,dictionary.patternHeight,dictionary.maxPatternIndex,dictionary.template,decodingContext);},onImmediateHalftoneRegion:function onImmediateHalftoneRegion(region,referredSegments,data,start,end){var patterns=this.patterns[referredSegments[0]];var regionInfo=region.info;var decodingContext=new DecodingContext(data,start,end);var bitmap=decodeHalftoneRegion(region.mmr,patterns,region.template,regionInfo.width,regionInfo.height,region.defaultPixelValue,region.enableSkip,region.combinationOperator,region.gridWidth,region.gridHeight,region.gridOffsetX,region.gridOffsetY,region.gridVectorX,region.gridVectorY,decodingContext);this.drawBitmap(regionInfo,bitmap);},onImmediateLosslessHalftoneRegion:function onImmediateLosslessHalftoneRegion(){this.onImmediateHalftoneRegion.apply(this,arguments);},onTables:function onTables(currentSegment,data,start,end){var customTables=this.customTables;if(!customTables){this.customTables=customTables={};}customTables[currentSegment]=decodeTablesSegment(data,start,end);}};function HuffmanLine(lineData){if(lineData.length===2){this.isOOB=true;this.rangeLow=0;this.prefixLength=lineData[0];this.rangeLength=0;this.prefixCode=lineData[1];this.isLowerRange=false;}else{this.isOOB=false;this.rangeLow=lineData[0];this.prefixLength=lineData[1];this.rangeLength=lineData[2];this.prefixCode=lineData[3];this.isLowerRange=lineData[4]===\"lower\";}}function HuffmanTreeNode(line){this.children=[];if(line){this.isLeaf=true;this.rangeLength=line.rangeLength;this.rangeLow=line.rangeLow;this.isLowerRange=line.isLowerRange;this.isOOB=line.isOOB;}else{this.isLeaf=false;}}HuffmanTreeNode.prototype={buildTree:function buildTree(line,shift){var bit=line.prefixCode>>shift&1;if(shift<=0){this.children[bit]=new HuffmanTreeNode(line);}else{var node=this.children[bit];if(!node){this.children[bit]=node=new HuffmanTreeNode(null);}node.buildTree(line,shift-1);}},decodeNode:function decodeNode(reader){if(this.isLeaf){if(this.isOOB){return null;}var htOffset=reader.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-htOffset:htOffset);}var node=this.children[reader.readBit()];if(!node){throw new Jbig2Error(\"invalid Huffman data\");}return node.decodeNode(reader);}};function HuffmanTable(lines,prefixCodesDone){if(!prefixCodesDone){this.assignPrefixCodes(lines);}this.rootNode=new HuffmanTreeNode(null);for(var i=0,ii=lines.length;i<ii;i++){var line=lines[i];if(line.prefixLength>0){this.rootNode.buildTree(line,line.prefixLength-1);}}}HuffmanTable.prototype={decode:function decode(reader){return this.rootNode.decodeNode(reader);},assignPrefixCodes:function assignPrefixCodes(lines){var linesLength=lines.length;var prefixLengthMax=0;for(var i=0;i<linesLength;i++){prefixLengthMax=Math.max(prefixLengthMax,lines[i].prefixLength);}var histogram=new Uint32Array(prefixLengthMax+1);for(var _i10=0;_i10<linesLength;_i10++){histogram[lines[_i10].prefixLength]++;}var currentLength=1,firstCode=0,currentCode,currentTemp,line;histogram[0]=0;while(currentLength<=prefixLengthMax){firstCode=firstCode+histogram[currentLength-1]<<1;currentCode=firstCode;currentTemp=0;while(currentTemp<linesLength){line=lines[currentTemp];if(line.prefixLength===currentLength){line.prefixCode=currentCode;currentCode++;}currentTemp++;}currentLength++;}}};function decodeTablesSegment(data,start,end){var flags=data[start];var lowestValue=(0,_core_utils.readUint32)(data,start+1)&0xffffffff;var highestValue=(0,_core_utils.readUint32)(data,start+5)&0xffffffff;var reader=new Reader(data,start+9,end);var prefixSizeBits=(flags>>1&7)+1;var rangeSizeBits=(flags>>4&7)+1;var lines=[];var prefixLength,rangeLength,currentRangeLow=lowestValue;do{prefixLength=reader.readBits(prefixSizeBits);rangeLength=reader.readBits(rangeSizeBits);lines.push(new HuffmanLine([currentRangeLow,prefixLength,rangeLength,0]));currentRangeLow+=1<<rangeLength;}while(currentRangeLow<highestValue);prefixLength=reader.readBits(prefixSizeBits);lines.push(new HuffmanLine([lowestValue-1,prefixLength,32,0,\"lower\"]));prefixLength=reader.readBits(prefixSizeBits);lines.push(new HuffmanLine([highestValue,prefixLength,32,0]));if(flags&1){prefixLength=reader.readBits(prefixSizeBits);lines.push(new HuffmanLine([prefixLength,0]));}return new HuffmanTable(lines,false);}var standardTablesCache={};function getStandardTable(number){var table=standardTablesCache[number];if(table){return table;}var lines;switch(number){case 1:lines=[[0,1,4,0x0],[16,2,8,0x2],[272,3,16,0x6],[65808,3,32,0x7]];break;case 2:lines=[[0,1,0,0x0],[1,2,0,0x2],[2,3,0,0x6],[3,4,3,0xe],[11,5,6,0x1e],[75,6,32,0x3e],[6,0x3f]];break;case 3:lines=[[-256,8,8,0xfe],[0,1,0,0x0],[1,2,0,0x2],[2,3,0,0x6],[3,4,3,0xe],[11,5,6,0x1e],[-257,8,32,0xff,\"lower\"],[75,7,32,0x7e],[6,0x3e]];break;case 4:lines=[[1,1,0,0x0],[2,2,0,0x2],[3,3,0,0x6],[4,4,3,0xe],[12,5,6,0x1e],[76,5,32,0x1f]];break;case 5:lines=[[-255,7,8,0x7e],[1,1,0,0x0],[2,2,0,0x2],[3,3,0,0x6],[4,4,3,0xe],[12,5,6,0x1e],[-256,7,32,0x7f,\"lower\"],[76,6,32,0x3e]];break;case 6:lines=[[-2048,5,10,0x1c],[-1024,4,9,0x8],[-512,4,8,0x9],[-256,4,7,0xa],[-128,5,6,0x1d],[-64,5,5,0x1e],[-32,4,5,0xb],[0,2,7,0x0],[128,3,7,0x2],[256,3,8,0x3],[512,4,9,0xc],[1024,4,10,0xd],[-2049,6,32,0x3e,\"lower\"],[2048,6,32,0x3f]];break;case 7:lines=[[-1024,4,9,0x8],[-512,3,8,0x0],[-256,4,7,0x9],[-128,5,6,0x1a],[-64,5,5,0x1b],[-32,4,5,0xa],[0,4,5,0xb],[32,5,5,0x1c],[64,5,6,0x1d],[128,4,7,0xc],[256,3,8,0x1],[512,3,9,0x2],[1024,3,10,0x3],[-1025,5,32,0x1e,\"lower\"],[2048,5,32,0x1f]];break;case 8:lines=[[-15,8,3,0xfc],[-7,9,1,0x1fc],[-5,8,1,0xfd],[-3,9,0,0x1fd],[-2,7,0,0x7c],[-1,4,0,0xa],[0,2,1,0x0],[2,5,0,0x1a],[3,6,0,0x3a],[4,3,4,0x4],[20,6,1,0x3b],[22,4,4,0xb],[38,4,5,0xc],[70,5,6,0x1b],[134,5,7,0x1c],[262,6,7,0x3c],[390,7,8,0x7d],[646,6,10,0x3d],[-16,9,32,0x1fe,\"lower\"],[1670,9,32,0x1ff],[2,0x1]];break;case 9:lines=[[-31,8,4,0xfc],[-15,9,2,0x1fc],[-11,8,2,0xfd],[-7,9,1,0x1fd],[-5,7,1,0x7c],[-3,4,1,0xa],[-1,3,1,0x2],[1,3,1,0x3],[3,5,1,0x1a],[5,6,1,0x3a],[7,3,5,0x4],[39,6,2,0x3b],[43,4,5,0xb],[75,4,6,0xc],[139,5,7,0x1b],[267,5,8,0x1c],[523,6,8,0x3c],[779,7,9,0x7d],[1291,6,11,0x3d],[-32,9,32,0x1fe,\"lower\"],[3339,9,32,0x1ff],[2,0x0]];break;case 10:lines=[[-21,7,4,0x7a],[-5,8,0,0xfc],[-4,7,0,0x7b],[-3,5,0,0x18],[-2,2,2,0x0],[2,5,0,0x19],[3,6,0,0x36],[4,7,0,0x7c],[5,8,0,0xfd],[6,2,6,0x1],[70,5,5,0x1a],[102,6,5,0x37],[134,6,6,0x38],[198,6,7,0x39],[326,6,8,0x3a],[582,6,9,0x3b],[1094,6,10,0x3c],[2118,7,11,0x7d],[-22,8,32,0xfe,\"lower\"],[4166,8,32,0xff],[2,0x2]];break;case 11:lines=[[1,1,0,0x0],[2,2,1,0x2],[4,4,0,0xc],[5,4,1,0xd],[7,5,1,0x1c],[9,5,2,0x1d],[13,6,2,0x3c],[17,7,2,0x7a],[21,7,3,0x7b],[29,7,4,0x7c],[45,7,5,0x7d],[77,7,6,0x7e],[141,7,32,0x7f]];break;case 12:lines=[[1,1,0,0x0],[2,2,0,0x2],[3,3,1,0x6],[5,5,0,0x1c],[6,5,1,0x1d],[8,6,1,0x3c],[10,7,0,0x7a],[11,7,1,0x7b],[13,7,2,0x7c],[17,7,3,0x7d],[25,7,4,0x7e],[41,8,5,0xfe],[73,8,32,0xff]];break;case 13:lines=[[1,1,0,0x0],[2,3,0,0x4],[3,4,0,0xc],[4,5,0,0x1c],[5,4,1,0xd],[7,3,3,0x5],[15,6,1,0x3a],[17,6,2,0x3b],[21,6,3,0x3c],[29,6,4,0x3d],[45,6,5,0x3e],[77,7,6,0x7e],[141,7,32,0x7f]];break;case 14:lines=[[-2,3,0,0x4],[-1,3,0,0x5],[0,1,0,0x0],[1,3,0,0x6],[2,3,0,0x7]];break;case 15:lines=[[-24,7,4,0x7c],[-8,6,2,0x3c],[-4,5,1,0x1c],[-2,4,0,0xc],[-1,3,0,0x4],[0,1,0,0x0],[1,3,0,0x5],[2,4,0,0xd],[3,5,1,0x1d],[5,6,2,0x3d],[9,7,4,0x7d],[-25,7,32,0x7e,\"lower\"],[25,7,32,0x7f]];break;default:throw new Jbig2Error(\"standard table B.\".concat(number,\" does not exist\"));}for(var i=0,ii=lines.length;i<ii;i++){lines[i]=new HuffmanLine(lines[i]);}table=new HuffmanTable(lines,true);standardTablesCache[number]=table;return table;}function Reader(data,start,end){this.data=data;this.start=start;this.end=end;this.position=start;this.shift=-1;this.currentByte=0;}Reader.prototype={readBit:function readBit(){if(this.shift<0){if(this.position>=this.end){throw new Jbig2Error(\"end of data while reading bit\");}this.currentByte=this.data[this.position++];this.shift=7;}var bit=this.currentByte>>this.shift&1;this.shift--;return bit;},readBits:function readBits(numBits){var result=0,i;for(i=numBits-1;i>=0;i--){result|=this.readBit()<<i;}return result;},byteAlign:function byteAlign(){this.shift=-1;},next:function next(){if(this.position>=this.end){return-1;}return this.data[this.position++];}};function getCustomHuffmanTable(index,referredTo,customTables){var currentIndex=0;for(var i=0,ii=referredTo.length;i<ii;i++){var table=customTables[referredTo[i]];if(table){if(index===currentIndex){return table;}currentIndex++;}}throw new Jbig2Error(\"can't find custom Huffman table\");}function getTextRegionHuffmanTables(textRegion,referredTo,customTables,numberOfSymbols,reader){var codes=[];for(var i=0;i<=34;i++){var codeLength=reader.readBits(4);codes.push(new HuffmanLine([i,codeLength,0,0]));}var runCodesTable=new HuffmanTable(codes,false);codes.length=0;for(var _i11=0;_i11<numberOfSymbols;){var _codeLength=runCodesTable.decode(reader);if(_codeLength>=32){var repeatedLength=void 0,numberOfRepeats=void 0,j=void 0;switch(_codeLength){case 32:if(_i11===0){throw new Jbig2Error(\"no previous value in symbol ID table\");}numberOfRepeats=reader.readBits(2)+3;repeatedLength=codes[_i11-1].prefixLength;break;case 33:numberOfRepeats=reader.readBits(3)+3;repeatedLength=0;break;case 34:numberOfRepeats=reader.readBits(7)+11;repeatedLength=0;break;default:throw new Jbig2Error(\"invalid code length in symbol ID table\");}for(j=0;j<numberOfRepeats;j++){codes.push(new HuffmanLine([_i11,repeatedLength,0,0]));_i11++;}}else{codes.push(new HuffmanLine([_i11,_codeLength,0,0]));_i11++;}}reader.byteAlign();var symbolIDTable=new HuffmanTable(codes,false);var customIndex=0,tableFirstS,tableDeltaS,tableDeltaT;switch(textRegion.huffmanFS){case 0:case 1:tableFirstS=getStandardTable(textRegion.huffmanFS+6);break;case 3:tableFirstS=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;break;default:throw new Jbig2Error(\"invalid Huffman FS selector\");}switch(textRegion.huffmanDS){case 0:case 1:case 2:tableDeltaS=getStandardTable(textRegion.huffmanDS+8);break;case 3:tableDeltaS=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;break;default:throw new Jbig2Error(\"invalid Huffman DS selector\");}switch(textRegion.huffmanDT){case 0:case 1:case 2:tableDeltaT=getStandardTable(textRegion.huffmanDT+11);break;case 3:tableDeltaT=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;break;default:throw new Jbig2Error(\"invalid Huffman DT selector\");}if(textRegion.refinement){throw new Jbig2Error(\"refinement with Huffman is not supported\");}return{symbolIDTable:symbolIDTable,tableFirstS:tableFirstS,tableDeltaS:tableDeltaS,tableDeltaT:tableDeltaT};}function getSymbolDictionaryHuffmanTables(dictionary,referredTo,customTables){var customIndex=0,tableDeltaHeight,tableDeltaWidth;switch(dictionary.huffmanDHSelector){case 0:case 1:tableDeltaHeight=getStandardTable(dictionary.huffmanDHSelector+4);break;case 3:tableDeltaHeight=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;break;default:throw new Jbig2Error(\"invalid Huffman DH selector\");}switch(dictionary.huffmanDWSelector){case 0:case 1:tableDeltaWidth=getStandardTable(dictionary.huffmanDWSelector+2);break;case 3:tableDeltaWidth=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;break;default:throw new Jbig2Error(\"invalid Huffman DW selector\");}var tableBitmapSize,tableAggregateInstances;if(dictionary.bitmapSizeSelector){tableBitmapSize=getCustomHuffmanTable(customIndex,referredTo,customTables);customIndex++;}else{tableBitmapSize=getStandardTable(1);}if(dictionary.aggregationInstancesSelector){tableAggregateInstances=getCustomHuffmanTable(customIndex,referredTo,customTables);}else{tableAggregateInstances=getStandardTable(1);}return{tableDeltaHeight:tableDeltaHeight,tableDeltaWidth:tableDeltaWidth,tableBitmapSize:tableBitmapSize,tableAggregateInstances:tableAggregateInstances};}function readUncompressedBitmap(reader,width,height){var bitmap=[];for(var y=0;y<height;y++){var row=new Uint8Array(width);bitmap.push(row);for(var x=0;x<width;x++){row[x]=reader.readBit();}reader.byteAlign();}return bitmap;}function decodeMMRBitmap(input,width,height,endOfBlock){var params={K:-1,Columns:width,Rows:height,BlackIs1:true,EndOfBlock:endOfBlock};var decoder=new _ccitt.CCITTFaxDecoder(input,params);var bitmap=[];var currentByte,eof=false;for(var y=0;y<height;y++){var row=new Uint8Array(width);bitmap.push(row);var shift=-1;for(var x=0;x<width;x++){if(shift<0){currentByte=decoder.readNextChar();if(currentByte===-1){currentByte=0;eof=true;}shift=7;}row[x]=currentByte>>shift&1;shift--;}}if(endOfBlock&&!eof){var lookForEOFLimit=5;for(var i=0;i<lookForEOFLimit;i++){if(decoder.readNextChar()===-1){break;}}}return bitmap;}function Jbig2Image(){}Jbig2Image.prototype={parseChunks:function parseChunks(chunks){return parseJbig2Chunks(chunks);},parse:function parse(data){var _parseJbig=parseJbig2(data),imgData=_parseJbig.imgData,width=_parseJbig.width,height=_parseJbig.height;this.width=width;this.height=height;return imgData;}};return Jbig2Image;}();exports.Jbig2Image=Jbig2Image;/***/},/* 16 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.ArithmeticDecoder=void 0;var QeTable=[{qe:0x5601,nmps:1,nlps:1,switchFlag:1},{qe:0x3401,nmps:2,nlps:6,switchFlag:0},{qe:0x1801,nmps:3,nlps:9,switchFlag:0},{qe:0x0ac1,nmps:4,nlps:12,switchFlag:0},{qe:0x0521,nmps:5,nlps:29,switchFlag:0},{qe:0x0221,nmps:38,nlps:33,switchFlag:0},{qe:0x5601,nmps:7,nlps:6,switchFlag:1},{qe:0x5401,nmps:8,nlps:14,switchFlag:0},{qe:0x4801,nmps:9,nlps:14,switchFlag:0},{qe:0x3801,nmps:10,nlps:14,switchFlag:0},{qe:0x3001,nmps:11,nlps:17,switchFlag:0},{qe:0x2401,nmps:12,nlps:18,switchFlag:0},{qe:0x1c01,nmps:13,nlps:20,switchFlag:0},{qe:0x1601,nmps:29,nlps:21,switchFlag:0},{qe:0x5601,nmps:15,nlps:14,switchFlag:1},{qe:0x5401,nmps:16,nlps:14,switchFlag:0},{qe:0x5101,nmps:17,nlps:15,switchFlag:0},{qe:0x4801,nmps:18,nlps:16,switchFlag:0},{qe:0x3801,nmps:19,nlps:17,switchFlag:0},{qe:0x3401,nmps:20,nlps:18,switchFlag:0},{qe:0x3001,nmps:21,nlps:19,switchFlag:0},{qe:0x2801,nmps:22,nlps:19,switchFlag:0},{qe:0x2401,nmps:23,nlps:20,switchFlag:0},{qe:0x2201,nmps:24,nlps:21,switchFlag:0},{qe:0x1c01,nmps:25,nlps:22,switchFlag:0},{qe:0x1801,nmps:26,nlps:23,switchFlag:0},{qe:0x1601,nmps:27,nlps:24,switchFlag:0},{qe:0x1401,nmps:28,nlps:25,switchFlag:0},{qe:0x1201,nmps:29,nlps:26,switchFlag:0},{qe:0x1101,nmps:30,nlps:27,switchFlag:0},{qe:0x0ac1,nmps:31,nlps:28,switchFlag:0},{qe:0x09c1,nmps:32,nlps:29,switchFlag:0},{qe:0x08a1,nmps:33,nlps:30,switchFlag:0},{qe:0x0521,nmps:34,nlps:31,switchFlag:0},{qe:0x0441,nmps:35,nlps:32,switchFlag:0},{qe:0x02a1,nmps:36,nlps:33,switchFlag:0},{qe:0x0221,nmps:37,nlps:34,switchFlag:0},{qe:0x0141,nmps:38,nlps:35,switchFlag:0},{qe:0x0111,nmps:39,nlps:36,switchFlag:0},{qe:0x0085,nmps:40,nlps:37,switchFlag:0},{qe:0x0049,nmps:41,nlps:38,switchFlag:0},{qe:0x0025,nmps:42,nlps:39,switchFlag:0},{qe:0x0015,nmps:43,nlps:40,switchFlag:0},{qe:0x0009,nmps:44,nlps:41,switchFlag:0},{qe:0x0005,nmps:45,nlps:42,switchFlag:0},{qe:0x0001,nmps:45,nlps:43,switchFlag:0},{qe:0x5601,nmps:46,nlps:46,switchFlag:0}];var ArithmeticDecoder=/*#__PURE__*/function(){function ArithmeticDecoder(data,start,end){_classCallCheck(this,ArithmeticDecoder);this.data=data;this.bp=start;this.dataEnd=end;this.chigh=data[start];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&0xffff|this.clow>>9&0x7f;this.clow=this.clow<<7&0xffff;this.ct-=7;this.a=0x8000;}_createClass(ArithmeticDecoder,[{key:\"byteIn\",value:function byteIn(){var data=this.data;var bp=this.bp;if(data[bp]===0xff){if(data[bp+1]>0x8f){this.clow+=0xff00;this.ct=8;}else{bp++;this.clow+=data[bp]<<9;this.ct=7;this.bp=bp;}}else{bp++;this.clow+=bp<this.dataEnd?data[bp]<<8:0xff00;this.ct=8;this.bp=bp;}if(this.clow>0xffff){this.chigh+=this.clow>>16;this.clow&=0xffff;}}},{key:\"readBit\",value:function readBit(contexts,pos){var cx_index=contexts[pos]>>1,cx_mps=contexts[pos]&1;var qeTableIcx=QeTable[cx_index];var qeIcx=qeTableIcx.qe;var d;var a=this.a-qeIcx;if(this.chigh<qeIcx){if(a<qeIcx){a=qeIcx;d=cx_mps;cx_index=qeTableIcx.nmps;}else{a=qeIcx;d=1^cx_mps;if(qeTableIcx.switchFlag===1){cx_mps=d;}cx_index=qeTableIcx.nlps;}}else{this.chigh-=qeIcx;if((a&0x8000)!==0){this.a=a;return cx_mps;}if(a<qeIcx){d=1^cx_mps;if(qeTableIcx.switchFlag===1){cx_mps=d;}cx_index=qeTableIcx.nlps;}else{d=cx_mps;cx_index=qeTableIcx.nmps;}}do{if(this.ct===0){this.byteIn();}a<<=1;this.chigh=this.chigh<<1&0xffff|this.clow>>15&1;this.clow=this.clow<<1&0xffff;this.ct--;}while((a&0x8000)===0);this.a=a;contexts[pos]=cx_index<<1|cx_mps;return d;}}]);return ArithmeticDecoder;}();exports.ArithmeticDecoder=ArithmeticDecoder;/***/},/* 17 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.JpegStream=void 0;var _util=__w_pdfjs_require__(2);var _stream=__w_pdfjs_require__(11);var _primitives=__w_pdfjs_require__(4);var _jpg=__w_pdfjs_require__(18);var JpegStream=function JpegStreamClosure(){function JpegStream(stream,maybeLength,dict,params){var ch;while((ch=stream.getByte())!==-1){if(ch===0xff){stream.skip(-1);break;}}this.stream=stream;this.maybeLength=maybeLength;this.dict=dict;this.params=params;_stream.DecodeStream.call(this,maybeLength);}JpegStream.prototype=Object.create(_stream.DecodeStream.prototype);Object.defineProperty(JpegStream.prototype,\"bytes\",{get:function JpegStream_bytes(){return(0,_util.shadow)(this,\"bytes\",this.stream.getBytes(this.maybeLength));},configurable:true});JpegStream.prototype.ensureBuffer=function(requested){};JpegStream.prototype.readBlock=function(){if(this.eof){return;}var jpegOptions={decodeTransform:undefined,colorTransform:undefined};var decodeArr=this.dict.getArray(\"Decode\",\"D\");if(this.forceRGB&&Array.isArray(decodeArr)){var bitsPerComponent=this.dict.get(\"BitsPerComponent\")||8;var decodeArrLength=decodeArr.length;var transform=new Int32Array(decodeArrLength);var transformNeeded=false;var maxValue=(1<<bitsPerComponent)-1;for(var i=0;i<decodeArrLength;i+=2){transform[i]=(decodeArr[i+1]-decodeArr[i])*256|0;transform[i+1]=decodeArr[i]*maxValue|0;if(transform[i]!==256||transform[i+1]!==0){transformNeeded=true;}}if(transformNeeded){jpegOptions.decodeTransform=transform;}}if((0,_primitives.isDict)(this.params)){var colorTransform=this.params.get(\"ColorTransform\");if(Number.isInteger(colorTransform)){jpegOptions.colorTransform=colorTransform;}}var jpegImage=new _jpg.JpegImage(jpegOptions);jpegImage.parse(this.bytes);var data=jpegImage.getData({width:this.drawWidth,height:this.drawHeight,forceRGB:this.forceRGB,isSourcePDF:true});this.buffer=data;this.bufferLength=data.length;this.eof=true;};Object.defineProperty(JpegStream.prototype,\"maybeValidDimensions\",{get:function JpegStream_maybeValidDimensions(){var dict=this.dict,stream=this.stream;var dictHeight=dict.get(\"Height\",\"H\");var startPos=stream.pos;var validDimensions=true,foundSOF=false,b;while((b=stream.getByte())!==-1){if(b!==0xff){continue;}switch(stream.getByte()){case 0xc0:case 0xc1:case 0xc2:foundSOF=true;stream.pos+=2;stream.pos+=1;var scanLines=stream.getUint16();if(scanLines===dictHeight){break;}if(scanLines===0){validDimensions=false;break;}if(scanLines>dictHeight*10){validDimensions=false;break;}break;case 0xc3:case 0xc5:case 0xc6:case 0xc7:case 0xc9:case 0xca:case 0xcb:case 0xcd:case 0xce:case 0xcf:foundSOF=true;break;case 0xc4:case 0xcc:case 0xda:case 0xdb:case 0xdc:case 0xdd:case 0xde:case 0xdf:case 0xe0:case 0xe1:case 0xe2:case 0xe3:case 0xe4:case 0xe5:case 0xe6:case 0xe7:case 0xe8:case 0xe9:case 0xea:case 0xeb:case 0xec:case 0xed:case 0xee:case 0xef:case 0xfe:var markerLength=stream.getUint16();if(markerLength>2){stream.skip(markerLength-2);}else{stream.skip(-2);}break;case 0xff:stream.skip(-1);break;case 0xd9:foundSOF=true;break;}if(foundSOF){break;}}stream.pos=startPos;return(0,_util.shadow)(this,\"maybeValidDimensions\",validDimensions);},configurable:true});JpegStream.prototype.getIR=function(){var forceDataSchema=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return(0,_util.createObjectURL)(this.bytes,\"image/jpeg\",forceDataSchema);};return JpegStream;}();exports.JpegStream=JpegStream;/***/},/* 18 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.JpegImage=void 0;var _util=__w_pdfjs_require__(2);var _core_utils=__w_pdfjs_require__(7);var JpegError=/*#__PURE__*/function(_util$BaseException5){_inherits(JpegError,_util$BaseException5);var _super16=_createSuper(JpegError);function JpegError(msg){_classCallCheck(this,JpegError);return _super16.call(this,\"JPEG error: \".concat(msg));}return JpegError;}(_util.BaseException);var DNLMarkerError=/*#__PURE__*/function(_util$BaseException6){_inherits(DNLMarkerError,_util$BaseException6);var _super17=_createSuper(DNLMarkerError);function DNLMarkerError(message,scanLines){var _this21;_classCallCheck(this,DNLMarkerError);_this21=_super17.call(this,message);_this21.scanLines=scanLines;return _this21;}return DNLMarkerError;}(_util.BaseException);var EOIMarkerError=/*#__PURE__*/function(_util$BaseException7){_inherits(EOIMarkerError,_util$BaseException7);var _super18=_createSuper(EOIMarkerError);function EOIMarkerError(){_classCallCheck(this,EOIMarkerError);return _super18.apply(this,arguments);}return EOIMarkerError;}(_util.BaseException);var JpegImage=function JpegImageClosure(){var dctZigZag=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function JpegImage(){var _ref18=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref18$decodeTransfor=_ref18.decodeTransform,decodeTransform=_ref18$decodeTransfor===void 0?null:_ref18$decodeTransfor,_ref18$colorTransform=_ref18.colorTransform,colorTransform=_ref18$colorTransform===void 0?-1:_ref18$colorTransform;this._decodeTransform=decodeTransform;this._colorTransform=colorTransform;}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1]){length--;}code.push({children:[],index:0});var p=code[0],q;for(i=0;i<length;i++){for(j=0;j<codeLengths[i];j++){p=code.pop();p.children[p.index]=values[k];while(p.index>0){p=code.pop();}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q;}k++;}if(i+1<length){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q;}}return code[0].children;}function getBlockBufferOffset(component,row,col){return 64*((component.blocksPerLine+1)*row+col);}function decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successivePrev,successive){var parseDNLMarker=arguments.length>9&&arguments[9]!==undefined?arguments[9]:false;var mcusPerLine=frame.mcusPerLine;var progressive=frame.progressive;var startOffset=offset,bitsData=0,bitsCount=0;function readBit(){if(bitsCount>0){bitsCount--;return bitsData>>bitsCount&1;}bitsData=data[offset++];if(bitsData===0xff){var nextByte=data[offset++];if(nextByte){if(nextByte===0xdc&&parseDNLMarker){offset+=2;var scanLines=(0,_core_utils.readUint16)(data,offset);offset+=2;if(scanLines>0&&scanLines!==frame.scanLines){throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\",scanLines);}}else if(nextByte===0xd9){if(parseDNLMarker){var maybeScanLines=blockRow*8;if(maybeScanLines>0&&maybeScanLines<frame.scanLines/10){throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \"+\"possibly caused by incorrect `scanLines` parameter\",maybeScanLines);}}throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");}throw new JpegError(\"unexpected marker \".concat((bitsData<<8|nextByte).toString(16)));}}bitsCount=7;return bitsData>>>7;}function decodeHuffman(tree){var node=tree;while(true){node=node[readBit()];switch(_typeof(node)){case\"number\":return node;case\"object\":continue;}throw new JpegError(\"invalid huffman sequence\");}}function receive(length){var n=0;while(length>0){n=n<<1|readBit();length--;}return n;}function receiveAndExtend(length){if(length===1){return readBit()===1?1:-1;}var n=receive(length);if(n>=1<<length-1){return n;}return n+(-1<<length)+1;}function decodeBaseline(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t);component.blockData[offset]=component.pred+=diff;var k=1;while(k<64){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){break;}k+=16;continue;}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++;}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<<successive;component.blockData[offset]=component.pred+=diff;}function decodeDCSuccessive(component,offset){component.blockData[offset]|=readBit()<<successive;}var eobrun=0;function decodeACFirst(component,offset){if(eobrun>0){eobrun--;return;}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<<r)-1;break;}k+=16;continue;}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s)*(1<<successive);k++;}}var successiveACState=0,successiveACNextValue;function decodeACSuccessive(component,offset){var k=spectralStart;var e=spectralEnd;var r=0;var s;var rs;while(k<=e){var offsetZ=offset+dctZigZag[k];var sign=component.blockData[offsetZ]<0?-1:1;switch(successiveACState){case 0:rs=decodeHuffman(component.huffmanTableAC);s=rs&15;r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<<r);successiveACState=4;}else{r=16;successiveACState=1;}}else{if(s!==1){throw new JpegError(\"invalid ACn encoding\");}successiveACNextValue=receiveAndExtend(s);successiveACState=r?2:3;}continue;case 1:case 2:if(component.blockData[offsetZ]){component.blockData[offsetZ]+=sign*(readBit()<<successive);}else{r--;if(r===0){successiveACState=successiveACState===2?3:0;}}break;case 3:if(component.blockData[offsetZ]){component.blockData[offsetZ]+=sign*(readBit()<<successive);}else{component.blockData[offsetZ]=successiveACNextValue<<successive;successiveACState=0;}break;case 4:if(component.blockData[offsetZ]){component.blockData[offsetZ]+=sign*(readBit()<<successive);}break;}k++;}if(successiveACState===4){eobrun--;if(eobrun===0){successiveACState=0;}}}var blockRow=0;function decodeMcu(component,decode,mcu,row,col){var mcuRow=mcu/mcusPerLine|0;var mcuCol=mcu%mcusPerLine;blockRow=mcuRow*component.v+row;var blockCol=mcuCol*component.h+col;var offset=getBlockBufferOffset(component,blockRow,blockCol);decode(component,offset);}function decodeBlock(component,decode,mcu){blockRow=mcu/component.blocksPerLine|0;var blockCol=mcu%component.blocksPerLine;var offset=getBlockBufferOffset(component,blockRow,blockCol);decode(component,offset);}var componentsLength=components.length;var component,i,j,k,n;var decodeFn;if(progressive){if(spectralStart===0){decodeFn=successivePrev===0?decodeDCFirst:decodeDCSuccessive;}else{decodeFn=successivePrev===0?decodeACFirst:decodeACSuccessive;}}else{decodeFn=decodeBaseline;}var mcu=0,fileMarker;var mcuExpected;if(componentsLength===1){mcuExpected=components[0].blocksPerLine*components[0].blocksPerColumn;}else{mcuExpected=mcusPerLine*frame.mcusPerColumn;}var h,v;while(mcu<mcuExpected){var mcuToRead=resetInterval?Math.min(mcuExpected-mcu,resetInterval):mcuExpected;for(i=0;i<componentsLength;i++){components[i].pred=0;}eobrun=0;if(componentsLength===1){component=components[0];for(n=0;n<mcuToRead;n++){decodeBlock(component,decodeFn,mcu);mcu++;}}else{for(n=0;n<mcuToRead;n++){for(i=0;i<componentsLength;i++){component=components[i];h=component.h;v=component.v;for(j=0;j<v;j++){for(k=0;k<h;k++){decodeMcu(component,decodeFn,mcu,j,k);}}}mcu++;}}bitsCount=0;fileMarker=findNextFileMarker(data,offset);if(!fileMarker){break;}else if(fileMarker.invalid){(0,_util.warn)(\"decodeScan - unexpected MCU data, current marker is: \"+fileMarker.invalid);offset=fileMarker.offset;}var marker=fileMarker&&fileMarker.marker;if(!marker||marker<=0xff00){throw new JpegError(\"decodeScan - a valid marker was not found.\");}if(marker>=0xffd0&&marker<=0xffd7){offset+=2;}else{break;}}fileMarker=findNextFileMarker(data,offset);if(fileMarker&&fileMarker.invalid){(0,_util.warn)(\"decodeScan - unexpected Scan data, current marker is: \"+fileMarker.invalid);offset=fileMarker.offset;}return offset-startOffset;}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable,blockData=component.blockData;var v0,v1,v2,v3,v4,v5,v6,v7;var p0,p1,p2,p3,p4,p5,p6,p7;var t;if(!qt){throw new JpegError(\"missing required Quantization Table.\");}for(var row=0;row<64;row+=8){p0=blockData[blockBufferOffset+row];p1=blockData[blockBufferOffset+row+1];p2=blockData[blockBufferOffset+row+2];p3=blockData[blockBufferOffset+row+3];p4=blockData[blockBufferOffset+row+4];p5=blockData[blockBufferOffset+row+5];p6=blockData[blockBufferOffset+row+6];p7=blockData[blockBufferOffset+row+7];p0*=qt[row];if((p1|p2|p3|p4|p5|p6|p7)===0){t=dctSqrt2*p0+512>>10;p[row]=t;p[row+1]=t;p[row+2]=t;p[row+3]=t;p[row+4]=t;p[row+5]=t;p[row+6]=t;p[row+7]=t;continue;}p1*=qt[row+1];p2*=qt[row+2];p3*=qt[row+3];p4*=qt[row+4];p5*=qt[row+5];p6*=qt[row+6];p7*=qt[row+7];v0=dctSqrt2*p0+128>>8;v1=dctSqrt2*p4+128>>8;v2=p2;v3=p6;v4=dctSqrt1d2*(p1-p7)+128>>8;v7=dctSqrt1d2*(p1+p7)+128>>8;v5=p3<<4;v6=p5<<4;v0=v0+v1+1>>1;v1=v0-v1;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;v4=v4+v6+1>>1;v6=v4-v6;v7=v7+v5+1>>1;v5=v7-v5;v0=v0+v3+1>>1;v3=v0-v3;v1=v1+v2+1>>1;v2=v1-v2;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[row]=v0+v7;p[row+7]=v0-v7;p[row+1]=v1+v6;p[row+6]=v1-v6;p[row+2]=v2+v5;p[row+5]=v2-v5;p[row+3]=v3+v4;p[row+4]=v3-v4;}for(var col=0;col<8;++col){p0=p[col];p1=p[col+8];p2=p[col+16];p3=p[col+24];p4=p[col+32];p5=p[col+40];p6=p[col+48];p7=p[col+56];if((p1|p2|p3|p4|p5|p6|p7)===0){t=dctSqrt2*p0+8192>>14;if(t<-2040){t=0;}else if(t>=2024){t=255;}else{t=t+2056>>4;}blockData[blockBufferOffset+col]=t;blockData[blockBufferOffset+col+8]=t;blockData[blockBufferOffset+col+16]=t;blockData[blockBufferOffset+col+24]=t;blockData[blockBufferOffset+col+32]=t;blockData[blockBufferOffset+col+40]=t;blockData[blockBufferOffset+col+48]=t;blockData[blockBufferOffset+col+56]=t;continue;}v0=dctSqrt2*p0+2048>>12;v1=dctSqrt2*p4+2048>>12;v2=p2;v3=p6;v4=dctSqrt1d2*(p1-p7)+2048>>12;v7=dctSqrt1d2*(p1+p7)+2048>>12;v5=p3;v6=p5;v0=(v0+v1+1>>1)+4112;v1=v0-v1;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;v4=v4+v6+1>>1;v6=v4-v6;v7=v7+v5+1>>1;v5=v7-v5;v0=v0+v3+1>>1;v3=v0-v3;v1=v1+v2+1>>1;v2=v1-v2;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p0=v0+v7;p7=v0-v7;p1=v1+v6;p6=v1-v6;p2=v2+v5;p5=v2-v5;p3=v3+v4;p4=v3-v4;if(p0<16){p0=0;}else if(p0>=4080){p0=255;}else{p0>>=4;}if(p1<16){p1=0;}else if(p1>=4080){p1=255;}else{p1>>=4;}if(p2<16){p2=0;}else if(p2>=4080){p2=255;}else{p2>>=4;}if(p3<16){p3=0;}else if(p3>=4080){p3=255;}else{p3>>=4;}if(p4<16){p4=0;}else if(p4>=4080){p4=255;}else{p4>>=4;}if(p5<16){p5=0;}else if(p5>=4080){p5=255;}else{p5>>=4;}if(p6<16){p6=0;}else if(p6>=4080){p6=255;}else{p6>>=4;}if(p7<16){p7=0;}else if(p7>=4080){p7=255;}else{p7>>=4;}blockData[blockBufferOffset+col]=p0;blockData[blockBufferOffset+col+8]=p1;blockData[blockBufferOffset+col+16]=p2;blockData[blockBufferOffset+col+24]=p3;blockData[blockBufferOffset+col+32]=p4;blockData[blockBufferOffset+col+40]=p5;blockData[blockBufferOffset+col+48]=p6;blockData[blockBufferOffset+col+56]=p7;}}function buildComponentData(frame,component){var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var computationBuffer=new Int16Array(64);for(var blockRow=0;blockRow<blocksPerColumn;blockRow++){for(var blockCol=0;blockCol<blocksPerLine;blockCol++){var offset=getBlockBufferOffset(component,blockRow,blockCol);quantizeAndInverse(component,offset,computationBuffer);}}return component.blockData;}function findNextFileMarker(data,currentPos){var startPos=arguments.length>2&&arguments[2]!==undefined?arguments[2]:currentPos;var maxPos=data.length-1;var newPos=startPos<currentPos?startPos:currentPos;if(currentPos>=maxPos){return null;}var currentMarker=(0,_core_utils.readUint16)(data,currentPos);if(currentMarker>=0xffc0&&currentMarker<=0xfffe){return{invalid:null,marker:currentMarker,offset:currentPos};}var newMarker=(0,_core_utils.readUint16)(data,newPos);while(!(newMarker>=0xffc0&&newMarker<=0xfffe)){if(++newPos>=maxPos){return null;}newMarker=(0,_core_utils.readUint16)(data,newPos);}return{invalid:currentMarker.toString(16),marker:newMarker,offset:newPos};}JpegImage.prototype={parse:function parse(data){var _ref19=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref19$dnlScanLines=_ref19.dnlScanLines,dnlScanLines=_ref19$dnlScanLines===void 0?null:_ref19$dnlScanLines;function readDataBlock(){var length=(0,_core_utils.readUint16)(data,offset);offset+=2;var endOffset=offset+length-2;var fileMarker=findNextFileMarker(data,endOffset,offset);if(fileMarker&&fileMarker.invalid){(0,_util.warn)(\"readDataBlock - incorrect length, current marker is: \"+fileMarker.invalid);endOffset=fileMarker.offset;}var array=data.subarray(offset,endOffset);offset+=array.length;return array;}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i<frame.components.length;i++){component=frame.components[i];var blocksPerLine=Math.ceil(Math.ceil(frame.samplesPerLine/8)*component.h/frame.maxH);var blocksPerColumn=Math.ceil(Math.ceil(frame.scanLines/8)*component.v/frame.maxV);var blocksPerLineForMcu=mcusPerLine*component.h;var blocksPerColumnForMcu=mcusPerColumn*component.v;var blocksBufferSize=64*blocksPerColumnForMcu*(blocksPerLineForMcu+1);component.blockData=new Int16Array(blocksBufferSize);component.blocksPerLine=blocksPerLine;component.blocksPerColumn=blocksPerColumn;}frame.mcusPerLine=mcusPerLine;frame.mcusPerColumn=mcusPerColumn;}var offset=0;var jfif=null;var adobe=null;var frame,resetInterval;var numSOSMarkers=0;var quantizationTables=[];var huffmanTablesAC=[],huffmanTablesDC=[];var fileMarker=(0,_core_utils.readUint16)(data,offset);offset+=2;if(fileMarker!==0xffd8){throw new JpegError(\"SOI not found\");}fileMarker=(0,_core_utils.readUint16)(data,offset);offset+=2;markerLoop:while(fileMarker!==0xffd9){var i,j,l;switch(fileMarker){case 0xffe0:case 0xffe1:case 0xffe2:case 0xffe3:case 0xffe4:case 0xffe5:case 0xffe6:case 0xffe7:case 0xffe8:case 0xffe9:case 0xffea:case 0xffeb:case 0xffec:case 0xffed:case 0xffee:case 0xffef:case 0xfffe:var appData=readDataBlock();if(fileMarker===0xffe0){if(appData[0]===0x4a&&appData[1]===0x46&&appData[2]===0x49&&appData[3]===0x46&&appData[4]===0){jfif={version:{major:appData[5],minor:appData[6]},densityUnits:appData[7],xDensity:appData[8]<<8|appData[9],yDensity:appData[10]<<8|appData[11],thumbWidth:appData[12],thumbHeight:appData[13],thumbData:appData.subarray(14,14+3*appData[12]*appData[13])};}}if(fileMarker===0xffee){if(appData[0]===0x41&&appData[1]===0x64&&appData[2]===0x6f&&appData[3]===0x62&&appData[4]===0x65){adobe={version:appData[5]<<8|appData[6],flags0:appData[7]<<8|appData[8],flags1:appData[9]<<8|appData[10],transformCode:appData[11]};}}break;case 0xffdb:var quantizationTablesLength=(0,_core_utils.readUint16)(data,offset);offset+=2;var quantizationTablesEnd=quantizationTablesLength+offset-2;var z;while(offset<quantizationTablesEnd){var quantizationTableSpec=data[offset++];var tableData=new Uint16Array(64);if(quantizationTableSpec>>4===0){for(j=0;j<64;j++){z=dctZigZag[j];tableData[z]=data[offset++];}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){z=dctZigZag[j];tableData[z]=(0,_core_utils.readUint16)(data,offset);offset+=2;}}else{throw new JpegError(\"DQT - invalid table spec\");}quantizationTables[quantizationTableSpec&15]=tableData;}break;case 0xffc0:case 0xffc1:case 0xffc2:if(frame){throw new JpegError(\"Only single frame JPEGs supported\");}offset+=2;frame={};frame.extended=fileMarker===0xffc1;frame.progressive=fileMarker===0xffc2;frame.precision=data[offset++];var sofScanLines=(0,_core_utils.readUint16)(data,offset);offset+=2;frame.scanLines=dnlScanLines||sofScanLines;frame.samplesPerLine=(0,_core_utils.readUint16)(data,offset);offset+=2;frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i<componentsCount;i++){componentId=data[offset];var h=data[offset+1]>>4;var v=data[offset+1]&15;if(maxH<h){maxH=h;}if(maxV<v){maxV=v;}var qId=data[offset+2];l=frame.components.push({h:h,v:v,quantizationId:qId,quantizationTable:null});frame.componentIds[componentId]=l-1;offset+=3;}frame.maxH=maxH;frame.maxV=maxV;prepareComponents(frame);break;case 0xffc4:var huffmanLength=(0,_core_utils.readUint16)(data,offset);offset+=2;for(i=2;i<huffmanLength;){var huffmanTableSpec=data[offset++];var codeLengths=new Uint8Array(16);var codeLengthSum=0;for(j=0;j<16;j++,offset++){codeLengthSum+=codeLengths[j]=data[offset];}var huffmanValues=new Uint8Array(codeLengthSum);for(j=0;j<codeLengthSum;j++,offset++){huffmanValues[j]=data[offset];}i+=17+codeLengthSum;(huffmanTableSpec>>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues);}break;case 0xffdd:offset+=2;resetInterval=(0,_core_utils.readUint16)(data,offset);offset+=2;break;case 0xffda:var parseDNLMarker=++numSOSMarkers===1&&!dnlScanLines;offset+=2;var selectorsCount=data[offset++];var components=[],component;for(i=0;i<selectorsCount;i++){var componentIndex=frame.componentIds[data[offset++]];component=frame.components[componentIndex];var tableSpec=data[offset++];component.huffmanTableDC=huffmanTablesDC[tableSpec>>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component);}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];try{var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15,parseDNLMarker);offset+=processed;}catch(ex){if(ex instanceof DNLMarkerError){(0,_util.warn)(\"\".concat(ex.message,\" -- attempting to re-parse the JPEG image.\"));return this.parse(data,{dnlScanLines:ex.scanLines});}else if(ex instanceof EOIMarkerError){(0,_util.warn)(\"\".concat(ex.message,\" -- ignoring the rest of the image data.\"));break markerLoop;}throw ex;}break;case 0xffdc:offset+=4;break;case 0xffff:if(data[offset]!==0xff){offset--;}break;default:var nextFileMarker=findNextFileMarker(data,offset-2,offset-3);if(nextFileMarker&&nextFileMarker.invalid){(0,_util.warn)(\"JpegImage.parse - unexpected data, current marker is: \"+nextFileMarker.invalid);offset=nextFileMarker.offset;break;}if(offset>=data.length-1){(0,_util.warn)(\"JpegImage.parse - reached the end of the image data \"+\"without finding an EOI marker (0xFFD9).\");break markerLoop;}throw new JpegError(\"JpegImage.parse - unknown marker: \"+fileMarker.toString(16));}fileMarker=(0,_core_utils.readUint16)(data,offset);offset+=2;}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];for(i=0;i<frame.components.length;i++){component=frame.components[i];var quantizationTable=quantizationTables[component.quantizationId];if(quantizationTable){component.quantizationTable=quantizationTable;}this.components.push({output:buildComponentData(frame,component),scaleX:component.h/frame.maxH,scaleY:component.v/frame.maxV,blocksPerLine:component.blocksPerLine,blocksPerColumn:component.blocksPerColumn});}this.numComponents=this.components.length;return undefined;},_getLinearizedBlockData:function _getLinearizedBlockData(width,height){var isSourcePDF=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var scaleX=this.width/width,scaleY=this.height/height;var component,componentScaleX,componentScaleY,blocksPerScanline;var x,y,i,j,k;var index;var offset=0;var output;var numComponents=this.components.length;var dataLength=width*height*numComponents;var data=new Uint8ClampedArray(dataLength);var xScaleBlockOffset=new Uint32Array(width);var mask3LSB=0xfffffff8;var lastComponentScaleX;for(i=0;i<numComponents;i++){component=this.components[i];componentScaleX=component.scaleX*scaleX;componentScaleY=component.scaleY*scaleY;offset=i;output=component.output;blocksPerScanline=component.blocksPerLine+1<<3;if(componentScaleX!==lastComponentScaleX){for(x=0;x<width;x++){j=0|x*componentScaleX;xScaleBlockOffset[x]=(j&mask3LSB)<<3|j&7;}lastComponentScaleX=componentScaleX;}for(y=0;y<height;y++){j=0|y*componentScaleY;index=blocksPerScanline*(j&mask3LSB)|(j&7)<<3;for(x=0;x<width;x++){data[offset]=output[index+xScaleBlockOffset[x]];offset+=numComponents;}}}var transform=this._decodeTransform;if(!isSourcePDF&&numComponents===4&&!transform){transform=new Int32Array([-256,255,-256,255,-256,255,-256,255]);}if(transform){for(i=0;i<dataLength;){for(j=0,k=0;j<numComponents;j++,i++,k+=2){data[i]=(data[i]*transform[k]>>8)+transform[k+1];}}}return data;},get _isColorConversionNeeded(){if(this.adobe){return!!this.adobe.transformCode;}if(this.numComponents===3){if(this._colorTransform===0){return false;}return true;}if(this._colorTransform===1){return true;}return false;},_convertYccToRgb:function convertYccToRgb(data){var Y,Cb,Cr;for(var i=0,length=data.length;i<length;i+=3){Y=data[i];Cb=data[i+1];Cr=data[i+2];data[i]=Y-179.456+1.402*Cr;data[i+1]=Y+135.459-0.344*Cb-0.714*Cr;data[i+2]=Y-226.816+1.772*Cb;}return data;},_convertYcckToRgb:function convertYcckToRgb(data){var Y,Cb,Cr,k;var offset=0;for(var i=0,length=data.length;i<length;i+=4){Y=data[i];Cb=data[i+1];Cr=data[i+2];k=data[i+3];data[offset++]=-122.67195406894+Cb*(-6.60635669420364e-5*Cb+0.000437130475926232*Cr-5.4080610064599e-5*Y+0.00048449797120281*k-0.154362151871126)+Cr*(-0.000957964378445773*Cr+0.000817076911346625*Y-0.00477271405408747*k+1.53380253221734)+Y*(0.000961250184130688*Y-0.00266257332283933*k+0.48357088451265)+k*(-0.000336197177618394*k+0.484791561490776);data[offset++]=107.268039397724+Cb*(2.19927104525741e-5*Cb-0.000640992018297945*Cr+0.000659397001245577*Y+0.000426105652938837*k-0.176491792462875)+Cr*(-0.000778269941513683*Cr+0.00130872261408275*Y+0.000770482631801132*k-0.151051492775562)+Y*(0.00126935368114843*Y-0.00265090189010898*k+0.25802910206845)+k*(-0.000318913117588328*k-0.213742400323665);data[offset++]=-20.810012546947+Cb*(-0.000570115196973677*Cb-2.63409051004589e-5*Cr+0.0020741088115012*Y-0.00288260236853442*k+0.814272968359295)+Cr*(-1.53496057440975e-5*Cr-0.000132689043961446*Y+0.000560833691242812*k-0.195152027534049)+Y*(0.00174418132927582*Y-0.00255243321439347*k+0.116935020465145)+k*(-0.000343531996510555*k+0.24165260232407);}return data.subarray(0,offset);},_convertYcckToCmyk:function convertYcckToCmyk(data){var Y,Cb,Cr;for(var i=0,length=data.length;i<length;i+=4){Y=data[i];Cb=data[i+1];Cr=data[i+2];data[i]=434.456-Y-1.402*Cr;data[i+1]=119.541-Y+0.344*Cb+0.714*Cr;data[i+2]=481.816-Y-1.772*Cb;}return data;},_convertCmykToRgb:function convertCmykToRgb(data){var c,m,y,k;var offset=0;for(var i=0,length=data.length;i<length;i+=4){c=data[i];m=data[i+1];y=data[i+2];k=data[i+3];data[offset++]=255+c*(-0.00006747147073602441*c+0.0008379262121013727*m+0.0002894718188643294*y+0.003264231057537806*k-1.1185611867203937)+m*(0.000026374107616089405*m-0.00008626949158638572*y-0.0002748769067499491*k-0.02155688794978967)+y*(-0.00003878099212869363*y-0.0003267808279485286*k+0.0686742238595345)-k*(0.0003361971776183937*k+0.7430659151342254);data[offset++]=255+c*(0.00013596372813588848*c+0.000924537132573585*m+0.00010567359618683593*y+0.0004791864687436512*k-0.3109689587515875)+m*(-0.00023545346108370344*m+0.0002702845253534714*y+0.0020200308977307156*k-0.7488052167015494)+y*(0.00006834815998235662*y+0.00015168452363460973*k-0.09751927774728933)-k*(0.00031891311758832814*k+0.7364883807733168);data[offset++]=255+c*(0.000013598650411385307*c+0.00012423956175490851*m+0.0004751985097583589*y-0.0000036729317476630422*k-0.05562186980264034)+m*(0.00016141380598724676*m+0.0009692239130725186*y+0.0007782692450036253*k-0.44015232367526463)+y*(5.068882914068769e-7*y+0.0017778369011375071*k-0.7591454649749609)-k*(0.0003435319965105553*k+0.7063770186160144);}return data.subarray(0,offset);},getData:function getData(_ref20){var width=_ref20.width,height=_ref20.height,_ref20$forceRGB=_ref20.forceRGB,forceRGB=_ref20$forceRGB===void 0?false:_ref20$forceRGB,_ref20$isSourcePDF=_ref20.isSourcePDF,isSourcePDF=_ref20$isSourcePDF===void 0?false:_ref20$isSourcePDF;if(this.numComponents>4){throw new JpegError(\"Unsupported color mode\");}var data=this._getLinearizedBlockData(width,height,isSourcePDF);if(this.numComponents===1&&forceRGB){var dataLength=data.length;var rgbData=new Uint8ClampedArray(dataLength*3);var offset=0;for(var i=0;i<dataLength;i++){var grayColor=data[i];rgbData[offset++]=grayColor;rgbData[offset++]=grayColor;rgbData[offset++]=grayColor;}return rgbData;}else if(this.numComponents===3&&this._isColorConversionNeeded){return this._convertYccToRgb(data);}else if(this.numComponents===4){if(this._isColorConversionNeeded){if(forceRGB){return this._convertYcckToRgb(data);}return this._convertYcckToCmyk(data);}else if(forceRGB){return this._convertCmykToRgb(data);}}return data;}};return JpegImage;}();exports.JpegImage=JpegImage;/***/},/* 19 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.JpxStream=void 0;var _stream=__w_pdfjs_require__(11);var _jpx=__w_pdfjs_require__(20);var _util=__w_pdfjs_require__(2);var JpxStream=function JpxStreamClosure(){function JpxStream(stream,maybeLength,dict,params){this.stream=stream;this.maybeLength=maybeLength;this.dict=dict;this.params=params;_stream.DecodeStream.call(this,maybeLength);}JpxStream.prototype=Object.create(_stream.DecodeStream.prototype);Object.defineProperty(JpxStream.prototype,\"bytes\",{get:function JpxStream_bytes(){return(0,_util.shadow)(this,\"bytes\",this.stream.getBytes(this.maybeLength));},configurable:true});JpxStream.prototype.ensureBuffer=function(requested){};JpxStream.prototype.readBlock=function(){if(this.eof){return;}var jpxImage=new _jpx.JpxImage();jpxImage.parse(this.bytes);var width=jpxImage.width;var height=jpxImage.height;var componentsCount=jpxImage.componentsCount;var tileCount=jpxImage.tiles.length;if(tileCount===1){this.buffer=jpxImage.tiles[0].items;}else{var data=new Uint8ClampedArray(width*height*componentsCount);for(var k=0;k<tileCount;k++){var tileComponents=jpxImage.tiles[k];var tileWidth=tileComponents.width;var tileHeight=tileComponents.height;var tileLeft=tileComponents.left;var tileTop=tileComponents.top;var src=tileComponents.items;var srcPosition=0;var dataPosition=(width*tileTop+tileLeft)*componentsCount;var imgRowSize=width*componentsCount;var tileRowSize=tileWidth*componentsCount;for(var j=0;j<tileHeight;j++){var rowBytes=src.subarray(srcPosition,srcPosition+tileRowSize);data.set(rowBytes,dataPosition);srcPosition+=tileRowSize;dataPosition+=imgRowSize;}}this.buffer=data;}this.bufferLength=this.buffer.length;this.eof=true;};return JpxStream;}();exports.JpxStream=JpxStream;/***/},/* 20 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.JpxImage=void 0;var _util=__w_pdfjs_require__(2);var _core_utils=__w_pdfjs_require__(7);var _arithmetic_decoder=__w_pdfjs_require__(16);var JpxError=/*#__PURE__*/function(_util$BaseException8){_inherits(JpxError,_util$BaseException8);var _super19=_createSuper(JpxError);function JpxError(msg){_classCallCheck(this,JpxError);return _super19.call(this,\"JPX error: \".concat(msg));}return JpxError;}(_util.BaseException);var JpxImage=function JpxImageClosure(){var SubbandsGainLog2={LL:0,LH:1,HL:1,HH:2};function JpxImage(){this.failOnCorruptedImage=false;}JpxImage.prototype={parse:function JpxImage_parse(data){var head=(0,_core_utils.readUint16)(data,0);if(head===0xff4f){this.parseCodestream(data,0,data.length);return;}var position=0,length=data.length;while(position<length){var headerSize=8;var lbox=(0,_core_utils.readUint32)(data,position);var tbox=(0,_core_utils.readUint32)(data,position+4);position+=headerSize;if(lbox===1){lbox=(0,_core_utils.readUint32)(data,position)*4294967296+(0,_core_utils.readUint32)(data,position+4);position+=8;headerSize+=8;}if(lbox===0){lbox=length-position+headerSize;}if(lbox<headerSize){throw new JpxError(\"Invalid box field size\");}var dataLength=lbox-headerSize;var jumpDataLength=true;switch(tbox){case 0x6a703268:jumpDataLength=false;break;case 0x636f6c72:var method=data[position];if(method===1){var colorspace=(0,_core_utils.readUint32)(data,position+3);switch(colorspace){case 16:case 17:case 18:break;default:(0,_util.warn)(\"Unknown colorspace \"+colorspace);break;}}else if(method===2){(0,_util.info)(\"ICC profile not supported\");}break;case 0x6a703263:this.parseCodestream(data,position,position+dataLength);break;case 0x6a502020:if((0,_core_utils.readUint32)(data,position)!==0x0d0a870a){(0,_util.warn)(\"Invalid JP2 signature\");}break;case 0x6a501a1a:case 0x66747970:case 0x72726571:case 0x72657320:case 0x69686472:break;default:var headerType=String.fromCharCode(tbox>>24&0xff,tbox>>16&0xff,tbox>>8&0xff,tbox&0xff);(0,_util.warn)(\"Unsupported header type \"+tbox+\" (\"+headerType+\")\");break;}if(jumpDataLength){position+=dataLength;}}},parseImageProperties:function JpxImage_parseImageProperties(stream){var newByte=stream.getByte();while(newByte>=0){var oldByte=newByte;newByte=stream.getByte();var code=oldByte<<8|newByte;if(code===0xff51){stream.skip(4);var Xsiz=stream.getInt32()>>>0;var Ysiz=stream.getInt32()>>>0;var XOsiz=stream.getInt32()>>>0;var YOsiz=stream.getInt32()>>>0;stream.skip(16);var Csiz=stream.getUint16();this.width=Xsiz-XOsiz;this.height=Ysiz-YOsiz;this.componentsCount=Csiz;this.bitsPerComponent=8;return;}}throw new JpxError(\"No size marker found in JPX stream\");},parseCodestream:function JpxImage_parseCodestream(data,start,end){var context={};var doNotRecover=false;try{var position=start;while(position+1<end){var code=(0,_core_utils.readUint16)(data,position);position+=2;var length=0,j,sqcd,spqcds,spqcdSize,scalarExpounded,tile;switch(code){case 0xff4f:context.mainHeader=true;break;case 0xffd9:break;case 0xff51:length=(0,_core_utils.readUint16)(data,position);var siz={};siz.Xsiz=(0,_core_utils.readUint32)(data,position+4);siz.Ysiz=(0,_core_utils.readUint32)(data,position+8);siz.XOsiz=(0,_core_utils.readUint32)(data,position+12);siz.YOsiz=(0,_core_utils.readUint32)(data,position+16);siz.XTsiz=(0,_core_utils.readUint32)(data,position+20);siz.YTsiz=(0,_core_utils.readUint32)(data,position+24);siz.XTOsiz=(0,_core_utils.readUint32)(data,position+28);siz.YTOsiz=(0,_core_utils.readUint32)(data,position+32);var componentsCount=(0,_core_utils.readUint16)(data,position+36);siz.Csiz=componentsCount;var components=[];j=position+38;for(var i=0;i<componentsCount;i++){var component={precision:(data[j]&0x7f)+1,isSigned:!!(data[j]&0x80),XRsiz:data[j+1],YRsiz:data[j+2]};j+=3;calculateComponentDimensions(component,siz);components.push(component);}context.SIZ=siz;context.components=components;calculateTileGrids(context,components);context.QCC=[];context.COC=[];break;case 0xff5c:length=(0,_core_utils.readUint16)(data,position);var qcd={};j=position+2;sqcd=data[j++];switch(sqcd&0x1f){case 0:spqcdSize=8;scalarExpounded=true;break;case 1:spqcdSize=16;scalarExpounded=false;break;case 2:spqcdSize=16;scalarExpounded=true;break;default:throw new Error(\"Invalid SQcd value \"+sqcd);}qcd.noQuantization=spqcdSize===8;qcd.scalarExpounded=scalarExpounded;qcd.guardBits=sqcd>>5;spqcds=[];while(j<length+position){var spqcd={};if(spqcdSize===8){spqcd.epsilon=data[j++]>>3;spqcd.mu=0;}else{spqcd.epsilon=data[j]>>3;spqcd.mu=(data[j]&0x7)<<8|data[j+1];j+=2;}spqcds.push(spqcd);}qcd.SPqcds=spqcds;if(context.mainHeader){context.QCD=qcd;}else{context.currentTile.QCD=qcd;context.currentTile.QCC=[];}break;case 0xff5d:length=(0,_core_utils.readUint16)(data,position);var qcc={};j=position+2;var cqcc;if(context.SIZ.Csiz<257){cqcc=data[j++];}else{cqcc=(0,_core_utils.readUint16)(data,j);j+=2;}sqcd=data[j++];switch(sqcd&0x1f){case 0:spqcdSize=8;scalarExpounded=true;break;case 1:spqcdSize=16;scalarExpounded=false;break;case 2:spqcdSize=16;scalarExpounded=true;break;default:throw new Error(\"Invalid SQcd value \"+sqcd);}qcc.noQuantization=spqcdSize===8;qcc.scalarExpounded=scalarExpounded;qcc.guardBits=sqcd>>5;spqcds=[];while(j<length+position){spqcd={};if(spqcdSize===8){spqcd.epsilon=data[j++]>>3;spqcd.mu=0;}else{spqcd.epsilon=data[j]>>3;spqcd.mu=(data[j]&0x7)<<8|data[j+1];j+=2;}spqcds.push(spqcd);}qcc.SPqcds=spqcds;if(context.mainHeader){context.QCC[cqcc]=qcc;}else{context.currentTile.QCC[cqcc]=qcc;}break;case 0xff52:length=(0,_core_utils.readUint16)(data,position);var cod={};j=position+2;var scod=data[j++];cod.entropyCoderWithCustomPrecincts=!!(scod&1);cod.sopMarkerUsed=!!(scod&2);cod.ephMarkerUsed=!!(scod&4);cod.progressionOrder=data[j++];cod.layersCount=(0,_core_utils.readUint16)(data,j);j+=2;cod.multipleComponentTransform=data[j++];cod.decompositionLevelsCount=data[j++];cod.xcb=(data[j++]&0xf)+2;cod.ycb=(data[j++]&0xf)+2;var blockStyle=data[j++];cod.selectiveArithmeticCodingBypass=!!(blockStyle&1);cod.resetContextProbabilities=!!(blockStyle&2);cod.terminationOnEachCodingPass=!!(blockStyle&4);cod.verticallyStripe=!!(blockStyle&8);cod.predictableTermination=!!(blockStyle&16);cod.segmentationSymbolUsed=!!(blockStyle&32);cod.reversibleTransformation=data[j++];if(cod.entropyCoderWithCustomPrecincts){var precinctsSizes=[];while(j<length+position){var precinctsSize=data[j++];precinctsSizes.push({PPx:precinctsSize&0xf,PPy:precinctsSize>>4});}cod.precinctsSizes=precinctsSizes;}var unsupported=[];if(cod.selectiveArithmeticCodingBypass){unsupported.push(\"selectiveArithmeticCodingBypass\");}if(cod.resetContextProbabilities){unsupported.push(\"resetContextProbabilities\");}if(cod.terminationOnEachCodingPass){unsupported.push(\"terminationOnEachCodingPass\");}if(cod.verticallyStripe){unsupported.push(\"verticallyStripe\");}if(cod.predictableTermination){unsupported.push(\"predictableTermination\");}if(unsupported.length>0){doNotRecover=true;throw new Error(\"Unsupported COD options (\"+unsupported.join(\", \")+\")\");}if(context.mainHeader){context.COD=cod;}else{context.currentTile.COD=cod;context.currentTile.COC=[];}break;case 0xff90:length=(0,_core_utils.readUint16)(data,position);tile={};tile.index=(0,_core_utils.readUint16)(data,position+2);tile.length=(0,_core_utils.readUint32)(data,position+4);tile.dataEnd=tile.length+position-2;tile.partIndex=data[position+8];tile.partsCount=data[position+9];context.mainHeader=false;if(tile.partIndex===0){tile.COD=context.COD;tile.COC=context.COC.slice(0);tile.QCD=context.QCD;tile.QCC=context.QCC.slice(0);}context.currentTile=tile;break;case 0xff93:tile=context.currentTile;if(tile.partIndex===0){initializeTile(context,tile.index);buildPackets(context);}length=tile.dataEnd-position;parseTilePackets(context,data,position,length);break;case 0xff55:case 0xff57:case 0xff58:case 0xff64:length=(0,_core_utils.readUint16)(data,position);break;case 0xff53:throw new Error(\"Codestream code 0xFF53 (COC) is not implemented\");default:throw new Error(\"Unknown codestream code: \"+code.toString(16));}position+=length;}}catch(e){if(doNotRecover||this.failOnCorruptedImage){throw new JpxError(e.message);}else{(0,_util.warn)(\"JPX: Trying to recover from: \"+e.message);}}this.tiles=transformComponents(context);this.width=context.SIZ.Xsiz-context.SIZ.XOsiz;this.height=context.SIZ.Ysiz-context.SIZ.YOsiz;this.componentsCount=context.SIZ.Csiz;}};function calculateComponentDimensions(component,siz){component.x0=Math.ceil(siz.XOsiz/component.XRsiz);component.x1=Math.ceil(siz.Xsiz/component.XRsiz);component.y0=Math.ceil(siz.YOsiz/component.YRsiz);component.y1=Math.ceil(siz.Ysiz/component.YRsiz);component.width=component.x1-component.x0;component.height=component.y1-component.y0;}function calculateTileGrids(context,components){var siz=context.SIZ;var tile,tiles=[];var numXtiles=Math.ceil((siz.Xsiz-siz.XTOsiz)/siz.XTsiz);var numYtiles=Math.ceil((siz.Ysiz-siz.YTOsiz)/siz.YTsiz);for(var q=0;q<numYtiles;q++){for(var p=0;p<numXtiles;p++){tile={};tile.tx0=Math.max(siz.XTOsiz+p*siz.XTsiz,siz.XOsiz);tile.ty0=Math.max(siz.YTOsiz+q*siz.YTsiz,siz.YOsiz);tile.tx1=Math.min(siz.XTOsiz+(p+1)*siz.XTsiz,siz.Xsiz);tile.ty1=Math.min(siz.YTOsiz+(q+1)*siz.YTsiz,siz.Ysiz);tile.width=tile.tx1-tile.tx0;tile.height=tile.ty1-tile.ty0;tile.components=[];tiles.push(tile);}}context.tiles=tiles;var componentsCount=siz.Csiz;for(var i=0,ii=componentsCount;i<ii;i++){var component=components[i];for(var j=0,jj=tiles.length;j<jj;j++){var tileComponent={};tile=tiles[j];tileComponent.tcx0=Math.ceil(tile.tx0/component.XRsiz);tileComponent.tcy0=Math.ceil(tile.ty0/component.YRsiz);tileComponent.tcx1=Math.ceil(tile.tx1/component.XRsiz);tileComponent.tcy1=Math.ceil(tile.ty1/component.YRsiz);tileComponent.width=tileComponent.tcx1-tileComponent.tcx0;tileComponent.height=tileComponent.tcy1-tileComponent.tcy0;tile.components[i]=tileComponent;}}}function getBlocksDimensions(context,component,r){var codOrCoc=component.codingStyleParameters;var result={};if(!codOrCoc.entropyCoderWithCustomPrecincts){result.PPx=15;result.PPy=15;}else{result.PPx=codOrCoc.precinctsSizes[r].PPx;result.PPy=codOrCoc.precinctsSizes[r].PPy;}result.xcb_=r>0?Math.min(codOrCoc.xcb,result.PPx-1):Math.min(codOrCoc.xcb,result.PPx);result.ycb_=r>0?Math.min(codOrCoc.ycb,result.PPy-1):Math.min(codOrCoc.ycb,result.PPy);return result;}function buildPrecincts(context,resolution,dimensions){var precinctWidth=1<<dimensions.PPx;var precinctHeight=1<<dimensions.PPy;var isZeroRes=resolution.resLevel===0;var precinctWidthInSubband=1<<dimensions.PPx+(isZeroRes?0:-1);var precinctHeightInSubband=1<<dimensions.PPy+(isZeroRes?0:-1);var numprecinctswide=resolution.trx1>resolution.trx0?Math.ceil(resolution.trx1/precinctWidth)-Math.floor(resolution.trx0/precinctWidth):0;var numprecinctshigh=resolution.try1>resolution.try0?Math.ceil(resolution.try1/precinctHeight)-Math.floor(resolution.try0/precinctHeight):0;var numprecincts=numprecinctswide*numprecinctshigh;resolution.precinctParameters={precinctWidth:precinctWidth,precinctHeight:precinctHeight,numprecinctswide:numprecinctswide,numprecinctshigh:numprecinctshigh,numprecincts:numprecincts,precinctWidthInSubband:precinctWidthInSubband,precinctHeightInSubband:precinctHeightInSubband};}function buildCodeblocks(context,subband,dimensions){var xcb_=dimensions.xcb_;var ycb_=dimensions.ycb_;var codeblockWidth=1<<xcb_;var codeblockHeight=1<<ycb_;var cbx0=subband.tbx0>>xcb_;var cby0=subband.tby0>>ycb_;var cbx1=subband.tbx1+codeblockWidth-1>>xcb_;var cby1=subband.tby1+codeblockHeight-1>>ycb_;var precinctParameters=subband.resolution.precinctParameters;var codeblocks=[];var precincts=[];var i,j,codeblock,precinctNumber;for(j=cby0;j<cby1;j++){for(i=cbx0;i<cbx1;i++){codeblock={cbx:i,cby:j,tbx0:codeblockWidth*i,tby0:codeblockHeight*j,tbx1:codeblockWidth*(i+1),tby1:codeblockHeight*(j+1)};codeblock.tbx0_=Math.max(subband.tbx0,codeblock.tbx0);codeblock.tby0_=Math.max(subband.tby0,codeblock.tby0);codeblock.tbx1_=Math.min(subband.tbx1,codeblock.tbx1);codeblock.tby1_=Math.min(subband.tby1,codeblock.tby1);var pi=Math.floor((codeblock.tbx0_-subband.tbx0)/precinctParameters.precinctWidthInSubband);var pj=Math.floor((codeblock.tby0_-subband.tby0)/precinctParameters.precinctHeightInSubband);precinctNumber=pi+pj*precinctParameters.numprecinctswide;codeblock.precinctNumber=precinctNumber;codeblock.subbandType=subband.type;codeblock.Lblock=3;if(codeblock.tbx1_<=codeblock.tbx0_||codeblock.tby1_<=codeblock.tby0_){continue;}codeblocks.push(codeblock);var precinct=precincts[precinctNumber];if(precinct!==undefined){if(i<precinct.cbxMin){precinct.cbxMin=i;}else if(i>precinct.cbxMax){precinct.cbxMax=i;}if(j<precinct.cbyMin){precinct.cbxMin=j;}else if(j>precinct.cbyMax){precinct.cbyMax=j;}}else{precincts[precinctNumber]=precinct={cbxMin:i,cbyMin:j,cbxMax:i,cbyMax:j};}codeblock.precinct=precinct;}}subband.codeblockParameters={codeblockWidth:xcb_,codeblockHeight:ycb_,numcodeblockwide:cbx1-cbx0+1,numcodeblockhigh:cby1-cby0+1};subband.codeblocks=codeblocks;subband.precincts=precincts;}function createPacket(resolution,precinctNumber,layerNumber){var precinctCodeblocks=[];var subbands=resolution.subbands;for(var i=0,ii=subbands.length;i<ii;i++){var subband=subbands[i];var codeblocks=subband.codeblocks;for(var j=0,jj=codeblocks.length;j<jj;j++){var codeblock=codeblocks[j];if(codeblock.precinctNumber!==precinctNumber){continue;}precinctCodeblocks.push(codeblock);}}return{layerNumber:layerNumber,codeblocks:precinctCodeblocks};}function LayerResolutionComponentPositionIterator(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var layersCount=tile.codingStyleDefaultParameters.layersCount;var componentsCount=siz.Csiz;var maxDecompositionLevelsCount=0;for(var q=0;q<componentsCount;q++){maxDecompositionLevelsCount=Math.max(maxDecompositionLevelsCount,tile.components[q].codingStyleParameters.decompositionLevelsCount);}var l=0,r=0,i=0,k=0;this.nextPacket=function JpxImage_nextPacket(){for(;l<layersCount;l++){for(;r<=maxDecompositionLevelsCount;r++){for(;i<componentsCount;i++){var component=tile.components[i];if(r>component.codingStyleParameters.decompositionLevelsCount){continue;}var resolution=component.resolutions[r];var numprecincts=resolution.precinctParameters.numprecincts;for(;k<numprecincts;){var packet=createPacket(resolution,k,l);k++;return packet;}k=0;}i=0;}r=0;}throw new JpxError(\"Out of packets\");};}function ResolutionLayerComponentPositionIterator(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var layersCount=tile.codingStyleDefaultParameters.layersCount;var componentsCount=siz.Csiz;var maxDecompositionLevelsCount=0;for(var q=0;q<componentsCount;q++){maxDecompositionLevelsCount=Math.max(maxDecompositionLevelsCount,tile.components[q].codingStyleParameters.decompositionLevelsCount);}var r=0,l=0,i=0,k=0;this.nextPacket=function JpxImage_nextPacket(){for(;r<=maxDecompositionLevelsCount;r++){for(;l<layersCount;l++){for(;i<componentsCount;i++){var component=tile.components[i];if(r>component.codingStyleParameters.decompositionLevelsCount){continue;}var resolution=component.resolutions[r];var numprecincts=resolution.precinctParameters.numprecincts;for(;k<numprecincts;){var packet=createPacket(resolution,k,l);k++;return packet;}k=0;}i=0;}l=0;}throw new JpxError(\"Out of packets\");};}function ResolutionPositionComponentLayerIterator(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var layersCount=tile.codingStyleDefaultParameters.layersCount;var componentsCount=siz.Csiz;var l,r,c,p;var maxDecompositionLevelsCount=0;for(c=0;c<componentsCount;c++){var component=tile.components[c];maxDecompositionLevelsCount=Math.max(maxDecompositionLevelsCount,component.codingStyleParameters.decompositionLevelsCount);}var maxNumPrecinctsInLevel=new Int32Array(maxDecompositionLevelsCount+1);for(r=0;r<=maxDecompositionLevelsCount;++r){var maxNumPrecincts=0;for(c=0;c<componentsCount;++c){var resolutions=tile.components[c].resolutions;if(r<resolutions.length){maxNumPrecincts=Math.max(maxNumPrecincts,resolutions[r].precinctParameters.numprecincts);}}maxNumPrecinctsInLevel[r]=maxNumPrecincts;}l=0;r=0;c=0;p=0;this.nextPacket=function JpxImage_nextPacket(){for(;r<=maxDecompositionLevelsCount;r++){for(;p<maxNumPrecinctsInLevel[r];p++){for(;c<componentsCount;c++){var component=tile.components[c];if(r>component.codingStyleParameters.decompositionLevelsCount){continue;}var resolution=component.resolutions[r];var numprecincts=resolution.precinctParameters.numprecincts;if(p>=numprecincts){continue;}for(;l<layersCount;){var packet=createPacket(resolution,p,l);l++;return packet;}l=0;}c=0;}p=0;}throw new JpxError(\"Out of packets\");};}function PositionComponentResolutionLayerIterator(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var layersCount=tile.codingStyleDefaultParameters.layersCount;var componentsCount=siz.Csiz;var precinctsSizes=getPrecinctSizesInImageScale(tile);var precinctsIterationSizes=precinctsSizes;var l=0,r=0,c=0,px=0,py=0;this.nextPacket=function JpxImage_nextPacket(){for(;py<precinctsIterationSizes.maxNumHigh;py++){for(;px<precinctsIterationSizes.maxNumWide;px++){for(;c<componentsCount;c++){var component=tile.components[c];var decompositionLevelsCount=component.codingStyleParameters.decompositionLevelsCount;for(;r<=decompositionLevelsCount;r++){var resolution=component.resolutions[r];var sizeInImageScale=precinctsSizes.components[c].resolutions[r];var k=getPrecinctIndexIfExist(px,py,sizeInImageScale,precinctsIterationSizes,resolution);if(k===null){continue;}for(;l<layersCount;){var packet=createPacket(resolution,k,l);l++;return packet;}l=0;}r=0;}c=0;}px=0;}throw new JpxError(\"Out of packets\");};}function ComponentPositionResolutionLayerIterator(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var layersCount=tile.codingStyleDefaultParameters.layersCount;var componentsCount=siz.Csiz;var precinctsSizes=getPrecinctSizesInImageScale(tile);var l=0,r=0,c=0,px=0,py=0;this.nextPacket=function JpxImage_nextPacket(){for(;c<componentsCount;++c){var component=tile.components[c];var precinctsIterationSizes=precinctsSizes.components[c];var decompositionLevelsCount=component.codingStyleParameters.decompositionLevelsCount;for(;py<precinctsIterationSizes.maxNumHigh;py++){for(;px<precinctsIterationSizes.maxNumWide;px++){for(;r<=decompositionLevelsCount;r++){var resolution=component.resolutions[r];var sizeInImageScale=precinctsIterationSizes.resolutions[r];var k=getPrecinctIndexIfExist(px,py,sizeInImageScale,precinctsIterationSizes,resolution);if(k===null){continue;}for(;l<layersCount;){var packet=createPacket(resolution,k,l);l++;return packet;}l=0;}r=0;}px=0;}py=0;}throw new JpxError(\"Out of packets\");};}function getPrecinctIndexIfExist(pxIndex,pyIndex,sizeInImageScale,precinctIterationSizes,resolution){var posX=pxIndex*precinctIterationSizes.minWidth;var posY=pyIndex*precinctIterationSizes.minHeight;if(posX%sizeInImageScale.width!==0||posY%sizeInImageScale.height!==0){return null;}var startPrecinctRowIndex=posY/sizeInImageScale.width*resolution.precinctParameters.numprecinctswide;return posX/sizeInImageScale.height+startPrecinctRowIndex;}function getPrecinctSizesInImageScale(tile){var componentsCount=tile.components.length;var minWidth=Number.MAX_VALUE;var minHeight=Number.MAX_VALUE;var maxNumWide=0;var maxNumHigh=0;var sizePerComponent=new Array(componentsCount);for(var c=0;c<componentsCount;c++){var component=tile.components[c];var decompositionLevelsCount=component.codingStyleParameters.decompositionLevelsCount;var sizePerResolution=new Array(decompositionLevelsCount+1);var minWidthCurrentComponent=Number.MAX_VALUE;var minHeightCurrentComponent=Number.MAX_VALUE;var maxNumWideCurrentComponent=0;var maxNumHighCurrentComponent=0;var scale=1;for(var r=decompositionLevelsCount;r>=0;--r){var resolution=component.resolutions[r];var widthCurrentResolution=scale*resolution.precinctParameters.precinctWidth;var heightCurrentResolution=scale*resolution.precinctParameters.precinctHeight;minWidthCurrentComponent=Math.min(minWidthCurrentComponent,widthCurrentResolution);minHeightCurrentComponent=Math.min(minHeightCurrentComponent,heightCurrentResolution);maxNumWideCurrentComponent=Math.max(maxNumWideCurrentComponent,resolution.precinctParameters.numprecinctswide);maxNumHighCurrentComponent=Math.max(maxNumHighCurrentComponent,resolution.precinctParameters.numprecinctshigh);sizePerResolution[r]={width:widthCurrentResolution,height:heightCurrentResolution};scale<<=1;}minWidth=Math.min(minWidth,minWidthCurrentComponent);minHeight=Math.min(minHeight,minHeightCurrentComponent);maxNumWide=Math.max(maxNumWide,maxNumWideCurrentComponent);maxNumHigh=Math.max(maxNumHigh,maxNumHighCurrentComponent);sizePerComponent[c]={resolutions:sizePerResolution,minWidth:minWidthCurrentComponent,minHeight:minHeightCurrentComponent,maxNumWide:maxNumWideCurrentComponent,maxNumHigh:maxNumHighCurrentComponent};}return{components:sizePerComponent,minWidth:minWidth,minHeight:minHeight,maxNumWide:maxNumWide,maxNumHigh:maxNumHigh};}function buildPackets(context){var siz=context.SIZ;var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var componentsCount=siz.Csiz;for(var c=0;c<componentsCount;c++){var component=tile.components[c];var decompositionLevelsCount=component.codingStyleParameters.decompositionLevelsCount;var resolutions=[];var subbands=[];for(var r=0;r<=decompositionLevelsCount;r++){var blocksDimensions=getBlocksDimensions(context,component,r);var resolution={};var scale=1<<decompositionLevelsCount-r;resolution.trx0=Math.ceil(component.tcx0/scale);resolution.try0=Math.ceil(component.tcy0/scale);resolution.trx1=Math.ceil(component.tcx1/scale);resolution.try1=Math.ceil(component.tcy1/scale);resolution.resLevel=r;buildPrecincts(context,resolution,blocksDimensions);resolutions.push(resolution);var subband;if(r===0){subband={};subband.type=\"LL\";subband.tbx0=Math.ceil(component.tcx0/scale);subband.tby0=Math.ceil(component.tcy0/scale);subband.tbx1=Math.ceil(component.tcx1/scale);subband.tby1=Math.ceil(component.tcy1/scale);subband.resolution=resolution;buildCodeblocks(context,subband,blocksDimensions);subbands.push(subband);resolution.subbands=[subband];}else{var bscale=1<<decompositionLevelsCount-r+1;var resolutionSubbands=[];subband={};subband.type=\"HL\";subband.tbx0=Math.ceil(component.tcx0/bscale-0.5);subband.tby0=Math.ceil(component.tcy0/bscale);subband.tbx1=Math.ceil(component.tcx1/bscale-0.5);subband.tby1=Math.ceil(component.tcy1/bscale);subband.resolution=resolution;buildCodeblocks(context,subband,blocksDimensions);subbands.push(subband);resolutionSubbands.push(subband);subband={};subband.type=\"LH\";subband.tbx0=Math.ceil(component.tcx0/bscale);subband.tby0=Math.ceil(component.tcy0/bscale-0.5);subband.tbx1=Math.ceil(component.tcx1/bscale);subband.tby1=Math.ceil(component.tcy1/bscale-0.5);subband.resolution=resolution;buildCodeblocks(context,subband,blocksDimensions);subbands.push(subband);resolutionSubbands.push(subband);subband={};subband.type=\"HH\";subband.tbx0=Math.ceil(component.tcx0/bscale-0.5);subband.tby0=Math.ceil(component.tcy0/bscale-0.5);subband.tbx1=Math.ceil(component.tcx1/bscale-0.5);subband.tby1=Math.ceil(component.tcy1/bscale-0.5);subband.resolution=resolution;buildCodeblocks(context,subband,blocksDimensions);subbands.push(subband);resolutionSubbands.push(subband);resolution.subbands=resolutionSubbands;}}component.resolutions=resolutions;component.subbands=subbands;}var progressionOrder=tile.codingStyleDefaultParameters.progressionOrder;switch(progressionOrder){case 0:tile.packetsIterator=new LayerResolutionComponentPositionIterator(context);break;case 1:tile.packetsIterator=new ResolutionLayerComponentPositionIterator(context);break;case 2:tile.packetsIterator=new ResolutionPositionComponentLayerIterator(context);break;case 3:tile.packetsIterator=new PositionComponentResolutionLayerIterator(context);break;case 4:tile.packetsIterator=new ComponentPositionResolutionLayerIterator(context);break;default:throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));}}function parseTilePackets(context,data,offset,dataLength){var position=0;var buffer,bufferSize=0,skipNextBit=false;function readBits(count){while(bufferSize<count){var b=data[offset+position];position++;if(skipNextBit){buffer=buffer<<7|b;bufferSize+=7;skipNextBit=false;}else{buffer=buffer<<8|b;bufferSize+=8;}if(b===0xff){skipNextBit=true;}}bufferSize-=count;return buffer>>>bufferSize&(1<<count)-1;}function skipMarkerIfEqual(value){if(data[offset+position-1]===0xff&&data[offset+position]===value){skipBytes(1);return true;}else if(data[offset+position]===0xff&&data[offset+position+1]===value){skipBytes(2);return true;}return false;}function skipBytes(count){position+=count;}function alignToByte(){bufferSize=0;if(skipNextBit){position++;skipNextBit=false;}}function readCodingpasses(){if(readBits(1)===0){return 1;}if(readBits(1)===0){return 2;}var value=readBits(2);if(value<3){return value+3;}value=readBits(5);if(value<31){return value+6;}value=readBits(7);return value+37;}var tileIndex=context.currentTile.index;var tile=context.tiles[tileIndex];var sopMarkerUsed=context.COD.sopMarkerUsed;var ephMarkerUsed=context.COD.ephMarkerUsed;var packetsIterator=tile.packetsIterator;while(position<dataLength){alignToByte();if(sopMarkerUsed&&skipMarkerIfEqual(0x91)){skipBytes(4);}var packet=packetsIterator.nextPacket();if(!readBits(1)){continue;}var layerNumber=packet.layerNumber;var queue=[],codeblock;for(var i=0,ii=packet.codeblocks.length;i<ii;i++){codeblock=packet.codeblocks[i];var precinct=codeblock.precinct;var codeblockColumn=codeblock.cbx-precinct.cbxMin;var codeblockRow=codeblock.cby-precinct.cbyMin;var codeblockIncluded=false;var firstTimeInclusion=false;var valueReady;if(codeblock[\"included\"]!==undefined){codeblockIncluded=!!readBits(1);}else{precinct=codeblock.precinct;var inclusionTree,zeroBitPlanesTree;if(precinct[\"inclusionTree\"]!==undefined){inclusionTree=precinct.inclusionTree;}else{var width=precinct.cbxMax-precinct.cbxMin+1;var height=precinct.cbyMax-precinct.cbyMin+1;inclusionTree=new InclusionTree(width,height,layerNumber);zeroBitPlanesTree=new TagTree(width,height);precinct.inclusionTree=inclusionTree;precinct.zeroBitPlanesTree=zeroBitPlanesTree;}if(inclusionTree.reset(codeblockColumn,codeblockRow,layerNumber)){while(true){if(readBits(1)){valueReady=!inclusionTree.nextLevel();if(valueReady){codeblock.included=true;codeblockIncluded=firstTimeInclusion=true;break;}}else{inclusionTree.incrementValue(layerNumber);break;}}}}if(!codeblockIncluded){continue;}if(firstTimeInclusion){zeroBitPlanesTree=precinct.zeroBitPlanesTree;zeroBitPlanesTree.reset(codeblockColumn,codeblockRow);while(true){if(readBits(1)){valueReady=!zeroBitPlanesTree.nextLevel();if(valueReady){break;}}else{zeroBitPlanesTree.incrementValue();}}codeblock.zeroBitPlanes=zeroBitPlanesTree.value;}var codingpasses=readCodingpasses();while(readBits(1)){codeblock.Lblock++;}var codingpassesLog2=(0,_core_utils.log2)(codingpasses);var bits=(codingpasses<1<<codingpassesLog2?codingpassesLog2-1:codingpassesLog2)+codeblock.Lblock;var codedDataLength=readBits(bits);queue.push({codeblock:codeblock,codingpasses:codingpasses,dataLength:codedDataLength});}alignToByte();if(ephMarkerUsed){skipMarkerIfEqual(0x92);}while(queue.length>0){var packetItem=queue.shift();codeblock=packetItem.codeblock;if(codeblock[\"data\"]===undefined){codeblock.data=[];}codeblock.data.push({data:data,start:offset+position,end:offset+position+packetItem.dataLength,codingpasses:packetItem.codingpasses});position+=packetItem.dataLength;}}return position;}function copyCoefficients(coefficients,levelWidth,levelHeight,subband,delta,mb,reversible,segmentationSymbolUsed){var x0=subband.tbx0;var y0=subband.tby0;var width=subband.tbx1-subband.tbx0;var codeblocks=subband.codeblocks;var right=subband.type.charAt(0)===\"H\"?1:0;var bottom=subband.type.charAt(1)===\"H\"?levelWidth:0;for(var i=0,ii=codeblocks.length;i<ii;++i){var codeblock=codeblocks[i];var blockWidth=codeblock.tbx1_-codeblock.tbx0_;var blockHeight=codeblock.tby1_-codeblock.tby0_;if(blockWidth===0||blockHeight===0){continue;}if(codeblock[\"data\"]===undefined){continue;}var bitModel,currentCodingpassType;bitModel=new BitModel(blockWidth,blockHeight,codeblock.subbandType,codeblock.zeroBitPlanes,mb);currentCodingpassType=2;var data=codeblock.data,totalLength=0,codingpasses=0;var j,jj,dataItem;for(j=0,jj=data.length;j<jj;j++){dataItem=data[j];totalLength+=dataItem.end-dataItem.start;codingpasses+=dataItem.codingpasses;}var encodedData=new Uint8Array(totalLength);var position=0;for(j=0,jj=data.length;j<jj;j++){dataItem=data[j];var chunk=dataItem.data.subarray(dataItem.start,dataItem.end);encodedData.set(chunk,position);position+=chunk.length;}var decoder=new _arithmetic_decoder.ArithmeticDecoder(encodedData,0,totalLength);bitModel.setDecoder(decoder);for(j=0;j<codingpasses;j++){switch(currentCodingpassType){case 0:bitModel.runSignificancePropagationPass();break;case 1:bitModel.runMagnitudeRefinementPass();break;case 2:bitModel.runCleanupPass();if(segmentationSymbolUsed){bitModel.checkSegmentationSymbol();}break;}currentCodingpassType=(currentCodingpassType+1)%3;}var offset=codeblock.tbx0_-x0+(codeblock.tby0_-y0)*width;var sign=bitModel.coefficentsSign;var magnitude=bitModel.coefficentsMagnitude;var bitsDecoded=bitModel.bitsDecoded;var magnitudeCorrection=reversible?0:0.5;var k,n,nb;position=0;var interleave=subband.type!==\"LL\";for(j=0;j<blockHeight;j++){var row=offset/width|0;var levelOffset=2*row*(levelWidth-width)+right+bottom;for(k=0;k<blockWidth;k++){n=magnitude[position];if(n!==0){n=(n+magnitudeCorrection)*delta;if(sign[position]!==0){n=-n;}nb=bitsDecoded[position];var pos=interleave?levelOffset+(offset<<1):offset;if(reversible&&nb>=mb){coefficients[pos]=n;}else{coefficients[pos]=n*(1<<mb-nb);}}offset++;position++;}offset+=width-blockWidth;}}}function transformTile(context,tile,c){var component=tile.components[c];var codingStyleParameters=component.codingStyleParameters;var quantizationParameters=component.quantizationParameters;var decompositionLevelsCount=codingStyleParameters.decompositionLevelsCount;var spqcds=quantizationParameters.SPqcds;var scalarExpounded=quantizationParameters.scalarExpounded;var guardBits=quantizationParameters.guardBits;var segmentationSymbolUsed=codingStyleParameters.segmentationSymbolUsed;var precision=context.components[c].precision;var reversible=codingStyleParameters.reversibleTransformation;var transform=reversible?new ReversibleTransform():new IrreversibleTransform();var subbandCoefficients=[];var b=0;for(var i=0;i<=decompositionLevelsCount;i++){var resolution=component.resolutions[i];var width=resolution.trx1-resolution.trx0;var height=resolution.try1-resolution.try0;var coefficients=new Float32Array(width*height);for(var j=0,jj=resolution.subbands.length;j<jj;j++){var mu,epsilon;if(!scalarExpounded){mu=spqcds[0].mu;epsilon=spqcds[0].epsilon+(i>0?1-i:0);}else{mu=spqcds[b].mu;epsilon=spqcds[b].epsilon;b++;}var subband=resolution.subbands[j];var gainLog2=SubbandsGainLog2[subband.type];var delta=reversible?1:Math.pow(2,precision+gainLog2-epsilon)*(1+mu/2048);var mb=guardBits+epsilon-1;copyCoefficients(coefficients,width,height,subband,delta,mb,reversible,segmentationSymbolUsed);}subbandCoefficients.push({width:width,height:height,items:coefficients});}var result=transform.calculate(subbandCoefficients,component.tcx0,component.tcy0);return{left:component.tcx0,top:component.tcy0,width:result.width,height:result.height,items:result.items};}function transformComponents(context){var siz=context.SIZ;var components=context.components;var componentsCount=siz.Csiz;var resultImages=[];for(var i=0,ii=context.tiles.length;i<ii;i++){var tile=context.tiles[i];var transformedTiles=[];var c;for(c=0;c<componentsCount;c++){transformedTiles[c]=transformTile(context,tile,c);}var tile0=transformedTiles[0];var out=new Uint8ClampedArray(tile0.items.length*componentsCount);var result={left:tile0.left,top:tile0.top,width:tile0.width,height:tile0.height,items:out};var shift,offset;var pos=0,j,jj,y0,y1,y2;if(tile.codingStyleDefaultParameters.multipleComponentTransform){var fourComponents=componentsCount===4;var y0items=transformedTiles[0].items;var y1items=transformedTiles[1].items;var y2items=transformedTiles[2].items;var y3items=fourComponents?transformedTiles[3].items:null;shift=components[0].precision-8;offset=(128<<shift)+0.5;var component0=tile.components[0];var alpha01=componentsCount-3;jj=y0items.length;if(!component0.codingStyleParameters.reversibleTransformation){for(j=0;j<jj;j++,pos+=alpha01){y0=y0items[j]+offset;y1=y1items[j];y2=y2items[j];out[pos++]=y0+1.402*y2>>shift;out[pos++]=y0-0.34413*y1-0.71414*y2>>shift;out[pos++]=y0+1.772*y1>>shift;}}else{for(j=0;j<jj;j++,pos+=alpha01){y0=y0items[j]+offset;y1=y1items[j];y2=y2items[j];var g=y0-(y2+y1>>2);out[pos++]=g+y2>>shift;out[pos++]=g>>shift;out[pos++]=g+y1>>shift;}}if(fourComponents){for(j=0,pos=3;j<jj;j++,pos+=4){out[pos]=y3items[j]+offset>>shift;}}}else{for(c=0;c<componentsCount;c++){var items=transformedTiles[c].items;shift=components[c].precision-8;offset=(128<<shift)+0.5;for(pos=c,j=0,jj=items.length;j<jj;j++){out[pos]=items[j]+offset>>shift;pos+=componentsCount;}}}resultImages.push(result);}return resultImages;}function initializeTile(context,tileIndex){var siz=context.SIZ;var componentsCount=siz.Csiz;var tile=context.tiles[tileIndex];for(var c=0;c<componentsCount;c++){var component=tile.components[c];var qcdOrQcc=context.currentTile.QCC[c]!==undefined?context.currentTile.QCC[c]:context.currentTile.QCD;component.quantizationParameters=qcdOrQcc;var codOrCoc=context.currentTile.COC[c]!==undefined?context.currentTile.COC[c]:context.currentTile.COD;component.codingStyleParameters=codOrCoc;}tile.codingStyleDefaultParameters=context.currentTile.COD;}var TagTree=function TagTreeClosure(){function TagTree(width,height){var levelsLength=(0,_core_utils.log2)(Math.max(width,height))+1;this.levels=[];for(var i=0;i<levelsLength;i++){var level={width:width,height:height,items:[]};this.levels.push(level);width=Math.ceil(width/2);height=Math.ceil(height/2);}}TagTree.prototype={reset:function TagTree_reset(i,j){var currentLevel=0,value=0,level;while(currentLevel<this.levels.length){level=this.levels[currentLevel];var index=i+j*level.width;if(level.items[index]!==undefined){value=level.items[index];break;}level.index=index;i>>=1;j>>=1;currentLevel++;}currentLevel--;level=this.levels[currentLevel];level.items[level.index]=value;this.currentLevel=currentLevel;delete this.value;},incrementValue:function TagTree_incrementValue(){var level=this.levels[this.currentLevel];level.items[level.index]++;},nextLevel:function TagTree_nextLevel(){var currentLevel=this.currentLevel;var level=this.levels[currentLevel];var value=level.items[level.index];currentLevel--;if(currentLevel<0){this.value=value;return false;}this.currentLevel=currentLevel;level=this.levels[currentLevel];level.items[level.index]=value;return true;}};return TagTree;}();var InclusionTree=function InclusionTreeClosure(){function InclusionTree(width,height,defaultValue){var levelsLength=(0,_core_utils.log2)(Math.max(width,height))+1;this.levels=[];for(var i=0;i<levelsLength;i++){var items=new Uint8Array(width*height);for(var j=0,jj=items.length;j<jj;j++){items[j]=defaultValue;}var level={width:width,height:height,items:items};this.levels.push(level);width=Math.ceil(width/2);height=Math.ceil(height/2);}}InclusionTree.prototype={reset:function InclusionTree_reset(i,j,stopValue){var currentLevel=0;while(currentLevel<this.levels.length){var level=this.levels[currentLevel];var index=i+j*level.width;level.index=index;var value=level.items[index];if(value===0xff){break;}if(value>stopValue){this.currentLevel=currentLevel;this.propagateValues();return false;}i>>=1;j>>=1;currentLevel++;}this.currentLevel=currentLevel-1;return true;},incrementValue:function InclusionTree_incrementValue(stopValue){var level=this.levels[this.currentLevel];level.items[level.index]=stopValue+1;this.propagateValues();},propagateValues:function InclusionTree_propagateValues(){var levelIndex=this.currentLevel;var level=this.levels[levelIndex];var currentValue=level.items[level.index];while(--levelIndex>=0){level=this.levels[levelIndex];level.items[level.index]=currentValue;}},nextLevel:function InclusionTree_nextLevel(){var currentLevel=this.currentLevel;var level=this.levels[currentLevel];var value=level.items[level.index];level.items[level.index]=0xff;currentLevel--;if(currentLevel<0){return false;}this.currentLevel=currentLevel;level=this.levels[currentLevel];level.items[level.index]=value;return true;}};return InclusionTree;}();var BitModel=function BitModelClosure(){var UNIFORM_CONTEXT=17;var RUNLENGTH_CONTEXT=18;var LLAndLHContextsLabel=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]);var HLContextLabel=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]);var HHContextLabel=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);function BitModel(width,height,subband,zeroBitPlanes,mb){this.width=width;this.height=height;var contextLabelTable;if(subband===\"HH\"){contextLabelTable=HHContextLabel;}else if(subband===\"HL\"){contextLabelTable=HLContextLabel;}else{contextLabelTable=LLAndLHContextsLabel;}this.contextLabelTable=contextLabelTable;var coefficientCount=width*height;this.neighborsSignificance=new Uint8Array(coefficientCount);this.coefficentsSign=new Uint8Array(coefficientCount);var coefficentsMagnitude;if(mb>14){coefficentsMagnitude=new Uint32Array(coefficientCount);}else if(mb>6){coefficentsMagnitude=new Uint16Array(coefficientCount);}else{coefficentsMagnitude=new Uint8Array(coefficientCount);}this.coefficentsMagnitude=coefficentsMagnitude;this.processingFlags=new Uint8Array(coefficientCount);var bitsDecoded=new Uint8Array(coefficientCount);if(zeroBitPlanes!==0){for(var i=0;i<coefficientCount;i++){bitsDecoded[i]=zeroBitPlanes;}}this.bitsDecoded=bitsDecoded;this.reset();}BitModel.prototype={setDecoder:function BitModel_setDecoder(decoder){this.decoder=decoder;},reset:function BitModel_reset(){this.contexts=new Int8Array(19);this.contexts[0]=4<<1|0;this.contexts[UNIFORM_CONTEXT]=46<<1|0;this.contexts[RUNLENGTH_CONTEXT]=3<<1|0;},setNeighborsSignificance:function BitModel_setNeighborsSignificance(row,column,index){var neighborsSignificance=this.neighborsSignificance;var width=this.width,height=this.height;var left=column>0;var right=column+1<width;var i;if(row>0){i=index-width;if(left){neighborsSignificance[i-1]+=0x10;}if(right){neighborsSignificance[i+1]+=0x10;}neighborsSignificance[i]+=0x04;}if(row+1<height){i=index+width;if(left){neighborsSignificance[i-1]+=0x10;}if(right){neighborsSignificance[i+1]+=0x10;}neighborsSignificance[i]+=0x04;}if(left){neighborsSignificance[index-1]+=0x01;}if(right){neighborsSignificance[index+1]+=0x01;}neighborsSignificance[index]|=0x80;},runSignificancePropagationPass:function BitModel_runSignificancePropagationPass(){var decoder=this.decoder;var width=this.width,height=this.height;var coefficentsMagnitude=this.coefficentsMagnitude;var coefficentsSign=this.coefficentsSign;var neighborsSignificance=this.neighborsSignificance;var processingFlags=this.processingFlags;var contexts=this.contexts;var labels=this.contextLabelTable;var bitsDecoded=this.bitsDecoded;var processedInverseMask=~1;var processedMask=1;var firstMagnitudeBitMask=2;for(var i0=0;i0<height;i0+=4){for(var j=0;j<width;j++){var index=i0*width+j;for(var i1=0;i1<4;i1++,index+=width){var i=i0+i1;if(i>=height){break;}processingFlags[index]&=processedInverseMask;if(coefficentsMagnitude[index]||!neighborsSignificance[index]){continue;}var contextLabel=labels[neighborsSignificance[index]];var decision=decoder.readBit(contexts,contextLabel);if(decision){var sign=this.decodeSignBit(i,j,index);coefficentsSign[index]=sign;coefficentsMagnitude[index]=1;this.setNeighborsSignificance(i,j,index);processingFlags[index]|=firstMagnitudeBitMask;}bitsDecoded[index]++;processingFlags[index]|=processedMask;}}}},decodeSignBit:function BitModel_decodeSignBit(row,column,index){var width=this.width,height=this.height;var coefficentsMagnitude=this.coefficentsMagnitude;var coefficentsSign=this.coefficentsSign;var contribution,sign0,sign1,significance1;var contextLabel,decoded;significance1=column>0&&coefficentsMagnitude[index-1]!==0;if(column+1<width&&coefficentsMagnitude[index+1]!==0){sign1=coefficentsSign[index+1];if(significance1){sign0=coefficentsSign[index-1];contribution=1-sign1-sign0;}else{contribution=1-sign1-sign1;}}else if(significance1){sign0=coefficentsSign[index-1];contribution=1-sign0-sign0;}else{contribution=0;}var horizontalContribution=3*contribution;significance1=row>0&&coefficentsMagnitude[index-width]!==0;if(row+1<height&&coefficentsMagnitude[index+width]!==0){sign1=coefficentsSign[index+width];if(significance1){sign0=coefficentsSign[index-width];contribution=1-sign1-sign0+horizontalContribution;}else{contribution=1-sign1-sign1+horizontalContribution;}}else if(significance1){sign0=coefficentsSign[index-width];contribution=1-sign0-sign0+horizontalContribution;}else{contribution=horizontalContribution;}if(contribution>=0){contextLabel=9+contribution;decoded=this.decoder.readBit(this.contexts,contextLabel);}else{contextLabel=9-contribution;decoded=this.decoder.readBit(this.contexts,contextLabel)^1;}return decoded;},runMagnitudeRefinementPass:function BitModel_runMagnitudeRefinementPass(){var decoder=this.decoder;var width=this.width,height=this.height;var coefficentsMagnitude=this.coefficentsMagnitude;var neighborsSignificance=this.neighborsSignificance;var contexts=this.contexts;var bitsDecoded=this.bitsDecoded;var processingFlags=this.processingFlags;var processedMask=1;var firstMagnitudeBitMask=2;var length=width*height;var width4=width*4;for(var index0=0,indexNext;index0<length;index0=indexNext){indexNext=Math.min(length,index0+width4);for(var j=0;j<width;j++){for(var index=index0+j;index<indexNext;index+=width){if(!coefficentsMagnitude[index]||(processingFlags[index]&processedMask)!==0){continue;}var contextLabel=16;if((processingFlags[index]&firstMagnitudeBitMask)!==0){processingFlags[index]^=firstMagnitudeBitMask;var significance=neighborsSignificance[index]&127;contextLabel=significance===0?15:14;}var bit=decoder.readBit(contexts,contextLabel);coefficentsMagnitude[index]=coefficentsMagnitude[index]<<1|bit;bitsDecoded[index]++;processingFlags[index]|=processedMask;}}}},runCleanupPass:function BitModel_runCleanupPass(){var decoder=this.decoder;var width=this.width,height=this.height;var neighborsSignificance=this.neighborsSignificance;var coefficentsMagnitude=this.coefficentsMagnitude;var coefficentsSign=this.coefficentsSign;var contexts=this.contexts;var labels=this.contextLabelTable;var bitsDecoded=this.bitsDecoded;var processingFlags=this.processingFlags;var processedMask=1;var firstMagnitudeBitMask=2;var oneRowDown=width;var twoRowsDown=width*2;var threeRowsDown=width*3;var iNext;for(var i0=0;i0<height;i0=iNext){iNext=Math.min(i0+4,height);var indexBase=i0*width;var checkAllEmpty=i0+3<height;for(var j=0;j<width;j++){var index0=indexBase+j;var allEmpty=checkAllEmpty&&processingFlags[index0]===0&&processingFlags[index0+oneRowDown]===0&&processingFlags[index0+twoRowsDown]===0&&processingFlags[index0+threeRowsDown]===0&&neighborsSignificance[index0]===0&&neighborsSignificance[index0+oneRowDown]===0&&neighborsSignificance[index0+twoRowsDown]===0&&neighborsSignificance[index0+threeRowsDown]===0;var i1=0,index=index0;var i=i0,sign;if(allEmpty){var hasSignificantCoefficent=decoder.readBit(contexts,RUNLENGTH_CONTEXT);if(!hasSignificantCoefficent){bitsDecoded[index0]++;bitsDecoded[index0+oneRowDown]++;bitsDecoded[index0+twoRowsDown]++;bitsDecoded[index0+threeRowsDown]++;continue;}i1=decoder.readBit(contexts,UNIFORM_CONTEXT)<<1|decoder.readBit(contexts,UNIFORM_CONTEXT);if(i1!==0){i=i0+i1;index+=i1*width;}sign=this.decodeSignBit(i,j,index);coefficentsSign[index]=sign;coefficentsMagnitude[index]=1;this.setNeighborsSignificance(i,j,index);processingFlags[index]|=firstMagnitudeBitMask;index=index0;for(var i2=i0;i2<=i;i2++,index+=width){bitsDecoded[index]++;}i1++;}for(i=i0+i1;i<iNext;i++,index+=width){if(coefficentsMagnitude[index]||(processingFlags[index]&processedMask)!==0){continue;}var contextLabel=labels[neighborsSignificance[index]];var decision=decoder.readBit(contexts,contextLabel);if(decision===1){sign=this.decodeSignBit(i,j,index);coefficentsSign[index]=sign;coefficentsMagnitude[index]=1;this.setNeighborsSignificance(i,j,index);processingFlags[index]|=firstMagnitudeBitMask;}bitsDecoded[index]++;}}}},checkSegmentationSymbol:function BitModel_checkSegmentationSymbol(){var decoder=this.decoder;var contexts=this.contexts;var symbol=decoder.readBit(contexts,UNIFORM_CONTEXT)<<3|decoder.readBit(contexts,UNIFORM_CONTEXT)<<2|decoder.readBit(contexts,UNIFORM_CONTEXT)<<1|decoder.readBit(contexts,UNIFORM_CONTEXT);if(symbol!==0xa){throw new JpxError(\"Invalid segmentation symbol\");}}};return BitModel;}();var Transform=function TransformClosure(){function Transform(){}Transform.prototype.calculate=function transformCalculate(subbands,u0,v0){var ll=subbands[0];for(var i=1,ii=subbands.length;i<ii;i++){ll=this.iterate(ll,subbands[i],u0,v0);}return ll;};Transform.prototype.extend=function extend(buffer,offset,size){var i1=offset-1,j1=offset+1;var i2=offset+size-2,j2=offset+size;buffer[i1--]=buffer[j1++];buffer[j2++]=buffer[i2--];buffer[i1--]=buffer[j1++];buffer[j2++]=buffer[i2--];buffer[i1--]=buffer[j1++];buffer[j2++]=buffer[i2--];buffer[i1]=buffer[j1];buffer[j2]=buffer[i2];};Transform.prototype.iterate=function Transform_iterate(ll,hl_lh_hh,u0,v0){var llWidth=ll.width,llHeight=ll.height,llItems=ll.items;var width=hl_lh_hh.width;var height=hl_lh_hh.height;var items=hl_lh_hh.items;var i,j,k,l,u,v;for(k=0,i=0;i<llHeight;i++){l=i*2*width;for(j=0;j<llWidth;j++,k++,l+=2){items[l]=llItems[k];}}llItems=ll.items=null;var bufferPadding=4;var rowBuffer=new Float32Array(width+2*bufferPadding);if(width===1){if((u0&1)!==0){for(v=0,k=0;v<height;v++,k+=width){items[k]*=0.5;}}}else{for(v=0,k=0;v<height;v++,k+=width){rowBuffer.set(items.subarray(k,k+width),bufferPadding);this.extend(rowBuffer,bufferPadding,width);this.filter(rowBuffer,bufferPadding,width);items.set(rowBuffer.subarray(bufferPadding,bufferPadding+width),k);}}var numBuffers=16;var colBuffers=[];for(i=0;i<numBuffers;i++){colBuffers.push(new Float32Array(height+2*bufferPadding));}var b,currentBuffer=0;ll=bufferPadding+height;if(height===1){if((v0&1)!==0){for(u=0;u<width;u++){items[u]*=0.5;}}}else{for(u=0;u<width;u++){if(currentBuffer===0){numBuffers=Math.min(width-u,numBuffers);for(k=u,l=bufferPadding;l<ll;k+=width,l++){for(b=0;b<numBuffers;b++){colBuffers[b][l]=items[k+b];}}currentBuffer=numBuffers;}currentBuffer--;var buffer=colBuffers[currentBuffer];this.extend(buffer,bufferPadding,height);this.filter(buffer,bufferPadding,height);if(currentBuffer===0){k=u-numBuffers+1;for(l=bufferPadding;l<ll;k+=width,l++){for(b=0;b<numBuffers;b++){items[k+b]=colBuffers[b][l];}}}}}return{width:width,height:height,items:items};};return Transform;}();var IrreversibleTransform=function IrreversibleTransformClosure(){function IrreversibleTransform(){Transform.call(this);}IrreversibleTransform.prototype=Object.create(Transform.prototype);IrreversibleTransform.prototype.filter=function irreversibleTransformFilter(x,offset,length){var len=length>>1;offset=offset|0;var j,n,current,next;var alpha=-1.586134342059924;var beta=-0.052980118572961;var gamma=0.882911075530934;var delta=0.443506852043971;var K=1.230174104914001;var K_=1/K;j=offset-3;for(n=len+4;n--;j+=2){x[j]*=K_;}j=offset-2;current=delta*x[j-1];for(n=len+3;n--;j+=2){next=delta*x[j+1];x[j]=K*x[j]-current-next;if(n--){j+=2;current=delta*x[j+1];x[j]=K*x[j]-current-next;}else{break;}}j=offset-1;current=gamma*x[j-1];for(n=len+2;n--;j+=2){next=gamma*x[j+1];x[j]-=current+next;if(n--){j+=2;current=gamma*x[j+1];x[j]-=current+next;}else{break;}}j=offset;current=beta*x[j-1];for(n=len+1;n--;j+=2){next=beta*x[j+1];x[j]-=current+next;if(n--){j+=2;current=beta*x[j+1];x[j]-=current+next;}else{break;}}if(len!==0){j=offset+1;current=alpha*x[j-1];for(n=len;n--;j+=2){next=alpha*x[j+1];x[j]-=current+next;if(n--){j+=2;current=alpha*x[j+1];x[j]-=current+next;}else{break;}}}};return IrreversibleTransform;}();var ReversibleTransform=function ReversibleTransformClosure(){function ReversibleTransform(){Transform.call(this);}ReversibleTransform.prototype=Object.create(Transform.prototype);ReversibleTransform.prototype.filter=function reversibleTransformFilter(x,offset,length){var len=length>>1;offset=offset|0;var j,n;for(j=offset,n=len+1;n--;j+=2){x[j]-=x[j-1]+x[j+1]+2>>2;}for(j=offset+1,n=len;n--;j+=2){x[j]+=x[j-1]+x[j+1]>>1;}};return ReversibleTransform;}();return JpxImage;}();exports.JpxImage=JpxImage;/***/},/* 21 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.calculateSHA512=exports.calculateSHA384=exports.calculateSHA256=exports.calculateMD5=exports.PDF20=exports.PDF17=exports.CipherTransformFactory=exports.ARCFourCipher=exports.AES256Cipher=exports.AES128Cipher=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _stream=__w_pdfjs_require__(11);var ARCFourCipher=function ARCFourCipherClosure(){function ARCFourCipher(key){this.a=0;this.b=0;var s=new Uint8Array(256);var i,j=0,tmp,keyLength=key.length;for(i=0;i<256;++i){s[i]=i;}for(i=0;i<256;++i){tmp=s[i];j=j+tmp+key[i%keyLength]&0xff;s[i]=s[j];s[j]=tmp;}this.s=s;}ARCFourCipher.prototype={encryptBlock:function ARCFourCipher_encryptBlock(data){var i,n=data.length,tmp,tmp2;var a=this.a,b=this.b,s=this.s;var output=new Uint8Array(n);for(i=0;i<n;++i){a=a+1&0xff;tmp=s[a];b=b+tmp&0xff;tmp2=s[b];s[a]=tmp2;s[b]=tmp;output[i]=data[i]^s[tmp+tmp2&0xff];}this.a=a;this.b=b;return output;}};ARCFourCipher.prototype.decryptBlock=ARCFourCipher.prototype.encryptBlock;return ARCFourCipher;}();exports.ARCFourCipher=ARCFourCipher;var calculateMD5=function calculateMD5Closure(){var r=new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]);var k=new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]);function hash(data,offset,length){var h0=1732584193,h1=-271733879,h2=-1732584194,h3=271733878;var paddedLength=length+72&~63;var padded=new Uint8Array(paddedLength);var i,j,n;for(i=0;i<length;++i){padded[i]=data[offset++];}padded[i++]=0x80;n=paddedLength-8;while(i<n){padded[i++]=0;}padded[i++]=length<<3&0xff;padded[i++]=length>>5&0xff;padded[i++]=length>>13&0xff;padded[i++]=length>>21&0xff;padded[i++]=length>>>29&0xff;padded[i++]=0;padded[i++]=0;padded[i++]=0;var w=new Int32Array(16);for(i=0;i<paddedLength;){for(j=0;j<16;++j,i+=4){w[j]=padded[i]|padded[i+1]<<8|padded[i+2]<<16|padded[i+3]<<24;}var a=h0,b=h1,c=h2,d=h3,f,g;for(j=0;j<64;++j){if(j<16){f=b&c|~b&d;g=j;}else if(j<32){f=d&b|~d&c;g=5*j+1&15;}else if(j<48){f=b^c^d;g=3*j+5&15;}else{f=c^(b|~d);g=7*j&15;}var tmp=d,rotateArg=a+f+k[j]+w[g]|0,rotate=r[j];d=c;c=b;b=b+(rotateArg<<rotate|rotateArg>>>32-rotate)|0;a=tmp;}h0=h0+a|0;h1=h1+b|0;h2=h2+c|0;h3=h3+d|0;}return new Uint8Array([h0&0xFF,h0>>8&0xFF,h0>>16&0xFF,h0>>>24&0xFF,h1&0xFF,h1>>8&0xFF,h1>>16&0xFF,h1>>>24&0xFF,h2&0xFF,h2>>8&0xFF,h2>>16&0xFF,h2>>>24&0xFF,h3&0xFF,h3>>8&0xFF,h3>>16&0xFF,h3>>>24&0xFF]);}return hash;}();exports.calculateMD5=calculateMD5;var Word64=function Word64Closure(){function Word64(highInteger,lowInteger){this.high=highInteger|0;this.low=lowInteger|0;}Word64.prototype={and:function Word64_and(word){this.high&=word.high;this.low&=word.low;},xor:function Word64_xor(word){this.high^=word.high;this.low^=word.low;},or:function Word64_or(word){this.high|=word.high;this.low|=word.low;},shiftRight:function Word64_shiftRight(places){if(places>=32){this.low=this.high>>>places-32|0;this.high=0;}else{this.low=this.low>>>places|this.high<<32-places;this.high=this.high>>>places|0;}},shiftLeft:function Word64_shiftLeft(places){if(places>=32){this.high=this.low<<places-32;this.low=0;}else{this.high=this.high<<places|this.low>>>32-places;this.low=this.low<<places;}},rotateRight:function Word64_rotateRight(places){var low,high;if(places&32){high=this.low;low=this.high;}else{low=this.low;high=this.high;}places&=31;this.low=low>>>places|high<<32-places;this.high=high>>>places|low<<32-places;},not:function Word64_not(){this.high=~this.high;this.low=~this.low;},add:function Word64_add(word){var lowAdd=(this.low>>>0)+(word.low>>>0);var highAdd=(this.high>>>0)+(word.high>>>0);if(lowAdd>0xffffffff){highAdd+=1;}this.low=lowAdd|0;this.high=highAdd|0;},copyTo:function Word64_copyTo(bytes,offset){bytes[offset]=this.high>>>24&0xff;bytes[offset+1]=this.high>>16&0xff;bytes[offset+2]=this.high>>8&0xff;bytes[offset+3]=this.high&0xff;bytes[offset+4]=this.low>>>24&0xff;bytes[offset+5]=this.low>>16&0xff;bytes[offset+6]=this.low>>8&0xff;bytes[offset+7]=this.low&0xff;},assign:function Word64_assign(word){this.high=word.high;this.low=word.low;}};return Word64;}();var calculateSHA256=function calculateSHA256Closure(){function rotr(x,n){return x>>>n|x<<32-n;}function ch(x,y,z){return x&y^~x&z;}function maj(x,y,z){return x&y^x&z^y&z;}function sigma(x){return rotr(x,2)^rotr(x,13)^rotr(x,22);}function sigmaPrime(x){return rotr(x,6)^rotr(x,11)^rotr(x,25);}function littleSigma(x){return rotr(x,7)^rotr(x,18)^x>>>3;}function littleSigmaPrime(x){return rotr(x,17)^rotr(x,19)^x>>>10;}var k=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2];function hash(data,offset,length){var h0=0x6a09e667,h1=0xbb67ae85,h2=0x3c6ef372,h3=0xa54ff53a,h4=0x510e527f,h5=0x9b05688c,h6=0x1f83d9ab,h7=0x5be0cd19;var paddedLength=Math.ceil((length+9)/64)*64;var padded=new Uint8Array(paddedLength);var i,j,n;for(i=0;i<length;++i){padded[i]=data[offset++];}padded[i++]=0x80;n=paddedLength-8;while(i<n){padded[i++]=0;}padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=length>>>29&0xff;padded[i++]=length>>21&0xff;padded[i++]=length>>13&0xff;padded[i++]=length>>5&0xff;padded[i++]=length<<3&0xff;var w=new Uint32Array(64);for(i=0;i<paddedLength;){for(j=0;j<16;++j){w[j]=padded[i]<<24|padded[i+1]<<16|padded[i+2]<<8|padded[i+3];i+=4;}for(j=16;j<64;++j){w[j]=littleSigmaPrime(w[j-2])+w[j-7]+littleSigma(w[j-15])+w[j-16]|0;}var a=h0,b=h1,c=h2,d=h3,e=h4,f=h5,g=h6,h=h7,t1,t2;for(j=0;j<64;++j){t1=h+sigmaPrime(e)+ch(e,f,g)+k[j]+w[j];t2=sigma(a)+maj(a,b,c);h=g;g=f;f=e;e=d+t1|0;d=c;c=b;b=a;a=t1+t2|0;}h0=h0+a|0;h1=h1+b|0;h2=h2+c|0;h3=h3+d|0;h4=h4+e|0;h5=h5+f|0;h6=h6+g|0;h7=h7+h|0;}return new Uint8Array([h0>>24&0xFF,h0>>16&0xFF,h0>>8&0xFF,h0&0xFF,h1>>24&0xFF,h1>>16&0xFF,h1>>8&0xFF,h1&0xFF,h2>>24&0xFF,h2>>16&0xFF,h2>>8&0xFF,h2&0xFF,h3>>24&0xFF,h3>>16&0xFF,h3>>8&0xFF,h3&0xFF,h4>>24&0xFF,h4>>16&0xFF,h4>>8&0xFF,h4&0xFF,h5>>24&0xFF,h5>>16&0xFF,h5>>8&0xFF,h5&0xFF,h6>>24&0xFF,h6>>16&0xFF,h6>>8&0xFF,h6&0xFF,h7>>24&0xFF,h7>>16&0xFF,h7>>8&0xFF,h7&0xFF]);}return hash;}();exports.calculateSHA256=calculateSHA256;var calculateSHA512=function calculateSHA512Closure(){function ch(result,x,y,z,tmp){result.assign(x);result.and(y);tmp.assign(x);tmp.not();tmp.and(z);result.xor(tmp);}function maj(result,x,y,z,tmp){result.assign(x);result.and(y);tmp.assign(x);tmp.and(z);result.xor(tmp);tmp.assign(y);tmp.and(z);result.xor(tmp);}function sigma(result,x,tmp){result.assign(x);result.rotateRight(28);tmp.assign(x);tmp.rotateRight(34);result.xor(tmp);tmp.assign(x);tmp.rotateRight(39);result.xor(tmp);}function sigmaPrime(result,x,tmp){result.assign(x);result.rotateRight(14);tmp.assign(x);tmp.rotateRight(18);result.xor(tmp);tmp.assign(x);tmp.rotateRight(41);result.xor(tmp);}function littleSigma(result,x,tmp){result.assign(x);result.rotateRight(1);tmp.assign(x);tmp.rotateRight(8);result.xor(tmp);tmp.assign(x);tmp.shiftRight(7);result.xor(tmp);}function littleSigmaPrime(result,x,tmp){result.assign(x);result.rotateRight(19);tmp.assign(x);tmp.rotateRight(61);result.xor(tmp);tmp.assign(x);tmp.shiftRight(6);result.xor(tmp);}var k=[new Word64(0x428a2f98,0xd728ae22),new Word64(0x71374491,0x23ef65cd),new Word64(0xb5c0fbcf,0xec4d3b2f),new Word64(0xe9b5dba5,0x8189dbbc),new Word64(0x3956c25b,0xf348b538),new Word64(0x59f111f1,0xb605d019),new Word64(0x923f82a4,0xaf194f9b),new Word64(0xab1c5ed5,0xda6d8118),new Word64(0xd807aa98,0xa3030242),new Word64(0x12835b01,0x45706fbe),new Word64(0x243185be,0x4ee4b28c),new Word64(0x550c7dc3,0xd5ffb4e2),new Word64(0x72be5d74,0xf27b896f),new Word64(0x80deb1fe,0x3b1696b1),new Word64(0x9bdc06a7,0x25c71235),new Word64(0xc19bf174,0xcf692694),new Word64(0xe49b69c1,0x9ef14ad2),new Word64(0xefbe4786,0x384f25e3),new Word64(0x0fc19dc6,0x8b8cd5b5),new Word64(0x240ca1cc,0x77ac9c65),new Word64(0x2de92c6f,0x592b0275),new Word64(0x4a7484aa,0x6ea6e483),new Word64(0x5cb0a9dc,0xbd41fbd4),new Word64(0x76f988da,0x831153b5),new Word64(0x983e5152,0xee66dfab),new Word64(0xa831c66d,0x2db43210),new Word64(0xb00327c8,0x98fb213f),new Word64(0xbf597fc7,0xbeef0ee4),new Word64(0xc6e00bf3,0x3da88fc2),new Word64(0xd5a79147,0x930aa725),new Word64(0x06ca6351,0xe003826f),new Word64(0x14292967,0x0a0e6e70),new Word64(0x27b70a85,0x46d22ffc),new Word64(0x2e1b2138,0x5c26c926),new Word64(0x4d2c6dfc,0x5ac42aed),new Word64(0x53380d13,0x9d95b3df),new Word64(0x650a7354,0x8baf63de),new Word64(0x766a0abb,0x3c77b2a8),new Word64(0x81c2c92e,0x47edaee6),new Word64(0x92722c85,0x1482353b),new Word64(0xa2bfe8a1,0x4cf10364),new Word64(0xa81a664b,0xbc423001),new Word64(0xc24b8b70,0xd0f89791),new Word64(0xc76c51a3,0x0654be30),new Word64(0xd192e819,0xd6ef5218),new Word64(0xd6990624,0x5565a910),new Word64(0xf40e3585,0x5771202a),new Word64(0x106aa070,0x32bbd1b8),new Word64(0x19a4c116,0xb8d2d0c8),new Word64(0x1e376c08,0x5141ab53),new Word64(0x2748774c,0xdf8eeb99),new Word64(0x34b0bcb5,0xe19b48a8),new Word64(0x391c0cb3,0xc5c95a63),new Word64(0x4ed8aa4a,0xe3418acb),new Word64(0x5b9cca4f,0x7763e373),new Word64(0x682e6ff3,0xd6b2b8a3),new Word64(0x748f82ee,0x5defb2fc),new Word64(0x78a5636f,0x43172f60),new Word64(0x84c87814,0xa1f0ab72),new Word64(0x8cc70208,0x1a6439ec),new Word64(0x90befffa,0x23631e28),new Word64(0xa4506ceb,0xde82bde9),new Word64(0xbef9a3f7,0xb2c67915),new Word64(0xc67178f2,0xe372532b),new Word64(0xca273ece,0xea26619c),new Word64(0xd186b8c7,0x21c0c207),new Word64(0xeada7dd6,0xcde0eb1e),new Word64(0xf57d4f7f,0xee6ed178),new Word64(0x06f067aa,0x72176fba),new Word64(0x0a637dc5,0xa2c898a6),new Word64(0x113f9804,0xbef90dae),new Word64(0x1b710b35,0x131c471b),new Word64(0x28db77f5,0x23047d84),new Word64(0x32caab7b,0x40c72493),new Word64(0x3c9ebe0a,0x15c9bebc),new Word64(0x431d67c4,0x9c100d4c),new Word64(0x4cc5d4be,0xcb3e42b6),new Word64(0x597f299c,0xfc657e2a),new Word64(0x5fcb6fab,0x3ad6faec),new Word64(0x6c44198c,0x4a475817)];function hash(data,offset,length,mode384){mode384=!!mode384;var h0,h1,h2,h3,h4,h5,h6,h7;if(!mode384){h0=new Word64(0x6a09e667,0xf3bcc908);h1=new Word64(0xbb67ae85,0x84caa73b);h2=new Word64(0x3c6ef372,0xfe94f82b);h3=new Word64(0xa54ff53a,0x5f1d36f1);h4=new Word64(0x510e527f,0xade682d1);h5=new Word64(0x9b05688c,0x2b3e6c1f);h6=new Word64(0x1f83d9ab,0xfb41bd6b);h7=new Word64(0x5be0cd19,0x137e2179);}else{h0=new Word64(0xcbbb9d5d,0xc1059ed8);h1=new Word64(0x629a292a,0x367cd507);h2=new Word64(0x9159015a,0x3070dd17);h3=new Word64(0x152fecd8,0xf70e5939);h4=new Word64(0x67332667,0xffc00b31);h5=new Word64(0x8eb44a87,0x68581511);h6=new Word64(0xdb0c2e0d,0x64f98fa7);h7=new Word64(0x47b5481d,0xbefa4fa4);}var paddedLength=Math.ceil((length+17)/128)*128;var padded=new Uint8Array(paddedLength);var i,j,n;for(i=0;i<length;++i){padded[i]=data[offset++];}padded[i++]=0x80;n=paddedLength-16;while(i<n){padded[i++]=0;}padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=0;padded[i++]=length>>>29&0xff;padded[i++]=length>>21&0xff;padded[i++]=length>>13&0xff;padded[i++]=length>>5&0xff;padded[i++]=length<<3&0xff;var w=new Array(80);for(i=0;i<80;i++){w[i]=new Word64(0,0);}var a=new Word64(0,0),b=new Word64(0,0),c=new Word64(0,0);var d=new Word64(0,0),e=new Word64(0,0),f=new Word64(0,0);var g=new Word64(0,0),h=new Word64(0,0);var t1=new Word64(0,0),t2=new Word64(0,0);var tmp1=new Word64(0,0),tmp2=new Word64(0,0),tmp3;for(i=0;i<paddedLength;){for(j=0;j<16;++j){w[j].high=padded[i]<<24|padded[i+1]<<16|padded[i+2]<<8|padded[i+3];w[j].low=padded[i+4]<<24|padded[i+5]<<16|padded[i+6]<<8|padded[i+7];i+=8;}for(j=16;j<80;++j){tmp3=w[j];littleSigmaPrime(tmp3,w[j-2],tmp2);tmp3.add(w[j-7]);littleSigma(tmp1,w[j-15],tmp2);tmp3.add(tmp1);tmp3.add(w[j-16]);}a.assign(h0);b.assign(h1);c.assign(h2);d.assign(h3);e.assign(h4);f.assign(h5);g.assign(h6);h.assign(h7);for(j=0;j<80;++j){t1.assign(h);sigmaPrime(tmp1,e,tmp2);t1.add(tmp1);ch(tmp1,e,f,g,tmp2);t1.add(tmp1);t1.add(k[j]);t1.add(w[j]);sigma(t2,a,tmp2);maj(tmp1,a,b,c,tmp2);t2.add(tmp1);tmp3=h;h=g;g=f;f=e;d.add(t1);e=d;d=c;c=b;b=a;tmp3.assign(t1);tmp3.add(t2);a=tmp3;}h0.add(a);h1.add(b);h2.add(c);h3.add(d);h4.add(e);h5.add(f);h6.add(g);h7.add(h);}var result;if(!mode384){result=new Uint8Array(64);h0.copyTo(result,0);h1.copyTo(result,8);h2.copyTo(result,16);h3.copyTo(result,24);h4.copyTo(result,32);h5.copyTo(result,40);h6.copyTo(result,48);h7.copyTo(result,56);}else{result=new Uint8Array(48);h0.copyTo(result,0);h1.copyTo(result,8);h2.copyTo(result,16);h3.copyTo(result,24);h4.copyTo(result,32);h5.copyTo(result,40);}return result;}return hash;}();exports.calculateSHA512=calculateSHA512;var calculateSHA384=function calculateSHA384Closure(){function hash(data,offset,length){return calculateSHA512(data,offset,length,true);}return hash;}();exports.calculateSHA384=calculateSHA384;var NullCipher=function NullCipherClosure(){function NullCipher(){}NullCipher.prototype={decryptBlock:function NullCipher_decryptBlock(data){return data;}};return NullCipher;}();var AESBaseCipher=/*#__PURE__*/function(){function AESBaseCipher(){_classCallCheck(this,AESBaseCipher);if(this.constructor===AESBaseCipher){(0,_util.unreachable)(\"Cannot initialize AESBaseCipher.\");}this._s=new Uint8Array([0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76,0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0,0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15,0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75,0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84,0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf,0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8,0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2,0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73,0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb,0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79,0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08,0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a,0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e,0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf,0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16]);this._inv_s=new Uint8Array([0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38,0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb,0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87,0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb,0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d,0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e,0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2,0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25,0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16,0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92,0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda,0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84,0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a,0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06,0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02,0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b,0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea,0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73,0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85,0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e,0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89,0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b,0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20,0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4,0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31,0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f,0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d,0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef,0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0,0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61,0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26,0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d]);this._mix=new Uint32Array([0x00000000,0x0e090d0b,0x1c121a16,0x121b171d,0x3824342c,0x362d3927,0x24362e3a,0x2a3f2331,0x70486858,0x7e416553,0x6c5a724e,0x62537f45,0x486c5c74,0x4665517f,0x547e4662,0x5a774b69,0xe090d0b0,0xee99ddbb,0xfc82caa6,0xf28bc7ad,0xd8b4e49c,0xd6bde997,0xc4a6fe8a,0xcaaff381,0x90d8b8e8,0x9ed1b5e3,0x8ccaa2fe,0x82c3aff5,0xa8fc8cc4,0xa6f581cf,0xb4ee96d2,0xbae79bd9,0xdb3bbb7b,0xd532b670,0xc729a16d,0xc920ac66,0xe31f8f57,0xed16825c,0xff0d9541,0xf104984a,0xab73d323,0xa57ade28,0xb761c935,0xb968c43e,0x9357e70f,0x9d5eea04,0x8f45fd19,0x814cf012,0x3bab6bcb,0x35a266c0,0x27b971dd,0x29b07cd6,0x038f5fe7,0x0d8652ec,0x1f9d45f1,0x119448fa,0x4be30393,0x45ea0e98,0x57f11985,0x59f8148e,0x73c737bf,0x7dce3ab4,0x6fd52da9,0x61dc20a2,0xad766df6,0xa37f60fd,0xb16477e0,0xbf6d7aeb,0x955259da,0x9b5b54d1,0x894043cc,0x87494ec7,0xdd3e05ae,0xd33708a5,0xc12c1fb8,0xcf2512b3,0xe51a3182,0xeb133c89,0xf9082b94,0xf701269f,0x4de6bd46,0x43efb04d,0x51f4a750,0x5ffdaa5b,0x75c2896a,0x7bcb8461,0x69d0937c,0x67d99e77,0x3daed51e,0x33a7d815,0x21bccf08,0x2fb5c203,0x058ae132,0x0b83ec39,0x1998fb24,0x1791f62f,0x764dd68d,0x7844db86,0x6a5fcc9b,0x6456c190,0x4e69e2a1,0x4060efaa,0x527bf8b7,0x5c72f5bc,0x0605bed5,0x080cb3de,0x1a17a4c3,0x141ea9c8,0x3e218af9,0x302887f2,0x223390ef,0x2c3a9de4,0x96dd063d,0x98d40b36,0x8acf1c2b,0x84c61120,0xaef93211,0xa0f03f1a,0xb2eb2807,0xbce2250c,0xe6956e65,0xe89c636e,0xfa877473,0xf48e7978,0xdeb15a49,0xd0b85742,0xc2a3405f,0xccaa4d54,0x41ecdaf7,0x4fe5d7fc,0x5dfec0e1,0x53f7cdea,0x79c8eedb,0x77c1e3d0,0x65daf4cd,0x6bd3f9c6,0x31a4b2af,0x3fadbfa4,0x2db6a8b9,0x23bfa5b2,0x09808683,0x07898b88,0x15929c95,0x1b9b919e,0xa17c0a47,0xaf75074c,0xbd6e1051,0xb3671d5a,0x99583e6b,0x97513360,0x854a247d,0x8b432976,0xd134621f,0xdf3d6f14,0xcd267809,0xc32f7502,0xe9105633,0xe7195b38,0xf5024c25,0xfb0b412e,0x9ad7618c,0x94de6c87,0x86c57b9a,0x88cc7691,0xa2f355a0,0xacfa58ab,0xbee14fb6,0xb0e842bd,0xea9f09d4,0xe49604df,0xf68d13c2,0xf8841ec9,0xd2bb3df8,0xdcb230f3,0xcea927ee,0xc0a02ae5,0x7a47b13c,0x744ebc37,0x6655ab2a,0x685ca621,0x42638510,0x4c6a881b,0x5e719f06,0x5078920d,0x0a0fd964,0x0406d46f,0x161dc372,0x1814ce79,0x322bed48,0x3c22e043,0x2e39f75e,0x2030fa55,0xec9ab701,0xe293ba0a,0xf088ad17,0xfe81a01c,0xd4be832d,0xdab78e26,0xc8ac993b,0xc6a59430,0x9cd2df59,0x92dbd252,0x80c0c54f,0x8ec9c844,0xa4f6eb75,0xaaffe67e,0xb8e4f163,0xb6edfc68,0x0c0a67b1,0x02036aba,0x10187da7,0x1e1170ac,0x342e539d,0x3a275e96,0x283c498b,0x26354480,0x7c420fe9,0x724b02e2,0x605015ff,0x6e5918f4,0x44663bc5,0x4a6f36ce,0x587421d3,0x567d2cd8,0x37a10c7a,0x39a80171,0x2bb3166c,0x25ba1b67,0x0f853856,0x018c355d,0x13972240,0x1d9e2f4b,0x47e96422,0x49e06929,0x5bfb7e34,0x55f2733f,0x7fcd500e,0x71c45d05,0x63df4a18,0x6dd64713,0xd731dcca,0xd938d1c1,0xcb23c6dc,0xc52acbd7,0xef15e8e6,0xe11ce5ed,0xf307f2f0,0xfd0efffb,0xa779b492,0xa970b999,0xbb6bae84,0xb562a38f,0x9f5d80be,0x91548db5,0x834f9aa8,0x8d4697a3]);this._mixCol=new Uint8Array(256);for(var i=0;i<256;i++){if(i<128){this._mixCol[i]=i<<1;}else{this._mixCol[i]=i<<1^0x1b;}}this.buffer=new Uint8Array(16);this.bufferPosition=0;}_createClass(AESBaseCipher,[{key:\"_expandKey\",value:function _expandKey(cipherKey){(0,_util.unreachable)(\"Cannot call `_expandKey` on the base class\");}},{key:\"_decrypt\",value:function _decrypt(input,key){var t,u,v;var state=new Uint8Array(16);state.set(input);for(var j=0,k=this._keySize;j<16;++j,++k){state[j]^=key[k];}for(var i=this._cyclesOfRepetition-1;i>=1;--i){t=state[13];state[13]=state[9];state[9]=state[5];state[5]=state[1];state[1]=t;t=state[14];u=state[10];state[14]=state[6];state[10]=state[2];state[6]=t;state[2]=u;t=state[15];u=state[11];v=state[7];state[15]=state[3];state[11]=t;state[7]=u;state[3]=v;for(var _j2=0;_j2<16;++_j2){state[_j2]=this._inv_s[state[_j2]];}for(var _j3=0,_k=i*16;_j3<16;++_j3,++_k){state[_j3]^=key[_k];}for(var _j4=0;_j4<16;_j4+=4){var s0=this._mix[state[_j4]];var s1=this._mix[state[_j4+1]];var s2=this._mix[state[_j4+2]];var s3=this._mix[state[_j4+3]];t=s0^s1>>>8^s1<<24^s2>>>16^s2<<16^s3>>>24^s3<<8;state[_j4]=t>>>24&0xff;state[_j4+1]=t>>16&0xff;state[_j4+2]=t>>8&0xff;state[_j4+3]=t&0xff;}}t=state[13];state[13]=state[9];state[9]=state[5];state[5]=state[1];state[1]=t;t=state[14];u=state[10];state[14]=state[6];state[10]=state[2];state[6]=t;state[2]=u;t=state[15];u=state[11];v=state[7];state[15]=state[3];state[11]=t;state[7]=u;state[3]=v;for(var _j5=0;_j5<16;++_j5){state[_j5]=this._inv_s[state[_j5]];state[_j5]^=key[_j5];}return state;}},{key:\"_encrypt\",value:function _encrypt(input,key){var s=this._s;var t,u,v;var state=new Uint8Array(16);state.set(input);for(var j=0;j<16;++j){state[j]^=key[j];}for(var i=1;i<this._cyclesOfRepetition;i++){for(var _j6=0;_j6<16;++_j6){state[_j6]=s[state[_j6]];}v=state[1];state[1]=state[5];state[5]=state[9];state[9]=state[13];state[13]=v;v=state[2];u=state[6];state[2]=state[10];state[6]=state[14];state[10]=v;state[14]=u;v=state[3];u=state[7];t=state[11];state[3]=state[15];state[7]=v;state[11]=u;state[15]=t;for(var _j7=0;_j7<16;_j7+=4){var s0=state[_j7+0];var s1=state[_j7+1];var s2=state[_j7+2];var s3=state[_j7+3];t=s0^s1^s2^s3;state[_j7+0]^=t^this._mixCol[s0^s1];state[_j7+1]^=t^this._mixCol[s1^s2];state[_j7+2]^=t^this._mixCol[s2^s3];state[_j7+3]^=t^this._mixCol[s3^s0];}for(var _j8=0,k=i*16;_j8<16;++_j8,++k){state[_j8]^=key[k];}}for(var _j9=0;_j9<16;++_j9){state[_j9]=s[state[_j9]];}v=state[1];state[1]=state[5];state[5]=state[9];state[9]=state[13];state[13]=v;v=state[2];u=state[6];state[2]=state[10];state[6]=state[14];state[10]=v;state[14]=u;v=state[3];u=state[7];t=state[11];state[3]=state[15];state[7]=v;state[11]=u;state[15]=t;for(var _j10=0,_k2=this._keySize;_j10<16;++_j10,++_k2){state[_j10]^=key[_k2];}return state;}},{key:\"_decryptBlock2\",value:function _decryptBlock2(data,finalize){var sourceLength=data.length;var buffer=this.buffer,bufferLength=this.bufferPosition;var result=[];var iv=this.iv;for(var i=0;i<sourceLength;++i){buffer[bufferLength]=data[i];++bufferLength;if(bufferLength<16){continue;}var plain=this._decrypt(buffer,this._key);for(var j=0;j<16;++j){plain[j]^=iv[j];}iv=buffer;result.push(plain);buffer=new Uint8Array(16);bufferLength=0;}this.buffer=buffer;this.bufferLength=bufferLength;this.iv=iv;if(result.length===0){return new Uint8Array(0);}var outputLength=16*result.length;if(finalize){var lastBlock=result[result.length-1];var psLen=lastBlock[15];if(psLen<=16){for(var _i12=15,ii=16-psLen;_i12>=ii;--_i12){if(lastBlock[_i12]!==psLen){psLen=0;break;}}outputLength-=psLen;result[result.length-1]=lastBlock.subarray(0,16-psLen);}}var output=new Uint8Array(outputLength);for(var _i13=0,_j11=0,_ii4=result.length;_i13<_ii4;++_i13,_j11+=16){output.set(result[_i13],_j11);}return output;}},{key:\"decryptBlock\",value:function decryptBlock(data,finalize){var iv=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var sourceLength=data.length;var buffer=this.buffer;var bufferLength=this.bufferPosition;if(iv){this.iv=iv;}else{for(var i=0;bufferLength<16&&i<sourceLength;++i,++bufferLength){buffer[bufferLength]=data[i];}if(bufferLength<16){this.bufferLength=bufferLength;return new Uint8Array(0);}this.iv=buffer;data=data.subarray(16);}this.buffer=new Uint8Array(16);this.bufferLength=0;this.decryptBlock=this._decryptBlock2;return this.decryptBlock(data,finalize);}},{key:\"encrypt\",value:function encrypt(data,iv){var sourceLength=data.length;var buffer=this.buffer,bufferLength=this.bufferPosition;var result=[];if(!iv){iv=new Uint8Array(16);}for(var i=0;i<sourceLength;++i){buffer[bufferLength]=data[i];++bufferLength;if(bufferLength<16){continue;}for(var j=0;j<16;++j){buffer[j]^=iv[j];}var cipher=this._encrypt(buffer,this._key);iv=cipher;result.push(cipher);buffer=new Uint8Array(16);bufferLength=0;}this.buffer=buffer;this.bufferLength=bufferLength;this.iv=iv;if(result.length===0){return new Uint8Array(0);}var outputLength=16*result.length;var output=new Uint8Array(outputLength);for(var _i14=0,_j12=0,ii=result.length;_i14<ii;++_i14,_j12+=16){output.set(result[_i14],_j12);}return output;}}]);return AESBaseCipher;}();var AES128Cipher=/*#__PURE__*/function(_AESBaseCipher){_inherits(AES128Cipher,_AESBaseCipher);var _super20=_createSuper(AES128Cipher);function AES128Cipher(key){var _this22;_classCallCheck(this,AES128Cipher);_this22=_super20.call(this);_this22._cyclesOfRepetition=10;_this22._keySize=160;_this22._rcon=new Uint8Array([0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d]);_this22._key=_this22._expandKey(key);return _this22;}_createClass(AES128Cipher,[{key:\"_expandKey\",value:function _expandKey(cipherKey){var b=176;var s=this._s;var rcon=this._rcon;var result=new Uint8Array(b);result.set(cipherKey);for(var j=16,i=1;j<b;++i){var t1=result[j-3];var t2=result[j-2];var t3=result[j-1];var t4=result[j-4];t1=s[t1];t2=s[t2];t3=s[t3];t4=s[t4];t1=t1^rcon[i];for(var n=0;n<4;++n){result[j]=t1^=result[j-16];j++;result[j]=t2^=result[j-16];j++;result[j]=t3^=result[j-16];j++;result[j]=t4^=result[j-16];j++;}}return result;}}]);return AES128Cipher;}(AESBaseCipher);exports.AES128Cipher=AES128Cipher;var AES256Cipher=/*#__PURE__*/function(_AESBaseCipher2){_inherits(AES256Cipher,_AESBaseCipher2);var _super21=_createSuper(AES256Cipher);function AES256Cipher(key){var _this23;_classCallCheck(this,AES256Cipher);_this23=_super21.call(this);_this23._cyclesOfRepetition=14;_this23._keySize=224;_this23._key=_this23._expandKey(key);return _this23;}_createClass(AES256Cipher,[{key:\"_expandKey\",value:function _expandKey(cipherKey){var b=240;var s=this._s;var result=new Uint8Array(b);result.set(cipherKey);var r=1;var t1,t2,t3,t4;for(var j=32,i=1;j<b;++i){if(j%32===16){t1=s[t1];t2=s[t2];t3=s[t3];t4=s[t4];}else if(j%32===0){t1=result[j-3];t2=result[j-2];t3=result[j-1];t4=result[j-4];t1=s[t1];t2=s[t2];t3=s[t3];t4=s[t4];t1=t1^r;if((r<<=1)>=256){r=(r^0x1b)&0xff;}}for(var n=0;n<4;++n){result[j]=t1^=result[j-32];j++;result[j]=t2^=result[j-32];j++;result[j]=t3^=result[j-32];j++;result[j]=t4^=result[j-32];j++;}}return result;}}]);return AES256Cipher;}(AESBaseCipher);exports.AES256Cipher=AES256Cipher;var PDF17=function PDF17Closure(){function compareByteArrays(array1,array2){if(array1.length!==array2.length){return false;}for(var i=0;i<array1.length;i++){if(array1[i]!==array2[i]){return false;}}return true;}function PDF17(){}PDF17.prototype={checkOwnerPassword:function PDF17_checkOwnerPassword(password,ownerValidationSalt,userBytes,ownerPassword){var hashData=new Uint8Array(password.length+56);hashData.set(password,0);hashData.set(ownerValidationSalt,password.length);hashData.set(userBytes,password.length+ownerValidationSalt.length);var result=calculateSHA256(hashData,0,hashData.length);return compareByteArrays(result,ownerPassword);},checkUserPassword:function PDF17_checkUserPassword(password,userValidationSalt,userPassword){var hashData=new Uint8Array(password.length+8);hashData.set(password,0);hashData.set(userValidationSalt,password.length);var result=calculateSHA256(hashData,0,hashData.length);return compareByteArrays(result,userPassword);},getOwnerKey:function PDF17_getOwnerKey(password,ownerKeySalt,userBytes,ownerEncryption){var hashData=new Uint8Array(password.length+56);hashData.set(password,0);hashData.set(ownerKeySalt,password.length);hashData.set(userBytes,password.length+ownerKeySalt.length);var key=calculateSHA256(hashData,0,hashData.length);var cipher=new AES256Cipher(key);return cipher.decryptBlock(ownerEncryption,false,new Uint8Array(16));},getUserKey:function PDF17_getUserKey(password,userKeySalt,userEncryption){var hashData=new Uint8Array(password.length+8);hashData.set(password,0);hashData.set(userKeySalt,password.length);var key=calculateSHA256(hashData,0,hashData.length);var cipher=new AES256Cipher(key);return cipher.decryptBlock(userEncryption,false,new Uint8Array(16));}};return PDF17;}();exports.PDF17=PDF17;var PDF20=function PDF20Closure(){function concatArrays(array1,array2){var t=new Uint8Array(array1.length+array2.length);t.set(array1,0);t.set(array2,array1.length);return t;}function calculatePDF20Hash(password,input,userBytes){var k=calculateSHA256(input,0,input.length).subarray(0,32);var e=[0];var i=0;while(i<64||e[e.length-1]>i-32){var arrayLength=password.length+k.length+userBytes.length;var k1=new Uint8Array(arrayLength*64);var array=concatArrays(password,k);array=concatArrays(array,userBytes);for(var j=0,pos=0;j<64;j++,pos+=arrayLength){k1.set(array,pos);}var cipher=new AES128Cipher(k.subarray(0,16));e=cipher.encrypt(k1,k.subarray(16,32));var remainder=0;for(var z=0;z<16;z++){remainder*=256%3;remainder%=3;remainder+=(e[z]>>>0)%3;remainder%=3;}if(remainder===0){k=calculateSHA256(e,0,e.length);}else if(remainder===1){k=calculateSHA384(e,0,e.length);}else if(remainder===2){k=calculateSHA512(e,0,e.length);}i++;}return k.subarray(0,32);}function PDF20(){}function compareByteArrays(array1,array2){if(array1.length!==array2.length){return false;}for(var i=0;i<array1.length;i++){if(array1[i]!==array2[i]){return false;}}return true;}PDF20.prototype={hash:function PDF20_hash(password,concatBytes,userBytes){return calculatePDF20Hash(password,concatBytes,userBytes);},checkOwnerPassword:function PDF20_checkOwnerPassword(password,ownerValidationSalt,userBytes,ownerPassword){var hashData=new Uint8Array(password.length+56);hashData.set(password,0);hashData.set(ownerValidationSalt,password.length);hashData.set(userBytes,password.length+ownerValidationSalt.length);var result=calculatePDF20Hash(password,hashData,userBytes);return compareByteArrays(result,ownerPassword);},checkUserPassword:function PDF20_checkUserPassword(password,userValidationSalt,userPassword){var hashData=new Uint8Array(password.length+8);hashData.set(password,0);hashData.set(userValidationSalt,password.length);var result=calculatePDF20Hash(password,hashData,[]);return compareByteArrays(result,userPassword);},getOwnerKey:function PDF20_getOwnerKey(password,ownerKeySalt,userBytes,ownerEncryption){var hashData=new Uint8Array(password.length+56);hashData.set(password,0);hashData.set(ownerKeySalt,password.length);hashData.set(userBytes,password.length+ownerKeySalt.length);var key=calculatePDF20Hash(password,hashData,userBytes);var cipher=new AES256Cipher(key);return cipher.decryptBlock(ownerEncryption,false,new Uint8Array(16));},getUserKey:function PDF20_getUserKey(password,userKeySalt,userEncryption){var hashData=new Uint8Array(password.length+8);hashData.set(password,0);hashData.set(userKeySalt,password.length);var key=calculatePDF20Hash(password,hashData,[]);var cipher=new AES256Cipher(key);return cipher.decryptBlock(userEncryption,false,new Uint8Array(16));}};return PDF20;}();exports.PDF20=PDF20;var CipherTransform=function CipherTransformClosure(){function CipherTransform(stringCipherConstructor,streamCipherConstructor){this.StringCipherConstructor=stringCipherConstructor;this.StreamCipherConstructor=streamCipherConstructor;}CipherTransform.prototype={createStream:function CipherTransform_createStream(stream,length){var cipher=new this.StreamCipherConstructor();return new _stream.DecryptStream(stream,length,function cipherTransformDecryptStream(data,finalize){return cipher.decryptBlock(data,finalize);});},decryptString:function CipherTransform_decryptString(s){var cipher=new this.StringCipherConstructor();var data=(0,_util.stringToBytes)(s);data=cipher.decryptBlock(data,true);return(0,_util.bytesToString)(data);}};return CipherTransform;}();var CipherTransformFactory=function CipherTransformFactoryClosure(){var defaultPasswordBytes=new Uint8Array([0x28,0xBF,0x4E,0x5E,0x4E,0x75,0x8A,0x41,0x64,0x00,0x4E,0x56,0xFF,0xFA,0x01,0x08,0x2E,0x2E,0x00,0xB6,0xD0,0x68,0x3E,0x80,0x2F,0x0C,0xA9,0xFE,0x64,0x53,0x69,0x7A]);function createEncryptionKey20(revision,password,ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption,perms){if(password){var passwordLength=Math.min(127,password.length);password=password.subarray(0,passwordLength);}else{password=[];}var pdfAlgorithm;if(revision===6){pdfAlgorithm=new PDF20();}else{pdfAlgorithm=new PDF17();}if(pdfAlgorithm.checkUserPassword(password,userValidationSalt,userPassword)){return pdfAlgorithm.getUserKey(password,userKeySalt,userEncryption);}else if(password.length&&pdfAlgorithm.checkOwnerPassword(password,ownerValidationSalt,uBytes,ownerPassword)){return pdfAlgorithm.getOwnerKey(password,ownerKeySalt,uBytes,ownerEncryption);}return null;}function prepareKeyData(fileId,password,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata){var hashDataSize=40+ownerPassword.length+fileId.length;var hashData=new Uint8Array(hashDataSize),i=0,j,n;if(password){n=Math.min(32,password.length);for(;i<n;++i){hashData[i]=password[i];}}j=0;while(i<32){hashData[i++]=defaultPasswordBytes[j++];}for(j=0,n=ownerPassword.length;j<n;++j){hashData[i++]=ownerPassword[j];}hashData[i++]=flags&0xff;hashData[i++]=flags>>8&0xff;hashData[i++]=flags>>16&0xff;hashData[i++]=flags>>>24&0xff;for(j=0,n=fileId.length;j<n;++j){hashData[i++]=fileId[j];}if(revision>=4&&!encryptMetadata){hashData[i++]=0xff;hashData[i++]=0xff;hashData[i++]=0xff;hashData[i++]=0xff;}var hash=calculateMD5(hashData,0,i);var keyLengthInBytes=keyLength>>3;if(revision>=3){for(j=0;j<50;++j){hash=calculateMD5(hash,0,keyLengthInBytes);}}var encryptionKey=hash.subarray(0,keyLengthInBytes);var cipher,checkData;if(revision>=3){for(i=0;i<32;++i){hashData[i]=defaultPasswordBytes[i];}for(j=0,n=fileId.length;j<n;++j){hashData[i++]=fileId[j];}cipher=new ARCFourCipher(encryptionKey);checkData=cipher.encryptBlock(calculateMD5(hashData,0,i));n=encryptionKey.length;var derivedKey=new Uint8Array(n),k;for(j=1;j<=19;++j){for(k=0;k<n;++k){derivedKey[k]=encryptionKey[k]^j;}cipher=new ARCFourCipher(derivedKey);checkData=cipher.encryptBlock(checkData);}for(j=0,n=checkData.length;j<n;++j){if(userPassword[j]!==checkData[j]){return null;}}}else{cipher=new ARCFourCipher(encryptionKey);checkData=cipher.encryptBlock(defaultPasswordBytes);for(j=0,n=checkData.length;j<n;++j){if(userPassword[j]!==checkData[j]){return null;}}}return encryptionKey;}function decodeUserPassword(password,ownerPassword,revision,keyLength){var hashData=new Uint8Array(32),i=0,j,n;n=Math.min(32,password.length);for(;i<n;++i){hashData[i]=password[i];}j=0;while(i<32){hashData[i++]=defaultPasswordBytes[j++];}var hash=calculateMD5(hashData,0,i);var keyLengthInBytes=keyLength>>3;if(revision>=3){for(j=0;j<50;++j){hash=calculateMD5(hash,0,hash.length);}}var cipher,userPassword;if(revision>=3){userPassword=ownerPassword;var derivedKey=new Uint8Array(keyLengthInBytes),k;for(j=19;j>=0;j--){for(k=0;k<keyLengthInBytes;++k){derivedKey[k]=hash[k]^j;}cipher=new ARCFourCipher(derivedKey);userPassword=cipher.encryptBlock(userPassword);}}else{cipher=new ARCFourCipher(hash.subarray(0,keyLengthInBytes));userPassword=cipher.encryptBlock(ownerPassword);}return userPassword;}var identityName=_primitives.Name.get(\"Identity\");function CipherTransformFactory(dict,fileId,password){var filter=dict.get(\"Filter\");if(!(0,_primitives.isName)(filter,\"Standard\")){throw new _util.FormatError(\"unknown encryption method\");}this.dict=dict;var algorithm=dict.get(\"V\");if(!Number.isInteger(algorithm)||algorithm!==1&&algorithm!==2&&algorithm!==4&&algorithm!==5){throw new _util.FormatError(\"unsupported encryption algorithm\");}this.algorithm=algorithm;var keyLength=dict.get(\"Length\");if(!keyLength){if(algorithm<=3){keyLength=40;}else{var cfDict=dict.get(\"CF\");var streamCryptoName=dict.get(\"StmF\");if((0,_primitives.isDict)(cfDict)&&(0,_primitives.isName)(streamCryptoName)){cfDict.suppressEncryption=true;var handlerDict=cfDict.get(streamCryptoName.name);keyLength=handlerDict&&handlerDict.get(\"Length\")||128;if(keyLength<40){keyLength<<=3;}}}}if(!Number.isInteger(keyLength)||keyLength<40||keyLength%8!==0){throw new _util.FormatError(\"invalid key length\");}var ownerPassword=(0,_util.stringToBytes)(dict.get(\"O\")).subarray(0,32);var userPassword=(0,_util.stringToBytes)(dict.get(\"U\")).subarray(0,32);var flags=dict.get(\"P\");var revision=dict.get(\"R\");var encryptMetadata=(algorithm===4||algorithm===5)&&dict.get(\"EncryptMetadata\")!==false;this.encryptMetadata=encryptMetadata;var fileIdBytes=(0,_util.stringToBytes)(fileId);var passwordBytes;if(password){if(revision===6){try{password=(0,_util.utf8StringToString)(password);}catch(ex){(0,_util.warn)(\"CipherTransformFactory: \"+\"Unable to convert UTF8 encoded password.\");}}passwordBytes=(0,_util.stringToBytes)(password);}var encryptionKey;if(algorithm!==5){encryptionKey=prepareKeyData(fileIdBytes,passwordBytes,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata);}else{var ownerValidationSalt=(0,_util.stringToBytes)(dict.get(\"O\")).subarray(32,40);var ownerKeySalt=(0,_util.stringToBytes)(dict.get(\"O\")).subarray(40,48);var uBytes=(0,_util.stringToBytes)(dict.get(\"U\")).subarray(0,48);var userValidationSalt=(0,_util.stringToBytes)(dict.get(\"U\")).subarray(32,40);var userKeySalt=(0,_util.stringToBytes)(dict.get(\"U\")).subarray(40,48);var ownerEncryption=(0,_util.stringToBytes)(dict.get(\"OE\"));var userEncryption=(0,_util.stringToBytes)(dict.get(\"UE\"));var perms=(0,_util.stringToBytes)(dict.get(\"Perms\"));encryptionKey=createEncryptionKey20(revision,passwordBytes,ownerPassword,ownerValidationSalt,ownerKeySalt,uBytes,userPassword,userValidationSalt,userKeySalt,ownerEncryption,userEncryption,perms);}if(!encryptionKey&&!password){throw new _util.PasswordException(\"No password given\",_util.PasswordResponses.NEED_PASSWORD);}else if(!encryptionKey&&password){var decodedPassword=decodeUserPassword(passwordBytes,ownerPassword,revision,keyLength);encryptionKey=prepareKeyData(fileIdBytes,decodedPassword,ownerPassword,userPassword,flags,revision,keyLength,encryptMetadata);}if(!encryptionKey){throw new _util.PasswordException(\"Incorrect Password\",_util.PasswordResponses.INCORRECT_PASSWORD);}this.encryptionKey=encryptionKey;if(algorithm>=4){var cf=dict.get(\"CF\");if((0,_primitives.isDict)(cf)){cf.suppressEncryption=true;}this.cf=cf;this.stmf=dict.get(\"StmF\")||identityName;this.strf=dict.get(\"StrF\")||identityName;this.eff=dict.get(\"EFF\")||this.stmf;}}function buildObjectKey(num,gen,encryptionKey,isAes){var key=new Uint8Array(encryptionKey.length+9),i,n;for(i=0,n=encryptionKey.length;i<n;++i){key[i]=encryptionKey[i];}key[i++]=num&0xff;key[i++]=num>>8&0xff;key[i++]=num>>16&0xff;key[i++]=gen&0xff;key[i++]=gen>>8&0xff;if(isAes){key[i++]=0x73;key[i++]=0x41;key[i++]=0x6c;key[i++]=0x54;}var hash=calculateMD5(key,0,i);return hash.subarray(0,Math.min(encryptionKey.length+5,16));}function buildCipherConstructor(cf,name,num,gen,key){if(!(0,_primitives.isName)(name)){throw new _util.FormatError(\"Invalid crypt filter name.\");}var cryptFilter=cf.get(name.name);var cfm;if(cryptFilter!==null&&cryptFilter!==undefined){cfm=cryptFilter.get(\"CFM\");}if(!cfm||cfm.name===\"None\"){return function cipherTransformFactoryBuildCipherConstructorNone(){return new NullCipher();};}if(cfm.name===\"V2\"){return function cipherTransformFactoryBuildCipherConstructorV2(){return new ARCFourCipher(buildObjectKey(num,gen,key,false));};}if(cfm.name===\"AESV2\"){return function cipherTransformFactoryBuildCipherConstructorAESV2(){return new AES128Cipher(buildObjectKey(num,gen,key,true));};}if(cfm.name===\"AESV3\"){return function cipherTransformFactoryBuildCipherConstructorAESV3(){return new AES256Cipher(key);};}throw new _util.FormatError(\"Unknown crypto method\");}CipherTransformFactory.prototype={createCipherTransform:function CipherTransformFactory_createCipherTransform(num,gen){if(this.algorithm===4||this.algorithm===5){return new CipherTransform(buildCipherConstructor(this.cf,this.stmf,num,gen,this.encryptionKey),buildCipherConstructor(this.cf,this.strf,num,gen,this.encryptionKey));}var key=buildObjectKey(num,gen,this.encryptionKey,false);var cipherConstructor=function buildCipherCipherConstructor(){return new ARCFourCipher(key);};return new CipherTransform(cipherConstructor,cipherConstructor);}};return CipherTransformFactory;}();exports.CipherTransformFactory=CipherTransformFactory;/***/},/* 22 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.ColorSpace=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);function resizeRgbImage(src,dest,w1,h1,w2,h2,alpha01){var COMPONENTS=3;alpha01=alpha01!==1?0:alpha01;var xRatio=w1/w2;var yRatio=h1/h2;var newIndex=0,oldIndex;var xScaled=new Uint16Array(w2);var w1Scanline=w1*COMPONENTS;for(var i=0;i<w2;i++){xScaled[i]=Math.floor(i*xRatio)*COMPONENTS;}for(var _i15=0;_i15<h2;_i15++){var py=Math.floor(_i15*yRatio)*w1Scanline;for(var j=0;j<w2;j++){oldIndex=py+xScaled[j];dest[newIndex++]=src[oldIndex++];dest[newIndex++]=src[oldIndex++];dest[newIndex++]=src[oldIndex++];newIndex+=alpha01;}}}var ColorSpace=/*#__PURE__*/function(){function ColorSpace(name,numComps){_classCallCheck(this,ColorSpace);if(this.constructor===ColorSpace){(0,_util.unreachable)(\"Cannot initialize ColorSpace.\");}this.name=name;this.numComps=numComps;}_createClass(ColorSpace,[{key:\"getRgb\",value:function getRgb(src,srcOffset){var rgb=new Uint8ClampedArray(3);this.getRgbItem(src,srcOffset,rgb,0);return rgb;}},{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){(0,_util.unreachable)(\"Should not call ColorSpace.getRgbItem\");}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){(0,_util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){(0,_util.unreachable)(\"Should not call ColorSpace.getOutputLength\");}},{key:\"isPassthrough\",value:function isPassthrough(bits){return false;}},{key:\"isDefaultDecode\",value:function isDefaultDecode(decodeMap,bpc){return ColorSpace.isDefaultDecode(decodeMap,this.numComps);}},{key:\"fillRgb\",value:function fillRgb(dest,originalWidth,originalHeight,width,height,actualHeight,bpc,comps,alpha01){var count=originalWidth*originalHeight;var rgbBuf=null;var numComponentColors=1<<bpc;var needsResizing=originalHeight!==height||originalWidth!==width;if(this.isPassthrough(bpc)){rgbBuf=comps;}else if(this.numComps===1&&count>numComponentColors&&this.name!==\"DeviceGray\"&&this.name!==\"DeviceRGB\"){var allColors=bpc<=8?new Uint8Array(numComponentColors):new Uint16Array(numComponentColors);for(var i=0;i<numComponentColors;i++){allColors[i]=i;}var colorMap=new Uint8ClampedArray(numComponentColors*3);this.getRgbBuffer(allColors,0,numComponentColors,colorMap,0,bpc,0);if(!needsResizing){var destPos=0;for(var _i16=0;_i16<count;++_i16){var key=comps[_i16]*3;dest[destPos++]=colorMap[key];dest[destPos++]=colorMap[key+1];dest[destPos++]=colorMap[key+2];destPos+=alpha01;}}else{rgbBuf=new Uint8Array(count*3);var rgbPos=0;for(var _i17=0;_i17<count;++_i17){var _key=comps[_i17]*3;rgbBuf[rgbPos++]=colorMap[_key];rgbBuf[rgbPos++]=colorMap[_key+1];rgbBuf[rgbPos++]=colorMap[_key+2];}}}else{if(!needsResizing){this.getRgbBuffer(comps,0,width*actualHeight,dest,0,bpc,alpha01);}else{rgbBuf=new Uint8ClampedArray(count*3);this.getRgbBuffer(comps,0,count,rgbBuf,0,bpc,0);}}if(rgbBuf){if(needsResizing){resizeRgbImage(rgbBuf,dest,originalWidth,originalHeight,width,height,alpha01);}else{var _destPos=0,_rgbPos=0;for(var _i18=0,ii=width*actualHeight;_i18<ii;_i18++){dest[_destPos++]=rgbBuf[_rgbPos++];dest[_destPos++]=rgbBuf[_rgbPos++];dest[_destPos++]=rgbBuf[_rgbPos++];_destPos+=alpha01;}}}}},{key:\"usesZeroToOneRange\",get:function get(){return(0,_util.shadow)(this,\"usesZeroToOneRange\",true);}}],[{key:\"parse\",value:function parse(cs,xref,res,pdfFunctionFactory){var IR=this.parseToIR(cs,xref,res,pdfFunctionFactory);return this.fromIR(IR);}},{key:\"fromIR\",value:function fromIR(IR){var name=Array.isArray(IR)?IR[0]:IR;var whitePoint,blackPoint,gamma;switch(name){case\"DeviceGrayCS\":return this.singletons.gray;case\"DeviceRgbCS\":return this.singletons.rgb;case\"DeviceCmykCS\":return this.singletons.cmyk;case\"CalGrayCS\":whitePoint=IR[1];blackPoint=IR[2];gamma=IR[3];return new CalGrayCS(whitePoint,blackPoint,gamma);case\"CalRGBCS\":whitePoint=IR[1];blackPoint=IR[2];gamma=IR[3];var matrix=IR[4];return new CalRGBCS(whitePoint,blackPoint,gamma,matrix);case\"PatternCS\":var basePatternCS=IR[1];if(basePatternCS){basePatternCS=this.fromIR(basePatternCS);}return new PatternCS(basePatternCS);case\"IndexedCS\":var baseIndexedCS=IR[1];var hiVal=IR[2];var lookup=IR[3];return new IndexedCS(this.fromIR(baseIndexedCS),hiVal,lookup);case\"AlternateCS\":var numComps=IR[1];var alt=IR[2];var tintFn=IR[3];return new AlternateCS(numComps,this.fromIR(alt),tintFn);case\"LabCS\":whitePoint=IR[1];blackPoint=IR[2];var range=IR[3];return new LabCS(whitePoint,blackPoint,range);default:throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));}}},{key:\"parseToIR\",value:function parseToIR(cs,xref){var res=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var pdfFunctionFactory=arguments.length>3?arguments[3]:undefined;cs=xref.fetchIfRef(cs);if((0,_primitives.isName)(cs)){switch(cs.name){case\"DeviceGray\":case\"G\":return\"DeviceGrayCS\";case\"DeviceRGB\":case\"RGB\":return\"DeviceRgbCS\";case\"DeviceCMYK\":case\"CMYK\":return\"DeviceCmykCS\";case\"Pattern\":return[\"PatternCS\",null];default:if((0,_primitives.isDict)(res)){var colorSpaces=res.get(\"ColorSpace\");if((0,_primitives.isDict)(colorSpaces)){var resCS=colorSpaces.get(cs.name);if(resCS){if((0,_primitives.isName)(resCS)){return this.parseToIR(resCS,xref,res,pdfFunctionFactory);}cs=resCS;break;}}}throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));}}if(Array.isArray(cs)){var mode=xref.fetchIfRef(cs[0]).name;var numComps,params,alt,whitePoint,blackPoint,gamma;switch(mode){case\"DeviceGray\":case\"G\":return\"DeviceGrayCS\";case\"DeviceRGB\":case\"RGB\":return\"DeviceRgbCS\";case\"DeviceCMYK\":case\"CMYK\":return\"DeviceCmykCS\";case\"CalGray\":params=xref.fetchIfRef(cs[1]);whitePoint=params.getArray(\"WhitePoint\");blackPoint=params.getArray(\"BlackPoint\");gamma=params.get(\"Gamma\");return[\"CalGrayCS\",whitePoint,blackPoint,gamma];case\"CalRGB\":params=xref.fetchIfRef(cs[1]);whitePoint=params.getArray(\"WhitePoint\");blackPoint=params.getArray(\"BlackPoint\");gamma=params.getArray(\"Gamma\");var matrix=params.getArray(\"Matrix\");return[\"CalRGBCS\",whitePoint,blackPoint,gamma,matrix];case\"ICCBased\":var stream=xref.fetchIfRef(cs[1]);var dict=stream.dict;numComps=dict.get(\"N\");alt=dict.get(\"Alternate\");if(alt){var altIR=this.parseToIR(alt,xref,res,pdfFunctionFactory);var altCS=this.fromIR(altIR,pdfFunctionFactory);if(altCS.numComps===numComps){return altIR;}(0,_util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");}if(numComps===1){return\"DeviceGrayCS\";}else if(numComps===3){return\"DeviceRgbCS\";}else if(numComps===4){return\"DeviceCmykCS\";}break;case\"Pattern\":var basePatternCS=cs[1]||null;if(basePatternCS){basePatternCS=this.parseToIR(basePatternCS,xref,res,pdfFunctionFactory);}return[\"PatternCS\",basePatternCS];case\"Indexed\":case\"I\":var baseIndexedCS=this.parseToIR(cs[1],xref,res,pdfFunctionFactory);var hiVal=xref.fetchIfRef(cs[2])+1;var lookup=xref.fetchIfRef(cs[3]);if((0,_primitives.isStream)(lookup)){lookup=lookup.getBytes();}return[\"IndexedCS\",baseIndexedCS,hiVal,lookup];case\"Separation\":case\"DeviceN\":var name=xref.fetchIfRef(cs[1]);numComps=Array.isArray(name)?name.length:1;alt=this.parseToIR(cs[2],xref,res,pdfFunctionFactory);var tintFn=pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));return[\"AlternateCS\",numComps,alt,tintFn];case\"Lab\":params=xref.fetchIfRef(cs[1]);whitePoint=params.getArray(\"WhitePoint\");blackPoint=params.getArray(\"BlackPoint\");var range=params.getArray(\"Range\");return[\"LabCS\",whitePoint,blackPoint,range];default:throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode,\"\\\"\"));}}throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs,\"\\\"\"));}},{key:\"isDefaultDecode\",value:function isDefaultDecode(decode,numComps){if(!Array.isArray(decode)){return true;}if(numComps*2!==decode.length){(0,_util.warn)(\"The decode map is not the correct length\");return true;}for(var i=0,ii=decode.length;i<ii;i+=2){if(decode[i]!==0||decode[i+1]!==1){return false;}}return true;}},{key:\"singletons\",get:function get(){return(0,_util.shadow)(this,\"singletons\",{get gray(){return(0,_util.shadow)(this,\"gray\",new DeviceGrayCS());},get rgb(){return(0,_util.shadow)(this,\"rgb\",new DeviceRgbCS());},get cmyk(){return(0,_util.shadow)(this,\"cmyk\",new DeviceCmykCS());}});}}]);return ColorSpace;}();exports.ColorSpace=ColorSpace;var AlternateCS=/*#__PURE__*/function(_ColorSpace){_inherits(AlternateCS,_ColorSpace);var _super22=_createSuper(AlternateCS);function AlternateCS(numComps,base,tintFn){var _this24;_classCallCheck(this,AlternateCS);_this24=_super22.call(this,\"Alternate\",numComps);_this24.base=base;_this24.tintFn=tintFn;_this24.tmpBuf=new Float32Array(base.numComps);return _this24;}_createClass(AlternateCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){var tmpBuf=this.tmpBuf;this.tintFn(src,srcOffset,tmpBuf,0);this.base.getRgbItem(tmpBuf,0,dest,destOffset);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var tintFn=this.tintFn;var base=this.base;var scale=1/((1<<bits)-1);var baseNumComps=base.numComps;var usesZeroToOneRange=base.usesZeroToOneRange;var isPassthrough=(base.isPassthrough(8)||!usesZeroToOneRange)&&alpha01===0;var pos=isPassthrough?destOffset:0;var baseBuf=isPassthrough?dest:new Uint8ClampedArray(baseNumComps*count);var numComps=this.numComps;var scaled=new Float32Array(numComps);var tinted=new Float32Array(baseNumComps);var i,j;for(i=0;i<count;i++){for(j=0;j<numComps;j++){scaled[j]=src[srcOffset++]*scale;}tintFn(scaled,0,tinted,0);if(usesZeroToOneRange){for(j=0;j<baseNumComps;j++){baseBuf[pos++]=tinted[j]*255;}}else{base.getRgbItem(tinted,0,baseBuf,pos);pos+=baseNumComps;}}if(!isPassthrough){base.getRgbBuffer(baseBuf,0,count,dest,destOffset,8,alpha01);}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return this.base.getOutputLength(inputLength*this.base.numComps/this.numComps,alpha01);}}]);return AlternateCS;}(ColorSpace);var PatternCS=/*#__PURE__*/function(_ColorSpace2){_inherits(PatternCS,_ColorSpace2);var _super23=_createSuper(PatternCS);function PatternCS(baseCS){var _this25;_classCallCheck(this,PatternCS);_this25=_super23.call(this,\"Pattern\",null);_this25.base=baseCS;return _this25;}_createClass(PatternCS,[{key:\"isDefaultDecode\",value:function isDefaultDecode(decodeMap,bpc){(0,_util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");}}]);return PatternCS;}(ColorSpace);var IndexedCS=/*#__PURE__*/function(_ColorSpace3){_inherits(IndexedCS,_ColorSpace3);var _super24=_createSuper(IndexedCS);function IndexedCS(base,highVal,lookup){var _this26;_classCallCheck(this,IndexedCS);_this26=_super24.call(this,\"Indexed\",1);_this26.base=base;_this26.highVal=highVal;var baseNumComps=base.numComps;var length=baseNumComps*highVal;if((0,_primitives.isStream)(lookup)){_this26.lookup=new Uint8Array(length);var bytes=lookup.getBytes(length);_this26.lookup.set(bytes);}else if((0,_util.isString)(lookup)){_this26.lookup=new Uint8Array(length);for(var i=0;i<length;++i){_this26.lookup[i]=lookup.charCodeAt(i);}}else if(lookup instanceof Uint8Array){_this26.lookup=lookup;}else{throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));}return _this26;}_createClass(IndexedCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){var numComps=this.base.numComps;var start=src[srcOffset]*numComps;this.base.getRgbBuffer(this.lookup,start,1,dest,destOffset,8,0);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var base=this.base;var numComps=base.numComps;var outputDelta=base.getOutputLength(numComps,alpha01);var lookup=this.lookup;for(var i=0;i<count;++i){var lookupPos=src[srcOffset++]*numComps;base.getRgbBuffer(lookup,lookupPos,1,dest,destOffset,8,alpha01);destOffset+=outputDelta;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return this.base.getOutputLength(inputLength*this.base.numComps,alpha01);}},{key:\"isDefaultDecode\",value:function isDefaultDecode(decodeMap,bpc){if(!Array.isArray(decodeMap)){return true;}if(decodeMap.length!==2){(0,_util.warn)(\"Decode map length is not correct\");return true;}if(!Number.isInteger(bpc)||bpc<1){(0,_util.warn)(\"Bits per component is not correct\");return true;}return decodeMap[0]===0&&decodeMap[1]===(1<<bpc)-1;}}]);return IndexedCS;}(ColorSpace);var DeviceGrayCS=/*#__PURE__*/function(_ColorSpace4){_inherits(DeviceGrayCS,_ColorSpace4);var _super25=_createSuper(DeviceGrayCS);function DeviceGrayCS(){_classCallCheck(this,DeviceGrayCS);return _super25.call(this,\"DeviceGray\",1);}_createClass(DeviceGrayCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){var c=src[srcOffset]*255;dest[destOffset]=dest[destOffset+1]=dest[destOffset+2]=c;}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var scale=255/((1<<bits)-1);var j=srcOffset,q=destOffset;for(var i=0;i<count;++i){var c=scale*src[j++];dest[q++]=c;dest[q++]=c;dest[q++]=c;q+=alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength*(3+alpha01);}}]);return DeviceGrayCS;}(ColorSpace);var DeviceRgbCS=/*#__PURE__*/function(_ColorSpace5){_inherits(DeviceRgbCS,_ColorSpace5);var _super26=_createSuper(DeviceRgbCS);function DeviceRgbCS(){_classCallCheck(this,DeviceRgbCS);return _super26.call(this,\"DeviceRGB\",3);}_createClass(DeviceRgbCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){dest[destOffset]=src[srcOffset]*255;dest[destOffset+1]=src[srcOffset+1]*255;dest[destOffset+2]=src[srcOffset+2]*255;}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){if(bits===8&&alpha01===0){dest.set(src.subarray(srcOffset,srcOffset+count*3),destOffset);return;}var scale=255/((1<<bits)-1);var j=srcOffset,q=destOffset;for(var i=0;i<count;++i){dest[q++]=scale*src[j++];dest[q++]=scale*src[j++];dest[q++]=scale*src[j++];q+=alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength*(3+alpha01)/3|0;}},{key:\"isPassthrough\",value:function isPassthrough(bits){return bits===8;}}]);return DeviceRgbCS;}(ColorSpace);var DeviceCmykCS=function DeviceCmykCSClosure(){function convertToRgb(src,srcOffset,srcScale,dest,destOffset){var c=src[srcOffset]*srcScale;var m=src[srcOffset+1]*srcScale;var y=src[srcOffset+2]*srcScale;var k=src[srcOffset+3]*srcScale;dest[destOffset]=255+c*(-4.387332384609988*c+54.48615194189176*m+18.82290502165302*y+212.25662451639585*k+-285.2331026137004)+m*(1.7149763477362134*m-5.6096736904047315*y+-17.873870861415444*k-5.497006427196366)+y*(-2.5217340131683033*y-21.248923337353073*k+17.5119270841813)+k*(-21.86122147463605*k-189.48180835922747);dest[destOffset+1]=255+c*(8.841041422036149*c+60.118027045597366*m+6.871425592049007*y+31.159100130055922*k+-79.2970844816548)+m*(-15.310361306967817*m+17.575251261109482*y+131.35250912493976*k-190.9453302588951)+y*(4.444339102852739*y+9.8632861493405*k-24.86741582555878)+k*(-20.737325471181034*k-187.80453709719578);dest[destOffset+2]=255+c*(0.8842522430003296*c+8.078677503112928*m+30.89978309703729*y-0.23883238689178934*k+-14.183576799673286)+m*(10.49593273432072*m+63.02378494754052*y+50.606957656360734*k-112.23884253719248)+y*(0.03296041114873217*y+115.60384449646641*k+-193.58209356861505)+k*(-22.33816807309886*k-180.12613974708367);}var DeviceCmykCS=/*#__PURE__*/function(_ColorSpace6){_inherits(DeviceCmykCS,_ColorSpace6);var _super27=_createSuper(DeviceCmykCS);function DeviceCmykCS(){_classCallCheck(this,DeviceCmykCS);return _super27.call(this,\"DeviceCMYK\",4);}_createClass(DeviceCmykCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){convertToRgb(src,srcOffset,1,dest,destOffset);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var scale=1/((1<<bits)-1);for(var i=0;i<count;i++){convertToRgb(src,srcOffset,scale,dest,destOffset);srcOffset+=4;destOffset+=3+alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength/4*(3+alpha01)|0;}}]);return DeviceCmykCS;}(ColorSpace);return DeviceCmykCS;}();var CalGrayCS=function CalGrayCSClosure(){function convertToRgb(cs,src,srcOffset,dest,destOffset,scale){var A=src[srcOffset]*scale;var AG=Math.pow(A,cs.G);var L=cs.YW*AG;var val=Math.max(295.8*Math.pow(L,0.333333333333333333)-40.8,0);dest[destOffset]=val;dest[destOffset+1]=val;dest[destOffset+2]=val;}var CalGrayCS=/*#__PURE__*/function(_ColorSpace7){_inherits(CalGrayCS,_ColorSpace7);var _super28=_createSuper(CalGrayCS);function CalGrayCS(whitePoint,blackPoint,gamma){var _this27;_classCallCheck(this,CalGrayCS);_this27=_super28.call(this,\"CalGray\",1);if(!whitePoint){throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");}blackPoint=blackPoint||[0,0,0];gamma=gamma||1;_this27.XW=whitePoint[0];_this27.YW=whitePoint[1];_this27.ZW=whitePoint[2];_this27.XB=blackPoint[0];_this27.YB=blackPoint[1];_this27.ZB=blackPoint[2];_this27.G=gamma;if(_this27.XW<0||_this27.ZW<0||_this27.YW!==1){throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this27.name)+\", no fallback available\");}if(_this27.XB<0||_this27.YB<0||_this27.ZB<0){(0,_util.info)(\"Invalid BlackPoint for \".concat(_this27.name,\", falling back to default.\"));_this27.XB=_this27.YB=_this27.ZB=0;}if(_this27.XB!==0||_this27.YB!==0||_this27.ZB!==0){(0,_util.warn)(\"\".concat(_this27.name,\", BlackPoint: XB: \").concat(_this27.XB,\", YB: \").concat(_this27.YB,\", \")+\"ZB: \".concat(_this27.ZB,\", only default values are supported.\"));}if(_this27.G<1){(0,_util.info)(\"Invalid Gamma: \".concat(_this27.G,\" for \").concat(_this27.name,\", \")+\"falling back to default.\");_this27.G=1;}return _this27;}_createClass(CalGrayCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,dest,destOffset,1);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var scale=1/((1<<bits)-1);for(var i=0;i<count;++i){convertToRgb(this,src,srcOffset,dest,destOffset,scale);srcOffset+=1;destOffset+=3+alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength*(3+alpha01);}}]);return CalGrayCS;}(ColorSpace);return CalGrayCS;}();var CalRGBCS=function CalRGBCSClosure(){var BRADFORD_SCALE_MATRIX=new Float32Array([0.8951,0.2664,-0.1614,-0.7502,1.7135,0.0367,0.0389,-0.0685,1.0296]);var BRADFORD_SCALE_INVERSE_MATRIX=new Float32Array([0.9869929,-0.1470543,0.1599627,0.4323053,0.5183603,0.0492912,-0.0085287,0.0400428,0.9684867]);var SRGB_D65_XYZ_TO_RGB_MATRIX=new Float32Array([3.2404542,-1.5371385,-0.4985314,-0.9692660,1.8760108,0.0415560,0.0556434,-0.2040259,1.0572252]);var FLAT_WHITEPOINT_MATRIX=new Float32Array([1,1,1]);var tempNormalizeMatrix=new Float32Array(3);var tempConvertMatrix1=new Float32Array(3);var tempConvertMatrix2=new Float32Array(3);var DECODE_L_CONSTANT=Math.pow((8+16)/116,3)/8.0;function matrixProduct(a,b,result){result[0]=a[0]*b[0]+a[1]*b[1]+a[2]*b[2];result[1]=a[3]*b[0]+a[4]*b[1]+a[5]*b[2];result[2]=a[6]*b[0]+a[7]*b[1]+a[8]*b[2];}function convertToFlat(sourceWhitePoint,LMS,result){result[0]=LMS[0]*1/sourceWhitePoint[0];result[1]=LMS[1]*1/sourceWhitePoint[1];result[2]=LMS[2]*1/sourceWhitePoint[2];}function convertToD65(sourceWhitePoint,LMS,result){var D65X=0.95047;var D65Y=1;var D65Z=1.08883;result[0]=LMS[0]*D65X/sourceWhitePoint[0];result[1]=LMS[1]*D65Y/sourceWhitePoint[1];result[2]=LMS[2]*D65Z/sourceWhitePoint[2];}function sRGBTransferFunction(color){if(color<=0.0031308){return adjustToRange(0,1,12.92*color);}return adjustToRange(0,1,(1+0.055)*Math.pow(color,1/2.4)-0.055);}function adjustToRange(min,max,value){return Math.max(min,Math.min(max,value));}function decodeL(L){if(L<0){return-decodeL(-L);}if(L>8.0){return Math.pow((L+16)/116,3);}return L*DECODE_L_CONSTANT;}function compensateBlackPoint(sourceBlackPoint,XYZ_Flat,result){if(sourceBlackPoint[0]===0&&sourceBlackPoint[1]===0&&sourceBlackPoint[2]===0){result[0]=XYZ_Flat[0];result[1]=XYZ_Flat[1];result[2]=XYZ_Flat[2];return;}var zeroDecodeL=decodeL(0);var X_DST=zeroDecodeL;var X_SRC=decodeL(sourceBlackPoint[0]);var Y_DST=zeroDecodeL;var Y_SRC=decodeL(sourceBlackPoint[1]);var Z_DST=zeroDecodeL;var Z_SRC=decodeL(sourceBlackPoint[2]);var X_Scale=(1-X_DST)/(1-X_SRC);var X_Offset=1-X_Scale;var Y_Scale=(1-Y_DST)/(1-Y_SRC);var Y_Offset=1-Y_Scale;var Z_Scale=(1-Z_DST)/(1-Z_SRC);var Z_Offset=1-Z_Scale;result[0]=XYZ_Flat[0]*X_Scale+X_Offset;result[1]=XYZ_Flat[1]*Y_Scale+Y_Offset;result[2]=XYZ_Flat[2]*Z_Scale+Z_Offset;}function normalizeWhitePointToFlat(sourceWhitePoint,XYZ_In,result){if(sourceWhitePoint[0]===1&&sourceWhitePoint[2]===1){result[0]=XYZ_In[0];result[1]=XYZ_In[1];result[2]=XYZ_In[2];return;}var LMS=result;matrixProduct(BRADFORD_SCALE_MATRIX,XYZ_In,LMS);var LMS_Flat=tempNormalizeMatrix;convertToFlat(sourceWhitePoint,LMS,LMS_Flat);matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX,LMS_Flat,result);}function normalizeWhitePointToD65(sourceWhitePoint,XYZ_In,result){var LMS=result;matrixProduct(BRADFORD_SCALE_MATRIX,XYZ_In,LMS);var LMS_D65=tempNormalizeMatrix;convertToD65(sourceWhitePoint,LMS,LMS_D65);matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX,LMS_D65,result);}function convertToRgb(cs,src,srcOffset,dest,destOffset,scale){var A=adjustToRange(0,1,src[srcOffset]*scale);var B=adjustToRange(0,1,src[srcOffset+1]*scale);var C=adjustToRange(0,1,src[srcOffset+2]*scale);var AGR=Math.pow(A,cs.GR);var BGG=Math.pow(B,cs.GG);var CGB=Math.pow(C,cs.GB);var X=cs.MXA*AGR+cs.MXB*BGG+cs.MXC*CGB;var Y=cs.MYA*AGR+cs.MYB*BGG+cs.MYC*CGB;var Z=cs.MZA*AGR+cs.MZB*BGG+cs.MZC*CGB;var XYZ=tempConvertMatrix1;XYZ[0]=X;XYZ[1]=Y;XYZ[2]=Z;var XYZ_Flat=tempConvertMatrix2;normalizeWhitePointToFlat(cs.whitePoint,XYZ,XYZ_Flat);var XYZ_Black=tempConvertMatrix1;compensateBlackPoint(cs.blackPoint,XYZ_Flat,XYZ_Black);var XYZ_D65=tempConvertMatrix2;normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX,XYZ_Black,XYZ_D65);var SRGB=tempConvertMatrix1;matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX,XYZ_D65,SRGB);dest[destOffset]=sRGBTransferFunction(SRGB[0])*255;dest[destOffset+1]=sRGBTransferFunction(SRGB[1])*255;dest[destOffset+2]=sRGBTransferFunction(SRGB[2])*255;}var CalRGBCS=/*#__PURE__*/function(_ColorSpace8){_inherits(CalRGBCS,_ColorSpace8);var _super29=_createSuper(CalRGBCS);function CalRGBCS(whitePoint,blackPoint,gamma,matrix){var _this28;_classCallCheck(this,CalRGBCS);_this28=_super29.call(this,\"CalRGB\",3);if(!whitePoint){throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");}blackPoint=blackPoint||new Float32Array(3);gamma=gamma||new Float32Array([1,1,1]);matrix=matrix||new Float32Array([1,0,0,0,1,0,0,0,1]);var XW=whitePoint[0];var YW=whitePoint[1];var ZW=whitePoint[2];_this28.whitePoint=whitePoint;var XB=blackPoint[0];var YB=blackPoint[1];var ZB=blackPoint[2];_this28.blackPoint=blackPoint;_this28.GR=gamma[0];_this28.GG=gamma[1];_this28.GB=gamma[2];_this28.MXA=matrix[0];_this28.MYA=matrix[1];_this28.MZA=matrix[2];_this28.MXB=matrix[3];_this28.MYB=matrix[4];_this28.MZB=matrix[5];_this28.MXC=matrix[6];_this28.MYC=matrix[7];_this28.MZC=matrix[8];if(XW<0||ZW<0||YW!==1){throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this28.name)+\", no fallback available\");}if(XB<0||YB<0||ZB<0){(0,_util.info)(\"Invalid BlackPoint for \".concat(_this28.name,\" [\").concat(XB,\", \").concat(YB,\", \").concat(ZB,\"], \")+\"falling back to default.\");_this28.blackPoint=new Float32Array(3);}if(_this28.GR<0||_this28.GG<0||_this28.GB<0){(0,_util.info)(\"Invalid Gamma [\".concat(_this28.GR,\", \").concat(_this28.GG,\", \").concat(_this28.GB,\"] for \")+\"\".concat(_this28.name,\", falling back to default.\"));_this28.GR=_this28.GG=_this28.GB=1;}return _this28;}_createClass(CalRGBCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,dest,destOffset,1);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var scale=1/((1<<bits)-1);for(var i=0;i<count;++i){convertToRgb(this,src,srcOffset,dest,destOffset,scale);srcOffset+=3;destOffset+=3+alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength*(3+alpha01)/3|0;}}]);return CalRGBCS;}(ColorSpace);return CalRGBCS;}();var LabCS=function LabCSClosure(){function fn_g(x){var result;if(x>=6/29){result=x*x*x;}else{result=108/841*(x-4/29);}return result;}function decode(value,high1,low2,high2){return low2+value*(high2-low2)/high1;}function convertToRgb(cs,src,srcOffset,maxVal,dest,destOffset){var Ls=src[srcOffset];var as=src[srcOffset+1];var bs=src[srcOffset+2];if(maxVal!==false){Ls=decode(Ls,maxVal,0,100);as=decode(as,maxVal,cs.amin,cs.amax);bs=decode(bs,maxVal,cs.bmin,cs.bmax);}if(as>cs.amax){as=cs.amax;}else if(as<cs.amin){as=cs.amin;}if(bs>cs.bmax){bs=cs.bmax;}else if(bs<cs.bmin){bs=cs.bmin;}var M=(Ls+16)/116;var L=M+as/500;var N=M-bs/200;var X=cs.XW*fn_g(L);var Y=cs.YW*fn_g(M);var Z=cs.ZW*fn_g(N);var r,g,b;if(cs.ZW<1){r=X*3.1339+Y*-1.617+Z*-0.4906;g=X*-0.9785+Y*1.916+Z*0.0333;b=X*0.072+Y*-0.229+Z*1.4057;}else{r=X*3.2406+Y*-1.5372+Z*-0.4986;g=X*-0.9689+Y*1.8758+Z*0.0415;b=X*0.0557+Y*-0.204+Z*1.057;}dest[destOffset]=Math.sqrt(r)*255;dest[destOffset+1]=Math.sqrt(g)*255;dest[destOffset+2]=Math.sqrt(b)*255;}var LabCS=/*#__PURE__*/function(_ColorSpace9){_inherits(LabCS,_ColorSpace9);var _super30=_createSuper(LabCS);function LabCS(whitePoint,blackPoint,range){var _this29;_classCallCheck(this,LabCS);_this29=_super30.call(this,\"Lab\",3);if(!whitePoint){throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");}blackPoint=blackPoint||[0,0,0];range=range||[-100,100,-100,100];_this29.XW=whitePoint[0];_this29.YW=whitePoint[1];_this29.ZW=whitePoint[2];_this29.amin=range[0];_this29.amax=range[1];_this29.bmin=range[2];_this29.bmax=range[3];_this29.XB=blackPoint[0];_this29.YB=blackPoint[1];_this29.ZB=blackPoint[2];if(_this29.XW<0||_this29.ZW<0||_this29.YW!==1){throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");}if(_this29.XB<0||_this29.YB<0||_this29.ZB<0){(0,_util.info)(\"Invalid BlackPoint, falling back to default\");_this29.XB=_this29.YB=_this29.ZB=0;}if(_this29.amin>_this29.amax||_this29.bmin>_this29.bmax){(0,_util.info)(\"Invalid Range, falling back to defaults\");_this29.amin=-100;_this29.amax=100;_this29.bmin=-100;_this29.bmax=100;}return _this29;}_createClass(LabCS,[{key:\"getRgbItem\",value:function getRgbItem(src,srcOffset,dest,destOffset){convertToRgb(this,src,srcOffset,false,dest,destOffset);}},{key:\"getRgbBuffer\",value:function getRgbBuffer(src,srcOffset,count,dest,destOffset,bits,alpha01){var maxVal=(1<<bits)-1;for(var i=0;i<count;i++){convertToRgb(this,src,srcOffset,maxVal,dest,destOffset);srcOffset+=3;destOffset+=3+alpha01;}}},{key:\"getOutputLength\",value:function getOutputLength(inputLength,alpha01){return inputLength*(3+alpha01)/3|0;}},{key:\"isDefaultDecode\",value:function isDefaultDecode(decodeMap,bpc){return true;}},{key:\"usesZeroToOneRange\",get:function get(){return(0,_util.shadow)(this,\"usesZeroToOneRange\",false);}}]);return LabCS;}(ColorSpace);return LabCS;}();/***/},/* 23 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getQuadPoints=getQuadPoints;exports.MarkupAnnotation=exports.AnnotationFactory=exports.AnnotationBorderStyle=exports.Annotation=void 0;var _util=__w_pdfjs_require__(2);var _obj=__w_pdfjs_require__(9);var _primitives=__w_pdfjs_require__(4);var _colorspace=__w_pdfjs_require__(22);var _core_utils=__w_pdfjs_require__(7);var _operator_list=__w_pdfjs_require__(24);var _stream=__w_pdfjs_require__(11);var AnnotationFactory=/*#__PURE__*/function(){function AnnotationFactory(){_classCallCheck(this,AnnotationFactory);}_createClass(AnnotationFactory,null,[{key:\"create\",value:function create(xref,ref,pdfManager,idFactory){return pdfManager.ensure(this,\"_create\",[xref,ref,pdfManager,idFactory]);}},{key:\"_create\",value:function _create(xref,ref,pdfManager,idFactory){var dict=xref.fetchIfRef(ref);if(!(0,_primitives.isDict)(dict)){return undefined;}var id=(0,_primitives.isRef)(ref)?ref.toString():\"annot_\".concat(idFactory.createObjId());var subtype=dict.get(\"Subtype\");subtype=(0,_primitives.isName)(subtype)?subtype.name:null;var parameters={xref:xref,dict:dict,subtype:subtype,id:id,pdfManager:pdfManager};switch(subtype){case\"Link\":return new LinkAnnotation(parameters);case\"Text\":return new TextAnnotation(parameters);case\"Widget\":var fieldType=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"FT\"});fieldType=(0,_primitives.isName)(fieldType)?fieldType.name:null;switch(fieldType){case\"Tx\":return new TextWidgetAnnotation(parameters);case\"Btn\":return new ButtonWidgetAnnotation(parameters);case\"Ch\":return new ChoiceWidgetAnnotation(parameters);}(0,_util.warn)('Unimplemented widget field type \"'+fieldType+'\", '+\"falling back to base field type.\");return new WidgetAnnotation(parameters);case\"Popup\":return new PopupAnnotation(parameters);case\"FreeText\":return new FreeTextAnnotation(parameters);case\"Line\":return new LineAnnotation(parameters);case\"Square\":return new SquareAnnotation(parameters);case\"Circle\":return new CircleAnnotation(parameters);case\"PolyLine\":return new PolylineAnnotation(parameters);case\"Polygon\":return new PolygonAnnotation(parameters);case\"Caret\":return new CaretAnnotation(parameters);case\"Ink\":return new InkAnnotation(parameters);case\"Highlight\":return new HighlightAnnotation(parameters);case\"Underline\":return new UnderlineAnnotation(parameters);case\"Squiggly\":return new SquigglyAnnotation(parameters);case\"StrikeOut\":return new StrikeOutAnnotation(parameters);case\"Stamp\":return new StampAnnotation(parameters);case\"FileAttachment\":return new FileAttachmentAnnotation(parameters);default:if(!subtype){(0,_util.warn)(\"Annotation is missing the required /Subtype.\");}else{(0,_util.warn)('Unimplemented annotation type \"'+subtype+'\", '+\"falling back to base annotation.\");}return new Annotation(parameters);}}}]);return AnnotationFactory;}();exports.AnnotationFactory=AnnotationFactory;function getQuadPoints(dict,rect){if(!dict.has(\"QuadPoints\")){return null;}var quadPoints=dict.getArray(\"QuadPoints\");if(!Array.isArray(quadPoints)||quadPoints.length%8>0){return null;}var quadPointsLists=[];for(var i=0,ii=quadPoints.length/8;i<ii;i++){quadPointsLists.push([]);for(var j=i*8,jj=i*8+8;j<jj;j+=2){var x=quadPoints[j];var y=quadPoints[j+1];if(x<rect[0]||x>rect[2]||y<rect[1]||y>rect[3]){return null;}quadPointsLists[i].push({x:x,y:y});}}return quadPointsLists;}function getTransformMatrix(rect,bbox,matrix){var _util$Util$getAxialAl=_util.Util.getAxialAlignedBoundingBox(bbox,matrix),_util$Util$getAxialAl2=_slicedToArray(_util$Util$getAxialAl,4),minX=_util$Util$getAxialAl2[0],minY=_util$Util$getAxialAl2[1],maxX=_util$Util$getAxialAl2[2],maxY=_util$Util$getAxialAl2[3];if(minX===maxX||minY===maxY){return[1,0,0,1,rect[0],rect[1]];}var xRatio=(rect[2]-rect[0])/(maxX-minX);var yRatio=(rect[3]-rect[1])/(maxY-minY);return[xRatio,0,0,yRatio,rect[0]-minX*xRatio,rect[1]-minY*yRatio];}var Annotation=/*#__PURE__*/function(){function Annotation(params){_classCallCheck(this,Annotation);var dict=params.dict;this.setContents(dict.get(\"Contents\"));this.setModificationDate(dict.get(\"M\"));this.setFlags(dict.get(\"F\"));this.setRectangle(dict.getArray(\"Rect\"));this.setColor(dict.getArray(\"C\"));this.setBorderStyle(dict);this.setAppearance(dict);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,contents:this.contents,hasAppearance:!!this.appearance,id:params.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:params.subtype};}_createClass(Annotation,[{key:\"_hasFlag\",value:function _hasFlag(flags,flag){return!!(flags&flag);}},{key:\"_isViewable\",value:function _isViewable(flags){return!this._hasFlag(flags,_util.AnnotationFlag.INVISIBLE)&&!this._hasFlag(flags,_util.AnnotationFlag.HIDDEN)&&!this._hasFlag(flags,_util.AnnotationFlag.NOVIEW);}},{key:\"_isPrintable\",value:function _isPrintable(flags){return this._hasFlag(flags,_util.AnnotationFlag.PRINT)&&!this._hasFlag(flags,_util.AnnotationFlag.INVISIBLE)&&!this._hasFlag(flags,_util.AnnotationFlag.HIDDEN);}},{key:\"setContents\",value:function setContents(contents){this.contents=(0,_util.stringToPDFString)(contents||\"\");}},{key:\"setModificationDate\",value:function setModificationDate(modificationDate){this.modificationDate=(0,_util.isString)(modificationDate)?modificationDate:null;}},{key:\"setFlags\",value:function setFlags(flags){this.flags=Number.isInteger(flags)&&flags>0?flags:0;}},{key:\"hasFlag\",value:function hasFlag(flag){return this._hasFlag(this.flags,flag);}},{key:\"setRectangle\",value:function setRectangle(rectangle){if(Array.isArray(rectangle)&&rectangle.length===4){this.rectangle=_util.Util.normalizeRect(rectangle);}else{this.rectangle=[0,0,0,0];}}},{key:\"setColor\",value:function setColor(color){var rgbColor=new Uint8ClampedArray(3);if(!Array.isArray(color)){this.color=rgbColor;return;}switch(color.length){case 0:this.color=null;break;case 1:_colorspace.ColorSpace.singletons.gray.getRgbItem(color,0,rgbColor,0);this.color=rgbColor;break;case 3:_colorspace.ColorSpace.singletons.rgb.getRgbItem(color,0,rgbColor,0);this.color=rgbColor;break;case 4:_colorspace.ColorSpace.singletons.cmyk.getRgbItem(color,0,rgbColor,0);this.color=rgbColor;break;default:this.color=rgbColor;break;}}},{key:\"setBorderStyle\",value:function setBorderStyle(borderStyle){this.borderStyle=new AnnotationBorderStyle();if(!(0,_primitives.isDict)(borderStyle)){return;}if(borderStyle.has(\"BS\")){var dict=borderStyle.get(\"BS\");var dictType=dict.get(\"Type\");if(!dictType||(0,_primitives.isName)(dictType,\"Border\")){this.borderStyle.setWidth(dict.get(\"W\"),this.rectangle);this.borderStyle.setStyle(dict.get(\"S\"));this.borderStyle.setDashArray(dict.getArray(\"D\"));}}else if(borderStyle.has(\"Border\")){var array=borderStyle.getArray(\"Border\");if(Array.isArray(array)&&array.length>=3){this.borderStyle.setHorizontalCornerRadius(array[0]);this.borderStyle.setVerticalCornerRadius(array[1]);this.borderStyle.setWidth(array[2],this.rectangle);if(array.length===4){this.borderStyle.setDashArray(array[3]);}}}else{this.borderStyle.setWidth(0);}}},{key:\"setAppearance\",value:function setAppearance(dict){this.appearance=null;var appearanceStates=dict.get(\"AP\");if(!(0,_primitives.isDict)(appearanceStates)){return;}var normalAppearanceState=appearanceStates.get(\"N\");if((0,_primitives.isStream)(normalAppearanceState)){this.appearance=normalAppearanceState;return;}if(!(0,_primitives.isDict)(normalAppearanceState)){return;}var as=dict.get(\"AS\");if(!(0,_primitives.isName)(as)||!normalAppearanceState.has(as.name)){return;}this.appearance=normalAppearanceState.get(as.name);}},{key:\"loadResources\",value:function loadResources(keys){return this.appearance.dict.getAsync(\"Resources\").then(function(resources){if(!resources){return undefined;}var objectLoader=new _obj.ObjectLoader(resources,keys,resources.xref);return objectLoader.load().then(function(){return resources;});});}},{key:\"getOperatorList\",value:function getOperatorList(evaluator,task,renderForms){var _this30=this;if(!this.appearance){return Promise.resolve(new _operator_list.OperatorList());}var data=this.data;var appearanceDict=this.appearance.dict;var resourcesPromise=this.loadResources([\"ExtGState\",\"ColorSpace\",\"Pattern\",\"Shading\",\"XObject\",\"Font\"]);var bbox=appearanceDict.getArray(\"BBox\")||[0,0,1,1];var matrix=appearanceDict.getArray(\"Matrix\")||[1,0,0,1,0,0];var transform=getTransformMatrix(data.rect,bbox,matrix);return resourcesPromise.then(function(resources){var opList=new _operator_list.OperatorList();opList.addOp(_util.OPS.beginAnnotation,[data.rect,transform,matrix]);return evaluator.getOperatorList({stream:_this30.appearance,task:task,resources:resources,operatorList:opList}).then(function(){opList.addOp(_util.OPS.endAnnotation,[]);_this30.appearance.reset();return opList;});});}},{key:\"viewable\",get:function get(){if(this.flags===0){return true;}return this._isViewable(this.flags);}},{key:\"printable\",get:function get(){if(this.flags===0){return false;}return this._isPrintable(this.flags);}}]);return Annotation;}();exports.Annotation=Annotation;var AnnotationBorderStyle=/*#__PURE__*/function(){function AnnotationBorderStyle(){_classCallCheck(this,AnnotationBorderStyle);this.width=1;this.style=_util.AnnotationBorderStyleType.SOLID;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0;}_createClass(AnnotationBorderStyle,[{key:\"setWidth\",value:function setWidth(width){var rect=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[0,0,0,0];if((0,_primitives.isName)(width)){this.width=0;return;}if(Number.isInteger(width)){if(width>0){var maxWidth=(rect[2]-rect[0])/2;var maxHeight=(rect[3]-rect[1])/2;if(maxWidth>0&&maxHeight>0&&(width>maxWidth||width>maxHeight)){(0,_util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));width=1;}}this.width=width;}}},{key:\"setStyle\",value:function setStyle(style){if(!(0,_primitives.isName)(style)){return;}switch(style.name){case\"S\":this.style=_util.AnnotationBorderStyleType.SOLID;break;case\"D\":this.style=_util.AnnotationBorderStyleType.DASHED;break;case\"B\":this.style=_util.AnnotationBorderStyleType.BEVELED;break;case\"I\":this.style=_util.AnnotationBorderStyleType.INSET;break;case\"U\":this.style=_util.AnnotationBorderStyleType.UNDERLINE;break;default:break;}}},{key:\"setDashArray\",value:function setDashArray(dashArray){if(Array.isArray(dashArray)&&dashArray.length>0){var isValid=true;var allZeros=true;var _iterator11=_createForOfIteratorHelper(dashArray),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var element=_step11.value;var validNumber=+element>=0;if(!validNumber){isValid=false;break;}else if(element>0){allZeros=false;}}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}if(isValid&&!allZeros){this.dashArray=dashArray;}else{this.width=0;}}else if(dashArray){this.width=0;}}},{key:\"setHorizontalCornerRadius\",value:function setHorizontalCornerRadius(radius){if(Number.isInteger(radius)){this.horizontalCornerRadius=radius;}}},{key:\"setVerticalCornerRadius\",value:function setVerticalCornerRadius(radius){if(Number.isInteger(radius)){this.verticalCornerRadius=radius;}}}]);return AnnotationBorderStyle;}();exports.AnnotationBorderStyle=AnnotationBorderStyle;var MarkupAnnotation=/*#__PURE__*/function(_Annotation){_inherits(MarkupAnnotation,_Annotation);var _super31=_createSuper(MarkupAnnotation);function MarkupAnnotation(parameters){var _this31;_classCallCheck(this,MarkupAnnotation);_this31=_super31.call(this,parameters);var dict=parameters.dict;if(dict.has(\"IRT\")){var rawIRT=dict.getRaw(\"IRT\");_this31.data.inReplyTo=(0,_primitives.isRef)(rawIRT)?rawIRT.toString():null;var rt=dict.get(\"RT\");_this31.data.replyType=(0,_primitives.isName)(rt)?rt.name:_util.AnnotationReplyType.REPLY;}if(_this31.data.replyType===_util.AnnotationReplyType.GROUP){var parent=dict.get(\"IRT\");_this31.data.title=(0,_util.stringToPDFString)(parent.get(\"T\")||\"\");_this31.setContents(parent.get(\"Contents\"));_this31.data.contents=_this31.contents;if(!parent.has(\"CreationDate\")){_this31.data.creationDate=null;}else{_this31.setCreationDate(parent.get(\"CreationDate\"));_this31.data.creationDate=_this31.creationDate;}if(!parent.has(\"M\")){_this31.data.modificationDate=null;}else{_this31.setModificationDate(parent.get(\"M\"));_this31.data.modificationDate=_this31.modificationDate;}_this31.data.hasPopup=parent.has(\"Popup\");if(!parent.has(\"C\")){_this31.data.color=null;}else{_this31.setColor(parent.getArray(\"C\"));_this31.data.color=_this31.color;}}else{_this31.data.title=(0,_util.stringToPDFString)(dict.get(\"T\")||\"\");_this31.setCreationDate(dict.get(\"CreationDate\"));_this31.data.creationDate=_this31.creationDate;_this31.data.hasPopup=dict.has(\"Popup\");if(!dict.has(\"C\")){_this31.data.color=null;}}return _this31;}_createClass(MarkupAnnotation,[{key:\"setCreationDate\",value:function setCreationDate(creationDate){this.creationDate=(0,_util.isString)(creationDate)?creationDate:null;}}]);return MarkupAnnotation;}(Annotation);exports.MarkupAnnotation=MarkupAnnotation;var WidgetAnnotation=/*#__PURE__*/function(_Annotation2){_inherits(WidgetAnnotation,_Annotation2);var _super32=_createSuper(WidgetAnnotation);function WidgetAnnotation(params){var _this32;_classCallCheck(this,WidgetAnnotation);_this32=_super32.call(this,params);var dict=params.dict;var data=_this32.data;data.annotationType=_util.AnnotationType.WIDGET;data.fieldName=_this32._constructFieldName(dict);data.fieldValue=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"V\",getArray:true});data.alternativeText=(0,_util.stringToPDFString)(dict.get(\"TU\")||\"\");data.defaultAppearance=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"DA\"})||\"\";var fieldType=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"FT\"});data.fieldType=(0,_primitives.isName)(fieldType)?fieldType.name:null;_this32.fieldResources=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"DR\"})||_primitives.Dict.empty;data.fieldFlags=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"Ff\"});if(!Number.isInteger(data.fieldFlags)||data.fieldFlags<0){data.fieldFlags=0;}data.readOnly=_this32.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);if(data.fieldType===\"Sig\"){data.fieldValue=null;_this32.setFlags(_util.AnnotationFlag.HIDDEN);}return _this32;}_createClass(WidgetAnnotation,[{key:\"_constructFieldName\",value:function _constructFieldName(dict){if(!dict.has(\"T\")&&!dict.has(\"Parent\")){(0,_util.warn)(\"Unknown field name, falling back to empty field name.\");return\"\";}if(!dict.has(\"Parent\")){return(0,_util.stringToPDFString)(dict.get(\"T\"));}var fieldName=[];if(dict.has(\"T\")){fieldName.unshift((0,_util.stringToPDFString)(dict.get(\"T\")));}var loopDict=dict;while(loopDict.has(\"Parent\")){loopDict=loopDict.get(\"Parent\");if(!(0,_primitives.isDict)(loopDict)){break;}if(loopDict.has(\"T\")){fieldName.unshift((0,_util.stringToPDFString)(loopDict.get(\"T\")));}}return fieldName.join(\".\");}},{key:\"hasFieldFlag\",value:function hasFieldFlag(flag){return!!(this.data.fieldFlags&flag);}},{key:\"getOperatorList\",value:function getOperatorList(evaluator,task,renderForms){if(renderForms){return Promise.resolve(new _operator_list.OperatorList());}return _get(_getPrototypeOf(WidgetAnnotation.prototype),\"getOperatorList\",this).call(this,evaluator,task,renderForms);}}]);return WidgetAnnotation;}(Annotation);var TextWidgetAnnotation=/*#__PURE__*/function(_WidgetAnnotation){_inherits(TextWidgetAnnotation,_WidgetAnnotation);var _super33=_createSuper(TextWidgetAnnotation);function TextWidgetAnnotation(params){var _this33;_classCallCheck(this,TextWidgetAnnotation);_this33=_super33.call(this,params);var dict=params.dict;_this33.data.fieldValue=(0,_util.stringToPDFString)(_this33.data.fieldValue||\"\");var alignment=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"Q\"});if(!Number.isInteger(alignment)||alignment<0||alignment>2){alignment=null;}_this33.data.textAlignment=alignment;var maximumLength=(0,_core_utils.getInheritableProperty)({dict:dict,key:\"MaxLen\"});if(!Number.isInteger(maximumLength)||maximumLength<0){maximumLength=null;}_this33.data.maxLen=maximumLength;_this33.data.multiLine=_this33.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);_this33.data.comb=_this33.hasFieldFlag(_util.AnnotationFieldFlag.COMB)&&!_this33.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE)&&!_this33.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD)&&!_this33.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT)&&_this33.data.maxLen!==null;return _this33;}_createClass(TextWidgetAnnotation,[{key:\"getOperatorList\",value:function getOperatorList(evaluator,task,renderForms){if(renderForms||this.appearance){return _get(_getPrototypeOf(TextWidgetAnnotation.prototype),\"getOperatorList\",this).call(this,evaluator,task,renderForms);}var operatorList=new _operator_list.OperatorList();if(!this.data.defaultAppearance){return Promise.resolve(operatorList);}var stream=new _stream.Stream((0,_util.stringToBytes)(this.data.defaultAppearance));return evaluator.getOperatorList({stream:stream,task:task,resources:this.fieldResources,operatorList:operatorList}).then(function(){return operatorList;});}}]);return TextWidgetAnnotation;}(WidgetAnnotation);var ButtonWidgetAnnotation=/*#__PURE__*/function(_WidgetAnnotation2){_inherits(ButtonWidgetAnnotation,_WidgetAnnotation2);var _super34=_createSuper(ButtonWidgetAnnotation);function ButtonWidgetAnnotation(params){var _this34;_classCallCheck(this,ButtonWidgetAnnotation);_this34=_super34.call(this,params);_this34.data.checkBox=!_this34.hasFieldFlag(_util.AnnotationFieldFlag.RADIO)&&!_this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);_this34.data.radioButton=_this34.hasFieldFlag(_util.AnnotationFieldFlag.RADIO)&&!_this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);_this34.data.pushButton=_this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);if(_this34.data.checkBox){_this34._processCheckBox(params);}else if(_this34.data.radioButton){_this34._processRadioButton(params);}else if(_this34.data.pushButton){_this34._processPushButton(params);}else{(0,_util.warn)(\"Invalid field flags for button widget annotation\");}return _this34;}_createClass(ButtonWidgetAnnotation,[{key:\"_processCheckBox\",value:function _processCheckBox(params){if((0,_primitives.isName)(this.data.fieldValue)){this.data.fieldValue=this.data.fieldValue.name;}var customAppearance=params.dict.get(\"AP\");if(!(0,_primitives.isDict)(customAppearance)){return;}var exportValueOptionsDict=customAppearance.get(\"D\");if(!(0,_primitives.isDict)(exportValueOptionsDict)){return;}var exportValues=exportValueOptionsDict.getKeys();var hasCorrectOptionCount=exportValues.length===2;if(!hasCorrectOptionCount){return;}this.data.exportValue=exportValues[0]===\"Off\"?exportValues[1]:exportValues[0];}},{key:\"_processRadioButton\",value:function _processRadioButton(params){this.data.fieldValue=this.data.buttonValue=null;var fieldParent=params.dict.get(\"Parent\");if((0,_primitives.isDict)(fieldParent)&&fieldParent.has(\"V\")){var fieldParentValue=fieldParent.get(\"V\");if((0,_primitives.isName)(fieldParentValue)){this.data.fieldValue=fieldParentValue.name;}}var appearanceStates=params.dict.get(\"AP\");if(!(0,_primitives.isDict)(appearanceStates)){return;}var normalAppearanceState=appearanceStates.get(\"N\");if(!(0,_primitives.isDict)(normalAppearanceState)){return;}var _iterator12=_createForOfIteratorHelper(normalAppearanceState.getKeys()),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var key=_step12.value;if(key!==\"Off\"){this.data.buttonValue=key;break;}}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}}},{key:\"_processPushButton\",value:function _processPushButton(params){if(!params.dict.has(\"A\")){(0,_util.warn)(\"Push buttons without action dictionaries are not supported\");return;}_obj.Catalog.parseDestDictionary({destDict:params.dict,resultObj:this.data,docBaseUrl:params.pdfManager.docBaseUrl});}}]);return ButtonWidgetAnnotation;}(WidgetAnnotation);var ChoiceWidgetAnnotation=/*#__PURE__*/function(_WidgetAnnotation3){_inherits(ChoiceWidgetAnnotation,_WidgetAnnotation3);var _super35=_createSuper(ChoiceWidgetAnnotation);function ChoiceWidgetAnnotation(params){var _this35;_classCallCheck(this,ChoiceWidgetAnnotation);_this35=_super35.call(this,params);_this35.data.options=[];var options=(0,_core_utils.getInheritableProperty)({dict:params.dict,key:\"Opt\"});if(Array.isArray(options)){var xref=params.xref;for(var i=0,ii=options.length;i<ii;i++){var option=xref.fetchIfRef(options[i]);var isOptionArray=Array.isArray(option);_this35.data.options[i]={exportValue:isOptionArray?xref.fetchIfRef(option[0]):option,displayValue:(0,_util.stringToPDFString)(isOptionArray?xref.fetchIfRef(option[1]):option)};}}if(!Array.isArray(_this35.data.fieldValue)){_this35.data.fieldValue=[_this35.data.fieldValue];}_this35.data.combo=_this35.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);_this35.data.multiSelect=_this35.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);return _this35;}return ChoiceWidgetAnnotation;}(WidgetAnnotation);var TextAnnotation=/*#__PURE__*/function(_MarkupAnnotation){_inherits(TextAnnotation,_MarkupAnnotation);var _super36=_createSuper(TextAnnotation);function TextAnnotation(parameters){var _this36;_classCallCheck(this,TextAnnotation);var DEFAULT_ICON_SIZE=22;_this36=_super36.call(this,parameters);var dict=parameters.dict;_this36.data.annotationType=_util.AnnotationType.TEXT;if(_this36.data.hasAppearance){_this36.data.name=\"NoIcon\";}else{_this36.data.rect[1]=_this36.data.rect[3]-DEFAULT_ICON_SIZE;_this36.data.rect[2]=_this36.data.rect[0]+DEFAULT_ICON_SIZE;_this36.data.name=dict.has(\"Name\")?dict.get(\"Name\").name:\"Note\";}if(dict.has(\"State\")){_this36.data.state=dict.get(\"State\")||null;_this36.data.stateModel=dict.get(\"StateModel\")||null;}else{_this36.data.state=null;_this36.data.stateModel=null;}return _this36;}return TextAnnotation;}(MarkupAnnotation);var LinkAnnotation=/*#__PURE__*/function(_Annotation3){_inherits(LinkAnnotation,_Annotation3);var _super37=_createSuper(LinkAnnotation);function LinkAnnotation(params){var _this37;_classCallCheck(this,LinkAnnotation);_this37=_super37.call(this,params);_this37.data.annotationType=_util.AnnotationType.LINK;var quadPoints=getQuadPoints(params.dict,_this37.rectangle);if(quadPoints){_this37.data.quadPoints=quadPoints;}_obj.Catalog.parseDestDictionary({destDict:params.dict,resultObj:_this37.data,docBaseUrl:params.pdfManager.docBaseUrl});return _this37;}return LinkAnnotation;}(Annotation);var PopupAnnotation=/*#__PURE__*/function(_Annotation4){_inherits(PopupAnnotation,_Annotation4);var _super38=_createSuper(PopupAnnotation);function PopupAnnotation(parameters){var _this38;_classCallCheck(this,PopupAnnotation);_this38=_super38.call(this,parameters);_this38.data.annotationType=_util.AnnotationType.POPUP;var parentItem=parameters.dict.get(\"Parent\");if(!parentItem){(0,_util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");return _possibleConstructorReturn(_this38);}var parentSubtype=parentItem.get(\"Subtype\");_this38.data.parentType=(0,_primitives.isName)(parentSubtype)?parentSubtype.name:null;var rawParent=parameters.dict.getRaw(\"Parent\");_this38.data.parentId=(0,_primitives.isRef)(rawParent)?rawParent.toString():null;var rt=parentItem.get(\"RT\");if((0,_primitives.isName)(rt,_util.AnnotationReplyType.GROUP)){parentItem=parentItem.get(\"IRT\");}if(!parentItem.has(\"M\")){_this38.data.modificationDate=null;}else{_this38.setModificationDate(parentItem.get(\"M\"));_this38.data.modificationDate=_this38.modificationDate;}if(!parentItem.has(\"C\")){_this38.data.color=null;}else{_this38.setColor(parentItem.getArray(\"C\"));_this38.data.color=_this38.color;}if(!_this38.viewable){var parentFlags=parentItem.get(\"F\");if(_this38._isViewable(parentFlags)){_this38.setFlags(parentFlags);}}_this38.data.title=(0,_util.stringToPDFString)(parentItem.get(\"T\")||\"\");_this38.data.contents=(0,_util.stringToPDFString)(parentItem.get(\"Contents\")||\"\");return _this38;}return PopupAnnotation;}(Annotation);var FreeTextAnnotation=/*#__PURE__*/function(_MarkupAnnotation2){_inherits(FreeTextAnnotation,_MarkupAnnotation2);var _super39=_createSuper(FreeTextAnnotation);function FreeTextAnnotation(parameters){var _this39;_classCallCheck(this,FreeTextAnnotation);_this39=_super39.call(this,parameters);_this39.data.annotationType=_util.AnnotationType.FREETEXT;return _this39;}return FreeTextAnnotation;}(MarkupAnnotation);var LineAnnotation=/*#__PURE__*/function(_MarkupAnnotation3){_inherits(LineAnnotation,_MarkupAnnotation3);var _super40=_createSuper(LineAnnotation);function LineAnnotation(parameters){var _this40;_classCallCheck(this,LineAnnotation);_this40=_super40.call(this,parameters);_this40.data.annotationType=_util.AnnotationType.LINE;_this40.data.lineCoordinates=_util.Util.normalizeRect(parameters.dict.getArray(\"L\"));return _this40;}return LineAnnotation;}(MarkupAnnotation);var SquareAnnotation=/*#__PURE__*/function(_MarkupAnnotation4){_inherits(SquareAnnotation,_MarkupAnnotation4);var _super41=_createSuper(SquareAnnotation);function SquareAnnotation(parameters){var _this41;_classCallCheck(this,SquareAnnotation);_this41=_super41.call(this,parameters);_this41.data.annotationType=_util.AnnotationType.SQUARE;return _this41;}return SquareAnnotation;}(MarkupAnnotation);var CircleAnnotation=/*#__PURE__*/function(_MarkupAnnotation5){_inherits(CircleAnnotation,_MarkupAnnotation5);var _super42=_createSuper(CircleAnnotation);function CircleAnnotation(parameters){var _this42;_classCallCheck(this,CircleAnnotation);_this42=_super42.call(this,parameters);_this42.data.annotationType=_util.AnnotationType.CIRCLE;return _this42;}return CircleAnnotation;}(MarkupAnnotation);var PolylineAnnotation=/*#__PURE__*/function(_MarkupAnnotation6){_inherits(PolylineAnnotation,_MarkupAnnotation6);var _super43=_createSuper(PolylineAnnotation);function PolylineAnnotation(parameters){var _this43;_classCallCheck(this,PolylineAnnotation);_this43=_super43.call(this,parameters);_this43.data.annotationType=_util.AnnotationType.POLYLINE;var rawVertices=parameters.dict.getArray(\"Vertices\");_this43.data.vertices=[];for(var i=0,ii=rawVertices.length;i<ii;i+=2){_this43.data.vertices.push({x:rawVertices[i],y:rawVertices[i+1]});}return _this43;}return PolylineAnnotation;}(MarkupAnnotation);var PolygonAnnotation=/*#__PURE__*/function(_PolylineAnnotation){_inherits(PolygonAnnotation,_PolylineAnnotation);var _super44=_createSuper(PolygonAnnotation);function PolygonAnnotation(parameters){var _this44;_classCallCheck(this,PolygonAnnotation);_this44=_super44.call(this,parameters);_this44.data.annotationType=_util.AnnotationType.POLYGON;return _this44;}return PolygonAnnotation;}(PolylineAnnotation);var CaretAnnotation=/*#__PURE__*/function(_MarkupAnnotation7){_inherits(CaretAnnotation,_MarkupAnnotation7);var _super45=_createSuper(CaretAnnotation);function CaretAnnotation(parameters){var _this45;_classCallCheck(this,CaretAnnotation);_this45=_super45.call(this,parameters);_this45.data.annotationType=_util.AnnotationType.CARET;return _this45;}return CaretAnnotation;}(MarkupAnnotation);var InkAnnotation=/*#__PURE__*/function(_MarkupAnnotation8){_inherits(InkAnnotation,_MarkupAnnotation8);var _super46=_createSuper(InkAnnotation);function InkAnnotation(parameters){var _this46;_classCallCheck(this,InkAnnotation);_this46=_super46.call(this,parameters);_this46.data.annotationType=_util.AnnotationType.INK;var xref=parameters.xref;var originalInkLists=parameters.dict.getArray(\"InkList\");_this46.data.inkLists=[];for(var i=0,ii=originalInkLists.length;i<ii;++i){_this46.data.inkLists.push([]);for(var j=0,jj=originalInkLists[i].length;j<jj;j+=2){_this46.data.inkLists[i].push({x:xref.fetchIfRef(originalInkLists[i][j]),y:xref.fetchIfRef(originalInkLists[i][j+1])});}}return _this46;}return InkAnnotation;}(MarkupAnnotation);var HighlightAnnotation=/*#__PURE__*/function(_MarkupAnnotation9){_inherits(HighlightAnnotation,_MarkupAnnotation9);var _super47=_createSuper(HighlightAnnotation);function HighlightAnnotation(parameters){var _this47;_classCallCheck(this,HighlightAnnotation);_this47=_super47.call(this,parameters);_this47.data.annotationType=_util.AnnotationType.HIGHLIGHT;var quadPoints=getQuadPoints(parameters.dict,_this47.rectangle);if(quadPoints){_this47.data.quadPoints=quadPoints;}return _this47;}return HighlightAnnotation;}(MarkupAnnotation);var UnderlineAnnotation=/*#__PURE__*/function(_MarkupAnnotation10){_inherits(UnderlineAnnotation,_MarkupAnnotation10);var _super48=_createSuper(UnderlineAnnotation);function UnderlineAnnotation(parameters){var _this48;_classCallCheck(this,UnderlineAnnotation);_this48=_super48.call(this,parameters);_this48.data.annotationType=_util.AnnotationType.UNDERLINE;var quadPoints=getQuadPoints(parameters.dict,_this48.rectangle);if(quadPoints){_this48.data.quadPoints=quadPoints;}return _this48;}return UnderlineAnnotation;}(MarkupAnnotation);var SquigglyAnnotation=/*#__PURE__*/function(_MarkupAnnotation11){_inherits(SquigglyAnnotation,_MarkupAnnotation11);var _super49=_createSuper(SquigglyAnnotation);function SquigglyAnnotation(parameters){var _this49;_classCallCheck(this,SquigglyAnnotation);_this49=_super49.call(this,parameters);_this49.data.annotationType=_util.AnnotationType.SQUIGGLY;var quadPoints=getQuadPoints(parameters.dict,_this49.rectangle);if(quadPoints){_this49.data.quadPoints=quadPoints;}return _this49;}return SquigglyAnnotation;}(MarkupAnnotation);var StrikeOutAnnotation=/*#__PURE__*/function(_MarkupAnnotation12){_inherits(StrikeOutAnnotation,_MarkupAnnotation12);var _super50=_createSuper(StrikeOutAnnotation);function StrikeOutAnnotation(parameters){var _this50;_classCallCheck(this,StrikeOutAnnotation);_this50=_super50.call(this,parameters);_this50.data.annotationType=_util.AnnotationType.STRIKEOUT;var quadPoints=getQuadPoints(parameters.dict,_this50.rectangle);if(quadPoints){_this50.data.quadPoints=quadPoints;}return _this50;}return StrikeOutAnnotation;}(MarkupAnnotation);var StampAnnotation=/*#__PURE__*/function(_MarkupAnnotation13){_inherits(StampAnnotation,_MarkupAnnotation13);var _super51=_createSuper(StampAnnotation);function StampAnnotation(parameters){var _this51;_classCallCheck(this,StampAnnotation);_this51=_super51.call(this,parameters);_this51.data.annotationType=_util.AnnotationType.STAMP;return _this51;}return StampAnnotation;}(MarkupAnnotation);var FileAttachmentAnnotation=/*#__PURE__*/function(_MarkupAnnotation14){_inherits(FileAttachmentAnnotation,_MarkupAnnotation14);var _super52=_createSuper(FileAttachmentAnnotation);function FileAttachmentAnnotation(parameters){var _this52;_classCallCheck(this,FileAttachmentAnnotation);_this52=_super52.call(this,parameters);var file=new _obj.FileSpec(parameters.dict.get(\"FS\"),parameters.xref);_this52.data.annotationType=_util.AnnotationType.FILEATTACHMENT;_this52.data.file=file.serializable;return _this52;}return FileAttachmentAnnotation;}(MarkupAnnotation);/***/},/* 24 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.OperatorList=void 0;var _util=__w_pdfjs_require__(2);var QueueOptimizer=function QueueOptimizerClosure(){function addState(parentState,pattern,checkFn,iterateFn,processFn){var state=parentState;for(var i=0,ii=pattern.length-1;i<ii;i++){var item=pattern[i];state=state[item]||(state[item]=[]);}state[pattern[pattern.length-1]]={checkFn:checkFn,iterateFn:iterateFn,processFn:processFn};}function handlePaintSolidColorImageMask(iFirstSave,count,fnArray,argsArray){var iFirstPIMXO=iFirstSave+2;for(var i=0;i<count;i++){var arg=argsArray[iFirstPIMXO+4*i];var imageMask=arg.length===1&&arg[0];if(imageMask&&imageMask.width===1&&imageMask.height===1&&(!imageMask.data.length||imageMask.data.length===1&&imageMask.data[0]===0)){fnArray[iFirstPIMXO+4*i]=_util.OPS.paintSolidColorImageMask;continue;}break;}return count-i;}var InitialState=[];addState(InitialState,[_util.OPS.save,_util.OPS.transform,_util.OPS.paintInlineImageXObject,_util.OPS.restore],null,function iterateInlineImageGroup(context,i){var fnArray=context.fnArray;var iFirstSave=context.iCurr-3;var pos=(i-iFirstSave)%4;switch(pos){case 0:return fnArray[i]===_util.OPS.save;case 1:return fnArray[i]===_util.OPS.transform;case 2:return fnArray[i]===_util.OPS.paintInlineImageXObject;case 3:return fnArray[i]===_util.OPS.restore;}throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));},function foundInlineImageGroup(context,i){var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK=10;var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK=200;var MAX_WIDTH=1000;var IMAGE_PADDING=1;var fnArray=context.fnArray,argsArray=context.argsArray;var curr=context.iCurr;var iFirstSave=curr-3;var iFirstTransform=curr-2;var iFirstPIIXO=curr-1;var count=Math.min(Math.floor((i-iFirstSave)/4),MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);if(count<MIN_IMAGES_IN_INLINE_IMAGES_BLOCK){return i-(i-iFirstSave)%4;}var maxX=0;var map=[],maxLineHeight=0;var currentX=IMAGE_PADDING,currentY=IMAGE_PADDING;var q;for(q=0;q<count;q++){var transform=argsArray[iFirstTransform+(q<<2)];var img=argsArray[iFirstPIIXO+(q<<2)][0];if(currentX+img.width>MAX_WIDTH){maxX=Math.max(maxX,currentX);currentY+=maxLineHeight+2*IMAGE_PADDING;currentX=0;maxLineHeight=0;}map.push({transform:transform,x:currentX,y:currentY,w:img.width,h:img.height});currentX+=img.width+2*IMAGE_PADDING;maxLineHeight=Math.max(maxLineHeight,img.height);}var imgWidth=Math.max(maxX,currentX)+IMAGE_PADDING;var imgHeight=currentY+maxLineHeight+IMAGE_PADDING;var imgData=new Uint8ClampedArray(imgWidth*imgHeight*4);var imgRowSize=imgWidth<<2;for(q=0;q<count;q++){var data=argsArray[iFirstPIIXO+(q<<2)][0].data;var rowSize=map[q].w<<2;var dataOffset=0;var offset=map[q].x+map[q].y*imgWidth<<2;imgData.set(data.subarray(0,rowSize),offset-imgRowSize);for(var k=0,kk=map[q].h;k<kk;k++){imgData.set(data.subarray(dataOffset,dataOffset+rowSize),offset);dataOffset+=rowSize;offset+=imgRowSize;}imgData.set(data.subarray(dataOffset-rowSize,dataOffset),offset);while(offset>=0){data[offset-4]=data[offset];data[offset-3]=data[offset+1];data[offset-2]=data[offset+2];data[offset-1]=data[offset+3];data[offset+rowSize]=data[offset+rowSize-4];data[offset+rowSize+1]=data[offset+rowSize-3];data[offset+rowSize+2]=data[offset+rowSize-2];data[offset+rowSize+3]=data[offset+rowSize-1];offset-=imgRowSize;}}fnArray.splice(iFirstSave,count*4,_util.OPS.paintInlineImageXObjectGroup);argsArray.splice(iFirstSave,count*4,[{width:imgWidth,height:imgHeight,kind:_util.ImageKind.RGBA_32BPP,data:imgData},map]);return iFirstSave+1;});addState(InitialState,[_util.OPS.save,_util.OPS.transform,_util.OPS.paintImageMaskXObject,_util.OPS.restore],null,function iterateImageMaskGroup(context,i){var fnArray=context.fnArray;var iFirstSave=context.iCurr-3;var pos=(i-iFirstSave)%4;switch(pos){case 0:return fnArray[i]===_util.OPS.save;case 1:return fnArray[i]===_util.OPS.transform;case 2:return fnArray[i]===_util.OPS.paintImageMaskXObject;case 3:return fnArray[i]===_util.OPS.restore;}throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));},function foundImageMaskGroup(context,i){var MIN_IMAGES_IN_MASKS_BLOCK=10;var MAX_IMAGES_IN_MASKS_BLOCK=100;var MAX_SAME_IMAGES_IN_MASKS_BLOCK=1000;var fnArray=context.fnArray,argsArray=context.argsArray;var curr=context.iCurr;var iFirstSave=curr-3;var iFirstTransform=curr-2;var iFirstPIMXO=curr-1;var count=Math.floor((i-iFirstSave)/4);count=handlePaintSolidColorImageMask(iFirstSave,count,fnArray,argsArray);if(count<MIN_IMAGES_IN_MASKS_BLOCK){return i-(i-iFirstSave)%4;}var q;var isSameImage=false;var iTransform,transformArgs;var firstPIMXOArg0=argsArray[iFirstPIMXO][0];if(argsArray[iFirstTransform][1]===0&&argsArray[iFirstTransform][2]===0){isSameImage=true;var firstTransformArg0=argsArray[iFirstTransform][0];var firstTransformArg3=argsArray[iFirstTransform][3];iTransform=iFirstTransform+4;var iPIMXO=iFirstPIMXO+4;for(q=1;q<count;q++,iTransform+=4,iPIMXO+=4){transformArgs=argsArray[iTransform];if(argsArray[iPIMXO][0]!==firstPIMXOArg0||transformArgs[0]!==firstTransformArg0||transformArgs[1]!==0||transformArgs[2]!==0||transformArgs[3]!==firstTransformArg3){if(q<MIN_IMAGES_IN_MASKS_BLOCK){isSameImage=false;}else{count=q;}break;}}}if(isSameImage){count=Math.min(count,MAX_SAME_IMAGES_IN_MASKS_BLOCK);var positions=new Float32Array(count*2);iTransform=iFirstTransform;for(q=0;q<count;q++,iTransform+=4){transformArgs=argsArray[iTransform];positions[q<<1]=transformArgs[4];positions[(q<<1)+1]=transformArgs[5];}fnArray.splice(iFirstSave,count*4,_util.OPS.paintImageMaskXObjectRepeat);argsArray.splice(iFirstSave,count*4,[firstPIMXOArg0,firstTransformArg0,firstTransformArg3,positions]);}else{count=Math.min(count,MAX_IMAGES_IN_MASKS_BLOCK);var images=[];for(q=0;q<count;q++){transformArgs=argsArray[iFirstTransform+(q<<2)];var maskParams=argsArray[iFirstPIMXO+(q<<2)][0];images.push({data:maskParams.data,width:maskParams.width,height:maskParams.height,transform:transformArgs});}fnArray.splice(iFirstSave,count*4,_util.OPS.paintImageMaskXObjectGroup);argsArray.splice(iFirstSave,count*4,[images]);}return iFirstSave+1;});addState(InitialState,[_util.OPS.save,_util.OPS.transform,_util.OPS.paintImageXObject,_util.OPS.restore],function(context){var argsArray=context.argsArray;var iFirstTransform=context.iCurr-2;return argsArray[iFirstTransform][1]===0&&argsArray[iFirstTransform][2]===0;},function iterateImageGroup(context,i){var fnArray=context.fnArray,argsArray=context.argsArray;var iFirstSave=context.iCurr-3;var pos=(i-iFirstSave)%4;switch(pos){case 0:return fnArray[i]===_util.OPS.save;case 1:if(fnArray[i]!==_util.OPS.transform){return false;}var iFirstTransform=context.iCurr-2;var firstTransformArg0=argsArray[iFirstTransform][0];var firstTransformArg3=argsArray[iFirstTransform][3];if(argsArray[i][0]!==firstTransformArg0||argsArray[i][1]!==0||argsArray[i][2]!==0||argsArray[i][3]!==firstTransformArg3){return false;}return true;case 2:if(fnArray[i]!==_util.OPS.paintImageXObject){return false;}var iFirstPIXO=context.iCurr-1;var firstPIXOArg0=argsArray[iFirstPIXO][0];if(argsArray[i][0]!==firstPIXOArg0){return false;}return true;case 3:return fnArray[i]===_util.OPS.restore;}throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));},function(context,i){var MIN_IMAGES_IN_BLOCK=3;var MAX_IMAGES_IN_BLOCK=1000;var fnArray=context.fnArray,argsArray=context.argsArray;var curr=context.iCurr;var iFirstSave=curr-3;var iFirstTransform=curr-2;var iFirstPIXO=curr-1;var firstPIXOArg0=argsArray[iFirstPIXO][0];var firstTransformArg0=argsArray[iFirstTransform][0];var firstTransformArg3=argsArray[iFirstTransform][3];var count=Math.min(Math.floor((i-iFirstSave)/4),MAX_IMAGES_IN_BLOCK);if(count<MIN_IMAGES_IN_BLOCK){return i-(i-iFirstSave)%4;}var positions=new Float32Array(count*2);var iTransform=iFirstTransform;for(var q=0;q<count;q++,iTransform+=4){var transformArgs=argsArray[iTransform];positions[q<<1]=transformArgs[4];positions[(q<<1)+1]=transformArgs[5];}var args=[firstPIXOArg0,firstTransformArg0,firstTransformArg3,positions];fnArray.splice(iFirstSave,count*4,_util.OPS.paintImageXObjectRepeat);argsArray.splice(iFirstSave,count*4,args);return iFirstSave+1;});addState(InitialState,[_util.OPS.beginText,_util.OPS.setFont,_util.OPS.setTextMatrix,_util.OPS.showText,_util.OPS.endText],null,function iterateShowTextGroup(context,i){var fnArray=context.fnArray,argsArray=context.argsArray;var iFirstSave=context.iCurr-4;var pos=(i-iFirstSave)%5;switch(pos){case 0:return fnArray[i]===_util.OPS.beginText;case 1:return fnArray[i]===_util.OPS.setFont;case 2:return fnArray[i]===_util.OPS.setTextMatrix;case 3:if(fnArray[i]!==_util.OPS.showText){return false;}var iFirstSetFont=context.iCurr-3;var firstSetFontArg0=argsArray[iFirstSetFont][0];var firstSetFontArg1=argsArray[iFirstSetFont][1];if(argsArray[i][0]!==firstSetFontArg0||argsArray[i][1]!==firstSetFontArg1){return false;}return true;case 4:return fnArray[i]===_util.OPS.endText;}throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));},function(context,i){var MIN_CHARS_IN_BLOCK=3;var MAX_CHARS_IN_BLOCK=1000;var fnArray=context.fnArray,argsArray=context.argsArray;var curr=context.iCurr;var iFirstBeginText=curr-4;var iFirstSetFont=curr-3;var iFirstSetTextMatrix=curr-2;var iFirstShowText=curr-1;var iFirstEndText=curr;var firstSetFontArg0=argsArray[iFirstSetFont][0];var firstSetFontArg1=argsArray[iFirstSetFont][1];var count=Math.min(Math.floor((i-iFirstBeginText)/5),MAX_CHARS_IN_BLOCK);if(count<MIN_CHARS_IN_BLOCK){return i-(i-iFirstBeginText)%5;}var iFirst=iFirstBeginText;if(iFirstBeginText>=4&&fnArray[iFirstBeginText-4]===fnArray[iFirstSetFont]&&fnArray[iFirstBeginText-3]===fnArray[iFirstSetTextMatrix]&&fnArray[iFirstBeginText-2]===fnArray[iFirstShowText]&&fnArray[iFirstBeginText-1]===fnArray[iFirstEndText]&&argsArray[iFirstBeginText-4][0]===firstSetFontArg0&&argsArray[iFirstBeginText-4][1]===firstSetFontArg1){count++;iFirst-=5;}var iEndText=iFirst+4;for(var q=1;q<count;q++){fnArray.splice(iEndText,3);argsArray.splice(iEndText,3);iEndText+=2;}return iEndText+1;});function QueueOptimizer(queue){this.queue=queue;this.state=null;this.context={iCurr:0,fnArray:queue.fnArray,argsArray:queue.argsArray};this.match=null;this.lastProcessed=0;}QueueOptimizer.prototype={_optimize:function _optimize(){var fnArray=this.queue.fnArray;var i=this.lastProcessed,ii=fnArray.length;var state=this.state;var match=this.match;if(!state&&!match&&i+1===ii&&!InitialState[fnArray[i]]){this.lastProcessed=ii;return;}var context=this.context;while(i<ii){if(match){var iterate=(0,match.iterateFn)(context,i);if(iterate){i++;continue;}i=(0,match.processFn)(context,i+1);ii=fnArray.length;match=null;state=null;if(i>=ii){break;}}state=(state||InitialState)[fnArray[i]];if(!state||Array.isArray(state)){i++;continue;}context.iCurr=i;i++;if(state.checkFn&&!(0,state.checkFn)(context)){state=null;continue;}match=state;state=null;}this.state=state;this.match=match;this.lastProcessed=i;},push:function push(fn,args){this.queue.fnArray.push(fn);this.queue.argsArray.push(args);this._optimize();},flush:function flush(){while(this.match){var length=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,length);this.match=null;this.state=null;this._optimize();}},reset:function reset(){this.state=null;this.match=null;this.lastProcessed=0;}};return QueueOptimizer;}();var NullOptimizer=function NullOptimizerClosure(){function NullOptimizer(queue){this.queue=queue;}NullOptimizer.prototype={push:function push(fn,args){this.queue.fnArray.push(fn);this.queue.argsArray.push(args);},flush:function flush(){},reset:function reset(){}};return NullOptimizer;}();var OperatorList=function OperatorListClosure(){var CHUNK_SIZE=1000;var CHUNK_SIZE_ABOUT=CHUNK_SIZE-5;function OperatorList(intent,streamSink,pageIndex){this._streamSink=streamSink;this.fnArray=[];this.argsArray=[];if(streamSink&&intent!==\"oplist\"){this.optimizer=new QueueOptimizer(this);}else{this.optimizer=new NullOptimizer(this);}this.dependencies=Object.create(null);this._totalLength=0;this.pageIndex=pageIndex;this.intent=intent;this.weight=0;this._resolved=streamSink?null:Promise.resolve();}OperatorList.prototype={get length(){return this.argsArray.length;},get ready(){return this._resolved||this._streamSink.ready;},get totalLength(){return this._totalLength+this.length;},addOp:function addOp(fn,args){this.optimizer.push(fn,args);this.weight++;if(this._streamSink){if(this.weight>=CHUNK_SIZE){this.flush();}else if(this.weight>=CHUNK_SIZE_ABOUT&&(fn===_util.OPS.restore||fn===_util.OPS.endText)){this.flush();}}},addDependency:function addDependency(dependency){if(dependency in this.dependencies){return;}this.dependencies[dependency]=true;this.addOp(_util.OPS.dependency,[dependency]);},addDependencies:function addDependencies(dependencies){for(var key in dependencies){this.addDependency(key);}},addOpList:function addOpList(opList){Object.assign(this.dependencies,opList.dependencies);for(var i=0,ii=opList.length;i<ii;i++){this.addOp(opList.fnArray[i],opList.argsArray[i]);}},getIR:function getIR(){return{fnArray:this.fnArray,argsArray:this.argsArray,length:this.length};},get _transfers(){var transfers=[];var fnArray=this.fnArray,argsArray=this.argsArray,length=this.length;for(var i=0;i<length;i++){switch(fnArray[i]){case _util.OPS.paintInlineImageXObject:case _util.OPS.paintInlineImageXObjectGroup:case _util.OPS.paintImageMaskXObject:var arg=argsArray[i][0];;if(!arg.cached){transfers.push(arg.data.buffer);}break;}}return transfers;},flush:function flush(){var lastChunk=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;this.optimizer.flush();var length=this.length;this._totalLength+=length;this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:lastChunk,length:length},1,this._transfers);this.dependencies=Object.create(null);this.fnArray.length=0;this.argsArray.length=0;this.weight=0;this.optimizer.reset();}};return OperatorList;}();exports.OperatorList=OperatorList;/***/},/* 25 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PartialEvaluator=void 0;var _util=__w_pdfjs_require__(2);var _cmap=__w_pdfjs_require__(26);var _primitives=__w_pdfjs_require__(4);var _fonts=__w_pdfjs_require__(27);var _encodings=__w_pdfjs_require__(30);var _core_utils=__w_pdfjs_require__(7);var _unicode=__w_pdfjs_require__(33);var _standard_fonts=__w_pdfjs_require__(32);var _pattern=__w_pdfjs_require__(36);var _parser=__w_pdfjs_require__(10);var _bidi=__w_pdfjs_require__(37);var _colorspace=__w_pdfjs_require__(22);var _stream=__w_pdfjs_require__(11);var _glyphlist=__w_pdfjs_require__(31);var _metrics=__w_pdfjs_require__(38);var _function=__w_pdfjs_require__(39);var _jpeg_stream=__w_pdfjs_require__(17);var _murmurhash=__w_pdfjs_require__(41);var _image_utils=__w_pdfjs_require__(42);var _operator_list=__w_pdfjs_require__(24);var _image=__w_pdfjs_require__(43);var PartialEvaluator=function PartialEvaluatorClosure(){var DefaultPartialEvaluatorOptions={forceDataSchema:false,maxImageSize:-1,disableFontFace:false,nativeImageDecoderSupport:_util.NativeImageDecoding.DECODE,ignoreErrors:false,isEvalSupported:true};function PartialEvaluator(_ref21){var _this53=this;var xref=_ref21.xref,handler=_ref21.handler,pageIndex=_ref21.pageIndex,idFactory=_ref21.idFactory,fontCache=_ref21.fontCache,builtInCMapCache=_ref21.builtInCMapCache,_ref21$options=_ref21.options,options=_ref21$options===void 0?null:_ref21$options,pdfFunctionFactory=_ref21.pdfFunctionFactory;this.xref=xref;this.handler=handler;this.pageIndex=pageIndex;this.idFactory=idFactory;this.fontCache=fontCache;this.builtInCMapCache=builtInCMapCache;this.options=options||DefaultPartialEvaluatorOptions;this.pdfFunctionFactory=pdfFunctionFactory;this.parsingType3Font=false;this.fetchBuiltInCMap=/*#__PURE__*/function(){var _ref22=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee12(name){var readableStream,reader,data;return regeneratorRuntime.wrap(function _callee12$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:if(!_this53.builtInCMapCache.has(name)){_context12.next=2;break;}return _context12.abrupt(\"return\",_this53.builtInCMapCache.get(name));case 2:readableStream=_this53.handler.sendWithStream(\"FetchBuiltInCMap\",{name:name});reader=readableStream.getReader();_context12.next=6;return new Promise(function(resolve,reject){function pump(){reader.read().then(function(_ref23){var value=_ref23.value,done=_ref23.done;if(done){return;}resolve(value);pump();},reject);}pump();});case 6:data=_context12.sent;if(data.compressionType!==_util.CMapCompressionType.NONE){_this53.builtInCMapCache.set(name,data);}return _context12.abrupt(\"return\",data);case 9:case\"end\":return _context12.stop();}}},_callee12);}));return function(_x12){return _ref22.apply(this,arguments);};}();}var TIME_SLOT_DURATION_MS=20;var CHECK_TIME_EVERY=100;function TimeSlotManager(){this.reset();}TimeSlotManager.prototype={check:function TimeSlotManager_check(){if(++this.checked<CHECK_TIME_EVERY){return false;}this.checked=0;return this.endTime<=Date.now();},reset:function TimeSlotManager_reset(){this.endTime=Date.now()+TIME_SLOT_DURATION_MS;this.checked=0;}};function normalizeBlendMode(value){var parsingArray=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(Array.isArray(value)){for(var i=0,ii=value.length;i<ii;i++){var maybeBM=normalizeBlendMode(value[i],true);if(maybeBM){return maybeBM;}}(0,_util.warn)(\"Unsupported blend mode Array: \".concat(value));return\"source-over\";}if(!(0,_primitives.isName)(value)){if(parsingArray){return null;}return\"source-over\";}switch(value.name){case\"Normal\":case\"Compatible\":return\"source-over\";case\"Multiply\":return\"multiply\";case\"Screen\":return\"screen\";case\"Overlay\":return\"overlay\";case\"Darken\":return\"darken\";case\"Lighten\":return\"lighten\";case\"ColorDodge\":return\"color-dodge\";case\"ColorBurn\":return\"color-burn\";case\"HardLight\":return\"hard-light\";case\"SoftLight\":return\"soft-light\";case\"Difference\":return\"difference\";case\"Exclusion\":return\"exclusion\";case\"Hue\":return\"hue\";case\"Saturation\":return\"saturation\";case\"Color\":return\"color\";case\"Luminosity\":return\"luminosity\";}if(parsingArray){return null;}(0,_util.warn)(\"Unsupported blend mode: \".concat(value.name));return\"source-over\";}var deferred=Promise.resolve();var TILING_PATTERN=1,SHADING_PATTERN=2;PartialEvaluator.prototype={clone:function clone(){var newOptions=arguments.length>0&&arguments[0]!==undefined?arguments[0]:DefaultPartialEvaluatorOptions;var newEvaluator=Object.create(this);newEvaluator.options=newOptions;return newEvaluator;},hasBlendModes:function PartialEvaluator_hasBlendModes(resources){if(!(resources instanceof _primitives.Dict)){return false;}var processed=Object.create(null);if(resources.objId){processed[resources.objId]=true;}var nodes=[resources],xref=this.xref;while(nodes.length){var node=nodes.shift();var graphicStates=node.get(\"ExtGState\");if(graphicStates instanceof _primitives.Dict){var graphicStatesKeys=graphicStates.getKeys();for(var i=0,ii=graphicStatesKeys.length;i<ii;i++){var key=graphicStatesKeys[i];var graphicState=graphicStates.getRaw(key);if(graphicState instanceof _primitives.Ref){if(processed[graphicState.toString()]){continue;}try{graphicState=xref.fetch(graphicState);}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}if(this.options.ignoreErrors){if(graphicState instanceof _primitives.Ref){processed[graphicState.toString()]=true;}this.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex,\"\\\".\"));continue;}throw ex;}}if(!(graphicState instanceof _primitives.Dict)){continue;}if(graphicState.objId){processed[graphicState.objId]=true;}var bm=graphicState.get(\"BM\");if(bm instanceof _primitives.Name){if(bm.name!==\"Normal\"){return true;}continue;}if(bm!==undefined&&Array.isArray(bm)){for(var j=0,jj=bm.length;j<jj;j++){if(bm[j]instanceof _primitives.Name&&bm[j].name!==\"Normal\"){return true;}}}}}var xObjects=node.get(\"XObject\");if(!(xObjects instanceof _primitives.Dict)){continue;}var xObjectsKeys=xObjects.getKeys();for(var _i19=0,_ii5=xObjectsKeys.length;_i19<_ii5;_i19++){var _key2=xObjectsKeys[_i19];var xObject=xObjects.getRaw(_key2);if(xObject instanceof _primitives.Ref){if(processed[xObject.toString()]){continue;}try{xObject=xref.fetch(xObject);}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}if(this.options.ignoreErrors){if(xObject instanceof _primitives.Ref){processed[xObject.toString()]=true;}this.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex,\"\\\".\"));continue;}throw ex;}}if(!(0,_primitives.isStream)(xObject)){continue;}if(xObject.dict.objId){if(processed[xObject.dict.objId]){continue;}processed[xObject.dict.objId]=true;}var xResources=xObject.dict.get(\"Resources\");if(xResources instanceof _primitives.Dict&&(!xResources.objId||!processed[xResources.objId])){nodes.push(xResources);if(xResources.objId){processed[xResources.objId]=true;}}}}return false;},buildFormXObject:function buildFormXObject(resources,xobj,smask,operatorList,task,initialState){var _this54=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee13(){var dict,matrix,bbox,group,groupOptions,groupSubtype,colorSpace;return regeneratorRuntime.wrap(function _callee13$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:dict=xobj.dict;matrix=dict.getArray(\"Matrix\");bbox=dict.getArray(\"BBox\");if(Array.isArray(bbox)&&bbox.length===4){bbox=_util.Util.normalizeRect(bbox);}else{bbox=null;}group=dict.get(\"Group\");if(!group){_context13.next=18;break;}groupOptions={matrix:matrix,bbox:bbox,smask:smask,isolated:false,knockout:false};groupSubtype=group.get(\"S\");colorSpace=null;if(!(0,_primitives.isName)(groupSubtype,\"Transparency\")){_context13.next=16;break;}groupOptions.isolated=group.get(\"I\")||false;groupOptions.knockout=group.get(\"K\")||false;if(!group.has(\"CS\")){_context13.next=16;break;}_context13.next=15;return _this54.parseColorSpace({cs:group.get(\"CS\"),resources:resources});case 15:colorSpace=_context13.sent;case 16:if(smask&&smask.backdrop){colorSpace=colorSpace||_colorspace.ColorSpace.singletons.rgb;smask.backdrop=colorSpace.getRgb(smask.backdrop,0);}operatorList.addOp(_util.OPS.beginGroup,[groupOptions]);case 18:operatorList.addOp(_util.OPS.paintFormXObjectBegin,[matrix,bbox]);return _context13.abrupt(\"return\",_this54.getOperatorList({stream:xobj,task:task,resources:dict.get(\"Resources\")||resources,operatorList:operatorList,initialState:initialState}).then(function(){operatorList.addOp(_util.OPS.paintFormXObjectEnd,[]);if(group){operatorList.addOp(_util.OPS.endGroup,[groupOptions]);}}));case 20:case\"end\":return _context13.stop();}}},_callee13);}))();},buildPaintImageXObject:function buildPaintImageXObject(_ref24){var _this55=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee14(){var resources,image,_ref24$isInline,isInline,operatorList,cacheKey,imageCache,_ref24$forceDisableNa,forceDisableNativeImageDecoder,dict,w,h,maxImageSize,imageMask,imgData,args,width,height,bitStrideLength,imgArray,decode,softMask,mask,SMALL_IMAGE_DIMENSIONS,imageObj,nativeImageDecoderSupport,objId,nativeImageDecoder,imgPromise;return regeneratorRuntime.wrap(function _callee14$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:resources=_ref24.resources,image=_ref24.image,_ref24$isInline=_ref24.isInline,isInline=_ref24$isInline===void 0?false:_ref24$isInline,operatorList=_ref24.operatorList,cacheKey=_ref24.cacheKey,imageCache=_ref24.imageCache,_ref24$forceDisableNa=_ref24.forceDisableNativeImageDecoder,forceDisableNativeImageDecoder=_ref24$forceDisableNa===void 0?false:_ref24$forceDisableNa;dict=image.dict;w=dict.get(\"Width\",\"W\");h=dict.get(\"Height\",\"H\");if(!(!(w&&(0,_util.isNum)(w))||!(h&&(0,_util.isNum)(h)))){_context14.next=7;break;}(0,_util.warn)(\"Image dimensions are missing, or not numbers.\");return _context14.abrupt(\"return\",undefined);case 7:maxImageSize=_this55.options.maxImageSize;if(!(maxImageSize!==-1&&w*h>maxImageSize)){_context14.next=11;break;}(0,_util.warn)(\"Image exceeded maximum allowed size and was removed.\");return _context14.abrupt(\"return\",undefined);case 11:imageMask=dict.get(\"ImageMask\",\"IM\")||false;if(!imageMask){_context14.next=24;break;}width=dict.get(\"Width\",\"W\");height=dict.get(\"Height\",\"H\");bitStrideLength=width+7>>3;imgArray=image.getBytes(bitStrideLength*height,true);decode=dict.getArray(\"Decode\",\"D\");imgData=_image.PDFImage.createMask({imgArray:imgArray,width:width,height:height,imageIsFromDecodeStream:image instanceof _stream.DecodeStream,inverseDecode:!!decode&&decode[0]>0});imgData.cached=!!cacheKey;args=[imgData];operatorList.addOp(_util.OPS.paintImageMaskXObject,args);if(cacheKey){imageCache[cacheKey]={fn:_util.OPS.paintImageMaskXObject,args:args};}return _context14.abrupt(\"return\",undefined);case 24:softMask=dict.get(\"SMask\",\"SM\")||false;mask=dict.get(\"Mask\")||false;SMALL_IMAGE_DIMENSIONS=200;if(!(isInline&&!softMask&&!mask&&!(image instanceof _jpeg_stream.JpegStream)&&w+h<SMALL_IMAGE_DIMENSIONS)){_context14.next=32;break;}imageObj=new _image.PDFImage({xref:_this55.xref,res:resources,image:image,isInline:isInline,pdfFunctionFactory:_this55.pdfFunctionFactory});imgData=imageObj.createImageData(true);operatorList.addOp(_util.OPS.paintInlineImageXObject,[imgData]);return _context14.abrupt(\"return\",undefined);case 32:nativeImageDecoderSupport=forceDisableNativeImageDecoder?_util.NativeImageDecoding.NONE:_this55.options.nativeImageDecoderSupport;objId=\"img_\".concat(_this55.idFactory.createObjId());if(_this55.parsingType3Font){(0,_util.assert)(nativeImageDecoderSupport===_util.NativeImageDecoding.NONE,\"Type3 image resources should be completely decoded in the worker.\");objId=\"\".concat(_this55.idFactory.getDocId(),\"_type3res_\").concat(objId);}if(!(nativeImageDecoderSupport!==_util.NativeImageDecoding.NONE&&!softMask&&!mask&&image instanceof _jpeg_stream.JpegStream&&_image_utils.NativeImageDecoder.isSupported(image,_this55.xref,resources,_this55.pdfFunctionFactory)&&image.maybeValidDimensions)){_context14.next=37;break;}return _context14.abrupt(\"return\",_this55.handler.sendWithPromise(\"obj\",[objId,_this55.pageIndex,\"JpegStream\",image.getIR(_this55.options.forceDataSchema)]).then(function(){operatorList.addDependency(objId);args=[objId,w,h];operatorList.addOp(_util.OPS.paintJpegXObject,args);if(cacheKey){imageCache[cacheKey]={fn:_util.OPS.paintJpegXObject,args:args};}},function(reason){(0,_util.warn)(\"Native JPEG decoding failed -- trying to recover: \"+(reason&&reason.message));return _this55.buildPaintImageXObject({resources:resources,image:image,isInline:isInline,operatorList:operatorList,cacheKey:cacheKey,imageCache:imageCache,forceDisableNativeImageDecoder:true});}));case 37:nativeImageDecoder=null;if(nativeImageDecoderSupport===_util.NativeImageDecoding.DECODE&&(image instanceof _jpeg_stream.JpegStream||mask instanceof _jpeg_stream.JpegStream||softMask instanceof _jpeg_stream.JpegStream)){nativeImageDecoder=new _image_utils.NativeImageDecoder({xref:_this55.xref,resources:resources,handler:_this55.handler,forceDataSchema:_this55.options.forceDataSchema,pdfFunctionFactory:_this55.pdfFunctionFactory});}operatorList.addDependency(objId);args=[objId,w,h];imgPromise=_image.PDFImage.buildImage({handler:_this55.handler,xref:_this55.xref,res:resources,image:image,isInline:isInline,nativeDecoder:nativeImageDecoder,pdfFunctionFactory:_this55.pdfFunctionFactory}).then(function(imageObj){var imgData=imageObj.createImageData(false);if(_this55.parsingType3Font){return _this55.handler.sendWithPromise(\"commonobj\",[objId,\"FontType3Res\",imgData],[imgData.data.buffer]);}_this55.handler.send(\"obj\",[objId,_this55.pageIndex,\"Image\",imgData],[imgData.data.buffer]);return undefined;}).catch(function(reason){(0,_util.warn)(\"Unable to decode image: \"+reason);if(_this55.parsingType3Font){return _this55.handler.sendWithPromise(\"commonobj\",[objId,\"FontType3Res\",null]);}_this55.handler.send(\"obj\",[objId,_this55.pageIndex,\"Image\",null]);return undefined;});if(!_this55.parsingType3Font){_context14.next=45;break;}_context14.next=45;return imgPromise;case 45:operatorList.addOp(_util.OPS.paintImageXObject,args);if(cacheKey){imageCache[cacheKey]={fn:_util.OPS.paintImageXObject,args:args};}return _context14.abrupt(\"return\",undefined);case 48:case\"end\":return _context14.stop();}}},_callee14);}))();},handleSMask:function PartialEvaluator_handleSmask(smask,resources,operatorList,task,stateManager){var smaskContent=smask.get(\"G\");var smaskOptions={subtype:smask.get(\"S\").name,backdrop:smask.get(\"BC\")};var transferObj=smask.get(\"TR\");if((0,_function.isPDFFunction)(transferObj)){var transferFn=this.pdfFunctionFactory.create(transferObj);var transferMap=new Uint8Array(256);var tmp=new Float32Array(1);for(var i=0;i<256;i++){tmp[0]=i/255;transferFn(tmp,0,tmp,0);transferMap[i]=tmp[0]*255|0;}smaskOptions.transferMap=transferMap;}return this.buildFormXObject(resources,smaskContent,smaskOptions,operatorList,task,stateManager.state.clone());},handleTilingType:function handleTilingType(fn,args,resources,pattern,patternDict,operatorList,task){var _this56=this;var tilingOpList=new _operator_list.OperatorList();var resourcesArray=[patternDict.get(\"Resources\"),resources];var patternResources=_primitives.Dict.merge(this.xref,resourcesArray);return this.getOperatorList({stream:pattern,task:task,resources:patternResources,operatorList:tilingOpList}).then(function(){return(0,_pattern.getTilingPatternIR)({fnArray:tilingOpList.fnArray,argsArray:tilingOpList.argsArray},patternDict,args);}).then(function(tilingPatternIR){operatorList.addDependencies(tilingOpList.dependencies);operatorList.addOp(fn,tilingPatternIR);},function(reason){if(reason instanceof _util.AbortException){return;}if(_this56.options.ignoreErrors){_this56.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason,\"\\\".\"));return;}throw reason;});},handleSetFont:function PartialEvaluator_handleSetFont(resources,fontArgs,fontRef,operatorList,task,state){var _this57=this;var fontName;if(fontArgs){fontArgs=fontArgs.slice();fontName=fontArgs[0].name;}return this.loadFont(fontName,fontRef,resources).then(function(translated){if(!translated.font.isType3Font){return translated;}return translated.loadType3Data(_this57,resources,operatorList,task).then(function(){return translated;}).catch(function(reason){_this57.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.font});return new TranslatedFont(\"g_font_error\",new _fonts.ErrorFont(\"Type3 font load error: \"+reason),translated.font);});}).then(function(translated){state.font=translated.font;translated.send(_this57.handler);return translated.loadedName;});},handleText:function handleText(chars,state){var font=state.font;var glyphs=font.charsToGlyphs(chars);if(font.data){var isAddToPathSet=!!(state.textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG);if(isAddToPathSet||state.fillColorSpace.name===\"Pattern\"||font.disableFontFace||this.options.disableFontFace){PartialEvaluator.buildFontPaths(font,glyphs,this.handler);}}return glyphs;},ensureStateFont:function ensureStateFont(state){if(state.font){return;}var reason=new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");if(this.options.ignoreErrors){this.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.font});(0,_util.warn)(\"ensureStateFont: \\\"\".concat(reason,\"\\\".\"));return;}throw reason;},setGState:function PartialEvaluator_setGState(resources,gState,operatorList,task,stateManager){var _this58=this;var gStateObj=[];var gStateKeys=gState.getKeys();var promise=Promise.resolve();var _loop2=function _loop2(){var key=gStateKeys[i];var value=gState.get(key);switch(key){case\"Type\":break;case\"LW\":case\"LC\":case\"LJ\":case\"ML\":case\"D\":case\"RI\":case\"FL\":case\"CA\":case\"ca\":gStateObj.push([key,value]);break;case\"Font\":promise=promise.then(function(){return _this58.handleSetFont(resources,null,value[0],operatorList,task,stateManager.state).then(function(loadedName){operatorList.addDependency(loadedName);gStateObj.push([key,[loadedName,value[1]]]);});});break;case\"BM\":gStateObj.push([key,normalizeBlendMode(value)]);break;case\"SMask\":if((0,_primitives.isName)(value,\"None\")){gStateObj.push([key,false]);break;}if((0,_primitives.isDict)(value)){promise=promise.then(function(){return _this58.handleSMask(value,resources,operatorList,task,stateManager);});gStateObj.push([key,true]);}else{(0,_util.warn)(\"Unsupported SMask type\");}break;case\"OP\":case\"op\":case\"OPM\":case\"BG\":case\"BG2\":case\"UCR\":case\"UCR2\":case\"TR\":case\"TR2\":case\"HT\":case\"SM\":case\"SA\":case\"AIS\":case\"TK\":(0,_util.info)(\"graphic state operator \"+key);break;default:(0,_util.info)(\"Unknown graphic state operator \"+key);break;}};for(var i=0,ii=gStateKeys.length;i<ii;i++){_loop2();}return promise.then(function(){if(gStateObj.length>0){operatorList.addOp(_util.OPS.setGState,[gStateObj]);}});},loadFont:function PartialEvaluator_loadFont(fontName,font,resources){var _this59=this;function errorFont(){return Promise.resolve(new TranslatedFont(\"g_font_error\",new _fonts.ErrorFont(\"Font \"+fontName+\" is not available\"),font));}var fontRef,xref=this.xref;if(font){if(!(0,_primitives.isRef)(font)){throw new _util.FormatError('The \"font\" object should be a reference.');}fontRef=font;}else{var fontRes=resources.get(\"Font\");if(fontRes){fontRef=fontRes.getRaw(fontName);}}if(!fontRef){var partialMsg=\"Font \\\"\".concat(fontName||font&&font.toString(),\"\\\" is not available\");if(!this.options.ignoreErrors&&!this.parsingType3Font){(0,_util.warn)(\"\".concat(partialMsg,\".\"));return errorFont();}this.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.font});(0,_util.warn)(\"\".concat(partialMsg,\" -- attempting to fallback to a default font.\"));fontRef=PartialEvaluator.getFallbackFontDict();}if(this.fontCache.has(fontRef)){return this.fontCache.get(fontRef);}font=xref.fetchIfRef(fontRef);if(!(0,_primitives.isDict)(font)){return errorFont();}if(font.translated){return font.translated;}var fontCapability=(0,_util.createPromiseCapability)();var preEvaluatedFont=this.preEvaluateFont(font);var descriptor=preEvaluatedFont.descriptor,hash=preEvaluatedFont.hash;var fontRefIsRef=(0,_primitives.isRef)(fontRef),fontID;if(fontRefIsRef){fontID=fontRef.toString();}if(hash&&(0,_primitives.isDict)(descriptor)){if(!descriptor.fontAliases){descriptor.fontAliases=Object.create(null);}var fontAliases=descriptor.fontAliases;if(fontAliases[hash]){var aliasFontRef=fontAliases[hash].aliasRef;if(fontRefIsRef&&aliasFontRef&&this.fontCache.has(aliasFontRef)){this.fontCache.putAlias(fontRef,aliasFontRef);return this.fontCache.get(fontRef);}}else{fontAliases[hash]={fontID:_fonts.Font.getFontID()};}if(fontRefIsRef){fontAliases[hash].aliasRef=fontRef;}fontID=fontAliases[hash].fontID;}if(fontRefIsRef){this.fontCache.put(fontRef,fontCapability.promise);}else{if(!fontID){fontID=this.idFactory.createObjId();}this.fontCache.put(\"id_\".concat(fontID),fontCapability.promise);}(0,_util.assert)(fontID,'The \"fontID\" must be defined.');font.loadedName=\"\".concat(this.idFactory.getDocId(),\"_f\").concat(fontID);font.translated=fontCapability.promise;var translatedPromise;try{translatedPromise=this.translateFont(preEvaluatedFont);}catch(e){translatedPromise=Promise.reject(e);}translatedPromise.then(function(translatedFont){if(translatedFont.fontType!==undefined){var xrefFontStats=xref.stats.fontTypes;xrefFontStats[translatedFont.fontType]=true;}fontCapability.resolve(new TranslatedFont(font.loadedName,translatedFont,font));}).catch(function(reason){_this59.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.font});try{var fontFile3=descriptor&&descriptor.get(\"FontFile3\");var subtype=fontFile3&&fontFile3.get(\"Subtype\");var fontType=(0,_fonts.getFontType)(preEvaluatedFont.type,subtype&&subtype.name);var xrefFontStats=xref.stats.fontTypes;xrefFontStats[fontType]=true;}catch(ex){}fontCapability.resolve(new TranslatedFont(font.loadedName,new _fonts.ErrorFont(reason instanceof Error?reason.message:reason),font));});return fontCapability.promise;},buildPath:function buildPath(operatorList,fn,args){var parsingText=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var lastIndex=operatorList.length-1;if(!args){args=[];}if(lastIndex<0||operatorList.fnArray[lastIndex]!==_util.OPS.constructPath){if(parsingText){(0,_util.warn)(\"Encountered path operator \\\"\".concat(fn,\"\\\" inside of a text object.\"));operatorList.addOp(_util.OPS.save,null);}operatorList.addOp(_util.OPS.constructPath,[[fn],args]);if(parsingText){operatorList.addOp(_util.OPS.restore,null);}}else{var opArgs=operatorList.argsArray[lastIndex];opArgs[0].push(fn);Array.prototype.push.apply(opArgs[1],args);}},parseColorSpace:function parseColorSpace(_ref25){var _this60=this;var cs=_ref25.cs,resources=_ref25.resources;return new Promise(function(resolve){resolve(_colorspace.ColorSpace.parse(cs,_this60.xref,resources,_this60.pdfFunctionFactory));}).catch(function(reason){if(reason instanceof _util.AbortException){return null;}if(_this60.options.ignoreErrors){_this60.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason,\"\\\".\"));return null;}throw reason;});},handleColorN:function handleColorN(operatorList,fn,args,cs,patterns,resources,task){var _this61=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee15(){var patternName,pattern,dict,typeNum,color,shading,matrix;return regeneratorRuntime.wrap(function _callee15$(_context15){while(1){switch(_context15.prev=_context15.next){case 0:patternName=args[args.length-1];if(!((0,_primitives.isName)(patternName)&&(pattern=patterns.get(patternName.name)))){_context15.next=16;break;}dict=(0,_primitives.isStream)(pattern)?pattern.dict:pattern;typeNum=dict.get(\"PatternType\");if(!(typeNum===TILING_PATTERN)){_context15.next=9;break;}color=cs.base?cs.base.getRgb(args,0):null;return _context15.abrupt(\"return\",_this61.handleTilingType(fn,color,resources,pattern,dict,operatorList,task));case 9:if(!(typeNum===SHADING_PATTERN)){_context15.next=15;break;}shading=dict.get(\"Shading\");matrix=dict.getArray(\"Matrix\");pattern=_pattern.Pattern.parseShading(shading,matrix,_this61.xref,resources,_this61.handler,_this61.pdfFunctionFactory);operatorList.addOp(fn,pattern.getIR());return _context15.abrupt(\"return\",undefined);case 15:throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));case 16:throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));case 17:case\"end\":return _context15.stop();}}},_callee15);}))();},getOperatorList:function getOperatorList(_ref26){var _this62=this;var stream=_ref26.stream,task=_ref26.task,resources=_ref26.resources,operatorList=_ref26.operatorList,_ref26$initialState=_ref26.initialState,initialState=_ref26$initialState===void 0?null:_ref26$initialState;resources=resources||_primitives.Dict.empty;initialState=initialState||new EvalState();if(!operatorList){throw new Error('getOperatorList: missing \"operatorList\" parameter');}var self=this;var xref=this.xref;var parsingText=false;var imageCache=Object.create(null);var xobjs=resources.get(\"XObject\")||_primitives.Dict.empty;var patterns=resources.get(\"Pattern\")||_primitives.Dict.empty;var stateManager=new StateManager(initialState);var preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager);var timeSlotManager=new TimeSlotManager();function closePendingRestoreOPS(argument){for(var i=0,ii=preprocessor.savedStatesDepth;i<ii;i++){operatorList.addOp(_util.OPS.restore,[]);}}return new Promise(function promiseBody(resolve,reject){var next=function next(promise){Promise.all([promise,operatorList.ready]).then(function(){try{promiseBody(resolve,reject);}catch(ex){reject(ex);}},reject);};task.ensureNotTerminated();timeSlotManager.reset();var stop,operation={},i,ii,cs;while(!(stop=timeSlotManager.check())){operation.args=null;if(!preprocessor.read(operation)){break;}var args=operation.args;var fn=operation.fn;switch(fn|0){case _util.OPS.paintXObject:var name=args[0].name;if(name&&imageCache[name]!==undefined){operatorList.addOp(imageCache[name].fn,imageCache[name].args);args=null;continue;}next(new Promise(function(resolveXObject,rejectXObject){if(!name){throw new _util.FormatError(\"XObject must be referred to by name.\");}var xobj=xobjs.get(name);if(!xobj){operatorList.addOp(fn,args);resolveXObject();return;}if(!(0,_primitives.isStream)(xobj)){throw new _util.FormatError(\"XObject should be a stream\");}var type=xobj.dict.get(\"Subtype\");if(!(0,_primitives.isName)(type)){throw new _util.FormatError(\"XObject should have a Name subtype\");}if(type.name===\"Form\"){stateManager.save();self.buildFormXObject(resources,xobj,null,operatorList,task,stateManager.state.clone()).then(function(){stateManager.restore();resolveXObject();},rejectXObject);return;}else if(type.name===\"Image\"){self.buildPaintImageXObject({resources:resources,image:xobj,operatorList:operatorList,cacheKey:name,imageCache:imageCache}).then(resolveXObject,rejectXObject);return;}else if(type.name===\"PS\"){(0,_util.info)(\"Ignored XObject subtype PS\");}else{throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));}resolveXObject();}).catch(function(reason){if(reason instanceof _util.AbortException){return;}if(self.options.ignoreErrors){self.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason,\"\\\".\"));return;}throw reason;}));return;case _util.OPS.setFont:var fontSize=args[1];next(self.handleSetFont(resources,args,null,operatorList,task,stateManager.state).then(function(loadedName){operatorList.addDependency(loadedName);operatorList.addOp(_util.OPS.setFont,[loadedName,fontSize]);}));return;case _util.OPS.beginText:parsingText=true;break;case _util.OPS.endText:parsingText=false;break;case _util.OPS.endInlineImage:var cacheKey=args[0].cacheKey;if(cacheKey){var cacheEntry=imageCache[cacheKey];if(cacheEntry!==undefined){operatorList.addOp(cacheEntry.fn,cacheEntry.args);args=null;continue;}}next(self.buildPaintImageXObject({resources:resources,image:args[0],isInline:true,operatorList:operatorList,cacheKey:cacheKey,imageCache:imageCache}));return;case _util.OPS.showText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}args[0]=self.handleText(args[0],stateManager.state);break;case _util.OPS.showSpacedText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}var arr=args[0];var combinedGlyphs=[];var arrLength=arr.length;var state=stateManager.state;for(i=0;i<arrLength;++i){var arrItem=arr[i];if((0,_util.isString)(arrItem)){Array.prototype.push.apply(combinedGlyphs,self.handleText(arrItem,state));}else if((0,_util.isNum)(arrItem)){combinedGlyphs.push(arrItem);}}args[0]=combinedGlyphs;fn=_util.OPS.showText;break;case _util.OPS.nextLineShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}operatorList.addOp(_util.OPS.nextLine);args[0]=self.handleText(args[0],stateManager.state);fn=_util.OPS.showText;break;case _util.OPS.nextLineSetSpacingShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}operatorList.addOp(_util.OPS.nextLine);operatorList.addOp(_util.OPS.setWordSpacing,[args.shift()]);operatorList.addOp(_util.OPS.setCharSpacing,[args.shift()]);args[0]=self.handleText(args[0],stateManager.state);fn=_util.OPS.showText;break;case _util.OPS.setTextRenderingMode:stateManager.state.textRenderingMode=args[0];break;case _util.OPS.setFillColorSpace:next(self.parseColorSpace({cs:args[0],resources:resources}).then(function(colorSpace){if(colorSpace){stateManager.state.fillColorSpace=colorSpace;}}));return;case _util.OPS.setStrokeColorSpace:next(self.parseColorSpace({cs:args[0],resources:resources}).then(function(colorSpace){if(colorSpace){stateManager.state.strokeColorSpace=colorSpace;}}));return;case _util.OPS.setFillColor:cs=stateManager.state.fillColorSpace;args=cs.getRgb(args,0);fn=_util.OPS.setFillRGBColor;break;case _util.OPS.setStrokeColor:cs=stateManager.state.strokeColorSpace;args=cs.getRgb(args,0);fn=_util.OPS.setStrokeRGBColor;break;case _util.OPS.setFillGray:stateManager.state.fillColorSpace=_colorspace.ColorSpace.singletons.gray;args=_colorspace.ColorSpace.singletons.gray.getRgb(args,0);fn=_util.OPS.setFillRGBColor;break;case _util.OPS.setStrokeGray:stateManager.state.strokeColorSpace=_colorspace.ColorSpace.singletons.gray;args=_colorspace.ColorSpace.singletons.gray.getRgb(args,0);fn=_util.OPS.setStrokeRGBColor;break;case _util.OPS.setFillCMYKColor:stateManager.state.fillColorSpace=_colorspace.ColorSpace.singletons.cmyk;args=_colorspace.ColorSpace.singletons.cmyk.getRgb(args,0);fn=_util.OPS.setFillRGBColor;break;case _util.OPS.setStrokeCMYKColor:stateManager.state.strokeColorSpace=_colorspace.ColorSpace.singletons.cmyk;args=_colorspace.ColorSpace.singletons.cmyk.getRgb(args,0);fn=_util.OPS.setStrokeRGBColor;break;case _util.OPS.setFillRGBColor:stateManager.state.fillColorSpace=_colorspace.ColorSpace.singletons.rgb;args=_colorspace.ColorSpace.singletons.rgb.getRgb(args,0);break;case _util.OPS.setStrokeRGBColor:stateManager.state.strokeColorSpace=_colorspace.ColorSpace.singletons.rgb;args=_colorspace.ColorSpace.singletons.rgb.getRgb(args,0);break;case _util.OPS.setFillColorN:cs=stateManager.state.fillColorSpace;if(cs.name===\"Pattern\"){next(self.handleColorN(operatorList,_util.OPS.setFillColorN,args,cs,patterns,resources,task));return;}args=cs.getRgb(args,0);fn=_util.OPS.setFillRGBColor;break;case _util.OPS.setStrokeColorN:cs=stateManager.state.strokeColorSpace;if(cs.name===\"Pattern\"){next(self.handleColorN(operatorList,_util.OPS.setStrokeColorN,args,cs,patterns,resources,task));return;}args=cs.getRgb(args,0);fn=_util.OPS.setStrokeRGBColor;break;case _util.OPS.shadingFill:var shadingRes=resources.get(\"Shading\");if(!shadingRes){throw new _util.FormatError(\"No shading resource found\");}var shading=shadingRes.get(args[0].name);if(!shading){throw new _util.FormatError(\"No shading object found\");}var shadingFill=_pattern.Pattern.parseShading(shading,null,xref,resources,self.handler,self.pdfFunctionFactory);var patternIR=shadingFill.getIR();args=[patternIR];fn=_util.OPS.shadingFill;break;case _util.OPS.setGState:var dictName=args[0];var extGState=resources.get(\"ExtGState\");if(!(0,_primitives.isDict)(extGState)||!extGState.has(dictName.name)){break;}var gState=extGState.get(dictName.name);next(self.setGState(resources,gState,operatorList,task,stateManager));return;case _util.OPS.moveTo:case _util.OPS.lineTo:case _util.OPS.curveTo:case _util.OPS.curveTo2:case _util.OPS.curveTo3:case _util.OPS.closePath:case _util.OPS.rectangle:self.buildPath(operatorList,fn,args,parsingText);continue;case _util.OPS.markPoint:case _util.OPS.markPointProps:case _util.OPS.beginMarkedContent:case _util.OPS.beginMarkedContentProps:case _util.OPS.endMarkedContent:case _util.OPS.beginCompat:case _util.OPS.endCompat:continue;default:if(args!==null){for(i=0,ii=args.length;i<ii;i++){if(args[i]instanceof _primitives.Dict){break;}}if(i<ii){(0,_util.warn)(\"getOperatorList - ignoring operator: \"+fn);continue;}}}operatorList.addOp(fn,args);}if(stop){next(deferred);return;}closePendingRestoreOPS();resolve();}).catch(function(reason){if(reason instanceof _util.AbortException){return;}if(_this62.options.ignoreErrors){_this62.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.unknown});(0,_util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name,\"\\\" \")+\"task: \\\"\".concat(reason,\"\\\".\"));closePendingRestoreOPS();return;}throw reason;});},getTextContent:function getTextContent(_ref27){var _this63=this;var stream=_ref27.stream,task=_ref27.task,resources=_ref27.resources,_ref27$stateManager=_ref27.stateManager,stateManager=_ref27$stateManager===void 0?null:_ref27$stateManager,_ref27$normalizeWhite=_ref27.normalizeWhitespace,normalizeWhitespace=_ref27$normalizeWhite===void 0?false:_ref27$normalizeWhite,_ref27$combineTextIte=_ref27.combineTextItems,combineTextItems=_ref27$combineTextIte===void 0?false:_ref27$combineTextIte,sink=_ref27.sink,_ref27$seenStyles=_ref27.seenStyles,seenStyles=_ref27$seenStyles===void 0?Object.create(null):_ref27$seenStyles;resources=resources||_primitives.Dict.empty;stateManager=stateManager||new StateManager(new TextState());var WhitespaceRegexp=/\\s/g;var textContent={items:[],styles:Object.create(null)};var textContentItem={initialized:false,str:[],width:0,height:0,vertical:false,lastAdvanceWidth:0,lastAdvanceHeight:0,textAdvanceScale:0,spaceWidth:0,fakeSpaceMin:Infinity,fakeMultiSpaceMin:Infinity,fakeMultiSpaceMax:-0,textRunBreakAllowed:false,transform:null,fontName:null};var SPACE_FACTOR=0.3;var MULTI_SPACE_FACTOR=1.5;var MULTI_SPACE_FACTOR_MAX=4;var self=this;var xref=this.xref;var xobjs=null;var skipEmptyXObjs=Object.create(null);var preprocessor=new EvaluatorPreprocessor(stream,xref,stateManager);var textState;function ensureTextContentItem(){if(textContentItem.initialized){return textContentItem;}var font=textState.font;if(!(font.loadedName in seenStyles)){seenStyles[font.loadedName]=true;textContent.styles[font.loadedName]={fontFamily:font.fallbackName,ascent:font.ascent,descent:font.descent,vertical:!!font.vertical};}textContentItem.fontName=font.loadedName;var tsm=[textState.fontSize*textState.textHScale,0,0,textState.fontSize,0,textState.textRise];if(font.isType3Font&&textState.fontSize<=1&&!(0,_util.isArrayEqual)(textState.fontMatrix,_util.FONT_IDENTITY_MATRIX)){var glyphHeight=font.bbox[3]-font.bbox[1];if(glyphHeight>0){tsm[3]*=glyphHeight*textState.fontMatrix[3];}}var trm=_util.Util.transform(textState.ctm,_util.Util.transform(textState.textMatrix,tsm));textContentItem.transform=trm;if(!font.vertical){textContentItem.width=0;textContentItem.height=Math.sqrt(trm[2]*trm[2]+trm[3]*trm[3]);textContentItem.vertical=false;}else{textContentItem.width=Math.sqrt(trm[0]*trm[0]+trm[1]*trm[1]);textContentItem.height=0;textContentItem.vertical=true;}var a=textState.textLineMatrix[0];var b=textState.textLineMatrix[1];var scaleLineX=Math.sqrt(a*a+b*b);a=textState.ctm[0];b=textState.ctm[1];var scaleCtmX=Math.sqrt(a*a+b*b);textContentItem.textAdvanceScale=scaleCtmX*scaleLineX;textContentItem.lastAdvanceWidth=0;textContentItem.lastAdvanceHeight=0;var spaceWidth=font.spaceWidth/1000*textState.fontSize;if(spaceWidth){textContentItem.spaceWidth=spaceWidth;textContentItem.fakeSpaceMin=spaceWidth*SPACE_FACTOR;textContentItem.fakeMultiSpaceMin=spaceWidth*MULTI_SPACE_FACTOR;textContentItem.fakeMultiSpaceMax=spaceWidth*MULTI_SPACE_FACTOR_MAX;textContentItem.textRunBreakAllowed=!font.isMonospace;}else{textContentItem.spaceWidth=0;textContentItem.fakeSpaceMin=Infinity;textContentItem.fakeMultiSpaceMin=Infinity;textContentItem.fakeMultiSpaceMax=0;textContentItem.textRunBreakAllowed=false;}textContentItem.initialized=true;return textContentItem;}function replaceWhitespace(str){var i=0,ii=str.length,code;while(i<ii&&(code=str.charCodeAt(i))>=0x20&&code<=0x7f){i++;}return i<ii?str.replace(WhitespaceRegexp,\" \"):str;}function runBidiTransform(textChunk){var str=textChunk.str.join(\"\");var bidiResult=(0,_bidi.bidi)(str,-1,textChunk.vertical);return{str:normalizeWhitespace?replaceWhitespace(bidiResult.str):bidiResult.str,dir:bidiResult.dir,width:textChunk.width,height:textChunk.height,transform:textChunk.transform,fontName:textChunk.fontName};}function handleSetFont(fontName,fontRef){return self.loadFont(fontName,fontRef,resources).then(function(translated){textState.font=translated.font;textState.fontMatrix=translated.font.fontMatrix||_util.FONT_IDENTITY_MATRIX;});}function buildTextContentItem(chars){var font=textState.font;var textChunk=ensureTextContentItem();var width=0;var height=0;var glyphs=font.charsToGlyphs(chars);for(var i=0;i<glyphs.length;i++){var glyph=glyphs[i];var glyphWidth=null;if(font.vertical&&glyph.vmetric){glyphWidth=glyph.vmetric[0];}else{glyphWidth=glyph.width;}var glyphUnicode=glyph.unicode;var NormalizedUnicodes=(0,_unicode.getNormalizedUnicodes)();if(NormalizedUnicodes[glyphUnicode]!==undefined){glyphUnicode=NormalizedUnicodes[glyphUnicode];}glyphUnicode=(0,_unicode.reverseIfRtl)(glyphUnicode);var charSpacing=textState.charSpacing;if(glyph.isSpace){var wordSpacing=textState.wordSpacing;charSpacing+=wordSpacing;if(wordSpacing>0){addFakeSpaces(wordSpacing,textChunk.str);}}var tx=0;var ty=0;if(!font.vertical){var w0=glyphWidth*textState.fontMatrix[0];tx=(w0*textState.fontSize+charSpacing)*textState.textHScale;width+=tx;}else{var w1=glyphWidth*textState.fontMatrix[0];ty=w1*textState.fontSize+charSpacing;height+=ty;}textState.translateTextMatrix(tx,ty);textChunk.str.push(glyphUnicode);}if(!font.vertical){textChunk.lastAdvanceWidth=width;textChunk.width+=width;}else{textChunk.lastAdvanceHeight=height;textChunk.height+=Math.abs(height);}return textChunk;}function addFakeSpaces(width,strBuf){if(width<textContentItem.fakeSpaceMin){return;}if(width<textContentItem.fakeMultiSpaceMin){strBuf.push(\" \");return;}var fakeSpaces=Math.round(width/textContentItem.spaceWidth);while(fakeSpaces-->0){strBuf.push(\" \");}}function flushTextContentItem(){if(!textContentItem.initialized){return;}if(!textContentItem.vertical){textContentItem.width*=textContentItem.textAdvanceScale;}else{textContentItem.height*=textContentItem.textAdvanceScale;}textContent.items.push(runBidiTransform(textContentItem));textContentItem.initialized=false;textContentItem.str.length=0;}function enqueueChunk(){var length=textContent.items.length;if(length>0){sink.enqueue(textContent,length);textContent.items=[];textContent.styles=Object.create(null);}}var timeSlotManager=new TimeSlotManager();return new Promise(function promiseBody(resolve,reject){var next=function next(promise){enqueueChunk();Promise.all([promise,sink.ready]).then(function(){try{promiseBody(resolve,reject);}catch(ex){reject(ex);}},reject);};task.ensureNotTerminated();timeSlotManager.reset();var stop,operation={},args=[];while(!(stop=timeSlotManager.check())){args.length=0;operation.args=args;if(!preprocessor.read(operation)){break;}textState=stateManager.state;var fn=operation.fn;args=operation.args;var advance,diff;switch(fn|0){case _util.OPS.setFont:var fontNameArg=args[0].name,fontSizeArg=args[1];if(textState.font&&fontNameArg===textState.fontName&&fontSizeArg===textState.fontSize){break;}flushTextContentItem();textState.fontName=fontNameArg;textState.fontSize=fontSizeArg;next(handleSetFont(fontNameArg,null));return;case _util.OPS.setTextRise:flushTextContentItem();textState.textRise=args[0];break;case _util.OPS.setHScale:flushTextContentItem();textState.textHScale=args[0]/100;break;case _util.OPS.setLeading:flushTextContentItem();textState.leading=args[0];break;case _util.OPS.moveText:var isSameTextLine=!textState.font?false:(textState.font.vertical?args[0]:args[1])===0;advance=args[0]-args[1];if(combineTextItems&&isSameTextLine&&textContentItem.initialized&&advance>0&&advance<=textContentItem.fakeMultiSpaceMax){textState.translateTextLineMatrix(args[0],args[1]);textContentItem.width+=args[0]-textContentItem.lastAdvanceWidth;textContentItem.height+=args[1]-textContentItem.lastAdvanceHeight;diff=args[0]-textContentItem.lastAdvanceWidth-(args[1]-textContentItem.lastAdvanceHeight);addFakeSpaces(diff,textContentItem.str);break;}flushTextContentItem();textState.translateTextLineMatrix(args[0],args[1]);textState.textMatrix=textState.textLineMatrix.slice();break;case _util.OPS.setLeadingMoveText:flushTextContentItem();textState.leading=-args[1];textState.translateTextLineMatrix(args[0],args[1]);textState.textMatrix=textState.textLineMatrix.slice();break;case _util.OPS.nextLine:flushTextContentItem();textState.carriageReturn();break;case _util.OPS.setTextMatrix:advance=textState.calcTextLineMatrixAdvance(args[0],args[1],args[2],args[3],args[4],args[5]);if(combineTextItems&&advance!==null&&textContentItem.initialized&&advance.value>0&&advance.value<=textContentItem.fakeMultiSpaceMax){textState.translateTextLineMatrix(advance.width,advance.height);textContentItem.width+=advance.width-textContentItem.lastAdvanceWidth;textContentItem.height+=advance.height-textContentItem.lastAdvanceHeight;diff=advance.width-textContentItem.lastAdvanceWidth-(advance.height-textContentItem.lastAdvanceHeight);addFakeSpaces(diff,textContentItem.str);break;}flushTextContentItem();textState.setTextMatrix(args[0],args[1],args[2],args[3],args[4],args[5]);textState.setTextLineMatrix(args[0],args[1],args[2],args[3],args[4],args[5]);break;case _util.OPS.setCharSpacing:textState.charSpacing=args[0];break;case _util.OPS.setWordSpacing:textState.wordSpacing=args[0];break;case _util.OPS.beginText:flushTextContentItem();textState.textMatrix=_util.IDENTITY_MATRIX.slice();textState.textLineMatrix=_util.IDENTITY_MATRIX.slice();break;case _util.OPS.showSpacedText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}var items=args[0];var offset;for(var j=0,jj=items.length;j<jj;j++){if(typeof items[j]===\"string\"){buildTextContentItem(items[j]);}else if((0,_util.isNum)(items[j])){ensureTextContentItem();advance=items[j]*textState.fontSize/1000;var breakTextRun=false;if(textState.font.vertical){offset=advance;textState.translateTextMatrix(0,offset);breakTextRun=textContentItem.textRunBreakAllowed&&advance>textContentItem.fakeMultiSpaceMax;if(!breakTextRun){textContentItem.height+=offset;}}else{advance=-advance;offset=advance*textState.textHScale;textState.translateTextMatrix(offset,0);breakTextRun=textContentItem.textRunBreakAllowed&&advance>textContentItem.fakeMultiSpaceMax;if(!breakTextRun){textContentItem.width+=offset;}}if(breakTextRun){flushTextContentItem();}else if(advance>0){addFakeSpaces(advance,textContentItem.str);}}}break;case _util.OPS.showText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}buildTextContentItem(args[0]);break;case _util.OPS.nextLineShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}flushTextContentItem();textState.carriageReturn();buildTextContentItem(args[0]);break;case _util.OPS.nextLineSetSpacingShowText:if(!stateManager.state.font){self.ensureStateFont(stateManager.state);continue;}flushTextContentItem();textState.wordSpacing=args[0];textState.charSpacing=args[1];textState.carriageReturn();buildTextContentItem(args[2]);break;case _util.OPS.paintXObject:flushTextContentItem();if(!xobjs){xobjs=resources.get(\"XObject\")||_primitives.Dict.empty;}var name=args[0].name;if(name&&skipEmptyXObjs[name]!==undefined){break;}next(new Promise(function(resolveXObject,rejectXObject){if(!name){throw new _util.FormatError(\"XObject must be referred to by name.\");}var xobj=xobjs.get(name);if(!xobj){resolveXObject();return;}if(!(0,_primitives.isStream)(xobj)){throw new _util.FormatError(\"XObject should be a stream\");}var type=xobj.dict.get(\"Subtype\");if(!(0,_primitives.isName)(type)){throw new _util.FormatError(\"XObject should have a Name subtype\");}if(type.name!==\"Form\"){skipEmptyXObjs[name]=true;resolveXObject();return;}var currentState=stateManager.state.clone();var xObjStateManager=new StateManager(currentState);var matrix=xobj.dict.getArray(\"Matrix\");if(Array.isArray(matrix)&&matrix.length===6){xObjStateManager.transform(matrix);}enqueueChunk();var sinkWrapper={enqueueInvoked:false,enqueue:function enqueue(chunk,size){this.enqueueInvoked=true;sink.enqueue(chunk,size);},get desiredSize(){return sink.desiredSize;},get ready(){return sink.ready;}};self.getTextContent({stream:xobj,task:task,resources:xobj.dict.get(\"Resources\")||resources,stateManager:xObjStateManager,normalizeWhitespace:normalizeWhitespace,combineTextItems:combineTextItems,sink:sinkWrapper,seenStyles:seenStyles}).then(function(){if(!sinkWrapper.enqueueInvoked){skipEmptyXObjs[name]=true;}resolveXObject();},rejectXObject);}).catch(function(reason){if(reason instanceof _util.AbortException){return;}if(self.options.ignoreErrors){(0,_util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason,\"\\\".\"));return;}throw reason;}));return;case _util.OPS.setGState:flushTextContentItem();var dictName=args[0];var extGState=resources.get(\"ExtGState\");if(!(0,_primitives.isDict)(extGState)||!(0,_primitives.isName)(dictName)){break;}var gState=extGState.get(dictName.name);if(!(0,_primitives.isDict)(gState)){break;}var gStateFont=gState.get(\"Font\");if(gStateFont){textState.fontName=null;textState.fontSize=gStateFont[1];next(handleSetFont(null,gStateFont[0]));return;}break;}if(textContent.items.length>=sink.desiredSize){stop=true;break;}}if(stop){next(deferred);return;}flushTextContentItem();enqueueChunk();resolve();}).catch(function(reason){if(reason instanceof _util.AbortException){return;}if(_this63.options.ignoreErrors){(0,_util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name,\"\\\" \")+\"task: \\\"\".concat(reason,\"\\\".\"));flushTextContentItem();enqueueChunk();return;}throw reason;});},extractDataStructures:function PartialEvaluator_extractDataStructures(dict,baseDict,properties){var _this64=this;var xref=this.xref;var cidToGidBytes;var toUnicode=dict.get(\"ToUnicode\")||baseDict.get(\"ToUnicode\");var toUnicodePromise=toUnicode?this.readToUnicode(toUnicode):Promise.resolve(undefined);if(properties.composite){var cidSystemInfo=dict.get(\"CIDSystemInfo\");if((0,_primitives.isDict)(cidSystemInfo)){properties.cidSystemInfo={registry:(0,_util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),ordering:(0,_util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),supplement:cidSystemInfo.get(\"Supplement\")};}var cidToGidMap=dict.get(\"CIDToGIDMap\");if((0,_primitives.isStream)(cidToGidMap)){cidToGidBytes=cidToGidMap.getBytes();}}var differences=[];var baseEncodingName=null;var encoding;if(dict.has(\"Encoding\")){encoding=dict.get(\"Encoding\");if((0,_primitives.isDict)(encoding)){baseEncodingName=encoding.get(\"BaseEncoding\");baseEncodingName=(0,_primitives.isName)(baseEncodingName)?baseEncodingName.name:null;if(encoding.has(\"Differences\")){var diffEncoding=encoding.get(\"Differences\");var index=0;for(var j=0,jj=diffEncoding.length;j<jj;j++){var data=xref.fetchIfRef(diffEncoding[j]);if((0,_util.isNum)(data)){index=data;}else if((0,_primitives.isName)(data)){differences[index++]=data.name;}else{throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));}}}}else if((0,_primitives.isName)(encoding)){baseEncodingName=encoding.name;}else{throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");}if(baseEncodingName!==\"MacRomanEncoding\"&&baseEncodingName!==\"MacExpertEncoding\"&&baseEncodingName!==\"WinAnsiEncoding\"){baseEncodingName=null;}}if(baseEncodingName){properties.defaultEncoding=(0,_encodings.getEncoding)(baseEncodingName).slice();}else{var isSymbolicFont=!!(properties.flags&_fonts.FontFlags.Symbolic);var isNonsymbolicFont=!!(properties.flags&_fonts.FontFlags.Nonsymbolic);encoding=_encodings.StandardEncoding;if(properties.type===\"TrueType\"&&!isNonsymbolicFont){encoding=_encodings.WinAnsiEncoding;}if(isSymbolicFont){encoding=_encodings.MacRomanEncoding;if(!properties.file){if(/Symbol/i.test(properties.name)){encoding=_encodings.SymbolSetEncoding;}else if(/Dingbats|Wingdings/i.test(properties.name)){encoding=_encodings.ZapfDingbatsEncoding;}}}properties.defaultEncoding=encoding;}properties.differences=differences;properties.baseEncodingName=baseEncodingName;properties.hasEncoding=!!baseEncodingName||differences.length>0;properties.dict=dict;return toUnicodePromise.then(function(toUnicode){properties.toUnicode=toUnicode;return _this64.buildToUnicode(properties);}).then(function(toUnicode){properties.toUnicode=toUnicode;if(cidToGidBytes){properties.cidToGidMap=_this64.readCidToGidMap(cidToGidBytes,toUnicode);}return properties;});},_buildSimpleFontToUnicode:function _buildSimpleFontToUnicode(properties){var forceGlyphs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;(0,_util.assert)(!properties.composite,\"Must be a simple font.\");var toUnicode=[];var encoding=properties.defaultEncoding.slice();var baseEncodingName=properties.baseEncodingName;var differences=properties.differences;for(var charcode in differences){var glyphName=differences[charcode];if(glyphName===\".notdef\"){continue;}encoding[charcode]=glyphName;}var glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(var _charcode in encoding){var _glyphName=encoding[_charcode];if(_glyphName===\"\"){continue;}else if(glyphsUnicodeMap[_glyphName]===undefined){var code=0;switch(_glyphName[0]){case\"G\":if(_glyphName.length===3){code=parseInt(_glyphName.substring(1),16);}break;case\"g\":if(_glyphName.length===5){code=parseInt(_glyphName.substring(1),16);}break;case\"C\":case\"c\":if(_glyphName.length>=3&&_glyphName.length<=4){var codeStr=_glyphName.substring(1);if(forceGlyphs){code=parseInt(codeStr,16);break;}code=+codeStr;if(Number.isNaN(code)&&Number.isInteger(parseInt(codeStr,16))){return this._buildSimpleFontToUnicode(properties,true);}}break;default:var unicode=(0,_unicode.getUnicodeForGlyph)(_glyphName,glyphsUnicodeMap);if(unicode!==-1){code=unicode;}}if(code>0&&Number.isInteger(code)){if(baseEncodingName&&code===+_charcode){var baseEncoding=(0,_encodings.getEncoding)(baseEncodingName);if(baseEncoding&&(_glyphName=baseEncoding[_charcode])){toUnicode[_charcode]=String.fromCharCode(glyphsUnicodeMap[_glyphName]);continue;}}toUnicode[_charcode]=String.fromCodePoint(code);}continue;}toUnicode[_charcode]=String.fromCharCode(glyphsUnicodeMap[_glyphName]);}return new _fonts.ToUnicodeMap(toUnicode);},buildToUnicode:function buildToUnicode(properties){properties.hasIncludedToUnicodeMap=!!properties.toUnicode&&properties.toUnicode.length>0;if(properties.hasIncludedToUnicodeMap){if(!properties.composite&&properties.hasEncoding){properties.fallbackToUnicode=this._buildSimpleFontToUnicode(properties);}return Promise.resolve(properties.toUnicode);}if(!properties.composite){return Promise.resolve(this._buildSimpleFontToUnicode(properties));}if(properties.composite&&(properties.cMap.builtInCMap&&!(properties.cMap instanceof _cmap.IdentityCMap)||properties.cidSystemInfo.registry===\"Adobe\"&&(properties.cidSystemInfo.ordering===\"GB1\"||properties.cidSystemInfo.ordering===\"CNS1\"||properties.cidSystemInfo.ordering===\"Japan1\"||properties.cidSystemInfo.ordering===\"Korea1\"))){var registry=properties.cidSystemInfo.registry;var ordering=properties.cidSystemInfo.ordering;var ucs2CMapName=_primitives.Name.get(registry+\"-\"+ordering+\"-UCS2\");return _cmap.CMapFactory.create({encoding:ucs2CMapName,fetchBuiltInCMap:this.fetchBuiltInCMap,useCMap:null}).then(function(ucs2CMap){var cMap=properties.cMap;var toUnicode=[];cMap.forEach(function(charcode,cid){if(cid>0xffff){throw new _util.FormatError(\"Max size of CID is 65,535\");}var ucs2=ucs2CMap.lookup(cid);if(ucs2){toUnicode[charcode]=String.fromCharCode((ucs2.charCodeAt(0)<<8)+ucs2.charCodeAt(1));}});return new _fonts.ToUnicodeMap(toUnicode);});}return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar,properties.lastChar));},readToUnicode:function PartialEvaluator_readToUnicode(toUnicode){var _this65=this;var cmapObj=toUnicode;if((0,_primitives.isName)(cmapObj)){return _cmap.CMapFactory.create({encoding:cmapObj,fetchBuiltInCMap:this.fetchBuiltInCMap,useCMap:null}).then(function(cmap){if(cmap instanceof _cmap.IdentityCMap){return new _fonts.IdentityToUnicodeMap(0,0xffff);}return new _fonts.ToUnicodeMap(cmap.getMap());});}else if((0,_primitives.isStream)(cmapObj)){return _cmap.CMapFactory.create({encoding:cmapObj,fetchBuiltInCMap:this.fetchBuiltInCMap,useCMap:null}).then(function(cmap){if(cmap instanceof _cmap.IdentityCMap){return new _fonts.IdentityToUnicodeMap(0,0xffff);}var map=new Array(cmap.length);cmap.forEach(function(charCode,token){var str=[];for(var k=0;k<token.length;k+=2){var w1=token.charCodeAt(k)<<8|token.charCodeAt(k+1);if((w1&0xf800)!==0xd800){str.push(w1);continue;}k+=2;var w2=token.charCodeAt(k)<<8|token.charCodeAt(k+1);str.push(((w1&0x3ff)<<10)+(w2&0x3ff)+0x10000);}map[charCode]=String.fromCodePoint.apply(String,str);});return new _fonts.ToUnicodeMap(map);},function(reason){if(reason instanceof _util.AbortException){return null;}if(_this65.options.ignoreErrors){_this65.handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.font});(0,_util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason,\"\\\".\"));return null;}throw reason;});}return Promise.resolve(null);},readCidToGidMap:function readCidToGidMap(glyphsData,toUnicode){var result=[];for(var j=0,jj=glyphsData.length;j<jj;j++){var glyphID=glyphsData[j++]<<8|glyphsData[j];var code=j>>1;if(glyphID===0&&!toUnicode.has(code)){continue;}result[code]=glyphID;}return result;},extractWidths:function PartialEvaluator_extractWidths(dict,descriptor,properties){var xref=this.xref;var glyphsWidths=[];var defaultWidth=0;var glyphsVMetrics=[];var defaultVMetrics;var i,ii,j,jj,start,code,widths;if(properties.composite){defaultWidth=dict.has(\"DW\")?dict.get(\"DW\"):1000;widths=dict.get(\"W\");if(widths){for(i=0,ii=widths.length;i<ii;i++){start=xref.fetchIfRef(widths[i++]);code=xref.fetchIfRef(widths[i]);if(Array.isArray(code)){for(j=0,jj=code.length;j<jj;j++){glyphsWidths[start++]=xref.fetchIfRef(code[j]);}}else{var width=xref.fetchIfRef(widths[++i]);for(j=start;j<=code;j++){glyphsWidths[j]=width;}}}}if(properties.vertical){var vmetrics=dict.getArray(\"DW2\")||[880,-1000];defaultVMetrics=[vmetrics[1],defaultWidth*0.5,vmetrics[0]];vmetrics=dict.get(\"W2\");if(vmetrics){for(i=0,ii=vmetrics.length;i<ii;i++){start=xref.fetchIfRef(vmetrics[i++]);code=xref.fetchIfRef(vmetrics[i]);if(Array.isArray(code)){for(j=0,jj=code.length;j<jj;j++){glyphsVMetrics[start++]=[xref.fetchIfRef(code[j++]),xref.fetchIfRef(code[j++]),xref.fetchIfRef(code[j])];}}else{var vmetric=[xref.fetchIfRef(vmetrics[++i]),xref.fetchIfRef(vmetrics[++i]),xref.fetchIfRef(vmetrics[++i])];for(j=start;j<=code;j++){glyphsVMetrics[j]=vmetric;}}}}}}else{var firstChar=properties.firstChar;widths=dict.get(\"Widths\");if(widths){j=firstChar;for(i=0,ii=widths.length;i<ii;i++){glyphsWidths[j++]=xref.fetchIfRef(widths[i]);}defaultWidth=parseFloat(descriptor.get(\"MissingWidth\"))||0;}else{var baseFontName=dict.get(\"BaseFont\");if((0,_primitives.isName)(baseFontName)){var metrics=this.getBaseFontMetrics(baseFontName.name);glyphsWidths=this.buildCharCodeToWidth(metrics.widths,properties);defaultWidth=metrics.defaultWidth;}}}var isMonospace=true;var firstWidth=defaultWidth;for(var glyph in glyphsWidths){var glyphWidth=glyphsWidths[glyph];if(!glyphWidth){continue;}if(!firstWidth){firstWidth=glyphWidth;continue;}if(firstWidth!==glyphWidth){isMonospace=false;break;}}if(isMonospace){properties.flags|=_fonts.FontFlags.FixedPitch;}properties.defaultWidth=defaultWidth;properties.widths=glyphsWidths;properties.defaultVMetrics=defaultVMetrics;properties.vmetrics=glyphsVMetrics;},isSerifFont:function PartialEvaluator_isSerifFont(baseFontName){var fontNameWoStyle=baseFontName.split(\"-\")[0];return fontNameWoStyle in(0,_standard_fonts.getSerifFonts)()||fontNameWoStyle.search(/serif/gi)!==-1;},getBaseFontMetrics:function PartialEvaluator_getBaseFontMetrics(name){var defaultWidth=0;var widths=[];var monospace=false;var stdFontMap=(0,_standard_fonts.getStdFontMap)();var lookupName=stdFontMap[name]||name;var Metrics=(0,_metrics.getMetrics)();if(!(lookupName in Metrics)){if(this.isSerifFont(name)){lookupName=\"Times-Roman\";}else{lookupName=\"Helvetica\";}}var glyphWidths=Metrics[lookupName];if((0,_util.isNum)(glyphWidths)){defaultWidth=glyphWidths;monospace=true;}else{widths=glyphWidths();}return{defaultWidth:defaultWidth,monospace:monospace,widths:widths};},buildCharCodeToWidth:function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName,properties){var widths=Object.create(null);var differences=properties.differences;var encoding=properties.defaultEncoding;for(var charCode=0;charCode<256;charCode++){if(charCode in differences&&widthsByGlyphName[differences[charCode]]){widths[charCode]=widthsByGlyphName[differences[charCode]];continue;}if(charCode in encoding&&widthsByGlyphName[encoding[charCode]]){widths[charCode]=widthsByGlyphName[encoding[charCode]];continue;}}return widths;},preEvaluateFont:function PartialEvaluator_preEvaluateFont(dict){var baseDict=dict;var type=dict.get(\"Subtype\");if(!(0,_primitives.isName)(type)){throw new _util.FormatError(\"invalid font Subtype\");}var composite=false;var uint8array;if(type.name===\"Type0\"){var df=dict.get(\"DescendantFonts\");if(!df){throw new _util.FormatError(\"Descendant fonts are not specified\");}dict=Array.isArray(df)?this.xref.fetchIfRef(df[0]):df;type=dict.get(\"Subtype\");if(!(0,_primitives.isName)(type)){throw new _util.FormatError(\"invalid font Subtype\");}composite=true;}var descriptor=dict.get(\"FontDescriptor\");if(descriptor){var hash=new _murmurhash.MurmurHash3_64();var encoding=baseDict.getRaw(\"Encoding\");if((0,_primitives.isName)(encoding)){hash.update(encoding.name);}else if((0,_primitives.isRef)(encoding)){hash.update(encoding.toString());}else if((0,_primitives.isDict)(encoding)){var keys=encoding.getKeys();for(var i=0,ii=keys.length;i<ii;i++){var entry=encoding.getRaw(keys[i]);if((0,_primitives.isName)(entry)){hash.update(entry.name);}else if((0,_primitives.isRef)(entry)){hash.update(entry.toString());}else if(Array.isArray(entry)){var diffLength=entry.length,diffBuf=new Array(diffLength);for(var j=0;j<diffLength;j++){var diffEntry=entry[j];if((0,_primitives.isName)(diffEntry)){diffBuf[j]=diffEntry.name;}else if((0,_util.isNum)(diffEntry)||(0,_primitives.isRef)(diffEntry)){diffBuf[j]=diffEntry.toString();}}hash.update(diffBuf.join());}}}var firstChar=dict.get(\"FirstChar\")||0;var lastChar=dict.get(\"LastChar\")||(composite?0xffff:0xff);hash.update(\"\".concat(firstChar,\"-\").concat(lastChar));var toUnicode=dict.get(\"ToUnicode\")||baseDict.get(\"ToUnicode\");if((0,_primitives.isStream)(toUnicode)){var stream=toUnicode.str||toUnicode;uint8array=stream.buffer?new Uint8Array(stream.buffer.buffer,0,stream.bufferLength):new Uint8Array(stream.bytes.buffer,stream.start,stream.end-stream.start);hash.update(uint8array);}else if((0,_primitives.isName)(toUnicode)){hash.update(toUnicode.name);}var widths=dict.get(\"Widths\")||baseDict.get(\"Widths\");if(widths){uint8array=new Uint8Array(new Uint32Array(widths).buffer);hash.update(uint8array);}}return{descriptor:descriptor,dict:dict,baseDict:baseDict,composite:composite,type:type.name,hash:hash?hash.hexdigest():\"\"};},translateFont:function PartialEvaluator_translateFont(preEvaluatedFont){var _this66=this;var baseDict=preEvaluatedFont.baseDict;var dict=preEvaluatedFont.dict;var composite=preEvaluatedFont.composite;var descriptor=preEvaluatedFont.descriptor;var type=preEvaluatedFont.type;var maxCharIndex=composite?0xffff:0xff;var properties;var firstChar=dict.get(\"FirstChar\")||0;var lastChar=dict.get(\"LastChar\")||maxCharIndex;if(!descriptor){if(type===\"Type3\"){descriptor=new _primitives.Dict(null);descriptor.set(\"FontName\",_primitives.Name.get(type));descriptor.set(\"FontBBox\",dict.getArray(\"FontBBox\")||[0,0,0,0]);}else{var baseFontName=dict.get(\"BaseFont\");if(!(0,_primitives.isName)(baseFontName)){throw new _util.FormatError(\"Base font is not specified\");}baseFontName=baseFontName.name.replace(/[,_]/g,\"-\");var metrics=this.getBaseFontMetrics(baseFontName);var fontNameWoStyle=baseFontName.split(\"-\")[0];var flags=(this.isSerifFont(fontNameWoStyle)?_fonts.FontFlags.Serif:0)|(metrics.monospace?_fonts.FontFlags.FixedPitch:0)|((0,_standard_fonts.getSymbolsFonts)()[fontNameWoStyle]?_fonts.FontFlags.Symbolic:_fonts.FontFlags.Nonsymbolic);properties={type:type,name:baseFontName,widths:metrics.widths,defaultWidth:metrics.defaultWidth,flags:flags,firstChar:firstChar,lastChar:lastChar};var widths=dict.get(\"Widths\");return this.extractDataStructures(dict,dict,properties).then(function(properties){if(widths){var glyphWidths=[];var j=firstChar;for(var i=0,ii=widths.length;i<ii;i++){glyphWidths[j++]=_this66.xref.fetchIfRef(widths[i]);}properties.widths=glyphWidths;}else{properties.widths=_this66.buildCharCodeToWidth(metrics.widths,properties);}return new _fonts.Font(baseFontName,null,properties);});}}var fontName=descriptor.get(\"FontName\");var baseFont=dict.get(\"BaseFont\");if((0,_util.isString)(fontName)){fontName=_primitives.Name.get(fontName);}if((0,_util.isString)(baseFont)){baseFont=_primitives.Name.get(baseFont);}if(type!==\"Type3\"){var fontNameStr=fontName&&fontName.name;var baseFontStr=baseFont&&baseFont.name;if(fontNameStr!==baseFontStr){(0,_util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr,\"\\\" but \")+\"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr,\"\\\".\"));if(fontNameStr&&baseFontStr&&baseFontStr.startsWith(fontNameStr)){fontName=baseFont;}}}fontName=fontName||baseFont;if(!(0,_primitives.isName)(fontName)){throw new _util.FormatError(\"invalid font name\");}var fontFile=descriptor.get(\"FontFile\",\"FontFile2\",\"FontFile3\");if(fontFile){if(fontFile.dict){var subtype=fontFile.dict.get(\"Subtype\");if(subtype){subtype=subtype.name;}var length1=fontFile.dict.get(\"Length1\");var length2=fontFile.dict.get(\"Length2\");var length3=fontFile.dict.get(\"Length3\");}}properties={type:type,name:fontName.name,subtype:subtype,file:fontFile,length1:length1,length2:length2,length3:length3,loadedName:baseDict.loadedName,composite:composite,wideChars:composite,fixedPitch:false,fontMatrix:dict.getArray(\"FontMatrix\")||_util.FONT_IDENTITY_MATRIX,firstChar:firstChar||0,lastChar:lastChar||maxCharIndex,bbox:descriptor.getArray(\"FontBBox\"),ascent:descriptor.get(\"Ascent\"),descent:descriptor.get(\"Descent\"),xHeight:descriptor.get(\"XHeight\"),capHeight:descriptor.get(\"CapHeight\"),flags:descriptor.get(\"Flags\"),italicAngle:descriptor.get(\"ItalicAngle\"),isType3Font:false};var cMapPromise;if(composite){var cidEncoding=baseDict.get(\"Encoding\");if((0,_primitives.isName)(cidEncoding)){properties.cidEncoding=cidEncoding.name;}cMapPromise=_cmap.CMapFactory.create({encoding:cidEncoding,fetchBuiltInCMap:this.fetchBuiltInCMap,useCMap:null}).then(function(cMap){properties.cMap=cMap;properties.vertical=properties.cMap.vertical;});}else{cMapPromise=Promise.resolve(undefined);}return cMapPromise.then(function(){return _this66.extractDataStructures(dict,baseDict,properties);}).then(function(properties){_this66.extractWidths(dict,descriptor,properties);if(type===\"Type3\"){properties.isType3Font=true;}return new _fonts.Font(fontName.name,fontFile,properties);});}};PartialEvaluator.buildFontPaths=function(font,glyphs,handler){function buildPath(fontChar){if(font.renderer.hasBuiltPath(fontChar)){return;}handler.send(\"commonobj\",[\"\".concat(font.loadedName,\"_path_\").concat(fontChar),\"FontPath\",font.renderer.getPathJs(fontChar)]);}var _iterator13=_createForOfIteratorHelper(glyphs),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var glyph=_step13.value;buildPath(glyph.fontChar);var accent=glyph.accent;if(accent&&accent.fontChar){buildPath(accent.fontChar);}}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}};PartialEvaluator.getFallbackFontDict=function(){if(this._fallbackFontDict){return this._fallbackFontDict;}var dict=new _primitives.Dict();dict.set(\"BaseFont\",_primitives.Name.get(\"PDFJS-FallbackFont\"));dict.set(\"Type\",_primitives.Name.get(\"FallbackType\"));dict.set(\"Subtype\",_primitives.Name.get(\"FallbackType\"));dict.set(\"Encoding\",_primitives.Name.get(\"WinAnsiEncoding\"));return this._fallbackFontDict=dict;};return PartialEvaluator;}();exports.PartialEvaluator=PartialEvaluator;var TranslatedFont=function TranslatedFontClosure(){function TranslatedFont(loadedName,font,dict){this.loadedName=loadedName;this.font=font;this.dict=dict;this.type3Loaded=null;this.sent=false;}TranslatedFont.prototype={send:function send(handler){if(this.sent){return;}this.sent=true;handler.send(\"commonobj\",[this.loadedName,\"Font\",this.font.exportData()]);},fallback:function fallback(handler){if(!this.font.data){return;}this.font.disableFontFace=true;var glyphs=this.font.glyphCacheValues;PartialEvaluator.buildFontPaths(this.font,glyphs,handler);},loadType3Data:function loadType3Data(evaluator,resources,parentOperatorList,task){if(!this.font.isType3Font){throw new Error(\"Must be a Type3 font.\");}if(this.type3Loaded){return this.type3Loaded;}var type3Options=Object.create(evaluator.options);type3Options.ignoreErrors=false;type3Options.nativeImageDecoderSupport=_util.NativeImageDecoding.NONE;var type3Evaluator=evaluator.clone(type3Options);type3Evaluator.parsingType3Font=true;var translatedFont=this.font;var loadCharProcsPromise=Promise.resolve();var charProcs=this.dict.get(\"CharProcs\");var fontResources=this.dict.get(\"Resources\")||resources;var charProcKeys=charProcs.getKeys();var charProcOperatorList=Object.create(null);var _loop3=function _loop3(){var key=charProcKeys[i];loadCharProcsPromise=loadCharProcsPromise.then(function(){var glyphStream=charProcs.get(key);var operatorList=new _operator_list.OperatorList();return type3Evaluator.getOperatorList({stream:glyphStream,task:task,resources:fontResources,operatorList:operatorList}).then(function(){charProcOperatorList[key]=operatorList.getIR();parentOperatorList.addDependencies(operatorList.dependencies);}).catch(function(reason){(0,_util.warn)(\"Type3 font resource \\\"\".concat(key,\"\\\" is not available.\"));var operatorList=new _operator_list.OperatorList();charProcOperatorList[key]=operatorList.getIR();});});};for(var i=0,n=charProcKeys.length;i<n;++i){_loop3();}this.type3Loaded=loadCharProcsPromise.then(function(){translatedFont.charProcOperatorList=charProcOperatorList;});return this.type3Loaded;}};return TranslatedFont;}();var StateManager=function StateManagerClosure(){function StateManager(initialState){this.state=initialState;this.stateStack=[];}StateManager.prototype={save:function save(){var old=this.state;this.stateStack.push(this.state);this.state=old.clone();},restore:function restore(){var prev=this.stateStack.pop();if(prev){this.state=prev;}},transform:function transform(args){this.state.ctm=_util.Util.transform(this.state.ctm,args);}};return StateManager;}();var TextState=function TextStateClosure(){function TextState(){this.ctm=new Float32Array(_util.IDENTITY_MATRIX);this.fontName=null;this.fontSize=0;this.font=null;this.fontMatrix=_util.FONT_IDENTITY_MATRIX;this.textMatrix=_util.IDENTITY_MATRIX.slice();this.textLineMatrix=_util.IDENTITY_MATRIX.slice();this.charSpacing=0;this.wordSpacing=0;this.leading=0;this.textHScale=1;this.textRise=0;}TextState.prototype={setTextMatrix:function TextState_setTextMatrix(a,b,c,d,e,f){var m=this.textMatrix;m[0]=a;m[1]=b;m[2]=c;m[3]=d;m[4]=e;m[5]=f;},setTextLineMatrix:function TextState_setTextMatrix(a,b,c,d,e,f){var m=this.textLineMatrix;m[0]=a;m[1]=b;m[2]=c;m[3]=d;m[4]=e;m[5]=f;},translateTextMatrix:function TextState_translateTextMatrix(x,y){var m=this.textMatrix;m[4]=m[0]*x+m[2]*y+m[4];m[5]=m[1]*x+m[3]*y+m[5];},translateTextLineMatrix:function TextState_translateTextMatrix(x,y){var m=this.textLineMatrix;m[4]=m[0]*x+m[2]*y+m[4];m[5]=m[1]*x+m[3]*y+m[5];},calcTextLineMatrixAdvance:function TextState_calcTextLineMatrixAdvance(a,b,c,d,e,f){var font=this.font;if(!font){return null;}var m=this.textLineMatrix;if(!(a===m[0]&&b===m[1]&&c===m[2]&&d===m[3])){return null;}var txDiff=e-m[4],tyDiff=f-m[5];if(font.vertical&&txDiff!==0||!font.vertical&&tyDiff!==0){return null;}var tx,ty,denominator=a*d-b*c;if(font.vertical){tx=-tyDiff*c/denominator;ty=tyDiff*a/denominator;}else{tx=txDiff*d/denominator;ty=-txDiff*b/denominator;}return{width:tx,height:ty,value:font.vertical?ty:tx};},calcRenderMatrix:function TextState_calcRendeMatrix(ctm){var tsm=[this.fontSize*this.textHScale,0,0,this.fontSize,0,this.textRise];return _util.Util.transform(ctm,_util.Util.transform(this.textMatrix,tsm));},carriageReturn:function TextState_carriageReturn(){this.translateTextLineMatrix(0,-this.leading);this.textMatrix=this.textLineMatrix.slice();},clone:function TextState_clone(){var clone=Object.create(this);clone.textMatrix=this.textMatrix.slice();clone.textLineMatrix=this.textLineMatrix.slice();clone.fontMatrix=this.fontMatrix.slice();return clone;}};return TextState;}();var EvalState=function EvalStateClosure(){function EvalState(){this.ctm=new Float32Array(_util.IDENTITY_MATRIX);this.font=null;this.textRenderingMode=_util.TextRenderingMode.FILL;this.fillColorSpace=_colorspace.ColorSpace.singletons.gray;this.strokeColorSpace=_colorspace.ColorSpace.singletons.gray;}EvalState.prototype={clone:function CanvasExtraState_clone(){return Object.create(this);}};return EvalState;}();var EvaluatorPreprocessor=function EvaluatorPreprocessorClosure(){var getOPMap=(0,_core_utils.getLookupTableFactory)(function(t){t[\"w\"]={id:_util.OPS.setLineWidth,numArgs:1,variableArgs:false};t[\"J\"]={id:_util.OPS.setLineCap,numArgs:1,variableArgs:false};t[\"j\"]={id:_util.OPS.setLineJoin,numArgs:1,variableArgs:false};t[\"M\"]={id:_util.OPS.setMiterLimit,numArgs:1,variableArgs:false};t[\"d\"]={id:_util.OPS.setDash,numArgs:2,variableArgs:false};t[\"ri\"]={id:_util.OPS.setRenderingIntent,numArgs:1,variableArgs:false};t[\"i\"]={id:_util.OPS.setFlatness,numArgs:1,variableArgs:false};t[\"gs\"]={id:_util.OPS.setGState,numArgs:1,variableArgs:false};t[\"q\"]={id:_util.OPS.save,numArgs:0,variableArgs:false};t[\"Q\"]={id:_util.OPS.restore,numArgs:0,variableArgs:false};t[\"cm\"]={id:_util.OPS.transform,numArgs:6,variableArgs:false};t[\"m\"]={id:_util.OPS.moveTo,numArgs:2,variableArgs:false};t[\"l\"]={id:_util.OPS.lineTo,numArgs:2,variableArgs:false};t[\"c\"]={id:_util.OPS.curveTo,numArgs:6,variableArgs:false};t[\"v\"]={id:_util.OPS.curveTo2,numArgs:4,variableArgs:false};t[\"y\"]={id:_util.OPS.curveTo3,numArgs:4,variableArgs:false};t[\"h\"]={id:_util.OPS.closePath,numArgs:0,variableArgs:false};t[\"re\"]={id:_util.OPS.rectangle,numArgs:4,variableArgs:false};t[\"S\"]={id:_util.OPS.stroke,numArgs:0,variableArgs:false};t[\"s\"]={id:_util.OPS.closeStroke,numArgs:0,variableArgs:false};t[\"f\"]={id:_util.OPS.fill,numArgs:0,variableArgs:false};t[\"F\"]={id:_util.OPS.fill,numArgs:0,variableArgs:false};t[\"f*\"]={id:_util.OPS.eoFill,numArgs:0,variableArgs:false};t[\"B\"]={id:_util.OPS.fillStroke,numArgs:0,variableArgs:false};t[\"B*\"]={id:_util.OPS.eoFillStroke,numArgs:0,variableArgs:false};t[\"b\"]={id:_util.OPS.closeFillStroke,numArgs:0,variableArgs:false};t[\"b*\"]={id:_util.OPS.closeEOFillStroke,numArgs:0,variableArgs:false};t[\"n\"]={id:_util.OPS.endPath,numArgs:0,variableArgs:false};t[\"W\"]={id:_util.OPS.clip,numArgs:0,variableArgs:false};t[\"W*\"]={id:_util.OPS.eoClip,numArgs:0,variableArgs:false};t[\"BT\"]={id:_util.OPS.beginText,numArgs:0,variableArgs:false};t[\"ET\"]={id:_util.OPS.endText,numArgs:0,variableArgs:false};t[\"Tc\"]={id:_util.OPS.setCharSpacing,numArgs:1,variableArgs:false};t[\"Tw\"]={id:_util.OPS.setWordSpacing,numArgs:1,variableArgs:false};t[\"Tz\"]={id:_util.OPS.setHScale,numArgs:1,variableArgs:false};t[\"TL\"]={id:_util.OPS.setLeading,numArgs:1,variableArgs:false};t[\"Tf\"]={id:_util.OPS.setFont,numArgs:2,variableArgs:false};t[\"Tr\"]={id:_util.OPS.setTextRenderingMode,numArgs:1,variableArgs:false};t[\"Ts\"]={id:_util.OPS.setTextRise,numArgs:1,variableArgs:false};t[\"Td\"]={id:_util.OPS.moveText,numArgs:2,variableArgs:false};t[\"TD\"]={id:_util.OPS.setLeadingMoveText,numArgs:2,variableArgs:false};t[\"Tm\"]={id:_util.OPS.setTextMatrix,numArgs:6,variableArgs:false};t[\"T*\"]={id:_util.OPS.nextLine,numArgs:0,variableArgs:false};t[\"Tj\"]={id:_util.OPS.showText,numArgs:1,variableArgs:false};t[\"TJ\"]={id:_util.OPS.showSpacedText,numArgs:1,variableArgs:false};t[\"'\"]={id:_util.OPS.nextLineShowText,numArgs:1,variableArgs:false};t['\"']={id:_util.OPS.nextLineSetSpacingShowText,numArgs:3,variableArgs:false};t[\"d0\"]={id:_util.OPS.setCharWidth,numArgs:2,variableArgs:false};t[\"d1\"]={id:_util.OPS.setCharWidthAndBounds,numArgs:6,variableArgs:false};t[\"CS\"]={id:_util.OPS.setStrokeColorSpace,numArgs:1,variableArgs:false};t[\"cs\"]={id:_util.OPS.setFillColorSpace,numArgs:1,variableArgs:false};t[\"SC\"]={id:_util.OPS.setStrokeColor,numArgs:4,variableArgs:true};t[\"SCN\"]={id:_util.OPS.setStrokeColorN,numArgs:33,variableArgs:true};t[\"sc\"]={id:_util.OPS.setFillColor,numArgs:4,variableArgs:true};t[\"scn\"]={id:_util.OPS.setFillColorN,numArgs:33,variableArgs:true};t[\"G\"]={id:_util.OPS.setStrokeGray,numArgs:1,variableArgs:false};t[\"g\"]={id:_util.OPS.setFillGray,numArgs:1,variableArgs:false};t[\"RG\"]={id:_util.OPS.setStrokeRGBColor,numArgs:3,variableArgs:false};t[\"rg\"]={id:_util.OPS.setFillRGBColor,numArgs:3,variableArgs:false};t[\"K\"]={id:_util.OPS.setStrokeCMYKColor,numArgs:4,variableArgs:false};t[\"k\"]={id:_util.OPS.setFillCMYKColor,numArgs:4,variableArgs:false};t[\"sh\"]={id:_util.OPS.shadingFill,numArgs:1,variableArgs:false};t[\"BI\"]={id:_util.OPS.beginInlineImage,numArgs:0,variableArgs:false};t[\"ID\"]={id:_util.OPS.beginImageData,numArgs:0,variableArgs:false};t[\"EI\"]={id:_util.OPS.endInlineImage,numArgs:1,variableArgs:false};t[\"Do\"]={id:_util.OPS.paintXObject,numArgs:1,variableArgs:false};t[\"MP\"]={id:_util.OPS.markPoint,numArgs:1,variableArgs:false};t[\"DP\"]={id:_util.OPS.markPointProps,numArgs:2,variableArgs:false};t[\"BMC\"]={id:_util.OPS.beginMarkedContent,numArgs:1,variableArgs:false};t[\"BDC\"]={id:_util.OPS.beginMarkedContentProps,numArgs:2,variableArgs:false};t[\"EMC\"]={id:_util.OPS.endMarkedContent,numArgs:0,variableArgs:false};t[\"BX\"]={id:_util.OPS.beginCompat,numArgs:0,variableArgs:false};t[\"EX\"]={id:_util.OPS.endCompat,numArgs:0,variableArgs:false};t[\"BM\"]=null;t[\"BD\"]=null;t[\"true\"]=null;t[\"fa\"]=null;t[\"fal\"]=null;t[\"fals\"]=null;t[\"false\"]=null;t[\"nu\"]=null;t[\"nul\"]=null;t[\"null\"]=null;});var MAX_INVALID_PATH_OPS=20;function EvaluatorPreprocessor(stream,xref,stateManager){this.opMap=getOPMap();this.parser=new _parser.Parser({lexer:new _parser.Lexer(stream,this.opMap),xref:xref});this.stateManager=stateManager;this.nonProcessedArgs=[];this._numInvalidPathOPS=0;}EvaluatorPreprocessor.prototype={get savedStatesDepth(){return this.stateManager.stateStack.length;},read:function EvaluatorPreprocessor_read(operation){var args=operation.args;while(true){var obj=this.parser.getObj();if(obj instanceof _primitives.Cmd){var cmd=obj.cmd;var opSpec=this.opMap[cmd];if(!opSpec){(0,_util.warn)(\"Unknown command \\\"\".concat(cmd,\"\\\".\"));continue;}var fn=opSpec.id;var numArgs=opSpec.numArgs;var argsLength=args!==null?args.length:0;if(!opSpec.variableArgs){if(argsLength!==numArgs){var nonProcessedArgs=this.nonProcessedArgs;while(argsLength>numArgs){nonProcessedArgs.push(args.shift());argsLength--;}while(argsLength<numArgs&&nonProcessedArgs.length!==0){if(args===null){args=[];}args.unshift(nonProcessedArgs.pop());argsLength++;}}if(argsLength<numArgs){var partialMsg=\"command \".concat(cmd,\": expected \").concat(numArgs,\" args, \")+\"but received \".concat(argsLength,\" args.\");if(fn>=_util.OPS.moveTo&&fn<=_util.OPS.endPath&&++this._numInvalidPathOPS>MAX_INVALID_PATH_OPS){throw new _util.FormatError(\"Invalid \".concat(partialMsg));}(0,_util.warn)(\"Skipping \".concat(partialMsg));if(args!==null){args.length=0;}continue;}}else if(argsLength>numArgs){(0,_util.info)(\"Command \".concat(cmd,\": expected [0, \").concat(numArgs,\"] args, \")+\"but received \".concat(argsLength,\" args.\"));}this.preprocessCommand(fn,args);operation.fn=fn;operation.args=args;return true;}if(obj===_primitives.EOF){return false;}if(obj!==null){if(args===null){args=[];}args.push(obj);if(args.length>33){throw new _util.FormatError(\"Too many arguments\");}}}},preprocessCommand:function EvaluatorPreprocessor_preprocessCommand(fn,args){switch(fn|0){case _util.OPS.save:this.stateManager.save();break;case _util.OPS.restore:this.stateManager.restore();break;case _util.OPS.transform:this.stateManager.transform(args);break;}}};return EvaluatorPreprocessor;}();/***/},/* 26 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.CMapFactory=exports.IdentityCMap=exports.CMap=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _parser=__w_pdfjs_require__(10);var _core_utils=__w_pdfjs_require__(7);var _stream=__w_pdfjs_require__(11);var BUILT_IN_CMAPS=[\"Adobe-GB1-UCS2\",\"Adobe-CNS1-UCS2\",\"Adobe-Japan1-UCS2\",\"Adobe-Korea1-UCS2\",\"78-EUC-H\",\"78-EUC-V\",\"78-H\",\"78-RKSJ-H\",\"78-RKSJ-V\",\"78-V\",\"78ms-RKSJ-H\",\"78ms-RKSJ-V\",\"83pv-RKSJ-H\",\"90ms-RKSJ-H\",\"90ms-RKSJ-V\",\"90msp-RKSJ-H\",\"90msp-RKSJ-V\",\"90pv-RKSJ-H\",\"90pv-RKSJ-V\",\"Add-H\",\"Add-RKSJ-H\",\"Add-RKSJ-V\",\"Add-V\",\"Adobe-CNS1-0\",\"Adobe-CNS1-1\",\"Adobe-CNS1-2\",\"Adobe-CNS1-3\",\"Adobe-CNS1-4\",\"Adobe-CNS1-5\",\"Adobe-CNS1-6\",\"Adobe-GB1-0\",\"Adobe-GB1-1\",\"Adobe-GB1-2\",\"Adobe-GB1-3\",\"Adobe-GB1-4\",\"Adobe-GB1-5\",\"Adobe-Japan1-0\",\"Adobe-Japan1-1\",\"Adobe-Japan1-2\",\"Adobe-Japan1-3\",\"Adobe-Japan1-4\",\"Adobe-Japan1-5\",\"Adobe-Japan1-6\",\"Adobe-Korea1-0\",\"Adobe-Korea1-1\",\"Adobe-Korea1-2\",\"B5-H\",\"B5-V\",\"B5pc-H\",\"B5pc-V\",\"CNS-EUC-H\",\"CNS-EUC-V\",\"CNS1-H\",\"CNS1-V\",\"CNS2-H\",\"CNS2-V\",\"ETHK-B5-H\",\"ETHK-B5-V\",\"ETen-B5-H\",\"ETen-B5-V\",\"ETenms-B5-H\",\"ETenms-B5-V\",\"EUC-H\",\"EUC-V\",\"Ext-H\",\"Ext-RKSJ-H\",\"Ext-RKSJ-V\",\"Ext-V\",\"GB-EUC-H\",\"GB-EUC-V\",\"GB-H\",\"GB-V\",\"GBK-EUC-H\",\"GBK-EUC-V\",\"GBK2K-H\",\"GBK2K-V\",\"GBKp-EUC-H\",\"GBKp-EUC-V\",\"GBT-EUC-H\",\"GBT-EUC-V\",\"GBT-H\",\"GBT-V\",\"GBTpc-EUC-H\",\"GBTpc-EUC-V\",\"GBpc-EUC-H\",\"GBpc-EUC-V\",\"H\",\"HKdla-B5-H\",\"HKdla-B5-V\",\"HKdlb-B5-H\",\"HKdlb-B5-V\",\"HKgccs-B5-H\",\"HKgccs-B5-V\",\"HKm314-B5-H\",\"HKm314-B5-V\",\"HKm471-B5-H\",\"HKm471-B5-V\",\"HKscs-B5-H\",\"HKscs-B5-V\",\"Hankaku\",\"Hiragana\",\"KSC-EUC-H\",\"KSC-EUC-V\",\"KSC-H\",\"KSC-Johab-H\",\"KSC-Johab-V\",\"KSC-V\",\"KSCms-UHC-H\",\"KSCms-UHC-HW-H\",\"KSCms-UHC-HW-V\",\"KSCms-UHC-V\",\"KSCpc-EUC-H\",\"KSCpc-EUC-V\",\"Katakana\",\"NWP-H\",\"NWP-V\",\"RKSJ-H\",\"RKSJ-V\",\"Roman\",\"UniCNS-UCS2-H\",\"UniCNS-UCS2-V\",\"UniCNS-UTF16-H\",\"UniCNS-UTF16-V\",\"UniCNS-UTF32-H\",\"UniCNS-UTF32-V\",\"UniCNS-UTF8-H\",\"UniCNS-UTF8-V\",\"UniGB-UCS2-H\",\"UniGB-UCS2-V\",\"UniGB-UTF16-H\",\"UniGB-UTF16-V\",\"UniGB-UTF32-H\",\"UniGB-UTF32-V\",\"UniGB-UTF8-H\",\"UniGB-UTF8-V\",\"UniJIS-UCS2-H\",\"UniJIS-UCS2-HW-H\",\"UniJIS-UCS2-HW-V\",\"UniJIS-UCS2-V\",\"UniJIS-UTF16-H\",\"UniJIS-UTF16-V\",\"UniJIS-UTF32-H\",\"UniJIS-UTF32-V\",\"UniJIS-UTF8-H\",\"UniJIS-UTF8-V\",\"UniJIS2004-UTF16-H\",\"UniJIS2004-UTF16-V\",\"UniJIS2004-UTF32-H\",\"UniJIS2004-UTF32-V\",\"UniJIS2004-UTF8-H\",\"UniJIS2004-UTF8-V\",\"UniJISPro-UCS2-HW-V\",\"UniJISPro-UCS2-V\",\"UniJISPro-UTF8-V\",\"UniJISX0213-UTF32-H\",\"UniJISX0213-UTF32-V\",\"UniJISX02132004-UTF32-H\",\"UniJISX02132004-UTF32-V\",\"UniKS-UCS2-H\",\"UniKS-UCS2-V\",\"UniKS-UTF16-H\",\"UniKS-UTF16-V\",\"UniKS-UTF32-H\",\"UniKS-UTF32-V\",\"UniKS-UTF8-H\",\"UniKS-UTF8-V\",\"V\",\"WP-Symbol\"];var CMap=/*#__PURE__*/function(){function CMap(){var builtInCMap=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;_classCallCheck(this,CMap);this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name=\"\";this.vertical=false;this.useCMap=null;this.builtInCMap=builtInCMap;}_createClass(CMap,[{key:\"addCodespaceRange\",value:function addCodespaceRange(n,low,high){this.codespaceRanges[n-1].push(low,high);this.numCodespaceRanges++;}},{key:\"mapCidRange\",value:function mapCidRange(low,high,dstLow){while(low<=high){this._map[low++]=dstLow++;}}},{key:\"mapBfRange\",value:function mapBfRange(low,high,dstLow){var lastByte=dstLow.length-1;while(low<=high){this._map[low++]=dstLow;dstLow=dstLow.substring(0,lastByte)+String.fromCharCode(dstLow.charCodeAt(lastByte)+1);}}},{key:\"mapBfRangeToArray\",value:function mapBfRangeToArray(low,high,array){var ii=array.length;var i=0;while(low<=high&&i<ii){this._map[low]=array[i++];++low;}}},{key:\"mapOne\",value:function mapOne(src,dst){this._map[src]=dst;}},{key:\"lookup\",value:function lookup(code){return this._map[code];}},{key:\"contains\",value:function contains(code){return this._map[code]!==undefined;}},{key:\"forEach\",value:function forEach(callback){var map=this._map;var length=map.length;if(length<=0x10000){for(var i=0;i<length;i++){if(map[i]!==undefined){callback(i,map[i]);}}}else{for(var _i20 in map){callback(_i20,map[_i20]);}}}},{key:\"charCodeOf\",value:function charCodeOf(value){var map=this._map;if(map.length<=0x10000){return map.indexOf(value);}for(var charCode in map){if(map[charCode]===value){return charCode|0;}}return-1;}},{key:\"getMap\",value:function getMap(){return this._map;}},{key:\"readCharCode\",value:function readCharCode(str,offset,out){var c=0;var codespaceRanges=this.codespaceRanges;for(var n=0,nn=codespaceRanges.length;n<nn;n++){c=(c<<8|str.charCodeAt(offset+n))>>>0;var codespaceRange=codespaceRanges[n];for(var k=0,kk=codespaceRange.length;k<kk;){var low=codespaceRange[k++];var high=codespaceRange[k++];if(c>=low&&c<=high){out.charcode=c;out.length=n+1;return;}}}out.charcode=0;out.length=1;}},{key:\"length\",get:function get(){return this._map.length;}},{key:\"isIdentityCMap\",get:function get(){if(!(this.name===\"Identity-H\"||this.name===\"Identity-V\")){return false;}if(this._map.length!==0x10000){return false;}for(var i=0;i<0x10000;i++){if(this._map[i]!==i){return false;}}return true;}}]);return CMap;}();exports.CMap=CMap;var IdentityCMap=/*#__PURE__*/function(_CMap){_inherits(IdentityCMap,_CMap);var _super53=_createSuper(IdentityCMap);function IdentityCMap(vertical,n){var _this67;_classCallCheck(this,IdentityCMap);_this67=_super53.call(this);_this67.vertical=vertical;_this67.addCodespaceRange(n,0,0xffff);return _this67;}_createClass(IdentityCMap,[{key:\"mapCidRange\",value:function mapCidRange(low,high,dstLow){(0,_util.unreachable)(\"should not call mapCidRange\");}},{key:\"mapBfRange\",value:function mapBfRange(low,high,dstLow){(0,_util.unreachable)(\"should not call mapBfRange\");}},{key:\"mapBfRangeToArray\",value:function mapBfRangeToArray(low,high,array){(0,_util.unreachable)(\"should not call mapBfRangeToArray\");}},{key:\"mapOne\",value:function mapOne(src,dst){(0,_util.unreachable)(\"should not call mapCidOne\");}},{key:\"lookup\",value:function lookup(code){return Number.isInteger(code)&&code<=0xffff?code:undefined;}},{key:\"contains\",value:function contains(code){return Number.isInteger(code)&&code<=0xffff;}},{key:\"forEach\",value:function forEach(callback){for(var i=0;i<=0xffff;i++){callback(i,i);}}},{key:\"charCodeOf\",value:function charCodeOf(value){return Number.isInteger(value)&&value<=0xffff?value:-1;}},{key:\"getMap\",value:function getMap(){var map=new Array(0x10000);for(var i=0;i<=0xffff;i++){map[i]=i;}return map;}},{key:\"length\",get:function get(){return 0x10000;}},{key:\"isIdentityCMap\",get:function get(){(0,_util.unreachable)(\"should not access .isIdentityCMap\");}}]);return IdentityCMap;}(CMap);exports.IdentityCMap=IdentityCMap;var BinaryCMapReader=function BinaryCMapReaderClosure(){function hexToInt(a,size){var n=0;for(var i=0;i<=size;i++){n=n<<8|a[i];}return n>>>0;}function hexToStr(a,size){if(size===1){return String.fromCharCode(a[0],a[1]);}if(size===3){return String.fromCharCode(a[0],a[1],a[2],a[3]);}return String.fromCharCode.apply(null,a.subarray(0,size+1));}function addHex(a,b,size){var c=0;for(var i=size;i>=0;i--){c+=a[i]+b[i];a[i]=c&255;c>>=8;}}function incHex(a,size){var c=1;for(var i=size;i>=0&&c>0;i--){c+=a[i];a[i]=c&255;c>>=8;}}var MAX_NUM_SIZE=16;var MAX_ENCODED_NUM_SIZE=19;function BinaryCMapStream(data){this.buffer=data;this.pos=0;this.end=data.length;this.tmpBuf=new Uint8Array(MAX_ENCODED_NUM_SIZE);}BinaryCMapStream.prototype={readByte:function readByte(){if(this.pos>=this.end){return-1;}return this.buffer[this.pos++];},readNumber:function readNumber(){var n=0;var last;do{var b=this.readByte();if(b<0){throw new _util.FormatError(\"unexpected EOF in bcmap\");}last=!(b&0x80);n=n<<7|b&0x7f;}while(!last);return n;},readSigned:function readSigned(){var n=this.readNumber();return n&1?~(n>>>1):n>>>1;},readHex:function readHex(num,size){num.set(this.buffer.subarray(this.pos,this.pos+size+1));this.pos+=size+1;},readHexNumber:function readHexNumber(num,size){var last;var stack=this.tmpBuf,sp=0;do{var b=this.readByte();if(b<0){throw new _util.FormatError(\"unexpected EOF in bcmap\");}last=!(b&0x80);stack[sp++]=b&0x7f;}while(!last);var i=size,buffer=0,bufferSize=0;while(i>=0){while(bufferSize<8&&stack.length>0){buffer=stack[--sp]<<bufferSize|buffer;bufferSize+=7;}num[i]=buffer&255;i--;buffer>>=8;bufferSize-=8;}},readHexSigned:function readHexSigned(num,size){this.readHexNumber(num,size);var sign=num[size]&1?255:0;var c=0;for(var i=0;i<=size;i++){c=(c&1)<<8|num[i];num[i]=c>>1^sign;}},readString:function readString(){var len=this.readNumber();var s=\"\";for(var i=0;i<len;i++){s+=String.fromCharCode(this.readNumber());}return s;}};function processBinaryCMap(data,cMap,extend){return new Promise(function(resolve,reject){var stream=new BinaryCMapStream(data);var header=stream.readByte();cMap.vertical=!!(header&1);var useCMap=null;var start=new Uint8Array(MAX_NUM_SIZE);var end=new Uint8Array(MAX_NUM_SIZE);var char=new Uint8Array(MAX_NUM_SIZE);var charCode=new Uint8Array(MAX_NUM_SIZE);var tmp=new Uint8Array(MAX_NUM_SIZE);var code;var b;while((b=stream.readByte())>=0){var type=b>>5;if(type===7){switch(b&0x1f){case 0:stream.readString();break;case 1:useCMap=stream.readString();break;}continue;}var sequence=!!(b&0x10);var dataSize=b&15;if(dataSize+1>MAX_NUM_SIZE){throw new Error(\"processBinaryCMap: Invalid dataSize.\");}var ucs2DataSize=1;var subitemsCount=stream.readNumber();var i;switch(type){case 0:stream.readHex(start,dataSize);stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);cMap.addCodespaceRange(dataSize+1,hexToInt(start,dataSize),hexToInt(end,dataSize));for(i=1;i<subitemsCount;i++){incHex(end,dataSize);stream.readHexNumber(start,dataSize);addHex(start,end,dataSize);stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);cMap.addCodespaceRange(dataSize+1,hexToInt(start,dataSize),hexToInt(end,dataSize));}break;case 1:stream.readHex(start,dataSize);stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);stream.readNumber();for(i=1;i<subitemsCount;i++){incHex(end,dataSize);stream.readHexNumber(start,dataSize);addHex(start,end,dataSize);stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);stream.readNumber();}break;case 2:stream.readHex(char,dataSize);code=stream.readNumber();cMap.mapOne(hexToInt(char,dataSize),code);for(i=1;i<subitemsCount;i++){incHex(char,dataSize);if(!sequence){stream.readHexNumber(tmp,dataSize);addHex(char,tmp,dataSize);}code=stream.readSigned()+(code+1);cMap.mapOne(hexToInt(char,dataSize),code);}break;case 3:stream.readHex(start,dataSize);stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);code=stream.readNumber();cMap.mapCidRange(hexToInt(start,dataSize),hexToInt(end,dataSize),code);for(i=1;i<subitemsCount;i++){incHex(end,dataSize);if(!sequence){stream.readHexNumber(start,dataSize);addHex(start,end,dataSize);}else{start.set(end);}stream.readHexNumber(end,dataSize);addHex(end,start,dataSize);code=stream.readNumber();cMap.mapCidRange(hexToInt(start,dataSize),hexToInt(end,dataSize),code);}break;case 4:stream.readHex(char,ucs2DataSize);stream.readHex(charCode,dataSize);cMap.mapOne(hexToInt(char,ucs2DataSize),hexToStr(charCode,dataSize));for(i=1;i<subitemsCount;i++){incHex(char,ucs2DataSize);if(!sequence){stream.readHexNumber(tmp,ucs2DataSize);addHex(char,tmp,ucs2DataSize);}incHex(charCode,dataSize);stream.readHexSigned(tmp,dataSize);addHex(charCode,tmp,dataSize);cMap.mapOne(hexToInt(char,ucs2DataSize),hexToStr(charCode,dataSize));}break;case 5:stream.readHex(start,ucs2DataSize);stream.readHexNumber(end,ucs2DataSize);addHex(end,start,ucs2DataSize);stream.readHex(charCode,dataSize);cMap.mapBfRange(hexToInt(start,ucs2DataSize),hexToInt(end,ucs2DataSize),hexToStr(charCode,dataSize));for(i=1;i<subitemsCount;i++){incHex(end,ucs2DataSize);if(!sequence){stream.readHexNumber(start,ucs2DataSize);addHex(start,end,ucs2DataSize);}else{start.set(end);}stream.readHexNumber(end,ucs2DataSize);addHex(end,start,ucs2DataSize);stream.readHex(charCode,dataSize);cMap.mapBfRange(hexToInt(start,ucs2DataSize),hexToInt(end,ucs2DataSize),hexToStr(charCode,dataSize));}break;default:reject(new Error(\"processBinaryCMap: Unknown type: \"+type));return;}}if(useCMap){resolve(extend(useCMap));return;}resolve(cMap);});}function BinaryCMapReader(){}BinaryCMapReader.prototype={process:processBinaryCMap};return BinaryCMapReader;}();var CMapFactory=function CMapFactoryClosure(){function strToInt(str){var a=0;for(var i=0;i<str.length;i++){a=a<<8|str.charCodeAt(i);}return a>>>0;}function expectString(obj){if(!(0,_util.isString)(obj)){throw new _util.FormatError(\"Malformed CMap: expected string.\");}}function expectInt(obj){if(!Number.isInteger(obj)){throw new _util.FormatError(\"Malformed CMap: expected int.\");}}function parseBfChar(cMap,lexer){while(true){var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}if((0,_primitives.isCmd)(obj,\"endbfchar\")){return;}expectString(obj);var src=strToInt(obj);obj=lexer.getObj();expectString(obj);var dst=obj;cMap.mapOne(src,dst);}}function parseBfRange(cMap,lexer){while(true){var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}if((0,_primitives.isCmd)(obj,\"endbfrange\")){return;}expectString(obj);var low=strToInt(obj);obj=lexer.getObj();expectString(obj);var high=strToInt(obj);obj=lexer.getObj();if(Number.isInteger(obj)||(0,_util.isString)(obj)){var dstLow=Number.isInteger(obj)?String.fromCharCode(obj):obj;cMap.mapBfRange(low,high,dstLow);}else if((0,_primitives.isCmd)(obj,\"[\")){obj=lexer.getObj();var array=[];while(!(0,_primitives.isCmd)(obj,\"]\")&&!(0,_primitives.isEOF)(obj)){array.push(obj);obj=lexer.getObj();}cMap.mapBfRangeToArray(low,high,array);}else{break;}}throw new _util.FormatError(\"Invalid bf range.\");}function parseCidChar(cMap,lexer){while(true){var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}if((0,_primitives.isCmd)(obj,\"endcidchar\")){return;}expectString(obj);var src=strToInt(obj);obj=lexer.getObj();expectInt(obj);var dst=obj;cMap.mapOne(src,dst);}}function parseCidRange(cMap,lexer){while(true){var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}if((0,_primitives.isCmd)(obj,\"endcidrange\")){return;}expectString(obj);var low=strToInt(obj);obj=lexer.getObj();expectString(obj);var high=strToInt(obj);obj=lexer.getObj();expectInt(obj);var dstLow=obj;cMap.mapCidRange(low,high,dstLow);}}function parseCodespaceRange(cMap,lexer){while(true){var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}if((0,_primitives.isCmd)(obj,\"endcodespacerange\")){return;}if(!(0,_util.isString)(obj)){break;}var low=strToInt(obj);obj=lexer.getObj();if(!(0,_util.isString)(obj)){break;}var high=strToInt(obj);cMap.addCodespaceRange(obj.length,low,high);}throw new _util.FormatError(\"Invalid codespace range.\");}function parseWMode(cMap,lexer){var obj=lexer.getObj();if(Number.isInteger(obj)){cMap.vertical=!!obj;}}function parseCMapName(cMap,lexer){var obj=lexer.getObj();if((0,_primitives.isName)(obj)&&(0,_util.isString)(obj.name)){cMap.name=obj.name;}}function parseCMap(cMap,lexer,fetchBuiltInCMap,useCMap){var previous;var embeddedUseCMap;objLoop:while(true){try{var obj=lexer.getObj();if((0,_primitives.isEOF)(obj)){break;}else if((0,_primitives.isName)(obj)){if(obj.name===\"WMode\"){parseWMode(cMap,lexer);}else if(obj.name===\"CMapName\"){parseCMapName(cMap,lexer);}previous=obj;}else if((0,_primitives.isCmd)(obj)){switch(obj.cmd){case\"endcmap\":break objLoop;case\"usecmap\":if((0,_primitives.isName)(previous)){embeddedUseCMap=previous.name;}break;case\"begincodespacerange\":parseCodespaceRange(cMap,lexer);break;case\"beginbfchar\":parseBfChar(cMap,lexer);break;case\"begincidchar\":parseCidChar(cMap,lexer);break;case\"beginbfrange\":parseBfRange(cMap,lexer);break;case\"begincidrange\":parseCidRange(cMap,lexer);break;}}}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}(0,_util.warn)(\"Invalid cMap data: \"+ex);continue;}}if(!useCMap&&embeddedUseCMap){useCMap=embeddedUseCMap;}if(useCMap){return extendCMap(cMap,fetchBuiltInCMap,useCMap);}return Promise.resolve(cMap);}function extendCMap(cMap,fetchBuiltInCMap,useCMap){return createBuiltInCMap(useCMap,fetchBuiltInCMap).then(function(newCMap){cMap.useCMap=newCMap;if(cMap.numCodespaceRanges===0){var useCodespaceRanges=cMap.useCMap.codespaceRanges;for(var i=0;i<useCodespaceRanges.length;i++){cMap.codespaceRanges[i]=useCodespaceRanges[i].slice();}cMap.numCodespaceRanges=cMap.useCMap.numCodespaceRanges;}cMap.useCMap.forEach(function(key,value){if(!cMap.contains(key)){cMap.mapOne(key,cMap.useCMap.lookup(key));}});return cMap;});}function createBuiltInCMap(name,fetchBuiltInCMap){if(name===\"Identity-H\"){return Promise.resolve(new IdentityCMap(false,2));}else if(name===\"Identity-V\"){return Promise.resolve(new IdentityCMap(true,2));}if(!BUILT_IN_CMAPS.includes(name)){return Promise.reject(new Error(\"Unknown CMap name: \"+name));}if(!fetchBuiltInCMap){return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));}return fetchBuiltInCMap(name).then(function(data){var cMapData=data.cMapData,compressionType=data.compressionType;var cMap=new CMap(true);if(compressionType===_util.CMapCompressionType.BINARY){return new BinaryCMapReader().process(cMapData,cMap,function(useCMap){return extendCMap(cMap,fetchBuiltInCMap,useCMap);});}if(compressionType===_util.CMapCompressionType.NONE){var lexer=new _parser.Lexer(new _stream.Stream(cMapData));return parseCMap(cMap,lexer,fetchBuiltInCMap,null);}return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));});}return{create:function create(params){return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee16(){var encoding,fetchBuiltInCMap,useCMap,cMap,lexer;return regeneratorRuntime.wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:encoding=params.encoding;fetchBuiltInCMap=params.fetchBuiltInCMap;useCMap=params.useCMap;if(!(0,_primitives.isName)(encoding)){_context16.next=7;break;}return _context16.abrupt(\"return\",createBuiltInCMap(encoding.name,fetchBuiltInCMap));case 7:if(!(0,_primitives.isStream)(encoding)){_context16.next=11;break;}cMap=new CMap();lexer=new _parser.Lexer(encoding);return _context16.abrupt(\"return\",parseCMap(cMap,lexer,fetchBuiltInCMap,useCMap).then(function(parsedCMap){if(parsedCMap.isIdentityCMap){return createBuiltInCMap(parsedCMap.name,fetchBuiltInCMap);}return parsedCMap;}));case 11:throw new Error(\"Encoding required.\");case 12:case\"end\":return _context16.stop();}}},_callee16);}))();}};}();exports.CMapFactory=CMapFactory;/***/},/* 27 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getFontType=getFontType;exports.IdentityToUnicodeMap=exports.ToUnicodeMap=exports.FontFlags=exports.Font=exports.ErrorFont=exports.SEAC_ANALYSIS_ENABLED=void 0;var _util=__w_pdfjs_require__(2);var _cff_parser=__w_pdfjs_require__(28);var _glyphlist=__w_pdfjs_require__(31);var _encodings=__w_pdfjs_require__(30);var _standard_fonts=__w_pdfjs_require__(32);var _unicode=__w_pdfjs_require__(33);var _core_utils=__w_pdfjs_require__(7);var _font_renderer=__w_pdfjs_require__(34);var _cmap=__w_pdfjs_require__(26);var _stream=__w_pdfjs_require__(11);var _type1_parser=__w_pdfjs_require__(35);var PRIVATE_USE_AREAS=[[0xe000,0xf8ff],[0x100000,0x10fffd]];var PDF_GLYPH_SPACE_UNITS=1000;var SEAC_ANALYSIS_ENABLED=true;exports.SEAC_ANALYSIS_ENABLED=SEAC_ANALYSIS_ENABLED;var FontFlags={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144};exports.FontFlags=FontFlags;var MacStandardGlyphOrdering=[\".notdef\",\".null\",\"nonmarkingreturn\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quotesingle\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"grave\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"Adieresis\",\"Aring\",\"Ccedilla\",\"Eacute\",\"Ntilde\",\"Odieresis\",\"Udieresis\",\"aacute\",\"agrave\",\"acircumflex\",\"adieresis\",\"atilde\",\"aring\",\"ccedilla\",\"eacute\",\"egrave\",\"ecircumflex\",\"edieresis\",\"iacute\",\"igrave\",\"icircumflex\",\"idieresis\",\"ntilde\",\"oacute\",\"ograve\",\"ocircumflex\",\"odieresis\",\"otilde\",\"uacute\",\"ugrave\",\"ucircumflex\",\"udieresis\",\"dagger\",\"degree\",\"cent\",\"sterling\",\"section\",\"bullet\",\"paragraph\",\"germandbls\",\"registered\",\"copyright\",\"trademark\",\"acute\",\"dieresis\",\"notequal\",\"AE\",\"Oslash\",\"infinity\",\"plusminus\",\"lessequal\",\"greaterequal\",\"yen\",\"mu\",\"partialdiff\",\"summation\",\"product\",\"pi\",\"integral\",\"ordfeminine\",\"ordmasculine\",\"Omega\",\"ae\",\"oslash\",\"questiondown\",\"exclamdown\",\"logicalnot\",\"radical\",\"florin\",\"approxequal\",\"Delta\",\"guillemotleft\",\"guillemotright\",\"ellipsis\",\"nonbreakingspace\",\"Agrave\",\"Atilde\",\"Otilde\",\"OE\",\"oe\",\"endash\",\"emdash\",\"quotedblleft\",\"quotedblright\",\"quoteleft\",\"quoteright\",\"divide\",\"lozenge\",\"ydieresis\",\"Ydieresis\",\"fraction\",\"currency\",\"guilsinglleft\",\"guilsinglright\",\"fi\",\"fl\",\"daggerdbl\",\"periodcentered\",\"quotesinglbase\",\"quotedblbase\",\"perthousand\",\"Acircumflex\",\"Ecircumflex\",\"Aacute\",\"Edieresis\",\"Egrave\",\"Iacute\",\"Icircumflex\",\"Idieresis\",\"Igrave\",\"Oacute\",\"Ocircumflex\",\"apple\",\"Ograve\",\"Uacute\",\"Ucircumflex\",\"Ugrave\",\"dotlessi\",\"circumflex\",\"tilde\",\"macron\",\"breve\",\"dotaccent\",\"ring\",\"cedilla\",\"hungarumlaut\",\"ogonek\",\"caron\",\"Lslash\",\"lslash\",\"Scaron\",\"scaron\",\"Zcaron\",\"zcaron\",\"brokenbar\",\"Eth\",\"eth\",\"Yacute\",\"yacute\",\"Thorn\",\"thorn\",\"minus\",\"multiply\",\"onesuperior\",\"twosuperior\",\"threesuperior\",\"onehalf\",\"onequarter\",\"threequarters\",\"franc\",\"Gbreve\",\"gbreve\",\"Idotaccent\",\"Scedilla\",\"scedilla\",\"Cacute\",\"cacute\",\"Ccaron\",\"ccaron\",\"dcroat\"];function adjustWidths(properties){if(!properties.fontMatrix){return;}if(properties.fontMatrix[0]===_util.FONT_IDENTITY_MATRIX[0]){return;}var scale=0.001/properties.fontMatrix[0];var glyphsWidths=properties.widths;for(var glyph in glyphsWidths){glyphsWidths[glyph]*=scale;}properties.defaultWidth*=scale;}function adjustToUnicode(properties,builtInEncoding){if(properties.hasIncludedToUnicodeMap){return;}if(properties.hasEncoding){return;}if(builtInEncoding===properties.defaultEncoding){return;}if(properties.toUnicode instanceof IdentityToUnicodeMap){return;}var toUnicode=[],glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(var charCode in builtInEncoding){var glyphName=builtInEncoding[charCode];var unicode=(0,_unicode.getUnicodeForGlyph)(glyphName,glyphsUnicodeMap);if(unicode!==-1){toUnicode[charCode]=String.fromCharCode(unicode);}}properties.toUnicode.amend(toUnicode);}function getFontType(type,subtype){switch(type){case\"Type1\":return subtype===\"Type1C\"?_util.FontType.TYPE1C:_util.FontType.TYPE1;case\"CIDFontType0\":return subtype===\"CIDFontType0C\"?_util.FontType.CIDFONTTYPE0C:_util.FontType.CIDFONTTYPE0;case\"OpenType\":return _util.FontType.OPENTYPE;case\"TrueType\":return _util.FontType.TRUETYPE;case\"CIDFontType2\":return _util.FontType.CIDFONTTYPE2;case\"MMType1\":return _util.FontType.MMTYPE1;case\"Type0\":return _util.FontType.TYPE0;default:return _util.FontType.UNKNOWN;}}function recoverGlyphName(name,glyphsUnicodeMap){if(glyphsUnicodeMap[name]!==undefined){return name;}var unicode=(0,_unicode.getUnicodeForGlyph)(name,glyphsUnicodeMap);if(unicode!==-1){for(var key in glyphsUnicodeMap){if(glyphsUnicodeMap[key]===unicode){return key;}}}(0,_util.info)(\"Unable to recover a standard glyph name for: \"+name);return name;}var Glyph=function GlyphClosure(){function Glyph(fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont){this.fontChar=fontChar;this.unicode=unicode;this.accent=accent;this.width=width;this.vmetric=vmetric;this.operatorListId=operatorListId;this.isSpace=isSpace;this.isInFont=isInFont;}Glyph.prototype.matchesForCache=function(fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont){return this.fontChar===fontChar&&this.unicode===unicode&&this.accent===accent&&this.width===width&&this.vmetric===vmetric&&this.operatorListId===operatorListId&&this.isSpace===isSpace&&this.isInFont===isInFont;};return Glyph;}();var ToUnicodeMap=function ToUnicodeMapClosure(){function ToUnicodeMap(){var cmap=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];this._map=cmap;}ToUnicodeMap.prototype={get length(){return this._map.length;},forEach:function forEach(callback){for(var charCode in this._map){callback(charCode,this._map[charCode].charCodeAt(0));}},has:function has(i){return this._map[i]!==undefined;},get:function get(i){return this._map[i];},charCodeOf:function charCodeOf(value){var map=this._map;if(map.length<=0x10000){return map.indexOf(value);}for(var charCode in map){if(map[charCode]===value){return charCode|0;}}return-1;},amend:function amend(map){for(var charCode in map){this._map[charCode]=map[charCode];}}};return ToUnicodeMap;}();exports.ToUnicodeMap=ToUnicodeMap;var IdentityToUnicodeMap=function IdentityToUnicodeMapClosure(){function IdentityToUnicodeMap(firstChar,lastChar){this.firstChar=firstChar;this.lastChar=lastChar;}IdentityToUnicodeMap.prototype={get length(){return this.lastChar+1-this.firstChar;},forEach:function forEach(callback){for(var i=this.firstChar,ii=this.lastChar;i<=ii;i++){callback(i,i);}},has:function has(i){return this.firstChar<=i&&i<=this.lastChar;},get:function get(i){if(this.firstChar<=i&&i<=this.lastChar){return String.fromCharCode(i);}return undefined;},charCodeOf:function charCodeOf(v){return Number.isInteger(v)&&v>=this.firstChar&&v<=this.lastChar?v:-1;},amend:function amend(map){(0,_util.unreachable)(\"Should not call amend()\");}};return IdentityToUnicodeMap;}();exports.IdentityToUnicodeMap=IdentityToUnicodeMap;var OpenTypeFileBuilder=function OpenTypeFileBuilderClosure(){function writeInt16(dest,offset,num){dest[offset]=num>>8&0xff;dest[offset+1]=num&0xff;}function writeInt32(dest,offset,num){dest[offset]=num>>24&0xff;dest[offset+1]=num>>16&0xff;dest[offset+2]=num>>8&0xff;dest[offset+3]=num&0xff;}function writeData(dest,offset,data){var i,ii;if(data instanceof Uint8Array){dest.set(data,offset);}else if(typeof data===\"string\"){for(i=0,ii=data.length;i<ii;i++){dest[offset++]=data.charCodeAt(i)&0xff;}}else{for(i=0,ii=data.length;i<ii;i++){dest[offset++]=data[i]&0xff;}}}function OpenTypeFileBuilder(sfnt){this.sfnt=sfnt;this.tables=Object.create(null);}OpenTypeFileBuilder.getSearchParams=function OpenTypeFileBuilder_getSearchParams(entriesCount,entrySize){var maxPower2=1,log2=0;while((maxPower2^entriesCount)>maxPower2){maxPower2<<=1;log2++;}var searchRange=maxPower2*entrySize;return{range:searchRange,entry:log2,rangeShift:entrySize*entriesCount-searchRange};};var OTF_HEADER_SIZE=12;var OTF_TABLE_ENTRY_SIZE=16;OpenTypeFileBuilder.prototype={toArray:function OpenTypeFileBuilder_toArray(){var sfnt=this.sfnt;var tables=this.tables;var tablesNames=Object.keys(tables);tablesNames.sort();var numTables=tablesNames.length;var i,j,jj,table,tableName;var offset=OTF_HEADER_SIZE+numTables*OTF_TABLE_ENTRY_SIZE;var tableOffsets=[offset];for(i=0;i<numTables;i++){table=tables[tablesNames[i]];var paddedLength=(table.length+3&~3)>>>0;offset+=paddedLength;tableOffsets.push(offset);}var file=new Uint8Array(offset);for(i=0;i<numTables;i++){table=tables[tablesNames[i]];writeData(file,tableOffsets[i],table);}if(sfnt===\"true\"){sfnt=(0,_util.string32)(0x00010000);}file[0]=sfnt.charCodeAt(0)&0xff;file[1]=sfnt.charCodeAt(1)&0xff;file[2]=sfnt.charCodeAt(2)&0xff;file[3]=sfnt.charCodeAt(3)&0xff;writeInt16(file,4,numTables);var searchParams=OpenTypeFileBuilder.getSearchParams(numTables,16);writeInt16(file,6,searchParams.range);writeInt16(file,8,searchParams.entry);writeInt16(file,10,searchParams.rangeShift);offset=OTF_HEADER_SIZE;for(i=0;i<numTables;i++){tableName=tablesNames[i];file[offset]=tableName.charCodeAt(0)&0xff;file[offset+1]=tableName.charCodeAt(1)&0xff;file[offset+2]=tableName.charCodeAt(2)&0xff;file[offset+3]=tableName.charCodeAt(3)&0xff;var checksum=0;for(j=tableOffsets[i],jj=tableOffsets[i+1];j<jj;j+=4){var quad=(0,_core_utils.readUint32)(file,j);checksum=checksum+quad>>>0;}writeInt32(file,offset+4,checksum);writeInt32(file,offset+8,tableOffsets[i]);writeInt32(file,offset+12,tables[tableName].length);offset+=OTF_TABLE_ENTRY_SIZE;}return file;},addTable:function OpenTypeFileBuilder_addTable(tag,data){if(tag in this.tables){throw new Error(\"Table \"+tag+\" already exists\");}this.tables[tag]=data;}};return OpenTypeFileBuilder;}();var Font=function FontClosure(){function Font(name,file,properties){var charCode;this.name=name;this.loadedName=properties.loadedName;this.isType3Font=properties.isType3Font;this.sizes=[];this.missingFile=false;this.glyphCache=Object.create(null);this.isSerifFont=!!(properties.flags&FontFlags.Serif);this.isSymbolicFont=!!(properties.flags&FontFlags.Symbolic);this.isMonospace=!!(properties.flags&FontFlags.FixedPitch);var type=properties.type;var subtype=properties.subtype;this.type=type;this.subtype=subtype;var fallbackName=\"sans-serif\";if(this.isMonospace){fallbackName=\"monospace\";}else if(this.isSerifFont){fallbackName=\"serif\";}this.fallbackName=fallbackName;this.differences=properties.differences;this.widths=properties.widths;this.defaultWidth=properties.defaultWidth;this.composite=properties.composite;this.wideChars=properties.wideChars;this.cMap=properties.cMap;this.ascent=properties.ascent/PDF_GLYPH_SPACE_UNITS;this.descent=properties.descent/PDF_GLYPH_SPACE_UNITS;this.fontMatrix=properties.fontMatrix;this.bbox=properties.bbox;this.defaultEncoding=properties.defaultEncoding;this.toUnicode=properties.toUnicode;this.fallbackToUnicode=properties.fallbackToUnicode||new ToUnicodeMap();this.toFontChar=[];if(properties.type===\"Type3\"){for(charCode=0;charCode<256;charCode++){this.toFontChar[charCode]=this.differences[charCode]||properties.defaultEncoding[charCode];}this.fontType=_util.FontType.TYPE3;return;}this.cidEncoding=properties.cidEncoding;this.vertical=properties.vertical;if(this.vertical){this.vmetrics=properties.vmetrics;this.defaultVMetrics=properties.defaultVMetrics;}if(!file||file.isEmpty){if(file){(0,_util.warn)('Font file is empty in \"'+name+'\" ('+this.loadedName+\")\");}this.fallbackToSystemFont();return;}var _getFontFileType=getFontFileType(file,properties);var _getFontFileType2=_slicedToArray(_getFontFileType,2);type=_getFontFileType2[0];subtype=_getFontFileType2[1];if(type!==this.type||subtype!==this.subtype){(0,_util.info)(\"Inconsistent font file Type/SubType, expected: \"+\"\".concat(this.type,\"/\").concat(this.subtype,\" but found: \").concat(type,\"/\").concat(subtype,\".\"));}try{var data;switch(type){case\"MMType1\":(0,_util.info)(\"MMType1 font (\"+name+\"), falling back to Type1.\");case\"Type1\":case\"CIDFontType0\":this.mimetype=\"font/opentype\";var cff=subtype===\"Type1C\"||subtype===\"CIDFontType0C\"?new CFFFont(file,properties):new Type1Font(name,file,properties);adjustWidths(properties);data=this.convert(name,cff,properties);break;case\"OpenType\":case\"TrueType\":case\"CIDFontType2\":this.mimetype=\"font/opentype\";data=this.checkAndRepair(name,file,properties);if(this.isOpenType){adjustWidths(properties);type=\"OpenType\";}break;default:throw new _util.FormatError(\"Font \".concat(type,\" is not supported\"));}}catch(e){(0,_util.warn)(e);this.fallbackToSystemFont();return;}this.data=data;this.fontType=getFontType(type,subtype);this.fontMatrix=properties.fontMatrix;this.widths=properties.widths;this.defaultWidth=properties.defaultWidth;this.toUnicode=properties.toUnicode;this.encoding=properties.baseEncoding;this.seacMap=properties.seacMap;}Font.getFontID=function(){var ID=1;return function Font_getFontID(){return String(ID++);};}();function int16(b0,b1){return(b0<<8)+b1;}function writeSignedInt16(bytes,index,value){bytes[index+1]=value;bytes[index]=value>>>8;}function signedInt16(b0,b1){var value=(b0<<8)+b1;return value&1<<15?value-0x10000:value;}function int32(b0,b1,b2,b3){return(b0<<24)+(b1<<16)+(b2<<8)+b3;}function string16(value){return String.fromCharCode(value>>8&0xff,value&0xff);}function safeString16(value){if(value>0x7fff){value=0x7fff;}else if(value<-0x8000){value=-0x8000;}return String.fromCharCode(value>>8&0xff,value&0xff);}function isTrueTypeFile(file){var header=file.peekBytes(4);return(0,_core_utils.readUint32)(header,0)===0x00010000||(0,_util.bytesToString)(header)===\"true\";}function isTrueTypeCollectionFile(file){var header=file.peekBytes(4);return(0,_util.bytesToString)(header)===\"ttcf\";}function isOpenTypeFile(file){var header=file.peekBytes(4);return(0,_util.bytesToString)(header)===\"OTTO\";}function isType1File(file){var header=file.peekBytes(2);if(header[0]===0x25&&header[1]===0x21){return true;}if(header[0]===0x80&&header[1]===0x01){return true;}return false;}function isCFFFile(file){var header=file.peekBytes(4);if(header[0]>=1&&header[3]>=1&&header[3]<=4){return true;}return false;}function getFontFileType(file,_ref28){var type=_ref28.type,subtype=_ref28.subtype,composite=_ref28.composite;var fileType,fileSubtype;if(isTrueTypeFile(file)||isTrueTypeCollectionFile(file)){if(composite){fileType=\"CIDFontType2\";}else{fileType=\"TrueType\";}}else if(isOpenTypeFile(file)){if(composite){fileType=\"CIDFontType2\";}else{fileType=\"OpenType\";}}else if(isType1File(file)){if(composite){fileType=\"CIDFontType0\";}else{fileType=type===\"MMType1\"?\"MMType1\":\"Type1\";}}else if(isCFFFile(file)){if(composite){fileType=\"CIDFontType0\";fileSubtype=\"CIDFontType0C\";}else{fileType=type===\"MMType1\"?\"MMType1\":\"Type1\";fileSubtype=\"Type1C\";}}else{(0,_util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");fileType=type;fileSubtype=subtype;}return[fileType,fileSubtype];}function buildToFontChar(encoding,glyphsUnicodeMap,differences){var toFontChar=[],unicode;for(var i=0,ii=encoding.length;i<ii;i++){unicode=(0,_unicode.getUnicodeForGlyph)(encoding[i],glyphsUnicodeMap);if(unicode!==-1){toFontChar[i]=unicode;}}for(var charCode in differences){unicode=(0,_unicode.getUnicodeForGlyph)(differences[charCode],glyphsUnicodeMap);if(unicode!==-1){toFontChar[+charCode]=unicode;}}return toFontChar;}function adjustMapping(charCodeToGlyphId,hasGlyph,newGlyphZeroId){var newMap=Object.create(null);var toFontChar=[];var privateUseAreaIndex=0;var nextAvailableFontCharCode=PRIVATE_USE_AREAS[privateUseAreaIndex][0];var privateUseOffetEnd=PRIVATE_USE_AREAS[privateUseAreaIndex][1];for(var originalCharCode in charCodeToGlyphId){originalCharCode|=0;var glyphId=charCodeToGlyphId[originalCharCode];if(!hasGlyph(glyphId)){continue;}if(nextAvailableFontCharCode>privateUseOffetEnd){privateUseAreaIndex++;if(privateUseAreaIndex>=PRIVATE_USE_AREAS.length){(0,_util.warn)(\"Ran out of space in font private use area.\");break;}nextAvailableFontCharCode=PRIVATE_USE_AREAS[privateUseAreaIndex][0];privateUseOffetEnd=PRIVATE_USE_AREAS[privateUseAreaIndex][1];}var fontCharCode=nextAvailableFontCharCode++;if(glyphId===0){glyphId=newGlyphZeroId;}newMap[fontCharCode]=glyphId;toFontChar[originalCharCode]=fontCharCode;}return{toFontChar:toFontChar,charCodeToGlyphId:newMap,nextAvailableFontCharCode:nextAvailableFontCharCode};}function getRanges(glyphs,numGlyphs){var codes=[];for(var charCode in glyphs){if(glyphs[charCode]>=numGlyphs){continue;}codes.push({fontCharCode:charCode|0,glyphId:glyphs[charCode]});}if(codes.length===0){codes.push({fontCharCode:0,glyphId:0});}codes.sort(function fontGetRangesSort(a,b){return a.fontCharCode-b.fontCharCode;});var ranges=[];var length=codes.length;for(var n=0;n<length;){var start=codes[n].fontCharCode;var codeIndices=[codes[n].glyphId];++n;var end=start;while(n<length&&end+1===codes[n].fontCharCode){codeIndices.push(codes[n].glyphId);++end;++n;if(end===0xffff){break;}}ranges.push([start,end,codeIndices]);}return ranges;}function createCmapTable(glyphs,numGlyphs){var ranges=getRanges(glyphs,numGlyphs);var numTables=ranges[ranges.length-1][1]>0xffff?2:1;var cmap=\"\\x00\\x00\"+string16(numTables)+\"\\x00\\x03\"+\"\\x00\\x01\"+(0,_util.string32)(4+numTables*8);var i,ii,j,jj;for(i=ranges.length-1;i>=0;--i){if(ranges[i][0]<=0xffff){break;}}var bmpLength=i+1;if(ranges[i][0]<0xffff&&ranges[i][1]===0xffff){ranges[i][1]=0xfffe;}var trailingRangesCount=ranges[i][1]<0xffff?1:0;var segCount=bmpLength+trailingRangesCount;var searchParams=OpenTypeFileBuilder.getSearchParams(segCount,2);var startCount=\"\";var endCount=\"\";var idDeltas=\"\";var idRangeOffsets=\"\";var glyphsIds=\"\";var bias=0;var range,start,end,codes;for(i=0,ii=bmpLength;i<ii;i++){range=ranges[i];start=range[0];end=range[1];startCount+=string16(start);endCount+=string16(end);codes=range[2];var contiguous=true;for(j=1,jj=codes.length;j<jj;++j){if(codes[j]!==codes[j-1]+1){contiguous=false;break;}}if(!contiguous){var offset=(segCount-i)*2+bias*2;bias+=end-start+1;idDeltas+=string16(0);idRangeOffsets+=string16(offset);for(j=0,jj=codes.length;j<jj;++j){glyphsIds+=string16(codes[j]);}}else{var startCode=codes[0];idDeltas+=string16(startCode-start&0xffff);idRangeOffsets+=string16(0);}}if(trailingRangesCount>0){endCount+=\"\\xFF\\xFF\";startCount+=\"\\xFF\\xFF\";idDeltas+=\"\\x00\\x01\";idRangeOffsets+=\"\\x00\\x00\";}var format314=\"\\x00\\x00\"+string16(2*segCount)+string16(searchParams.range)+string16(searchParams.entry)+string16(searchParams.rangeShift)+endCount+\"\\x00\\x00\"+startCount+idDeltas+idRangeOffsets+glyphsIds;var format31012=\"\";var header31012=\"\";if(numTables>1){cmap+=\"\\x00\\x03\"+\"\\x00\\x0A\"+(0,_util.string32)(4+numTables*8+4+format314.length);format31012=\"\";for(i=0,ii=ranges.length;i<ii;i++){range=ranges[i];start=range[0];codes=range[2];var code=codes[0];for(j=1,jj=codes.length;j<jj;++j){if(codes[j]!==codes[j-1]+1){end=range[0]+j-1;format31012+=(0,_util.string32)(start)+(0,_util.string32)(end)+(0,_util.string32)(code);start=end+1;code=codes[j];}}format31012+=(0,_util.string32)(start)+(0,_util.string32)(range[1])+(0,_util.string32)(code);}header31012=\"\\x00\\x0C\"+\"\\x00\\x00\"+(0,_util.string32)(format31012.length+16)+\"\\x00\\x00\\x00\\x00\"+(0,_util.string32)(format31012.length/12);}return cmap+\"\\x00\\x04\"+string16(format314.length+4)+format314+header31012+format31012;}function validateOS2Table(os2){var stream=new _stream.Stream(os2.data);var version=stream.getUint16();stream.getBytes(60);var selection=stream.getUint16();if(version<4&&selection&0x0300){return false;}var firstChar=stream.getUint16();var lastChar=stream.getUint16();if(firstChar>lastChar){return false;}stream.getBytes(6);var usWinAscent=stream.getUint16();if(usWinAscent===0){return false;}os2.data[8]=os2.data[9]=0;return true;}function createOS2Table(properties,charstrings,override){override=override||{unitsPerEm:0,yMax:0,yMin:0,ascent:0,descent:0};var ulUnicodeRange1=0;var ulUnicodeRange2=0;var ulUnicodeRange3=0;var ulUnicodeRange4=0;var firstCharIndex=null;var lastCharIndex=0;if(charstrings){for(var code in charstrings){code|=0;if(firstCharIndex>code||!firstCharIndex){firstCharIndex=code;}if(lastCharIndex<code){lastCharIndex=code;}var position=(0,_unicode.getUnicodeRangeFor)(code);if(position<32){ulUnicodeRange1|=1<<position;}else if(position<64){ulUnicodeRange2|=1<<position-32;}else if(position<96){ulUnicodeRange3|=1<<position-64;}else if(position<123){ulUnicodeRange4|=1<<position-96;}else{throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");}}if(lastCharIndex>0xffff){lastCharIndex=0xffff;}}else{firstCharIndex=0;lastCharIndex=255;}var bbox=properties.bbox||[0,0,0,0];var unitsPerEm=override.unitsPerEm||1/(properties.fontMatrix||_util.FONT_IDENTITY_MATRIX)[0];var scale=properties.ascentScaled?1.0:unitsPerEm/PDF_GLYPH_SPACE_UNITS;var typoAscent=override.ascent||Math.round(scale*(properties.ascent||bbox[3]));var typoDescent=override.descent||Math.round(scale*(properties.descent||bbox[1]));if(typoDescent>0&&properties.descent>0&&bbox[1]<0){typoDescent=-typoDescent;}var winAscent=override.yMax||typoAscent;var winDescent=-override.yMin||-typoDescent;return\"\\x00\\x03\"+\"\\x02\\x24\"+\"\\x01\\xF4\"+\"\\x00\\x05\"+\"\\x00\\x00\"+\"\\x02\\x8A\"+\"\\x02\\xBB\"+\"\\x00\\x00\"+\"\\x00\\x8C\"+\"\\x02\\x8A\"+\"\\x02\\xBB\"+\"\\x00\\x00\"+\"\\x01\\xDF\"+\"\\x00\\x31\"+\"\\x01\\x02\"+\"\\x00\\x00\"+\"\\x00\\x00\\x06\"+String.fromCharCode(properties.fixedPitch?0x09:0x00)+\"\\x00\\x00\\x00\\x00\\x00\\x00\"+(0,_util.string32)(ulUnicodeRange1)+(0,_util.string32)(ulUnicodeRange2)+(0,_util.string32)(ulUnicodeRange3)+(0,_util.string32)(ulUnicodeRange4)+\"\\x2A\\x32\\x31\\x2A\"+string16(properties.italicAngle?1:0)+string16(firstCharIndex||properties.firstChar)+string16(lastCharIndex||properties.lastChar)+string16(typoAscent)+string16(typoDescent)+\"\\x00\\x64\"+string16(winAscent)+string16(winDescent)+\"\\x00\\x00\\x00\\x00\"+\"\\x00\\x00\\x00\\x00\"+string16(properties.xHeight)+string16(properties.capHeight)+string16(0)+string16(firstCharIndex||properties.firstChar)+\"\\x00\\x03\";}function createPostTable(properties){var angle=Math.floor(properties.italicAngle*Math.pow(2,16));return\"\\x00\\x03\\x00\\x00\"+(0,_util.string32)(angle)+\"\\x00\\x00\"+\"\\x00\\x00\"+(0,_util.string32)(properties.fixedPitch)+\"\\x00\\x00\\x00\\x00\"+\"\\x00\\x00\\x00\\x00\"+\"\\x00\\x00\\x00\\x00\"+\"\\x00\\x00\\x00\\x00\";}function createNameTable(name,proto){if(!proto){proto=[[],[]];}var strings=[proto[0][0]||\"Original licence\",proto[0][1]||name,proto[0][2]||\"Unknown\",proto[0][3]||\"uniqueID\",proto[0][4]||name,proto[0][5]||\"Version 0.11\",proto[0][6]||\"\",proto[0][7]||\"Unknown\",proto[0][8]||\"Unknown\",proto[0][9]||\"Unknown\"];var stringsUnicode=[];var i,ii,j,jj,str;for(i=0,ii=strings.length;i<ii;i++){str=proto[1][i]||strings[i];var strBufUnicode=[];for(j=0,jj=str.length;j<jj;j++){strBufUnicode.push(string16(str.charCodeAt(j)));}stringsUnicode.push(strBufUnicode.join(\"\"));}var names=[strings,stringsUnicode];var platforms=[\"\\x00\\x01\",\"\\x00\\x03\"];var encodings=[\"\\x00\\x00\",\"\\x00\\x01\"];var languages=[\"\\x00\\x00\",\"\\x04\\x09\"];var namesRecordCount=strings.length*platforms.length;var nameTable=\"\\x00\\x00\"+string16(namesRecordCount)+string16(namesRecordCount*12+6);var strOffset=0;for(i=0,ii=platforms.length;i<ii;i++){var strs=names[i];for(j=0,jj=strs.length;j<jj;j++){str=strs[j];var nameRecord=platforms[i]+encodings[i]+languages[i]+string16(j)+string16(str.length)+string16(strOffset);nameTable+=nameRecord;strOffset+=str.length;}}nameTable+=strings.join(\"\")+stringsUnicode.join(\"\");return nameTable;}Font.prototype={name:null,font:null,mimetype:null,encoding:null,disableFontFace:false,get renderer(){var renderer=_font_renderer.FontRendererFactory.create(this,SEAC_ANALYSIS_ENABLED);return(0,_util.shadow)(this,\"renderer\",renderer);},exportData:function Font_exportData(){var data={};for(var i in this){if(this.hasOwnProperty(i)){data[i]=this[i];}}return data;},fallbackToSystemFont:function Font_fallbackToSystemFont(){var _this68=this;this.missingFile=true;var charCode,unicode;var name=this.name;var type=this.type;var subtype=this.subtype;var fontName=name.replace(/[,_]/g,\"-\").replace(/\\s/g,\"\");var stdFontMap=(0,_standard_fonts.getStdFontMap)(),nonStdFontMap=(0,_standard_fonts.getNonStdFontMap)();var isStandardFont=!!stdFontMap[fontName]||!!(nonStdFontMap[fontName]&&stdFontMap[nonStdFontMap[fontName]]);fontName=stdFontMap[fontName]||nonStdFontMap[fontName]||fontName;this.bold=fontName.search(/bold/gi)!==-1;this.italic=fontName.search(/oblique/gi)!==-1||fontName.search(/italic/gi)!==-1;this.black=name.search(/Black/g)!==-1;this.remeasure=Object.keys(this.widths).length>0;if(isStandardFont&&type===\"CIDFontType2\"&&this.cidEncoding.startsWith(\"Identity-\")){var GlyphMapForStandardFonts=(0,_standard_fonts.getGlyphMapForStandardFonts)();var map=[];for(charCode in GlyphMapForStandardFonts){map[+charCode]=GlyphMapForStandardFonts[charCode];}if(/Arial-?Black/i.test(name)){var SupplementalGlyphMapForArialBlack=(0,_standard_fonts.getSupplementalGlyphMapForArialBlack)();for(charCode in SupplementalGlyphMapForArialBlack){map[+charCode]=SupplementalGlyphMapForArialBlack[charCode];}}else if(/Calibri/i.test(name)){var SupplementalGlyphMapForCalibri=(0,_standard_fonts.getSupplementalGlyphMapForCalibri)();for(charCode in SupplementalGlyphMapForCalibri){map[+charCode]=SupplementalGlyphMapForCalibri[charCode];}}var isIdentityUnicode=this.toUnicode instanceof IdentityToUnicodeMap;if(!isIdentityUnicode){this.toUnicode.forEach(function(charCode,unicodeCharCode){map[+charCode]=unicodeCharCode;});}this.toFontChar=map;this.toUnicode=new ToUnicodeMap(map);}else if(/Symbol/i.test(fontName)){this.toFontChar=buildToFontChar(_encodings.SymbolSetEncoding,(0,_glyphlist.getGlyphsUnicode)(),this.differences);}else if(/Dingbats/i.test(fontName)){if(/Wingdings/i.test(name)){(0,_util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");}this.toFontChar=buildToFontChar(_encodings.ZapfDingbatsEncoding,(0,_glyphlist.getDingbatsGlyphsUnicode)(),this.differences);}else if(isStandardFont){this.toFontChar=buildToFontChar(this.defaultEncoding,(0,_glyphlist.getGlyphsUnicode)(),this.differences);}else{var glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();var _map=[];this.toUnicode.forEach(function(charCode,unicodeCharCode){if(!_this68.composite){var glyphName=_this68.differences[charCode]||_this68.defaultEncoding[charCode];unicode=(0,_unicode.getUnicodeForGlyph)(glyphName,glyphsUnicodeMap);if(unicode!==-1){unicodeCharCode=unicode;}}_map[+charCode]=unicodeCharCode;});if(this.composite&&this.toUnicode instanceof IdentityToUnicodeMap){if(/Verdana/i.test(name)){var _GlyphMapForStandardFonts=(0,_standard_fonts.getGlyphMapForStandardFonts)();for(charCode in _GlyphMapForStandardFonts){_map[+charCode]=_GlyphMapForStandardFonts[charCode];}}}this.toFontChar=_map;}this.loadedName=fontName.split(\"-\")[0];this.fontType=getFontType(type,subtype);},checkAndRepair:function Font_checkAndRepair(name,font,properties){var VALID_TABLES=[\"OS/2\",\"cmap\",\"head\",\"hhea\",\"hmtx\",\"maxp\",\"name\",\"post\",\"loca\",\"glyf\",\"fpgm\",\"prep\",\"cvt \",\"CFF \"];function readTables(file,numTables){var tables=Object.create(null);tables[\"OS/2\"]=null;tables[\"cmap\"]=null;tables[\"head\"]=null;tables[\"hhea\"]=null;tables[\"hmtx\"]=null;tables[\"maxp\"]=null;tables[\"name\"]=null;tables[\"post\"]=null;for(var i=0;i<numTables;i++){var table=readTableEntry(font);if(!VALID_TABLES.includes(table.tag)){continue;}if(table.length===0){continue;}tables[table.tag]=table;}return tables;}function readTableEntry(file){var tag=(0,_util.bytesToString)(file.getBytes(4));var checksum=file.getInt32()>>>0;var offset=file.getInt32()>>>0;var length=file.getInt32()>>>0;var previousPosition=file.pos;file.pos=file.start?file.start:0;file.skip(offset);var data=file.getBytes(length);file.pos=previousPosition;if(tag===\"head\"){data[8]=data[9]=data[10]=data[11]=0;data[17]|=0x20;}return{tag:tag,checksum:checksum,length:length,offset:offset,data:data};}function readOpenTypeHeader(ttf){return{version:(0,_util.bytesToString)(ttf.getBytes(4)),numTables:ttf.getUint16(),searchRange:ttf.getUint16(),entrySelector:ttf.getUint16(),rangeShift:ttf.getUint16()};}function readTrueTypeCollectionHeader(ttc){var ttcTag=(0,_util.bytesToString)(ttc.getBytes(4));(0,_util.assert)(ttcTag===\"ttcf\",\"Must be a TrueType Collection font.\");var majorVersion=ttc.getUint16();var minorVersion=ttc.getUint16();var numFonts=ttc.getInt32()>>>0;var offsetTable=[];for(var i=0;i<numFonts;i++){offsetTable.push(ttc.getInt32()>>>0);}var header={ttcTag:ttcTag,majorVersion:majorVersion,minorVersion:minorVersion,numFonts:numFonts,offsetTable:offsetTable};switch(majorVersion){case 1:return header;case 2:header.dsigTag=ttc.getInt32()>>>0;header.dsigLength=ttc.getInt32()>>>0;header.dsigOffset=ttc.getInt32()>>>0;return header;}throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion,\".\"));}function readTrueTypeCollectionData(ttc,fontName){var _readTrueTypeCollecti=readTrueTypeCollectionHeader(ttc),numFonts=_readTrueTypeCollecti.numFonts,offsetTable=_readTrueTypeCollecti.offsetTable;for(var i=0;i<numFonts;i++){ttc.pos=(ttc.start||0)+offsetTable[i];var potentialHeader=readOpenTypeHeader(ttc);var potentialTables=readTables(ttc,potentialHeader.numTables);if(!potentialTables[\"name\"]){throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');}var nameTable=readNameTable(potentialTables[\"name\"]);for(var j=0,jj=nameTable.length;j<jj;j++){for(var k=0,kk=nameTable[j].length;k<kk;k++){var nameEntry=nameTable[j][k];if(nameEntry&&nameEntry.replace(/\\s/g,\"\")===fontName){return{header:potentialHeader,tables:potentialTables};}}}}throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName,\"\\\" font.\"));}function readCmapTable(cmap,font,isSymbolicFont,hasEncoding){if(!cmap){(0,_util.warn)(\"No cmap table available.\");return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:false};}var segment;var start=(font.start?font.start:0)+cmap.offset;font.pos=start;font.getUint16();var numTables=font.getUint16();var potentialTable;var canBreak=false;for(var i=0;i<numTables;i++){var platformId=font.getUint16();var encodingId=font.getUint16();var offset=font.getInt32()>>>0;var useTable=false;if(potentialTable&&potentialTable.platformId===platformId&&potentialTable.encodingId===encodingId){continue;}if(platformId===0&&encodingId===0){useTable=true;}else if(platformId===1&&encodingId===0){useTable=true;}else if(platformId===3&&encodingId===1&&(hasEncoding||!potentialTable)){useTable=true;if(!isSymbolicFont){canBreak=true;}}else if(isSymbolicFont&&platformId===3&&encodingId===0){useTable=true;canBreak=true;}if(useTable){potentialTable={platformId:platformId,encodingId:encodingId,offset:offset};}if(canBreak){break;}}if(potentialTable){font.pos=start+potentialTable.offset;}if(!potentialTable||font.peekByte()===-1){(0,_util.warn)(\"Could not find a preferred cmap table.\");return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:false};}var format=font.getUint16();font.getUint16();font.getUint16();var hasShortCmap=false;var mappings=[];var j,glyphId;if(format===0){for(j=0;j<256;j++){var index=font.getByte();if(!index){continue;}mappings.push({charCode:j,glyphId:index});}hasShortCmap=true;}else if(format===4){var segCount=font.getUint16()>>1;font.getBytes(6);var segIndex,segments=[];for(segIndex=0;segIndex<segCount;segIndex++){segments.push({end:font.getUint16()});}font.getUint16();for(segIndex=0;segIndex<segCount;segIndex++){segments[segIndex].start=font.getUint16();}for(segIndex=0;segIndex<segCount;segIndex++){segments[segIndex].delta=font.getUint16();}var offsetsCount=0;for(segIndex=0;segIndex<segCount;segIndex++){segment=segments[segIndex];var rangeOffset=font.getUint16();if(!rangeOffset){segment.offsetIndex=-1;continue;}var offsetIndex=(rangeOffset>>1)-(segCount-segIndex);segment.offsetIndex=offsetIndex;offsetsCount=Math.max(offsetsCount,offsetIndex+segment.end-segment.start+1);}var offsets=[];for(j=0;j<offsetsCount;j++){offsets.push(font.getUint16());}for(segIndex=0;segIndex<segCount;segIndex++){segment=segments[segIndex];start=segment.start;var end=segment.end;var delta=segment.delta;offsetIndex=segment.offsetIndex;for(j=start;j<=end;j++){if(j===0xffff){continue;}glyphId=offsetIndex<0?j:offsets[offsetIndex+j-start];glyphId=glyphId+delta&0xffff;mappings.push({charCode:j,glyphId:glyphId});}}}else if(format===6){var firstCode=font.getUint16();var entryCount=font.getUint16();for(j=0;j<entryCount;j++){glyphId=font.getUint16();var charCode=firstCode+j;mappings.push({charCode:charCode,glyphId:glyphId});}}else{(0,_util.warn)(\"cmap table has unsupported format: \"+format);return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:false};}mappings.sort(function(a,b){return a.charCode-b.charCode;});for(i=1;i<mappings.length;i++){if(mappings[i-1].charCode===mappings[i].charCode){mappings.splice(i,1);i--;}}return{platformId:potentialTable.platformId,encodingId:potentialTable.encodingId,mappings:mappings,hasShortCmap:hasShortCmap};}function sanitizeMetrics(font,header,metrics,numGlyphs,dupFirstEntry){if(!header){if(metrics){metrics.data=null;}return;}font.pos=(font.start?font.start:0)+header.offset;font.pos+=4;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=2;font.pos+=8;font.pos+=2;var numOfMetrics=font.getUint16();if(numOfMetrics>numGlyphs){(0,_util.info)(\"The numOfMetrics (\"+numOfMetrics+\") should not be \"+\"greater than the numGlyphs (\"+numGlyphs+\")\");numOfMetrics=numGlyphs;header.data[34]=(numOfMetrics&0xff00)>>8;header.data[35]=numOfMetrics&0x00ff;}var numOfSidebearings=numGlyphs-numOfMetrics;var numMissing=numOfSidebearings-(metrics.length-numOfMetrics*4>>1);if(numMissing>0){var entries=new Uint8Array(metrics.length+numMissing*2);entries.set(metrics.data);if(dupFirstEntry){entries[metrics.length]=metrics.data[2];entries[metrics.length+1]=metrics.data[3];}metrics.data=entries;}}function sanitizeGlyph(source,sourceStart,sourceEnd,dest,destStart,hintsValid){var glyphProfile={length:0,sizeOfInstructions:0};if(sourceEnd-sourceStart<=12){return glyphProfile;}var glyf=source.subarray(sourceStart,sourceEnd);var contoursCount=signedInt16(glyf[0],glyf[1]);if(contoursCount<0){contoursCount=-1;writeSignedInt16(glyf,0,contoursCount);dest.set(glyf,destStart);glyphProfile.length=glyf.length;return glyphProfile;}var i,j=10,flagsCount=0;for(i=0;i<contoursCount;i++){var endPoint=glyf[j]<<8|glyf[j+1];flagsCount=endPoint+1;j+=2;}var instructionsStart=j;var instructionsLength=glyf[j]<<8|glyf[j+1];glyphProfile.sizeOfInstructions=instructionsLength;j+=2+instructionsLength;var instructionsEnd=j;var coordinatesLength=0;for(i=0;i<flagsCount;i++){var flag=glyf[j++];if(flag&0xc0){glyf[j-1]=flag&0x3f;}var xLength=2;if(flag&2){xLength=1;}else if(flag&16){xLength=0;}var yLength=2;if(flag&4){yLength=1;}else if(flag&32){yLength=0;}var xyLength=xLength+yLength;coordinatesLength+=xyLength;if(flag&8){var repeat=glyf[j++];i+=repeat;coordinatesLength+=repeat*xyLength;}}if(coordinatesLength===0){return glyphProfile;}var glyphDataLength=j+coordinatesLength;if(glyphDataLength>glyf.length){return glyphProfile;}if(!hintsValid&&instructionsLength>0){dest.set(glyf.subarray(0,instructionsStart),destStart);dest.set([0,0],destStart+instructionsStart);dest.set(glyf.subarray(instructionsEnd,glyphDataLength),destStart+instructionsStart+2);glyphDataLength-=instructionsLength;if(glyf.length-glyphDataLength>3){glyphDataLength=glyphDataLength+3&~3;}glyphProfile.length=glyphDataLength;return glyphProfile;}if(glyf.length-glyphDataLength>3){glyphDataLength=glyphDataLength+3&~3;dest.set(glyf.subarray(0,glyphDataLength),destStart);glyphProfile.length=glyphDataLength;return glyphProfile;}dest.set(glyf,destStart);glyphProfile.length=glyf.length;return glyphProfile;}function sanitizeHead(head,numGlyphs,locaLength){var data=head.data;var version=int32(data[0],data[1],data[2],data[3]);if(version>>16!==1){(0,_util.info)(\"Attempting to fix invalid version in head table: \"+version);data[0]=0;data[1]=1;data[2]=0;data[3]=0;}var indexToLocFormat=int16(data[50],data[51]);if(indexToLocFormat<0||indexToLocFormat>1){(0,_util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \"+indexToLocFormat);var numGlyphsPlusOne=numGlyphs+1;if(locaLength===numGlyphsPlusOne<<1){data[50]=0;data[51]=0;}else if(locaLength===numGlyphsPlusOne<<2){data[50]=0;data[51]=1;}else{throw new _util.FormatError(\"Could not fix indexToLocFormat: \"+indexToLocFormat);}}}function sanitizeGlyphLocations(loca,glyf,numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry,maxSizeOfInstructions){var itemSize,itemDecode,itemEncode;if(isGlyphLocationsLong){itemSize=4;itemDecode=function fontItemDecodeLong(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3];};itemEncode=function fontItemEncodeLong(data,offset,value){data[offset]=value>>>24&0xff;data[offset+1]=value>>16&0xff;data[offset+2]=value>>8&0xff;data[offset+3]=value&0xff;};}else{itemSize=2;itemDecode=function fontItemDecode(data,offset){return data[offset]<<9|data[offset+1]<<1;};itemEncode=function fontItemEncode(data,offset,value){data[offset]=value>>9&0xff;data[offset+1]=value>>1&0xff;};}var numGlyphsOut=dupFirstEntry?numGlyphs+1:numGlyphs;var locaDataSize=itemSize*(1+numGlyphsOut);var locaData=new Uint8Array(locaDataSize);locaData.set(loca.data.subarray(0,locaDataSize));loca.data=locaData;var oldGlyfData=glyf.data;var oldGlyfDataLength=oldGlyfData.length;var newGlyfData=new Uint8Array(oldGlyfDataLength);var startOffset=itemDecode(locaData,0);var writeOffset=0;var missingGlyphs=Object.create(null);itemEncode(locaData,0,writeOffset);var i,j;for(i=0,j=itemSize;i<numGlyphs;i++,j+=itemSize){var endOffset=itemDecode(locaData,j);if(endOffset===0){endOffset=startOffset;}if(endOffset>oldGlyfDataLength&&(oldGlyfDataLength+3&~3)===endOffset){endOffset=oldGlyfDataLength;}if(endOffset>oldGlyfDataLength){startOffset=endOffset;}var glyphProfile=sanitizeGlyph(oldGlyfData,startOffset,endOffset,newGlyfData,writeOffset,hintsValid);var newLength=glyphProfile.length;if(newLength===0){missingGlyphs[i]=true;}if(glyphProfile.sizeOfInstructions>maxSizeOfInstructions){maxSizeOfInstructions=glyphProfile.sizeOfInstructions;}writeOffset+=newLength;itemEncode(locaData,j,writeOffset);startOffset=endOffset;}if(writeOffset===0){var simpleGlyph=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(i=0,j=itemSize;i<numGlyphsOut;i++,j+=itemSize){itemEncode(locaData,j,simpleGlyph.length);}glyf.data=simpleGlyph;}else if(dupFirstEntry){var firstEntryLength=itemDecode(locaData,itemSize);if(newGlyfData.length>firstEntryLength+writeOffset){glyf.data=newGlyfData.subarray(0,firstEntryLength+writeOffset);}else{glyf.data=new Uint8Array(firstEntryLength+writeOffset);glyf.data.set(newGlyfData.subarray(0,writeOffset));}glyf.data.set(newGlyfData.subarray(0,firstEntryLength),writeOffset);itemEncode(loca.data,locaData.length-itemSize,writeOffset+firstEntryLength);}else{glyf.data=newGlyfData.subarray(0,writeOffset);}return{missingGlyphs:missingGlyphs,maxSizeOfInstructions:maxSizeOfInstructions};}function readPostScriptTable(post,properties,maxpNumGlyphs){var start=(font.start?font.start:0)+post.offset;font.pos=start;var length=post.length,end=start+length;var version=font.getInt32();font.getBytes(28);var glyphNames;var valid=true;var i;switch(version){case 0x00010000:glyphNames=MacStandardGlyphOrdering;break;case 0x00020000:var numGlyphs=font.getUint16();if(numGlyphs!==maxpNumGlyphs){valid=false;break;}var glyphNameIndexes=[];for(i=0;i<numGlyphs;++i){var index=font.getUint16();if(index>=32768){valid=false;break;}glyphNameIndexes.push(index);}if(!valid){break;}var customNames=[];var strBuf=[];while(font.pos<end){var stringLength=font.getByte();strBuf.length=stringLength;for(i=0;i<stringLength;++i){strBuf[i]=String.fromCharCode(font.getByte());}customNames.push(strBuf.join(\"\"));}glyphNames=[];for(i=0;i<numGlyphs;++i){var j=glyphNameIndexes[i];if(j<258){glyphNames.push(MacStandardGlyphOrdering[j]);continue;}glyphNames.push(customNames[j-258]);}break;case 0x00030000:break;default:(0,_util.warn)(\"Unknown/unsupported post table version \"+version);valid=false;if(properties.defaultEncoding){glyphNames=properties.defaultEncoding;}break;}properties.glyphNames=glyphNames;return valid;}function readNameTable(nameTable){var start=(font.start?font.start:0)+nameTable.offset;font.pos=start;var names=[[],[]];var length=nameTable.length,end=start+length;var format=font.getUint16();var FORMAT_0_HEADER_LENGTH=6;if(format!==0||length<FORMAT_0_HEADER_LENGTH){return names;}var numRecords=font.getUint16();var stringsStart=font.getUint16();var records=[];var NAME_RECORD_LENGTH=12;var i,ii;for(i=0;i<numRecords&&font.pos+NAME_RECORD_LENGTH<=end;i++){var r={platform:font.getUint16(),encoding:font.getUint16(),language:font.getUint16(),name:font.getUint16(),length:font.getUint16(),offset:font.getUint16()};if(r.platform===1&&r.encoding===0&&r.language===0||r.platform===3&&r.encoding===1&&r.language===0x409){records.push(r);}}for(i=0,ii=records.length;i<ii;i++){var record=records[i];if(record.length<=0){continue;}var pos=start+stringsStart+record.offset;if(pos+record.length>end){continue;}font.pos=pos;var nameIndex=record.name;if(record.encoding){var str=\"\";for(var j=0,jj=record.length;j<jj;j+=2){str+=String.fromCharCode(font.getUint16());}names[1][nameIndex]=str;}else{names[0][nameIndex]=(0,_util.bytesToString)(font.getBytes(record.length));}}return names;}var TTOpsStackDeltas=[0,0,0,0,0,0,0,0,-2,-2,-2,-2,0,0,-2,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,-1,-1,1,-1,-999,0,1,0,-1,-2,0,-1,-2,-1,-1,0,-1,-1,0,0,-999,-999,-1,-1,-1,-1,-2,-999,-2,-2,-999,0,-2,-2,0,0,-2,0,-2,0,0,0,-2,-1,-1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,-1,0,-999,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-2,-999,-999,-999,-999,-999,-1,-1,-2,-2,0,0,0,0,-1,-1,-999,-2,-2,0,0,-1,-2,-2,0,0,0,-1,-1,-1,-2];function sanitizeTTProgram(table,ttContext){var data=table.data;var i=0,j,n,b,funcId,pc,lastEndf=0,lastDeff=0;var stack=[];var callstack=[];var functionsCalled=[];var tooComplexToFollowFunctions=ttContext.tooComplexToFollowFunctions;var inFDEF=false,ifLevel=0,inELSE=0;for(var ii=data.length;i<ii;){var op=data[i++];if(op===0x40){n=data[i++];if(inFDEF||inELSE){i+=n;}else{for(j=0;j<n;j++){stack.push(data[i++]);}}}else if(op===0x41){n=data[i++];if(inFDEF||inELSE){i+=n*2;}else{for(j=0;j<n;j++){b=data[i++];stack.push(b<<8|data[i++]);}}}else if((op&0xf8)===0xb0){n=op-0xb0+1;if(inFDEF||inELSE){i+=n;}else{for(j=0;j<n;j++){stack.push(data[i++]);}}}else if((op&0xf8)===0xb8){n=op-0xb8+1;if(inFDEF||inELSE){i+=n*2;}else{for(j=0;j<n;j++){b=data[i++];stack.push(b<<8|data[i++]);}}}else if(op===0x2b&&!tooComplexToFollowFunctions){if(!inFDEF&&!inELSE){funcId=stack[stack.length-1];if(isNaN(funcId)){(0,_util.info)(\"TT: CALL empty stack (or invalid entry).\");}else{ttContext.functionsUsed[funcId]=true;if(funcId in ttContext.functionsStackDeltas){var newStackLength=stack.length+ttContext.functionsStackDeltas[funcId];if(newStackLength<0){(0,_util.warn)(\"TT: CALL invalid functions stack delta.\");ttContext.hintsValid=false;return;}stack.length=newStackLength;}else if(funcId in ttContext.functionsDefined&&!functionsCalled.includes(funcId)){callstack.push({data:data,i:i,stackTop:stack.length-1});functionsCalled.push(funcId);pc=ttContext.functionsDefined[funcId];if(!pc){(0,_util.warn)(\"TT: CALL non-existent function\");ttContext.hintsValid=false;return;}data=pc.data;i=pc.i;}}}}else if(op===0x2c&&!tooComplexToFollowFunctions){if(inFDEF||inELSE){(0,_util.warn)(\"TT: nested FDEFs not allowed\");tooComplexToFollowFunctions=true;}inFDEF=true;lastDeff=i;funcId=stack.pop();ttContext.functionsDefined[funcId]={data:data,i:i};}else if(op===0x2d){if(inFDEF){inFDEF=false;lastEndf=i;}else{pc=callstack.pop();if(!pc){(0,_util.warn)(\"TT: ENDF bad stack\");ttContext.hintsValid=false;return;}funcId=functionsCalled.pop();data=pc.data;i=pc.i;ttContext.functionsStackDeltas[funcId]=stack.length-pc.stackTop;}}else if(op===0x89){if(inFDEF||inELSE){(0,_util.warn)(\"TT: nested IDEFs not allowed\");tooComplexToFollowFunctions=true;}inFDEF=true;lastDeff=i;}else if(op===0x58){++ifLevel;}else if(op===0x1b){inELSE=ifLevel;}else if(op===0x59){if(inELSE===ifLevel){inELSE=0;}--ifLevel;}else if(op===0x1c){if(!inFDEF&&!inELSE){var offset=stack[stack.length-1];if(offset>0){i+=offset-1;}}}if(!inFDEF&&!inELSE){var stackDelta=0;if(op<=0x8e){stackDelta=TTOpsStackDeltas[op];}else if(op>=0xc0&&op<=0xdf){stackDelta=-1;}else if(op>=0xe0){stackDelta=-2;}if(op>=0x71&&op<=0x75){n=stack.pop();if(!isNaN(n)){stackDelta=-n*2;}}while(stackDelta<0&&stack.length>0){stack.pop();stackDelta++;}while(stackDelta>0){stack.push(NaN);stackDelta--;}}}ttContext.tooComplexToFollowFunctions=tooComplexToFollowFunctions;var content=[data];if(i>data.length){content.push(new Uint8Array(i-data.length));}if(lastDeff>lastEndf){(0,_util.warn)(\"TT: complementing a missing function tail\");content.push(new Uint8Array([0x22,0x2d]));}foldTTTable(table,content);}function checkInvalidFunctions(ttContext,maxFunctionDefs){if(ttContext.tooComplexToFollowFunctions){return;}if(ttContext.functionsDefined.length>maxFunctionDefs){(0,_util.warn)(\"TT: more functions defined than expected\");ttContext.hintsValid=false;return;}for(var j=0,jj=ttContext.functionsUsed.length;j<jj;j++){if(j>maxFunctionDefs){(0,_util.warn)(\"TT: invalid function id: \"+j);ttContext.hintsValid=false;return;}if(ttContext.functionsUsed[j]&&!ttContext.functionsDefined[j]){(0,_util.warn)(\"TT: undefined function: \"+j);ttContext.hintsValid=false;return;}}}function foldTTTable(table,content){if(content.length>1){var newLength=0;var j,jj;for(j=0,jj=content.length;j<jj;j++){newLength+=content[j].length;}newLength=newLength+3&~3;var result=new Uint8Array(newLength);var pos=0;for(j=0,jj=content.length;j<jj;j++){result.set(content[j],pos);pos+=content[j].length;}table.data=result;table.length=newLength;}}function sanitizeTTPrograms(fpgm,prep,cvt,maxFunctionDefs){var ttContext={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:false,hintsValid:true};if(fpgm){sanitizeTTProgram(fpgm,ttContext);}if(prep){sanitizeTTProgram(prep,ttContext);}if(fpgm){checkInvalidFunctions(ttContext,maxFunctionDefs);}if(cvt&&cvt.length&1){var cvtData=new Uint8Array(cvt.length+1);cvtData.set(cvt.data);cvt.data=cvtData;}return ttContext.hintsValid;}font=new _stream.Stream(new Uint8Array(font.getBytes()));var header,tables;if(isTrueTypeCollectionFile(font)){var ttcData=readTrueTypeCollectionData(font,this.name);header=ttcData.header;tables=ttcData.tables;}else{header=readOpenTypeHeader(font);tables=readTables(font,header.numTables);}var cff,cffFile;var isTrueType=!tables[\"CFF \"];if(!isTrueType){var isComposite=properties.composite&&((properties.cidToGidMap||[]).length>0||!(properties.cMap instanceof _cmap.IdentityCMap));if(header.version===\"OTTO\"&&!isComposite||!tables[\"head\"]||!tables[\"hhea\"]||!tables[\"maxp\"]||!tables[\"post\"]){cffFile=new _stream.Stream(tables[\"CFF \"].data);cff=new CFFFont(cffFile,properties);adjustWidths(properties);return this.convert(name,cff,properties);}delete tables[\"glyf\"];delete tables[\"loca\"];delete tables[\"fpgm\"];delete tables[\"prep\"];delete tables[\"cvt \"];this.isOpenType=true;}else{if(!tables[\"loca\"]){throw new _util.FormatError('Required \"loca\" table is not found');}if(!tables[\"glyf\"]){(0,_util.warn)('Required \"glyf\" table is not found -- trying to recover.');tables[\"glyf\"]={tag:\"glyf\",data:new Uint8Array(0)};}this.isOpenType=false;}if(!tables[\"maxp\"]){throw new _util.FormatError('Required \"maxp\" table is not found');}font.pos=(font.start||0)+tables[\"maxp\"].offset;var version=font.getInt32();var numGlyphs=font.getUint16();var numGlyphsOut=numGlyphs+1;var dupFirstEntry=true;if(numGlyphsOut>0xffff){dupFirstEntry=false;numGlyphsOut=numGlyphs;(0,_util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");}var maxFunctionDefs=0;var maxSizeOfInstructions=0;if(version>=0x00010000&&tables[\"maxp\"].length>=22){font.pos+=8;var maxZones=font.getUint16();if(maxZones>2){tables[\"maxp\"].data[14]=0;tables[\"maxp\"].data[15]=2;}font.pos+=4;maxFunctionDefs=font.getUint16();font.pos+=4;maxSizeOfInstructions=font.getUint16();}tables[\"maxp\"].data[4]=numGlyphsOut>>8;tables[\"maxp\"].data[5]=numGlyphsOut&255;var hintsValid=sanitizeTTPrograms(tables[\"fpgm\"],tables[\"prep\"],tables[\"cvt \"],maxFunctionDefs);if(!hintsValid){delete tables[\"fpgm\"];delete tables[\"prep\"];delete tables[\"cvt \"];}sanitizeMetrics(font,tables[\"hhea\"],tables[\"hmtx\"],numGlyphsOut,dupFirstEntry);if(!tables[\"head\"]){throw new _util.FormatError('Required \"head\" table is not found');}sanitizeHead(tables[\"head\"],numGlyphs,isTrueType?tables[\"loca\"].length:0);var missingGlyphs=Object.create(null);if(isTrueType){var isGlyphLocationsLong=int16(tables[\"head\"].data[50],tables[\"head\"].data[51]);var glyphsInfo=sanitizeGlyphLocations(tables[\"loca\"],tables[\"glyf\"],numGlyphs,isGlyphLocationsLong,hintsValid,dupFirstEntry,maxSizeOfInstructions);missingGlyphs=glyphsInfo.missingGlyphs;if(version>=0x00010000&&tables[\"maxp\"].length>=22){tables[\"maxp\"].data[26]=glyphsInfo.maxSizeOfInstructions>>8;tables[\"maxp\"].data[27]=glyphsInfo.maxSizeOfInstructions&255;}}if(!tables[\"hhea\"]){throw new _util.FormatError('Required \"hhea\" table is not found');}if(tables[\"hhea\"].data[10]===0&&tables[\"hhea\"].data[11]===0){tables[\"hhea\"].data[10]=0xff;tables[\"hhea\"].data[11]=0xff;}var metricsOverride={unitsPerEm:int16(tables[\"head\"].data[18],tables[\"head\"].data[19]),yMax:int16(tables[\"head\"].data[42],tables[\"head\"].data[43]),yMin:signedInt16(tables[\"head\"].data[38],tables[\"head\"].data[39]),ascent:int16(tables[\"hhea\"].data[4],tables[\"hhea\"].data[5]),descent:signedInt16(tables[\"hhea\"].data[6],tables[\"hhea\"].data[7])};this.ascent=metricsOverride.ascent/metricsOverride.unitsPerEm;this.descent=metricsOverride.descent/metricsOverride.unitsPerEm;if(tables[\"post\"]){readPostScriptTable(tables[\"post\"],properties,numGlyphs);}tables[\"post\"]={tag:\"post\",data:createPostTable(properties)};var charCodeToGlyphId=[],charCode;function hasGlyph(glyphId){return!missingGlyphs[glyphId];}if(properties.composite){var cidToGidMap=properties.cidToGidMap||[];var isCidToGidMapEmpty=cidToGidMap.length===0;properties.cMap.forEach(function(charCode,cid){if(cid>0xffff){throw new _util.FormatError(\"Max size of CID is 65,535\");}var glyphId=-1;if(isCidToGidMapEmpty){glyphId=cid;}else if(cidToGidMap[cid]!==undefined){glyphId=cidToGidMap[cid];}if(glyphId>=0&&glyphId<numGlyphs&&hasGlyph(glyphId)){charCodeToGlyphId[charCode]=glyphId;}});}else{var cmapTable=readCmapTable(tables[\"cmap\"],font,this.isSymbolicFont,properties.hasEncoding);var cmapPlatformId=cmapTable.platformId;var cmapEncodingId=cmapTable.encodingId;var cmapMappings=cmapTable.mappings;var cmapMappingsLength=cmapMappings.length;if(properties.hasEncoding&&(cmapPlatformId===3&&cmapEncodingId===1||cmapPlatformId===1&&cmapEncodingId===0)||cmapPlatformId===-1&&cmapEncodingId===-1&&!!(0,_encodings.getEncoding)(properties.baseEncodingName)){var baseEncoding=[];if(properties.baseEncodingName===\"MacRomanEncoding\"||properties.baseEncodingName===\"WinAnsiEncoding\"){baseEncoding=(0,_encodings.getEncoding)(properties.baseEncodingName);}var glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();for(charCode=0;charCode<256;charCode++){var glyphName,standardGlyphName;if(this.differences&&charCode in this.differences){glyphName=this.differences[charCode];}else if(charCode in baseEncoding&&baseEncoding[charCode]!==\"\"){glyphName=baseEncoding[charCode];}else{glyphName=_encodings.StandardEncoding[charCode];}if(!glyphName){continue;}standardGlyphName=recoverGlyphName(glyphName,glyphsUnicodeMap);var unicodeOrCharCode;if(cmapPlatformId===3&&cmapEncodingId===1){unicodeOrCharCode=glyphsUnicodeMap[standardGlyphName];}else if(cmapPlatformId===1&&cmapEncodingId===0){unicodeOrCharCode=_encodings.MacRomanEncoding.indexOf(standardGlyphName);}var found=false;for(var i=0;i<cmapMappingsLength;++i){if(cmapMappings[i].charCode!==unicodeOrCharCode){continue;}charCodeToGlyphId[charCode]=cmapMappings[i].glyphId;found=true;break;}if(!found&&properties.glyphNames){var glyphId=properties.glyphNames.indexOf(glyphName);if(glyphId===-1&&standardGlyphName!==glyphName){glyphId=properties.glyphNames.indexOf(standardGlyphName);}if(glyphId>0&&hasGlyph(glyphId)){charCodeToGlyphId[charCode]=glyphId;}}}}else if(cmapPlatformId===0&&cmapEncodingId===0){for(var _i21=0;_i21<cmapMappingsLength;++_i21){charCodeToGlyphId[cmapMappings[_i21].charCode]=cmapMappings[_i21].glyphId;}}else{for(var _i22=0;_i22<cmapMappingsLength;++_i22){charCode=cmapMappings[_i22].charCode;if(cmapPlatformId===3&&charCode>=0xf000&&charCode<=0xf0ff){charCode&=0xff;}charCodeToGlyphId[charCode]=cmapMappings[_i22].glyphId;}}}if(charCodeToGlyphId.length===0){charCodeToGlyphId[0]=0;}var glyphZeroId=numGlyphsOut-1;if(!dupFirstEntry){glyphZeroId=0;}var newMapping=adjustMapping(charCodeToGlyphId,hasGlyph,glyphZeroId);this.toFontChar=newMapping.toFontChar;tables[\"cmap\"]={tag:\"cmap\",data:createCmapTable(newMapping.charCodeToGlyphId,numGlyphsOut)};if(!tables[\"OS/2\"]||!validateOS2Table(tables[\"OS/2\"])){tables[\"OS/2\"]={tag:\"OS/2\",data:createOS2Table(properties,newMapping.charCodeToGlyphId,metricsOverride)};}if(!isTrueType){try{cffFile=new _stream.Stream(tables[\"CFF \"].data);var parser=new _cff_parser.CFFParser(cffFile,properties,SEAC_ANALYSIS_ENABLED);cff=parser.parse();cff.duplicateFirstGlyph();var compiler=new _cff_parser.CFFCompiler(cff);tables[\"CFF \"].data=compiler.compile();}catch(e){(0,_util.warn)(\"Failed to compile font \"+properties.loadedName);}}if(!tables[\"name\"]){tables[\"name\"]={tag:\"name\",data:createNameTable(this.name)};}else{var namePrototype=readNameTable(tables[\"name\"]);tables[\"name\"].data=createNameTable(name,namePrototype);}var builder=new OpenTypeFileBuilder(header.version);for(var tableTag in tables){builder.addTable(tableTag,tables[tableTag].data);}return builder.toArray();},convert:function Font_convert(fontName,font,properties){properties.fixedPitch=false;if(properties.builtInEncoding){adjustToUnicode(properties,properties.builtInEncoding);}var glyphZeroId=1;if(font instanceof CFFFont){glyphZeroId=font.numGlyphs-1;}var mapping=font.getGlyphMapping(properties);var newMapping=adjustMapping(mapping,font.hasGlyphId.bind(font),glyphZeroId);this.toFontChar=newMapping.toFontChar;var numGlyphs=font.numGlyphs;function getCharCodes(charCodeToGlyphId,glyphId){var charCodes=null;for(var charCode in charCodeToGlyphId){if(glyphId===charCodeToGlyphId[charCode]){if(!charCodes){charCodes=[];}charCodes.push(charCode|0);}}return charCodes;}function createCharCode(charCodeToGlyphId,glyphId){for(var charCode in charCodeToGlyphId){if(glyphId===charCodeToGlyphId[charCode]){return charCode|0;}}newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode]=glyphId;return newMapping.nextAvailableFontCharCode++;}var seacs=font.seacs;if(SEAC_ANALYSIS_ENABLED&&seacs&&seacs.length){var matrix=properties.fontMatrix||_util.FONT_IDENTITY_MATRIX;var charset=font.getCharset();var seacMap=Object.create(null);for(var glyphId in seacs){glyphId|=0;var seac=seacs[glyphId];var baseGlyphName=_encodings.StandardEncoding[seac[2]];var accentGlyphName=_encodings.StandardEncoding[seac[3]];var baseGlyphId=charset.indexOf(baseGlyphName);var accentGlyphId=charset.indexOf(accentGlyphName);if(baseGlyphId<0||accentGlyphId<0){continue;}var accentOffset={x:seac[0]*matrix[0]+seac[1]*matrix[2]+matrix[4],y:seac[0]*matrix[1]+seac[1]*matrix[3]+matrix[5]};var charCodes=getCharCodes(mapping,glyphId);if(!charCodes){continue;}for(var i=0,ii=charCodes.length;i<ii;i++){var charCode=charCodes[i];var charCodeToGlyphId=newMapping.charCodeToGlyphId;var baseFontCharCode=createCharCode(charCodeToGlyphId,baseGlyphId);var accentFontCharCode=createCharCode(charCodeToGlyphId,accentGlyphId);seacMap[charCode]={baseFontCharCode:baseFontCharCode,accentFontCharCode:accentFontCharCode,accentOffset:accentOffset};}}properties.seacMap=seacMap;}var unitsPerEm=1/(properties.fontMatrix||_util.FONT_IDENTITY_MATRIX)[0];var builder=new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");builder.addTable(\"CFF \",font.data);builder.addTable(\"OS/2\",createOS2Table(properties,newMapping.charCodeToGlyphId));builder.addTable(\"cmap\",createCmapTable(newMapping.charCodeToGlyphId,numGlyphs));builder.addTable(\"head\",\"\\x00\\x01\\x00\\x00\"+\"\\x00\\x00\\x10\\x00\"+\"\\x00\\x00\\x00\\x00\"+\"\\x5F\\x0F\\x3C\\xF5\"+\"\\x00\\x00\"+safeString16(unitsPerEm)+\"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\"+\"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\"+\"\\x00\\x00\"+safeString16(properties.descent)+\"\\x0F\\xFF\"+safeString16(properties.ascent)+string16(properties.italicAngle?2:0)+\"\\x00\\x11\"+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\");builder.addTable(\"hhea\",\"\\x00\\x01\\x00\\x00\"+safeString16(properties.ascent)+safeString16(properties.descent)+\"\\x00\\x00\"+\"\\xFF\\xFF\"+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\"+safeString16(properties.capHeight)+safeString16(Math.tan(properties.italicAngle)*properties.xHeight)+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\"+\"\\x00\\x00\"+string16(numGlyphs));builder.addTable(\"hmtx\",function fontFieldsHmtx(){var charstrings=font.charstrings;var cffWidths=font.cff?font.cff.widths:null;var hmtx=\"\\x00\\x00\\x00\\x00\";for(var i=1,ii=numGlyphs;i<ii;i++){var width=0;if(charstrings){var charstring=charstrings[i-1];width=\"width\"in charstring?charstring.width:0;}else if(cffWidths){width=Math.ceil(cffWidths[i]||0);}hmtx+=string16(width)+string16(0);}return hmtx;}());builder.addTable(\"maxp\",\"\\x00\\x00\\x50\\x00\"+string16(numGlyphs));builder.addTable(\"name\",createNameTable(fontName));builder.addTable(\"post\",createPostTable(properties));return builder.toArray();},get spaceWidth(){if(\"_shadowWidth\"in this){return this._shadowWidth;}var possibleSpaceReplacements=[\"space\",\"minus\",\"one\",\"i\",\"I\"];var width;for(var i=0,ii=possibleSpaceReplacements.length;i<ii;i++){var glyphName=possibleSpaceReplacements[i];if(glyphName in this.widths){width=this.widths[glyphName];break;}var glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();var glyphUnicode=glyphsUnicodeMap[glyphName];var charcode=0;if(this.composite){if(this.cMap.contains(glyphUnicode)){charcode=this.cMap.lookup(glyphUnicode);}}if(!charcode&&this.toUnicode){charcode=this.toUnicode.charCodeOf(glyphUnicode);}if(charcode<=0){charcode=glyphUnicode;}width=this.widths[charcode];if(width){break;}}width=width||this.defaultWidth;this._shadowWidth=width;return width;},charToGlyph:function Font_charToGlyph(charcode,isSpace){var fontCharCode,width,operatorListId;var widthCode=charcode;if(this.cMap&&this.cMap.contains(charcode)){widthCode=this.cMap.lookup(charcode);}width=this.widths[widthCode];width=(0,_util.isNum)(width)?width:this.defaultWidth;var vmetric=this.vmetrics&&this.vmetrics[widthCode];var unicode=this.toUnicode.get(charcode)||this.fallbackToUnicode.get(charcode)||charcode;if(typeof unicode===\"number\"){unicode=String.fromCharCode(unicode);}var isInFont=(charcode in this.toFontChar);fontCharCode=this.toFontChar[charcode]||charcode;if(this.missingFile){var glyphName=this.differences[charcode]||this.defaultEncoding[charcode];if((glyphName===\".notdef\"||glyphName===\"\")&&this.type===\"Type1\"){fontCharCode=0x20;}fontCharCode=(0,_unicode.mapSpecialUnicodeValues)(fontCharCode);}if(this.isType3Font){operatorListId=fontCharCode;}var accent=null;if(this.seacMap&&this.seacMap[charcode]){isInFont=true;var seac=this.seacMap[charcode];fontCharCode=seac.baseFontCharCode;accent={fontChar:String.fromCodePoint(seac.accentFontCharCode),offset:seac.accentOffset};}var fontChar=typeof fontCharCode===\"number\"?String.fromCodePoint(fontCharCode):\"\";var glyph=this.glyphCache[charcode];if(!glyph||!glyph.matchesForCache(fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont)){glyph=new Glyph(fontChar,unicode,accent,width,vmetric,operatorListId,isSpace,isInFont);this.glyphCache[charcode]=glyph;}return glyph;},charsToGlyphs:function Font_charsToGlyphs(chars){var charsCache=this.charsCache;var glyphs,glyph,charcode;if(charsCache){glyphs=charsCache[chars];if(glyphs){return glyphs;}}if(!charsCache){charsCache=this.charsCache=Object.create(null);}glyphs=[];var charsCacheKey=chars;var i=0,ii;if(this.cMap){var c=Object.create(null);while(i<chars.length){this.cMap.readCharCode(chars,i,c);charcode=c.charcode;var length=c.length;i+=length;var isSpace=length===1&&chars.charCodeAt(i-1)===0x20;glyph=this.charToGlyph(charcode,isSpace);glyphs.push(glyph);}}else{for(i=0,ii=chars.length;i<ii;++i){charcode=chars.charCodeAt(i);glyph=this.charToGlyph(charcode,charcode===0x20);glyphs.push(glyph);}}return charsCache[charsCacheKey]=glyphs;},get glyphCacheValues(){return Object.values(this.glyphCache);}};return Font;}();exports.Font=Font;var ErrorFont=function ErrorFontClosure(){function ErrorFont(error){this.error=error;this.loadedName=\"g_font_error\";this.missingFile=true;}ErrorFont.prototype={charsToGlyphs:function ErrorFont_charsToGlyphs(){return[];},exportData:function ErrorFont_exportData(){return{error:this.error};}};return ErrorFont;}();exports.ErrorFont=ErrorFont;function type1FontGlyphMapping(properties,builtInEncoding,glyphNames){var charCodeToGlyphId=Object.create(null);var glyphId,charCode,baseEncoding;var isSymbolicFont=!!(properties.flags&FontFlags.Symbolic);if(properties.baseEncodingName){baseEncoding=(0,_encodings.getEncoding)(properties.baseEncodingName);for(charCode=0;charCode<baseEncoding.length;charCode++){glyphId=glyphNames.indexOf(baseEncoding[charCode]);if(glyphId>=0){charCodeToGlyphId[charCode]=glyphId;}else{charCodeToGlyphId[charCode]=0;}}}else if(isSymbolicFont){for(charCode in builtInEncoding){charCodeToGlyphId[charCode]=builtInEncoding[charCode];}}else{baseEncoding=_encodings.StandardEncoding;for(charCode=0;charCode<baseEncoding.length;charCode++){glyphId=glyphNames.indexOf(baseEncoding[charCode]);if(glyphId>=0){charCodeToGlyphId[charCode]=glyphId;}else{charCodeToGlyphId[charCode]=0;}}}var differences=properties.differences,glyphsUnicodeMap;if(differences){for(charCode in differences){var glyphName=differences[charCode];glyphId=glyphNames.indexOf(glyphName);if(glyphId===-1){if(!glyphsUnicodeMap){glyphsUnicodeMap=(0,_glyphlist.getGlyphsUnicode)();}var standardGlyphName=recoverGlyphName(glyphName,glyphsUnicodeMap);if(standardGlyphName!==glyphName){glyphId=glyphNames.indexOf(standardGlyphName);}}if(glyphId>=0){charCodeToGlyphId[charCode]=glyphId;}else{charCodeToGlyphId[charCode]=0;}}}return charCodeToGlyphId;}var Type1Font=function Type1FontClosure(){function findBlock(streamBytes,signature,startIndex){var streamBytesLength=streamBytes.length;var signatureLength=signature.length;var scanLength=streamBytesLength-signatureLength;var i=startIndex,j,found=false;while(i<scanLength){j=0;while(j<signatureLength&&streamBytes[i+j]===signature[j]){j++;}if(j>=signatureLength){i+=j;while(i<streamBytesLength&&(0,_core_utils.isWhiteSpace)(streamBytes[i])){i++;}found=true;break;}i++;}return{found:found,length:i};}function getHeaderBlock(stream,suggestedLength){var EEXEC_SIGNATURE=[0x65,0x65,0x78,0x65,0x63];var streamStartPos=stream.pos;var headerBytes,headerBytesLength,block;try{headerBytes=stream.getBytes(suggestedLength);headerBytesLength=headerBytes.length;}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}}if(headerBytesLength===suggestedLength){block=findBlock(headerBytes,EEXEC_SIGNATURE,suggestedLength-2*EEXEC_SIGNATURE.length);if(block.found&&block.length===suggestedLength){return{stream:new _stream.Stream(headerBytes),length:suggestedLength};}}(0,_util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');stream.pos=streamStartPos;var SCAN_BLOCK_LENGTH=2048;var actualLength;while(true){var scanBytes=stream.peekBytes(SCAN_BLOCK_LENGTH);block=findBlock(scanBytes,EEXEC_SIGNATURE,0);if(block.length===0){break;}stream.pos+=block.length;if(block.found){actualLength=stream.pos-streamStartPos;break;}}stream.pos=streamStartPos;if(actualLength){return{stream:new _stream.Stream(stream.getBytes(actualLength)),length:actualLength};}(0,_util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');return{stream:new _stream.Stream(stream.getBytes(suggestedLength)),length:suggestedLength};}function getEexecBlock(stream,suggestedLength){var eexecBytes=stream.getBytes();return{stream:new _stream.Stream(eexecBytes),length:eexecBytes.length};}function Type1Font(name,file,properties){var PFB_HEADER_SIZE=6;var headerBlockLength=properties.length1;var eexecBlockLength=properties.length2;var pfbHeader=file.peekBytes(PFB_HEADER_SIZE);var pfbHeaderPresent=pfbHeader[0]===0x80&&pfbHeader[1]===0x01;if(pfbHeaderPresent){file.skip(PFB_HEADER_SIZE);headerBlockLength=pfbHeader[5]<<24|pfbHeader[4]<<16|pfbHeader[3]<<8|pfbHeader[2];}var headerBlock=getHeaderBlock(file,headerBlockLength);var headerBlockParser=new _type1_parser.Type1Parser(headerBlock.stream,false,SEAC_ANALYSIS_ENABLED);headerBlockParser.extractFontHeader(properties);if(pfbHeaderPresent){pfbHeader=file.getBytes(PFB_HEADER_SIZE);eexecBlockLength=pfbHeader[5]<<24|pfbHeader[4]<<16|pfbHeader[3]<<8|pfbHeader[2];}var eexecBlock=getEexecBlock(file,eexecBlockLength);var eexecBlockParser=new _type1_parser.Type1Parser(eexecBlock.stream,true,SEAC_ANALYSIS_ENABLED);var data=eexecBlockParser.extractFontProgram(properties);for(var info in data.properties){properties[info]=data.properties[info];}var charstrings=data.charstrings;var type2Charstrings=this.getType2Charstrings(charstrings);var subrs=this.getType2Subrs(data.subrs);this.charstrings=charstrings;this.data=this.wrap(name,type2Charstrings,this.charstrings,subrs,properties);this.seacs=this.getSeacs(data.charstrings);}Type1Font.prototype={get numGlyphs(){return this.charstrings.length+1;},getCharset:function Type1Font_getCharset(){var charset=[\".notdef\"];var charstrings=this.charstrings;for(var glyphId=0;glyphId<charstrings.length;glyphId++){charset.push(charstrings[glyphId].glyphName);}return charset;},getGlyphMapping:function Type1Font_getGlyphMapping(properties){var charstrings=this.charstrings;var glyphNames=[\".notdef\"],glyphId;for(glyphId=0;glyphId<charstrings.length;glyphId++){glyphNames.push(charstrings[glyphId].glyphName);}var encoding=properties.builtInEncoding;if(encoding){var builtInEncoding=Object.create(null);for(var charCode in encoding){glyphId=glyphNames.indexOf(encoding[charCode]);if(glyphId>=0){builtInEncoding[charCode]=glyphId;}}}return type1FontGlyphMapping(properties,builtInEncoding,glyphNames);},hasGlyphId:function Type1Font_hasGlyphID(id){if(id<0||id>=this.numGlyphs){return false;}if(id===0){return true;}var glyph=this.charstrings[id-1];return glyph.charstring.length>0;},getSeacs:function Type1Font_getSeacs(charstrings){var i,ii;var seacMap=[];for(i=0,ii=charstrings.length;i<ii;i++){var charstring=charstrings[i];if(charstring.seac){seacMap[i+1]=charstring.seac;}}return seacMap;},getType2Charstrings:function Type1Font_getType2Charstrings(type1Charstrings){var type2Charstrings=[];for(var i=0,ii=type1Charstrings.length;i<ii;i++){type2Charstrings.push(type1Charstrings[i].charstring);}return type2Charstrings;},getType2Subrs:function Type1Font_getType2Subrs(type1Subrs){var bias=0;var count=type1Subrs.length;if(count<1133){bias=107;}else if(count<33769){bias=1131;}else{bias=32768;}var type2Subrs=[];var i;for(i=0;i<bias;i++){type2Subrs.push([0x0b]);}for(i=0;i<count;i++){type2Subrs.push(type1Subrs[i]);}return type2Subrs;},wrap:function Type1Font_wrap(name,glyphs,charstrings,subrs,properties){var cff=new _cff_parser.CFF();cff.header=new _cff_parser.CFFHeader(1,0,4,4);cff.names=[name];var topDict=new _cff_parser.CFFTopDict();topDict.setByName(\"version\",391);topDict.setByName(\"Notice\",392);topDict.setByName(\"FullName\",393);topDict.setByName(\"FamilyName\",394);topDict.setByName(\"Weight\",395);topDict.setByName(\"Encoding\",null);topDict.setByName(\"FontMatrix\",properties.fontMatrix);topDict.setByName(\"FontBBox\",properties.bbox);topDict.setByName(\"charset\",null);topDict.setByName(\"CharStrings\",null);topDict.setByName(\"Private\",null);cff.topDict=topDict;var strings=new _cff_parser.CFFStrings();strings.add(\"Version 0.11\");strings.add(\"See original notice\");strings.add(name);strings.add(name);strings.add(\"Medium\");cff.strings=strings;cff.globalSubrIndex=new _cff_parser.CFFIndex();var count=glyphs.length;var charsetArray=[\".notdef\"];var i,ii;for(i=0;i<count;i++){var glyphName=charstrings[i].glyphName;var index=_cff_parser.CFFStandardStrings.indexOf(glyphName);if(index===-1){strings.add(glyphName);}charsetArray.push(glyphName);}cff.charset=new _cff_parser.CFFCharset(false,0,charsetArray);var charStringsIndex=new _cff_parser.CFFIndex();charStringsIndex.add([0x8b,0x0e]);for(i=0;i<count;i++){charStringsIndex.add(glyphs[i]);}cff.charStrings=charStringsIndex;var privateDict=new _cff_parser.CFFPrivateDict();privateDict.setByName(\"Subrs\",null);var fields=[\"BlueValues\",\"OtherBlues\",\"FamilyBlues\",\"FamilyOtherBlues\",\"StemSnapH\",\"StemSnapV\",\"BlueShift\",\"BlueFuzz\",\"BlueScale\",\"LanguageGroup\",\"ExpansionFactor\",\"ForceBold\",\"StdHW\",\"StdVW\"];for(i=0,ii=fields.length;i<ii;i++){var field=fields[i];if(!(field in properties.privateData)){continue;}var value=properties.privateData[field];if(Array.isArray(value)){for(var j=value.length-1;j>0;j--){value[j]-=value[j-1];}}privateDict.setByName(field,value);}cff.topDict.privateDict=privateDict;var subrIndex=new _cff_parser.CFFIndex();for(i=0,ii=subrs.length;i<ii;i++){subrIndex.add(subrs[i]);}privateDict.subrsIndex=subrIndex;var compiler=new _cff_parser.CFFCompiler(cff);return compiler.compile();}};return Type1Font;}();var CFFFont=function CFFFontClosure(){function CFFFont(file,properties){this.properties=properties;var parser=new _cff_parser.CFFParser(file,properties,SEAC_ANALYSIS_ENABLED);this.cff=parser.parse();this.cff.duplicateFirstGlyph();var compiler=new _cff_parser.CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=compiler.compile();}catch(e){(0,_util.warn)(\"Failed to compile font \"+properties.loadedName);this.data=file;}}CFFFont.prototype={get numGlyphs(){return this.cff.charStrings.count;},getCharset:function CFFFont_getCharset(){return this.cff.charset.charset;},getGlyphMapping:function CFFFont_getGlyphMapping(){var cff=this.cff;var properties=this.properties;var charsets=cff.charset.charset;var charCodeToGlyphId;var glyphId;if(properties.composite){charCodeToGlyphId=Object.create(null);var charCode;if(cff.isCIDFont){for(glyphId=0;glyphId<charsets.length;glyphId++){var cid=charsets[glyphId];charCode=properties.cMap.charCodeOf(cid);charCodeToGlyphId[charCode]=glyphId;}}else{for(glyphId=0;glyphId<cff.charStrings.count;glyphId++){charCode=properties.cMap.charCodeOf(glyphId);charCodeToGlyphId[charCode]=glyphId;}}return charCodeToGlyphId;}var encoding=cff.encoding?cff.encoding.encoding:null;charCodeToGlyphId=type1FontGlyphMapping(properties,encoding,charsets);return charCodeToGlyphId;},hasGlyphId:function CFFFont_hasGlyphID(id){return this.cff.hasGlyphId(id);}};return CFFFont;}();/***/},/* 28 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.CFFFDSelect=exports.CFFCompiler=exports.CFFPrivateDict=exports.CFFTopDict=exports.CFFCharset=exports.CFFIndex=exports.CFFStrings=exports.CFFHeader=exports.CFF=exports.CFFParser=exports.CFFStandardStrings=void 0;var _util=__w_pdfjs_require__(2);var _charsets=__w_pdfjs_require__(29);var _encodings=__w_pdfjs_require__(30);var MAX_SUBR_NESTING=10;var CFFStandardStrings=[\".notdef\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quoteright\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"quoteleft\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"exclamdown\",\"cent\",\"sterling\",\"fraction\",\"yen\",\"florin\",\"section\",\"currency\",\"quotesingle\",\"quotedblleft\",\"guillemotleft\",\"guilsinglleft\",\"guilsinglright\",\"fi\",\"fl\",\"endash\",\"dagger\",\"daggerdbl\",\"periodcentered\",\"paragraph\",\"bullet\",\"quotesinglbase\",\"quotedblbase\",\"quotedblright\",\"guillemotright\",\"ellipsis\",\"perthousand\",\"questiondown\",\"grave\",\"acute\",\"circumflex\",\"tilde\",\"macron\",\"breve\",\"dotaccent\",\"dieresis\",\"ring\",\"cedilla\",\"hungarumlaut\",\"ogonek\",\"caron\",\"emdash\",\"AE\",\"ordfeminine\",\"Lslash\",\"Oslash\",\"OE\",\"ordmasculine\",\"ae\",\"dotlessi\",\"lslash\",\"oslash\",\"oe\",\"germandbls\",\"onesuperior\",\"logicalnot\",\"mu\",\"trademark\",\"Eth\",\"onehalf\",\"plusminus\",\"Thorn\",\"onequarter\",\"divide\",\"brokenbar\",\"degree\",\"thorn\",\"threequarters\",\"twosuperior\",\"registered\",\"minus\",\"eth\",\"multiply\",\"threesuperior\",\"copyright\",\"Aacute\",\"Acircumflex\",\"Adieresis\",\"Agrave\",\"Aring\",\"Atilde\",\"Ccedilla\",\"Eacute\",\"Ecircumflex\",\"Edieresis\",\"Egrave\",\"Iacute\",\"Icircumflex\",\"Idieresis\",\"Igrave\",\"Ntilde\",\"Oacute\",\"Ocircumflex\",\"Odieresis\",\"Ograve\",\"Otilde\",\"Scaron\",\"Uacute\",\"Ucircumflex\",\"Udieresis\",\"Ugrave\",\"Yacute\",\"Ydieresis\",\"Zcaron\",\"aacute\",\"acircumflex\",\"adieresis\",\"agrave\",\"aring\",\"atilde\",\"ccedilla\",\"eacute\",\"ecircumflex\",\"edieresis\",\"egrave\",\"iacute\",\"icircumflex\",\"idieresis\",\"igrave\",\"ntilde\",\"oacute\",\"ocircumflex\",\"odieresis\",\"ograve\",\"otilde\",\"scaron\",\"uacute\",\"ucircumflex\",\"udieresis\",\"ugrave\",\"yacute\",\"ydieresis\",\"zcaron\",\"exclamsmall\",\"Hungarumlautsmall\",\"dollaroldstyle\",\"dollarsuperior\",\"ampersandsmall\",\"Acutesmall\",\"parenleftsuperior\",\"parenrightsuperior\",\"twodotenleader\",\"onedotenleader\",\"zerooldstyle\",\"oneoldstyle\",\"twooldstyle\",\"threeoldstyle\",\"fouroldstyle\",\"fiveoldstyle\",\"sixoldstyle\",\"sevenoldstyle\",\"eightoldstyle\",\"nineoldstyle\",\"commasuperior\",\"threequartersemdash\",\"periodsuperior\",\"questionsmall\",\"asuperior\",\"bsuperior\",\"centsuperior\",\"dsuperior\",\"esuperior\",\"isuperior\",\"lsuperior\",\"msuperior\",\"nsuperior\",\"osuperior\",\"rsuperior\",\"ssuperior\",\"tsuperior\",\"ff\",\"ffi\",\"ffl\",\"parenleftinferior\",\"parenrightinferior\",\"Circumflexsmall\",\"hyphensuperior\",\"Gravesmall\",\"Asmall\",\"Bsmall\",\"Csmall\",\"Dsmall\",\"Esmall\",\"Fsmall\",\"Gsmall\",\"Hsmall\",\"Ismall\",\"Jsmall\",\"Ksmall\",\"Lsmall\",\"Msmall\",\"Nsmall\",\"Osmall\",\"Psmall\",\"Qsmall\",\"Rsmall\",\"Ssmall\",\"Tsmall\",\"Usmall\",\"Vsmall\",\"Wsmall\",\"Xsmall\",\"Ysmall\",\"Zsmall\",\"colonmonetary\",\"onefitted\",\"rupiah\",\"Tildesmall\",\"exclamdownsmall\",\"centoldstyle\",\"Lslashsmall\",\"Scaronsmall\",\"Zcaronsmall\",\"Dieresissmall\",\"Brevesmall\",\"Caronsmall\",\"Dotaccentsmall\",\"Macronsmall\",\"figuredash\",\"hypheninferior\",\"Ogoneksmall\",\"Ringsmall\",\"Cedillasmall\",\"questiondownsmall\",\"oneeighth\",\"threeeighths\",\"fiveeighths\",\"seveneighths\",\"onethird\",\"twothirds\",\"zerosuperior\",\"foursuperior\",\"fivesuperior\",\"sixsuperior\",\"sevensuperior\",\"eightsuperior\",\"ninesuperior\",\"zeroinferior\",\"oneinferior\",\"twoinferior\",\"threeinferior\",\"fourinferior\",\"fiveinferior\",\"sixinferior\",\"seveninferior\",\"eightinferior\",\"nineinferior\",\"centinferior\",\"dollarinferior\",\"periodinferior\",\"commainferior\",\"Agravesmall\",\"Aacutesmall\",\"Acircumflexsmall\",\"Atildesmall\",\"Adieresissmall\",\"Aringsmall\",\"AEsmall\",\"Ccedillasmall\",\"Egravesmall\",\"Eacutesmall\",\"Ecircumflexsmall\",\"Edieresissmall\",\"Igravesmall\",\"Iacutesmall\",\"Icircumflexsmall\",\"Idieresissmall\",\"Ethsmall\",\"Ntildesmall\",\"Ogravesmall\",\"Oacutesmall\",\"Ocircumflexsmall\",\"Otildesmall\",\"Odieresissmall\",\"OEsmall\",\"Oslashsmall\",\"Ugravesmall\",\"Uacutesmall\",\"Ucircumflexsmall\",\"Udieresissmall\",\"Yacutesmall\",\"Thornsmall\",\"Ydieresissmall\",\"001.000\",\"001.001\",\"001.002\",\"001.003\",\"Black\",\"Bold\",\"Book\",\"Light\",\"Medium\",\"Regular\",\"Roman\",\"Semibold\"];exports.CFFStandardStrings=CFFStandardStrings;var NUM_STANDARD_CFF_STRINGS=391;var CFFParser=function CFFParserClosure(){var CharstringValidationData=[null,{id:\"hstem\",min:2,stackClearing:true,stem:true},null,{id:\"vstem\",min:2,stackClearing:true,stem:true},{id:\"vmoveto\",min:1,stackClearing:true},{id:\"rlineto\",min:2,resetStack:true},{id:\"hlineto\",min:1,resetStack:true},{id:\"vlineto\",min:1,resetStack:true},{id:\"rrcurveto\",min:6,resetStack:true},null,{id:\"callsubr\",min:1,undefStack:true},{id:\"return\",min:0,undefStack:true},null,null,{id:\"endchar\",min:0,stackClearing:true},null,null,null,{id:\"hstemhm\",min:2,stackClearing:true,stem:true},{id:\"hintmask\",min:0,stackClearing:true},{id:\"cntrmask\",min:0,stackClearing:true},{id:\"rmoveto\",min:2,stackClearing:true},{id:\"hmoveto\",min:1,stackClearing:true},{id:\"vstemhm\",min:2,stackClearing:true,stem:true},{id:\"rcurveline\",min:8,resetStack:true},{id:\"rlinecurve\",min:8,resetStack:true},{id:\"vvcurveto\",min:4,resetStack:true},{id:\"hhcurveto\",min:4,resetStack:true},null,{id:\"callgsubr\",min:1,undefStack:true},{id:\"vhcurveto\",min:4,resetStack:true},{id:\"hvcurveto\",min:4,resetStack:true}];var CharstringValidationData12=[null,null,null,{id:\"and\",min:2,stackDelta:-1},{id:\"or\",min:2,stackDelta:-1},{id:\"not\",min:1,stackDelta:0},null,null,null,{id:\"abs\",min:1,stackDelta:0},{id:\"add\",min:2,stackDelta:-1,stackFn:function stack_div(stack,index){stack[index-2]=stack[index-2]+stack[index-1];}},{id:\"sub\",min:2,stackDelta:-1,stackFn:function stack_div(stack,index){stack[index-2]=stack[index-2]-stack[index-1];}},{id:\"div\",min:2,stackDelta:-1,stackFn:function stack_div(stack,index){stack[index-2]=stack[index-2]/stack[index-1];}},null,{id:\"neg\",min:1,stackDelta:0,stackFn:function stack_div(stack,index){stack[index-1]=-stack[index-1];}},{id:\"eq\",min:2,stackDelta:-1},null,null,{id:\"drop\",min:1,stackDelta:-1},null,{id:\"put\",min:2,stackDelta:-2},{id:\"get\",min:1,stackDelta:0},{id:\"ifelse\",min:4,stackDelta:-3},{id:\"random\",min:0,stackDelta:1},{id:\"mul\",min:2,stackDelta:-1,stackFn:function stack_div(stack,index){stack[index-2]=stack[index-2]*stack[index-1];}},null,{id:\"sqrt\",min:1,stackDelta:0},{id:\"dup\",min:1,stackDelta:1},{id:\"exch\",min:2,stackDelta:0},{id:\"index\",min:2,stackDelta:0},{id:\"roll\",min:3,stackDelta:-2},null,null,null,{id:\"hflex\",min:7,resetStack:true},{id:\"flex\",min:13,resetStack:true},{id:\"hflex1\",min:9,resetStack:true},{id:\"flex1\",min:11,resetStack:true}];function CFFParser(file,properties,seacAnalysisEnabled){this.bytes=file.getBytes();this.properties=properties;this.seacAnalysisEnabled=!!seacAnalysisEnabled;}CFFParser.prototype={parse:function CFFParser_parse(){var properties=this.properties;var cff=new CFF();this.cff=cff;var header=this.parseHeader();var nameIndex=this.parseIndex(header.endPos);var topDictIndex=this.parseIndex(nameIndex.endPos);var stringIndex=this.parseIndex(topDictIndex.endPos);var globalSubrIndex=this.parseIndex(stringIndex.endPos);var topDictParsed=this.parseDict(topDictIndex.obj.get(0));var topDict=this.createDict(CFFTopDict,topDictParsed,cff.strings);cff.header=header.obj;cff.names=this.parseNameIndex(nameIndex.obj);cff.strings=this.parseStringIndex(stringIndex.obj);cff.topDict=topDict;cff.globalSubrIndex=globalSubrIndex.obj;this.parsePrivateDict(cff.topDict);cff.isCIDFont=topDict.hasName(\"ROS\");var charStringOffset=topDict.getByName(\"CharStrings\");var charStringIndex=this.parseIndex(charStringOffset).obj;var fontMatrix=topDict.getByName(\"FontMatrix\");if(fontMatrix){properties.fontMatrix=fontMatrix;}var fontBBox=topDict.getByName(\"FontBBox\");if(fontBBox){properties.ascent=Math.max(fontBBox[3],fontBBox[1]);properties.descent=Math.min(fontBBox[1],fontBBox[3]);properties.ascentScaled=true;}var charset,encoding;if(cff.isCIDFont){var fdArrayIndex=this.parseIndex(topDict.getByName(\"FDArray\")).obj;for(var i=0,ii=fdArrayIndex.count;i<ii;++i){var dictRaw=fdArrayIndex.get(i);var fontDict=this.createDict(CFFTopDict,this.parseDict(dictRaw),cff.strings);this.parsePrivateDict(fontDict);cff.fdArray.push(fontDict);}encoding=null;charset=this.parseCharsets(topDict.getByName(\"charset\"),charStringIndex.count,cff.strings,true);cff.fdSelect=this.parseFDSelect(topDict.getByName(\"FDSelect\"),charStringIndex.count);}else{charset=this.parseCharsets(topDict.getByName(\"charset\"),charStringIndex.count,cff.strings,false);encoding=this.parseEncoding(topDict.getByName(\"Encoding\"),properties,cff.strings,charset.charset);}cff.charset=charset;cff.encoding=encoding;var charStringsAndSeacs=this.parseCharStrings({charStrings:charStringIndex,localSubrIndex:topDict.privateDict.subrsIndex,globalSubrIndex:globalSubrIndex.obj,fdSelect:cff.fdSelect,fdArray:cff.fdArray,privateDict:topDict.privateDict});cff.charStrings=charStringsAndSeacs.charStrings;cff.seacs=charStringsAndSeacs.seacs;cff.widths=charStringsAndSeacs.widths;return cff;},parseHeader:function CFFParser_parseHeader(){var bytes=this.bytes;var bytesLength=bytes.length;var offset=0;while(offset<bytesLength&&bytes[offset]!==1){++offset;}if(offset>=bytesLength){throw new _util.FormatError(\"Invalid CFF header\");}if(offset!==0){(0,_util.info)(\"cff data is shifted\");bytes=bytes.subarray(offset);this.bytes=bytes;}var major=bytes[0];var minor=bytes[1];var hdrSize=bytes[2];var offSize=bytes[3];var header=new CFFHeader(major,minor,hdrSize,offSize);return{obj:header,endPos:hdrSize};},parseDict:function CFFParser_parseDict(dict){var pos=0;function parseOperand(){var value=dict[pos++];if(value===30){return parseFloatOperand();}else if(value===28){value=dict[pos++];value=(value<<24|dict[pos++]<<16)>>16;return value;}else if(value===29){value=dict[pos++];value=value<<8|dict[pos++];value=value<<8|dict[pos++];value=value<<8|dict[pos++];return value;}else if(value>=32&&value<=246){return value-139;}else if(value>=247&&value<=250){return(value-247)*256+dict[pos++]+108;}else if(value>=251&&value<=254){return-((value-251)*256)-dict[pos++]-108;}(0,_util.warn)('CFFParser_parseDict: \"'+value+'\" is a reserved command.');return NaN;}function parseFloatOperand(){var str=\"\";var eof=15;var lookup=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\".\",\"E\",\"E-\",null,\"-\"];var length=dict.length;while(pos<length){var b=dict[pos++];var b1=b>>4;var b2=b&15;if(b1===eof){break;}str+=lookup[b1];if(b2===eof){break;}str+=lookup[b2];}return parseFloat(str);}var operands=[];var entries=[];pos=0;var end=dict.length;while(pos<end){var b=dict[pos];if(b<=21){if(b===12){b=b<<8|dict[++pos];}entries.push([b,operands]);operands=[];++pos;}else{operands.push(parseOperand());}}return entries;},parseIndex:function CFFParser_parseIndex(pos){var cffIndex=new CFFIndex();var bytes=this.bytes;var count=bytes[pos++]<<8|bytes[pos++];var offsets=[];var end=pos;var i,ii;if(count!==0){var offsetSize=bytes[pos++];var startPos=pos+(count+1)*offsetSize-1;for(i=0,ii=count+1;i<ii;++i){var offset=0;for(var j=0;j<offsetSize;++j){offset<<=8;offset+=bytes[pos++];}offsets.push(startPos+offset);}end=offsets[count];}for(i=0,ii=offsets.length-1;i<ii;++i){var offsetStart=offsets[i];var offsetEnd=offsets[i+1];cffIndex.add(bytes.subarray(offsetStart,offsetEnd));}return{obj:cffIndex,endPos:end};},parseNameIndex:function CFFParser_parseNameIndex(index){var names=[];for(var i=0,ii=index.count;i<ii;++i){var name=index.get(i);names.push((0,_util.bytesToString)(name));}return names;},parseStringIndex:function CFFParser_parseStringIndex(index){var strings=new CFFStrings();for(var i=0,ii=index.count;i<ii;++i){var data=index.get(i);strings.add((0,_util.bytesToString)(data));}return strings;},createDict:function CFFParser_createDict(Type,dict,strings){var cffDict=new Type(strings);for(var i=0,ii=dict.length;i<ii;++i){var pair=dict[i];var key=pair[0];var value=pair[1];cffDict.setByKey(key,value);}return cffDict;},parseCharString:function CFFParser_parseCharString(state,data,localSubrIndex,globalSubrIndex){if(!data||state.callDepth>MAX_SUBR_NESTING){return false;}var stackSize=state.stackSize;var stack=state.stack;var length=data.length;for(var j=0;j<length;){var value=data[j++];var validationCommand=null;if(value===12){var q=data[j++];if(q===0){data[j-2]=139;data[j-1]=22;stackSize=0;}else{validationCommand=CharstringValidationData12[q];}}else if(value===28){stack[stackSize]=(data[j]<<24|data[j+1]<<16)>>16;j+=2;stackSize++;}else if(value===14){if(stackSize>=4){stackSize-=4;if(this.seacAnalysisEnabled){state.seac=stack.slice(stackSize,stackSize+4);return false;}}validationCommand=CharstringValidationData[value];}else if(value>=32&&value<=246){stack[stackSize]=value-139;stackSize++;}else if(value>=247&&value<=254){stack[stackSize]=value<251?(value-247<<8)+data[j]+108:-(value-251<<8)-data[j]-108;j++;stackSize++;}else if(value===255){stack[stackSize]=(data[j]<<24|data[j+1]<<16|data[j+2]<<8|data[j+3])/65536;j+=4;stackSize++;}else if(value===19||value===20){state.hints+=stackSize>>1;j+=state.hints+7>>3;stackSize%=2;validationCommand=CharstringValidationData[value];}else if(value===10||value===29){var subrsIndex;if(value===10){subrsIndex=localSubrIndex;}else{subrsIndex=globalSubrIndex;}if(!subrsIndex){validationCommand=CharstringValidationData[value];(0,_util.warn)(\"Missing subrsIndex for \"+validationCommand.id);return false;}var bias=32768;if(subrsIndex.count<1240){bias=107;}else if(subrsIndex.count<33900){bias=1131;}var subrNumber=stack[--stackSize]+bias;if(subrNumber<0||subrNumber>=subrsIndex.count||isNaN(subrNumber)){validationCommand=CharstringValidationData[value];(0,_util.warn)(\"Out of bounds subrIndex for \"+validationCommand.id);return false;}state.stackSize=stackSize;state.callDepth++;var valid=this.parseCharString(state,subrsIndex.get(subrNumber),localSubrIndex,globalSubrIndex);if(!valid){return false;}state.callDepth--;stackSize=state.stackSize;continue;}else if(value===11){state.stackSize=stackSize;return true;}else{validationCommand=CharstringValidationData[value];}if(validationCommand){if(validationCommand.stem){state.hints+=stackSize>>1;if(value===3||value===23){state.hasVStems=true;}else if(state.hasVStems&&(value===1||value===18)){(0,_util.warn)(\"CFF stem hints are in wrong order\");data[j-1]=value===1?3:23;}}if(\"min\"in validationCommand){if(!state.undefStack&&stackSize<validationCommand.min){(0,_util.warn)(\"Not enough parameters for \"+validationCommand.id+\"; actual: \"+stackSize+\", expected: \"+validationCommand.min);return false;}}if(state.firstStackClearing&&validationCommand.stackClearing){state.firstStackClearing=false;stackSize-=validationCommand.min;if(stackSize>=2&&validationCommand.stem){stackSize%=2;}else if(stackSize>1){(0,_util.warn)(\"Found too many parameters for stack-clearing command\");}if(stackSize>0&&stack[stackSize-1]>=0){state.width=stack[stackSize-1];}}if(\"stackDelta\"in validationCommand){if(\"stackFn\"in validationCommand){validationCommand.stackFn(stack,stackSize);}stackSize+=validationCommand.stackDelta;}else if(validationCommand.stackClearing){stackSize=0;}else if(validationCommand.resetStack){stackSize=0;state.undefStack=false;}else if(validationCommand.undefStack){stackSize=0;state.undefStack=true;state.firstStackClearing=false;}}}state.stackSize=stackSize;return true;},parseCharStrings:function parseCharStrings(_ref29){var charStrings=_ref29.charStrings,localSubrIndex=_ref29.localSubrIndex,globalSubrIndex=_ref29.globalSubrIndex,fdSelect=_ref29.fdSelect,fdArray=_ref29.fdArray,privateDict=_ref29.privateDict;var seacs=[];var widths=[];var count=charStrings.count;for(var i=0;i<count;i++){var charstring=charStrings.get(i);var state={callDepth:0,stackSize:0,stack:[],undefStack:true,hints:0,firstStackClearing:true,seac:null,width:null,hasVStems:false};var valid=true;var localSubrToUse=null;var privateDictToUse=privateDict;if(fdSelect&&fdArray.length){var fdIndex=fdSelect.getFDIndex(i);if(fdIndex===-1){(0,_util.warn)(\"Glyph index is not in fd select.\");valid=false;}if(fdIndex>=fdArray.length){(0,_util.warn)(\"Invalid fd index for glyph index.\");valid=false;}if(valid){privateDictToUse=fdArray[fdIndex].privateDict;localSubrToUse=privateDictToUse.subrsIndex;}}else if(localSubrIndex){localSubrToUse=localSubrIndex;}if(valid){valid=this.parseCharString(state,charstring,localSubrToUse,globalSubrIndex);}if(state.width!==null){var nominalWidth=privateDictToUse.getByName(\"nominalWidthX\");widths[i]=nominalWidth+state.width;}else{var defaultWidth=privateDictToUse.getByName(\"defaultWidthX\");widths[i]=defaultWidth;}if(state.seac!==null){seacs[i]=state.seac;}if(!valid){charStrings.set(i,new Uint8Array([14]));}}return{charStrings:charStrings,seacs:seacs,widths:widths};},emptyPrivateDictionary:function CFFParser_emptyPrivateDictionary(parentDict){var privateDict=this.createDict(CFFPrivateDict,[],parentDict.strings);parentDict.setByKey(18,[0,0]);parentDict.privateDict=privateDict;},parsePrivateDict:function CFFParser_parsePrivateDict(parentDict){if(!parentDict.hasName(\"Private\")){this.emptyPrivateDictionary(parentDict);return;}var privateOffset=parentDict.getByName(\"Private\");if(!Array.isArray(privateOffset)||privateOffset.length!==2){parentDict.removeByName(\"Private\");return;}var size=privateOffset[0];var offset=privateOffset[1];if(size===0||offset>=this.bytes.length){this.emptyPrivateDictionary(parentDict);return;}var privateDictEnd=offset+size;var dictData=this.bytes.subarray(offset,privateDictEnd);var dict=this.parseDict(dictData);var privateDict=this.createDict(CFFPrivateDict,dict,parentDict.strings);parentDict.privateDict=privateDict;if(!privateDict.getByName(\"Subrs\")){return;}var subrsOffset=privateDict.getByName(\"Subrs\");var relativeOffset=offset+subrsOffset;if(subrsOffset===0||relativeOffset>=this.bytes.length){this.emptyPrivateDictionary(parentDict);return;}var subrsIndex=this.parseIndex(relativeOffset);privateDict.subrsIndex=subrsIndex.obj;},parseCharsets:function CFFParser_parseCharsets(pos,length,strings,cid){if(pos===0){return new CFFCharset(true,CFFCharsetPredefinedTypes.ISO_ADOBE,_charsets.ISOAdobeCharset);}else if(pos===1){return new CFFCharset(true,CFFCharsetPredefinedTypes.EXPERT,_charsets.ExpertCharset);}else if(pos===2){return new CFFCharset(true,CFFCharsetPredefinedTypes.EXPERT_SUBSET,_charsets.ExpertSubsetCharset);}var bytes=this.bytes;var start=pos;var format=bytes[pos++];var charset=[\".notdef\"];var id,count,i;length-=1;switch(format){case 0:for(i=0;i<length;i++){id=bytes[pos++]<<8|bytes[pos++];charset.push(cid?id:strings.get(id));}break;case 1:while(charset.length<=length){id=bytes[pos++]<<8|bytes[pos++];count=bytes[pos++];for(i=0;i<=count;i++){charset.push(cid?id++:strings.get(id++));}}break;case 2:while(charset.length<=length){id=bytes[pos++]<<8|bytes[pos++];count=bytes[pos++]<<8|bytes[pos++];for(i=0;i<=count;i++){charset.push(cid?id++:strings.get(id++));}}break;default:throw new _util.FormatError(\"Unknown charset format\");}var end=pos;var raw=bytes.subarray(start,end);return new CFFCharset(false,format,charset,raw);},parseEncoding:function CFFParser_parseEncoding(pos,properties,strings,charset){var encoding=Object.create(null);var bytes=this.bytes;var predefined=false;var format,i,ii;var raw=null;function readSupplement(){var supplementsCount=bytes[pos++];for(i=0;i<supplementsCount;i++){var code=bytes[pos++];var sid=(bytes[pos++]<<8)+(bytes[pos++]&0xff);encoding[code]=charset.indexOf(strings.get(sid));}}if(pos===0||pos===1){predefined=true;format=pos;var baseEncoding=pos?_encodings.ExpertEncoding:_encodings.StandardEncoding;for(i=0,ii=charset.length;i<ii;i++){var index=baseEncoding.indexOf(charset[i]);if(index!==-1){encoding[index]=i;}}}else{var dataStart=pos;format=bytes[pos++];switch(format&0x7f){case 0:var glyphsCount=bytes[pos++];for(i=1;i<=glyphsCount;i++){encoding[bytes[pos++]]=i;}break;case 1:var rangesCount=bytes[pos++];var gid=1;for(i=0;i<rangesCount;i++){var start=bytes[pos++];var left=bytes[pos++];for(var j=start;j<=start+left;j++){encoding[j]=gid++;}}break;default:throw new _util.FormatError(\"Unknown encoding format: \".concat(format,\" in CFF\"));}var dataEnd=pos;if(format&0x80){bytes[dataStart]&=0x7f;readSupplement();}raw=bytes.subarray(dataStart,dataEnd);}format=format&0x7f;return new CFFEncoding(predefined,format,encoding,raw);},parseFDSelect:function CFFParser_parseFDSelect(pos,length){var bytes=this.bytes;var format=bytes[pos++];var fdSelect=[];var i;switch(format){case 0:for(i=0;i<length;++i){var id=bytes[pos++];fdSelect.push(id);}break;case 3:var rangesCount=bytes[pos++]<<8|bytes[pos++];for(i=0;i<rangesCount;++i){var first=bytes[pos++]<<8|bytes[pos++];if(i===0&&first!==0){(0,_util.warn)(\"parseFDSelect: The first range must have a first GID of 0\"+\" -- trying to recover.\");first=0;}var fdIndex=bytes[pos++];var next=bytes[pos]<<8|bytes[pos+1];for(var j=first;j<next;++j){fdSelect.push(fdIndex);}}pos+=2;break;default:throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format,\"\\\".\"));}if(fdSelect.length!==length){throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");}return new CFFFDSelect(format,fdSelect);}};return CFFParser;}();exports.CFFParser=CFFParser;var CFF=function CFFClosure(){function CFF(){this.header=null;this.names=[];this.topDict=null;this.strings=new CFFStrings();this.globalSubrIndex=null;this.encoding=null;this.charset=null;this.charStrings=null;this.fdArray=[];this.fdSelect=null;this.isCIDFont=false;}CFF.prototype={duplicateFirstGlyph:function CFF_duplicateFirstGlyph(){if(this.charStrings.count>=65535){(0,_util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");return;}var glyphZero=this.charStrings.get(0);this.charStrings.add(glyphZero);if(this.isCIDFont){this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);}},hasGlyphId:function CFF_hasGlyphID(id){if(id<0||id>=this.charStrings.count){return false;}var glyph=this.charStrings.get(id);return glyph.length>0;}};return CFF;}();exports.CFF=CFF;var CFFHeader=function CFFHeaderClosure(){function CFFHeader(major,minor,hdrSize,offSize){this.major=major;this.minor=minor;this.hdrSize=hdrSize;this.offSize=offSize;}return CFFHeader;}();exports.CFFHeader=CFFHeader;var CFFStrings=function CFFStringsClosure(){function CFFStrings(){this.strings=[];}CFFStrings.prototype={get:function CFFStrings_get(index){if(index>=0&&index<=NUM_STANDARD_CFF_STRINGS-1){return CFFStandardStrings[index];}if(index-NUM_STANDARD_CFF_STRINGS<=this.strings.length){return this.strings[index-NUM_STANDARD_CFF_STRINGS];}return CFFStandardStrings[0];},getSID:function CFFStrings_getSID(str){var index=CFFStandardStrings.indexOf(str);if(index!==-1){return index;}index=this.strings.indexOf(str);if(index!==-1){return index+NUM_STANDARD_CFF_STRINGS;}return-1;},add:function CFFStrings_add(value){this.strings.push(value);},get count(){return this.strings.length;}};return CFFStrings;}();exports.CFFStrings=CFFStrings;var CFFIndex=function CFFIndexClosure(){function CFFIndex(){this.objects=[];this.length=0;}CFFIndex.prototype={add:function CFFIndex_add(data){this.length+=data.length;this.objects.push(data);},set:function CFFIndex_set(index,data){this.length+=data.length-this.objects[index].length;this.objects[index]=data;},get:function CFFIndex_get(index){return this.objects[index];},get count(){return this.objects.length;}};return CFFIndex;}();exports.CFFIndex=CFFIndex;var CFFDict=function CFFDictClosure(){function CFFDict(tables,strings){this.keyToNameMap=tables.keyToNameMap;this.nameToKeyMap=tables.nameToKeyMap;this.defaults=tables.defaults;this.types=tables.types;this.opcodes=tables.opcodes;this.order=tables.order;this.strings=strings;this.values=Object.create(null);}CFFDict.prototype={setByKey:function CFFDict_setByKey(key,value){if(!(key in this.keyToNameMap)){return false;}var valueLength=value.length;if(valueLength===0){return true;}for(var i=0;i<valueLength;i++){if(isNaN(value[i])){(0,_util.warn)('Invalid CFFDict value: \"'+value+'\" for key \"'+key+'\".');return true;}}var type=this.types[key];if(type===\"num\"||type===\"sid\"||type===\"offset\"){value=value[0];}this.values[key]=value;return true;},setByName:function CFFDict_setByName(name,value){if(!(name in this.nameToKeyMap)){throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name,\"\\\"\"));}this.values[this.nameToKeyMap[name]]=value;},hasName:function CFFDict_hasName(name){return this.nameToKeyMap[name]in this.values;},getByName:function CFFDict_getByName(name){if(!(name in this.nameToKeyMap)){throw new _util.FormatError(\"Invalid dictionary name \".concat(name,\"\\\"\"));}var key=this.nameToKeyMap[name];if(!(key in this.values)){return this.defaults[key];}return this.values[key];},removeByName:function CFFDict_removeByName(name){delete this.values[this.nameToKeyMap[name]];}};CFFDict.createTables=function CFFDict_createTables(layout){var tables={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(var i=0,ii=layout.length;i<ii;++i){var entry=layout[i];var key=Array.isArray(entry[0])?(entry[0][0]<<8)+entry[0][1]:entry[0];tables.keyToNameMap[key]=entry[1];tables.nameToKeyMap[entry[1]]=key;tables.types[key]=entry[2];tables.defaults[key]=entry[3];tables.opcodes[key]=Array.isArray(entry[0])?entry[0]:[entry[0]];tables.order.push(key);}return tables;};return CFFDict;}();var CFFTopDict=function CFFTopDictClosure(){var layout=[[[12,30],\"ROS\",[\"sid\",\"sid\",\"num\"],null],[[12,20],\"SyntheticBase\",\"num\",null],[0,\"version\",\"sid\",null],[1,\"Notice\",\"sid\",null],[[12,0],\"Copyright\",\"sid\",null],[2,\"FullName\",\"sid\",null],[3,\"FamilyName\",\"sid\",null],[4,\"Weight\",\"sid\",null],[[12,1],\"isFixedPitch\",\"num\",0],[[12,2],\"ItalicAngle\",\"num\",0],[[12,3],\"UnderlinePosition\",\"num\",-100],[[12,4],\"UnderlineThickness\",\"num\",50],[[12,5],\"PaintType\",\"num\",0],[[12,6],\"CharstringType\",\"num\",2],[[12,7],\"FontMatrix\",[\"num\",\"num\",\"num\",\"num\",\"num\",\"num\"],[0.001,0,0,0.001,0,0]],[13,\"UniqueID\",\"num\",null],[5,\"FontBBox\",[\"num\",\"num\",\"num\",\"num\"],[0,0,0,0]],[[12,8],\"StrokeWidth\",\"num\",0],[14,\"XUID\",\"array\",null],[15,\"charset\",\"offset\",0],[16,\"Encoding\",\"offset\",0],[17,\"CharStrings\",\"offset\",0],[18,\"Private\",[\"offset\",\"offset\"],null],[[12,21],\"PostScript\",\"sid\",null],[[12,22],\"BaseFontName\",\"sid\",null],[[12,23],\"BaseFontBlend\",\"delta\",null],[[12,31],\"CIDFontVersion\",\"num\",0],[[12,32],\"CIDFontRevision\",\"num\",0],[[12,33],\"CIDFontType\",\"num\",0],[[12,34],\"CIDCount\",\"num\",8720],[[12,35],\"UIDBase\",\"num\",null],[[12,37],\"FDSelect\",\"offset\",null],[[12,36],\"FDArray\",\"offset\",null],[[12,38],\"FontName\",\"sid\",null]];var tables=null;function CFFTopDict(strings){if(tables===null){tables=CFFDict.createTables(layout);}CFFDict.call(this,tables,strings);this.privateDict=null;}CFFTopDict.prototype=Object.create(CFFDict.prototype);return CFFTopDict;}();exports.CFFTopDict=CFFTopDict;var CFFPrivateDict=function CFFPrivateDictClosure(){var layout=[[6,\"BlueValues\",\"delta\",null],[7,\"OtherBlues\",\"delta\",null],[8,\"FamilyBlues\",\"delta\",null],[9,\"FamilyOtherBlues\",\"delta\",null],[[12,9],\"BlueScale\",\"num\",0.039625],[[12,10],\"BlueShift\",\"num\",7],[[12,11],\"BlueFuzz\",\"num\",1],[10,\"StdHW\",\"num\",null],[11,\"StdVW\",\"num\",null],[[12,12],\"StemSnapH\",\"delta\",null],[[12,13],\"StemSnapV\",\"delta\",null],[[12,14],\"ForceBold\",\"num\",0],[[12,17],\"LanguageGroup\",\"num\",0],[[12,18],\"ExpansionFactor\",\"num\",0.06],[[12,19],\"initialRandomSeed\",\"num\",0],[20,\"defaultWidthX\",\"num\",0],[21,\"nominalWidthX\",\"num\",0],[19,\"Subrs\",\"offset\",null]];var tables=null;function CFFPrivateDict(strings){if(tables===null){tables=CFFDict.createTables(layout);}CFFDict.call(this,tables,strings);this.subrsIndex=null;}CFFPrivateDict.prototype=Object.create(CFFDict.prototype);return CFFPrivateDict;}();exports.CFFPrivateDict=CFFPrivateDict;var CFFCharsetPredefinedTypes={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};var CFFCharset=function CFFCharsetClosure(){function CFFCharset(predefined,format,charset,raw){this.predefined=predefined;this.format=format;this.charset=charset;this.raw=raw;}return CFFCharset;}();exports.CFFCharset=CFFCharset;var CFFEncoding=function CFFEncodingClosure(){function CFFEncoding(predefined,format,encoding,raw){this.predefined=predefined;this.format=format;this.encoding=encoding;this.raw=raw;}return CFFEncoding;}();var CFFFDSelect=function CFFFDSelectClosure(){function CFFFDSelect(format,fdSelect){this.format=format;this.fdSelect=fdSelect;}CFFFDSelect.prototype={getFDIndex:function CFFFDSelect_get(glyphIndex){if(glyphIndex<0||glyphIndex>=this.fdSelect.length){return-1;}return this.fdSelect[glyphIndex];}};return CFFFDSelect;}();exports.CFFFDSelect=CFFFDSelect;var CFFOffsetTracker=function CFFOffsetTrackerClosure(){function CFFOffsetTracker(){this.offsets=Object.create(null);}CFFOffsetTracker.prototype={isTracking:function CFFOffsetTracker_isTracking(key){return key in this.offsets;},track:function CFFOffsetTracker_track(key,location){if(key in this.offsets){throw new _util.FormatError(\"Already tracking location of \".concat(key));}this.offsets[key]=location;},offset:function CFFOffsetTracker_offset(value){for(var key in this.offsets){this.offsets[key]+=value;}},setEntryLocation:function CFFOffsetTracker_setEntryLocation(key,values,output){if(!(key in this.offsets)){throw new _util.FormatError(\"Not tracking location of \".concat(key));}var data=output.data;var dataOffset=this.offsets[key];var size=5;for(var i=0,ii=values.length;i<ii;++i){var offset0=i*size+dataOffset;var offset1=offset0+1;var offset2=offset0+2;var offset3=offset0+3;var offset4=offset0+4;if(data[offset0]!==0x1d||data[offset1]!==0||data[offset2]!==0||data[offset3]!==0||data[offset4]!==0){throw new _util.FormatError(\"writing to an offset that is not empty\");}var value=values[i];data[offset0]=0x1d;data[offset1]=value>>24&0xff;data[offset2]=value>>16&0xff;data[offset3]=value>>8&0xff;data[offset4]=value&0xff;}}};return CFFOffsetTracker;}();var CFFCompiler=function CFFCompilerClosure(){function CFFCompiler(cff){this.cff=cff;}CFFCompiler.prototype={compile:function CFFCompiler_compile(){var cff=this.cff;var output={data:[],length:0,add:function CFFCompiler_add(data){this.data=this.data.concat(data);this.length=this.data.length;}};var header=this.compileHeader(cff.header);output.add(header);var nameIndex=this.compileNameIndex(cff.names);output.add(nameIndex);if(cff.isCIDFont){if(cff.topDict.hasName(\"FontMatrix\")){var base=cff.topDict.getByName(\"FontMatrix\");cff.topDict.removeByName(\"FontMatrix\");for(var i=0,ii=cff.fdArray.length;i<ii;i++){var subDict=cff.fdArray[i];var matrix=base.slice(0);if(subDict.hasName(\"FontMatrix\")){matrix=_util.Util.transform(matrix,subDict.getByName(\"FontMatrix\"));}subDict.setByName(\"FontMatrix\",matrix);}}}cff.topDict.setByName(\"charset\",0);var compiled=this.compileTopDicts([cff.topDict],output.length,cff.isCIDFont);output.add(compiled.output);var topDictTracker=compiled.trackers[0];var stringIndex=this.compileStringIndex(cff.strings.strings);output.add(stringIndex);var globalSubrIndex=this.compileIndex(cff.globalSubrIndex);output.add(globalSubrIndex);if(cff.encoding&&cff.topDict.hasName(\"Encoding\")){if(cff.encoding.predefined){topDictTracker.setEntryLocation(\"Encoding\",[cff.encoding.format],output);}else{var encoding=this.compileEncoding(cff.encoding);topDictTracker.setEntryLocation(\"Encoding\",[output.length],output);output.add(encoding);}}var charset=this.compileCharset(cff.charset,cff.charStrings.count,cff.strings,cff.isCIDFont);topDictTracker.setEntryLocation(\"charset\",[output.length],output);output.add(charset);var charStrings=this.compileCharStrings(cff.charStrings);topDictTracker.setEntryLocation(\"CharStrings\",[output.length],output);output.add(charStrings);if(cff.isCIDFont){topDictTracker.setEntryLocation(\"FDSelect\",[output.length],output);var fdSelect=this.compileFDSelect(cff.fdSelect);output.add(fdSelect);compiled=this.compileTopDicts(cff.fdArray,output.length,true);topDictTracker.setEntryLocation(\"FDArray\",[output.length],output);output.add(compiled.output);var fontDictTrackers=compiled.trackers;this.compilePrivateDicts(cff.fdArray,fontDictTrackers,output);}this.compilePrivateDicts([cff.topDict],[topDictTracker],output);output.add([0]);return output.data;},encodeNumber:function CFFCompiler_encodeNumber(value){if(parseFloat(value)===parseInt(value,10)&&!isNaN(value)){return this.encodeInteger(value);}return this.encodeFloat(value);},encodeFloat:function CFFCompiler_encodeFloat(num){var value=num.toString();var m=/\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);if(m){var epsilon=parseFloat(\"1e\"+((m[2]?+m[2]:0)+m[1].length));value=(Math.round(num*epsilon)/epsilon).toString();}var nibbles=\"\";var i,ii;for(i=0,ii=value.length;i<ii;++i){var a=value[i];if(a===\"e\"){nibbles+=value[++i]===\"-\"?\"c\":\"b\";}else if(a===\".\"){nibbles+=\"a\";}else if(a===\"-\"){nibbles+=\"e\";}else{nibbles+=a;}}nibbles+=nibbles.length&1?\"f\":\"ff\";var out=[30];for(i=0,ii=nibbles.length;i<ii;i+=2){out.push(parseInt(nibbles.substring(i,i+2),16));}return out;},encodeInteger:function CFFCompiler_encodeInteger(value){var code;if(value>=-107&&value<=107){code=[value+139];}else if(value>=108&&value<=1131){value=value-108;code=[(value>>8)+247,value&0xff];}else if(value>=-1131&&value<=-108){value=-value-108;code=[(value>>8)+251,value&0xff];}else if(value>=-32768&&value<=32767){code=[0x1c,value>>8&0xff,value&0xff];}else{code=[0x1d,value>>24&0xff,value>>16&0xff,value>>8&0xff,value&0xff];}return code;},compileHeader:function CFFCompiler_compileHeader(header){return[header.major,header.minor,header.hdrSize,header.offSize];},compileNameIndex:function CFFCompiler_compileNameIndex(names){var nameIndex=new CFFIndex();for(var i=0,ii=names.length;i<ii;++i){var name=names[i];var length=Math.min(name.length,127);var sanitizedName=new Array(length);for(var j=0;j<length;j++){var char=name[j];if(char<\"!\"||char>\"~\"||char===\"[\"||char===\"]\"||char===\"(\"||char===\")\"||char===\"{\"||char===\"}\"||char===\"<\"||char===\">\"||char===\"/\"||char===\"%\"){char=\"_\";}sanitizedName[j]=char;}sanitizedName=sanitizedName.join(\"\");if(sanitizedName===\"\"){sanitizedName=\"Bad_Font_Name\";}nameIndex.add((0,_util.stringToBytes)(sanitizedName));}return this.compileIndex(nameIndex);},compileTopDicts:function CFFCompiler_compileTopDicts(dicts,length,removeCidKeys){var fontDictTrackers=[];var fdArrayIndex=new CFFIndex();for(var i=0,ii=dicts.length;i<ii;++i){var fontDict=dicts[i];if(removeCidKeys){fontDict.removeByName(\"CIDFontVersion\");fontDict.removeByName(\"CIDFontRevision\");fontDict.removeByName(\"CIDFontType\");fontDict.removeByName(\"CIDCount\");fontDict.removeByName(\"UIDBase\");}var fontDictTracker=new CFFOffsetTracker();var fontDictData=this.compileDict(fontDict,fontDictTracker);fontDictTrackers.push(fontDictTracker);fdArrayIndex.add(fontDictData);fontDictTracker.offset(length);}fdArrayIndex=this.compileIndex(fdArrayIndex,fontDictTrackers);return{trackers:fontDictTrackers,output:fdArrayIndex};},compilePrivateDicts:function CFFCompiler_compilePrivateDicts(dicts,trackers,output){for(var i=0,ii=dicts.length;i<ii;++i){var fontDict=dicts[i];var privateDict=fontDict.privateDict;if(!privateDict||!fontDict.hasName(\"Private\")){throw new _util.FormatError(\"There must be a private dictionary.\");}var privateDictTracker=new CFFOffsetTracker();var privateDictData=this.compileDict(privateDict,privateDictTracker);var outputLength=output.length;privateDictTracker.offset(outputLength);if(!privateDictData.length){outputLength=0;}trackers[i].setEntryLocation(\"Private\",[privateDictData.length,outputLength],output);output.add(privateDictData);if(privateDict.subrsIndex&&privateDict.hasName(\"Subrs\")){var subrs=this.compileIndex(privateDict.subrsIndex);privateDictTracker.setEntryLocation(\"Subrs\",[privateDictData.length],output);output.add(subrs);}}},compileDict:function CFFCompiler_compileDict(dict,offsetTracker){var out=[];var order=dict.order;for(var i=0;i<order.length;++i){var key=order[i];if(!(key in dict.values)){continue;}var values=dict.values[key];var types=dict.types[key];if(!Array.isArray(types)){types=[types];}if(!Array.isArray(values)){values=[values];}if(values.length===0){continue;}for(var j=0,jj=types.length;j<jj;++j){var type=types[j];var value=values[j];switch(type){case\"num\":case\"sid\":out=out.concat(this.encodeNumber(value));break;case\"offset\":var name=dict.keyToNameMap[key];if(!offsetTracker.isTracking(name)){offsetTracker.track(name,out.length);}out=out.concat([0x1d,0,0,0,0]);break;case\"array\":case\"delta\":out=out.concat(this.encodeNumber(value));for(var k=1,kk=values.length;k<kk;++k){out=out.concat(this.encodeNumber(values[k]));}break;default:throw new _util.FormatError(\"Unknown data type of \".concat(type));}}out=out.concat(dict.opcodes[key]);}return out;},compileStringIndex:function CFFCompiler_compileStringIndex(strings){var stringIndex=new CFFIndex();for(var i=0,ii=strings.length;i<ii;++i){stringIndex.add((0,_util.stringToBytes)(strings[i]));}return this.compileIndex(stringIndex);},compileGlobalSubrIndex:function CFFCompiler_compileGlobalSubrIndex(){var globalSubrIndex=this.cff.globalSubrIndex;this.out.writeByteArray(this.compileIndex(globalSubrIndex));},compileCharStrings:function CFFCompiler_compileCharStrings(charStrings){var charStringsIndex=new CFFIndex();for(var i=0;i<charStrings.count;i++){var glyph=charStrings.get(i);if(glyph.length===0){charStringsIndex.add(new Uint8Array([0x8b,0x0e]));continue;}charStringsIndex.add(glyph);}return this.compileIndex(charStringsIndex);},compileCharset:function CFFCompiler_compileCharset(charset,numGlyphs,strings,isCIDFont){var out;var numGlyphsLessNotDef=numGlyphs-1;if(isCIDFont){out=new Uint8Array([2,0,0,numGlyphsLessNotDef>>8&0xff,numGlyphsLessNotDef&0xff]);}else{var length=1+numGlyphsLessNotDef*2;out=new Uint8Array(length);out[0]=0;var charsetIndex=0;var numCharsets=charset.charset.length;var warned=false;for(var i=1;i<out.length;i+=2){var sid=0;if(charsetIndex<numCharsets){var name=charset.charset[charsetIndex++];sid=strings.getSID(name);if(sid===-1){sid=0;if(!warned){warned=true;(0,_util.warn)(\"Couldn't find \".concat(name,\" in CFF strings\"));}}}out[i]=sid>>8&0xff;out[i+1]=sid&0xff;}}return this.compileTypedArray(out);},compileEncoding:function CFFCompiler_compileEncoding(encoding){return this.compileTypedArray(encoding.raw);},compileFDSelect:function CFFCompiler_compileFDSelect(fdSelect){var format=fdSelect.format;var out,i;switch(format){case 0:out=new Uint8Array(1+fdSelect.fdSelect.length);out[0]=format;for(i=0;i<fdSelect.fdSelect.length;i++){out[i+1]=fdSelect.fdSelect[i];}break;case 3:var start=0;var lastFD=fdSelect.fdSelect[0];var ranges=[format,0,0,start>>8&0xff,start&0xff,lastFD];for(i=1;i<fdSelect.fdSelect.length;i++){var currentFD=fdSelect.fdSelect[i];if(currentFD!==lastFD){ranges.push(i>>8&0xff,i&0xff,currentFD);lastFD=currentFD;}}var numRanges=(ranges.length-3)/3;ranges[1]=numRanges>>8&0xff;ranges[2]=numRanges&0xff;ranges.push(i>>8&0xff,i&0xff);out=new Uint8Array(ranges);break;}return this.compileTypedArray(out);},compileTypedArray:function CFFCompiler_compileTypedArray(data){var out=[];for(var i=0,ii=data.length;i<ii;++i){out[i]=data[i];}return out;},compileIndex:function CFFCompiler_compileIndex(index,trackers){trackers=trackers||[];var objects=index.objects;var count=objects.length;if(count===0){return[0,0,0];}var data=[count>>8&0xff,count&0xff];var lastOffset=1,i;for(i=0;i<count;++i){lastOffset+=objects[i].length;}var offsetSize;if(lastOffset<0x100){offsetSize=1;}else if(lastOffset<0x10000){offsetSize=2;}else if(lastOffset<0x1000000){offsetSize=3;}else{offsetSize=4;}data.push(offsetSize);var relativeOffset=1;for(i=0;i<count+1;i++){if(offsetSize===1){data.push(relativeOffset&0xff);}else if(offsetSize===2){data.push(relativeOffset>>8&0xff,relativeOffset&0xff);}else if(offsetSize===3){data.push(relativeOffset>>16&0xff,relativeOffset>>8&0xff,relativeOffset&0xff);}else{data.push(relativeOffset>>>24&0xff,relativeOffset>>16&0xff,relativeOffset>>8&0xff,relativeOffset&0xff);}if(objects[i]){relativeOffset+=objects[i].length;}}for(i=0;i<count;i++){if(trackers[i]){trackers[i].offset(data.length);}for(var j=0,jj=objects[i].length;j<jj;j++){data.push(objects[i][j]);}}return data;}};return CFFCompiler;}();exports.CFFCompiler=CFFCompiler;/***/},/* 29 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.ExpertSubsetCharset=exports.ExpertCharset=exports.ISOAdobeCharset=void 0;var ISOAdobeCharset=[\".notdef\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quoteright\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"quoteleft\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"exclamdown\",\"cent\",\"sterling\",\"fraction\",\"yen\",\"florin\",\"section\",\"currency\",\"quotesingle\",\"quotedblleft\",\"guillemotleft\",\"guilsinglleft\",\"guilsinglright\",\"fi\",\"fl\",\"endash\",\"dagger\",\"daggerdbl\",\"periodcentered\",\"paragraph\",\"bullet\",\"quotesinglbase\",\"quotedblbase\",\"quotedblright\",\"guillemotright\",\"ellipsis\",\"perthousand\",\"questiondown\",\"grave\",\"acute\",\"circumflex\",\"tilde\",\"macron\",\"breve\",\"dotaccent\",\"dieresis\",\"ring\",\"cedilla\",\"hungarumlaut\",\"ogonek\",\"caron\",\"emdash\",\"AE\",\"ordfeminine\",\"Lslash\",\"Oslash\",\"OE\",\"ordmasculine\",\"ae\",\"dotlessi\",\"lslash\",\"oslash\",\"oe\",\"germandbls\",\"onesuperior\",\"logicalnot\",\"mu\",\"trademark\",\"Eth\",\"onehalf\",\"plusminus\",\"Thorn\",\"onequarter\",\"divide\",\"brokenbar\",\"degree\",\"thorn\",\"threequarters\",\"twosuperior\",\"registered\",\"minus\",\"eth\",\"multiply\",\"threesuperior\",\"copyright\",\"Aacute\",\"Acircumflex\",\"Adieresis\",\"Agrave\",\"Aring\",\"Atilde\",\"Ccedilla\",\"Eacute\",\"Ecircumflex\",\"Edieresis\",\"Egrave\",\"Iacute\",\"Icircumflex\",\"Idieresis\",\"Igrave\",\"Ntilde\",\"Oacute\",\"Ocircumflex\",\"Odieresis\",\"Ograve\",\"Otilde\",\"Scaron\",\"Uacute\",\"Ucircumflex\",\"Udieresis\",\"Ugrave\",\"Yacute\",\"Ydieresis\",\"Zcaron\",\"aacute\",\"acircumflex\",\"adieresis\",\"agrave\",\"aring\",\"atilde\",\"ccedilla\",\"eacute\",\"ecircumflex\",\"edieresis\",\"egrave\",\"iacute\",\"icircumflex\",\"idieresis\",\"igrave\",\"ntilde\",\"oacute\",\"ocircumflex\",\"odieresis\",\"ograve\",\"otilde\",\"scaron\",\"uacute\",\"ucircumflex\",\"udieresis\",\"ugrave\",\"yacute\",\"ydieresis\",\"zcaron\"];exports.ISOAdobeCharset=ISOAdobeCharset;var ExpertCharset=[\".notdef\",\"space\",\"exclamsmall\",\"Hungarumlautsmall\",\"dollaroldstyle\",\"dollarsuperior\",\"ampersandsmall\",\"Acutesmall\",\"parenleftsuperior\",\"parenrightsuperior\",\"twodotenleader\",\"onedotenleader\",\"comma\",\"hyphen\",\"period\",\"fraction\",\"zerooldstyle\",\"oneoldstyle\",\"twooldstyle\",\"threeoldstyle\",\"fouroldstyle\",\"fiveoldstyle\",\"sixoldstyle\",\"sevenoldstyle\",\"eightoldstyle\",\"nineoldstyle\",\"colon\",\"semicolon\",\"commasuperior\",\"threequartersemdash\",\"periodsuperior\",\"questionsmall\",\"asuperior\",\"bsuperior\",\"centsuperior\",\"dsuperior\",\"esuperior\",\"isuperior\",\"lsuperior\",\"msuperior\",\"nsuperior\",\"osuperior\",\"rsuperior\",\"ssuperior\",\"tsuperior\",\"ff\",\"fi\",\"fl\",\"ffi\",\"ffl\",\"parenleftinferior\",\"parenrightinferior\",\"Circumflexsmall\",\"hyphensuperior\",\"Gravesmall\",\"Asmall\",\"Bsmall\",\"Csmall\",\"Dsmall\",\"Esmall\",\"Fsmall\",\"Gsmall\",\"Hsmall\",\"Ismall\",\"Jsmall\",\"Ksmall\",\"Lsmall\",\"Msmall\",\"Nsmall\",\"Osmall\",\"Psmall\",\"Qsmall\",\"Rsmall\",\"Ssmall\",\"Tsmall\",\"Usmall\",\"Vsmall\",\"Wsmall\",\"Xsmall\",\"Ysmall\",\"Zsmall\",\"colonmonetary\",\"onefitted\",\"rupiah\",\"Tildesmall\",\"exclamdownsmall\",\"centoldstyle\",\"Lslashsmall\",\"Scaronsmall\",\"Zcaronsmall\",\"Dieresissmall\",\"Brevesmall\",\"Caronsmall\",\"Dotaccentsmall\",\"Macronsmall\",\"figuredash\",\"hypheninferior\",\"Ogoneksmall\",\"Ringsmall\",\"Cedillasmall\",\"onequarter\",\"onehalf\",\"threequarters\",\"questiondownsmall\",\"oneeighth\",\"threeeighths\",\"fiveeighths\",\"seveneighths\",\"onethird\",\"twothirds\",\"zerosuperior\",\"onesuperior\",\"twosuperior\",\"threesuperior\",\"foursuperior\",\"fivesuperior\",\"sixsuperior\",\"sevensuperior\",\"eightsuperior\",\"ninesuperior\",\"zeroinferior\",\"oneinferior\",\"twoinferior\",\"threeinferior\",\"fourinferior\",\"fiveinferior\",\"sixinferior\",\"seveninferior\",\"eightinferior\",\"nineinferior\",\"centinferior\",\"dollarinferior\",\"periodinferior\",\"commainferior\",\"Agravesmall\",\"Aacutesmall\",\"Acircumflexsmall\",\"Atildesmall\",\"Adieresissmall\",\"Aringsmall\",\"AEsmall\",\"Ccedillasmall\",\"Egravesmall\",\"Eacutesmall\",\"Ecircumflexsmall\",\"Edieresissmall\",\"Igravesmall\",\"Iacutesmall\",\"Icircumflexsmall\",\"Idieresissmall\",\"Ethsmall\",\"Ntildesmall\",\"Ogravesmall\",\"Oacutesmall\",\"Ocircumflexsmall\",\"Otildesmall\",\"Odieresissmall\",\"OEsmall\",\"Oslashsmall\",\"Ugravesmall\",\"Uacutesmall\",\"Ucircumflexsmall\",\"Udieresissmall\",\"Yacutesmall\",\"Thornsmall\",\"Ydieresissmall\"];exports.ExpertCharset=ExpertCharset;var ExpertSubsetCharset=[\".notdef\",\"space\",\"dollaroldstyle\",\"dollarsuperior\",\"parenleftsuperior\",\"parenrightsuperior\",\"twodotenleader\",\"onedotenleader\",\"comma\",\"hyphen\",\"period\",\"fraction\",\"zerooldstyle\",\"oneoldstyle\",\"twooldstyle\",\"threeoldstyle\",\"fouroldstyle\",\"fiveoldstyle\",\"sixoldstyle\",\"sevenoldstyle\",\"eightoldstyle\",\"nineoldstyle\",\"colon\",\"semicolon\",\"commasuperior\",\"threequartersemdash\",\"periodsuperior\",\"asuperior\",\"bsuperior\",\"centsuperior\",\"dsuperior\",\"esuperior\",\"isuperior\",\"lsuperior\",\"msuperior\",\"nsuperior\",\"osuperior\",\"rsuperior\",\"ssuperior\",\"tsuperior\",\"ff\",\"fi\",\"fl\",\"ffi\",\"ffl\",\"parenleftinferior\",\"parenrightinferior\",\"hyphensuperior\",\"colonmonetary\",\"onefitted\",\"rupiah\",\"centoldstyle\",\"figuredash\",\"hypheninferior\",\"onequarter\",\"onehalf\",\"threequarters\",\"oneeighth\",\"threeeighths\",\"fiveeighths\",\"seveneighths\",\"onethird\",\"twothirds\",\"zerosuperior\",\"onesuperior\",\"twosuperior\",\"threesuperior\",\"foursuperior\",\"fivesuperior\",\"sixsuperior\",\"sevensuperior\",\"eightsuperior\",\"ninesuperior\",\"zeroinferior\",\"oneinferior\",\"twoinferior\",\"threeinferior\",\"fourinferior\",\"fiveinferior\",\"sixinferior\",\"seveninferior\",\"eightinferior\",\"nineinferior\",\"centinferior\",\"dollarinferior\",\"periodinferior\",\"commainferior\"];exports.ExpertSubsetCharset=ExpertSubsetCharset;/***/},/* 30 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getEncoding=getEncoding;exports.ExpertEncoding=exports.ZapfDingbatsEncoding=exports.SymbolSetEncoding=exports.MacRomanEncoding=exports.StandardEncoding=exports.WinAnsiEncoding=void 0;var ExpertEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclamsmall\",\"Hungarumlautsmall\",\"\",\"dollaroldstyle\",\"dollarsuperior\",\"ampersandsmall\",\"Acutesmall\",\"parenleftsuperior\",\"parenrightsuperior\",\"twodotenleader\",\"onedotenleader\",\"comma\",\"hyphen\",\"period\",\"fraction\",\"zerooldstyle\",\"oneoldstyle\",\"twooldstyle\",\"threeoldstyle\",\"fouroldstyle\",\"fiveoldstyle\",\"sixoldstyle\",\"sevenoldstyle\",\"eightoldstyle\",\"nineoldstyle\",\"colon\",\"semicolon\",\"commasuperior\",\"threequartersemdash\",\"periodsuperior\",\"questionsmall\",\"\",\"asuperior\",\"bsuperior\",\"centsuperior\",\"dsuperior\",\"esuperior\",\"\",\"\",\"\",\"isuperior\",\"\",\"\",\"lsuperior\",\"msuperior\",\"nsuperior\",\"osuperior\",\"\",\"\",\"rsuperior\",\"ssuperior\",\"tsuperior\",\"\",\"ff\",\"fi\",\"fl\",\"ffi\",\"ffl\",\"parenleftinferior\",\"\",\"parenrightinferior\",\"Circumflexsmall\",\"hyphensuperior\",\"Gravesmall\",\"Asmall\",\"Bsmall\",\"Csmall\",\"Dsmall\",\"Esmall\",\"Fsmall\",\"Gsmall\",\"Hsmall\",\"Ismall\",\"Jsmall\",\"Ksmall\",\"Lsmall\",\"Msmall\",\"Nsmall\",\"Osmall\",\"Psmall\",\"Qsmall\",\"Rsmall\",\"Ssmall\",\"Tsmall\",\"Usmall\",\"Vsmall\",\"Wsmall\",\"Xsmall\",\"Ysmall\",\"Zsmall\",\"colonmonetary\",\"onefitted\",\"rupiah\",\"Tildesmall\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"exclamdownsmall\",\"centoldstyle\",\"Lslashsmall\",\"\",\"\",\"Scaronsmall\",\"Zcaronsmall\",\"Dieresissmall\",\"Brevesmall\",\"Caronsmall\",\"\",\"Dotaccentsmall\",\"\",\"\",\"Macronsmall\",\"\",\"\",\"figuredash\",\"hypheninferior\",\"\",\"\",\"Ogoneksmall\",\"Ringsmall\",\"Cedillasmall\",\"\",\"\",\"\",\"onequarter\",\"onehalf\",\"threequarters\",\"questiondownsmall\",\"oneeighth\",\"threeeighths\",\"fiveeighths\",\"seveneighths\",\"onethird\",\"twothirds\",\"\",\"\",\"zerosuperior\",\"onesuperior\",\"twosuperior\",\"threesuperior\",\"foursuperior\",\"fivesuperior\",\"sixsuperior\",\"sevensuperior\",\"eightsuperior\",\"ninesuperior\",\"zeroinferior\",\"oneinferior\",\"twoinferior\",\"threeinferior\",\"fourinferior\",\"fiveinferior\",\"sixinferior\",\"seveninferior\",\"eightinferior\",\"nineinferior\",\"centinferior\",\"dollarinferior\",\"periodinferior\",\"commainferior\",\"Agravesmall\",\"Aacutesmall\",\"Acircumflexsmall\",\"Atildesmall\",\"Adieresissmall\",\"Aringsmall\",\"AEsmall\",\"Ccedillasmall\",\"Egravesmall\",\"Eacutesmall\",\"Ecircumflexsmall\",\"Edieresissmall\",\"Igravesmall\",\"Iacutesmall\",\"Icircumflexsmall\",\"Idieresissmall\",\"Ethsmall\",\"Ntildesmall\",\"Ogravesmall\",\"Oacutesmall\",\"Ocircumflexsmall\",\"Otildesmall\",\"Odieresissmall\",\"OEsmall\",\"Oslashsmall\",\"Ugravesmall\",\"Uacutesmall\",\"Ucircumflexsmall\",\"Udieresissmall\",\"Yacutesmall\",\"Thornsmall\",\"Ydieresissmall\"];exports.ExpertEncoding=ExpertEncoding;var MacExpertEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclamsmall\",\"Hungarumlautsmall\",\"centoldstyle\",\"dollaroldstyle\",\"dollarsuperior\",\"ampersandsmall\",\"Acutesmall\",\"parenleftsuperior\",\"parenrightsuperior\",\"twodotenleader\",\"onedotenleader\",\"comma\",\"hyphen\",\"period\",\"fraction\",\"zerooldstyle\",\"oneoldstyle\",\"twooldstyle\",\"threeoldstyle\",\"fouroldstyle\",\"fiveoldstyle\",\"sixoldstyle\",\"sevenoldstyle\",\"eightoldstyle\",\"nineoldstyle\",\"colon\",\"semicolon\",\"\",\"threequartersemdash\",\"\",\"questionsmall\",\"\",\"\",\"\",\"\",\"Ethsmall\",\"\",\"\",\"onequarter\",\"onehalf\",\"threequarters\",\"oneeighth\",\"threeeighths\",\"fiveeighths\",\"seveneighths\",\"onethird\",\"twothirds\",\"\",\"\",\"\",\"\",\"\",\"\",\"ff\",\"fi\",\"fl\",\"ffi\",\"ffl\",\"parenleftinferior\",\"\",\"parenrightinferior\",\"Circumflexsmall\",\"hypheninferior\",\"Gravesmall\",\"Asmall\",\"Bsmall\",\"Csmall\",\"Dsmall\",\"Esmall\",\"Fsmall\",\"Gsmall\",\"Hsmall\",\"Ismall\",\"Jsmall\",\"Ksmall\",\"Lsmall\",\"Msmall\",\"Nsmall\",\"Osmall\",\"Psmall\",\"Qsmall\",\"Rsmall\",\"Ssmall\",\"Tsmall\",\"Usmall\",\"Vsmall\",\"Wsmall\",\"Xsmall\",\"Ysmall\",\"Zsmall\",\"colonmonetary\",\"onefitted\",\"rupiah\",\"Tildesmall\",\"\",\"\",\"asuperior\",\"centsuperior\",\"\",\"\",\"\",\"\",\"Aacutesmall\",\"Agravesmall\",\"Acircumflexsmall\",\"Adieresissmall\",\"Atildesmall\",\"Aringsmall\",\"Ccedillasmall\",\"Eacutesmall\",\"Egravesmall\",\"Ecircumflexsmall\",\"Edieresissmall\",\"Iacutesmall\",\"Igravesmall\",\"Icircumflexsmall\",\"Idieresissmall\",\"Ntildesmall\",\"Oacutesmall\",\"Ogravesmall\",\"Ocircumflexsmall\",\"Odieresissmall\",\"Otildesmall\",\"Uacutesmall\",\"Ugravesmall\",\"Ucircumflexsmall\",\"Udieresissmall\",\"\",\"eightsuperior\",\"fourinferior\",\"threeinferior\",\"sixinferior\",\"eightinferior\",\"seveninferior\",\"Scaronsmall\",\"\",\"centinferior\",\"twoinferior\",\"\",\"Dieresissmall\",\"\",\"Caronsmall\",\"osuperior\",\"fiveinferior\",\"\",\"commainferior\",\"periodinferior\",\"Yacutesmall\",\"\",\"dollarinferior\",\"\",\"\",\"Thornsmall\",\"\",\"nineinferior\",\"zeroinferior\",\"Zcaronsmall\",\"AEsmall\",\"Oslashsmall\",\"questiondownsmall\",\"oneinferior\",\"Lslashsmall\",\"\",\"\",\"\",\"\",\"\",\"\",\"Cedillasmall\",\"\",\"\",\"\",\"\",\"\",\"OEsmall\",\"figuredash\",\"hyphensuperior\",\"\",\"\",\"\",\"\",\"exclamdownsmall\",\"\",\"Ydieresissmall\",\"\",\"onesuperior\",\"twosuperior\",\"threesuperior\",\"foursuperior\",\"fivesuperior\",\"sixsuperior\",\"sevensuperior\",\"ninesuperior\",\"zerosuperior\",\"\",\"esuperior\",\"rsuperior\",\"tsuperior\",\"\",\"\",\"isuperior\",\"ssuperior\",\"dsuperior\",\"\",\"\",\"\",\"\",\"\",\"lsuperior\",\"Ogoneksmall\",\"Brevesmall\",\"Macronsmall\",\"bsuperior\",\"nsuperior\",\"msuperior\",\"commasuperior\",\"periodsuperior\",\"Dotaccentsmall\",\"Ringsmall\",\"\",\"\",\"\",\"\"];var MacRomanEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quotesingle\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"grave\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"\",\"Adieresis\",\"Aring\",\"Ccedilla\",\"Eacute\",\"Ntilde\",\"Odieresis\",\"Udieresis\",\"aacute\",\"agrave\",\"acircumflex\",\"adieresis\",\"atilde\",\"aring\",\"ccedilla\",\"eacute\",\"egrave\",\"ecircumflex\",\"edieresis\",\"iacute\",\"igrave\",\"icircumflex\",\"idieresis\",\"ntilde\",\"oacute\",\"ograve\",\"ocircumflex\",\"odieresis\",\"otilde\",\"uacute\",\"ugrave\",\"ucircumflex\",\"udieresis\",\"dagger\",\"degree\",\"cent\",\"sterling\",\"section\",\"bullet\",\"paragraph\",\"germandbls\",\"registered\",\"copyright\",\"trademark\",\"acute\",\"dieresis\",\"notequal\",\"AE\",\"Oslash\",\"infinity\",\"plusminus\",\"lessequal\",\"greaterequal\",\"yen\",\"mu\",\"partialdiff\",\"summation\",\"product\",\"pi\",\"integral\",\"ordfeminine\",\"ordmasculine\",\"Omega\",\"ae\",\"oslash\",\"questiondown\",\"exclamdown\",\"logicalnot\",\"radical\",\"florin\",\"approxequal\",\"Delta\",\"guillemotleft\",\"guillemotright\",\"ellipsis\",\"space\",\"Agrave\",\"Atilde\",\"Otilde\",\"OE\",\"oe\",\"endash\",\"emdash\",\"quotedblleft\",\"quotedblright\",\"quoteleft\",\"quoteright\",\"divide\",\"lozenge\",\"ydieresis\",\"Ydieresis\",\"fraction\",\"currency\",\"guilsinglleft\",\"guilsinglright\",\"fi\",\"fl\",\"daggerdbl\",\"periodcentered\",\"quotesinglbase\",\"quotedblbase\",\"perthousand\",\"Acircumflex\",\"Ecircumflex\",\"Aacute\",\"Edieresis\",\"Egrave\",\"Iacute\",\"Icircumflex\",\"Idieresis\",\"Igrave\",\"Oacute\",\"Ocircumflex\",\"apple\",\"Ograve\",\"Uacute\",\"Ucircumflex\",\"Ugrave\",\"dotlessi\",\"circumflex\",\"tilde\",\"macron\",\"breve\",\"dotaccent\",\"ring\",\"cedilla\",\"hungarumlaut\",\"ogonek\",\"caron\"];exports.MacRomanEncoding=MacRomanEncoding;var StandardEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quoteright\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"quoteleft\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"exclamdown\",\"cent\",\"sterling\",\"fraction\",\"yen\",\"florin\",\"section\",\"currency\",\"quotesingle\",\"quotedblleft\",\"guillemotleft\",\"guilsinglleft\",\"guilsinglright\",\"fi\",\"fl\",\"\",\"endash\",\"dagger\",\"daggerdbl\",\"periodcentered\",\"\",\"paragraph\",\"bullet\",\"quotesinglbase\",\"quotedblbase\",\"quotedblright\",\"guillemotright\",\"ellipsis\",\"perthousand\",\"\",\"questiondown\",\"\",\"grave\",\"acute\",\"circumflex\",\"tilde\",\"macron\",\"breve\",\"dotaccent\",\"dieresis\",\"\",\"ring\",\"cedilla\",\"\",\"hungarumlaut\",\"ogonek\",\"caron\",\"emdash\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"AE\",\"\",\"ordfeminine\",\"\",\"\",\"\",\"\",\"Lslash\",\"Oslash\",\"OE\",\"ordmasculine\",\"\",\"\",\"\",\"\",\"\",\"ae\",\"\",\"\",\"\",\"dotlessi\",\"\",\"\",\"lslash\",\"oslash\",\"oe\",\"germandbls\",\"\",\"\",\"\",\"\"];exports.StandardEncoding=StandardEncoding;var WinAnsiEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclam\",\"quotedbl\",\"numbersign\",\"dollar\",\"percent\",\"ampersand\",\"quotesingle\",\"parenleft\",\"parenright\",\"asterisk\",\"plus\",\"comma\",\"hyphen\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"at\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"bracketleft\",\"backslash\",\"bracketright\",\"asciicircum\",\"underscore\",\"grave\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"braceleft\",\"bar\",\"braceright\",\"asciitilde\",\"bullet\",\"Euro\",\"bullet\",\"quotesinglbase\",\"florin\",\"quotedblbase\",\"ellipsis\",\"dagger\",\"daggerdbl\",\"circumflex\",\"perthousand\",\"Scaron\",\"guilsinglleft\",\"OE\",\"bullet\",\"Zcaron\",\"bullet\",\"bullet\",\"quoteleft\",\"quoteright\",\"quotedblleft\",\"quotedblright\",\"bullet\",\"endash\",\"emdash\",\"tilde\",\"trademark\",\"scaron\",\"guilsinglright\",\"oe\",\"bullet\",\"zcaron\",\"Ydieresis\",\"space\",\"exclamdown\",\"cent\",\"sterling\",\"currency\",\"yen\",\"brokenbar\",\"section\",\"dieresis\",\"copyright\",\"ordfeminine\",\"guillemotleft\",\"logicalnot\",\"hyphen\",\"registered\",\"macron\",\"degree\",\"plusminus\",\"twosuperior\",\"threesuperior\",\"acute\",\"mu\",\"paragraph\",\"periodcentered\",\"cedilla\",\"onesuperior\",\"ordmasculine\",\"guillemotright\",\"onequarter\",\"onehalf\",\"threequarters\",\"questiondown\",\"Agrave\",\"Aacute\",\"Acircumflex\",\"Atilde\",\"Adieresis\",\"Aring\",\"AE\",\"Ccedilla\",\"Egrave\",\"Eacute\",\"Ecircumflex\",\"Edieresis\",\"Igrave\",\"Iacute\",\"Icircumflex\",\"Idieresis\",\"Eth\",\"Ntilde\",\"Ograve\",\"Oacute\",\"Ocircumflex\",\"Otilde\",\"Odieresis\",\"multiply\",\"Oslash\",\"Ugrave\",\"Uacute\",\"Ucircumflex\",\"Udieresis\",\"Yacute\",\"Thorn\",\"germandbls\",\"agrave\",\"aacute\",\"acircumflex\",\"atilde\",\"adieresis\",\"aring\",\"ae\",\"ccedilla\",\"egrave\",\"eacute\",\"ecircumflex\",\"edieresis\",\"igrave\",\"iacute\",\"icircumflex\",\"idieresis\",\"eth\",\"ntilde\",\"ograve\",\"oacute\",\"ocircumflex\",\"otilde\",\"odieresis\",\"divide\",\"oslash\",\"ugrave\",\"uacute\",\"ucircumflex\",\"udieresis\",\"yacute\",\"thorn\",\"ydieresis\"];exports.WinAnsiEncoding=WinAnsiEncoding;var SymbolSetEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"exclam\",\"universal\",\"numbersign\",\"existential\",\"percent\",\"ampersand\",\"suchthat\",\"parenleft\",\"parenright\",\"asteriskmath\",\"plus\",\"comma\",\"minus\",\"period\",\"slash\",\"zero\",\"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"seven\",\"eight\",\"nine\",\"colon\",\"semicolon\",\"less\",\"equal\",\"greater\",\"question\",\"congruent\",\"Alpha\",\"Beta\",\"Chi\",\"Delta\",\"Epsilon\",\"Phi\",\"Gamma\",\"Eta\",\"Iota\",\"theta1\",\"Kappa\",\"Lambda\",\"Mu\",\"Nu\",\"Omicron\",\"Pi\",\"Theta\",\"Rho\",\"Sigma\",\"Tau\",\"Upsilon\",\"sigma1\",\"Omega\",\"Xi\",\"Psi\",\"Zeta\",\"bracketleft\",\"therefore\",\"bracketright\",\"perpendicular\",\"underscore\",\"radicalex\",\"alpha\",\"beta\",\"chi\",\"delta\",\"epsilon\",\"phi\",\"gamma\",\"eta\",\"iota\",\"phi1\",\"kappa\",\"lambda\",\"mu\",\"nu\",\"omicron\",\"pi\",\"theta\",\"rho\",\"sigma\",\"tau\",\"upsilon\",\"omega1\",\"omega\",\"xi\",\"psi\",\"zeta\",\"braceleft\",\"bar\",\"braceright\",\"similar\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"Euro\",\"Upsilon1\",\"minute\",\"lessequal\",\"fraction\",\"infinity\",\"florin\",\"club\",\"diamond\",\"heart\",\"spade\",\"arrowboth\",\"arrowleft\",\"arrowup\",\"arrowright\",\"arrowdown\",\"degree\",\"plusminus\",\"second\",\"greaterequal\",\"multiply\",\"proportional\",\"partialdiff\",\"bullet\",\"divide\",\"notequal\",\"equivalence\",\"approxequal\",\"ellipsis\",\"arrowvertex\",\"arrowhorizex\",\"carriagereturn\",\"aleph\",\"Ifraktur\",\"Rfraktur\",\"weierstrass\",\"circlemultiply\",\"circleplus\",\"emptyset\",\"intersection\",\"union\",\"propersuperset\",\"reflexsuperset\",\"notsubset\",\"propersubset\",\"reflexsubset\",\"element\",\"notelement\",\"angle\",\"gradient\",\"registerserif\",\"copyrightserif\",\"trademarkserif\",\"product\",\"radical\",\"dotmath\",\"logicalnot\",\"logicaland\",\"logicalor\",\"arrowdblboth\",\"arrowdblleft\",\"arrowdblup\",\"arrowdblright\",\"arrowdbldown\",\"lozenge\",\"angleleft\",\"registersans\",\"copyrightsans\",\"trademarksans\",\"summation\",\"parenlefttp\",\"parenleftex\",\"parenleftbt\",\"bracketlefttp\",\"bracketleftex\",\"bracketleftbt\",\"bracelefttp\",\"braceleftmid\",\"braceleftbt\",\"braceex\",\"\",\"angleright\",\"integral\",\"integraltp\",\"integralex\",\"integralbt\",\"parenrighttp\",\"parenrightex\",\"parenrightbt\",\"bracketrighttp\",\"bracketrightex\",\"bracketrightbt\",\"bracerighttp\",\"bracerightmid\",\"bracerightbt\",\"\"];exports.SymbolSetEncoding=SymbolSetEncoding;var ZapfDingbatsEncoding=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"space\",\"a1\",\"a2\",\"a202\",\"a3\",\"a4\",\"a5\",\"a119\",\"a118\",\"a117\",\"a11\",\"a12\",\"a13\",\"a14\",\"a15\",\"a16\",\"a105\",\"a17\",\"a18\",\"a19\",\"a20\",\"a21\",\"a22\",\"a23\",\"a24\",\"a25\",\"a26\",\"a27\",\"a28\",\"a6\",\"a7\",\"a8\",\"a9\",\"a10\",\"a29\",\"a30\",\"a31\",\"a32\",\"a33\",\"a34\",\"a35\",\"a36\",\"a37\",\"a38\",\"a39\",\"a40\",\"a41\",\"a42\",\"a43\",\"a44\",\"a45\",\"a46\",\"a47\",\"a48\",\"a49\",\"a50\",\"a51\",\"a52\",\"a53\",\"a54\",\"a55\",\"a56\",\"a57\",\"a58\",\"a59\",\"a60\",\"a61\",\"a62\",\"a63\",\"a64\",\"a65\",\"a66\",\"a67\",\"a68\",\"a69\",\"a70\",\"a71\",\"a72\",\"a73\",\"a74\",\"a203\",\"a75\",\"a204\",\"a76\",\"a77\",\"a78\",\"a79\",\"a81\",\"a82\",\"a83\",\"a84\",\"a97\",\"a98\",\"a99\",\"a100\",\"\",\"a89\",\"a90\",\"a93\",\"a94\",\"a91\",\"a92\",\"a205\",\"a85\",\"a206\",\"a86\",\"a87\",\"a88\",\"a95\",\"a96\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"a101\",\"a102\",\"a103\",\"a104\",\"a106\",\"a107\",\"a108\",\"a112\",\"a111\",\"a110\",\"a109\",\"a120\",\"a121\",\"a122\",\"a123\",\"a124\",\"a125\",\"a126\",\"a127\",\"a128\",\"a129\",\"a130\",\"a131\",\"a132\",\"a133\",\"a134\",\"a135\",\"a136\",\"a137\",\"a138\",\"a139\",\"a140\",\"a141\",\"a142\",\"a143\",\"a144\",\"a145\",\"a146\",\"a147\",\"a148\",\"a149\",\"a150\",\"a151\",\"a152\",\"a153\",\"a154\",\"a155\",\"a156\",\"a157\",\"a158\",\"a159\",\"a160\",\"a161\",\"a163\",\"a164\",\"a196\",\"a165\",\"a192\",\"a166\",\"a167\",\"a168\",\"a169\",\"a170\",\"a171\",\"a172\",\"a173\",\"a162\",\"a174\",\"a175\",\"a176\",\"a177\",\"a178\",\"a179\",\"a193\",\"a180\",\"a199\",\"a181\",\"a200\",\"a182\",\"\",\"a201\",\"a183\",\"a184\",\"a197\",\"a185\",\"a194\",\"a198\",\"a186\",\"a195\",\"a187\",\"a188\",\"a189\",\"a190\",\"a191\",\"\"];exports.ZapfDingbatsEncoding=ZapfDingbatsEncoding;function getEncoding(encodingName){switch(encodingName){case\"WinAnsiEncoding\":return WinAnsiEncoding;case\"StandardEncoding\":return StandardEncoding;case\"MacRomanEncoding\":return MacRomanEncoding;case\"SymbolSetEncoding\":return SymbolSetEncoding;case\"ZapfDingbatsEncoding\":return ZapfDingbatsEncoding;case\"ExpertEncoding\":return ExpertEncoding;case\"MacExpertEncoding\":return MacExpertEncoding;default:return null;}}/***/},/* 31 */ /***/function(module,exports,__w_pdfjs_require__){var getLookupTableFactory=__w_pdfjs_require__(7).getLookupTableFactory;var getGlyphsUnicode=getLookupTableFactory(function(t){t[\"A\"]=0x0041;t[\"AE\"]=0x00c6;t[\"AEacute\"]=0x01fc;t[\"AEmacron\"]=0x01e2;t[\"AEsmall\"]=0xf7e6;t[\"Aacute\"]=0x00c1;t[\"Aacutesmall\"]=0xf7e1;t[\"Abreve\"]=0x0102;t[\"Abreveacute\"]=0x1eae;t[\"Abrevecyrillic\"]=0x04d0;t[\"Abrevedotbelow\"]=0x1eb6;t[\"Abrevegrave\"]=0x1eb0;t[\"Abrevehookabove\"]=0x1eb2;t[\"Abrevetilde\"]=0x1eb4;t[\"Acaron\"]=0x01cd;t[\"Acircle\"]=0x24b6;t[\"Acircumflex\"]=0x00c2;t[\"Acircumflexacute\"]=0x1ea4;t[\"Acircumflexdotbelow\"]=0x1eac;t[\"Acircumflexgrave\"]=0x1ea6;t[\"Acircumflexhookabove\"]=0x1ea8;t[\"Acircumflexsmall\"]=0xf7e2;t[\"Acircumflextilde\"]=0x1eaa;t[\"Acute\"]=0xf6c9;t[\"Acutesmall\"]=0xf7b4;t[\"Acyrillic\"]=0x0410;t[\"Adblgrave\"]=0x0200;t[\"Adieresis\"]=0x00c4;t[\"Adieresiscyrillic\"]=0x04d2;t[\"Adieresismacron\"]=0x01de;t[\"Adieresissmall\"]=0xf7e4;t[\"Adotbelow\"]=0x1ea0;t[\"Adotmacron\"]=0x01e0;t[\"Agrave\"]=0x00c0;t[\"Agravesmall\"]=0xf7e0;t[\"Ahookabove\"]=0x1ea2;t[\"Aiecyrillic\"]=0x04d4;t[\"Ainvertedbreve\"]=0x0202;t[\"Alpha\"]=0x0391;t[\"Alphatonos\"]=0x0386;t[\"Amacron\"]=0x0100;t[\"Amonospace\"]=0xff21;t[\"Aogonek\"]=0x0104;t[\"Aring\"]=0x00c5;t[\"Aringacute\"]=0x01fa;t[\"Aringbelow\"]=0x1e00;t[\"Aringsmall\"]=0xf7e5;t[\"Asmall\"]=0xf761;t[\"Atilde\"]=0x00c3;t[\"Atildesmall\"]=0xf7e3;t[\"Aybarmenian\"]=0x0531;t[\"B\"]=0x0042;t[\"Bcircle\"]=0x24b7;t[\"Bdotaccent\"]=0x1e02;t[\"Bdotbelow\"]=0x1e04;t[\"Becyrillic\"]=0x0411;t[\"Benarmenian\"]=0x0532;t[\"Beta\"]=0x0392;t[\"Bhook\"]=0x0181;t[\"Blinebelow\"]=0x1e06;t[\"Bmonospace\"]=0xff22;t[\"Brevesmall\"]=0xf6f4;t[\"Bsmall\"]=0xf762;t[\"Btopbar\"]=0x0182;t[\"C\"]=0x0043;t[\"Caarmenian\"]=0x053e;t[\"Cacute\"]=0x0106;t[\"Caron\"]=0xf6ca;t[\"Caronsmall\"]=0xf6f5;t[\"Ccaron\"]=0x010c;t[\"Ccedilla\"]=0x00c7;t[\"Ccedillaacute\"]=0x1e08;t[\"Ccedillasmall\"]=0xf7e7;t[\"Ccircle\"]=0x24b8;t[\"Ccircumflex\"]=0x0108;t[\"Cdot\"]=0x010a;t[\"Cdotaccent\"]=0x010a;t[\"Cedillasmall\"]=0xf7b8;t[\"Chaarmenian\"]=0x0549;t[\"Cheabkhasiancyrillic\"]=0x04bc;t[\"Checyrillic\"]=0x0427;t[\"Chedescenderabkhasiancyrillic\"]=0x04be;t[\"Chedescendercyrillic\"]=0x04b6;t[\"Chedieresiscyrillic\"]=0x04f4;t[\"Cheharmenian\"]=0x0543;t[\"Chekhakassiancyrillic\"]=0x04cb;t[\"Cheverticalstrokecyrillic\"]=0x04b8;t[\"Chi\"]=0x03a7;t[\"Chook\"]=0x0187;t[\"Circumflexsmall\"]=0xf6f6;t[\"Cmonospace\"]=0xff23;t[\"Coarmenian\"]=0x0551;t[\"Csmall\"]=0xf763;t[\"D\"]=0x0044;t[\"DZ\"]=0x01f1;t[\"DZcaron\"]=0x01c4;t[\"Daarmenian\"]=0x0534;t[\"Dafrican\"]=0x0189;t[\"Dcaron\"]=0x010e;t[\"Dcedilla\"]=0x1e10;t[\"Dcircle\"]=0x24b9;t[\"Dcircumflexbelow\"]=0x1e12;t[\"Dcroat\"]=0x0110;t[\"Ddotaccent\"]=0x1e0a;t[\"Ddotbelow\"]=0x1e0c;t[\"Decyrillic\"]=0x0414;t[\"Deicoptic\"]=0x03ee;t[\"Delta\"]=0x2206;t[\"Deltagreek\"]=0x0394;t[\"Dhook\"]=0x018a;t[\"Dieresis\"]=0xf6cb;t[\"DieresisAcute\"]=0xf6cc;t[\"DieresisGrave\"]=0xf6cd;t[\"Dieresissmall\"]=0xf7a8;t[\"Digammagreek\"]=0x03dc;t[\"Djecyrillic\"]=0x0402;t[\"Dlinebelow\"]=0x1e0e;t[\"Dmonospace\"]=0xff24;t[\"Dotaccentsmall\"]=0xf6f7;t[\"Dslash\"]=0x0110;t[\"Dsmall\"]=0xf764;t[\"Dtopbar\"]=0x018b;t[\"Dz\"]=0x01f2;t[\"Dzcaron\"]=0x01c5;t[\"Dzeabkhasiancyrillic\"]=0x04e0;t[\"Dzecyrillic\"]=0x0405;t[\"Dzhecyrillic\"]=0x040f;t[\"E\"]=0x0045;t[\"Eacute\"]=0x00c9;t[\"Eacutesmall\"]=0xf7e9;t[\"Ebreve\"]=0x0114;t[\"Ecaron\"]=0x011a;t[\"Ecedillabreve\"]=0x1e1c;t[\"Echarmenian\"]=0x0535;t[\"Ecircle\"]=0x24ba;t[\"Ecircumflex\"]=0x00ca;t[\"Ecircumflexacute\"]=0x1ebe;t[\"Ecircumflexbelow\"]=0x1e18;t[\"Ecircumflexdotbelow\"]=0x1ec6;t[\"Ecircumflexgrave\"]=0x1ec0;t[\"Ecircumflexhookabove\"]=0x1ec2;t[\"Ecircumflexsmall\"]=0xf7ea;t[\"Ecircumflextilde\"]=0x1ec4;t[\"Ecyrillic\"]=0x0404;t[\"Edblgrave\"]=0x0204;t[\"Edieresis\"]=0x00cb;t[\"Edieresissmall\"]=0xf7eb;t[\"Edot\"]=0x0116;t[\"Edotaccent\"]=0x0116;t[\"Edotbelow\"]=0x1eb8;t[\"Efcyrillic\"]=0x0424;t[\"Egrave\"]=0x00c8;t[\"Egravesmall\"]=0xf7e8;t[\"Eharmenian\"]=0x0537;t[\"Ehookabove\"]=0x1eba;t[\"Eightroman\"]=0x2167;t[\"Einvertedbreve\"]=0x0206;t[\"Eiotifiedcyrillic\"]=0x0464;t[\"Elcyrillic\"]=0x041b;t[\"Elevenroman\"]=0x216a;t[\"Emacron\"]=0x0112;t[\"Emacronacute\"]=0x1e16;t[\"Emacrongrave\"]=0x1e14;t[\"Emcyrillic\"]=0x041c;t[\"Emonospace\"]=0xff25;t[\"Encyrillic\"]=0x041d;t[\"Endescendercyrillic\"]=0x04a2;t[\"Eng\"]=0x014a;t[\"Enghecyrillic\"]=0x04a4;t[\"Enhookcyrillic\"]=0x04c7;t[\"Eogonek\"]=0x0118;t[\"Eopen\"]=0x0190;t[\"Epsilon\"]=0x0395;t[\"Epsilontonos\"]=0x0388;t[\"Ercyrillic\"]=0x0420;t[\"Ereversed\"]=0x018e;t[\"Ereversedcyrillic\"]=0x042d;t[\"Escyrillic\"]=0x0421;t[\"Esdescendercyrillic\"]=0x04aa;t[\"Esh\"]=0x01a9;t[\"Esmall\"]=0xf765;t[\"Eta\"]=0x0397;t[\"Etarmenian\"]=0x0538;t[\"Etatonos\"]=0x0389;t[\"Eth\"]=0x00d0;t[\"Ethsmall\"]=0xf7f0;t[\"Etilde\"]=0x1ebc;t[\"Etildebelow\"]=0x1e1a;t[\"Euro\"]=0x20ac;t[\"Ezh\"]=0x01b7;t[\"Ezhcaron\"]=0x01ee;t[\"Ezhreversed\"]=0x01b8;t[\"F\"]=0x0046;t[\"Fcircle\"]=0x24bb;t[\"Fdotaccent\"]=0x1e1e;t[\"Feharmenian\"]=0x0556;t[\"Feicoptic\"]=0x03e4;t[\"Fhook\"]=0x0191;t[\"Fitacyrillic\"]=0x0472;t[\"Fiveroman\"]=0x2164;t[\"Fmonospace\"]=0xff26;t[\"Fourroman\"]=0x2163;t[\"Fsmall\"]=0xf766;t[\"G\"]=0x0047;t[\"GBsquare\"]=0x3387;t[\"Gacute\"]=0x01f4;t[\"Gamma\"]=0x0393;t[\"Gammaafrican\"]=0x0194;t[\"Gangiacoptic\"]=0x03ea;t[\"Gbreve\"]=0x011e;t[\"Gcaron\"]=0x01e6;t[\"Gcedilla\"]=0x0122;t[\"Gcircle\"]=0x24bc;t[\"Gcircumflex\"]=0x011c;t[\"Gcommaaccent\"]=0x0122;t[\"Gdot\"]=0x0120;t[\"Gdotaccent\"]=0x0120;t[\"Gecyrillic\"]=0x0413;t[\"Ghadarmenian\"]=0x0542;t[\"Ghemiddlehookcyrillic\"]=0x0494;t[\"Ghestrokecyrillic\"]=0x0492;t[\"Gheupturncyrillic\"]=0x0490;t[\"Ghook\"]=0x0193;t[\"Gimarmenian\"]=0x0533;t[\"Gjecyrillic\"]=0x0403;t[\"Gmacron\"]=0x1e20;t[\"Gmonospace\"]=0xff27;t[\"Grave\"]=0xf6ce;t[\"Gravesmall\"]=0xf760;t[\"Gsmall\"]=0xf767;t[\"Gsmallhook\"]=0x029b;t[\"Gstroke\"]=0x01e4;t[\"H\"]=0x0048;t[\"H18533\"]=0x25cf;t[\"H18543\"]=0x25aa;t[\"H18551\"]=0x25ab;t[\"H22073\"]=0x25a1;t[\"HPsquare\"]=0x33cb;t[\"Haabkhasiancyrillic\"]=0x04a8;t[\"Hadescendercyrillic\"]=0x04b2;t[\"Hardsigncyrillic\"]=0x042a;t[\"Hbar\"]=0x0126;t[\"Hbrevebelow\"]=0x1e2a;t[\"Hcedilla\"]=0x1e28;t[\"Hcircle\"]=0x24bd;t[\"Hcircumflex\"]=0x0124;t[\"Hdieresis\"]=0x1e26;t[\"Hdotaccent\"]=0x1e22;t[\"Hdotbelow\"]=0x1e24;t[\"Hmonospace\"]=0xff28;t[\"Hoarmenian\"]=0x0540;t[\"Horicoptic\"]=0x03e8;t[\"Hsmall\"]=0xf768;t[\"Hungarumlaut\"]=0xf6cf;t[\"Hungarumlautsmall\"]=0xf6f8;t[\"Hzsquare\"]=0x3390;t[\"I\"]=0x0049;t[\"IAcyrillic\"]=0x042f;t[\"IJ\"]=0x0132;t[\"IUcyrillic\"]=0x042e;t[\"Iacute\"]=0x00cd;t[\"Iacutesmall\"]=0xf7ed;t[\"Ibreve\"]=0x012c;t[\"Icaron\"]=0x01cf;t[\"Icircle\"]=0x24be;t[\"Icircumflex\"]=0x00ce;t[\"Icircumflexsmall\"]=0xf7ee;t[\"Icyrillic\"]=0x0406;t[\"Idblgrave\"]=0x0208;t[\"Idieresis\"]=0x00cf;t[\"Idieresisacute\"]=0x1e2e;t[\"Idieresiscyrillic\"]=0x04e4;t[\"Idieresissmall\"]=0xf7ef;t[\"Idot\"]=0x0130;t[\"Idotaccent\"]=0x0130;t[\"Idotbelow\"]=0x1eca;t[\"Iebrevecyrillic\"]=0x04d6;t[\"Iecyrillic\"]=0x0415;t[\"Ifraktur\"]=0x2111;t[\"Igrave\"]=0x00cc;t[\"Igravesmall\"]=0xf7ec;t[\"Ihookabove\"]=0x1ec8;t[\"Iicyrillic\"]=0x0418;t[\"Iinvertedbreve\"]=0x020a;t[\"Iishortcyrillic\"]=0x0419;t[\"Imacron\"]=0x012a;t[\"Imacroncyrillic\"]=0x04e2;t[\"Imonospace\"]=0xff29;t[\"Iniarmenian\"]=0x053b;t[\"Iocyrillic\"]=0x0401;t[\"Iogonek\"]=0x012e;t[\"Iota\"]=0x0399;t[\"Iotaafrican\"]=0x0196;t[\"Iotadieresis\"]=0x03aa;t[\"Iotatonos\"]=0x038a;t[\"Ismall\"]=0xf769;t[\"Istroke\"]=0x0197;t[\"Itilde\"]=0x0128;t[\"Itildebelow\"]=0x1e2c;t[\"Izhitsacyrillic\"]=0x0474;t[\"Izhitsadblgravecyrillic\"]=0x0476;t[\"J\"]=0x004a;t[\"Jaarmenian\"]=0x0541;t[\"Jcircle\"]=0x24bf;t[\"Jcircumflex\"]=0x0134;t[\"Jecyrillic\"]=0x0408;t[\"Jheharmenian\"]=0x054b;t[\"Jmonospace\"]=0xff2a;t[\"Jsmall\"]=0xf76a;t[\"K\"]=0x004b;t[\"KBsquare\"]=0x3385;t[\"KKsquare\"]=0x33cd;t[\"Kabashkircyrillic\"]=0x04a0;t[\"Kacute\"]=0x1e30;t[\"Kacyrillic\"]=0x041a;t[\"Kadescendercyrillic\"]=0x049a;t[\"Kahookcyrillic\"]=0x04c3;t[\"Kappa\"]=0x039a;t[\"Kastrokecyrillic\"]=0x049e;t[\"Kaverticalstrokecyrillic\"]=0x049c;t[\"Kcaron\"]=0x01e8;t[\"Kcedilla\"]=0x0136;t[\"Kcircle\"]=0x24c0;t[\"Kcommaaccent\"]=0x0136;t[\"Kdotbelow\"]=0x1e32;t[\"Keharmenian\"]=0x0554;t[\"Kenarmenian\"]=0x053f;t[\"Khacyrillic\"]=0x0425;t[\"Kheicoptic\"]=0x03e6;t[\"Khook\"]=0x0198;t[\"Kjecyrillic\"]=0x040c;t[\"Klinebelow\"]=0x1e34;t[\"Kmonospace\"]=0xff2b;t[\"Koppacyrillic\"]=0x0480;t[\"Koppagreek\"]=0x03de;t[\"Ksicyrillic\"]=0x046e;t[\"Ksmall\"]=0xf76b;t[\"L\"]=0x004c;t[\"LJ\"]=0x01c7;t[\"LL\"]=0xf6bf;t[\"Lacute\"]=0x0139;t[\"Lambda\"]=0x039b;t[\"Lcaron\"]=0x013d;t[\"Lcedilla\"]=0x013b;t[\"Lcircle\"]=0x24c1;t[\"Lcircumflexbelow\"]=0x1e3c;t[\"Lcommaaccent\"]=0x013b;t[\"Ldot\"]=0x013f;t[\"Ldotaccent\"]=0x013f;t[\"Ldotbelow\"]=0x1e36;t[\"Ldotbelowmacron\"]=0x1e38;t[\"Liwnarmenian\"]=0x053c;t[\"Lj\"]=0x01c8;t[\"Ljecyrillic\"]=0x0409;t[\"Llinebelow\"]=0x1e3a;t[\"Lmonospace\"]=0xff2c;t[\"Lslash\"]=0x0141;t[\"Lslashsmall\"]=0xf6f9;t[\"Lsmall\"]=0xf76c;t[\"M\"]=0x004d;t[\"MBsquare\"]=0x3386;t[\"Macron\"]=0xf6d0;t[\"Macronsmall\"]=0xf7af;t[\"Macute\"]=0x1e3e;t[\"Mcircle\"]=0x24c2;t[\"Mdotaccent\"]=0x1e40;t[\"Mdotbelow\"]=0x1e42;t[\"Menarmenian\"]=0x0544;t[\"Mmonospace\"]=0xff2d;t[\"Msmall\"]=0xf76d;t[\"Mturned\"]=0x019c;t[\"Mu\"]=0x039c;t[\"N\"]=0x004e;t[\"NJ\"]=0x01ca;t[\"Nacute\"]=0x0143;t[\"Ncaron\"]=0x0147;t[\"Ncedilla\"]=0x0145;t[\"Ncircle\"]=0x24c3;t[\"Ncircumflexbelow\"]=0x1e4a;t[\"Ncommaaccent\"]=0x0145;t[\"Ndotaccent\"]=0x1e44;t[\"Ndotbelow\"]=0x1e46;t[\"Nhookleft\"]=0x019d;t[\"Nineroman\"]=0x2168;t[\"Nj\"]=0x01cb;t[\"Njecyrillic\"]=0x040a;t[\"Nlinebelow\"]=0x1e48;t[\"Nmonospace\"]=0xff2e;t[\"Nowarmenian\"]=0x0546;t[\"Nsmall\"]=0xf76e;t[\"Ntilde\"]=0x00d1;t[\"Ntildesmall\"]=0xf7f1;t[\"Nu\"]=0x039d;t[\"O\"]=0x004f;t[\"OE\"]=0x0152;t[\"OEsmall\"]=0xf6fa;t[\"Oacute\"]=0x00d3;t[\"Oacutesmall\"]=0xf7f3;t[\"Obarredcyrillic\"]=0x04e8;t[\"Obarreddieresiscyrillic\"]=0x04ea;t[\"Obreve\"]=0x014e;t[\"Ocaron\"]=0x01d1;t[\"Ocenteredtilde\"]=0x019f;t[\"Ocircle\"]=0x24c4;t[\"Ocircumflex\"]=0x00d4;t[\"Ocircumflexacute\"]=0x1ed0;t[\"Ocircumflexdotbelow\"]=0x1ed8;t[\"Ocircumflexgrave\"]=0x1ed2;t[\"Ocircumflexhookabove\"]=0x1ed4;t[\"Ocircumflexsmall\"]=0xf7f4;t[\"Ocircumflextilde\"]=0x1ed6;t[\"Ocyrillic\"]=0x041e;t[\"Odblacute\"]=0x0150;t[\"Odblgrave\"]=0x020c;t[\"Odieresis\"]=0x00d6;t[\"Odieresiscyrillic\"]=0x04e6;t[\"Odieresissmall\"]=0xf7f6;t[\"Odotbelow\"]=0x1ecc;t[\"Ogoneksmall\"]=0xf6fb;t[\"Ograve\"]=0x00d2;t[\"Ogravesmall\"]=0xf7f2;t[\"Oharmenian\"]=0x0555;t[\"Ohm\"]=0x2126;t[\"Ohookabove\"]=0x1ece;t[\"Ohorn\"]=0x01a0;t[\"Ohornacute\"]=0x1eda;t[\"Ohorndotbelow\"]=0x1ee2;t[\"Ohorngrave\"]=0x1edc;t[\"Ohornhookabove\"]=0x1ede;t[\"Ohorntilde\"]=0x1ee0;t[\"Ohungarumlaut\"]=0x0150;t[\"Oi\"]=0x01a2;t[\"Oinvertedbreve\"]=0x020e;t[\"Omacron\"]=0x014c;t[\"Omacronacute\"]=0x1e52;t[\"Omacrongrave\"]=0x1e50;t[\"Omega\"]=0x2126;t[\"Omegacyrillic\"]=0x0460;t[\"Omegagreek\"]=0x03a9;t[\"Omegaroundcyrillic\"]=0x047a;t[\"Omegatitlocyrillic\"]=0x047c;t[\"Omegatonos\"]=0x038f;t[\"Omicron\"]=0x039f;t[\"Omicrontonos\"]=0x038c;t[\"Omonospace\"]=0xff2f;t[\"Oneroman\"]=0x2160;t[\"Oogonek\"]=0x01ea;t[\"Oogonekmacron\"]=0x01ec;t[\"Oopen\"]=0x0186;t[\"Oslash\"]=0x00d8;t[\"Oslashacute\"]=0x01fe;t[\"Oslashsmall\"]=0xf7f8;t[\"Osmall\"]=0xf76f;t[\"Ostrokeacute\"]=0x01fe;t[\"Otcyrillic\"]=0x047e;t[\"Otilde\"]=0x00d5;t[\"Otildeacute\"]=0x1e4c;t[\"Otildedieresis\"]=0x1e4e;t[\"Otildesmall\"]=0xf7f5;t[\"P\"]=0x0050;t[\"Pacute\"]=0x1e54;t[\"Pcircle\"]=0x24c5;t[\"Pdotaccent\"]=0x1e56;t[\"Pecyrillic\"]=0x041f;t[\"Peharmenian\"]=0x054a;t[\"Pemiddlehookcyrillic\"]=0x04a6;t[\"Phi\"]=0x03a6;t[\"Phook\"]=0x01a4;t[\"Pi\"]=0x03a0;t[\"Piwrarmenian\"]=0x0553;t[\"Pmonospace\"]=0xff30;t[\"Psi\"]=0x03a8;t[\"Psicyrillic\"]=0x0470;t[\"Psmall\"]=0xf770;t[\"Q\"]=0x0051;t[\"Qcircle\"]=0x24c6;t[\"Qmonospace\"]=0xff31;t[\"Qsmall\"]=0xf771;t[\"R\"]=0x0052;t[\"Raarmenian\"]=0x054c;t[\"Racute\"]=0x0154;t[\"Rcaron\"]=0x0158;t[\"Rcedilla\"]=0x0156;t[\"Rcircle\"]=0x24c7;t[\"Rcommaaccent\"]=0x0156;t[\"Rdblgrave\"]=0x0210;t[\"Rdotaccent\"]=0x1e58;t[\"Rdotbelow\"]=0x1e5a;t[\"Rdotbelowmacron\"]=0x1e5c;t[\"Reharmenian\"]=0x0550;t[\"Rfraktur\"]=0x211c;t[\"Rho\"]=0x03a1;t[\"Ringsmall\"]=0xf6fc;t[\"Rinvertedbreve\"]=0x0212;t[\"Rlinebelow\"]=0x1e5e;t[\"Rmonospace\"]=0xff32;t[\"Rsmall\"]=0xf772;t[\"Rsmallinverted\"]=0x0281;t[\"Rsmallinvertedsuperior\"]=0x02b6;t[\"S\"]=0x0053;t[\"SF010000\"]=0x250c;t[\"SF020000\"]=0x2514;t[\"SF030000\"]=0x2510;t[\"SF040000\"]=0x2518;t[\"SF050000\"]=0x253c;t[\"SF060000\"]=0x252c;t[\"SF070000\"]=0x2534;t[\"SF080000\"]=0x251c;t[\"SF090000\"]=0x2524;t[\"SF100000\"]=0x2500;t[\"SF110000\"]=0x2502;t[\"SF190000\"]=0x2561;t[\"SF200000\"]=0x2562;t[\"SF210000\"]=0x2556;t[\"SF220000\"]=0x2555;t[\"SF230000\"]=0x2563;t[\"SF240000\"]=0x2551;t[\"SF250000\"]=0x2557;t[\"SF260000\"]=0x255d;t[\"SF270000\"]=0x255c;t[\"SF280000\"]=0x255b;t[\"SF360000\"]=0x255e;t[\"SF370000\"]=0x255f;t[\"SF380000\"]=0x255a;t[\"SF390000\"]=0x2554;t[\"SF400000\"]=0x2569;t[\"SF410000\"]=0x2566;t[\"SF420000\"]=0x2560;t[\"SF430000\"]=0x2550;t[\"SF440000\"]=0x256c;t[\"SF450000\"]=0x2567;t[\"SF460000\"]=0x2568;t[\"SF470000\"]=0x2564;t[\"SF480000\"]=0x2565;t[\"SF490000\"]=0x2559;t[\"SF500000\"]=0x2558;t[\"SF510000\"]=0x2552;t[\"SF520000\"]=0x2553;t[\"SF530000\"]=0x256b;t[\"SF540000\"]=0x256a;t[\"Sacute\"]=0x015a;t[\"Sacutedotaccent\"]=0x1e64;t[\"Sampigreek\"]=0x03e0;t[\"Scaron\"]=0x0160;t[\"Scarondotaccent\"]=0x1e66;t[\"Scaronsmall\"]=0xf6fd;t[\"Scedilla\"]=0x015e;t[\"Schwa\"]=0x018f;t[\"Schwacyrillic\"]=0x04d8;t[\"Schwadieresiscyrillic\"]=0x04da;t[\"Scircle\"]=0x24c8;t[\"Scircumflex\"]=0x015c;t[\"Scommaaccent\"]=0x0218;t[\"Sdotaccent\"]=0x1e60;t[\"Sdotbelow\"]=0x1e62;t[\"Sdotbelowdotaccent\"]=0x1e68;t[\"Seharmenian\"]=0x054d;t[\"Sevenroman\"]=0x2166;t[\"Shaarmenian\"]=0x0547;t[\"Shacyrillic\"]=0x0428;t[\"Shchacyrillic\"]=0x0429;t[\"Sheicoptic\"]=0x03e2;t[\"Shhacyrillic\"]=0x04ba;t[\"Shimacoptic\"]=0x03ec;t[\"Sigma\"]=0x03a3;t[\"Sixroman\"]=0x2165;t[\"Smonospace\"]=0xff33;t[\"Softsigncyrillic\"]=0x042c;t[\"Ssmall\"]=0xf773;t[\"Stigmagreek\"]=0x03da;t[\"T\"]=0x0054;t[\"Tau\"]=0x03a4;t[\"Tbar\"]=0x0166;t[\"Tcaron\"]=0x0164;t[\"Tcedilla\"]=0x0162;t[\"Tcircle\"]=0x24c9;t[\"Tcircumflexbelow\"]=0x1e70;t[\"Tcommaaccent\"]=0x0162;t[\"Tdotaccent\"]=0x1e6a;t[\"Tdotbelow\"]=0x1e6c;t[\"Tecyrillic\"]=0x0422;t[\"Tedescendercyrillic\"]=0x04ac;t[\"Tenroman\"]=0x2169;t[\"Tetsecyrillic\"]=0x04b4;t[\"Theta\"]=0x0398;t[\"Thook\"]=0x01ac;t[\"Thorn\"]=0x00de;t[\"Thornsmall\"]=0xf7fe;t[\"Threeroman\"]=0x2162;t[\"Tildesmall\"]=0xf6fe;t[\"Tiwnarmenian\"]=0x054f;t[\"Tlinebelow\"]=0x1e6e;t[\"Tmonospace\"]=0xff34;t[\"Toarmenian\"]=0x0539;t[\"Tonefive\"]=0x01bc;t[\"Tonesix\"]=0x0184;t[\"Tonetwo\"]=0x01a7;t[\"Tretroflexhook\"]=0x01ae;t[\"Tsecyrillic\"]=0x0426;t[\"Tshecyrillic\"]=0x040b;t[\"Tsmall\"]=0xf774;t[\"Twelveroman\"]=0x216b;t[\"Tworoman\"]=0x2161;t[\"U\"]=0x0055;t[\"Uacute\"]=0x00da;t[\"Uacutesmall\"]=0xf7fa;t[\"Ubreve\"]=0x016c;t[\"Ucaron\"]=0x01d3;t[\"Ucircle\"]=0x24ca;t[\"Ucircumflex\"]=0x00db;t[\"Ucircumflexbelow\"]=0x1e76;t[\"Ucircumflexsmall\"]=0xf7fb;t[\"Ucyrillic\"]=0x0423;t[\"Udblacute\"]=0x0170;t[\"Udblgrave\"]=0x0214;t[\"Udieresis\"]=0x00dc;t[\"Udieresisacute\"]=0x01d7;t[\"Udieresisbelow\"]=0x1e72;t[\"Udieresiscaron\"]=0x01d9;t[\"Udieresiscyrillic\"]=0x04f0;t[\"Udieresisgrave\"]=0x01db;t[\"Udieresismacron\"]=0x01d5;t[\"Udieresissmall\"]=0xf7fc;t[\"Udotbelow\"]=0x1ee4;t[\"Ugrave\"]=0x00d9;t[\"Ugravesmall\"]=0xf7f9;t[\"Uhookabove\"]=0x1ee6;t[\"Uhorn\"]=0x01af;t[\"Uhornacute\"]=0x1ee8;t[\"Uhorndotbelow\"]=0x1ef0;t[\"Uhorngrave\"]=0x1eea;t[\"Uhornhookabove\"]=0x1eec;t[\"Uhorntilde\"]=0x1eee;t[\"Uhungarumlaut\"]=0x0170;t[\"Uhungarumlautcyrillic\"]=0x04f2;t[\"Uinvertedbreve\"]=0x0216;t[\"Ukcyrillic\"]=0x0478;t[\"Umacron\"]=0x016a;t[\"Umacroncyrillic\"]=0x04ee;t[\"Umacrondieresis\"]=0x1e7a;t[\"Umonospace\"]=0xff35;t[\"Uogonek\"]=0x0172;t[\"Upsilon\"]=0x03a5;t[\"Upsilon1\"]=0x03d2;t[\"Upsilonacutehooksymbolgreek\"]=0x03d3;t[\"Upsilonafrican\"]=0x01b1;t[\"Upsilondieresis\"]=0x03ab;t[\"Upsilondieresishooksymbolgreek\"]=0x03d4;t[\"Upsilonhooksymbol\"]=0x03d2;t[\"Upsilontonos\"]=0x038e;t[\"Uring\"]=0x016e;t[\"Ushortcyrillic\"]=0x040e;t[\"Usmall\"]=0xf775;t[\"Ustraightcyrillic\"]=0x04ae;t[\"Ustraightstrokecyrillic\"]=0x04b0;t[\"Utilde\"]=0x0168;t[\"Utildeacute\"]=0x1e78;t[\"Utildebelow\"]=0x1e74;t[\"V\"]=0x0056;t[\"Vcircle\"]=0x24cb;t[\"Vdotbelow\"]=0x1e7e;t[\"Vecyrillic\"]=0x0412;t[\"Vewarmenian\"]=0x054e;t[\"Vhook\"]=0x01b2;t[\"Vmonospace\"]=0xff36;t[\"Voarmenian\"]=0x0548;t[\"Vsmall\"]=0xf776;t[\"Vtilde\"]=0x1e7c;t[\"W\"]=0x0057;t[\"Wacute\"]=0x1e82;t[\"Wcircle\"]=0x24cc;t[\"Wcircumflex\"]=0x0174;t[\"Wdieresis\"]=0x1e84;t[\"Wdotaccent\"]=0x1e86;t[\"Wdotbelow\"]=0x1e88;t[\"Wgrave\"]=0x1e80;t[\"Wmonospace\"]=0xff37;t[\"Wsmall\"]=0xf777;t[\"X\"]=0x0058;t[\"Xcircle\"]=0x24cd;t[\"Xdieresis\"]=0x1e8c;t[\"Xdotaccent\"]=0x1e8a;t[\"Xeharmenian\"]=0x053d;t[\"Xi\"]=0x039e;t[\"Xmonospace\"]=0xff38;t[\"Xsmall\"]=0xf778;t[\"Y\"]=0x0059;t[\"Yacute\"]=0x00dd;t[\"Yacutesmall\"]=0xf7fd;t[\"Yatcyrillic\"]=0x0462;t[\"Ycircle\"]=0x24ce;t[\"Ycircumflex\"]=0x0176;t[\"Ydieresis\"]=0x0178;t[\"Ydieresissmall\"]=0xf7ff;t[\"Ydotaccent\"]=0x1e8e;t[\"Ydotbelow\"]=0x1ef4;t[\"Yericyrillic\"]=0x042b;t[\"Yerudieresiscyrillic\"]=0x04f8;t[\"Ygrave\"]=0x1ef2;t[\"Yhook\"]=0x01b3;t[\"Yhookabove\"]=0x1ef6;t[\"Yiarmenian\"]=0x0545;t[\"Yicyrillic\"]=0x0407;t[\"Yiwnarmenian\"]=0x0552;t[\"Ymonospace\"]=0xff39;t[\"Ysmall\"]=0xf779;t[\"Ytilde\"]=0x1ef8;t[\"Yusbigcyrillic\"]=0x046a;t[\"Yusbigiotifiedcyrillic\"]=0x046c;t[\"Yuslittlecyrillic\"]=0x0466;t[\"Yuslittleiotifiedcyrillic\"]=0x0468;t[\"Z\"]=0x005a;t[\"Zaarmenian\"]=0x0536;t[\"Zacute\"]=0x0179;t[\"Zcaron\"]=0x017d;t[\"Zcaronsmall\"]=0xf6ff;t[\"Zcircle\"]=0x24cf;t[\"Zcircumflex\"]=0x1e90;t[\"Zdot\"]=0x017b;t[\"Zdotaccent\"]=0x017b;t[\"Zdotbelow\"]=0x1e92;t[\"Zecyrillic\"]=0x0417;t[\"Zedescendercyrillic\"]=0x0498;t[\"Zedieresiscyrillic\"]=0x04de;t[\"Zeta\"]=0x0396;t[\"Zhearmenian\"]=0x053a;t[\"Zhebrevecyrillic\"]=0x04c1;t[\"Zhecyrillic\"]=0x0416;t[\"Zhedescendercyrillic\"]=0x0496;t[\"Zhedieresiscyrillic\"]=0x04dc;t[\"Zlinebelow\"]=0x1e94;t[\"Zmonospace\"]=0xff3a;t[\"Zsmall\"]=0xf77a;t[\"Zstroke\"]=0x01b5;t[\"a\"]=0x0061;t[\"aabengali\"]=0x0986;t[\"aacute\"]=0x00e1;t[\"aadeva\"]=0x0906;t[\"aagujarati\"]=0x0a86;t[\"aagurmukhi\"]=0x0a06;t[\"aamatragurmukhi\"]=0x0a3e;t[\"aarusquare\"]=0x3303;t[\"aavowelsignbengali\"]=0x09be;t[\"aavowelsigndeva\"]=0x093e;t[\"aavowelsigngujarati\"]=0x0abe;t[\"abbreviationmarkarmenian\"]=0x055f;t[\"abbreviationsigndeva\"]=0x0970;t[\"abengali\"]=0x0985;t[\"abopomofo\"]=0x311a;t[\"abreve\"]=0x0103;t[\"abreveacute\"]=0x1eaf;t[\"abrevecyrillic\"]=0x04d1;t[\"abrevedotbelow\"]=0x1eb7;t[\"abrevegrave\"]=0x1eb1;t[\"abrevehookabove\"]=0x1eb3;t[\"abrevetilde\"]=0x1eb5;t[\"acaron\"]=0x01ce;t[\"acircle\"]=0x24d0;t[\"acircumflex\"]=0x00e2;t[\"acircumflexacute\"]=0x1ea5;t[\"acircumflexdotbelow\"]=0x1ead;t[\"acircumflexgrave\"]=0x1ea7;t[\"acircumflexhookabove\"]=0x1ea9;t[\"acircumflextilde\"]=0x1eab;t[\"acute\"]=0x00b4;t[\"acutebelowcmb\"]=0x0317;t[\"acutecmb\"]=0x0301;t[\"acutecomb\"]=0x0301;t[\"acutedeva\"]=0x0954;t[\"acutelowmod\"]=0x02cf;t[\"acutetonecmb\"]=0x0341;t[\"acyrillic\"]=0x0430;t[\"adblgrave\"]=0x0201;t[\"addakgurmukhi\"]=0x0a71;t[\"adeva\"]=0x0905;t[\"adieresis\"]=0x00e4;t[\"adieresiscyrillic\"]=0x04d3;t[\"adieresismacron\"]=0x01df;t[\"adotbelow\"]=0x1ea1;t[\"adotmacron\"]=0x01e1;t[\"ae\"]=0x00e6;t[\"aeacute\"]=0x01fd;t[\"aekorean\"]=0x3150;t[\"aemacron\"]=0x01e3;t[\"afii00208\"]=0x2015;t[\"afii08941\"]=0x20a4;t[\"afii10017\"]=0x0410;t[\"afii10018\"]=0x0411;t[\"afii10019\"]=0x0412;t[\"afii10020\"]=0x0413;t[\"afii10021\"]=0x0414;t[\"afii10022\"]=0x0415;t[\"afii10023\"]=0x0401;t[\"afii10024\"]=0x0416;t[\"afii10025\"]=0x0417;t[\"afii10026\"]=0x0418;t[\"afii10027\"]=0x0419;t[\"afii10028\"]=0x041a;t[\"afii10029\"]=0x041b;t[\"afii10030\"]=0x041c;t[\"afii10031\"]=0x041d;t[\"afii10032\"]=0x041e;t[\"afii10033\"]=0x041f;t[\"afii10034\"]=0x0420;t[\"afii10035\"]=0x0421;t[\"afii10036\"]=0x0422;t[\"afii10037\"]=0x0423;t[\"afii10038\"]=0x0424;t[\"afii10039\"]=0x0425;t[\"afii10040\"]=0x0426;t[\"afii10041\"]=0x0427;t[\"afii10042\"]=0x0428;t[\"afii10043\"]=0x0429;t[\"afii10044\"]=0x042a;t[\"afii10045\"]=0x042b;t[\"afii10046\"]=0x042c;t[\"afii10047\"]=0x042d;t[\"afii10048\"]=0x042e;t[\"afii10049\"]=0x042f;t[\"afii10050\"]=0x0490;t[\"afii10051\"]=0x0402;t[\"afii10052\"]=0x0403;t[\"afii10053\"]=0x0404;t[\"afii10054\"]=0x0405;t[\"afii10055\"]=0x0406;t[\"afii10056\"]=0x0407;t[\"afii10057\"]=0x0408;t[\"afii10058\"]=0x0409;t[\"afii10059\"]=0x040a;t[\"afii10060\"]=0x040b;t[\"afii10061\"]=0x040c;t[\"afii10062\"]=0x040e;t[\"afii10063\"]=0xf6c4;t[\"afii10064\"]=0xf6c5;t[\"afii10065\"]=0x0430;t[\"afii10066\"]=0x0431;t[\"afii10067\"]=0x0432;t[\"afii10068\"]=0x0433;t[\"afii10069\"]=0x0434;t[\"afii10070\"]=0x0435;t[\"afii10071\"]=0x0451;t[\"afii10072\"]=0x0436;t[\"afii10073\"]=0x0437;t[\"afii10074\"]=0x0438;t[\"afii10075\"]=0x0439;t[\"afii10076\"]=0x043a;t[\"afii10077\"]=0x043b;t[\"afii10078\"]=0x043c;t[\"afii10079\"]=0x043d;t[\"afii10080\"]=0x043e;t[\"afii10081\"]=0x043f;t[\"afii10082\"]=0x0440;t[\"afii10083\"]=0x0441;t[\"afii10084\"]=0x0442;t[\"afii10085\"]=0x0443;t[\"afii10086\"]=0x0444;t[\"afii10087\"]=0x0445;t[\"afii10088\"]=0x0446;t[\"afii10089\"]=0x0447;t[\"afii10090\"]=0x0448;t[\"afii10091\"]=0x0449;t[\"afii10092\"]=0x044a;t[\"afii10093\"]=0x044b;t[\"afii10094\"]=0x044c;t[\"afii10095\"]=0x044d;t[\"afii10096\"]=0x044e;t[\"afii10097\"]=0x044f;t[\"afii10098\"]=0x0491;t[\"afii10099\"]=0x0452;t[\"afii10100\"]=0x0453;t[\"afii10101\"]=0x0454;t[\"afii10102\"]=0x0455;t[\"afii10103\"]=0x0456;t[\"afii10104\"]=0x0457;t[\"afii10105\"]=0x0458;t[\"afii10106\"]=0x0459;t[\"afii10107\"]=0x045a;t[\"afii10108\"]=0x045b;t[\"afii10109\"]=0x045c;t[\"afii10110\"]=0x045e;t[\"afii10145\"]=0x040f;t[\"afii10146\"]=0x0462;t[\"afii10147\"]=0x0472;t[\"afii10148\"]=0x0474;t[\"afii10192\"]=0xf6c6;t[\"afii10193\"]=0x045f;t[\"afii10194\"]=0x0463;t[\"afii10195\"]=0x0473;t[\"afii10196\"]=0x0475;t[\"afii10831\"]=0xf6c7;t[\"afii10832\"]=0xf6c8;t[\"afii10846\"]=0x04d9;t[\"afii299\"]=0x200e;t[\"afii300\"]=0x200f;t[\"afii301\"]=0x200d;t[\"afii57381\"]=0x066a;t[\"afii57388\"]=0x060c;t[\"afii57392\"]=0x0660;t[\"afii57393\"]=0x0661;t[\"afii57394\"]=0x0662;t[\"afii57395\"]=0x0663;t[\"afii57396\"]=0x0664;t[\"afii57397\"]=0x0665;t[\"afii57398\"]=0x0666;t[\"afii57399\"]=0x0667;t[\"afii57400\"]=0x0668;t[\"afii57401\"]=0x0669;t[\"afii57403\"]=0x061b;t[\"afii57407\"]=0x061f;t[\"afii57409\"]=0x0621;t[\"afii57410\"]=0x0622;t[\"afii57411\"]=0x0623;t[\"afii57412\"]=0x0624;t[\"afii57413\"]=0x0625;t[\"afii57414\"]=0x0626;t[\"afii57415\"]=0x0627;t[\"afii57416\"]=0x0628;t[\"afii57417\"]=0x0629;t[\"afii57418\"]=0x062a;t[\"afii57419\"]=0x062b;t[\"afii57420\"]=0x062c;t[\"afii57421\"]=0x062d;t[\"afii57422\"]=0x062e;t[\"afii57423\"]=0x062f;t[\"afii57424\"]=0x0630;t[\"afii57425\"]=0x0631;t[\"afii57426\"]=0x0632;t[\"afii57427\"]=0x0633;t[\"afii57428\"]=0x0634;t[\"afii57429\"]=0x0635;t[\"afii57430\"]=0x0636;t[\"afii57431\"]=0x0637;t[\"afii57432\"]=0x0638;t[\"afii57433\"]=0x0639;t[\"afii57434\"]=0x063a;t[\"afii57440\"]=0x0640;t[\"afii57441\"]=0x0641;t[\"afii57442\"]=0x0642;t[\"afii57443\"]=0x0643;t[\"afii57444\"]=0x0644;t[\"afii57445\"]=0x0645;t[\"afii57446\"]=0x0646;t[\"afii57448\"]=0x0648;t[\"afii57449\"]=0x0649;t[\"afii57450\"]=0x064a;t[\"afii57451\"]=0x064b;t[\"afii57452\"]=0x064c;t[\"afii57453\"]=0x064d;t[\"afii57454\"]=0x064e;t[\"afii57455\"]=0x064f;t[\"afii57456\"]=0x0650;t[\"afii57457\"]=0x0651;t[\"afii57458\"]=0x0652;t[\"afii57470\"]=0x0647;t[\"afii57505\"]=0x06a4;t[\"afii57506\"]=0x067e;t[\"afii57507\"]=0x0686;t[\"afii57508\"]=0x0698;t[\"afii57509\"]=0x06af;t[\"afii57511\"]=0x0679;t[\"afii57512\"]=0x0688;t[\"afii57513\"]=0x0691;t[\"afii57514\"]=0x06ba;t[\"afii57519\"]=0x06d2;t[\"afii57534\"]=0x06d5;t[\"afii57636\"]=0x20aa;t[\"afii57645\"]=0x05be;t[\"afii57658\"]=0x05c3;t[\"afii57664\"]=0x05d0;t[\"afii57665\"]=0x05d1;t[\"afii57666\"]=0x05d2;t[\"afii57667\"]=0x05d3;t[\"afii57668\"]=0x05d4;t[\"afii57669\"]=0x05d5;t[\"afii57670\"]=0x05d6;t[\"afii57671\"]=0x05d7;t[\"afii57672\"]=0x05d8;t[\"afii57673\"]=0x05d9;t[\"afii57674\"]=0x05da;t[\"afii57675\"]=0x05db;t[\"afii57676\"]=0x05dc;t[\"afii57677\"]=0x05dd;t[\"afii57678\"]=0x05de;t[\"afii57679\"]=0x05df;t[\"afii57680\"]=0x05e0;t[\"afii57681\"]=0x05e1;t[\"afii57682\"]=0x05e2;t[\"afii57683\"]=0x05e3;t[\"afii57684\"]=0x05e4;t[\"afii57685\"]=0x05e5;t[\"afii57686\"]=0x05e6;t[\"afii57687\"]=0x05e7;t[\"afii57688\"]=0x05e8;t[\"afii57689\"]=0x05e9;t[\"afii57690\"]=0x05ea;t[\"afii57694\"]=0xfb2a;t[\"afii57695\"]=0xfb2b;t[\"afii57700\"]=0xfb4b;t[\"afii57705\"]=0xfb1f;t[\"afii57716\"]=0x05f0;t[\"afii57717\"]=0x05f1;t[\"afii57718\"]=0x05f2;t[\"afii57723\"]=0xfb35;t[\"afii57793\"]=0x05b4;t[\"afii57794\"]=0x05b5;t[\"afii57795\"]=0x05b6;t[\"afii57796\"]=0x05bb;t[\"afii57797\"]=0x05b8;t[\"afii57798\"]=0x05b7;t[\"afii57799\"]=0x05b0;t[\"afii57800\"]=0x05b2;t[\"afii57801\"]=0x05b1;t[\"afii57802\"]=0x05b3;t[\"afii57803\"]=0x05c2;t[\"afii57804\"]=0x05c1;t[\"afii57806\"]=0x05b9;t[\"afii57807\"]=0x05bc;t[\"afii57839\"]=0x05bd;t[\"afii57841\"]=0x05bf;t[\"afii57842\"]=0x05c0;t[\"afii57929\"]=0x02bc;t[\"afii61248\"]=0x2105;t[\"afii61289\"]=0x2113;t[\"afii61352\"]=0x2116;t[\"afii61573\"]=0x202c;t[\"afii61574\"]=0x202d;t[\"afii61575\"]=0x202e;t[\"afii61664\"]=0x200c;t[\"afii63167\"]=0x066d;t[\"afii64937\"]=0x02bd;t[\"agrave\"]=0x00e0;t[\"agujarati\"]=0x0a85;t[\"agurmukhi\"]=0x0a05;t[\"ahiragana\"]=0x3042;t[\"ahookabove\"]=0x1ea3;t[\"aibengali\"]=0x0990;t[\"aibopomofo\"]=0x311e;t[\"aideva\"]=0x0910;t[\"aiecyrillic\"]=0x04d5;t[\"aigujarati\"]=0x0a90;t[\"aigurmukhi\"]=0x0a10;t[\"aimatragurmukhi\"]=0x0a48;t[\"ainarabic\"]=0x0639;t[\"ainfinalarabic\"]=0xfeca;t[\"aininitialarabic\"]=0xfecb;t[\"ainmedialarabic\"]=0xfecc;t[\"ainvertedbreve\"]=0x0203;t[\"aivowelsignbengali\"]=0x09c8;t[\"aivowelsigndeva\"]=0x0948;t[\"aivowelsigngujarati\"]=0x0ac8;t[\"akatakana\"]=0x30a2;t[\"akatakanahalfwidth\"]=0xff71;t[\"akorean\"]=0x314f;t[\"alef\"]=0x05d0;t[\"alefarabic\"]=0x0627;t[\"alefdageshhebrew\"]=0xfb30;t[\"aleffinalarabic\"]=0xfe8e;t[\"alefhamzaabovearabic\"]=0x0623;t[\"alefhamzaabovefinalarabic\"]=0xfe84;t[\"alefhamzabelowarabic\"]=0x0625;t[\"alefhamzabelowfinalarabic\"]=0xfe88;t[\"alefhebrew\"]=0x05d0;t[\"aleflamedhebrew\"]=0xfb4f;t[\"alefmaddaabovearabic\"]=0x0622;t[\"alefmaddaabovefinalarabic\"]=0xfe82;t[\"alefmaksuraarabic\"]=0x0649;t[\"alefmaksurafinalarabic\"]=0xfef0;t[\"alefmaksurainitialarabic\"]=0xfef3;t[\"alefmaksuramedialarabic\"]=0xfef4;t[\"alefpatahhebrew\"]=0xfb2e;t[\"alefqamatshebrew\"]=0xfb2f;t[\"aleph\"]=0x2135;t[\"allequal\"]=0x224c;t[\"alpha\"]=0x03b1;t[\"alphatonos\"]=0x03ac;t[\"amacron\"]=0x0101;t[\"amonospace\"]=0xff41;t[\"ampersand\"]=0x0026;t[\"ampersandmonospace\"]=0xff06;t[\"ampersandsmall\"]=0xf726;t[\"amsquare\"]=0x33c2;t[\"anbopomofo\"]=0x3122;t[\"angbopomofo\"]=0x3124;t[\"angbracketleft\"]=0x3008;t[\"angbracketright\"]=0x3009;t[\"angkhankhuthai\"]=0x0e5a;t[\"angle\"]=0x2220;t[\"anglebracketleft\"]=0x3008;t[\"anglebracketleftvertical\"]=0xfe3f;t[\"anglebracketright\"]=0x3009;t[\"anglebracketrightvertical\"]=0xfe40;t[\"angleleft\"]=0x2329;t[\"angleright\"]=0x232a;t[\"angstrom\"]=0x212b;t[\"anoteleia\"]=0x0387;t[\"anudattadeva\"]=0x0952;t[\"anusvarabengali\"]=0x0982;t[\"anusvaradeva\"]=0x0902;t[\"anusvaragujarati\"]=0x0a82;t[\"aogonek\"]=0x0105;t[\"apaatosquare\"]=0x3300;t[\"aparen\"]=0x249c;t[\"apostrophearmenian\"]=0x055a;t[\"apostrophemod\"]=0x02bc;t[\"apple\"]=0xf8ff;t[\"approaches\"]=0x2250;t[\"approxequal\"]=0x2248;t[\"approxequalorimage\"]=0x2252;t[\"approximatelyequal\"]=0x2245;t[\"araeaekorean\"]=0x318e;t[\"araeakorean\"]=0x318d;t[\"arc\"]=0x2312;t[\"arighthalfring\"]=0x1e9a;t[\"aring\"]=0x00e5;t[\"aringacute\"]=0x01fb;t[\"aringbelow\"]=0x1e01;t[\"arrowboth\"]=0x2194;t[\"arrowdashdown\"]=0x21e3;t[\"arrowdashleft\"]=0x21e0;t[\"arrowdashright\"]=0x21e2;t[\"arrowdashup\"]=0x21e1;t[\"arrowdblboth\"]=0x21d4;t[\"arrowdbldown\"]=0x21d3;t[\"arrowdblleft\"]=0x21d0;t[\"arrowdblright\"]=0x21d2;t[\"arrowdblup\"]=0x21d1;t[\"arrowdown\"]=0x2193;t[\"arrowdownleft\"]=0x2199;t[\"arrowdownright\"]=0x2198;t[\"arrowdownwhite\"]=0x21e9;t[\"arrowheaddownmod\"]=0x02c5;t[\"arrowheadleftmod\"]=0x02c2;t[\"arrowheadrightmod\"]=0x02c3;t[\"arrowheadupmod\"]=0x02c4;t[\"arrowhorizex\"]=0xf8e7;t[\"arrowleft\"]=0x2190;t[\"arrowleftdbl\"]=0x21d0;t[\"arrowleftdblstroke\"]=0x21cd;t[\"arrowleftoverright\"]=0x21c6;t[\"arrowleftwhite\"]=0x21e6;t[\"arrowright\"]=0x2192;t[\"arrowrightdblstroke\"]=0x21cf;t[\"arrowrightheavy\"]=0x279e;t[\"arrowrightoverleft\"]=0x21c4;t[\"arrowrightwhite\"]=0x21e8;t[\"arrowtableft\"]=0x21e4;t[\"arrowtabright\"]=0x21e5;t[\"arrowup\"]=0x2191;t[\"arrowupdn\"]=0x2195;t[\"arrowupdnbse\"]=0x21a8;t[\"arrowupdownbase\"]=0x21a8;t[\"arrowupleft\"]=0x2196;t[\"arrowupleftofdown\"]=0x21c5;t[\"arrowupright\"]=0x2197;t[\"arrowupwhite\"]=0x21e7;t[\"arrowvertex\"]=0xf8e6;t[\"asciicircum\"]=0x005e;t[\"asciicircummonospace\"]=0xff3e;t[\"asciitilde\"]=0x007e;t[\"asciitildemonospace\"]=0xff5e;t[\"ascript\"]=0x0251;t[\"ascriptturned\"]=0x0252;t[\"asmallhiragana\"]=0x3041;t[\"asmallkatakana\"]=0x30a1;t[\"asmallkatakanahalfwidth\"]=0xff67;t[\"asterisk\"]=0x002a;t[\"asteriskaltonearabic\"]=0x066d;t[\"asteriskarabic\"]=0x066d;t[\"asteriskmath\"]=0x2217;t[\"asteriskmonospace\"]=0xff0a;t[\"asterisksmall\"]=0xfe61;t[\"asterism\"]=0x2042;t[\"asuperior\"]=0xf6e9;t[\"asymptoticallyequal\"]=0x2243;t[\"at\"]=0x0040;t[\"atilde\"]=0x00e3;t[\"atmonospace\"]=0xff20;t[\"atsmall\"]=0xfe6b;t[\"aturned\"]=0x0250;t[\"aubengali\"]=0x0994;t[\"aubopomofo\"]=0x3120;t[\"audeva\"]=0x0914;t[\"augujarati\"]=0x0a94;t[\"augurmukhi\"]=0x0a14;t[\"aulengthmarkbengali\"]=0x09d7;t[\"aumatragurmukhi\"]=0x0a4c;t[\"auvowelsignbengali\"]=0x09cc;t[\"auvowelsigndeva\"]=0x094c;t[\"auvowelsigngujarati\"]=0x0acc;t[\"avagrahadeva\"]=0x093d;t[\"aybarmenian\"]=0x0561;t[\"ayin\"]=0x05e2;t[\"ayinaltonehebrew\"]=0xfb20;t[\"ayinhebrew\"]=0x05e2;t[\"b\"]=0x0062;t[\"babengali\"]=0x09ac;t[\"backslash\"]=0x005c;t[\"backslashmonospace\"]=0xff3c;t[\"badeva\"]=0x092c;t[\"bagujarati\"]=0x0aac;t[\"bagurmukhi\"]=0x0a2c;t[\"bahiragana\"]=0x3070;t[\"bahtthai\"]=0x0e3f;t[\"bakatakana\"]=0x30d0;t[\"bar\"]=0x007c;t[\"barmonospace\"]=0xff5c;t[\"bbopomofo\"]=0x3105;t[\"bcircle\"]=0x24d1;t[\"bdotaccent\"]=0x1e03;t[\"bdotbelow\"]=0x1e05;t[\"beamedsixteenthnotes\"]=0x266c;t[\"because\"]=0x2235;t[\"becyrillic\"]=0x0431;t[\"beharabic\"]=0x0628;t[\"behfinalarabic\"]=0xfe90;t[\"behinitialarabic\"]=0xfe91;t[\"behiragana\"]=0x3079;t[\"behmedialarabic\"]=0xfe92;t[\"behmeeminitialarabic\"]=0xfc9f;t[\"behmeemisolatedarabic\"]=0xfc08;t[\"behnoonfinalarabic\"]=0xfc6d;t[\"bekatakana\"]=0x30d9;t[\"benarmenian\"]=0x0562;t[\"bet\"]=0x05d1;t[\"beta\"]=0x03b2;t[\"betasymbolgreek\"]=0x03d0;t[\"betdagesh\"]=0xfb31;t[\"betdageshhebrew\"]=0xfb31;t[\"bethebrew\"]=0x05d1;t[\"betrafehebrew\"]=0xfb4c;t[\"bhabengali\"]=0x09ad;t[\"bhadeva\"]=0x092d;t[\"bhagujarati\"]=0x0aad;t[\"bhagurmukhi\"]=0x0a2d;t[\"bhook\"]=0x0253;t[\"bihiragana\"]=0x3073;t[\"bikatakana\"]=0x30d3;t[\"bilabialclick\"]=0x0298;t[\"bindigurmukhi\"]=0x0a02;t[\"birusquare\"]=0x3331;t[\"blackcircle\"]=0x25cf;t[\"blackdiamond\"]=0x25c6;t[\"blackdownpointingtriangle\"]=0x25bc;t[\"blackleftpointingpointer\"]=0x25c4;t[\"blackleftpointingtriangle\"]=0x25c0;t[\"blacklenticularbracketleft\"]=0x3010;t[\"blacklenticularbracketleftvertical\"]=0xfe3b;t[\"blacklenticularbracketright\"]=0x3011;t[\"blacklenticularbracketrightvertical\"]=0xfe3c;t[\"blacklowerlefttriangle\"]=0x25e3;t[\"blacklowerrighttriangle\"]=0x25e2;t[\"blackrectangle\"]=0x25ac;t[\"blackrightpointingpointer\"]=0x25ba;t[\"blackrightpointingtriangle\"]=0x25b6;t[\"blacksmallsquare\"]=0x25aa;t[\"blacksmilingface\"]=0x263b;t[\"blacksquare\"]=0x25a0;t[\"blackstar\"]=0x2605;t[\"blackupperlefttriangle\"]=0x25e4;t[\"blackupperrighttriangle\"]=0x25e5;t[\"blackuppointingsmalltriangle\"]=0x25b4;t[\"blackuppointingtriangle\"]=0x25b2;t[\"blank\"]=0x2423;t[\"blinebelow\"]=0x1e07;t[\"block\"]=0x2588;t[\"bmonospace\"]=0xff42;t[\"bobaimaithai\"]=0x0e1a;t[\"bohiragana\"]=0x307c;t[\"bokatakana\"]=0x30dc;t[\"bparen\"]=0x249d;t[\"bqsquare\"]=0x33c3;t[\"braceex\"]=0xf8f4;t[\"braceleft\"]=0x007b;t[\"braceleftbt\"]=0xf8f3;t[\"braceleftmid\"]=0xf8f2;t[\"braceleftmonospace\"]=0xff5b;t[\"braceleftsmall\"]=0xfe5b;t[\"bracelefttp\"]=0xf8f1;t[\"braceleftvertical\"]=0xfe37;t[\"braceright\"]=0x007d;t[\"bracerightbt\"]=0xf8fe;t[\"bracerightmid\"]=0xf8fd;t[\"bracerightmonospace\"]=0xff5d;t[\"bracerightsmall\"]=0xfe5c;t[\"bracerighttp\"]=0xf8fc;t[\"bracerightvertical\"]=0xfe38;t[\"bracketleft\"]=0x005b;t[\"bracketleftbt\"]=0xf8f0;t[\"bracketleftex\"]=0xf8ef;t[\"bracketleftmonospace\"]=0xff3b;t[\"bracketlefttp\"]=0xf8ee;t[\"bracketright\"]=0x005d;t[\"bracketrightbt\"]=0xf8fb;t[\"bracketrightex\"]=0xf8fa;t[\"bracketrightmonospace\"]=0xff3d;t[\"bracketrighttp\"]=0xf8f9;t[\"breve\"]=0x02d8;t[\"brevebelowcmb\"]=0x032e;t[\"brevecmb\"]=0x0306;t[\"breveinvertedbelowcmb\"]=0x032f;t[\"breveinvertedcmb\"]=0x0311;t[\"breveinverteddoublecmb\"]=0x0361;t[\"bridgebelowcmb\"]=0x032a;t[\"bridgeinvertedbelowcmb\"]=0x033a;t[\"brokenbar\"]=0x00a6;t[\"bstroke\"]=0x0180;t[\"bsuperior\"]=0xf6ea;t[\"btopbar\"]=0x0183;t[\"buhiragana\"]=0x3076;t[\"bukatakana\"]=0x30d6;t[\"bullet\"]=0x2022;t[\"bulletinverse\"]=0x25d8;t[\"bulletoperator\"]=0x2219;t[\"bullseye\"]=0x25ce;t[\"c\"]=0x0063;t[\"caarmenian\"]=0x056e;t[\"cabengali\"]=0x099a;t[\"cacute\"]=0x0107;t[\"cadeva\"]=0x091a;t[\"cagujarati\"]=0x0a9a;t[\"cagurmukhi\"]=0x0a1a;t[\"calsquare\"]=0x3388;t[\"candrabindubengali\"]=0x0981;t[\"candrabinducmb\"]=0x0310;t[\"candrabindudeva\"]=0x0901;t[\"candrabindugujarati\"]=0x0a81;t[\"capslock\"]=0x21ea;t[\"careof\"]=0x2105;t[\"caron\"]=0x02c7;t[\"caronbelowcmb\"]=0x032c;t[\"caroncmb\"]=0x030c;t[\"carriagereturn\"]=0x21b5;t[\"cbopomofo\"]=0x3118;t[\"ccaron\"]=0x010d;t[\"ccedilla\"]=0x00e7;t[\"ccedillaacute\"]=0x1e09;t[\"ccircle\"]=0x24d2;t[\"ccircumflex\"]=0x0109;t[\"ccurl\"]=0x0255;t[\"cdot\"]=0x010b;t[\"cdotaccent\"]=0x010b;t[\"cdsquare\"]=0x33c5;t[\"cedilla\"]=0x00b8;t[\"cedillacmb\"]=0x0327;t[\"cent\"]=0x00a2;t[\"centigrade\"]=0x2103;t[\"centinferior\"]=0xf6df;t[\"centmonospace\"]=0xffe0;t[\"centoldstyle\"]=0xf7a2;t[\"centsuperior\"]=0xf6e0;t[\"chaarmenian\"]=0x0579;t[\"chabengali\"]=0x099b;t[\"chadeva\"]=0x091b;t[\"chagujarati\"]=0x0a9b;t[\"chagurmukhi\"]=0x0a1b;t[\"chbopomofo\"]=0x3114;t[\"cheabkhasiancyrillic\"]=0x04bd;t[\"checkmark\"]=0x2713;t[\"checyrillic\"]=0x0447;t[\"chedescenderabkhasiancyrillic\"]=0x04bf;t[\"chedescendercyrillic\"]=0x04b7;t[\"chedieresiscyrillic\"]=0x04f5;t[\"cheharmenian\"]=0x0573;t[\"chekhakassiancyrillic\"]=0x04cc;t[\"cheverticalstrokecyrillic\"]=0x04b9;t[\"chi\"]=0x03c7;t[\"chieuchacirclekorean\"]=0x3277;t[\"chieuchaparenkorean\"]=0x3217;t[\"chieuchcirclekorean\"]=0x3269;t[\"chieuchkorean\"]=0x314a;t[\"chieuchparenkorean\"]=0x3209;t[\"chochangthai\"]=0x0e0a;t[\"chochanthai\"]=0x0e08;t[\"chochingthai\"]=0x0e09;t[\"chochoethai\"]=0x0e0c;t[\"chook\"]=0x0188;t[\"cieucacirclekorean\"]=0x3276;t[\"cieucaparenkorean\"]=0x3216;t[\"cieuccirclekorean\"]=0x3268;t[\"cieuckorean\"]=0x3148;t[\"cieucparenkorean\"]=0x3208;t[\"cieucuparenkorean\"]=0x321c;t[\"circle\"]=0x25cb;t[\"circlecopyrt\"]=0x00a9;t[\"circlemultiply\"]=0x2297;t[\"circleot\"]=0x2299;t[\"circleplus\"]=0x2295;t[\"circlepostalmark\"]=0x3036;t[\"circlewithlefthalfblack\"]=0x25d0;t[\"circlewithrighthalfblack\"]=0x25d1;t[\"circumflex\"]=0x02c6;t[\"circumflexbelowcmb\"]=0x032d;t[\"circumflexcmb\"]=0x0302;t[\"clear\"]=0x2327;t[\"clickalveolar\"]=0x01c2;t[\"clickdental\"]=0x01c0;t[\"clicklateral\"]=0x01c1;t[\"clickretroflex\"]=0x01c3;t[\"club\"]=0x2663;t[\"clubsuitblack\"]=0x2663;t[\"clubsuitwhite\"]=0x2667;t[\"cmcubedsquare\"]=0x33a4;t[\"cmonospace\"]=0xff43;t[\"cmsquaredsquare\"]=0x33a0;t[\"coarmenian\"]=0x0581;t[\"colon\"]=0x003a;t[\"colonmonetary\"]=0x20a1;t[\"colonmonospace\"]=0xff1a;t[\"colonsign\"]=0x20a1;t[\"colonsmall\"]=0xfe55;t[\"colontriangularhalfmod\"]=0x02d1;t[\"colontriangularmod\"]=0x02d0;t[\"comma\"]=0x002c;t[\"commaabovecmb\"]=0x0313;t[\"commaaboverightcmb\"]=0x0315;t[\"commaaccent\"]=0xf6c3;t[\"commaarabic\"]=0x060c;t[\"commaarmenian\"]=0x055d;t[\"commainferior\"]=0xf6e1;t[\"commamonospace\"]=0xff0c;t[\"commareversedabovecmb\"]=0x0314;t[\"commareversedmod\"]=0x02bd;t[\"commasmall\"]=0xfe50;t[\"commasuperior\"]=0xf6e2;t[\"commaturnedabovecmb\"]=0x0312;t[\"commaturnedmod\"]=0x02bb;t[\"compass\"]=0x263c;t[\"congruent\"]=0x2245;t[\"contourintegral\"]=0x222e;t[\"control\"]=0x2303;t[\"controlACK\"]=0x0006;t[\"controlBEL\"]=0x0007;t[\"controlBS\"]=0x0008;t[\"controlCAN\"]=0x0018;t[\"controlCR\"]=0x000d;t[\"controlDC1\"]=0x0011;t[\"controlDC2\"]=0x0012;t[\"controlDC3\"]=0x0013;t[\"controlDC4\"]=0x0014;t[\"controlDEL\"]=0x007f;t[\"controlDLE\"]=0x0010;t[\"controlEM\"]=0x0019;t[\"controlENQ\"]=0x0005;t[\"controlEOT\"]=0x0004;t[\"controlESC\"]=0x001b;t[\"controlETB\"]=0x0017;t[\"controlETX\"]=0x0003;t[\"controlFF\"]=0x000c;t[\"controlFS\"]=0x001c;t[\"controlGS\"]=0x001d;t[\"controlHT\"]=0x0009;t[\"controlLF\"]=0x000a;t[\"controlNAK\"]=0x0015;t[\"controlNULL\"]=0x0000;t[\"controlRS\"]=0x001e;t[\"controlSI\"]=0x000f;t[\"controlSO\"]=0x000e;t[\"controlSOT\"]=0x0002;t[\"controlSTX\"]=0x0001;t[\"controlSUB\"]=0x001a;t[\"controlSYN\"]=0x0016;t[\"controlUS\"]=0x001f;t[\"controlVT\"]=0x000b;t[\"copyright\"]=0x00a9;t[\"copyrightsans\"]=0xf8e9;t[\"copyrightserif\"]=0xf6d9;t[\"cornerbracketleft\"]=0x300c;t[\"cornerbracketlefthalfwidth\"]=0xff62;t[\"cornerbracketleftvertical\"]=0xfe41;t[\"cornerbracketright\"]=0x300d;t[\"cornerbracketrighthalfwidth\"]=0xff63;t[\"cornerbracketrightvertical\"]=0xfe42;t[\"corporationsquare\"]=0x337f;t[\"cosquare\"]=0x33c7;t[\"coverkgsquare\"]=0x33c6;t[\"cparen\"]=0x249e;t[\"cruzeiro\"]=0x20a2;t[\"cstretched\"]=0x0297;t[\"curlyand\"]=0x22cf;t[\"curlyor\"]=0x22ce;t[\"currency\"]=0x00a4;t[\"cyrBreve\"]=0xf6d1;t[\"cyrFlex\"]=0xf6d2;t[\"cyrbreve\"]=0xf6d4;t[\"cyrflex\"]=0xf6d5;t[\"d\"]=0x0064;t[\"daarmenian\"]=0x0564;t[\"dabengali\"]=0x09a6;t[\"dadarabic\"]=0x0636;t[\"dadeva\"]=0x0926;t[\"dadfinalarabic\"]=0xfebe;t[\"dadinitialarabic\"]=0xfebf;t[\"dadmedialarabic\"]=0xfec0;t[\"dagesh\"]=0x05bc;t[\"dageshhebrew\"]=0x05bc;t[\"dagger\"]=0x2020;t[\"daggerdbl\"]=0x2021;t[\"dagujarati\"]=0x0aa6;t[\"dagurmukhi\"]=0x0a26;t[\"dahiragana\"]=0x3060;t[\"dakatakana\"]=0x30c0;t[\"dalarabic\"]=0x062f;t[\"dalet\"]=0x05d3;t[\"daletdagesh\"]=0xfb33;t[\"daletdageshhebrew\"]=0xfb33;t[\"dalethebrew\"]=0x05d3;t[\"dalfinalarabic\"]=0xfeaa;t[\"dammaarabic\"]=0x064f;t[\"dammalowarabic\"]=0x064f;t[\"dammatanaltonearabic\"]=0x064c;t[\"dammatanarabic\"]=0x064c;t[\"danda\"]=0x0964;t[\"dargahebrew\"]=0x05a7;t[\"dargalefthebrew\"]=0x05a7;t[\"dasiapneumatacyrilliccmb\"]=0x0485;t[\"dblGrave\"]=0xf6d3;t[\"dblanglebracketleft\"]=0x300a;t[\"dblanglebracketleftvertical\"]=0xfe3d;t[\"dblanglebracketright\"]=0x300b;t[\"dblanglebracketrightvertical\"]=0xfe3e;t[\"dblarchinvertedbelowcmb\"]=0x032b;t[\"dblarrowleft\"]=0x21d4;t[\"dblarrowright\"]=0x21d2;t[\"dbldanda\"]=0x0965;t[\"dblgrave\"]=0xf6d6;t[\"dblgravecmb\"]=0x030f;t[\"dblintegral\"]=0x222c;t[\"dbllowline\"]=0x2017;t[\"dbllowlinecmb\"]=0x0333;t[\"dbloverlinecmb\"]=0x033f;t[\"dblprimemod\"]=0x02ba;t[\"dblverticalbar\"]=0x2016;t[\"dblverticallineabovecmb\"]=0x030e;t[\"dbopomofo\"]=0x3109;t[\"dbsquare\"]=0x33c8;t[\"dcaron\"]=0x010f;t[\"dcedilla\"]=0x1e11;t[\"dcircle\"]=0x24d3;t[\"dcircumflexbelow\"]=0x1e13;t[\"dcroat\"]=0x0111;t[\"ddabengali\"]=0x09a1;t[\"ddadeva\"]=0x0921;t[\"ddagujarati\"]=0x0aa1;t[\"ddagurmukhi\"]=0x0a21;t[\"ddalarabic\"]=0x0688;t[\"ddalfinalarabic\"]=0xfb89;t[\"dddhadeva\"]=0x095c;t[\"ddhabengali\"]=0x09a2;t[\"ddhadeva\"]=0x0922;t[\"ddhagujarati\"]=0x0aa2;t[\"ddhagurmukhi\"]=0x0a22;t[\"ddotaccent\"]=0x1e0b;t[\"ddotbelow\"]=0x1e0d;t[\"decimalseparatorarabic\"]=0x066b;t[\"decimalseparatorpersian\"]=0x066b;t[\"decyrillic\"]=0x0434;t[\"degree\"]=0x00b0;t[\"dehihebrew\"]=0x05ad;t[\"dehiragana\"]=0x3067;t[\"deicoptic\"]=0x03ef;t[\"dekatakana\"]=0x30c7;t[\"deleteleft\"]=0x232b;t[\"deleteright\"]=0x2326;t[\"delta\"]=0x03b4;t[\"deltaturned\"]=0x018d;t[\"denominatorminusonenumeratorbengali\"]=0x09f8;t[\"dezh\"]=0x02a4;t[\"dhabengali\"]=0x09a7;t[\"dhadeva\"]=0x0927;t[\"dhagujarati\"]=0x0aa7;t[\"dhagurmukhi\"]=0x0a27;t[\"dhook\"]=0x0257;t[\"dialytikatonos\"]=0x0385;t[\"dialytikatonoscmb\"]=0x0344;t[\"diamond\"]=0x2666;t[\"diamondsuitwhite\"]=0x2662;t[\"dieresis\"]=0x00a8;t[\"dieresisacute\"]=0xf6d7;t[\"dieresisbelowcmb\"]=0x0324;t[\"dieresiscmb\"]=0x0308;t[\"dieresisgrave\"]=0xf6d8;t[\"dieresistonos\"]=0x0385;t[\"dihiragana\"]=0x3062;t[\"dikatakana\"]=0x30c2;t[\"dittomark\"]=0x3003;t[\"divide\"]=0x00f7;t[\"divides\"]=0x2223;t[\"divisionslash\"]=0x2215;t[\"djecyrillic\"]=0x0452;t[\"dkshade\"]=0x2593;t[\"dlinebelow\"]=0x1e0f;t[\"dlsquare\"]=0x3397;t[\"dmacron\"]=0x0111;t[\"dmonospace\"]=0xff44;t[\"dnblock\"]=0x2584;t[\"dochadathai\"]=0x0e0e;t[\"dodekthai\"]=0x0e14;t[\"dohiragana\"]=0x3069;t[\"dokatakana\"]=0x30c9;t[\"dollar\"]=0x0024;t[\"dollarinferior\"]=0xf6e3;t[\"dollarmonospace\"]=0xff04;t[\"dollaroldstyle\"]=0xf724;t[\"dollarsmall\"]=0xfe69;t[\"dollarsuperior\"]=0xf6e4;t[\"dong\"]=0x20ab;t[\"dorusquare\"]=0x3326;t[\"dotaccent\"]=0x02d9;t[\"dotaccentcmb\"]=0x0307;t[\"dotbelowcmb\"]=0x0323;t[\"dotbelowcomb\"]=0x0323;t[\"dotkatakana\"]=0x30fb;t[\"dotlessi\"]=0x0131;t[\"dotlessj\"]=0xf6be;t[\"dotlessjstrokehook\"]=0x0284;t[\"dotmath\"]=0x22c5;t[\"dottedcircle\"]=0x25cc;t[\"doubleyodpatah\"]=0xfb1f;t[\"doubleyodpatahhebrew\"]=0xfb1f;t[\"downtackbelowcmb\"]=0x031e;t[\"downtackmod\"]=0x02d5;t[\"dparen\"]=0x249f;t[\"dsuperior\"]=0xf6eb;t[\"dtail\"]=0x0256;t[\"dtopbar\"]=0x018c;t[\"duhiragana\"]=0x3065;t[\"dukatakana\"]=0x30c5;t[\"dz\"]=0x01f3;t[\"dzaltone\"]=0x02a3;t[\"dzcaron\"]=0x01c6;t[\"dzcurl\"]=0x02a5;t[\"dzeabkhasiancyrillic\"]=0x04e1;t[\"dzecyrillic\"]=0x0455;t[\"dzhecyrillic\"]=0x045f;t[\"e\"]=0x0065;t[\"eacute\"]=0x00e9;t[\"earth\"]=0x2641;t[\"ebengali\"]=0x098f;t[\"ebopomofo\"]=0x311c;t[\"ebreve\"]=0x0115;t[\"ecandradeva\"]=0x090d;t[\"ecandragujarati\"]=0x0a8d;t[\"ecandravowelsigndeva\"]=0x0945;t[\"ecandravowelsigngujarati\"]=0x0ac5;t[\"ecaron\"]=0x011b;t[\"ecedillabreve\"]=0x1e1d;t[\"echarmenian\"]=0x0565;t[\"echyiwnarmenian\"]=0x0587;t[\"ecircle\"]=0x24d4;t[\"ecircumflex\"]=0x00ea;t[\"ecircumflexacute\"]=0x1ebf;t[\"ecircumflexbelow\"]=0x1e19;t[\"ecircumflexdotbelow\"]=0x1ec7;t[\"ecircumflexgrave\"]=0x1ec1;t[\"ecircumflexhookabove\"]=0x1ec3;t[\"ecircumflextilde\"]=0x1ec5;t[\"ecyrillic\"]=0x0454;t[\"edblgrave\"]=0x0205;t[\"edeva\"]=0x090f;t[\"edieresis\"]=0x00eb;t[\"edot\"]=0x0117;t[\"edotaccent\"]=0x0117;t[\"edotbelow\"]=0x1eb9;t[\"eegurmukhi\"]=0x0a0f;t[\"eematragurmukhi\"]=0x0a47;t[\"efcyrillic\"]=0x0444;t[\"egrave\"]=0x00e8;t[\"egujarati\"]=0x0a8f;t[\"eharmenian\"]=0x0567;t[\"ehbopomofo\"]=0x311d;t[\"ehiragana\"]=0x3048;t[\"ehookabove\"]=0x1ebb;t[\"eibopomofo\"]=0x311f;t[\"eight\"]=0x0038;t[\"eightarabic\"]=0x0668;t[\"eightbengali\"]=0x09ee;t[\"eightcircle\"]=0x2467;t[\"eightcircleinversesansserif\"]=0x2791;t[\"eightdeva\"]=0x096e;t[\"eighteencircle\"]=0x2471;t[\"eighteenparen\"]=0x2485;t[\"eighteenperiod\"]=0x2499;t[\"eightgujarati\"]=0x0aee;t[\"eightgurmukhi\"]=0x0a6e;t[\"eighthackarabic\"]=0x0668;t[\"eighthangzhou\"]=0x3028;t[\"eighthnotebeamed\"]=0x266b;t[\"eightideographicparen\"]=0x3227;t[\"eightinferior\"]=0x2088;t[\"eightmonospace\"]=0xff18;t[\"eightoldstyle\"]=0xf738;t[\"eightparen\"]=0x247b;t[\"eightperiod\"]=0x248f;t[\"eightpersian\"]=0x06f8;t[\"eightroman\"]=0x2177;t[\"eightsuperior\"]=0x2078;t[\"eightthai\"]=0x0e58;t[\"einvertedbreve\"]=0x0207;t[\"eiotifiedcyrillic\"]=0x0465;t[\"ekatakana\"]=0x30a8;t[\"ekatakanahalfwidth\"]=0xff74;t[\"ekonkargurmukhi\"]=0x0a74;t[\"ekorean\"]=0x3154;t[\"elcyrillic\"]=0x043b;t[\"element\"]=0x2208;t[\"elevencircle\"]=0x246a;t[\"elevenparen\"]=0x247e;t[\"elevenperiod\"]=0x2492;t[\"elevenroman\"]=0x217a;t[\"ellipsis\"]=0x2026;t[\"ellipsisvertical\"]=0x22ee;t[\"emacron\"]=0x0113;t[\"emacronacute\"]=0x1e17;t[\"emacrongrave\"]=0x1e15;t[\"emcyrillic\"]=0x043c;t[\"emdash\"]=0x2014;t[\"emdashvertical\"]=0xfe31;t[\"emonospace\"]=0xff45;t[\"emphasismarkarmenian\"]=0x055b;t[\"emptyset\"]=0x2205;t[\"enbopomofo\"]=0x3123;t[\"encyrillic\"]=0x043d;t[\"endash\"]=0x2013;t[\"endashvertical\"]=0xfe32;t[\"endescendercyrillic\"]=0x04a3;t[\"eng\"]=0x014b;t[\"engbopomofo\"]=0x3125;t[\"enghecyrillic\"]=0x04a5;t[\"enhookcyrillic\"]=0x04c8;t[\"enspace\"]=0x2002;t[\"eogonek\"]=0x0119;t[\"eokorean\"]=0x3153;t[\"eopen\"]=0x025b;t[\"eopenclosed\"]=0x029a;t[\"eopenreversed\"]=0x025c;t[\"eopenreversedclosed\"]=0x025e;t[\"eopenreversedhook\"]=0x025d;t[\"eparen\"]=0x24a0;t[\"epsilon\"]=0x03b5;t[\"epsilontonos\"]=0x03ad;t[\"equal\"]=0x003d;t[\"equalmonospace\"]=0xff1d;t[\"equalsmall\"]=0xfe66;t[\"equalsuperior\"]=0x207c;t[\"equivalence\"]=0x2261;t[\"erbopomofo\"]=0x3126;t[\"ercyrillic\"]=0x0440;t[\"ereversed\"]=0x0258;t[\"ereversedcyrillic\"]=0x044d;t[\"escyrillic\"]=0x0441;t[\"esdescendercyrillic\"]=0x04ab;t[\"esh\"]=0x0283;t[\"eshcurl\"]=0x0286;t[\"eshortdeva\"]=0x090e;t[\"eshortvowelsigndeva\"]=0x0946;t[\"eshreversedloop\"]=0x01aa;t[\"eshsquatreversed\"]=0x0285;t[\"esmallhiragana\"]=0x3047;t[\"esmallkatakana\"]=0x30a7;t[\"esmallkatakanahalfwidth\"]=0xff6a;t[\"estimated\"]=0x212e;t[\"esuperior\"]=0xf6ec;t[\"eta\"]=0x03b7;t[\"etarmenian\"]=0x0568;t[\"etatonos\"]=0x03ae;t[\"eth\"]=0x00f0;t[\"etilde\"]=0x1ebd;t[\"etildebelow\"]=0x1e1b;t[\"etnahtafoukhhebrew\"]=0x0591;t[\"etnahtafoukhlefthebrew\"]=0x0591;t[\"etnahtahebrew\"]=0x0591;t[\"etnahtalefthebrew\"]=0x0591;t[\"eturned\"]=0x01dd;t[\"eukorean\"]=0x3161;t[\"euro\"]=0x20ac;t[\"evowelsignbengali\"]=0x09c7;t[\"evowelsigndeva\"]=0x0947;t[\"evowelsigngujarati\"]=0x0ac7;t[\"exclam\"]=0x0021;t[\"exclamarmenian\"]=0x055c;t[\"exclamdbl\"]=0x203c;t[\"exclamdown\"]=0x00a1;t[\"exclamdownsmall\"]=0xf7a1;t[\"exclammonospace\"]=0xff01;t[\"exclamsmall\"]=0xf721;t[\"existential\"]=0x2203;t[\"ezh\"]=0x0292;t[\"ezhcaron\"]=0x01ef;t[\"ezhcurl\"]=0x0293;t[\"ezhreversed\"]=0x01b9;t[\"ezhtail\"]=0x01ba;t[\"f\"]=0x0066;t[\"fadeva\"]=0x095e;t[\"fagurmukhi\"]=0x0a5e;t[\"fahrenheit\"]=0x2109;t[\"fathaarabic\"]=0x064e;t[\"fathalowarabic\"]=0x064e;t[\"fathatanarabic\"]=0x064b;t[\"fbopomofo\"]=0x3108;t[\"fcircle\"]=0x24d5;t[\"fdotaccent\"]=0x1e1f;t[\"feharabic\"]=0x0641;t[\"feharmenian\"]=0x0586;t[\"fehfinalarabic\"]=0xfed2;t[\"fehinitialarabic\"]=0xfed3;t[\"fehmedialarabic\"]=0xfed4;t[\"feicoptic\"]=0x03e5;t[\"female\"]=0x2640;t[\"ff\"]=0xfb00;t[\"f_f\"]=0xfb00;t[\"ffi\"]=0xfb03;t[\"ffl\"]=0xfb04;t[\"fi\"]=0xfb01;t[\"fifteencircle\"]=0x246e;t[\"fifteenparen\"]=0x2482;t[\"fifteenperiod\"]=0x2496;t[\"figuredash\"]=0x2012;t[\"filledbox\"]=0x25a0;t[\"filledrect\"]=0x25ac;t[\"finalkaf\"]=0x05da;t[\"finalkafdagesh\"]=0xfb3a;t[\"finalkafdageshhebrew\"]=0xfb3a;t[\"finalkafhebrew\"]=0x05da;t[\"finalmem\"]=0x05dd;t[\"finalmemhebrew\"]=0x05dd;t[\"finalnun\"]=0x05df;t[\"finalnunhebrew\"]=0x05df;t[\"finalpe\"]=0x05e3;t[\"finalpehebrew\"]=0x05e3;t[\"finaltsadi\"]=0x05e5;t[\"finaltsadihebrew\"]=0x05e5;t[\"firsttonechinese\"]=0x02c9;t[\"fisheye\"]=0x25c9;t[\"fitacyrillic\"]=0x0473;t[\"five\"]=0x0035;t[\"fivearabic\"]=0x0665;t[\"fivebengali\"]=0x09eb;t[\"fivecircle\"]=0x2464;t[\"fivecircleinversesansserif\"]=0x278e;t[\"fivedeva\"]=0x096b;t[\"fiveeighths\"]=0x215d;t[\"fivegujarati\"]=0x0aeb;t[\"fivegurmukhi\"]=0x0a6b;t[\"fivehackarabic\"]=0x0665;t[\"fivehangzhou\"]=0x3025;t[\"fiveideographicparen\"]=0x3224;t[\"fiveinferior\"]=0x2085;t[\"fivemonospace\"]=0xff15;t[\"fiveoldstyle\"]=0xf735;t[\"fiveparen\"]=0x2478;t[\"fiveperiod\"]=0x248c;t[\"fivepersian\"]=0x06f5;t[\"fiveroman\"]=0x2174;t[\"fivesuperior\"]=0x2075;t[\"fivethai\"]=0x0e55;t[\"fl\"]=0xfb02;t[\"florin\"]=0x0192;t[\"fmonospace\"]=0xff46;t[\"fmsquare\"]=0x3399;t[\"fofanthai\"]=0x0e1f;t[\"fofathai\"]=0x0e1d;t[\"fongmanthai\"]=0x0e4f;t[\"forall\"]=0x2200;t[\"four\"]=0x0034;t[\"fourarabic\"]=0x0664;t[\"fourbengali\"]=0x09ea;t[\"fourcircle\"]=0x2463;t[\"fourcircleinversesansserif\"]=0x278d;t[\"fourdeva\"]=0x096a;t[\"fourgujarati\"]=0x0aea;t[\"fourgurmukhi\"]=0x0a6a;t[\"fourhackarabic\"]=0x0664;t[\"fourhangzhou\"]=0x3024;t[\"fourideographicparen\"]=0x3223;t[\"fourinferior\"]=0x2084;t[\"fourmonospace\"]=0xff14;t[\"fournumeratorbengali\"]=0x09f7;t[\"fouroldstyle\"]=0xf734;t[\"fourparen\"]=0x2477;t[\"fourperiod\"]=0x248b;t[\"fourpersian\"]=0x06f4;t[\"fourroman\"]=0x2173;t[\"foursuperior\"]=0x2074;t[\"fourteencircle\"]=0x246d;t[\"fourteenparen\"]=0x2481;t[\"fourteenperiod\"]=0x2495;t[\"fourthai\"]=0x0e54;t[\"fourthtonechinese\"]=0x02cb;t[\"fparen\"]=0x24a1;t[\"fraction\"]=0x2044;t[\"franc\"]=0x20a3;t[\"g\"]=0x0067;t[\"gabengali\"]=0x0997;t[\"gacute\"]=0x01f5;t[\"gadeva\"]=0x0917;t[\"gafarabic\"]=0x06af;t[\"gaffinalarabic\"]=0xfb93;t[\"gafinitialarabic\"]=0xfb94;t[\"gafmedialarabic\"]=0xfb95;t[\"gagujarati\"]=0x0a97;t[\"gagurmukhi\"]=0x0a17;t[\"gahiragana\"]=0x304c;t[\"gakatakana\"]=0x30ac;t[\"gamma\"]=0x03b3;t[\"gammalatinsmall\"]=0x0263;t[\"gammasuperior\"]=0x02e0;t[\"gangiacoptic\"]=0x03eb;t[\"gbopomofo\"]=0x310d;t[\"gbreve\"]=0x011f;t[\"gcaron\"]=0x01e7;t[\"gcedilla\"]=0x0123;t[\"gcircle\"]=0x24d6;t[\"gcircumflex\"]=0x011d;t[\"gcommaaccent\"]=0x0123;t[\"gdot\"]=0x0121;t[\"gdotaccent\"]=0x0121;t[\"gecyrillic\"]=0x0433;t[\"gehiragana\"]=0x3052;t[\"gekatakana\"]=0x30b2;t[\"geometricallyequal\"]=0x2251;t[\"gereshaccenthebrew\"]=0x059c;t[\"gereshhebrew\"]=0x05f3;t[\"gereshmuqdamhebrew\"]=0x059d;t[\"germandbls\"]=0x00df;t[\"gershayimaccenthebrew\"]=0x059e;t[\"gershayimhebrew\"]=0x05f4;t[\"getamark\"]=0x3013;t[\"ghabengali\"]=0x0998;t[\"ghadarmenian\"]=0x0572;t[\"ghadeva\"]=0x0918;t[\"ghagujarati\"]=0x0a98;t[\"ghagurmukhi\"]=0x0a18;t[\"ghainarabic\"]=0x063a;t[\"ghainfinalarabic\"]=0xfece;t[\"ghaininitialarabic\"]=0xfecf;t[\"ghainmedialarabic\"]=0xfed0;t[\"ghemiddlehookcyrillic\"]=0x0495;t[\"ghestrokecyrillic\"]=0x0493;t[\"gheupturncyrillic\"]=0x0491;t[\"ghhadeva\"]=0x095a;t[\"ghhagurmukhi\"]=0x0a5a;t[\"ghook\"]=0x0260;t[\"ghzsquare\"]=0x3393;t[\"gihiragana\"]=0x304e;t[\"gikatakana\"]=0x30ae;t[\"gimarmenian\"]=0x0563;t[\"gimel\"]=0x05d2;t[\"gimeldagesh\"]=0xfb32;t[\"gimeldageshhebrew\"]=0xfb32;t[\"gimelhebrew\"]=0x05d2;t[\"gjecyrillic\"]=0x0453;t[\"glottalinvertedstroke\"]=0x01be;t[\"glottalstop\"]=0x0294;t[\"glottalstopinverted\"]=0x0296;t[\"glottalstopmod\"]=0x02c0;t[\"glottalstopreversed\"]=0x0295;t[\"glottalstopreversedmod\"]=0x02c1;t[\"glottalstopreversedsuperior\"]=0x02e4;t[\"glottalstopstroke\"]=0x02a1;t[\"glottalstopstrokereversed\"]=0x02a2;t[\"gmacron\"]=0x1e21;t[\"gmonospace\"]=0xff47;t[\"gohiragana\"]=0x3054;t[\"gokatakana\"]=0x30b4;t[\"gparen\"]=0x24a2;t[\"gpasquare\"]=0x33ac;t[\"gradient\"]=0x2207;t[\"grave\"]=0x0060;t[\"gravebelowcmb\"]=0x0316;t[\"gravecmb\"]=0x0300;t[\"gravecomb\"]=0x0300;t[\"gravedeva\"]=0x0953;t[\"gravelowmod\"]=0x02ce;t[\"gravemonospace\"]=0xff40;t[\"gravetonecmb\"]=0x0340;t[\"greater\"]=0x003e;t[\"greaterequal\"]=0x2265;t[\"greaterequalorless\"]=0x22db;t[\"greatermonospace\"]=0xff1e;t[\"greaterorequivalent\"]=0x2273;t[\"greaterorless\"]=0x2277;t[\"greateroverequal\"]=0x2267;t[\"greatersmall\"]=0xfe65;t[\"gscript\"]=0x0261;t[\"gstroke\"]=0x01e5;t[\"guhiragana\"]=0x3050;t[\"guillemotleft\"]=0x00ab;t[\"guillemotright\"]=0x00bb;t[\"guilsinglleft\"]=0x2039;t[\"guilsinglright\"]=0x203a;t[\"gukatakana\"]=0x30b0;t[\"guramusquare\"]=0x3318;t[\"gysquare\"]=0x33c9;t[\"h\"]=0x0068;t[\"haabkhasiancyrillic\"]=0x04a9;t[\"haaltonearabic\"]=0x06c1;t[\"habengali\"]=0x09b9;t[\"hadescendercyrillic\"]=0x04b3;t[\"hadeva\"]=0x0939;t[\"hagujarati\"]=0x0ab9;t[\"hagurmukhi\"]=0x0a39;t[\"haharabic\"]=0x062d;t[\"hahfinalarabic\"]=0xfea2;t[\"hahinitialarabic\"]=0xfea3;t[\"hahiragana\"]=0x306f;t[\"hahmedialarabic\"]=0xfea4;t[\"haitusquare\"]=0x332a;t[\"hakatakana\"]=0x30cf;t[\"hakatakanahalfwidth\"]=0xff8a;t[\"halantgurmukhi\"]=0x0a4d;t[\"hamzaarabic\"]=0x0621;t[\"hamzalowarabic\"]=0x0621;t[\"hangulfiller\"]=0x3164;t[\"hardsigncyrillic\"]=0x044a;t[\"harpoonleftbarbup\"]=0x21bc;t[\"harpoonrightbarbup\"]=0x21c0;t[\"hasquare\"]=0x33ca;t[\"hatafpatah\"]=0x05b2;t[\"hatafpatah16\"]=0x05b2;t[\"hatafpatah23\"]=0x05b2;t[\"hatafpatah2f\"]=0x05b2;t[\"hatafpatahhebrew\"]=0x05b2;t[\"hatafpatahnarrowhebrew\"]=0x05b2;t[\"hatafpatahquarterhebrew\"]=0x05b2;t[\"hatafpatahwidehebrew\"]=0x05b2;t[\"hatafqamats\"]=0x05b3;t[\"hatafqamats1b\"]=0x05b3;t[\"hatafqamats28\"]=0x05b3;t[\"hatafqamats34\"]=0x05b3;t[\"hatafqamatshebrew\"]=0x05b3;t[\"hatafqamatsnarrowhebrew\"]=0x05b3;t[\"hatafqamatsquarterhebrew\"]=0x05b3;t[\"hatafqamatswidehebrew\"]=0x05b3;t[\"hatafsegol\"]=0x05b1;t[\"hatafsegol17\"]=0x05b1;t[\"hatafsegol24\"]=0x05b1;t[\"hatafsegol30\"]=0x05b1;t[\"hatafsegolhebrew\"]=0x05b1;t[\"hatafsegolnarrowhebrew\"]=0x05b1;t[\"hatafsegolquarterhebrew\"]=0x05b1;t[\"hatafsegolwidehebrew\"]=0x05b1;t[\"hbar\"]=0x0127;t[\"hbopomofo\"]=0x310f;t[\"hbrevebelow\"]=0x1e2b;t[\"hcedilla\"]=0x1e29;t[\"hcircle\"]=0x24d7;t[\"hcircumflex\"]=0x0125;t[\"hdieresis\"]=0x1e27;t[\"hdotaccent\"]=0x1e23;t[\"hdotbelow\"]=0x1e25;t[\"he\"]=0x05d4;t[\"heart\"]=0x2665;t[\"heartsuitblack\"]=0x2665;t[\"heartsuitwhite\"]=0x2661;t[\"hedagesh\"]=0xfb34;t[\"hedageshhebrew\"]=0xfb34;t[\"hehaltonearabic\"]=0x06c1;t[\"heharabic\"]=0x0647;t[\"hehebrew\"]=0x05d4;t[\"hehfinalaltonearabic\"]=0xfba7;t[\"hehfinalalttwoarabic\"]=0xfeea;t[\"hehfinalarabic\"]=0xfeea;t[\"hehhamzaabovefinalarabic\"]=0xfba5;t[\"hehhamzaaboveisolatedarabic\"]=0xfba4;t[\"hehinitialaltonearabic\"]=0xfba8;t[\"hehinitialarabic\"]=0xfeeb;t[\"hehiragana\"]=0x3078;t[\"hehmedialaltonearabic\"]=0xfba9;t[\"hehmedialarabic\"]=0xfeec;t[\"heiseierasquare\"]=0x337b;t[\"hekatakana\"]=0x30d8;t[\"hekatakanahalfwidth\"]=0xff8d;t[\"hekutaarusquare\"]=0x3336;t[\"henghook\"]=0x0267;t[\"herutusquare\"]=0x3339;t[\"het\"]=0x05d7;t[\"hethebrew\"]=0x05d7;t[\"hhook\"]=0x0266;t[\"hhooksuperior\"]=0x02b1;t[\"hieuhacirclekorean\"]=0x327b;t[\"hieuhaparenkorean\"]=0x321b;t[\"hieuhcirclekorean\"]=0x326d;t[\"hieuhkorean\"]=0x314e;t[\"hieuhparenkorean\"]=0x320d;t[\"hihiragana\"]=0x3072;t[\"hikatakana\"]=0x30d2;t[\"hikatakanahalfwidth\"]=0xff8b;t[\"hiriq\"]=0x05b4;t[\"hiriq14\"]=0x05b4;t[\"hiriq21\"]=0x05b4;t[\"hiriq2d\"]=0x05b4;t[\"hiriqhebrew\"]=0x05b4;t[\"hiriqnarrowhebrew\"]=0x05b4;t[\"hiriqquarterhebrew\"]=0x05b4;t[\"hiriqwidehebrew\"]=0x05b4;t[\"hlinebelow\"]=0x1e96;t[\"hmonospace\"]=0xff48;t[\"hoarmenian\"]=0x0570;t[\"hohipthai\"]=0x0e2b;t[\"hohiragana\"]=0x307b;t[\"hokatakana\"]=0x30db;t[\"hokatakanahalfwidth\"]=0xff8e;t[\"holam\"]=0x05b9;t[\"holam19\"]=0x05b9;t[\"holam26\"]=0x05b9;t[\"holam32\"]=0x05b9;t[\"holamhebrew\"]=0x05b9;t[\"holamnarrowhebrew\"]=0x05b9;t[\"holamquarterhebrew\"]=0x05b9;t[\"holamwidehebrew\"]=0x05b9;t[\"honokhukthai\"]=0x0e2e;t[\"hookabovecomb\"]=0x0309;t[\"hookcmb\"]=0x0309;t[\"hookpalatalizedbelowcmb\"]=0x0321;t[\"hookretroflexbelowcmb\"]=0x0322;t[\"hoonsquare\"]=0x3342;t[\"horicoptic\"]=0x03e9;t[\"horizontalbar\"]=0x2015;t[\"horncmb\"]=0x031b;t[\"hotsprings\"]=0x2668;t[\"house\"]=0x2302;t[\"hparen\"]=0x24a3;t[\"hsuperior\"]=0x02b0;t[\"hturned\"]=0x0265;t[\"huhiragana\"]=0x3075;t[\"huiitosquare\"]=0x3333;t[\"hukatakana\"]=0x30d5;t[\"hukatakanahalfwidth\"]=0xff8c;t[\"hungarumlaut\"]=0x02dd;t[\"hungarumlautcmb\"]=0x030b;t[\"hv\"]=0x0195;t[\"hyphen\"]=0x002d;t[\"hypheninferior\"]=0xf6e5;t[\"hyphenmonospace\"]=0xff0d;t[\"hyphensmall\"]=0xfe63;t[\"hyphensuperior\"]=0xf6e6;t[\"hyphentwo\"]=0x2010;t[\"i\"]=0x0069;t[\"iacute\"]=0x00ed;t[\"iacyrillic\"]=0x044f;t[\"ibengali\"]=0x0987;t[\"ibopomofo\"]=0x3127;t[\"ibreve\"]=0x012d;t[\"icaron\"]=0x01d0;t[\"icircle\"]=0x24d8;t[\"icircumflex\"]=0x00ee;t[\"icyrillic\"]=0x0456;t[\"idblgrave\"]=0x0209;t[\"ideographearthcircle\"]=0x328f;t[\"ideographfirecircle\"]=0x328b;t[\"ideographicallianceparen\"]=0x323f;t[\"ideographiccallparen\"]=0x323a;t[\"ideographiccentrecircle\"]=0x32a5;t[\"ideographicclose\"]=0x3006;t[\"ideographiccomma\"]=0x3001;t[\"ideographiccommaleft\"]=0xff64;t[\"ideographiccongratulationparen\"]=0x3237;t[\"ideographiccorrectcircle\"]=0x32a3;t[\"ideographicearthparen\"]=0x322f;t[\"ideographicenterpriseparen\"]=0x323d;t[\"ideographicexcellentcircle\"]=0x329d;t[\"ideographicfestivalparen\"]=0x3240;t[\"ideographicfinancialcircle\"]=0x3296;t[\"ideographicfinancialparen\"]=0x3236;t[\"ideographicfireparen\"]=0x322b;t[\"ideographichaveparen\"]=0x3232;t[\"ideographichighcircle\"]=0x32a4;t[\"ideographiciterationmark\"]=0x3005;t[\"ideographiclaborcircle\"]=0x3298;t[\"ideographiclaborparen\"]=0x3238;t[\"ideographicleftcircle\"]=0x32a7;t[\"ideographiclowcircle\"]=0x32a6;t[\"ideographicmedicinecircle\"]=0x32a9;t[\"ideographicmetalparen\"]=0x322e;t[\"ideographicmoonparen\"]=0x322a;t[\"ideographicnameparen\"]=0x3234;t[\"ideographicperiod\"]=0x3002;t[\"ideographicprintcircle\"]=0x329e;t[\"ideographicreachparen\"]=0x3243;t[\"ideographicrepresentparen\"]=0x3239;t[\"ideographicresourceparen\"]=0x323e;t[\"ideographicrightcircle\"]=0x32a8;t[\"ideographicsecretcircle\"]=0x3299;t[\"ideographicselfparen\"]=0x3242;t[\"ideographicsocietyparen\"]=0x3233;t[\"ideographicspace\"]=0x3000;t[\"ideographicspecialparen\"]=0x3235;t[\"ideographicstockparen\"]=0x3231;t[\"ideographicstudyparen\"]=0x323b;t[\"ideographicsunparen\"]=0x3230;t[\"ideographicsuperviseparen\"]=0x323c;t[\"ideographicwaterparen\"]=0x322c;t[\"ideographicwoodparen\"]=0x322d;t[\"ideographiczero\"]=0x3007;t[\"ideographmetalcircle\"]=0x328e;t[\"ideographmooncircle\"]=0x328a;t[\"ideographnamecircle\"]=0x3294;t[\"ideographsuncircle\"]=0x3290;t[\"ideographwatercircle\"]=0x328c;t[\"ideographwoodcircle\"]=0x328d;t[\"ideva\"]=0x0907;t[\"idieresis\"]=0x00ef;t[\"idieresisacute\"]=0x1e2f;t[\"idieresiscyrillic\"]=0x04e5;t[\"idotbelow\"]=0x1ecb;t[\"iebrevecyrillic\"]=0x04d7;t[\"iecyrillic\"]=0x0435;t[\"ieungacirclekorean\"]=0x3275;t[\"ieungaparenkorean\"]=0x3215;t[\"ieungcirclekorean\"]=0x3267;t[\"ieungkorean\"]=0x3147;t[\"ieungparenkorean\"]=0x3207;t[\"igrave\"]=0x00ec;t[\"igujarati\"]=0x0a87;t[\"igurmukhi\"]=0x0a07;t[\"ihiragana\"]=0x3044;t[\"ihookabove\"]=0x1ec9;t[\"iibengali\"]=0x0988;t[\"iicyrillic\"]=0x0438;t[\"iideva\"]=0x0908;t[\"iigujarati\"]=0x0a88;t[\"iigurmukhi\"]=0x0a08;t[\"iimatragurmukhi\"]=0x0a40;t[\"iinvertedbreve\"]=0x020b;t[\"iishortcyrillic\"]=0x0439;t[\"iivowelsignbengali\"]=0x09c0;t[\"iivowelsigndeva\"]=0x0940;t[\"iivowelsigngujarati\"]=0x0ac0;t[\"ij\"]=0x0133;t[\"ikatakana\"]=0x30a4;t[\"ikatakanahalfwidth\"]=0xff72;t[\"ikorean\"]=0x3163;t[\"ilde\"]=0x02dc;t[\"iluyhebrew\"]=0x05ac;t[\"imacron\"]=0x012b;t[\"imacroncyrillic\"]=0x04e3;t[\"imageorapproximatelyequal\"]=0x2253;t[\"imatragurmukhi\"]=0x0a3f;t[\"imonospace\"]=0xff49;t[\"increment\"]=0x2206;t[\"infinity\"]=0x221e;t[\"iniarmenian\"]=0x056b;t[\"integral\"]=0x222b;t[\"integralbottom\"]=0x2321;t[\"integralbt\"]=0x2321;t[\"integralex\"]=0xf8f5;t[\"integraltop\"]=0x2320;t[\"integraltp\"]=0x2320;t[\"intersection\"]=0x2229;t[\"intisquare\"]=0x3305;t[\"invbullet\"]=0x25d8;t[\"invcircle\"]=0x25d9;t[\"invsmileface\"]=0x263b;t[\"iocyrillic\"]=0x0451;t[\"iogonek\"]=0x012f;t[\"iota\"]=0x03b9;t[\"iotadieresis\"]=0x03ca;t[\"iotadieresistonos\"]=0x0390;t[\"iotalatin\"]=0x0269;t[\"iotatonos\"]=0x03af;t[\"iparen\"]=0x24a4;t[\"irigurmukhi\"]=0x0a72;t[\"ismallhiragana\"]=0x3043;t[\"ismallkatakana\"]=0x30a3;t[\"ismallkatakanahalfwidth\"]=0xff68;t[\"issharbengali\"]=0x09fa;t[\"istroke\"]=0x0268;t[\"isuperior\"]=0xf6ed;t[\"iterationhiragana\"]=0x309d;t[\"iterationkatakana\"]=0x30fd;t[\"itilde\"]=0x0129;t[\"itildebelow\"]=0x1e2d;t[\"iubopomofo\"]=0x3129;t[\"iucyrillic\"]=0x044e;t[\"ivowelsignbengali\"]=0x09bf;t[\"ivowelsigndeva\"]=0x093f;t[\"ivowelsigngujarati\"]=0x0abf;t[\"izhitsacyrillic\"]=0x0475;t[\"izhitsadblgravecyrillic\"]=0x0477;t[\"j\"]=0x006a;t[\"jaarmenian\"]=0x0571;t[\"jabengali\"]=0x099c;t[\"jadeva\"]=0x091c;t[\"jagujarati\"]=0x0a9c;t[\"jagurmukhi\"]=0x0a1c;t[\"jbopomofo\"]=0x3110;t[\"jcaron\"]=0x01f0;t[\"jcircle\"]=0x24d9;t[\"jcircumflex\"]=0x0135;t[\"jcrossedtail\"]=0x029d;t[\"jdotlessstroke\"]=0x025f;t[\"jecyrillic\"]=0x0458;t[\"jeemarabic\"]=0x062c;t[\"jeemfinalarabic\"]=0xfe9e;t[\"jeeminitialarabic\"]=0xfe9f;t[\"jeemmedialarabic\"]=0xfea0;t[\"jeharabic\"]=0x0698;t[\"jehfinalarabic\"]=0xfb8b;t[\"jhabengali\"]=0x099d;t[\"jhadeva\"]=0x091d;t[\"jhagujarati\"]=0x0a9d;t[\"jhagurmukhi\"]=0x0a1d;t[\"jheharmenian\"]=0x057b;t[\"jis\"]=0x3004;t[\"jmonospace\"]=0xff4a;t[\"jparen\"]=0x24a5;t[\"jsuperior\"]=0x02b2;t[\"k\"]=0x006b;t[\"kabashkircyrillic\"]=0x04a1;t[\"kabengali\"]=0x0995;t[\"kacute\"]=0x1e31;t[\"kacyrillic\"]=0x043a;t[\"kadescendercyrillic\"]=0x049b;t[\"kadeva\"]=0x0915;t[\"kaf\"]=0x05db;t[\"kafarabic\"]=0x0643;t[\"kafdagesh\"]=0xfb3b;t[\"kafdageshhebrew\"]=0xfb3b;t[\"kaffinalarabic\"]=0xfeda;t[\"kafhebrew\"]=0x05db;t[\"kafinitialarabic\"]=0xfedb;t[\"kafmedialarabic\"]=0xfedc;t[\"kafrafehebrew\"]=0xfb4d;t[\"kagujarati\"]=0x0a95;t[\"kagurmukhi\"]=0x0a15;t[\"kahiragana\"]=0x304b;t[\"kahookcyrillic\"]=0x04c4;t[\"kakatakana\"]=0x30ab;t[\"kakatakanahalfwidth\"]=0xff76;t[\"kappa\"]=0x03ba;t[\"kappasymbolgreek\"]=0x03f0;t[\"kapyeounmieumkorean\"]=0x3171;t[\"kapyeounphieuphkorean\"]=0x3184;t[\"kapyeounpieupkorean\"]=0x3178;t[\"kapyeounssangpieupkorean\"]=0x3179;t[\"karoriisquare\"]=0x330d;t[\"kashidaautoarabic\"]=0x0640;t[\"kashidaautonosidebearingarabic\"]=0x0640;t[\"kasmallkatakana\"]=0x30f5;t[\"kasquare\"]=0x3384;t[\"kasraarabic\"]=0x0650;t[\"kasratanarabic\"]=0x064d;t[\"kastrokecyrillic\"]=0x049f;t[\"katahiraprolongmarkhalfwidth\"]=0xff70;t[\"kaverticalstrokecyrillic\"]=0x049d;t[\"kbopomofo\"]=0x310e;t[\"kcalsquare\"]=0x3389;t[\"kcaron\"]=0x01e9;t[\"kcedilla\"]=0x0137;t[\"kcircle\"]=0x24da;t[\"kcommaaccent\"]=0x0137;t[\"kdotbelow\"]=0x1e33;t[\"keharmenian\"]=0x0584;t[\"kehiragana\"]=0x3051;t[\"kekatakana\"]=0x30b1;t[\"kekatakanahalfwidth\"]=0xff79;t[\"kenarmenian\"]=0x056f;t[\"kesmallkatakana\"]=0x30f6;t[\"kgreenlandic\"]=0x0138;t[\"khabengali\"]=0x0996;t[\"khacyrillic\"]=0x0445;t[\"khadeva\"]=0x0916;t[\"khagujarati\"]=0x0a96;t[\"khagurmukhi\"]=0x0a16;t[\"khaharabic\"]=0x062e;t[\"khahfinalarabic\"]=0xfea6;t[\"khahinitialarabic\"]=0xfea7;t[\"khahmedialarabic\"]=0xfea8;t[\"kheicoptic\"]=0x03e7;t[\"khhadeva\"]=0x0959;t[\"khhagurmukhi\"]=0x0a59;t[\"khieukhacirclekorean\"]=0x3278;t[\"khieukhaparenkorean\"]=0x3218;t[\"khieukhcirclekorean\"]=0x326a;t[\"khieukhkorean\"]=0x314b;t[\"khieukhparenkorean\"]=0x320a;t[\"khokhaithai\"]=0x0e02;t[\"khokhonthai\"]=0x0e05;t[\"khokhuatthai\"]=0x0e03;t[\"khokhwaithai\"]=0x0e04;t[\"khomutthai\"]=0x0e5b;t[\"khook\"]=0x0199;t[\"khorakhangthai\"]=0x0e06;t[\"khzsquare\"]=0x3391;t[\"kihiragana\"]=0x304d;t[\"kikatakana\"]=0x30ad;t[\"kikatakanahalfwidth\"]=0xff77;t[\"kiroguramusquare\"]=0x3315;t[\"kiromeetorusquare\"]=0x3316;t[\"kirosquare\"]=0x3314;t[\"kiyeokacirclekorean\"]=0x326e;t[\"kiyeokaparenkorean\"]=0x320e;t[\"kiyeokcirclekorean\"]=0x3260;t[\"kiyeokkorean\"]=0x3131;t[\"kiyeokparenkorean\"]=0x3200;t[\"kiyeoksioskorean\"]=0x3133;t[\"kjecyrillic\"]=0x045c;t[\"klinebelow\"]=0x1e35;t[\"klsquare\"]=0x3398;t[\"kmcubedsquare\"]=0x33a6;t[\"kmonospace\"]=0xff4b;t[\"kmsquaredsquare\"]=0x33a2;t[\"kohiragana\"]=0x3053;t[\"kohmsquare\"]=0x33c0;t[\"kokaithai\"]=0x0e01;t[\"kokatakana\"]=0x30b3;t[\"kokatakanahalfwidth\"]=0xff7a;t[\"kooposquare\"]=0x331e;t[\"koppacyrillic\"]=0x0481;t[\"koreanstandardsymbol\"]=0x327f;t[\"koroniscmb\"]=0x0343;t[\"kparen\"]=0x24a6;t[\"kpasquare\"]=0x33aa;t[\"ksicyrillic\"]=0x046f;t[\"ktsquare\"]=0x33cf;t[\"kturned\"]=0x029e;t[\"kuhiragana\"]=0x304f;t[\"kukatakana\"]=0x30af;t[\"kukatakanahalfwidth\"]=0xff78;t[\"kvsquare\"]=0x33b8;t[\"kwsquare\"]=0x33be;t[\"l\"]=0x006c;t[\"labengali\"]=0x09b2;t[\"lacute\"]=0x013a;t[\"ladeva\"]=0x0932;t[\"lagujarati\"]=0x0ab2;t[\"lagurmukhi\"]=0x0a32;t[\"lakkhangyaothai\"]=0x0e45;t[\"lamaleffinalarabic\"]=0xfefc;t[\"lamalefhamzaabovefinalarabic\"]=0xfef8;t[\"lamalefhamzaaboveisolatedarabic\"]=0xfef7;t[\"lamalefhamzabelowfinalarabic\"]=0xfefa;t[\"lamalefhamzabelowisolatedarabic\"]=0xfef9;t[\"lamalefisolatedarabic\"]=0xfefb;t[\"lamalefmaddaabovefinalarabic\"]=0xfef6;t[\"lamalefmaddaaboveisolatedarabic\"]=0xfef5;t[\"lamarabic\"]=0x0644;t[\"lambda\"]=0x03bb;t[\"lambdastroke\"]=0x019b;t[\"lamed\"]=0x05dc;t[\"lameddagesh\"]=0xfb3c;t[\"lameddageshhebrew\"]=0xfb3c;t[\"lamedhebrew\"]=0x05dc;t[\"lamfinalarabic\"]=0xfede;t[\"lamhahinitialarabic\"]=0xfcca;t[\"laminitialarabic\"]=0xfedf;t[\"lamjeeminitialarabic\"]=0xfcc9;t[\"lamkhahinitialarabic\"]=0xfccb;t[\"lamlamhehisolatedarabic\"]=0xfdf2;t[\"lammedialarabic\"]=0xfee0;t[\"lammeemhahinitialarabic\"]=0xfd88;t[\"lammeeminitialarabic\"]=0xfccc;t[\"largecircle\"]=0x25ef;t[\"lbar\"]=0x019a;t[\"lbelt\"]=0x026c;t[\"lbopomofo\"]=0x310c;t[\"lcaron\"]=0x013e;t[\"lcedilla\"]=0x013c;t[\"lcircle\"]=0x24db;t[\"lcircumflexbelow\"]=0x1e3d;t[\"lcommaaccent\"]=0x013c;t[\"ldot\"]=0x0140;t[\"ldotaccent\"]=0x0140;t[\"ldotbelow\"]=0x1e37;t[\"ldotbelowmacron\"]=0x1e39;t[\"leftangleabovecmb\"]=0x031a;t[\"lefttackbelowcmb\"]=0x0318;t[\"less\"]=0x003c;t[\"lessequal\"]=0x2264;t[\"lessequalorgreater\"]=0x22da;t[\"lessmonospace\"]=0xff1c;t[\"lessorequivalent\"]=0x2272;t[\"lessorgreater\"]=0x2276;t[\"lessoverequal\"]=0x2266;t[\"lesssmall\"]=0xfe64;t[\"lezh\"]=0x026e;t[\"lfblock\"]=0x258c;t[\"lhookretroflex\"]=0x026d;t[\"lira\"]=0x20a4;t[\"liwnarmenian\"]=0x056c;t[\"lj\"]=0x01c9;t[\"ljecyrillic\"]=0x0459;t[\"ll\"]=0xf6c0;t[\"lladeva\"]=0x0933;t[\"llagujarati\"]=0x0ab3;t[\"llinebelow\"]=0x1e3b;t[\"llladeva\"]=0x0934;t[\"llvocalicbengali\"]=0x09e1;t[\"llvocalicdeva\"]=0x0961;t[\"llvocalicvowelsignbengali\"]=0x09e3;t[\"llvocalicvowelsigndeva\"]=0x0963;t[\"lmiddletilde\"]=0x026b;t[\"lmonospace\"]=0xff4c;t[\"lmsquare\"]=0x33d0;t[\"lochulathai\"]=0x0e2c;t[\"logicaland\"]=0x2227;t[\"logicalnot\"]=0x00ac;t[\"logicalnotreversed\"]=0x2310;t[\"logicalor\"]=0x2228;t[\"lolingthai\"]=0x0e25;t[\"longs\"]=0x017f;t[\"lowlinecenterline\"]=0xfe4e;t[\"lowlinecmb\"]=0x0332;t[\"lowlinedashed\"]=0xfe4d;t[\"lozenge\"]=0x25ca;t[\"lparen\"]=0x24a7;t[\"lslash\"]=0x0142;t[\"lsquare\"]=0x2113;t[\"lsuperior\"]=0xf6ee;t[\"ltshade\"]=0x2591;t[\"luthai\"]=0x0e26;t[\"lvocalicbengali\"]=0x098c;t[\"lvocalicdeva\"]=0x090c;t[\"lvocalicvowelsignbengali\"]=0x09e2;t[\"lvocalicvowelsigndeva\"]=0x0962;t[\"lxsquare\"]=0x33d3;t[\"m\"]=0x006d;t[\"mabengali\"]=0x09ae;t[\"macron\"]=0x00af;t[\"macronbelowcmb\"]=0x0331;t[\"macroncmb\"]=0x0304;t[\"macronlowmod\"]=0x02cd;t[\"macronmonospace\"]=0xffe3;t[\"macute\"]=0x1e3f;t[\"madeva\"]=0x092e;t[\"magujarati\"]=0x0aae;t[\"magurmukhi\"]=0x0a2e;t[\"mahapakhhebrew\"]=0x05a4;t[\"mahapakhlefthebrew\"]=0x05a4;t[\"mahiragana\"]=0x307e;t[\"maichattawalowleftthai\"]=0xf895;t[\"maichattawalowrightthai\"]=0xf894;t[\"maichattawathai\"]=0x0e4b;t[\"maichattawaupperleftthai\"]=0xf893;t[\"maieklowleftthai\"]=0xf88c;t[\"maieklowrightthai\"]=0xf88b;t[\"maiekthai\"]=0x0e48;t[\"maiekupperleftthai\"]=0xf88a;t[\"maihanakatleftthai\"]=0xf884;t[\"maihanakatthai\"]=0x0e31;t[\"maitaikhuleftthai\"]=0xf889;t[\"maitaikhuthai\"]=0x0e47;t[\"maitholowleftthai\"]=0xf88f;t[\"maitholowrightthai\"]=0xf88e;t[\"maithothai\"]=0x0e49;t[\"maithoupperleftthai\"]=0xf88d;t[\"maitrilowleftthai\"]=0xf892;t[\"maitrilowrightthai\"]=0xf891;t[\"maitrithai\"]=0x0e4a;t[\"maitriupperleftthai\"]=0xf890;t[\"maiyamokthai\"]=0x0e46;t[\"makatakana\"]=0x30de;t[\"makatakanahalfwidth\"]=0xff8f;t[\"male\"]=0x2642;t[\"mansyonsquare\"]=0x3347;t[\"maqafhebrew\"]=0x05be;t[\"mars\"]=0x2642;t[\"masoracirclehebrew\"]=0x05af;t[\"masquare\"]=0x3383;t[\"mbopomofo\"]=0x3107;t[\"mbsquare\"]=0x33d4;t[\"mcircle\"]=0x24dc;t[\"mcubedsquare\"]=0x33a5;t[\"mdotaccent\"]=0x1e41;t[\"mdotbelow\"]=0x1e43;t[\"meemarabic\"]=0x0645;t[\"meemfinalarabic\"]=0xfee2;t[\"meeminitialarabic\"]=0xfee3;t[\"meemmedialarabic\"]=0xfee4;t[\"meemmeeminitialarabic\"]=0xfcd1;t[\"meemmeemisolatedarabic\"]=0xfc48;t[\"meetorusquare\"]=0x334d;t[\"mehiragana\"]=0x3081;t[\"meizierasquare\"]=0x337e;t[\"mekatakana\"]=0x30e1;t[\"mekatakanahalfwidth\"]=0xff92;t[\"mem\"]=0x05de;t[\"memdagesh\"]=0xfb3e;t[\"memdageshhebrew\"]=0xfb3e;t[\"memhebrew\"]=0x05de;t[\"menarmenian\"]=0x0574;t[\"merkhahebrew\"]=0x05a5;t[\"merkhakefulahebrew\"]=0x05a6;t[\"merkhakefulalefthebrew\"]=0x05a6;t[\"merkhalefthebrew\"]=0x05a5;t[\"mhook\"]=0x0271;t[\"mhzsquare\"]=0x3392;t[\"middledotkatakanahalfwidth\"]=0xff65;t[\"middot\"]=0x00b7;t[\"mieumacirclekorean\"]=0x3272;t[\"mieumaparenkorean\"]=0x3212;t[\"mieumcirclekorean\"]=0x3264;t[\"mieumkorean\"]=0x3141;t[\"mieumpansioskorean\"]=0x3170;t[\"mieumparenkorean\"]=0x3204;t[\"mieumpieupkorean\"]=0x316e;t[\"mieumsioskorean\"]=0x316f;t[\"mihiragana\"]=0x307f;t[\"mikatakana\"]=0x30df;t[\"mikatakanahalfwidth\"]=0xff90;t[\"minus\"]=0x2212;t[\"minusbelowcmb\"]=0x0320;t[\"minuscircle\"]=0x2296;t[\"minusmod\"]=0x02d7;t[\"minusplus\"]=0x2213;t[\"minute\"]=0x2032;t[\"miribaarusquare\"]=0x334a;t[\"mirisquare\"]=0x3349;t[\"mlonglegturned\"]=0x0270;t[\"mlsquare\"]=0x3396;t[\"mmcubedsquare\"]=0x33a3;t[\"mmonospace\"]=0xff4d;t[\"mmsquaredsquare\"]=0x339f;t[\"mohiragana\"]=0x3082;t[\"mohmsquare\"]=0x33c1;t[\"mokatakana\"]=0x30e2;t[\"mokatakanahalfwidth\"]=0xff93;t[\"molsquare\"]=0x33d6;t[\"momathai\"]=0x0e21;t[\"moverssquare\"]=0x33a7;t[\"moverssquaredsquare\"]=0x33a8;t[\"mparen\"]=0x24a8;t[\"mpasquare\"]=0x33ab;t[\"mssquare\"]=0x33b3;t[\"msuperior\"]=0xf6ef;t[\"mturned\"]=0x026f;t[\"mu\"]=0x00b5;t[\"mu1\"]=0x00b5;t[\"muasquare\"]=0x3382;t[\"muchgreater\"]=0x226b;t[\"muchless\"]=0x226a;t[\"mufsquare\"]=0x338c;t[\"mugreek\"]=0x03bc;t[\"mugsquare\"]=0x338d;t[\"muhiragana\"]=0x3080;t[\"mukatakana\"]=0x30e0;t[\"mukatakanahalfwidth\"]=0xff91;t[\"mulsquare\"]=0x3395;t[\"multiply\"]=0x00d7;t[\"mumsquare\"]=0x339b;t[\"munahhebrew\"]=0x05a3;t[\"munahlefthebrew\"]=0x05a3;t[\"musicalnote\"]=0x266a;t[\"musicalnotedbl\"]=0x266b;t[\"musicflatsign\"]=0x266d;t[\"musicsharpsign\"]=0x266f;t[\"mussquare\"]=0x33b2;t[\"muvsquare\"]=0x33b6;t[\"muwsquare\"]=0x33bc;t[\"mvmegasquare\"]=0x33b9;t[\"mvsquare\"]=0x33b7;t[\"mwmegasquare\"]=0x33bf;t[\"mwsquare\"]=0x33bd;t[\"n\"]=0x006e;t[\"nabengali\"]=0x09a8;t[\"nabla\"]=0x2207;t[\"nacute\"]=0x0144;t[\"nadeva\"]=0x0928;t[\"nagujarati\"]=0x0aa8;t[\"nagurmukhi\"]=0x0a28;t[\"nahiragana\"]=0x306a;t[\"nakatakana\"]=0x30ca;t[\"nakatakanahalfwidth\"]=0xff85;t[\"napostrophe\"]=0x0149;t[\"nasquare\"]=0x3381;t[\"nbopomofo\"]=0x310b;t[\"nbspace\"]=0x00a0;t[\"ncaron\"]=0x0148;t[\"ncedilla\"]=0x0146;t[\"ncircle\"]=0x24dd;t[\"ncircumflexbelow\"]=0x1e4b;t[\"ncommaaccent\"]=0x0146;t[\"ndotaccent\"]=0x1e45;t[\"ndotbelow\"]=0x1e47;t[\"nehiragana\"]=0x306d;t[\"nekatakana\"]=0x30cd;t[\"nekatakanahalfwidth\"]=0xff88;t[\"newsheqelsign\"]=0x20aa;t[\"nfsquare\"]=0x338b;t[\"ngabengali\"]=0x0999;t[\"ngadeva\"]=0x0919;t[\"ngagujarati\"]=0x0a99;t[\"ngagurmukhi\"]=0x0a19;t[\"ngonguthai\"]=0x0e07;t[\"nhiragana\"]=0x3093;t[\"nhookleft\"]=0x0272;t[\"nhookretroflex\"]=0x0273;t[\"nieunacirclekorean\"]=0x326f;t[\"nieunaparenkorean\"]=0x320f;t[\"nieuncieuckorean\"]=0x3135;t[\"nieuncirclekorean\"]=0x3261;t[\"nieunhieuhkorean\"]=0x3136;t[\"nieunkorean\"]=0x3134;t[\"nieunpansioskorean\"]=0x3168;t[\"nieunparenkorean\"]=0x3201;t[\"nieunsioskorean\"]=0x3167;t[\"nieuntikeutkorean\"]=0x3166;t[\"nihiragana\"]=0x306b;t[\"nikatakana\"]=0x30cb;t[\"nikatakanahalfwidth\"]=0xff86;t[\"nikhahitleftthai\"]=0xf899;t[\"nikhahitthai\"]=0x0e4d;t[\"nine\"]=0x0039;t[\"ninearabic\"]=0x0669;t[\"ninebengali\"]=0x09ef;t[\"ninecircle\"]=0x2468;t[\"ninecircleinversesansserif\"]=0x2792;t[\"ninedeva\"]=0x096f;t[\"ninegujarati\"]=0x0aef;t[\"ninegurmukhi\"]=0x0a6f;t[\"ninehackarabic\"]=0x0669;t[\"ninehangzhou\"]=0x3029;t[\"nineideographicparen\"]=0x3228;t[\"nineinferior\"]=0x2089;t[\"ninemonospace\"]=0xff19;t[\"nineoldstyle\"]=0xf739;t[\"nineparen\"]=0x247c;t[\"nineperiod\"]=0x2490;t[\"ninepersian\"]=0x06f9;t[\"nineroman\"]=0x2178;t[\"ninesuperior\"]=0x2079;t[\"nineteencircle\"]=0x2472;t[\"nineteenparen\"]=0x2486;t[\"nineteenperiod\"]=0x249a;t[\"ninethai\"]=0x0e59;t[\"nj\"]=0x01cc;t[\"njecyrillic\"]=0x045a;t[\"nkatakana\"]=0x30f3;t[\"nkatakanahalfwidth\"]=0xff9d;t[\"nlegrightlong\"]=0x019e;t[\"nlinebelow\"]=0x1e49;t[\"nmonospace\"]=0xff4e;t[\"nmsquare\"]=0x339a;t[\"nnabengali\"]=0x09a3;t[\"nnadeva\"]=0x0923;t[\"nnagujarati\"]=0x0aa3;t[\"nnagurmukhi\"]=0x0a23;t[\"nnnadeva\"]=0x0929;t[\"nohiragana\"]=0x306e;t[\"nokatakana\"]=0x30ce;t[\"nokatakanahalfwidth\"]=0xff89;t[\"nonbreakingspace\"]=0x00a0;t[\"nonenthai\"]=0x0e13;t[\"nonuthai\"]=0x0e19;t[\"noonarabic\"]=0x0646;t[\"noonfinalarabic\"]=0xfee6;t[\"noonghunnaarabic\"]=0x06ba;t[\"noonghunnafinalarabic\"]=0xfb9f;t[\"nooninitialarabic\"]=0xfee7;t[\"noonjeeminitialarabic\"]=0xfcd2;t[\"noonjeemisolatedarabic\"]=0xfc4b;t[\"noonmedialarabic\"]=0xfee8;t[\"noonmeeminitialarabic\"]=0xfcd5;t[\"noonmeemisolatedarabic\"]=0xfc4e;t[\"noonnoonfinalarabic\"]=0xfc8d;t[\"notcontains\"]=0x220c;t[\"notelement\"]=0x2209;t[\"notelementof\"]=0x2209;t[\"notequal\"]=0x2260;t[\"notgreater\"]=0x226f;t[\"notgreaternorequal\"]=0x2271;t[\"notgreaternorless\"]=0x2279;t[\"notidentical\"]=0x2262;t[\"notless\"]=0x226e;t[\"notlessnorequal\"]=0x2270;t[\"notparallel\"]=0x2226;t[\"notprecedes\"]=0x2280;t[\"notsubset\"]=0x2284;t[\"notsucceeds\"]=0x2281;t[\"notsuperset\"]=0x2285;t[\"nowarmenian\"]=0x0576;t[\"nparen\"]=0x24a9;t[\"nssquare\"]=0x33b1;t[\"nsuperior\"]=0x207f;t[\"ntilde\"]=0x00f1;t[\"nu\"]=0x03bd;t[\"nuhiragana\"]=0x306c;t[\"nukatakana\"]=0x30cc;t[\"nukatakanahalfwidth\"]=0xff87;t[\"nuktabengali\"]=0x09bc;t[\"nuktadeva\"]=0x093c;t[\"nuktagujarati\"]=0x0abc;t[\"nuktagurmukhi\"]=0x0a3c;t[\"numbersign\"]=0x0023;t[\"numbersignmonospace\"]=0xff03;t[\"numbersignsmall\"]=0xfe5f;t[\"numeralsigngreek\"]=0x0374;t[\"numeralsignlowergreek\"]=0x0375;t[\"numero\"]=0x2116;t[\"nun\"]=0x05e0;t[\"nundagesh\"]=0xfb40;t[\"nundageshhebrew\"]=0xfb40;t[\"nunhebrew\"]=0x05e0;t[\"nvsquare\"]=0x33b5;t[\"nwsquare\"]=0x33bb;t[\"nyabengali\"]=0x099e;t[\"nyadeva\"]=0x091e;t[\"nyagujarati\"]=0x0a9e;t[\"nyagurmukhi\"]=0x0a1e;t[\"o\"]=0x006f;t[\"oacute\"]=0x00f3;t[\"oangthai\"]=0x0e2d;t[\"obarred\"]=0x0275;t[\"obarredcyrillic\"]=0x04e9;t[\"obarreddieresiscyrillic\"]=0x04eb;t[\"obengali\"]=0x0993;t[\"obopomofo\"]=0x311b;t[\"obreve\"]=0x014f;t[\"ocandradeva\"]=0x0911;t[\"ocandragujarati\"]=0x0a91;t[\"ocandravowelsigndeva\"]=0x0949;t[\"ocandravowelsigngujarati\"]=0x0ac9;t[\"ocaron\"]=0x01d2;t[\"ocircle\"]=0x24de;t[\"ocircumflex\"]=0x00f4;t[\"ocircumflexacute\"]=0x1ed1;t[\"ocircumflexdotbelow\"]=0x1ed9;t[\"ocircumflexgrave\"]=0x1ed3;t[\"ocircumflexhookabove\"]=0x1ed5;t[\"ocircumflextilde\"]=0x1ed7;t[\"ocyrillic\"]=0x043e;t[\"odblacute\"]=0x0151;t[\"odblgrave\"]=0x020d;t[\"odeva\"]=0x0913;t[\"odieresis\"]=0x00f6;t[\"odieresiscyrillic\"]=0x04e7;t[\"odotbelow\"]=0x1ecd;t[\"oe\"]=0x0153;t[\"oekorean\"]=0x315a;t[\"ogonek\"]=0x02db;t[\"ogonekcmb\"]=0x0328;t[\"ograve\"]=0x00f2;t[\"ogujarati\"]=0x0a93;t[\"oharmenian\"]=0x0585;t[\"ohiragana\"]=0x304a;t[\"ohookabove\"]=0x1ecf;t[\"ohorn\"]=0x01a1;t[\"ohornacute\"]=0x1edb;t[\"ohorndotbelow\"]=0x1ee3;t[\"ohorngrave\"]=0x1edd;t[\"ohornhookabove\"]=0x1edf;t[\"ohorntilde\"]=0x1ee1;t[\"ohungarumlaut\"]=0x0151;t[\"oi\"]=0x01a3;t[\"oinvertedbreve\"]=0x020f;t[\"okatakana\"]=0x30aa;t[\"okatakanahalfwidth\"]=0xff75;t[\"okorean\"]=0x3157;t[\"olehebrew\"]=0x05ab;t[\"omacron\"]=0x014d;t[\"omacronacute\"]=0x1e53;t[\"omacrongrave\"]=0x1e51;t[\"omdeva\"]=0x0950;t[\"omega\"]=0x03c9;t[\"omega1\"]=0x03d6;t[\"omegacyrillic\"]=0x0461;t[\"omegalatinclosed\"]=0x0277;t[\"omegaroundcyrillic\"]=0x047b;t[\"omegatitlocyrillic\"]=0x047d;t[\"omegatonos\"]=0x03ce;t[\"omgujarati\"]=0x0ad0;t[\"omicron\"]=0x03bf;t[\"omicrontonos\"]=0x03cc;t[\"omonospace\"]=0xff4f;t[\"one\"]=0x0031;t[\"onearabic\"]=0x0661;t[\"onebengali\"]=0x09e7;t[\"onecircle\"]=0x2460;t[\"onecircleinversesansserif\"]=0x278a;t[\"onedeva\"]=0x0967;t[\"onedotenleader\"]=0x2024;t[\"oneeighth\"]=0x215b;t[\"onefitted\"]=0xf6dc;t[\"onegujarati\"]=0x0ae7;t[\"onegurmukhi\"]=0x0a67;t[\"onehackarabic\"]=0x0661;t[\"onehalf\"]=0x00bd;t[\"onehangzhou\"]=0x3021;t[\"oneideographicparen\"]=0x3220;t[\"oneinferior\"]=0x2081;t[\"onemonospace\"]=0xff11;t[\"onenumeratorbengali\"]=0x09f4;t[\"oneoldstyle\"]=0xf731;t[\"oneparen\"]=0x2474;t[\"oneperiod\"]=0x2488;t[\"onepersian\"]=0x06f1;t[\"onequarter\"]=0x00bc;t[\"oneroman\"]=0x2170;t[\"onesuperior\"]=0x00b9;t[\"onethai\"]=0x0e51;t[\"onethird\"]=0x2153;t[\"oogonek\"]=0x01eb;t[\"oogonekmacron\"]=0x01ed;t[\"oogurmukhi\"]=0x0a13;t[\"oomatragurmukhi\"]=0x0a4b;t[\"oopen\"]=0x0254;t[\"oparen\"]=0x24aa;t[\"openbullet\"]=0x25e6;t[\"option\"]=0x2325;t[\"ordfeminine\"]=0x00aa;t[\"ordmasculine\"]=0x00ba;t[\"orthogonal\"]=0x221f;t[\"oshortdeva\"]=0x0912;t[\"oshortvowelsigndeva\"]=0x094a;t[\"oslash\"]=0x00f8;t[\"oslashacute\"]=0x01ff;t[\"osmallhiragana\"]=0x3049;t[\"osmallkatakana\"]=0x30a9;t[\"osmallkatakanahalfwidth\"]=0xff6b;t[\"ostrokeacute\"]=0x01ff;t[\"osuperior\"]=0xf6f0;t[\"otcyrillic\"]=0x047f;t[\"otilde\"]=0x00f5;t[\"otildeacute\"]=0x1e4d;t[\"otildedieresis\"]=0x1e4f;t[\"oubopomofo\"]=0x3121;t[\"overline\"]=0x203e;t[\"overlinecenterline\"]=0xfe4a;t[\"overlinecmb\"]=0x0305;t[\"overlinedashed\"]=0xfe49;t[\"overlinedblwavy\"]=0xfe4c;t[\"overlinewavy\"]=0xfe4b;t[\"overscore\"]=0x00af;t[\"ovowelsignbengali\"]=0x09cb;t[\"ovowelsigndeva\"]=0x094b;t[\"ovowelsigngujarati\"]=0x0acb;t[\"p\"]=0x0070;t[\"paampssquare\"]=0x3380;t[\"paasentosquare\"]=0x332b;t[\"pabengali\"]=0x09aa;t[\"pacute\"]=0x1e55;t[\"padeva\"]=0x092a;t[\"pagedown\"]=0x21df;t[\"pageup\"]=0x21de;t[\"pagujarati\"]=0x0aaa;t[\"pagurmukhi\"]=0x0a2a;t[\"pahiragana\"]=0x3071;t[\"paiyannoithai\"]=0x0e2f;t[\"pakatakana\"]=0x30d1;t[\"palatalizationcyrilliccmb\"]=0x0484;t[\"palochkacyrillic\"]=0x04c0;t[\"pansioskorean\"]=0x317f;t[\"paragraph\"]=0x00b6;t[\"parallel\"]=0x2225;t[\"parenleft\"]=0x0028;t[\"parenleftaltonearabic\"]=0xfd3e;t[\"parenleftbt\"]=0xf8ed;t[\"parenleftex\"]=0xf8ec;t[\"parenleftinferior\"]=0x208d;t[\"parenleftmonospace\"]=0xff08;t[\"parenleftsmall\"]=0xfe59;t[\"parenleftsuperior\"]=0x207d;t[\"parenlefttp\"]=0xf8eb;t[\"parenleftvertical\"]=0xfe35;t[\"parenright\"]=0x0029;t[\"parenrightaltonearabic\"]=0xfd3f;t[\"parenrightbt\"]=0xf8f8;t[\"parenrightex\"]=0xf8f7;t[\"parenrightinferior\"]=0x208e;t[\"parenrightmonospace\"]=0xff09;t[\"parenrightsmall\"]=0xfe5a;t[\"parenrightsuperior\"]=0x207e;t[\"parenrighttp\"]=0xf8f6;t[\"parenrightvertical\"]=0xfe36;t[\"partialdiff\"]=0x2202;t[\"paseqhebrew\"]=0x05c0;t[\"pashtahebrew\"]=0x0599;t[\"pasquare\"]=0x33a9;t[\"patah\"]=0x05b7;t[\"patah11\"]=0x05b7;t[\"patah1d\"]=0x05b7;t[\"patah2a\"]=0x05b7;t[\"patahhebrew\"]=0x05b7;t[\"patahnarrowhebrew\"]=0x05b7;t[\"patahquarterhebrew\"]=0x05b7;t[\"patahwidehebrew\"]=0x05b7;t[\"pazerhebrew\"]=0x05a1;t[\"pbopomofo\"]=0x3106;t[\"pcircle\"]=0x24df;t[\"pdotaccent\"]=0x1e57;t[\"pe\"]=0x05e4;t[\"pecyrillic\"]=0x043f;t[\"pedagesh\"]=0xfb44;t[\"pedageshhebrew\"]=0xfb44;t[\"peezisquare\"]=0x333b;t[\"pefinaldageshhebrew\"]=0xfb43;t[\"peharabic\"]=0x067e;t[\"peharmenian\"]=0x057a;t[\"pehebrew\"]=0x05e4;t[\"pehfinalarabic\"]=0xfb57;t[\"pehinitialarabic\"]=0xfb58;t[\"pehiragana\"]=0x307a;t[\"pehmedialarabic\"]=0xfb59;t[\"pekatakana\"]=0x30da;t[\"pemiddlehookcyrillic\"]=0x04a7;t[\"perafehebrew\"]=0xfb4e;t[\"percent\"]=0x0025;t[\"percentarabic\"]=0x066a;t[\"percentmonospace\"]=0xff05;t[\"percentsmall\"]=0xfe6a;t[\"period\"]=0x002e;t[\"periodarmenian\"]=0x0589;t[\"periodcentered\"]=0x00b7;t[\"periodhalfwidth\"]=0xff61;t[\"periodinferior\"]=0xf6e7;t[\"periodmonospace\"]=0xff0e;t[\"periodsmall\"]=0xfe52;t[\"periodsuperior\"]=0xf6e8;t[\"perispomenigreekcmb\"]=0x0342;t[\"perpendicular\"]=0x22a5;t[\"perthousand\"]=0x2030;t[\"peseta\"]=0x20a7;t[\"pfsquare\"]=0x338a;t[\"phabengali\"]=0x09ab;t[\"phadeva\"]=0x092b;t[\"phagujarati\"]=0x0aab;t[\"phagurmukhi\"]=0x0a2b;t[\"phi\"]=0x03c6;t[\"phi1\"]=0x03d5;t[\"phieuphacirclekorean\"]=0x327a;t[\"phieuphaparenkorean\"]=0x321a;t[\"phieuphcirclekorean\"]=0x326c;t[\"phieuphkorean\"]=0x314d;t[\"phieuphparenkorean\"]=0x320c;t[\"philatin\"]=0x0278;t[\"phinthuthai\"]=0x0e3a;t[\"phisymbolgreek\"]=0x03d5;t[\"phook\"]=0x01a5;t[\"phophanthai\"]=0x0e1e;t[\"phophungthai\"]=0x0e1c;t[\"phosamphaothai\"]=0x0e20;t[\"pi\"]=0x03c0;t[\"pieupacirclekorean\"]=0x3273;t[\"pieupaparenkorean\"]=0x3213;t[\"pieupcieuckorean\"]=0x3176;t[\"pieupcirclekorean\"]=0x3265;t[\"pieupkiyeokkorean\"]=0x3172;t[\"pieupkorean\"]=0x3142;t[\"pieupparenkorean\"]=0x3205;t[\"pieupsioskiyeokkorean\"]=0x3174;t[\"pieupsioskorean\"]=0x3144;t[\"pieupsiostikeutkorean\"]=0x3175;t[\"pieupthieuthkorean\"]=0x3177;t[\"pieuptikeutkorean\"]=0x3173;t[\"pihiragana\"]=0x3074;t[\"pikatakana\"]=0x30d4;t[\"pisymbolgreek\"]=0x03d6;t[\"piwrarmenian\"]=0x0583;t[\"plus\"]=0x002b;t[\"plusbelowcmb\"]=0x031f;t[\"pluscircle\"]=0x2295;t[\"plusminus\"]=0x00b1;t[\"plusmod\"]=0x02d6;t[\"plusmonospace\"]=0xff0b;t[\"plussmall\"]=0xfe62;t[\"plussuperior\"]=0x207a;t[\"pmonospace\"]=0xff50;t[\"pmsquare\"]=0x33d8;t[\"pohiragana\"]=0x307d;t[\"pointingindexdownwhite\"]=0x261f;t[\"pointingindexleftwhite\"]=0x261c;t[\"pointingindexrightwhite\"]=0x261e;t[\"pointingindexupwhite\"]=0x261d;t[\"pokatakana\"]=0x30dd;t[\"poplathai\"]=0x0e1b;t[\"postalmark\"]=0x3012;t[\"postalmarkface\"]=0x3020;t[\"pparen\"]=0x24ab;t[\"precedes\"]=0x227a;t[\"prescription\"]=0x211e;t[\"primemod\"]=0x02b9;t[\"primereversed\"]=0x2035;t[\"product\"]=0x220f;t[\"projective\"]=0x2305;t[\"prolongedkana\"]=0x30fc;t[\"propellor\"]=0x2318;t[\"propersubset\"]=0x2282;t[\"propersuperset\"]=0x2283;t[\"proportion\"]=0x2237;t[\"proportional\"]=0x221d;t[\"psi\"]=0x03c8;t[\"psicyrillic\"]=0x0471;t[\"psilipneumatacyrilliccmb\"]=0x0486;t[\"pssquare\"]=0x33b0;t[\"puhiragana\"]=0x3077;t[\"pukatakana\"]=0x30d7;t[\"pvsquare\"]=0x33b4;t[\"pwsquare\"]=0x33ba;t[\"q\"]=0x0071;t[\"qadeva\"]=0x0958;t[\"qadmahebrew\"]=0x05a8;t[\"qafarabic\"]=0x0642;t[\"qaffinalarabic\"]=0xfed6;t[\"qafinitialarabic\"]=0xfed7;t[\"qafmedialarabic\"]=0xfed8;t[\"qamats\"]=0x05b8;t[\"qamats10\"]=0x05b8;t[\"qamats1a\"]=0x05b8;t[\"qamats1c\"]=0x05b8;t[\"qamats27\"]=0x05b8;t[\"qamats29\"]=0x05b8;t[\"qamats33\"]=0x05b8;t[\"qamatsde\"]=0x05b8;t[\"qamatshebrew\"]=0x05b8;t[\"qamatsnarrowhebrew\"]=0x05b8;t[\"qamatsqatanhebrew\"]=0x05b8;t[\"qamatsqatannarrowhebrew\"]=0x05b8;t[\"qamatsqatanquarterhebrew\"]=0x05b8;t[\"qamatsqatanwidehebrew\"]=0x05b8;t[\"qamatsquarterhebrew\"]=0x05b8;t[\"qamatswidehebrew\"]=0x05b8;t[\"qarneyparahebrew\"]=0x059f;t[\"qbopomofo\"]=0x3111;t[\"qcircle\"]=0x24e0;t[\"qhook\"]=0x02a0;t[\"qmonospace\"]=0xff51;t[\"qof\"]=0x05e7;t[\"qofdagesh\"]=0xfb47;t[\"qofdageshhebrew\"]=0xfb47;t[\"qofhebrew\"]=0x05e7;t[\"qparen\"]=0x24ac;t[\"quarternote\"]=0x2669;t[\"qubuts\"]=0x05bb;t[\"qubuts18\"]=0x05bb;t[\"qubuts25\"]=0x05bb;t[\"qubuts31\"]=0x05bb;t[\"qubutshebrew\"]=0x05bb;t[\"qubutsnarrowhebrew\"]=0x05bb;t[\"qubutsquarterhebrew\"]=0x05bb;t[\"qubutswidehebrew\"]=0x05bb;t[\"question\"]=0x003f;t[\"questionarabic\"]=0x061f;t[\"questionarmenian\"]=0x055e;t[\"questiondown\"]=0x00bf;t[\"questiondownsmall\"]=0xf7bf;t[\"questiongreek\"]=0x037e;t[\"questionmonospace\"]=0xff1f;t[\"questionsmall\"]=0xf73f;t[\"quotedbl\"]=0x0022;t[\"quotedblbase\"]=0x201e;t[\"quotedblleft\"]=0x201c;t[\"quotedblmonospace\"]=0xff02;t[\"quotedblprime\"]=0x301e;t[\"quotedblprimereversed\"]=0x301d;t[\"quotedblright\"]=0x201d;t[\"quoteleft\"]=0x2018;t[\"quoteleftreversed\"]=0x201b;t[\"quotereversed\"]=0x201b;t[\"quoteright\"]=0x2019;t[\"quoterightn\"]=0x0149;t[\"quotesinglbase\"]=0x201a;t[\"quotesingle\"]=0x0027;t[\"quotesinglemonospace\"]=0xff07;t[\"r\"]=0x0072;t[\"raarmenian\"]=0x057c;t[\"rabengali\"]=0x09b0;t[\"racute\"]=0x0155;t[\"radeva\"]=0x0930;t[\"radical\"]=0x221a;t[\"radicalex\"]=0xf8e5;t[\"radoverssquare\"]=0x33ae;t[\"radoverssquaredsquare\"]=0x33af;t[\"radsquare\"]=0x33ad;t[\"rafe\"]=0x05bf;t[\"rafehebrew\"]=0x05bf;t[\"ragujarati\"]=0x0ab0;t[\"ragurmukhi\"]=0x0a30;t[\"rahiragana\"]=0x3089;t[\"rakatakana\"]=0x30e9;t[\"rakatakanahalfwidth\"]=0xff97;t[\"ralowerdiagonalbengali\"]=0x09f1;t[\"ramiddlediagonalbengali\"]=0x09f0;t[\"ramshorn\"]=0x0264;t[\"ratio\"]=0x2236;t[\"rbopomofo\"]=0x3116;t[\"rcaron\"]=0x0159;t[\"rcedilla\"]=0x0157;t[\"rcircle\"]=0x24e1;t[\"rcommaaccent\"]=0x0157;t[\"rdblgrave\"]=0x0211;t[\"rdotaccent\"]=0x1e59;t[\"rdotbelow\"]=0x1e5b;t[\"rdotbelowmacron\"]=0x1e5d;t[\"referencemark\"]=0x203b;t[\"reflexsubset\"]=0x2286;t[\"reflexsuperset\"]=0x2287;t[\"registered\"]=0x00ae;t[\"registersans\"]=0xf8e8;t[\"registerserif\"]=0xf6da;t[\"reharabic\"]=0x0631;t[\"reharmenian\"]=0x0580;t[\"rehfinalarabic\"]=0xfeae;t[\"rehiragana\"]=0x308c;t[\"rekatakana\"]=0x30ec;t[\"rekatakanahalfwidth\"]=0xff9a;t[\"resh\"]=0x05e8;t[\"reshdageshhebrew\"]=0xfb48;t[\"reshhebrew\"]=0x05e8;t[\"reversedtilde\"]=0x223d;t[\"reviahebrew\"]=0x0597;t[\"reviamugrashhebrew\"]=0x0597;t[\"revlogicalnot\"]=0x2310;t[\"rfishhook\"]=0x027e;t[\"rfishhookreversed\"]=0x027f;t[\"rhabengali\"]=0x09dd;t[\"rhadeva\"]=0x095d;t[\"rho\"]=0x03c1;t[\"rhook\"]=0x027d;t[\"rhookturned\"]=0x027b;t[\"rhookturnedsuperior\"]=0x02b5;t[\"rhosymbolgreek\"]=0x03f1;t[\"rhotichookmod\"]=0x02de;t[\"rieulacirclekorean\"]=0x3271;t[\"rieulaparenkorean\"]=0x3211;t[\"rieulcirclekorean\"]=0x3263;t[\"rieulhieuhkorean\"]=0x3140;t[\"rieulkiyeokkorean\"]=0x313a;t[\"rieulkiyeoksioskorean\"]=0x3169;t[\"rieulkorean\"]=0x3139;t[\"rieulmieumkorean\"]=0x313b;t[\"rieulpansioskorean\"]=0x316c;t[\"rieulparenkorean\"]=0x3203;t[\"rieulphieuphkorean\"]=0x313f;t[\"rieulpieupkorean\"]=0x313c;t[\"rieulpieupsioskorean\"]=0x316b;t[\"rieulsioskorean\"]=0x313d;t[\"rieulthieuthkorean\"]=0x313e;t[\"rieultikeutkorean\"]=0x316a;t[\"rieulyeorinhieuhkorean\"]=0x316d;t[\"rightangle\"]=0x221f;t[\"righttackbelowcmb\"]=0x0319;t[\"righttriangle\"]=0x22bf;t[\"rihiragana\"]=0x308a;t[\"rikatakana\"]=0x30ea;t[\"rikatakanahalfwidth\"]=0xff98;t[\"ring\"]=0x02da;t[\"ringbelowcmb\"]=0x0325;t[\"ringcmb\"]=0x030a;t[\"ringhalfleft\"]=0x02bf;t[\"ringhalfleftarmenian\"]=0x0559;t[\"ringhalfleftbelowcmb\"]=0x031c;t[\"ringhalfleftcentered\"]=0x02d3;t[\"ringhalfright\"]=0x02be;t[\"ringhalfrightbelowcmb\"]=0x0339;t[\"ringhalfrightcentered\"]=0x02d2;t[\"rinvertedbreve\"]=0x0213;t[\"rittorusquare\"]=0x3351;t[\"rlinebelow\"]=0x1e5f;t[\"rlongleg\"]=0x027c;t[\"rlonglegturned\"]=0x027a;t[\"rmonospace\"]=0xff52;t[\"rohiragana\"]=0x308d;t[\"rokatakana\"]=0x30ed;t[\"rokatakanahalfwidth\"]=0xff9b;t[\"roruathai\"]=0x0e23;t[\"rparen\"]=0x24ad;t[\"rrabengali\"]=0x09dc;t[\"rradeva\"]=0x0931;t[\"rragurmukhi\"]=0x0a5c;t[\"rreharabic\"]=0x0691;t[\"rrehfinalarabic\"]=0xfb8d;t[\"rrvocalicbengali\"]=0x09e0;t[\"rrvocalicdeva\"]=0x0960;t[\"rrvocalicgujarati\"]=0x0ae0;t[\"rrvocalicvowelsignbengali\"]=0x09c4;t[\"rrvocalicvowelsigndeva\"]=0x0944;t[\"rrvocalicvowelsigngujarati\"]=0x0ac4;t[\"rsuperior\"]=0xf6f1;t[\"rtblock\"]=0x2590;t[\"rturned\"]=0x0279;t[\"rturnedsuperior\"]=0x02b4;t[\"ruhiragana\"]=0x308b;t[\"rukatakana\"]=0x30eb;t[\"rukatakanahalfwidth\"]=0xff99;t[\"rupeemarkbengali\"]=0x09f2;t[\"rupeesignbengali\"]=0x09f3;t[\"rupiah\"]=0xf6dd;t[\"ruthai\"]=0x0e24;t[\"rvocalicbengali\"]=0x098b;t[\"rvocalicdeva\"]=0x090b;t[\"rvocalicgujarati\"]=0x0a8b;t[\"rvocalicvowelsignbengali\"]=0x09c3;t[\"rvocalicvowelsigndeva\"]=0x0943;t[\"rvocalicvowelsigngujarati\"]=0x0ac3;t[\"s\"]=0x0073;t[\"sabengali\"]=0x09b8;t[\"sacute\"]=0x015b;t[\"sacutedotaccent\"]=0x1e65;t[\"sadarabic\"]=0x0635;t[\"sadeva\"]=0x0938;t[\"sadfinalarabic\"]=0xfeba;t[\"sadinitialarabic\"]=0xfebb;t[\"sadmedialarabic\"]=0xfebc;t[\"sagujarati\"]=0x0ab8;t[\"sagurmukhi\"]=0x0a38;t[\"sahiragana\"]=0x3055;t[\"sakatakana\"]=0x30b5;t[\"sakatakanahalfwidth\"]=0xff7b;t[\"sallallahoualayhewasallamarabic\"]=0xfdfa;t[\"samekh\"]=0x05e1;t[\"samekhdagesh\"]=0xfb41;t[\"samekhdageshhebrew\"]=0xfb41;t[\"samekhhebrew\"]=0x05e1;t[\"saraaathai\"]=0x0e32;t[\"saraaethai\"]=0x0e41;t[\"saraaimaimalaithai\"]=0x0e44;t[\"saraaimaimuanthai\"]=0x0e43;t[\"saraamthai\"]=0x0e33;t[\"saraathai\"]=0x0e30;t[\"saraethai\"]=0x0e40;t[\"saraiileftthai\"]=0xf886;t[\"saraiithai\"]=0x0e35;t[\"saraileftthai\"]=0xf885;t[\"saraithai\"]=0x0e34;t[\"saraothai\"]=0x0e42;t[\"saraueeleftthai\"]=0xf888;t[\"saraueethai\"]=0x0e37;t[\"saraueleftthai\"]=0xf887;t[\"sarauethai\"]=0x0e36;t[\"sarauthai\"]=0x0e38;t[\"sarauuthai\"]=0x0e39;t[\"sbopomofo\"]=0x3119;t[\"scaron\"]=0x0161;t[\"scarondotaccent\"]=0x1e67;t[\"scedilla\"]=0x015f;t[\"schwa\"]=0x0259;t[\"schwacyrillic\"]=0x04d9;t[\"schwadieresiscyrillic\"]=0x04db;t[\"schwahook\"]=0x025a;t[\"scircle\"]=0x24e2;t[\"scircumflex\"]=0x015d;t[\"scommaaccent\"]=0x0219;t[\"sdotaccent\"]=0x1e61;t[\"sdotbelow\"]=0x1e63;t[\"sdotbelowdotaccent\"]=0x1e69;t[\"seagullbelowcmb\"]=0x033c;t[\"second\"]=0x2033;t[\"secondtonechinese\"]=0x02ca;t[\"section\"]=0x00a7;t[\"seenarabic\"]=0x0633;t[\"seenfinalarabic\"]=0xfeb2;t[\"seeninitialarabic\"]=0xfeb3;t[\"seenmedialarabic\"]=0xfeb4;t[\"segol\"]=0x05b6;t[\"segol13\"]=0x05b6;t[\"segol1f\"]=0x05b6;t[\"segol2c\"]=0x05b6;t[\"segolhebrew\"]=0x05b6;t[\"segolnarrowhebrew\"]=0x05b6;t[\"segolquarterhebrew\"]=0x05b6;t[\"segoltahebrew\"]=0x0592;t[\"segolwidehebrew\"]=0x05b6;t[\"seharmenian\"]=0x057d;t[\"sehiragana\"]=0x305b;t[\"sekatakana\"]=0x30bb;t[\"sekatakanahalfwidth\"]=0xff7e;t[\"semicolon\"]=0x003b;t[\"semicolonarabic\"]=0x061b;t[\"semicolonmonospace\"]=0xff1b;t[\"semicolonsmall\"]=0xfe54;t[\"semivoicedmarkkana\"]=0x309c;t[\"semivoicedmarkkanahalfwidth\"]=0xff9f;t[\"sentisquare\"]=0x3322;t[\"sentosquare\"]=0x3323;t[\"seven\"]=0x0037;t[\"sevenarabic\"]=0x0667;t[\"sevenbengali\"]=0x09ed;t[\"sevencircle\"]=0x2466;t[\"sevencircleinversesansserif\"]=0x2790;t[\"sevendeva\"]=0x096d;t[\"seveneighths\"]=0x215e;t[\"sevengujarati\"]=0x0aed;t[\"sevengurmukhi\"]=0x0a6d;t[\"sevenhackarabic\"]=0x0667;t[\"sevenhangzhou\"]=0x3027;t[\"sevenideographicparen\"]=0x3226;t[\"seveninferior\"]=0x2087;t[\"sevenmonospace\"]=0xff17;t[\"sevenoldstyle\"]=0xf737;t[\"sevenparen\"]=0x247a;t[\"sevenperiod\"]=0x248e;t[\"sevenpersian\"]=0x06f7;t[\"sevenroman\"]=0x2176;t[\"sevensuperior\"]=0x2077;t[\"seventeencircle\"]=0x2470;t[\"seventeenparen\"]=0x2484;t[\"seventeenperiod\"]=0x2498;t[\"seventhai\"]=0x0e57;t[\"sfthyphen\"]=0x00ad;t[\"shaarmenian\"]=0x0577;t[\"shabengali\"]=0x09b6;t[\"shacyrillic\"]=0x0448;t[\"shaddaarabic\"]=0x0651;t[\"shaddadammaarabic\"]=0xfc61;t[\"shaddadammatanarabic\"]=0xfc5e;t[\"shaddafathaarabic\"]=0xfc60;t[\"shaddakasraarabic\"]=0xfc62;t[\"shaddakasratanarabic\"]=0xfc5f;t[\"shade\"]=0x2592;t[\"shadedark\"]=0x2593;t[\"shadelight\"]=0x2591;t[\"shademedium\"]=0x2592;t[\"shadeva\"]=0x0936;t[\"shagujarati\"]=0x0ab6;t[\"shagurmukhi\"]=0x0a36;t[\"shalshelethebrew\"]=0x0593;t[\"shbopomofo\"]=0x3115;t[\"shchacyrillic\"]=0x0449;t[\"sheenarabic\"]=0x0634;t[\"sheenfinalarabic\"]=0xfeb6;t[\"sheeninitialarabic\"]=0xfeb7;t[\"sheenmedialarabic\"]=0xfeb8;t[\"sheicoptic\"]=0x03e3;t[\"sheqel\"]=0x20aa;t[\"sheqelhebrew\"]=0x20aa;t[\"sheva\"]=0x05b0;t[\"sheva115\"]=0x05b0;t[\"sheva15\"]=0x05b0;t[\"sheva22\"]=0x05b0;t[\"sheva2e\"]=0x05b0;t[\"shevahebrew\"]=0x05b0;t[\"shevanarrowhebrew\"]=0x05b0;t[\"shevaquarterhebrew\"]=0x05b0;t[\"shevawidehebrew\"]=0x05b0;t[\"shhacyrillic\"]=0x04bb;t[\"shimacoptic\"]=0x03ed;t[\"shin\"]=0x05e9;t[\"shindagesh\"]=0xfb49;t[\"shindageshhebrew\"]=0xfb49;t[\"shindageshshindot\"]=0xfb2c;t[\"shindageshshindothebrew\"]=0xfb2c;t[\"shindageshsindot\"]=0xfb2d;t[\"shindageshsindothebrew\"]=0xfb2d;t[\"shindothebrew\"]=0x05c1;t[\"shinhebrew\"]=0x05e9;t[\"shinshindot\"]=0xfb2a;t[\"shinshindothebrew\"]=0xfb2a;t[\"shinsindot\"]=0xfb2b;t[\"shinsindothebrew\"]=0xfb2b;t[\"shook\"]=0x0282;t[\"sigma\"]=0x03c3;t[\"sigma1\"]=0x03c2;t[\"sigmafinal\"]=0x03c2;t[\"sigmalunatesymbolgreek\"]=0x03f2;t[\"sihiragana\"]=0x3057;t[\"sikatakana\"]=0x30b7;t[\"sikatakanahalfwidth\"]=0xff7c;t[\"siluqhebrew\"]=0x05bd;t[\"siluqlefthebrew\"]=0x05bd;t[\"similar\"]=0x223c;t[\"sindothebrew\"]=0x05c2;t[\"siosacirclekorean\"]=0x3274;t[\"siosaparenkorean\"]=0x3214;t[\"sioscieuckorean\"]=0x317e;t[\"sioscirclekorean\"]=0x3266;t[\"sioskiyeokkorean\"]=0x317a;t[\"sioskorean\"]=0x3145;t[\"siosnieunkorean\"]=0x317b;t[\"siosparenkorean\"]=0x3206;t[\"siospieupkorean\"]=0x317d;t[\"siostikeutkorean\"]=0x317c;t[\"six\"]=0x0036;t[\"sixarabic\"]=0x0666;t[\"sixbengali\"]=0x09ec;t[\"sixcircle\"]=0x2465;t[\"sixcircleinversesansserif\"]=0x278f;t[\"sixdeva\"]=0x096c;t[\"sixgujarati\"]=0x0aec;t[\"sixgurmukhi\"]=0x0a6c;t[\"sixhackarabic\"]=0x0666;t[\"sixhangzhou\"]=0x3026;t[\"sixideographicparen\"]=0x3225;t[\"sixinferior\"]=0x2086;t[\"sixmonospace\"]=0xff16;t[\"sixoldstyle\"]=0xf736;t[\"sixparen\"]=0x2479;t[\"sixperiod\"]=0x248d;t[\"sixpersian\"]=0x06f6;t[\"sixroman\"]=0x2175;t[\"sixsuperior\"]=0x2076;t[\"sixteencircle\"]=0x246f;t[\"sixteencurrencydenominatorbengali\"]=0x09f9;t[\"sixteenparen\"]=0x2483;t[\"sixteenperiod\"]=0x2497;t[\"sixthai\"]=0x0e56;t[\"slash\"]=0x002f;t[\"slashmonospace\"]=0xff0f;t[\"slong\"]=0x017f;t[\"slongdotaccent\"]=0x1e9b;t[\"smileface\"]=0x263a;t[\"smonospace\"]=0xff53;t[\"sofpasuqhebrew\"]=0x05c3;t[\"softhyphen\"]=0x00ad;t[\"softsigncyrillic\"]=0x044c;t[\"sohiragana\"]=0x305d;t[\"sokatakana\"]=0x30bd;t[\"sokatakanahalfwidth\"]=0xff7f;t[\"soliduslongoverlaycmb\"]=0x0338;t[\"solidusshortoverlaycmb\"]=0x0337;t[\"sorusithai\"]=0x0e29;t[\"sosalathai\"]=0x0e28;t[\"sosothai\"]=0x0e0b;t[\"sosuathai\"]=0x0e2a;t[\"space\"]=0x0020;t[\"spacehackarabic\"]=0x0020;t[\"spade\"]=0x2660;t[\"spadesuitblack\"]=0x2660;t[\"spadesuitwhite\"]=0x2664;t[\"sparen\"]=0x24ae;t[\"squarebelowcmb\"]=0x033b;t[\"squarecc\"]=0x33c4;t[\"squarecm\"]=0x339d;t[\"squarediagonalcrosshatchfill\"]=0x25a9;t[\"squarehorizontalfill\"]=0x25a4;t[\"squarekg\"]=0x338f;t[\"squarekm\"]=0x339e;t[\"squarekmcapital\"]=0x33ce;t[\"squareln\"]=0x33d1;t[\"squarelog\"]=0x33d2;t[\"squaremg\"]=0x338e;t[\"squaremil\"]=0x33d5;t[\"squaremm\"]=0x339c;t[\"squaremsquared\"]=0x33a1;t[\"squareorthogonalcrosshatchfill\"]=0x25a6;t[\"squareupperlefttolowerrightfill\"]=0x25a7;t[\"squareupperrighttolowerleftfill\"]=0x25a8;t[\"squareverticalfill\"]=0x25a5;t[\"squarewhitewithsmallblack\"]=0x25a3;t[\"srsquare\"]=0x33db;t[\"ssabengali\"]=0x09b7;t[\"ssadeva\"]=0x0937;t[\"ssagujarati\"]=0x0ab7;t[\"ssangcieuckorean\"]=0x3149;t[\"ssanghieuhkorean\"]=0x3185;t[\"ssangieungkorean\"]=0x3180;t[\"ssangkiyeokkorean\"]=0x3132;t[\"ssangnieunkorean\"]=0x3165;t[\"ssangpieupkorean\"]=0x3143;t[\"ssangsioskorean\"]=0x3146;t[\"ssangtikeutkorean\"]=0x3138;t[\"ssuperior\"]=0xf6f2;t[\"sterling\"]=0x00a3;t[\"sterlingmonospace\"]=0xffe1;t[\"strokelongoverlaycmb\"]=0x0336;t[\"strokeshortoverlaycmb\"]=0x0335;t[\"subset\"]=0x2282;t[\"subsetnotequal\"]=0x228a;t[\"subsetorequal\"]=0x2286;t[\"succeeds\"]=0x227b;t[\"suchthat\"]=0x220b;t[\"suhiragana\"]=0x3059;t[\"sukatakana\"]=0x30b9;t[\"sukatakanahalfwidth\"]=0xff7d;t[\"sukunarabic\"]=0x0652;t[\"summation\"]=0x2211;t[\"sun\"]=0x263c;t[\"superset\"]=0x2283;t[\"supersetnotequal\"]=0x228b;t[\"supersetorequal\"]=0x2287;t[\"svsquare\"]=0x33dc;t[\"syouwaerasquare\"]=0x337c;t[\"t\"]=0x0074;t[\"tabengali\"]=0x09a4;t[\"tackdown\"]=0x22a4;t[\"tackleft\"]=0x22a3;t[\"tadeva\"]=0x0924;t[\"tagujarati\"]=0x0aa4;t[\"tagurmukhi\"]=0x0a24;t[\"taharabic\"]=0x0637;t[\"tahfinalarabic\"]=0xfec2;t[\"tahinitialarabic\"]=0xfec3;t[\"tahiragana\"]=0x305f;t[\"tahmedialarabic\"]=0xfec4;t[\"taisyouerasquare\"]=0x337d;t[\"takatakana\"]=0x30bf;t[\"takatakanahalfwidth\"]=0xff80;t[\"tatweelarabic\"]=0x0640;t[\"tau\"]=0x03c4;t[\"tav\"]=0x05ea;t[\"tavdages\"]=0xfb4a;t[\"tavdagesh\"]=0xfb4a;t[\"tavdageshhebrew\"]=0xfb4a;t[\"tavhebrew\"]=0x05ea;t[\"tbar\"]=0x0167;t[\"tbopomofo\"]=0x310a;t[\"tcaron\"]=0x0165;t[\"tccurl\"]=0x02a8;t[\"tcedilla\"]=0x0163;t[\"tcheharabic\"]=0x0686;t[\"tchehfinalarabic\"]=0xfb7b;t[\"tchehinitialarabic\"]=0xfb7c;t[\"tchehmedialarabic\"]=0xfb7d;t[\"tcircle\"]=0x24e3;t[\"tcircumflexbelow\"]=0x1e71;t[\"tcommaaccent\"]=0x0163;t[\"tdieresis\"]=0x1e97;t[\"tdotaccent\"]=0x1e6b;t[\"tdotbelow\"]=0x1e6d;t[\"tecyrillic\"]=0x0442;t[\"tedescendercyrillic\"]=0x04ad;t[\"teharabic\"]=0x062a;t[\"tehfinalarabic\"]=0xfe96;t[\"tehhahinitialarabic\"]=0xfca2;t[\"tehhahisolatedarabic\"]=0xfc0c;t[\"tehinitialarabic\"]=0xfe97;t[\"tehiragana\"]=0x3066;t[\"tehjeeminitialarabic\"]=0xfca1;t[\"tehjeemisolatedarabic\"]=0xfc0b;t[\"tehmarbutaarabic\"]=0x0629;t[\"tehmarbutafinalarabic\"]=0xfe94;t[\"tehmedialarabic\"]=0xfe98;t[\"tehmeeminitialarabic\"]=0xfca4;t[\"tehmeemisolatedarabic\"]=0xfc0e;t[\"tehnoonfinalarabic\"]=0xfc73;t[\"tekatakana\"]=0x30c6;t[\"tekatakanahalfwidth\"]=0xff83;t[\"telephone\"]=0x2121;t[\"telephoneblack\"]=0x260e;t[\"telishagedolahebrew\"]=0x05a0;t[\"telishaqetanahebrew\"]=0x05a9;t[\"tencircle\"]=0x2469;t[\"tenideographicparen\"]=0x3229;t[\"tenparen\"]=0x247d;t[\"tenperiod\"]=0x2491;t[\"tenroman\"]=0x2179;t[\"tesh\"]=0x02a7;t[\"tet\"]=0x05d8;t[\"tetdagesh\"]=0xfb38;t[\"tetdageshhebrew\"]=0xfb38;t[\"tethebrew\"]=0x05d8;t[\"tetsecyrillic\"]=0x04b5;t[\"tevirhebrew\"]=0x059b;t[\"tevirlefthebrew\"]=0x059b;t[\"thabengali\"]=0x09a5;t[\"thadeva\"]=0x0925;t[\"thagujarati\"]=0x0aa5;t[\"thagurmukhi\"]=0x0a25;t[\"thalarabic\"]=0x0630;t[\"thalfinalarabic\"]=0xfeac;t[\"thanthakhatlowleftthai\"]=0xf898;t[\"thanthakhatlowrightthai\"]=0xf897;t[\"thanthakhatthai\"]=0x0e4c;t[\"thanthakhatupperleftthai\"]=0xf896;t[\"theharabic\"]=0x062b;t[\"thehfinalarabic\"]=0xfe9a;t[\"thehinitialarabic\"]=0xfe9b;t[\"thehmedialarabic\"]=0xfe9c;t[\"thereexists\"]=0x2203;t[\"therefore\"]=0x2234;t[\"theta\"]=0x03b8;t[\"theta1\"]=0x03d1;t[\"thetasymbolgreek\"]=0x03d1;t[\"thieuthacirclekorean\"]=0x3279;t[\"thieuthaparenkorean\"]=0x3219;t[\"thieuthcirclekorean\"]=0x326b;t[\"thieuthkorean\"]=0x314c;t[\"thieuthparenkorean\"]=0x320b;t[\"thirteencircle\"]=0x246c;t[\"thirteenparen\"]=0x2480;t[\"thirteenperiod\"]=0x2494;t[\"thonangmonthothai\"]=0x0e11;t[\"thook\"]=0x01ad;t[\"thophuthaothai\"]=0x0e12;t[\"thorn\"]=0x00fe;t[\"thothahanthai\"]=0x0e17;t[\"thothanthai\"]=0x0e10;t[\"thothongthai\"]=0x0e18;t[\"thothungthai\"]=0x0e16;t[\"thousandcyrillic\"]=0x0482;t[\"thousandsseparatorarabic\"]=0x066c;t[\"thousandsseparatorpersian\"]=0x066c;t[\"three\"]=0x0033;t[\"threearabic\"]=0x0663;t[\"threebengali\"]=0x09e9;t[\"threecircle\"]=0x2462;t[\"threecircleinversesansserif\"]=0x278c;t[\"threedeva\"]=0x0969;t[\"threeeighths\"]=0x215c;t[\"threegujarati\"]=0x0ae9;t[\"threegurmukhi\"]=0x0a69;t[\"threehackarabic\"]=0x0663;t[\"threehangzhou\"]=0x3023;t[\"threeideographicparen\"]=0x3222;t[\"threeinferior\"]=0x2083;t[\"threemonospace\"]=0xff13;t[\"threenumeratorbengali\"]=0x09f6;t[\"threeoldstyle\"]=0xf733;t[\"threeparen\"]=0x2476;t[\"threeperiod\"]=0x248a;t[\"threepersian\"]=0x06f3;t[\"threequarters\"]=0x00be;t[\"threequartersemdash\"]=0xf6de;t[\"threeroman\"]=0x2172;t[\"threesuperior\"]=0x00b3;t[\"threethai\"]=0x0e53;t[\"thzsquare\"]=0x3394;t[\"tihiragana\"]=0x3061;t[\"tikatakana\"]=0x30c1;t[\"tikatakanahalfwidth\"]=0xff81;t[\"tikeutacirclekorean\"]=0x3270;t[\"tikeutaparenkorean\"]=0x3210;t[\"tikeutcirclekorean\"]=0x3262;t[\"tikeutkorean\"]=0x3137;t[\"tikeutparenkorean\"]=0x3202;t[\"tilde\"]=0x02dc;t[\"tildebelowcmb\"]=0x0330;t[\"tildecmb\"]=0x0303;t[\"tildecomb\"]=0x0303;t[\"tildedoublecmb\"]=0x0360;t[\"tildeoperator\"]=0x223c;t[\"tildeoverlaycmb\"]=0x0334;t[\"tildeverticalcmb\"]=0x033e;t[\"timescircle\"]=0x2297;t[\"tipehahebrew\"]=0x0596;t[\"tipehalefthebrew\"]=0x0596;t[\"tippigurmukhi\"]=0x0a70;t[\"titlocyrilliccmb\"]=0x0483;t[\"tiwnarmenian\"]=0x057f;t[\"tlinebelow\"]=0x1e6f;t[\"tmonospace\"]=0xff54;t[\"toarmenian\"]=0x0569;t[\"tohiragana\"]=0x3068;t[\"tokatakana\"]=0x30c8;t[\"tokatakanahalfwidth\"]=0xff84;t[\"tonebarextrahighmod\"]=0x02e5;t[\"tonebarextralowmod\"]=0x02e9;t[\"tonebarhighmod\"]=0x02e6;t[\"tonebarlowmod\"]=0x02e8;t[\"tonebarmidmod\"]=0x02e7;t[\"tonefive\"]=0x01bd;t[\"tonesix\"]=0x0185;t[\"tonetwo\"]=0x01a8;t[\"tonos\"]=0x0384;t[\"tonsquare\"]=0x3327;t[\"topatakthai\"]=0x0e0f;t[\"tortoiseshellbracketleft\"]=0x3014;t[\"tortoiseshellbracketleftsmall\"]=0xfe5d;t[\"tortoiseshellbracketleftvertical\"]=0xfe39;t[\"tortoiseshellbracketright\"]=0x3015;t[\"tortoiseshellbracketrightsmall\"]=0xfe5e;t[\"tortoiseshellbracketrightvertical\"]=0xfe3a;t[\"totaothai\"]=0x0e15;t[\"tpalatalhook\"]=0x01ab;t[\"tparen\"]=0x24af;t[\"trademark\"]=0x2122;t[\"trademarksans\"]=0xf8ea;t[\"trademarkserif\"]=0xf6db;t[\"tretroflexhook\"]=0x0288;t[\"triagdn\"]=0x25bc;t[\"triaglf\"]=0x25c4;t[\"triagrt\"]=0x25ba;t[\"triagup\"]=0x25b2;t[\"ts\"]=0x02a6;t[\"tsadi\"]=0x05e6;t[\"tsadidagesh\"]=0xfb46;t[\"tsadidageshhebrew\"]=0xfb46;t[\"tsadihebrew\"]=0x05e6;t[\"tsecyrillic\"]=0x0446;t[\"tsere\"]=0x05b5;t[\"tsere12\"]=0x05b5;t[\"tsere1e\"]=0x05b5;t[\"tsere2b\"]=0x05b5;t[\"tserehebrew\"]=0x05b5;t[\"tserenarrowhebrew\"]=0x05b5;t[\"tserequarterhebrew\"]=0x05b5;t[\"tserewidehebrew\"]=0x05b5;t[\"tshecyrillic\"]=0x045b;t[\"tsuperior\"]=0xf6f3;t[\"ttabengali\"]=0x099f;t[\"ttadeva\"]=0x091f;t[\"ttagujarati\"]=0x0a9f;t[\"ttagurmukhi\"]=0x0a1f;t[\"tteharabic\"]=0x0679;t[\"ttehfinalarabic\"]=0xfb67;t[\"ttehinitialarabic\"]=0xfb68;t[\"ttehmedialarabic\"]=0xfb69;t[\"tthabengali\"]=0x09a0;t[\"tthadeva\"]=0x0920;t[\"tthagujarati\"]=0x0aa0;t[\"tthagurmukhi\"]=0x0a20;t[\"tturned\"]=0x0287;t[\"tuhiragana\"]=0x3064;t[\"tukatakana\"]=0x30c4;t[\"tukatakanahalfwidth\"]=0xff82;t[\"tusmallhiragana\"]=0x3063;t[\"tusmallkatakana\"]=0x30c3;t[\"tusmallkatakanahalfwidth\"]=0xff6f;t[\"twelvecircle\"]=0x246b;t[\"twelveparen\"]=0x247f;t[\"twelveperiod\"]=0x2493;t[\"twelveroman\"]=0x217b;t[\"twentycircle\"]=0x2473;t[\"twentyhangzhou\"]=0x5344;t[\"twentyparen\"]=0x2487;t[\"twentyperiod\"]=0x249b;t[\"two\"]=0x0032;t[\"twoarabic\"]=0x0662;t[\"twobengali\"]=0x09e8;t[\"twocircle\"]=0x2461;t[\"twocircleinversesansserif\"]=0x278b;t[\"twodeva\"]=0x0968;t[\"twodotenleader\"]=0x2025;t[\"twodotleader\"]=0x2025;t[\"twodotleadervertical\"]=0xfe30;t[\"twogujarati\"]=0x0ae8;t[\"twogurmukhi\"]=0x0a68;t[\"twohackarabic\"]=0x0662;t[\"twohangzhou\"]=0x3022;t[\"twoideographicparen\"]=0x3221;t[\"twoinferior\"]=0x2082;t[\"twomonospace\"]=0xff12;t[\"twonumeratorbengali\"]=0x09f5;t[\"twooldstyle\"]=0xf732;t[\"twoparen\"]=0x2475;t[\"twoperiod\"]=0x2489;t[\"twopersian\"]=0x06f2;t[\"tworoman\"]=0x2171;t[\"twostroke\"]=0x01bb;t[\"twosuperior\"]=0x00b2;t[\"twothai\"]=0x0e52;t[\"twothirds\"]=0x2154;t[\"u\"]=0x0075;t[\"uacute\"]=0x00fa;t[\"ubar\"]=0x0289;t[\"ubengali\"]=0x0989;t[\"ubopomofo\"]=0x3128;t[\"ubreve\"]=0x016d;t[\"ucaron\"]=0x01d4;t[\"ucircle\"]=0x24e4;t[\"ucircumflex\"]=0x00fb;t[\"ucircumflexbelow\"]=0x1e77;t[\"ucyrillic\"]=0x0443;t[\"udattadeva\"]=0x0951;t[\"udblacute\"]=0x0171;t[\"udblgrave\"]=0x0215;t[\"udeva\"]=0x0909;t[\"udieresis\"]=0x00fc;t[\"udieresisacute\"]=0x01d8;t[\"udieresisbelow\"]=0x1e73;t[\"udieresiscaron\"]=0x01da;t[\"udieresiscyrillic\"]=0x04f1;t[\"udieresisgrave\"]=0x01dc;t[\"udieresismacron\"]=0x01d6;t[\"udotbelow\"]=0x1ee5;t[\"ugrave\"]=0x00f9;t[\"ugujarati\"]=0x0a89;t[\"ugurmukhi\"]=0x0a09;t[\"uhiragana\"]=0x3046;t[\"uhookabove\"]=0x1ee7;t[\"uhorn\"]=0x01b0;t[\"uhornacute\"]=0x1ee9;t[\"uhorndotbelow\"]=0x1ef1;t[\"uhorngrave\"]=0x1eeb;t[\"uhornhookabove\"]=0x1eed;t[\"uhorntilde\"]=0x1eef;t[\"uhungarumlaut\"]=0x0171;t[\"uhungarumlautcyrillic\"]=0x04f3;t[\"uinvertedbreve\"]=0x0217;t[\"ukatakana\"]=0x30a6;t[\"ukatakanahalfwidth\"]=0xff73;t[\"ukcyrillic\"]=0x0479;t[\"ukorean\"]=0x315c;t[\"umacron\"]=0x016b;t[\"umacroncyrillic\"]=0x04ef;t[\"umacrondieresis\"]=0x1e7b;t[\"umatragurmukhi\"]=0x0a41;t[\"umonospace\"]=0xff55;t[\"underscore\"]=0x005f;t[\"underscoredbl\"]=0x2017;t[\"underscoremonospace\"]=0xff3f;t[\"underscorevertical\"]=0xfe33;t[\"underscorewavy\"]=0xfe4f;t[\"union\"]=0x222a;t[\"universal\"]=0x2200;t[\"uogonek\"]=0x0173;t[\"uparen\"]=0x24b0;t[\"upblock\"]=0x2580;t[\"upperdothebrew\"]=0x05c4;t[\"upsilon\"]=0x03c5;t[\"upsilondieresis\"]=0x03cb;t[\"upsilondieresistonos\"]=0x03b0;t[\"upsilonlatin\"]=0x028a;t[\"upsilontonos\"]=0x03cd;t[\"uptackbelowcmb\"]=0x031d;t[\"uptackmod\"]=0x02d4;t[\"uragurmukhi\"]=0x0a73;t[\"uring\"]=0x016f;t[\"ushortcyrillic\"]=0x045e;t[\"usmallhiragana\"]=0x3045;t[\"usmallkatakana\"]=0x30a5;t[\"usmallkatakanahalfwidth\"]=0xff69;t[\"ustraightcyrillic\"]=0x04af;t[\"ustraightstrokecyrillic\"]=0x04b1;t[\"utilde\"]=0x0169;t[\"utildeacute\"]=0x1e79;t[\"utildebelow\"]=0x1e75;t[\"uubengali\"]=0x098a;t[\"uudeva\"]=0x090a;t[\"uugujarati\"]=0x0a8a;t[\"uugurmukhi\"]=0x0a0a;t[\"uumatragurmukhi\"]=0x0a42;t[\"uuvowelsignbengali\"]=0x09c2;t[\"uuvowelsigndeva\"]=0x0942;t[\"uuvowelsigngujarati\"]=0x0ac2;t[\"uvowelsignbengali\"]=0x09c1;t[\"uvowelsigndeva\"]=0x0941;t[\"uvowelsigngujarati\"]=0x0ac1;t[\"v\"]=0x0076;t[\"vadeva\"]=0x0935;t[\"vagujarati\"]=0x0ab5;t[\"vagurmukhi\"]=0x0a35;t[\"vakatakana\"]=0x30f7;t[\"vav\"]=0x05d5;t[\"vavdagesh\"]=0xfb35;t[\"vavdagesh65\"]=0xfb35;t[\"vavdageshhebrew\"]=0xfb35;t[\"vavhebrew\"]=0x05d5;t[\"vavholam\"]=0xfb4b;t[\"vavholamhebrew\"]=0xfb4b;t[\"vavvavhebrew\"]=0x05f0;t[\"vavyodhebrew\"]=0x05f1;t[\"vcircle\"]=0x24e5;t[\"vdotbelow\"]=0x1e7f;t[\"vecyrillic\"]=0x0432;t[\"veharabic\"]=0x06a4;t[\"vehfinalarabic\"]=0xfb6b;t[\"vehinitialarabic\"]=0xfb6c;t[\"vehmedialarabic\"]=0xfb6d;t[\"vekatakana\"]=0x30f9;t[\"venus\"]=0x2640;t[\"verticalbar\"]=0x007c;t[\"verticallineabovecmb\"]=0x030d;t[\"verticallinebelowcmb\"]=0x0329;t[\"verticallinelowmod\"]=0x02cc;t[\"verticallinemod\"]=0x02c8;t[\"vewarmenian\"]=0x057e;t[\"vhook\"]=0x028b;t[\"vikatakana\"]=0x30f8;t[\"viramabengali\"]=0x09cd;t[\"viramadeva\"]=0x094d;t[\"viramagujarati\"]=0x0acd;t[\"visargabengali\"]=0x0983;t[\"visargadeva\"]=0x0903;t[\"visargagujarati\"]=0x0a83;t[\"vmonospace\"]=0xff56;t[\"voarmenian\"]=0x0578;t[\"voicediterationhiragana\"]=0x309e;t[\"voicediterationkatakana\"]=0x30fe;t[\"voicedmarkkana\"]=0x309b;t[\"voicedmarkkanahalfwidth\"]=0xff9e;t[\"vokatakana\"]=0x30fa;t[\"vparen\"]=0x24b1;t[\"vtilde\"]=0x1e7d;t[\"vturned\"]=0x028c;t[\"vuhiragana\"]=0x3094;t[\"vukatakana\"]=0x30f4;t[\"w\"]=0x0077;t[\"wacute\"]=0x1e83;t[\"waekorean\"]=0x3159;t[\"wahiragana\"]=0x308f;t[\"wakatakana\"]=0x30ef;t[\"wakatakanahalfwidth\"]=0xff9c;t[\"wakorean\"]=0x3158;t[\"wasmallhiragana\"]=0x308e;t[\"wasmallkatakana\"]=0x30ee;t[\"wattosquare\"]=0x3357;t[\"wavedash\"]=0x301c;t[\"wavyunderscorevertical\"]=0xfe34;t[\"wawarabic\"]=0x0648;t[\"wawfinalarabic\"]=0xfeee;t[\"wawhamzaabovearabic\"]=0x0624;t[\"wawhamzaabovefinalarabic\"]=0xfe86;t[\"wbsquare\"]=0x33dd;t[\"wcircle\"]=0x24e6;t[\"wcircumflex\"]=0x0175;t[\"wdieresis\"]=0x1e85;t[\"wdotaccent\"]=0x1e87;t[\"wdotbelow\"]=0x1e89;t[\"wehiragana\"]=0x3091;t[\"weierstrass\"]=0x2118;t[\"wekatakana\"]=0x30f1;t[\"wekorean\"]=0x315e;t[\"weokorean\"]=0x315d;t[\"wgrave\"]=0x1e81;t[\"whitebullet\"]=0x25e6;t[\"whitecircle\"]=0x25cb;t[\"whitecircleinverse\"]=0x25d9;t[\"whitecornerbracketleft\"]=0x300e;t[\"whitecornerbracketleftvertical\"]=0xfe43;t[\"whitecornerbracketright\"]=0x300f;t[\"whitecornerbracketrightvertical\"]=0xfe44;t[\"whitediamond\"]=0x25c7;t[\"whitediamondcontainingblacksmalldiamond\"]=0x25c8;t[\"whitedownpointingsmalltriangle\"]=0x25bf;t[\"whitedownpointingtriangle\"]=0x25bd;t[\"whiteleftpointingsmalltriangle\"]=0x25c3;t[\"whiteleftpointingtriangle\"]=0x25c1;t[\"whitelenticularbracketleft\"]=0x3016;t[\"whitelenticularbracketright\"]=0x3017;t[\"whiterightpointingsmalltriangle\"]=0x25b9;t[\"whiterightpointingtriangle\"]=0x25b7;t[\"whitesmallsquare\"]=0x25ab;t[\"whitesmilingface\"]=0x263a;t[\"whitesquare\"]=0x25a1;t[\"whitestar\"]=0x2606;t[\"whitetelephone\"]=0x260f;t[\"whitetortoiseshellbracketleft\"]=0x3018;t[\"whitetortoiseshellbracketright\"]=0x3019;t[\"whiteuppointingsmalltriangle\"]=0x25b5;t[\"whiteuppointingtriangle\"]=0x25b3;t[\"wihiragana\"]=0x3090;t[\"wikatakana\"]=0x30f0;t[\"wikorean\"]=0x315f;t[\"wmonospace\"]=0xff57;t[\"wohiragana\"]=0x3092;t[\"wokatakana\"]=0x30f2;t[\"wokatakanahalfwidth\"]=0xff66;t[\"won\"]=0x20a9;t[\"wonmonospace\"]=0xffe6;t[\"wowaenthai\"]=0x0e27;t[\"wparen\"]=0x24b2;t[\"wring\"]=0x1e98;t[\"wsuperior\"]=0x02b7;t[\"wturned\"]=0x028d;t[\"wynn\"]=0x01bf;t[\"x\"]=0x0078;t[\"xabovecmb\"]=0x033d;t[\"xbopomofo\"]=0x3112;t[\"xcircle\"]=0x24e7;t[\"xdieresis\"]=0x1e8d;t[\"xdotaccent\"]=0x1e8b;t[\"xeharmenian\"]=0x056d;t[\"xi\"]=0x03be;t[\"xmonospace\"]=0xff58;t[\"xparen\"]=0x24b3;t[\"xsuperior\"]=0x02e3;t[\"y\"]=0x0079;t[\"yaadosquare\"]=0x334e;t[\"yabengali\"]=0x09af;t[\"yacute\"]=0x00fd;t[\"yadeva\"]=0x092f;t[\"yaekorean\"]=0x3152;t[\"yagujarati\"]=0x0aaf;t[\"yagurmukhi\"]=0x0a2f;t[\"yahiragana\"]=0x3084;t[\"yakatakana\"]=0x30e4;t[\"yakatakanahalfwidth\"]=0xff94;t[\"yakorean\"]=0x3151;t[\"yamakkanthai\"]=0x0e4e;t[\"yasmallhiragana\"]=0x3083;t[\"yasmallkatakana\"]=0x30e3;t[\"yasmallkatakanahalfwidth\"]=0xff6c;t[\"yatcyrillic\"]=0x0463;t[\"ycircle\"]=0x24e8;t[\"ycircumflex\"]=0x0177;t[\"ydieresis\"]=0x00ff;t[\"ydotaccent\"]=0x1e8f;t[\"ydotbelow\"]=0x1ef5;t[\"yeharabic\"]=0x064a;t[\"yehbarreearabic\"]=0x06d2;t[\"yehbarreefinalarabic\"]=0xfbaf;t[\"yehfinalarabic\"]=0xfef2;t[\"yehhamzaabovearabic\"]=0x0626;t[\"yehhamzaabovefinalarabic\"]=0xfe8a;t[\"yehhamzaaboveinitialarabic\"]=0xfe8b;t[\"yehhamzaabovemedialarabic\"]=0xfe8c;t[\"yehinitialarabic\"]=0xfef3;t[\"yehmedialarabic\"]=0xfef4;t[\"yehmeeminitialarabic\"]=0xfcdd;t[\"yehmeemisolatedarabic\"]=0xfc58;t[\"yehnoonfinalarabic\"]=0xfc94;t[\"yehthreedotsbelowarabic\"]=0x06d1;t[\"yekorean\"]=0x3156;t[\"yen\"]=0x00a5;t[\"yenmonospace\"]=0xffe5;t[\"yeokorean\"]=0x3155;t[\"yeorinhieuhkorean\"]=0x3186;t[\"yerahbenyomohebrew\"]=0x05aa;t[\"yerahbenyomolefthebrew\"]=0x05aa;t[\"yericyrillic\"]=0x044b;t[\"yerudieresiscyrillic\"]=0x04f9;t[\"yesieungkorean\"]=0x3181;t[\"yesieungpansioskorean\"]=0x3183;t[\"yesieungsioskorean\"]=0x3182;t[\"yetivhebrew\"]=0x059a;t[\"ygrave\"]=0x1ef3;t[\"yhook\"]=0x01b4;t[\"yhookabove\"]=0x1ef7;t[\"yiarmenian\"]=0x0575;t[\"yicyrillic\"]=0x0457;t[\"yikorean\"]=0x3162;t[\"yinyang\"]=0x262f;t[\"yiwnarmenian\"]=0x0582;t[\"ymonospace\"]=0xff59;t[\"yod\"]=0x05d9;t[\"yoddagesh\"]=0xfb39;t[\"yoddageshhebrew\"]=0xfb39;t[\"yodhebrew\"]=0x05d9;t[\"yodyodhebrew\"]=0x05f2;t[\"yodyodpatahhebrew\"]=0xfb1f;t[\"yohiragana\"]=0x3088;t[\"yoikorean\"]=0x3189;t[\"yokatakana\"]=0x30e8;t[\"yokatakanahalfwidth\"]=0xff96;t[\"yokorean\"]=0x315b;t[\"yosmallhiragana\"]=0x3087;t[\"yosmallkatakana\"]=0x30e7;t[\"yosmallkatakanahalfwidth\"]=0xff6e;t[\"yotgreek\"]=0x03f3;t[\"yoyaekorean\"]=0x3188;t[\"yoyakorean\"]=0x3187;t[\"yoyakthai\"]=0x0e22;t[\"yoyingthai\"]=0x0e0d;t[\"yparen\"]=0x24b4;t[\"ypogegrammeni\"]=0x037a;t[\"ypogegrammenigreekcmb\"]=0x0345;t[\"yr\"]=0x01a6;t[\"yring\"]=0x1e99;t[\"ysuperior\"]=0x02b8;t[\"ytilde\"]=0x1ef9;t[\"yturned\"]=0x028e;t[\"yuhiragana\"]=0x3086;t[\"yuikorean\"]=0x318c;t[\"yukatakana\"]=0x30e6;t[\"yukatakanahalfwidth\"]=0xff95;t[\"yukorean\"]=0x3160;t[\"yusbigcyrillic\"]=0x046b;t[\"yusbigiotifiedcyrillic\"]=0x046d;t[\"yuslittlecyrillic\"]=0x0467;t[\"yuslittleiotifiedcyrillic\"]=0x0469;t[\"yusmallhiragana\"]=0x3085;t[\"yusmallkatakana\"]=0x30e5;t[\"yusmallkatakanahalfwidth\"]=0xff6d;t[\"yuyekorean\"]=0x318b;t[\"yuyeokorean\"]=0x318a;t[\"yyabengali\"]=0x09df;t[\"yyadeva\"]=0x095f;t[\"z\"]=0x007a;t[\"zaarmenian\"]=0x0566;t[\"zacute\"]=0x017a;t[\"zadeva\"]=0x095b;t[\"zagurmukhi\"]=0x0a5b;t[\"zaharabic\"]=0x0638;t[\"zahfinalarabic\"]=0xfec6;t[\"zahinitialarabic\"]=0xfec7;t[\"zahiragana\"]=0x3056;t[\"zahmedialarabic\"]=0xfec8;t[\"zainarabic\"]=0x0632;t[\"zainfinalarabic\"]=0xfeb0;t[\"zakatakana\"]=0x30b6;t[\"zaqefgadolhebrew\"]=0x0595;t[\"zaqefqatanhebrew\"]=0x0594;t[\"zarqahebrew\"]=0x0598;t[\"zayin\"]=0x05d6;t[\"zayindagesh\"]=0xfb36;t[\"zayindageshhebrew\"]=0xfb36;t[\"zayinhebrew\"]=0x05d6;t[\"zbopomofo\"]=0x3117;t[\"zcaron\"]=0x017e;t[\"zcircle\"]=0x24e9;t[\"zcircumflex\"]=0x1e91;t[\"zcurl\"]=0x0291;t[\"zdot\"]=0x017c;t[\"zdotaccent\"]=0x017c;t[\"zdotbelow\"]=0x1e93;t[\"zecyrillic\"]=0x0437;t[\"zedescendercyrillic\"]=0x0499;t[\"zedieresiscyrillic\"]=0x04df;t[\"zehiragana\"]=0x305c;t[\"zekatakana\"]=0x30bc;t[\"zero\"]=0x0030;t[\"zeroarabic\"]=0x0660;t[\"zerobengali\"]=0x09e6;t[\"zerodeva\"]=0x0966;t[\"zerogujarati\"]=0x0ae6;t[\"zerogurmukhi\"]=0x0a66;t[\"zerohackarabic\"]=0x0660;t[\"zeroinferior\"]=0x2080;t[\"zeromonospace\"]=0xff10;t[\"zerooldstyle\"]=0xf730;t[\"zeropersian\"]=0x06f0;t[\"zerosuperior\"]=0x2070;t[\"zerothai\"]=0x0e50;t[\"zerowidthjoiner\"]=0xfeff;t[\"zerowidthnonjoiner\"]=0x200c;t[\"zerowidthspace\"]=0x200b;t[\"zeta\"]=0x03b6;t[\"zhbopomofo\"]=0x3113;t[\"zhearmenian\"]=0x056a;t[\"zhebrevecyrillic\"]=0x04c2;t[\"zhecyrillic\"]=0x0436;t[\"zhedescendercyrillic\"]=0x0497;t[\"zhedieresiscyrillic\"]=0x04dd;t[\"zihiragana\"]=0x3058;t[\"zikatakana\"]=0x30b8;t[\"zinorhebrew\"]=0x05ae;t[\"zlinebelow\"]=0x1e95;t[\"zmonospace\"]=0xff5a;t[\"zohiragana\"]=0x305e;t[\"zokatakana\"]=0x30be;t[\"zparen\"]=0x24b5;t[\"zretroflexhook\"]=0x0290;t[\"zstroke\"]=0x01b6;t[\"zuhiragana\"]=0x305a;t[\"zukatakana\"]=0x30ba;t[\".notdef\"]=0x0000;t[\"angbracketleftbig\"]=0x2329;t[\"angbracketleftBig\"]=0x2329;t[\"angbracketleftbigg\"]=0x2329;t[\"angbracketleftBigg\"]=0x2329;t[\"angbracketrightBig\"]=0x232a;t[\"angbracketrightbig\"]=0x232a;t[\"angbracketrightBigg\"]=0x232a;t[\"angbracketrightbigg\"]=0x232a;t[\"arrowhookleft\"]=0x21aa;t[\"arrowhookright\"]=0x21a9;t[\"arrowlefttophalf\"]=0x21bc;t[\"arrowleftbothalf\"]=0x21bd;t[\"arrownortheast\"]=0x2197;t[\"arrownorthwest\"]=0x2196;t[\"arrowrighttophalf\"]=0x21c0;t[\"arrowrightbothalf\"]=0x21c1;t[\"arrowsoutheast\"]=0x2198;t[\"arrowsouthwest\"]=0x2199;t[\"backslashbig\"]=0x2216;t[\"backslashBig\"]=0x2216;t[\"backslashBigg\"]=0x2216;t[\"backslashbigg\"]=0x2216;t[\"bardbl\"]=0x2016;t[\"bracehtipdownleft\"]=0xfe37;t[\"bracehtipdownright\"]=0xfe37;t[\"bracehtipupleft\"]=0xfe38;t[\"bracehtipupright\"]=0xfe38;t[\"braceleftBig\"]=0x007b;t[\"braceleftbig\"]=0x007b;t[\"braceleftbigg\"]=0x007b;t[\"braceleftBigg\"]=0x007b;t[\"bracerightBig\"]=0x007d;t[\"bracerightbig\"]=0x007d;t[\"bracerightbigg\"]=0x007d;t[\"bracerightBigg\"]=0x007d;t[\"bracketleftbig\"]=0x005b;t[\"bracketleftBig\"]=0x005b;t[\"bracketleftbigg\"]=0x005b;t[\"bracketleftBigg\"]=0x005b;t[\"bracketrightBig\"]=0x005d;t[\"bracketrightbig\"]=0x005d;t[\"bracketrightbigg\"]=0x005d;t[\"bracketrightBigg\"]=0x005d;t[\"ceilingleftbig\"]=0x2308;t[\"ceilingleftBig\"]=0x2308;t[\"ceilingleftBigg\"]=0x2308;t[\"ceilingleftbigg\"]=0x2308;t[\"ceilingrightbig\"]=0x2309;t[\"ceilingrightBig\"]=0x2309;t[\"ceilingrightbigg\"]=0x2309;t[\"ceilingrightBigg\"]=0x2309;t[\"circledotdisplay\"]=0x2299;t[\"circledottext\"]=0x2299;t[\"circlemultiplydisplay\"]=0x2297;t[\"circlemultiplytext\"]=0x2297;t[\"circleplusdisplay\"]=0x2295;t[\"circleplustext\"]=0x2295;t[\"contintegraldisplay\"]=0x222e;t[\"contintegraltext\"]=0x222e;t[\"coproductdisplay\"]=0x2210;t[\"coproducttext\"]=0x2210;t[\"floorleftBig\"]=0x230a;t[\"floorleftbig\"]=0x230a;t[\"floorleftbigg\"]=0x230a;t[\"floorleftBigg\"]=0x230a;t[\"floorrightbig\"]=0x230b;t[\"floorrightBig\"]=0x230b;t[\"floorrightBigg\"]=0x230b;t[\"floorrightbigg\"]=0x230b;t[\"hatwide\"]=0x0302;t[\"hatwider\"]=0x0302;t[\"hatwidest\"]=0x0302;t[\"intercal\"]=0x1d40;t[\"integraldisplay\"]=0x222b;t[\"integraltext\"]=0x222b;t[\"intersectiondisplay\"]=0x22c2;t[\"intersectiontext\"]=0x22c2;t[\"logicalanddisplay\"]=0x2227;t[\"logicalandtext\"]=0x2227;t[\"logicalordisplay\"]=0x2228;t[\"logicalortext\"]=0x2228;t[\"parenleftBig\"]=0x0028;t[\"parenleftbig\"]=0x0028;t[\"parenleftBigg\"]=0x0028;t[\"parenleftbigg\"]=0x0028;t[\"parenrightBig\"]=0x0029;t[\"parenrightbig\"]=0x0029;t[\"parenrightBigg\"]=0x0029;t[\"parenrightbigg\"]=0x0029;t[\"prime\"]=0x2032;t[\"productdisplay\"]=0x220f;t[\"producttext\"]=0x220f;t[\"radicalbig\"]=0x221a;t[\"radicalBig\"]=0x221a;t[\"radicalBigg\"]=0x221a;t[\"radicalbigg\"]=0x221a;t[\"radicalbt\"]=0x221a;t[\"radicaltp\"]=0x221a;t[\"radicalvertex\"]=0x221a;t[\"slashbig\"]=0x002f;t[\"slashBig\"]=0x002f;t[\"slashBigg\"]=0x002f;t[\"slashbigg\"]=0x002f;t[\"summationdisplay\"]=0x2211;t[\"summationtext\"]=0x2211;t[\"tildewide\"]=0x02dc;t[\"tildewider\"]=0x02dc;t[\"tildewidest\"]=0x02dc;t[\"uniondisplay\"]=0x22c3;t[\"unionmultidisplay\"]=0x228e;t[\"unionmultitext\"]=0x228e;t[\"unionsqdisplay\"]=0x2294;t[\"unionsqtext\"]=0x2294;t[\"uniontext\"]=0x22c3;t[\"vextenddouble\"]=0x2225;t[\"vextendsingle\"]=0x2223;});var getDingbatsGlyphsUnicode=getLookupTableFactory(function(t){t[\"space\"]=0x0020;t[\"a1\"]=0x2701;t[\"a2\"]=0x2702;t[\"a202\"]=0x2703;t[\"a3\"]=0x2704;t[\"a4\"]=0x260e;t[\"a5\"]=0x2706;t[\"a119\"]=0x2707;t[\"a118\"]=0x2708;t[\"a117\"]=0x2709;t[\"a11\"]=0x261b;t[\"a12\"]=0x261e;t[\"a13\"]=0x270c;t[\"a14\"]=0x270d;t[\"a15\"]=0x270e;t[\"a16\"]=0x270f;t[\"a105\"]=0x2710;t[\"a17\"]=0x2711;t[\"a18\"]=0x2712;t[\"a19\"]=0x2713;t[\"a20\"]=0x2714;t[\"a21\"]=0x2715;t[\"a22\"]=0x2716;t[\"a23\"]=0x2717;t[\"a24\"]=0x2718;t[\"a25\"]=0x2719;t[\"a26\"]=0x271a;t[\"a27\"]=0x271b;t[\"a28\"]=0x271c;t[\"a6\"]=0x271d;t[\"a7\"]=0x271e;t[\"a8\"]=0x271f;t[\"a9\"]=0x2720;t[\"a10\"]=0x2721;t[\"a29\"]=0x2722;t[\"a30\"]=0x2723;t[\"a31\"]=0x2724;t[\"a32\"]=0x2725;t[\"a33\"]=0x2726;t[\"a34\"]=0x2727;t[\"a35\"]=0x2605;t[\"a36\"]=0x2729;t[\"a37\"]=0x272a;t[\"a38\"]=0x272b;t[\"a39\"]=0x272c;t[\"a40\"]=0x272d;t[\"a41\"]=0x272e;t[\"a42\"]=0x272f;t[\"a43\"]=0x2730;t[\"a44\"]=0x2731;t[\"a45\"]=0x2732;t[\"a46\"]=0x2733;t[\"a47\"]=0x2734;t[\"a48\"]=0x2735;t[\"a49\"]=0x2736;t[\"a50\"]=0x2737;t[\"a51\"]=0x2738;t[\"a52\"]=0x2739;t[\"a53\"]=0x273a;t[\"a54\"]=0x273b;t[\"a55\"]=0x273c;t[\"a56\"]=0x273d;t[\"a57\"]=0x273e;t[\"a58\"]=0x273f;t[\"a59\"]=0x2740;t[\"a60\"]=0x2741;t[\"a61\"]=0x2742;t[\"a62\"]=0x2743;t[\"a63\"]=0x2744;t[\"a64\"]=0x2745;t[\"a65\"]=0x2746;t[\"a66\"]=0x2747;t[\"a67\"]=0x2748;t[\"a68\"]=0x2749;t[\"a69\"]=0x274a;t[\"a70\"]=0x274b;t[\"a71\"]=0x25cf;t[\"a72\"]=0x274d;t[\"a73\"]=0x25a0;t[\"a74\"]=0x274f;t[\"a203\"]=0x2750;t[\"a75\"]=0x2751;t[\"a204\"]=0x2752;t[\"a76\"]=0x25b2;t[\"a77\"]=0x25bc;t[\"a78\"]=0x25c6;t[\"a79\"]=0x2756;t[\"a81\"]=0x25d7;t[\"a82\"]=0x2758;t[\"a83\"]=0x2759;t[\"a84\"]=0x275a;t[\"a97\"]=0x275b;t[\"a98\"]=0x275c;t[\"a99\"]=0x275d;t[\"a100\"]=0x275e;t[\"a101\"]=0x2761;t[\"a102\"]=0x2762;t[\"a103\"]=0x2763;t[\"a104\"]=0x2764;t[\"a106\"]=0x2765;t[\"a107\"]=0x2766;t[\"a108\"]=0x2767;t[\"a112\"]=0x2663;t[\"a111\"]=0x2666;t[\"a110\"]=0x2665;t[\"a109\"]=0x2660;t[\"a120\"]=0x2460;t[\"a121\"]=0x2461;t[\"a122\"]=0x2462;t[\"a123\"]=0x2463;t[\"a124\"]=0x2464;t[\"a125\"]=0x2465;t[\"a126\"]=0x2466;t[\"a127\"]=0x2467;t[\"a128\"]=0x2468;t[\"a129\"]=0x2469;t[\"a130\"]=0x2776;t[\"a131\"]=0x2777;t[\"a132\"]=0x2778;t[\"a133\"]=0x2779;t[\"a134\"]=0x277a;t[\"a135\"]=0x277b;t[\"a136\"]=0x277c;t[\"a137\"]=0x277d;t[\"a138\"]=0x277e;t[\"a139\"]=0x277f;t[\"a140\"]=0x2780;t[\"a141\"]=0x2781;t[\"a142\"]=0x2782;t[\"a143\"]=0x2783;t[\"a144\"]=0x2784;t[\"a145\"]=0x2785;t[\"a146\"]=0x2786;t[\"a147\"]=0x2787;t[\"a148\"]=0x2788;t[\"a149\"]=0x2789;t[\"a150\"]=0x278a;t[\"a151\"]=0x278b;t[\"a152\"]=0x278c;t[\"a153\"]=0x278d;t[\"a154\"]=0x278e;t[\"a155\"]=0x278f;t[\"a156\"]=0x2790;t[\"a157\"]=0x2791;t[\"a158\"]=0x2792;t[\"a159\"]=0x2793;t[\"a160\"]=0x2794;t[\"a161\"]=0x2192;t[\"a163\"]=0x2194;t[\"a164\"]=0x2195;t[\"a196\"]=0x2798;t[\"a165\"]=0x2799;t[\"a192\"]=0x279a;t[\"a166\"]=0x279b;t[\"a167\"]=0x279c;t[\"a168\"]=0x279d;t[\"a169\"]=0x279e;t[\"a170\"]=0x279f;t[\"a171\"]=0x27a0;t[\"a172\"]=0x27a1;t[\"a173\"]=0x27a2;t[\"a162\"]=0x27a3;t[\"a174\"]=0x27a4;t[\"a175\"]=0x27a5;t[\"a176\"]=0x27a6;t[\"a177\"]=0x27a7;t[\"a178\"]=0x27a8;t[\"a179\"]=0x27a9;t[\"a193\"]=0x27aa;t[\"a180\"]=0x27ab;t[\"a199\"]=0x27ac;t[\"a181\"]=0x27ad;t[\"a200\"]=0x27ae;t[\"a182\"]=0x27af;t[\"a201\"]=0x27b1;t[\"a183\"]=0x27b2;t[\"a184\"]=0x27b3;t[\"a197\"]=0x27b4;t[\"a185\"]=0x27b5;t[\"a194\"]=0x27b6;t[\"a198\"]=0x27b7;t[\"a186\"]=0x27b8;t[\"a195\"]=0x27b9;t[\"a187\"]=0x27ba;t[\"a188\"]=0x27bb;t[\"a189\"]=0x27bc;t[\"a190\"]=0x27bd;t[\"a191\"]=0x27be;t[\"a89\"]=0x2768;t[\"a90\"]=0x2769;t[\"a93\"]=0x276a;t[\"a94\"]=0x276b;t[\"a91\"]=0x276c;t[\"a92\"]=0x276d;t[\"a205\"]=0x276e;t[\"a85\"]=0x276f;t[\"a206\"]=0x2770;t[\"a86\"]=0x2771;t[\"a87\"]=0x2772;t[\"a88\"]=0x2773;t[\"a95\"]=0x2774;t[\"a96\"]=0x2775;t[\".notdef\"]=0x0000;});exports.getGlyphsUnicode=getGlyphsUnicode;exports.getDingbatsGlyphsUnicode=getDingbatsGlyphsUnicode;/***/},/* 32 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getSupplementalGlyphMapForCalibri=exports.getSupplementalGlyphMapForArialBlack=exports.getGlyphMapForStandardFonts=exports.getSymbolsFonts=exports.getSerifFonts=exports.getNonStdFontMap=exports.getStdFontMap=void 0;var _core_utils=__w_pdfjs_require__(7);var getStdFontMap=(0,_core_utils.getLookupTableFactory)(function(t){t[\"ArialNarrow\"]=\"Helvetica\";t[\"ArialNarrow-Bold\"]=\"Helvetica-Bold\";t[\"ArialNarrow-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"ArialNarrow-Italic\"]=\"Helvetica-Oblique\";t[\"ArialBlack\"]=\"Helvetica\";t[\"ArialBlack-Bold\"]=\"Helvetica-Bold\";t[\"ArialBlack-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"ArialBlack-Italic\"]=\"Helvetica-Oblique\";t[\"Arial-Black\"]=\"Helvetica\";t[\"Arial-Black-Bold\"]=\"Helvetica-Bold\";t[\"Arial-Black-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"Arial-Black-Italic\"]=\"Helvetica-Oblique\";t[\"Arial\"]=\"Helvetica\";t[\"Arial-Bold\"]=\"Helvetica-Bold\";t[\"Arial-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"Arial-Italic\"]=\"Helvetica-Oblique\";t[\"Arial-BoldItalicMT\"]=\"Helvetica-BoldOblique\";t[\"Arial-BoldMT\"]=\"Helvetica-Bold\";t[\"Arial-ItalicMT\"]=\"Helvetica-Oblique\";t[\"ArialMT\"]=\"Helvetica\";t[\"Courier-Bold\"]=\"Courier-Bold\";t[\"Courier-BoldItalic\"]=\"Courier-BoldOblique\";t[\"Courier-Italic\"]=\"Courier-Oblique\";t[\"CourierNew\"]=\"Courier\";t[\"CourierNew-Bold\"]=\"Courier-Bold\";t[\"CourierNew-BoldItalic\"]=\"Courier-BoldOblique\";t[\"CourierNew-Italic\"]=\"Courier-Oblique\";t[\"CourierNewPS-BoldItalicMT\"]=\"Courier-BoldOblique\";t[\"CourierNewPS-BoldMT\"]=\"Courier-Bold\";t[\"CourierNewPS-ItalicMT\"]=\"Courier-Oblique\";t[\"CourierNewPSMT\"]=\"Courier\";t[\"Helvetica\"]=\"Helvetica\";t[\"Helvetica-Bold\"]=\"Helvetica-Bold\";t[\"Helvetica-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"Helvetica-BoldOblique\"]=\"Helvetica-BoldOblique\";t[\"Helvetica-Italic\"]=\"Helvetica-Oblique\";t[\"Helvetica-Oblique\"]=\"Helvetica-Oblique\";t[\"Symbol-Bold\"]=\"Symbol\";t[\"Symbol-BoldItalic\"]=\"Symbol\";t[\"Symbol-Italic\"]=\"Symbol\";t[\"TimesNewRoman\"]=\"Times-Roman\";t[\"TimesNewRoman-Bold\"]=\"Times-Bold\";t[\"TimesNewRoman-BoldItalic\"]=\"Times-BoldItalic\";t[\"TimesNewRoman-Italic\"]=\"Times-Italic\";t[\"TimesNewRomanPS\"]=\"Times-Roman\";t[\"TimesNewRomanPS-Bold\"]=\"Times-Bold\";t[\"TimesNewRomanPS-BoldItalic\"]=\"Times-BoldItalic\";t[\"TimesNewRomanPS-BoldItalicMT\"]=\"Times-BoldItalic\";t[\"TimesNewRomanPS-BoldMT\"]=\"Times-Bold\";t[\"TimesNewRomanPS-Italic\"]=\"Times-Italic\";t[\"TimesNewRomanPS-ItalicMT\"]=\"Times-Italic\";t[\"TimesNewRomanPSMT\"]=\"Times-Roman\";t[\"TimesNewRomanPSMT-Bold\"]=\"Times-Bold\";t[\"TimesNewRomanPSMT-BoldItalic\"]=\"Times-BoldItalic\";t[\"TimesNewRomanPSMT-Italic\"]=\"Times-Italic\";});exports.getStdFontMap=getStdFontMap;var getNonStdFontMap=(0,_core_utils.getLookupTableFactory)(function(t){t[\"Calibri\"]=\"Helvetica\";t[\"Calibri-Bold\"]=\"Helvetica-Bold\";t[\"Calibri-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"Calibri-Italic\"]=\"Helvetica-Oblique\";t[\"CenturyGothic\"]=\"Helvetica\";t[\"CenturyGothic-Bold\"]=\"Helvetica-Bold\";t[\"CenturyGothic-BoldItalic\"]=\"Helvetica-BoldOblique\";t[\"CenturyGothic-Italic\"]=\"Helvetica-Oblique\";t[\"ComicSansMS\"]=\"Comic Sans MS\";t[\"ComicSansMS-Bold\"]=\"Comic Sans MS-Bold\";t[\"ComicSansMS-BoldItalic\"]=\"Comic Sans MS-BoldItalic\";t[\"ComicSansMS-Italic\"]=\"Comic Sans MS-Italic\";t[\"LucidaConsole\"]=\"Courier\";t[\"LucidaConsole-Bold\"]=\"Courier-Bold\";t[\"LucidaConsole-BoldItalic\"]=\"Courier-BoldOblique\";t[\"LucidaConsole-Italic\"]=\"Courier-Oblique\";t[\"LucidaSans-Demi\"]=\"Helvetica-Bold\";t[\"MS-Gothic\"]=\"MS Gothic\";t[\"MS-Gothic-Bold\"]=\"MS Gothic-Bold\";t[\"MS-Gothic-BoldItalic\"]=\"MS Gothic-BoldItalic\";t[\"MS-Gothic-Italic\"]=\"MS Gothic-Italic\";t[\"MS-Mincho\"]=\"MS Mincho\";t[\"MS-Mincho-Bold\"]=\"MS Mincho-Bold\";t[\"MS-Mincho-BoldItalic\"]=\"MS Mincho-BoldItalic\";t[\"MS-Mincho-Italic\"]=\"MS Mincho-Italic\";t[\"MS-PGothic\"]=\"MS PGothic\";t[\"MS-PGothic-Bold\"]=\"MS PGothic-Bold\";t[\"MS-PGothic-BoldItalic\"]=\"MS PGothic-BoldItalic\";t[\"MS-PGothic-Italic\"]=\"MS PGothic-Italic\";t[\"MS-PMincho\"]=\"MS PMincho\";t[\"MS-PMincho-Bold\"]=\"MS PMincho-Bold\";t[\"MS-PMincho-BoldItalic\"]=\"MS PMincho-BoldItalic\";t[\"MS-PMincho-Italic\"]=\"MS PMincho-Italic\";t[\"NuptialScript\"]=\"Times-Italic\";t[\"SegoeUISymbol\"]=\"Helvetica\";t[\"Wingdings\"]=\"ZapfDingbats\";t[\"Wingdings-Regular\"]=\"ZapfDingbats\";});exports.getNonStdFontMap=getNonStdFontMap;var getSerifFonts=(0,_core_utils.getLookupTableFactory)(function(t){t[\"Adobe Jenson\"]=true;t[\"Adobe Text\"]=true;t[\"Albertus\"]=true;t[\"Aldus\"]=true;t[\"Alexandria\"]=true;t[\"Algerian\"]=true;t[\"American Typewriter\"]=true;t[\"Antiqua\"]=true;t[\"Apex\"]=true;t[\"Arno\"]=true;t[\"Aster\"]=true;t[\"Aurora\"]=true;t[\"Baskerville\"]=true;t[\"Bell\"]=true;t[\"Bembo\"]=true;t[\"Bembo Schoolbook\"]=true;t[\"Benguiat\"]=true;t[\"Berkeley Old Style\"]=true;t[\"Bernhard Modern\"]=true;t[\"Berthold City\"]=true;t[\"Bodoni\"]=true;t[\"Bauer Bodoni\"]=true;t[\"Book Antiqua\"]=true;t[\"Bookman\"]=true;t[\"Bordeaux Roman\"]=true;t[\"Californian FB\"]=true;t[\"Calisto\"]=true;t[\"Calvert\"]=true;t[\"Capitals\"]=true;t[\"Cambria\"]=true;t[\"Cartier\"]=true;t[\"Caslon\"]=true;t[\"Catull\"]=true;t[\"Centaur\"]=true;t[\"Century Old Style\"]=true;t[\"Century Schoolbook\"]=true;t[\"Chaparral\"]=true;t[\"Charis SIL\"]=true;t[\"Cheltenham\"]=true;t[\"Cholla Slab\"]=true;t[\"Clarendon\"]=true;t[\"Clearface\"]=true;t[\"Cochin\"]=true;t[\"Colonna\"]=true;t[\"Computer Modern\"]=true;t[\"Concrete Roman\"]=true;t[\"Constantia\"]=true;t[\"Cooper Black\"]=true;t[\"Corona\"]=true;t[\"Ecotype\"]=true;t[\"Egyptienne\"]=true;t[\"Elephant\"]=true;t[\"Excelsior\"]=true;t[\"Fairfield\"]=true;t[\"FF Scala\"]=true;t[\"Folkard\"]=true;t[\"Footlight\"]=true;t[\"FreeSerif\"]=true;t[\"Friz Quadrata\"]=true;t[\"Garamond\"]=true;t[\"Gentium\"]=true;t[\"Georgia\"]=true;t[\"Gloucester\"]=true;t[\"Goudy Old Style\"]=true;t[\"Goudy Schoolbook\"]=true;t[\"Goudy Pro Font\"]=true;t[\"Granjon\"]=true;t[\"Guardian Egyptian\"]=true;t[\"Heather\"]=true;t[\"Hercules\"]=true;t[\"High Tower Text\"]=true;t[\"Hiroshige\"]=true;t[\"Hoefler Text\"]=true;t[\"Humana Serif\"]=true;t[\"Imprint\"]=true;t[\"Ionic No. 5\"]=true;t[\"Janson\"]=true;t[\"Joanna\"]=true;t[\"Korinna\"]=true;t[\"Lexicon\"]=true;t[\"Liberation Serif\"]=true;t[\"Linux Libertine\"]=true;t[\"Literaturnaya\"]=true;t[\"Lucida\"]=true;t[\"Lucida Bright\"]=true;t[\"Melior\"]=true;t[\"Memphis\"]=true;t[\"Miller\"]=true;t[\"Minion\"]=true;t[\"Modern\"]=true;t[\"Mona Lisa\"]=true;t[\"Mrs Eaves\"]=true;t[\"MS Serif\"]=true;t[\"Museo Slab\"]=true;t[\"New York\"]=true;t[\"Nimbus Roman\"]=true;t[\"NPS Rawlinson Roadway\"]=true;t[\"NuptialScript\"]=true;t[\"Palatino\"]=true;t[\"Perpetua\"]=true;t[\"Plantin\"]=true;t[\"Plantin Schoolbook\"]=true;t[\"Playbill\"]=true;t[\"Poor Richard\"]=true;t[\"Rawlinson Roadway\"]=true;t[\"Renault\"]=true;t[\"Requiem\"]=true;t[\"Rockwell\"]=true;t[\"Roman\"]=true;t[\"Rotis Serif\"]=true;t[\"Sabon\"]=true;t[\"Scala\"]=true;t[\"Seagull\"]=true;t[\"Sistina\"]=true;t[\"Souvenir\"]=true;t[\"STIX\"]=true;t[\"Stone Informal\"]=true;t[\"Stone Serif\"]=true;t[\"Sylfaen\"]=true;t[\"Times\"]=true;t[\"Trajan\"]=true;t[\"Trinité\"]=true;t[\"Trump Mediaeval\"]=true;t[\"Utopia\"]=true;t[\"Vale Type\"]=true;t[\"Bitstream Vera\"]=true;t[\"Vera Serif\"]=true;t[\"Versailles\"]=true;t[\"Wanted\"]=true;t[\"Weiss\"]=true;t[\"Wide Latin\"]=true;t[\"Windsor\"]=true;t[\"XITS\"]=true;});exports.getSerifFonts=getSerifFonts;var getSymbolsFonts=(0,_core_utils.getLookupTableFactory)(function(t){t[\"Dingbats\"]=true;t[\"Symbol\"]=true;t[\"ZapfDingbats\"]=true;});exports.getSymbolsFonts=getSymbolsFonts;var getGlyphMapForStandardFonts=(0,_core_utils.getLookupTableFactory)(function(t){t[2]=10;t[3]=32;t[4]=33;t[5]=34;t[6]=35;t[7]=36;t[8]=37;t[9]=38;t[10]=39;t[11]=40;t[12]=41;t[13]=42;t[14]=43;t[15]=44;t[16]=45;t[17]=46;t[18]=47;t[19]=48;t[20]=49;t[21]=50;t[22]=51;t[23]=52;t[24]=53;t[25]=54;t[26]=55;t[27]=56;t[28]=57;t[29]=58;t[30]=894;t[31]=60;t[32]=61;t[33]=62;t[34]=63;t[35]=64;t[36]=65;t[37]=66;t[38]=67;t[39]=68;t[40]=69;t[41]=70;t[42]=71;t[43]=72;t[44]=73;t[45]=74;t[46]=75;t[47]=76;t[48]=77;t[49]=78;t[50]=79;t[51]=80;t[52]=81;t[53]=82;t[54]=83;t[55]=84;t[56]=85;t[57]=86;t[58]=87;t[59]=88;t[60]=89;t[61]=90;t[62]=91;t[63]=92;t[64]=93;t[65]=94;t[66]=95;t[67]=96;t[68]=97;t[69]=98;t[70]=99;t[71]=100;t[72]=101;t[73]=102;t[74]=103;t[75]=104;t[76]=105;t[77]=106;t[78]=107;t[79]=108;t[80]=109;t[81]=110;t[82]=111;t[83]=112;t[84]=113;t[85]=114;t[86]=115;t[87]=116;t[88]=117;t[89]=118;t[90]=119;t[91]=120;t[92]=121;t[93]=122;t[94]=123;t[95]=124;t[96]=125;t[97]=126;t[98]=196;t[99]=197;t[100]=199;t[101]=201;t[102]=209;t[103]=214;t[104]=220;t[105]=225;t[106]=224;t[107]=226;t[108]=228;t[109]=227;t[110]=229;t[111]=231;t[112]=233;t[113]=232;t[114]=234;t[115]=235;t[116]=237;t[117]=236;t[118]=238;t[119]=239;t[120]=241;t[121]=243;t[122]=242;t[123]=244;t[124]=246;t[125]=245;t[126]=250;t[127]=249;t[128]=251;t[129]=252;t[130]=8224;t[131]=176;t[132]=162;t[133]=163;t[134]=167;t[135]=8226;t[136]=182;t[137]=223;t[138]=174;t[139]=169;t[140]=8482;t[141]=180;t[142]=168;t[143]=8800;t[144]=198;t[145]=216;t[146]=8734;t[147]=177;t[148]=8804;t[149]=8805;t[150]=165;t[151]=181;t[152]=8706;t[153]=8721;t[154]=8719;t[156]=8747;t[157]=170;t[158]=186;t[159]=8486;t[160]=230;t[161]=248;t[162]=191;t[163]=161;t[164]=172;t[165]=8730;t[166]=402;t[167]=8776;t[168]=8710;t[169]=171;t[170]=187;t[171]=8230;t[210]=218;t[223]=711;t[224]=321;t[225]=322;t[227]=353;t[229]=382;t[234]=253;t[252]=263;t[253]=268;t[254]=269;t[258]=258;t[260]=260;t[261]=261;t[265]=280;t[266]=281;t[268]=283;t[269]=313;t[275]=323;t[276]=324;t[278]=328;t[284]=345;t[285]=346;t[286]=347;t[292]=367;t[295]=377;t[296]=378;t[298]=380;t[305]=963;t[306]=964;t[307]=966;t[308]=8215;t[309]=8252;t[310]=8319;t[311]=8359;t[312]=8592;t[313]=8593;t[337]=9552;t[493]=1039;t[494]=1040;t[705]=1524;t[706]=8362;t[710]=64288;t[711]=64298;t[759]=1617;t[761]=1776;t[763]=1778;t[775]=1652;t[777]=1764;t[778]=1780;t[779]=1781;t[780]=1782;t[782]=771;t[783]=64726;t[786]=8363;t[788]=8532;t[790]=768;t[791]=769;t[792]=768;t[795]=803;t[797]=64336;t[798]=64337;t[799]=64342;t[800]=64343;t[801]=64344;t[802]=64345;t[803]=64362;t[804]=64363;t[805]=64364;t[2424]=7821;t[2425]=7822;t[2426]=7823;t[2427]=7824;t[2428]=7825;t[2429]=7826;t[2430]=7827;t[2433]=7682;t[2678]=8045;t[2679]=8046;t[2830]=1552;t[2838]=686;t[2840]=751;t[2842]=753;t[2843]=754;t[2844]=755;t[2846]=757;t[2856]=767;t[2857]=848;t[2858]=849;t[2862]=853;t[2863]=854;t[2864]=855;t[2865]=861;t[2866]=862;t[2906]=7460;t[2908]=7462;t[2909]=7463;t[2910]=7464;t[2912]=7466;t[2913]=7467;t[2914]=7468;t[2916]=7470;t[2917]=7471;t[2918]=7472;t[2920]=7474;t[2921]=7475;t[2922]=7476;t[2924]=7478;t[2925]=7479;t[2926]=7480;t[2928]=7482;t[2929]=7483;t[2930]=7484;t[2932]=7486;t[2933]=7487;t[2934]=7488;t[2936]=7490;t[2937]=7491;t[2938]=7492;t[2940]=7494;t[2941]=7495;t[2942]=7496;t[2944]=7498;t[2946]=7500;t[2948]=7502;t[2950]=7504;t[2951]=7505;t[2952]=7506;t[2954]=7508;t[2955]=7509;t[2956]=7510;t[2958]=7512;t[2959]=7513;t[2960]=7514;t[2962]=7516;t[2963]=7517;t[2964]=7518;t[2966]=7520;t[2967]=7521;t[2968]=7522;t[2970]=7524;t[2971]=7525;t[2972]=7526;t[2974]=7528;t[2975]=7529;t[2976]=7530;t[2978]=1537;t[2979]=1538;t[2980]=1539;t[2982]=1549;t[2983]=1551;t[2984]=1552;t[2986]=1554;t[2987]=1555;t[2988]=1556;t[2990]=1623;t[2991]=1624;t[2995]=1775;t[2999]=1791;t[3002]=64290;t[3003]=64291;t[3004]=64292;t[3006]=64294;t[3007]=64295;t[3008]=64296;t[3011]=1900;t[3014]=8223;t[3015]=8244;t[3017]=7532;t[3018]=7533;t[3019]=7534;t[3075]=7590;t[3076]=7591;t[3079]=7594;t[3080]=7595;t[3083]=7598;t[3084]=7599;t[3087]=7602;t[3088]=7603;t[3091]=7606;t[3092]=7607;t[3095]=7610;t[3096]=7611;t[3099]=7614;t[3100]=7615;t[3103]=7618;t[3104]=7619;t[3107]=8337;t[3108]=8338;t[3116]=1884;t[3119]=1885;t[3120]=1885;t[3123]=1886;t[3124]=1886;t[3127]=1887;t[3128]=1887;t[3131]=1888;t[3132]=1888;t[3135]=1889;t[3136]=1889;t[3139]=1890;t[3140]=1890;t[3143]=1891;t[3144]=1891;t[3147]=1892;t[3148]=1892;t[3153]=580;t[3154]=581;t[3157]=584;t[3158]=585;t[3161]=588;t[3162]=589;t[3165]=891;t[3166]=892;t[3169]=1274;t[3170]=1275;t[3173]=1278;t[3174]=1279;t[3181]=7622;t[3182]=7623;t[3282]=11799;t[3316]=578;t[3379]=42785;t[3393]=1159;t[3416]=8377;});exports.getGlyphMapForStandardFonts=getGlyphMapForStandardFonts;var getSupplementalGlyphMapForArialBlack=(0,_core_utils.getLookupTableFactory)(function(t){t[227]=322;t[264]=261;t[291]=346;});exports.getSupplementalGlyphMapForArialBlack=getSupplementalGlyphMapForArialBlack;var getSupplementalGlyphMapForCalibri=(0,_core_utils.getLookupTableFactory)(function(t){t[1]=32;t[4]=65;t[17]=66;t[18]=67;t[24]=68;t[28]=69;t[38]=70;t[39]=71;t[44]=72;t[47]=73;t[58]=74;t[60]=75;t[62]=76;t[68]=77;t[69]=78;t[75]=79;t[87]=80;t[89]=81;t[90]=82;t[94]=83;t[100]=84;t[104]=85;t[115]=86;t[116]=87;t[121]=88;t[122]=89;t[127]=90;t[258]=97;t[268]=261;t[271]=98;t[272]=99;t[273]=263;t[282]=100;t[286]=101;t[295]=281;t[296]=102;t[336]=103;t[346]=104;t[349]=105;t[361]=106;t[364]=107;t[367]=108;t[371]=322;t[373]=109;t[374]=110;t[381]=111;t[383]=243;t[393]=112;t[395]=113;t[396]=114;t[400]=115;t[401]=347;t[410]=116;t[437]=117;t[448]=118;t[449]=119;t[454]=120;t[455]=121;t[460]=122;t[463]=380;t[853]=44;t[855]=58;t[856]=46;t[876]=47;t[878]=45;t[882]=45;t[894]=40;t[895]=41;t[896]=91;t[897]=93;t[923]=64;t[1004]=48;t[1005]=49;t[1006]=50;t[1007]=51;t[1008]=52;t[1009]=53;t[1010]=54;t[1011]=55;t[1012]=56;t[1013]=57;t[1081]=37;t[1085]=43;t[1086]=45;});exports.getSupplementalGlyphMapForCalibri=getSupplementalGlyphMapForCalibri;/***/},/* 33 */ /***/function(module,exports,__w_pdfjs_require__){var getLookupTableFactory=__w_pdfjs_require__(7).getLookupTableFactory;var getSpecialPUASymbols=getLookupTableFactory(function(t){t[63721]=0x00a9;t[63193]=0x00a9;t[63720]=0x00ae;t[63194]=0x00ae;t[63722]=0x2122;t[63195]=0x2122;t[63729]=0x23a7;t[63730]=0x23a8;t[63731]=0x23a9;t[63740]=0x23ab;t[63741]=0x23ac;t[63742]=0x23ad;t[63726]=0x23a1;t[63727]=0x23a2;t[63728]=0x23a3;t[63737]=0x23a4;t[63738]=0x23a5;t[63739]=0x23a6;t[63723]=0x239b;t[63724]=0x239c;t[63725]=0x239d;t[63734]=0x239e;t[63735]=0x239f;t[63736]=0x23a0;});function mapSpecialUnicodeValues(code){if(code>=0xfff0&&code<=0xffff){return 0;}else if(code>=0xf600&&code<=0xf8ff){return getSpecialPUASymbols()[code]||code;}else if(code===0x00ad){return 0x002d;}return code;}function getUnicodeForGlyph(name,glyphsUnicodeMap){var unicode=glyphsUnicodeMap[name];if(unicode!==undefined){return unicode;}if(!name){return-1;}if(name[0]===\"u\"){var nameLen=name.length,hexStr;if(nameLen===7&&name[1]===\"n\"&&name[2]===\"i\"){hexStr=name.substring(3);}else if(nameLen>=5&&nameLen<=7){hexStr=name.substring(1);}else{return-1;}if(hexStr===hexStr.toUpperCase()){unicode=parseInt(hexStr,16);if(unicode>=0){return unicode;}}}return-1;}var UnicodeRanges=[{begin:0x0000,end:0x007f},{begin:0x0080,end:0x00ff},{begin:0x0100,end:0x017f},{begin:0x0180,end:0x024f},{begin:0x0250,end:0x02af},{begin:0x02b0,end:0x02ff},{begin:0x0300,end:0x036f},{begin:0x0370,end:0x03ff},{begin:0x2c80,end:0x2cff},{begin:0x0400,end:0x04ff},{begin:0x0530,end:0x058f},{begin:0x0590,end:0x05ff},{begin:0xa500,end:0xa63f},{begin:0x0600,end:0x06ff},{begin:0x07c0,end:0x07ff},{begin:0x0900,end:0x097f},{begin:0x0980,end:0x09ff},{begin:0x0a00,end:0x0a7f},{begin:0x0a80,end:0x0aff},{begin:0x0b00,end:0x0b7f},{begin:0x0b80,end:0x0bff},{begin:0x0c00,end:0x0c7f},{begin:0x0c80,end:0x0cff},{begin:0x0d00,end:0x0d7f},{begin:0x0e00,end:0x0e7f},{begin:0x0e80,end:0x0eff},{begin:0x10a0,end:0x10ff},{begin:0x1b00,end:0x1b7f},{begin:0x1100,end:0x11ff},{begin:0x1e00,end:0x1eff},{begin:0x1f00,end:0x1fff},{begin:0x2000,end:0x206f},{begin:0x2070,end:0x209f},{begin:0x20a0,end:0x20cf},{begin:0x20d0,end:0x20ff},{begin:0x2100,end:0x214f},{begin:0x2150,end:0x218f},{begin:0x2190,end:0x21ff},{begin:0x2200,end:0x22ff},{begin:0x2300,end:0x23ff},{begin:0x2400,end:0x243f},{begin:0x2440,end:0x245f},{begin:0x2460,end:0x24ff},{begin:0x2500,end:0x257f},{begin:0x2580,end:0x259f},{begin:0x25a0,end:0x25ff},{begin:0x2600,end:0x26ff},{begin:0x2700,end:0x27bf},{begin:0x3000,end:0x303f},{begin:0x3040,end:0x309f},{begin:0x30a0,end:0x30ff},{begin:0x3100,end:0x312f},{begin:0x3130,end:0x318f},{begin:0xa840,end:0xa87f},{begin:0x3200,end:0x32ff},{begin:0x3300,end:0x33ff},{begin:0xac00,end:0xd7af},{begin:0xd800,end:0xdfff},{begin:0x10900,end:0x1091f},{begin:0x4e00,end:0x9fff},{begin:0xe000,end:0xf8ff},{begin:0x31c0,end:0x31ef},{begin:0xfb00,end:0xfb4f},{begin:0xfb50,end:0xfdff},{begin:0xfe20,end:0xfe2f},{begin:0xfe10,end:0xfe1f},{begin:0xfe50,end:0xfe6f},{begin:0xfe70,end:0xfeff},{begin:0xff00,end:0xffef},{begin:0xfff0,end:0xffff},{begin:0x0f00,end:0x0fff},{begin:0x0700,end:0x074f},{begin:0x0780,end:0x07bf},{begin:0x0d80,end:0x0dff},{begin:0x1000,end:0x109f},{begin:0x1200,end:0x137f},{begin:0x13a0,end:0x13ff},{begin:0x1400,end:0x167f},{begin:0x1680,end:0x169f},{begin:0x16a0,end:0x16ff},{begin:0x1780,end:0x17ff},{begin:0x1800,end:0x18af},{begin:0x2800,end:0x28ff},{begin:0xa000,end:0xa48f},{begin:0x1700,end:0x171f},{begin:0x10300,end:0x1032f},{begin:0x10330,end:0x1034f},{begin:0x10400,end:0x1044f},{begin:0x1d000,end:0x1d0ff},{begin:0x1d400,end:0x1d7ff},{begin:0xff000,end:0xffffd},{begin:0xfe00,end:0xfe0f},{begin:0xe0000,end:0xe007f},{begin:0x1900,end:0x194f},{begin:0x1950,end:0x197f},{begin:0x1980,end:0x19df},{begin:0x1a00,end:0x1a1f},{begin:0x2c00,end:0x2c5f},{begin:0x2d30,end:0x2d7f},{begin:0x4dc0,end:0x4dff},{begin:0xa800,end:0xa82f},{begin:0x10000,end:0x1007f},{begin:0x10140,end:0x1018f},{begin:0x10380,end:0x1039f},{begin:0x103a0,end:0x103df},{begin:0x10450,end:0x1047f},{begin:0x10480,end:0x104af},{begin:0x10800,end:0x1083f},{begin:0x10a00,end:0x10a5f},{begin:0x1d300,end:0x1d35f},{begin:0x12000,end:0x123ff},{begin:0x1d360,end:0x1d37f},{begin:0x1b80,end:0x1bbf},{begin:0x1c00,end:0x1c4f},{begin:0x1c50,end:0x1c7f},{begin:0xa880,end:0xa8df},{begin:0xa900,end:0xa92f},{begin:0xa930,end:0xa95f},{begin:0xaa00,end:0xaa5f},{begin:0x10190,end:0x101cf},{begin:0x101d0,end:0x101ff},{begin:0x102a0,end:0x102df},{begin:0x1f030,end:0x1f09f}];function getUnicodeRangeFor(value){for(var i=0,ii=UnicodeRanges.length;i<ii;i++){var range=UnicodeRanges[i];if(value>=range.begin&&value<range.end){return i;}}return-1;}function isRTLRangeFor(value){var range=UnicodeRanges[13];if(value>=range.begin&&value<range.end){return true;}range=UnicodeRanges[11];if(value>=range.begin&&value<range.end){return true;}return false;}var getNormalizedUnicodes=getLookupTableFactory(function(t){t[\"\\xA8\"]=\" \\u0308\";t[\"\\xAF\"]=\" \\u0304\";t[\"\\xB4\"]=\" \\u0301\";t[\"\\xB5\"]=\"\\u03BC\";t[\"\\xB8\"]=\" \\u0327\";t[\"\\u0132\"]=\"IJ\";t[\"\\u0133\"]=\"ij\";t[\"\\u013F\"]=\"L\\xB7\";t[\"\\u0140\"]=\"l\\xB7\";t[\"\\u0149\"]=\"\\u02BCn\";t[\"\\u017F\"]=\"s\";t[\"\\u01C4\"]=\"D\\u017D\";t[\"\\u01C5\"]=\"D\\u017E\";t[\"\\u01C6\"]=\"d\\u017E\";t[\"\\u01C7\"]=\"LJ\";t[\"\\u01C8\"]=\"Lj\";t[\"\\u01C9\"]=\"lj\";t[\"\\u01CA\"]=\"NJ\";t[\"\\u01CB\"]=\"Nj\";t[\"\\u01CC\"]=\"nj\";t[\"\\u01F1\"]=\"DZ\";t[\"\\u01F2\"]=\"Dz\";t[\"\\u01F3\"]=\"dz\";t[\"\\u02D8\"]=\" \\u0306\";t[\"\\u02D9\"]=\" \\u0307\";t[\"\\u02DA\"]=\" \\u030A\";t[\"\\u02DB\"]=\" \\u0328\";t[\"\\u02DC\"]=\" \\u0303\";t[\"\\u02DD\"]=\" \\u030B\";t[\"\\u037A\"]=\" \\u0345\";t[\"\\u0384\"]=\" \\u0301\";t[\"\\u03D0\"]=\"\\u03B2\";t[\"\\u03D1\"]=\"\\u03B8\";t[\"\\u03D2\"]=\"\\u03A5\";t[\"\\u03D5\"]=\"\\u03C6\";t[\"\\u03D6\"]=\"\\u03C0\";t[\"\\u03F0\"]=\"\\u03BA\";t[\"\\u03F1\"]=\"\\u03C1\";t[\"\\u03F2\"]=\"\\u03C2\";t[\"\\u03F4\"]=\"\\u0398\";t[\"\\u03F5\"]=\"\\u03B5\";t[\"\\u03F9\"]=\"\\u03A3\";t[\"\\u0587\"]=\"\\u0565\\u0582\";t[\"\\u0675\"]=\"\\u0627\\u0674\";t[\"\\u0676\"]=\"\\u0648\\u0674\";t[\"\\u0677\"]=\"\\u06C7\\u0674\";t[\"\\u0678\"]=\"\\u064A\\u0674\";t[\"\\u0E33\"]=\"\\u0E4D\\u0E32\";t[\"\\u0EB3\"]=\"\\u0ECD\\u0EB2\";t[\"\\u0EDC\"]=\"\\u0EAB\\u0E99\";t[\"\\u0EDD\"]=\"\\u0EAB\\u0EA1\";t[\"\\u0F77\"]=\"\\u0FB2\\u0F81\";t[\"\\u0F79\"]=\"\\u0FB3\\u0F81\";t[\"\\u1E9A\"]=\"a\\u02BE\";t[\"\\u1FBD\"]=\" \\u0313\";t[\"\\u1FBF\"]=\" \\u0313\";t[\"\\u1FC0\"]=\" \\u0342\";t[\"\\u1FFE\"]=\" \\u0314\";t[\"\\u2002\"]=\" \";t[\"\\u2003\"]=\" \";t[\"\\u2004\"]=\" \";t[\"\\u2005\"]=\" \";t[\"\\u2006\"]=\" \";t[\"\\u2008\"]=\" \";t[\"\\u2009\"]=\" \";t[\"\\u200A\"]=\" \";t[\"\\u2017\"]=\" \\u0333\";t[\"\\u2024\"]=\".\";t[\"\\u2025\"]=\"..\";t[\"\\u2026\"]=\"...\";t[\"\\u2033\"]=\"\\u2032\\u2032\";t[\"\\u2034\"]=\"\\u2032\\u2032\\u2032\";t[\"\\u2036\"]=\"\\u2035\\u2035\";t[\"\\u2037\"]=\"\\u2035\\u2035\\u2035\";t[\"\\u203C\"]=\"!!\";t[\"\\u203E\"]=\" \\u0305\";t[\"\\u2047\"]=\"??\";t[\"\\u2048\"]=\"?!\";t[\"\\u2049\"]=\"!?\";t[\"\\u2057\"]=\"\\u2032\\u2032\\u2032\\u2032\";t[\"\\u205F\"]=\" \";t[\"\\u20A8\"]=\"Rs\";t[\"\\u2100\"]=\"a/c\";t[\"\\u2101\"]=\"a/s\";t[\"\\u2103\"]=\"\\xB0C\";t[\"\\u2105\"]=\"c/o\";t[\"\\u2106\"]=\"c/u\";t[\"\\u2107\"]=\"\\u0190\";t[\"\\u2109\"]=\"\\xB0F\";t[\"\\u2116\"]=\"No\";t[\"\\u2121\"]=\"TEL\";t[\"\\u2135\"]=\"\\u05D0\";t[\"\\u2136\"]=\"\\u05D1\";t[\"\\u2137\"]=\"\\u05D2\";t[\"\\u2138\"]=\"\\u05D3\";t[\"\\u213B\"]=\"FAX\";t[\"\\u2160\"]=\"I\";t[\"\\u2161\"]=\"II\";t[\"\\u2162\"]=\"III\";t[\"\\u2163\"]=\"IV\";t[\"\\u2164\"]=\"V\";t[\"\\u2165\"]=\"VI\";t[\"\\u2166\"]=\"VII\";t[\"\\u2167\"]=\"VIII\";t[\"\\u2168\"]=\"IX\";t[\"\\u2169\"]=\"X\";t[\"\\u216A\"]=\"XI\";t[\"\\u216B\"]=\"XII\";t[\"\\u216C\"]=\"L\";t[\"\\u216D\"]=\"C\";t[\"\\u216E\"]=\"D\";t[\"\\u216F\"]=\"M\";t[\"\\u2170\"]=\"i\";t[\"\\u2171\"]=\"ii\";t[\"\\u2172\"]=\"iii\";t[\"\\u2173\"]=\"iv\";t[\"\\u2174\"]=\"v\";t[\"\\u2175\"]=\"vi\";t[\"\\u2176\"]=\"vii\";t[\"\\u2177\"]=\"viii\";t[\"\\u2178\"]=\"ix\";t[\"\\u2179\"]=\"x\";t[\"\\u217A\"]=\"xi\";t[\"\\u217B\"]=\"xii\";t[\"\\u217C\"]=\"l\";t[\"\\u217D\"]=\"c\";t[\"\\u217E\"]=\"d\";t[\"\\u217F\"]=\"m\";t[\"\\u222C\"]=\"\\u222B\\u222B\";t[\"\\u222D\"]=\"\\u222B\\u222B\\u222B\";t[\"\\u222F\"]=\"\\u222E\\u222E\";t[\"\\u2230\"]=\"\\u222E\\u222E\\u222E\";t[\"\\u2474\"]=\"(1)\";t[\"\\u2475\"]=\"(2)\";t[\"\\u2476\"]=\"(3)\";t[\"\\u2477\"]=\"(4)\";t[\"\\u2478\"]=\"(5)\";t[\"\\u2479\"]=\"(6)\";t[\"\\u247A\"]=\"(7)\";t[\"\\u247B\"]=\"(8)\";t[\"\\u247C\"]=\"(9)\";t[\"\\u247D\"]=\"(10)\";t[\"\\u247E\"]=\"(11)\";t[\"\\u247F\"]=\"(12)\";t[\"\\u2480\"]=\"(13)\";t[\"\\u2481\"]=\"(14)\";t[\"\\u2482\"]=\"(15)\";t[\"\\u2483\"]=\"(16)\";t[\"\\u2484\"]=\"(17)\";t[\"\\u2485\"]=\"(18)\";t[\"\\u2486\"]=\"(19)\";t[\"\\u2487\"]=\"(20)\";t[\"\\u2488\"]=\"1.\";t[\"\\u2489\"]=\"2.\";t[\"\\u248A\"]=\"3.\";t[\"\\u248B\"]=\"4.\";t[\"\\u248C\"]=\"5.\";t[\"\\u248D\"]=\"6.\";t[\"\\u248E\"]=\"7.\";t[\"\\u248F\"]=\"8.\";t[\"\\u2490\"]=\"9.\";t[\"\\u2491\"]=\"10.\";t[\"\\u2492\"]=\"11.\";t[\"\\u2493\"]=\"12.\";t[\"\\u2494\"]=\"13.\";t[\"\\u2495\"]=\"14.\";t[\"\\u2496\"]=\"15.\";t[\"\\u2497\"]=\"16.\";t[\"\\u2498\"]=\"17.\";t[\"\\u2499\"]=\"18.\";t[\"\\u249A\"]=\"19.\";t[\"\\u249B\"]=\"20.\";t[\"\\u249C\"]=\"(a)\";t[\"\\u249D\"]=\"(b)\";t[\"\\u249E\"]=\"(c)\";t[\"\\u249F\"]=\"(d)\";t[\"\\u24A0\"]=\"(e)\";t[\"\\u24A1\"]=\"(f)\";t[\"\\u24A2\"]=\"(g)\";t[\"\\u24A3\"]=\"(h)\";t[\"\\u24A4\"]=\"(i)\";t[\"\\u24A5\"]=\"(j)\";t[\"\\u24A6\"]=\"(k)\";t[\"\\u24A7\"]=\"(l)\";t[\"\\u24A8\"]=\"(m)\";t[\"\\u24A9\"]=\"(n)\";t[\"\\u24AA\"]=\"(o)\";t[\"\\u24AB\"]=\"(p)\";t[\"\\u24AC\"]=\"(q)\";t[\"\\u24AD\"]=\"(r)\";t[\"\\u24AE\"]=\"(s)\";t[\"\\u24AF\"]=\"(t)\";t[\"\\u24B0\"]=\"(u)\";t[\"\\u24B1\"]=\"(v)\";t[\"\\u24B2\"]=\"(w)\";t[\"\\u24B3\"]=\"(x)\";t[\"\\u24B4\"]=\"(y)\";t[\"\\u24B5\"]=\"(z)\";t[\"\\u2A0C\"]=\"\\u222B\\u222B\\u222B\\u222B\";t[\"\\u2A74\"]=\"::=\";t[\"\\u2A75\"]=\"==\";t[\"\\u2A76\"]=\"===\";t[\"\\u2E9F\"]=\"\\u6BCD\";t[\"\\u2EF3\"]=\"\\u9F9F\";t[\"\\u2F00\"]=\"\\u4E00\";t[\"\\u2F01\"]=\"\\u4E28\";t[\"\\u2F02\"]=\"\\u4E36\";t[\"\\u2F03\"]=\"\\u4E3F\";t[\"\\u2F04\"]=\"\\u4E59\";t[\"\\u2F05\"]=\"\\u4E85\";t[\"\\u2F06\"]=\"\\u4E8C\";t[\"\\u2F07\"]=\"\\u4EA0\";t[\"\\u2F08\"]=\"\\u4EBA\";t[\"\\u2F09\"]=\"\\u513F\";t[\"\\u2F0A\"]=\"\\u5165\";t[\"\\u2F0B\"]=\"\\u516B\";t[\"\\u2F0C\"]=\"\\u5182\";t[\"\\u2F0D\"]=\"\\u5196\";t[\"\\u2F0E\"]=\"\\u51AB\";t[\"\\u2F0F\"]=\"\\u51E0\";t[\"\\u2F10\"]=\"\\u51F5\";t[\"\\u2F11\"]=\"\\u5200\";t[\"\\u2F12\"]=\"\\u529B\";t[\"\\u2F13\"]=\"\\u52F9\";t[\"\\u2F14\"]=\"\\u5315\";t[\"\\u2F15\"]=\"\\u531A\";t[\"\\u2F16\"]=\"\\u5338\";t[\"\\u2F17\"]=\"\\u5341\";t[\"\\u2F18\"]=\"\\u535C\";t[\"\\u2F19\"]=\"\\u5369\";t[\"\\u2F1A\"]=\"\\u5382\";t[\"\\u2F1B\"]=\"\\u53B6\";t[\"\\u2F1C\"]=\"\\u53C8\";t[\"\\u2F1D\"]=\"\\u53E3\";t[\"\\u2F1E\"]=\"\\u56D7\";t[\"\\u2F1F\"]=\"\\u571F\";t[\"\\u2F20\"]=\"\\u58EB\";t[\"\\u2F21\"]=\"\\u5902\";t[\"\\u2F22\"]=\"\\u590A\";t[\"\\u2F23\"]=\"\\u5915\";t[\"\\u2F24\"]=\"\\u5927\";t[\"\\u2F25\"]=\"\\u5973\";t[\"\\u2F26\"]=\"\\u5B50\";t[\"\\u2F27\"]=\"\\u5B80\";t[\"\\u2F28\"]=\"\\u5BF8\";t[\"\\u2F29\"]=\"\\u5C0F\";t[\"\\u2F2A\"]=\"\\u5C22\";t[\"\\u2F2B\"]=\"\\u5C38\";t[\"\\u2F2C\"]=\"\\u5C6E\";t[\"\\u2F2D\"]=\"\\u5C71\";t[\"\\u2F2E\"]=\"\\u5DDB\";t[\"\\u2F2F\"]=\"\\u5DE5\";t[\"\\u2F30\"]=\"\\u5DF1\";t[\"\\u2F31\"]=\"\\u5DFE\";t[\"\\u2F32\"]=\"\\u5E72\";t[\"\\u2F33\"]=\"\\u5E7A\";t[\"\\u2F34\"]=\"\\u5E7F\";t[\"\\u2F35\"]=\"\\u5EF4\";t[\"\\u2F36\"]=\"\\u5EFE\";t[\"\\u2F37\"]=\"\\u5F0B\";t[\"\\u2F38\"]=\"\\u5F13\";t[\"\\u2F39\"]=\"\\u5F50\";t[\"\\u2F3A\"]=\"\\u5F61\";t[\"\\u2F3B\"]=\"\\u5F73\";t[\"\\u2F3C\"]=\"\\u5FC3\";t[\"\\u2F3D\"]=\"\\u6208\";t[\"\\u2F3E\"]=\"\\u6236\";t[\"\\u2F3F\"]=\"\\u624B\";t[\"\\u2F40\"]=\"\\u652F\";t[\"\\u2F41\"]=\"\\u6534\";t[\"\\u2F42\"]=\"\\u6587\";t[\"\\u2F43\"]=\"\\u6597\";t[\"\\u2F44\"]=\"\\u65A4\";t[\"\\u2F45\"]=\"\\u65B9\";t[\"\\u2F46\"]=\"\\u65E0\";t[\"\\u2F47\"]=\"\\u65E5\";t[\"\\u2F48\"]=\"\\u66F0\";t[\"\\u2F49\"]=\"\\u6708\";t[\"\\u2F4A\"]=\"\\u6728\";t[\"\\u2F4B\"]=\"\\u6B20\";t[\"\\u2F4C\"]=\"\\u6B62\";t[\"\\u2F4D\"]=\"\\u6B79\";t[\"\\u2F4E\"]=\"\\u6BB3\";t[\"\\u2F4F\"]=\"\\u6BCB\";t[\"\\u2F50\"]=\"\\u6BD4\";t[\"\\u2F51\"]=\"\\u6BDB\";t[\"\\u2F52\"]=\"\\u6C0F\";t[\"\\u2F53\"]=\"\\u6C14\";t[\"\\u2F54\"]=\"\\u6C34\";t[\"\\u2F55\"]=\"\\u706B\";t[\"\\u2F56\"]=\"\\u722A\";t[\"\\u2F57\"]=\"\\u7236\";t[\"\\u2F58\"]=\"\\u723B\";t[\"\\u2F59\"]=\"\\u723F\";t[\"\\u2F5A\"]=\"\\u7247\";t[\"\\u2F5B\"]=\"\\u7259\";t[\"\\u2F5C\"]=\"\\u725B\";t[\"\\u2F5D\"]=\"\\u72AC\";t[\"\\u2F5E\"]=\"\\u7384\";t[\"\\u2F5F\"]=\"\\u7389\";t[\"\\u2F60\"]=\"\\u74DC\";t[\"\\u2F61\"]=\"\\u74E6\";t[\"\\u2F62\"]=\"\\u7518\";t[\"\\u2F63\"]=\"\\u751F\";t[\"\\u2F64\"]=\"\\u7528\";t[\"\\u2F65\"]=\"\\u7530\";t[\"\\u2F66\"]=\"\\u758B\";t[\"\\u2F67\"]=\"\\u7592\";t[\"\\u2F68\"]=\"\\u7676\";t[\"\\u2F69\"]=\"\\u767D\";t[\"\\u2F6A\"]=\"\\u76AE\";t[\"\\u2F6B\"]=\"\\u76BF\";t[\"\\u2F6C\"]=\"\\u76EE\";t[\"\\u2F6D\"]=\"\\u77DB\";t[\"\\u2F6E\"]=\"\\u77E2\";t[\"\\u2F6F\"]=\"\\u77F3\";t[\"\\u2F70\"]=\"\\u793A\";t[\"\\u2F71\"]=\"\\u79B8\";t[\"\\u2F72\"]=\"\\u79BE\";t[\"\\u2F73\"]=\"\\u7A74\";t[\"\\u2F74\"]=\"\\u7ACB\";t[\"\\u2F75\"]=\"\\u7AF9\";t[\"\\u2F76\"]=\"\\u7C73\";t[\"\\u2F77\"]=\"\\u7CF8\";t[\"\\u2F78\"]=\"\\u7F36\";t[\"\\u2F79\"]=\"\\u7F51\";t[\"\\u2F7A\"]=\"\\u7F8A\";t[\"\\u2F7B\"]=\"\\u7FBD\";t[\"\\u2F7C\"]=\"\\u8001\";t[\"\\u2F7D\"]=\"\\u800C\";t[\"\\u2F7E\"]=\"\\u8012\";t[\"\\u2F7F\"]=\"\\u8033\";t[\"\\u2F80\"]=\"\\u807F\";t[\"\\u2F81\"]=\"\\u8089\";t[\"\\u2F82\"]=\"\\u81E3\";t[\"\\u2F83\"]=\"\\u81EA\";t[\"\\u2F84\"]=\"\\u81F3\";t[\"\\u2F85\"]=\"\\u81FC\";t[\"\\u2F86\"]=\"\\u820C\";t[\"\\u2F87\"]=\"\\u821B\";t[\"\\u2F88\"]=\"\\u821F\";t[\"\\u2F89\"]=\"\\u826E\";t[\"\\u2F8A\"]=\"\\u8272\";t[\"\\u2F8B\"]=\"\\u8278\";t[\"\\u2F8C\"]=\"\\u864D\";t[\"\\u2F8D\"]=\"\\u866B\";t[\"\\u2F8E\"]=\"\\u8840\";t[\"\\u2F8F\"]=\"\\u884C\";t[\"\\u2F90\"]=\"\\u8863\";t[\"\\u2F91\"]=\"\\u897E\";t[\"\\u2F92\"]=\"\\u898B\";t[\"\\u2F93\"]=\"\\u89D2\";t[\"\\u2F94\"]=\"\\u8A00\";t[\"\\u2F95\"]=\"\\u8C37\";t[\"\\u2F96\"]=\"\\u8C46\";t[\"\\u2F97\"]=\"\\u8C55\";t[\"\\u2F98\"]=\"\\u8C78\";t[\"\\u2F99\"]=\"\\u8C9D\";t[\"\\u2F9A\"]=\"\\u8D64\";t[\"\\u2F9B\"]=\"\\u8D70\";t[\"\\u2F9C\"]=\"\\u8DB3\";t[\"\\u2F9D\"]=\"\\u8EAB\";t[\"\\u2F9E\"]=\"\\u8ECA\";t[\"\\u2F9F\"]=\"\\u8F9B\";t[\"\\u2FA0\"]=\"\\u8FB0\";t[\"\\u2FA1\"]=\"\\u8FB5\";t[\"\\u2FA2\"]=\"\\u9091\";t[\"\\u2FA3\"]=\"\\u9149\";t[\"\\u2FA4\"]=\"\\u91C6\";t[\"\\u2FA5\"]=\"\\u91CC\";t[\"\\u2FA6\"]=\"\\u91D1\";t[\"\\u2FA7\"]=\"\\u9577\";t[\"\\u2FA8\"]=\"\\u9580\";t[\"\\u2FA9\"]=\"\\u961C\";t[\"\\u2FAA\"]=\"\\u96B6\";t[\"\\u2FAB\"]=\"\\u96B9\";t[\"\\u2FAC\"]=\"\\u96E8\";t[\"\\u2FAD\"]=\"\\u9751\";t[\"\\u2FAE\"]=\"\\u975E\";t[\"\\u2FAF\"]=\"\\u9762\";t[\"\\u2FB0\"]=\"\\u9769\";t[\"\\u2FB1\"]=\"\\u97CB\";t[\"\\u2FB2\"]=\"\\u97ED\";t[\"\\u2FB3\"]=\"\\u97F3\";t[\"\\u2FB4\"]=\"\\u9801\";t[\"\\u2FB5\"]=\"\\u98A8\";t[\"\\u2FB6\"]=\"\\u98DB\";t[\"\\u2FB7\"]=\"\\u98DF\";t[\"\\u2FB8\"]=\"\\u9996\";t[\"\\u2FB9\"]=\"\\u9999\";t[\"\\u2FBA\"]=\"\\u99AC\";t[\"\\u2FBB\"]=\"\\u9AA8\";t[\"\\u2FBC\"]=\"\\u9AD8\";t[\"\\u2FBD\"]=\"\\u9ADF\";t[\"\\u2FBE\"]=\"\\u9B25\";t[\"\\u2FBF\"]=\"\\u9B2F\";t[\"\\u2FC0\"]=\"\\u9B32\";t[\"\\u2FC1\"]=\"\\u9B3C\";t[\"\\u2FC2\"]=\"\\u9B5A\";t[\"\\u2FC3\"]=\"\\u9CE5\";t[\"\\u2FC4\"]=\"\\u9E75\";t[\"\\u2FC5\"]=\"\\u9E7F\";t[\"\\u2FC6\"]=\"\\u9EA5\";t[\"\\u2FC7\"]=\"\\u9EBB\";t[\"\\u2FC8\"]=\"\\u9EC3\";t[\"\\u2FC9\"]=\"\\u9ECD\";t[\"\\u2FCA\"]=\"\\u9ED1\";t[\"\\u2FCB\"]=\"\\u9EF9\";t[\"\\u2FCC\"]=\"\\u9EFD\";t[\"\\u2FCD\"]=\"\\u9F0E\";t[\"\\u2FCE\"]=\"\\u9F13\";t[\"\\u2FCF\"]=\"\\u9F20\";t[\"\\u2FD0\"]=\"\\u9F3B\";t[\"\\u2FD1\"]=\"\\u9F4A\";t[\"\\u2FD2\"]=\"\\u9F52\";t[\"\\u2FD3\"]=\"\\u9F8D\";t[\"\\u2FD4\"]=\"\\u9F9C\";t[\"\\u2FD5\"]=\"\\u9FA0\";t[\"\\u3036\"]=\"\\u3012\";t[\"\\u3038\"]=\"\\u5341\";t[\"\\u3039\"]=\"\\u5344\";t[\"\\u303A\"]=\"\\u5345\";t[\"\\u309B\"]=\" \\u3099\";t[\"\\u309C\"]=\" \\u309A\";t[\"\\u3131\"]=\"\\u1100\";t[\"\\u3132\"]=\"\\u1101\";t[\"\\u3133\"]=\"\\u11AA\";t[\"\\u3134\"]=\"\\u1102\";t[\"\\u3135\"]=\"\\u11AC\";t[\"\\u3136\"]=\"\\u11AD\";t[\"\\u3137\"]=\"\\u1103\";t[\"\\u3138\"]=\"\\u1104\";t[\"\\u3139\"]=\"\\u1105\";t[\"\\u313A\"]=\"\\u11B0\";t[\"\\u313B\"]=\"\\u11B1\";t[\"\\u313C\"]=\"\\u11B2\";t[\"\\u313D\"]=\"\\u11B3\";t[\"\\u313E\"]=\"\\u11B4\";t[\"\\u313F\"]=\"\\u11B5\";t[\"\\u3140\"]=\"\\u111A\";t[\"\\u3141\"]=\"\\u1106\";t[\"\\u3142\"]=\"\\u1107\";t[\"\\u3143\"]=\"\\u1108\";t[\"\\u3144\"]=\"\\u1121\";t[\"\\u3145\"]=\"\\u1109\";t[\"\\u3146\"]=\"\\u110A\";t[\"\\u3147\"]=\"\\u110B\";t[\"\\u3148\"]=\"\\u110C\";t[\"\\u3149\"]=\"\\u110D\";t[\"\\u314A\"]=\"\\u110E\";t[\"\\u314B\"]=\"\\u110F\";t[\"\\u314C\"]=\"\\u1110\";t[\"\\u314D\"]=\"\\u1111\";t[\"\\u314E\"]=\"\\u1112\";t[\"\\u314F\"]=\"\\u1161\";t[\"\\u3150\"]=\"\\u1162\";t[\"\\u3151\"]=\"\\u1163\";t[\"\\u3152\"]=\"\\u1164\";t[\"\\u3153\"]=\"\\u1165\";t[\"\\u3154\"]=\"\\u1166\";t[\"\\u3155\"]=\"\\u1167\";t[\"\\u3156\"]=\"\\u1168\";t[\"\\u3157\"]=\"\\u1169\";t[\"\\u3158\"]=\"\\u116A\";t[\"\\u3159\"]=\"\\u116B\";t[\"\\u315A\"]=\"\\u116C\";t[\"\\u315B\"]=\"\\u116D\";t[\"\\u315C\"]=\"\\u116E\";t[\"\\u315D\"]=\"\\u116F\";t[\"\\u315E\"]=\"\\u1170\";t[\"\\u315F\"]=\"\\u1171\";t[\"\\u3160\"]=\"\\u1172\";t[\"\\u3161\"]=\"\\u1173\";t[\"\\u3162\"]=\"\\u1174\";t[\"\\u3163\"]=\"\\u1175\";t[\"\\u3164\"]=\"\\u1160\";t[\"\\u3165\"]=\"\\u1114\";t[\"\\u3166\"]=\"\\u1115\";t[\"\\u3167\"]=\"\\u11C7\";t[\"\\u3168\"]=\"\\u11C8\";t[\"\\u3169\"]=\"\\u11CC\";t[\"\\u316A\"]=\"\\u11CE\";t[\"\\u316B\"]=\"\\u11D3\";t[\"\\u316C\"]=\"\\u11D7\";t[\"\\u316D\"]=\"\\u11D9\";t[\"\\u316E\"]=\"\\u111C\";t[\"\\u316F\"]=\"\\u11DD\";t[\"\\u3170\"]=\"\\u11DF\";t[\"\\u3171\"]=\"\\u111D\";t[\"\\u3172\"]=\"\\u111E\";t[\"\\u3173\"]=\"\\u1120\";t[\"\\u3174\"]=\"\\u1122\";t[\"\\u3175\"]=\"\\u1123\";t[\"\\u3176\"]=\"\\u1127\";t[\"\\u3177\"]=\"\\u1129\";t[\"\\u3178\"]=\"\\u112B\";t[\"\\u3179\"]=\"\\u112C\";t[\"\\u317A\"]=\"\\u112D\";t[\"\\u317B\"]=\"\\u112E\";t[\"\\u317C\"]=\"\\u112F\";t[\"\\u317D\"]=\"\\u1132\";t[\"\\u317E\"]=\"\\u1136\";t[\"\\u317F\"]=\"\\u1140\";t[\"\\u3180\"]=\"\\u1147\";t[\"\\u3181\"]=\"\\u114C\";t[\"\\u3182\"]=\"\\u11F1\";t[\"\\u3183\"]=\"\\u11F2\";t[\"\\u3184\"]=\"\\u1157\";t[\"\\u3185\"]=\"\\u1158\";t[\"\\u3186\"]=\"\\u1159\";t[\"\\u3187\"]=\"\\u1184\";t[\"\\u3188\"]=\"\\u1185\";t[\"\\u3189\"]=\"\\u1188\";t[\"\\u318A\"]=\"\\u1191\";t[\"\\u318B\"]=\"\\u1192\";t[\"\\u318C\"]=\"\\u1194\";t[\"\\u318D\"]=\"\\u119E\";t[\"\\u318E\"]=\"\\u11A1\";t[\"\\u3200\"]=\"(\\u1100)\";t[\"\\u3201\"]=\"(\\u1102)\";t[\"\\u3202\"]=\"(\\u1103)\";t[\"\\u3203\"]=\"(\\u1105)\";t[\"\\u3204\"]=\"(\\u1106)\";t[\"\\u3205\"]=\"(\\u1107)\";t[\"\\u3206\"]=\"(\\u1109)\";t[\"\\u3207\"]=\"(\\u110B)\";t[\"\\u3208\"]=\"(\\u110C)\";t[\"\\u3209\"]=\"(\\u110E)\";t[\"\\u320A\"]=\"(\\u110F)\";t[\"\\u320B\"]=\"(\\u1110)\";t[\"\\u320C\"]=\"(\\u1111)\";t[\"\\u320D\"]=\"(\\u1112)\";t[\"\\u320E\"]=\"(\\u1100\\u1161)\";t[\"\\u320F\"]=\"(\\u1102\\u1161)\";t[\"\\u3210\"]=\"(\\u1103\\u1161)\";t[\"\\u3211\"]=\"(\\u1105\\u1161)\";t[\"\\u3212\"]=\"(\\u1106\\u1161)\";t[\"\\u3213\"]=\"(\\u1107\\u1161)\";t[\"\\u3214\"]=\"(\\u1109\\u1161)\";t[\"\\u3215\"]=\"(\\u110B\\u1161)\";t[\"\\u3216\"]=\"(\\u110C\\u1161)\";t[\"\\u3217\"]=\"(\\u110E\\u1161)\";t[\"\\u3218\"]=\"(\\u110F\\u1161)\";t[\"\\u3219\"]=\"(\\u1110\\u1161)\";t[\"\\u321A\"]=\"(\\u1111\\u1161)\";t[\"\\u321B\"]=\"(\\u1112\\u1161)\";t[\"\\u321C\"]=\"(\\u110C\\u116E)\";t[\"\\u321D\"]=\"(\\u110B\\u1169\\u110C\\u1165\\u11AB)\";t[\"\\u321E\"]=\"(\\u110B\\u1169\\u1112\\u116E)\";t[\"\\u3220\"]=\"(\\u4E00)\";t[\"\\u3221\"]=\"(\\u4E8C)\";t[\"\\u3222\"]=\"(\\u4E09)\";t[\"\\u3223\"]=\"(\\u56DB)\";t[\"\\u3224\"]=\"(\\u4E94)\";t[\"\\u3225\"]=\"(\\u516D)\";t[\"\\u3226\"]=\"(\\u4E03)\";t[\"\\u3227\"]=\"(\\u516B)\";t[\"\\u3228\"]=\"(\\u4E5D)\";t[\"\\u3229\"]=\"(\\u5341)\";t[\"\\u322A\"]=\"(\\u6708)\";t[\"\\u322B\"]=\"(\\u706B)\";t[\"\\u322C\"]=\"(\\u6C34)\";t[\"\\u322D\"]=\"(\\u6728)\";t[\"\\u322E\"]=\"(\\u91D1)\";t[\"\\u322F\"]=\"(\\u571F)\";t[\"\\u3230\"]=\"(\\u65E5)\";t[\"\\u3231\"]=\"(\\u682A)\";t[\"\\u3232\"]=\"(\\u6709)\";t[\"\\u3233\"]=\"(\\u793E)\";t[\"\\u3234\"]=\"(\\u540D)\";t[\"\\u3235\"]=\"(\\u7279)\";t[\"\\u3236\"]=\"(\\u8CA1)\";t[\"\\u3237\"]=\"(\\u795D)\";t[\"\\u3238\"]=\"(\\u52B4)\";t[\"\\u3239\"]=\"(\\u4EE3)\";t[\"\\u323A\"]=\"(\\u547C)\";t[\"\\u323B\"]=\"(\\u5B66)\";t[\"\\u323C\"]=\"(\\u76E3)\";t[\"\\u323D\"]=\"(\\u4F01)\";t[\"\\u323E\"]=\"(\\u8CC7)\";t[\"\\u323F\"]=\"(\\u5354)\";t[\"\\u3240\"]=\"(\\u796D)\";t[\"\\u3241\"]=\"(\\u4F11)\";t[\"\\u3242\"]=\"(\\u81EA)\";t[\"\\u3243\"]=\"(\\u81F3)\";t[\"\\u32C0\"]=\"1\\u6708\";t[\"\\u32C1\"]=\"2\\u6708\";t[\"\\u32C2\"]=\"3\\u6708\";t[\"\\u32C3\"]=\"4\\u6708\";t[\"\\u32C4\"]=\"5\\u6708\";t[\"\\u32C5\"]=\"6\\u6708\";t[\"\\u32C6\"]=\"7\\u6708\";t[\"\\u32C7\"]=\"8\\u6708\";t[\"\\u32C8\"]=\"9\\u6708\";t[\"\\u32C9\"]=\"10\\u6708\";t[\"\\u32CA\"]=\"11\\u6708\";t[\"\\u32CB\"]=\"12\\u6708\";t[\"\\u3358\"]=\"0\\u70B9\";t[\"\\u3359\"]=\"1\\u70B9\";t[\"\\u335A\"]=\"2\\u70B9\";t[\"\\u335B\"]=\"3\\u70B9\";t[\"\\u335C\"]=\"4\\u70B9\";t[\"\\u335D\"]=\"5\\u70B9\";t[\"\\u335E\"]=\"6\\u70B9\";t[\"\\u335F\"]=\"7\\u70B9\";t[\"\\u3360\"]=\"8\\u70B9\";t[\"\\u3361\"]=\"9\\u70B9\";t[\"\\u3362\"]=\"10\\u70B9\";t[\"\\u3363\"]=\"11\\u70B9\";t[\"\\u3364\"]=\"12\\u70B9\";t[\"\\u3365\"]=\"13\\u70B9\";t[\"\\u3366\"]=\"14\\u70B9\";t[\"\\u3367\"]=\"15\\u70B9\";t[\"\\u3368\"]=\"16\\u70B9\";t[\"\\u3369\"]=\"17\\u70B9\";t[\"\\u336A\"]=\"18\\u70B9\";t[\"\\u336B\"]=\"19\\u70B9\";t[\"\\u336C\"]=\"20\\u70B9\";t[\"\\u336D\"]=\"21\\u70B9\";t[\"\\u336E\"]=\"22\\u70B9\";t[\"\\u336F\"]=\"23\\u70B9\";t[\"\\u3370\"]=\"24\\u70B9\";t[\"\\u33E0\"]=\"1\\u65E5\";t[\"\\u33E1\"]=\"2\\u65E5\";t[\"\\u33E2\"]=\"3\\u65E5\";t[\"\\u33E3\"]=\"4\\u65E5\";t[\"\\u33E4\"]=\"5\\u65E5\";t[\"\\u33E5\"]=\"6\\u65E5\";t[\"\\u33E6\"]=\"7\\u65E5\";t[\"\\u33E7\"]=\"8\\u65E5\";t[\"\\u33E8\"]=\"9\\u65E5\";t[\"\\u33E9\"]=\"10\\u65E5\";t[\"\\u33EA\"]=\"11\\u65E5\";t[\"\\u33EB\"]=\"12\\u65E5\";t[\"\\u33EC\"]=\"13\\u65E5\";t[\"\\u33ED\"]=\"14\\u65E5\";t[\"\\u33EE\"]=\"15\\u65E5\";t[\"\\u33EF\"]=\"16\\u65E5\";t[\"\\u33F0\"]=\"17\\u65E5\";t[\"\\u33F1\"]=\"18\\u65E5\";t[\"\\u33F2\"]=\"19\\u65E5\";t[\"\\u33F3\"]=\"20\\u65E5\";t[\"\\u33F4\"]=\"21\\u65E5\";t[\"\\u33F5\"]=\"22\\u65E5\";t[\"\\u33F6\"]=\"23\\u65E5\";t[\"\\u33F7\"]=\"24\\u65E5\";t[\"\\u33F8\"]=\"25\\u65E5\";t[\"\\u33F9\"]=\"26\\u65E5\";t[\"\\u33FA\"]=\"27\\u65E5\";t[\"\\u33FB\"]=\"28\\u65E5\";t[\"\\u33FC\"]=\"29\\u65E5\";t[\"\\u33FD\"]=\"30\\u65E5\";t[\"\\u33FE\"]=\"31\\u65E5\";t[\"\\uFB00\"]=\"ff\";t[\"\\uFB01\"]=\"fi\";t[\"\\uFB02\"]=\"fl\";t[\"\\uFB03\"]=\"ffi\";t[\"\\uFB04\"]=\"ffl\";t[\"\\uFB05\"]=\"\\u017Ft\";t[\"\\uFB06\"]=\"st\";t[\"\\uFB13\"]=\"\\u0574\\u0576\";t[\"\\uFB14\"]=\"\\u0574\\u0565\";t[\"\\uFB15\"]=\"\\u0574\\u056B\";t[\"\\uFB16\"]=\"\\u057E\\u0576\";t[\"\\uFB17\"]=\"\\u0574\\u056D\";t[\"\\uFB4F\"]=\"\\u05D0\\u05DC\";t[\"\\uFB50\"]=\"\\u0671\";t[\"\\uFB51\"]=\"\\u0671\";t[\"\\uFB52\"]=\"\\u067B\";t[\"\\uFB53\"]=\"\\u067B\";t[\"\\uFB54\"]=\"\\u067B\";t[\"\\uFB55\"]=\"\\u067B\";t[\"\\uFB56\"]=\"\\u067E\";t[\"\\uFB57\"]=\"\\u067E\";t[\"\\uFB58\"]=\"\\u067E\";t[\"\\uFB59\"]=\"\\u067E\";t[\"\\uFB5A\"]=\"\\u0680\";t[\"\\uFB5B\"]=\"\\u0680\";t[\"\\uFB5C\"]=\"\\u0680\";t[\"\\uFB5D\"]=\"\\u0680\";t[\"\\uFB5E\"]=\"\\u067A\";t[\"\\uFB5F\"]=\"\\u067A\";t[\"\\uFB60\"]=\"\\u067A\";t[\"\\uFB61\"]=\"\\u067A\";t[\"\\uFB62\"]=\"\\u067F\";t[\"\\uFB63\"]=\"\\u067F\";t[\"\\uFB64\"]=\"\\u067F\";t[\"\\uFB65\"]=\"\\u067F\";t[\"\\uFB66\"]=\"\\u0679\";t[\"\\uFB67\"]=\"\\u0679\";t[\"\\uFB68\"]=\"\\u0679\";t[\"\\uFB69\"]=\"\\u0679\";t[\"\\uFB6A\"]=\"\\u06A4\";t[\"\\uFB6B\"]=\"\\u06A4\";t[\"\\uFB6C\"]=\"\\u06A4\";t[\"\\uFB6D\"]=\"\\u06A4\";t[\"\\uFB6E\"]=\"\\u06A6\";t[\"\\uFB6F\"]=\"\\u06A6\";t[\"\\uFB70\"]=\"\\u06A6\";t[\"\\uFB71\"]=\"\\u06A6\";t[\"\\uFB72\"]=\"\\u0684\";t[\"\\uFB73\"]=\"\\u0684\";t[\"\\uFB74\"]=\"\\u0684\";t[\"\\uFB75\"]=\"\\u0684\";t[\"\\uFB76\"]=\"\\u0683\";t[\"\\uFB77\"]=\"\\u0683\";t[\"\\uFB78\"]=\"\\u0683\";t[\"\\uFB79\"]=\"\\u0683\";t[\"\\uFB7A\"]=\"\\u0686\";t[\"\\uFB7B\"]=\"\\u0686\";t[\"\\uFB7C\"]=\"\\u0686\";t[\"\\uFB7D\"]=\"\\u0686\";t[\"\\uFB7E\"]=\"\\u0687\";t[\"\\uFB7F\"]=\"\\u0687\";t[\"\\uFB80\"]=\"\\u0687\";t[\"\\uFB81\"]=\"\\u0687\";t[\"\\uFB82\"]=\"\\u068D\";t[\"\\uFB83\"]=\"\\u068D\";t[\"\\uFB84\"]=\"\\u068C\";t[\"\\uFB85\"]=\"\\u068C\";t[\"\\uFB86\"]=\"\\u068E\";t[\"\\uFB87\"]=\"\\u068E\";t[\"\\uFB88\"]=\"\\u0688\";t[\"\\uFB89\"]=\"\\u0688\";t[\"\\uFB8A\"]=\"\\u0698\";t[\"\\uFB8B\"]=\"\\u0698\";t[\"\\uFB8C\"]=\"\\u0691\";t[\"\\uFB8D\"]=\"\\u0691\";t[\"\\uFB8E\"]=\"\\u06A9\";t[\"\\uFB8F\"]=\"\\u06A9\";t[\"\\uFB90\"]=\"\\u06A9\";t[\"\\uFB91\"]=\"\\u06A9\";t[\"\\uFB92\"]=\"\\u06AF\";t[\"\\uFB93\"]=\"\\u06AF\";t[\"\\uFB94\"]=\"\\u06AF\";t[\"\\uFB95\"]=\"\\u06AF\";t[\"\\uFB96\"]=\"\\u06B3\";t[\"\\uFB97\"]=\"\\u06B3\";t[\"\\uFB98\"]=\"\\u06B3\";t[\"\\uFB99\"]=\"\\u06B3\";t[\"\\uFB9A\"]=\"\\u06B1\";t[\"\\uFB9B\"]=\"\\u06B1\";t[\"\\uFB9C\"]=\"\\u06B1\";t[\"\\uFB9D\"]=\"\\u06B1\";t[\"\\uFB9E\"]=\"\\u06BA\";t[\"\\uFB9F\"]=\"\\u06BA\";t[\"\\uFBA0\"]=\"\\u06BB\";t[\"\\uFBA1\"]=\"\\u06BB\";t[\"\\uFBA2\"]=\"\\u06BB\";t[\"\\uFBA3\"]=\"\\u06BB\";t[\"\\uFBA4\"]=\"\\u06C0\";t[\"\\uFBA5\"]=\"\\u06C0\";t[\"\\uFBA6\"]=\"\\u06C1\";t[\"\\uFBA7\"]=\"\\u06C1\";t[\"\\uFBA8\"]=\"\\u06C1\";t[\"\\uFBA9\"]=\"\\u06C1\";t[\"\\uFBAA\"]=\"\\u06BE\";t[\"\\uFBAB\"]=\"\\u06BE\";t[\"\\uFBAC\"]=\"\\u06BE\";t[\"\\uFBAD\"]=\"\\u06BE\";t[\"\\uFBAE\"]=\"\\u06D2\";t[\"\\uFBAF\"]=\"\\u06D2\";t[\"\\uFBB0\"]=\"\\u06D3\";t[\"\\uFBB1\"]=\"\\u06D3\";t[\"\\uFBD3\"]=\"\\u06AD\";t[\"\\uFBD4\"]=\"\\u06AD\";t[\"\\uFBD5\"]=\"\\u06AD\";t[\"\\uFBD6\"]=\"\\u06AD\";t[\"\\uFBD7\"]=\"\\u06C7\";t[\"\\uFBD8\"]=\"\\u06C7\";t[\"\\uFBD9\"]=\"\\u06C6\";t[\"\\uFBDA\"]=\"\\u06C6\";t[\"\\uFBDB\"]=\"\\u06C8\";t[\"\\uFBDC\"]=\"\\u06C8\";t[\"\\uFBDD\"]=\"\\u0677\";t[\"\\uFBDE\"]=\"\\u06CB\";t[\"\\uFBDF\"]=\"\\u06CB\";t[\"\\uFBE0\"]=\"\\u06C5\";t[\"\\uFBE1\"]=\"\\u06C5\";t[\"\\uFBE2\"]=\"\\u06C9\";t[\"\\uFBE3\"]=\"\\u06C9\";t[\"\\uFBE4\"]=\"\\u06D0\";t[\"\\uFBE5\"]=\"\\u06D0\";t[\"\\uFBE6\"]=\"\\u06D0\";t[\"\\uFBE7\"]=\"\\u06D0\";t[\"\\uFBE8\"]=\"\\u0649\";t[\"\\uFBE9\"]=\"\\u0649\";t[\"\\uFBEA\"]=\"\\u0626\\u0627\";t[\"\\uFBEB\"]=\"\\u0626\\u0627\";t[\"\\uFBEC\"]=\"\\u0626\\u06D5\";t[\"\\uFBED\"]=\"\\u0626\\u06D5\";t[\"\\uFBEE\"]=\"\\u0626\\u0648\";t[\"\\uFBEF\"]=\"\\u0626\\u0648\";t[\"\\uFBF0\"]=\"\\u0626\\u06C7\";t[\"\\uFBF1\"]=\"\\u0626\\u06C7\";t[\"\\uFBF2\"]=\"\\u0626\\u06C6\";t[\"\\uFBF3\"]=\"\\u0626\\u06C6\";t[\"\\uFBF4\"]=\"\\u0626\\u06C8\";t[\"\\uFBF5\"]=\"\\u0626\\u06C8\";t[\"\\uFBF6\"]=\"\\u0626\\u06D0\";t[\"\\uFBF7\"]=\"\\u0626\\u06D0\";t[\"\\uFBF8\"]=\"\\u0626\\u06D0\";t[\"\\uFBF9\"]=\"\\u0626\\u0649\";t[\"\\uFBFA\"]=\"\\u0626\\u0649\";t[\"\\uFBFB\"]=\"\\u0626\\u0649\";t[\"\\uFBFC\"]=\"\\u06CC\";t[\"\\uFBFD\"]=\"\\u06CC\";t[\"\\uFBFE\"]=\"\\u06CC\";t[\"\\uFBFF\"]=\"\\u06CC\";t[\"\\uFC00\"]=\"\\u0626\\u062C\";t[\"\\uFC01\"]=\"\\u0626\\u062D\";t[\"\\uFC02\"]=\"\\u0626\\u0645\";t[\"\\uFC03\"]=\"\\u0626\\u0649\";t[\"\\uFC04\"]=\"\\u0626\\u064A\";t[\"\\uFC05\"]=\"\\u0628\\u062C\";t[\"\\uFC06\"]=\"\\u0628\\u062D\";t[\"\\uFC07\"]=\"\\u0628\\u062E\";t[\"\\uFC08\"]=\"\\u0628\\u0645\";t[\"\\uFC09\"]=\"\\u0628\\u0649\";t[\"\\uFC0A\"]=\"\\u0628\\u064A\";t[\"\\uFC0B\"]=\"\\u062A\\u062C\";t[\"\\uFC0C\"]=\"\\u062A\\u062D\";t[\"\\uFC0D\"]=\"\\u062A\\u062E\";t[\"\\uFC0E\"]=\"\\u062A\\u0645\";t[\"\\uFC0F\"]=\"\\u062A\\u0649\";t[\"\\uFC10\"]=\"\\u062A\\u064A\";t[\"\\uFC11\"]=\"\\u062B\\u062C\";t[\"\\uFC12\"]=\"\\u062B\\u0645\";t[\"\\uFC13\"]=\"\\u062B\\u0649\";t[\"\\uFC14\"]=\"\\u062B\\u064A\";t[\"\\uFC15\"]=\"\\u062C\\u062D\";t[\"\\uFC16\"]=\"\\u062C\\u0645\";t[\"\\uFC17\"]=\"\\u062D\\u062C\";t[\"\\uFC18\"]=\"\\u062D\\u0645\";t[\"\\uFC19\"]=\"\\u062E\\u062C\";t[\"\\uFC1A\"]=\"\\u062E\\u062D\";t[\"\\uFC1B\"]=\"\\u062E\\u0645\";t[\"\\uFC1C\"]=\"\\u0633\\u062C\";t[\"\\uFC1D\"]=\"\\u0633\\u062D\";t[\"\\uFC1E\"]=\"\\u0633\\u062E\";t[\"\\uFC1F\"]=\"\\u0633\\u0645\";t[\"\\uFC20\"]=\"\\u0635\\u062D\";t[\"\\uFC21\"]=\"\\u0635\\u0645\";t[\"\\uFC22\"]=\"\\u0636\\u062C\";t[\"\\uFC23\"]=\"\\u0636\\u062D\";t[\"\\uFC24\"]=\"\\u0636\\u062E\";t[\"\\uFC25\"]=\"\\u0636\\u0645\";t[\"\\uFC26\"]=\"\\u0637\\u062D\";t[\"\\uFC27\"]=\"\\u0637\\u0645\";t[\"\\uFC28\"]=\"\\u0638\\u0645\";t[\"\\uFC29\"]=\"\\u0639\\u062C\";t[\"\\uFC2A\"]=\"\\u0639\\u0645\";t[\"\\uFC2B\"]=\"\\u063A\\u062C\";t[\"\\uFC2C\"]=\"\\u063A\\u0645\";t[\"\\uFC2D\"]=\"\\u0641\\u062C\";t[\"\\uFC2E\"]=\"\\u0641\\u062D\";t[\"\\uFC2F\"]=\"\\u0641\\u062E\";t[\"\\uFC30\"]=\"\\u0641\\u0645\";t[\"\\uFC31\"]=\"\\u0641\\u0649\";t[\"\\uFC32\"]=\"\\u0641\\u064A\";t[\"\\uFC33\"]=\"\\u0642\\u062D\";t[\"\\uFC34\"]=\"\\u0642\\u0645\";t[\"\\uFC35\"]=\"\\u0642\\u0649\";t[\"\\uFC36\"]=\"\\u0642\\u064A\";t[\"\\uFC37\"]=\"\\u0643\\u0627\";t[\"\\uFC38\"]=\"\\u0643\\u062C\";t[\"\\uFC39\"]=\"\\u0643\\u062D\";t[\"\\uFC3A\"]=\"\\u0643\\u062E\";t[\"\\uFC3B\"]=\"\\u0643\\u0644\";t[\"\\uFC3C\"]=\"\\u0643\\u0645\";t[\"\\uFC3D\"]=\"\\u0643\\u0649\";t[\"\\uFC3E\"]=\"\\u0643\\u064A\";t[\"\\uFC3F\"]=\"\\u0644\\u062C\";t[\"\\uFC40\"]=\"\\u0644\\u062D\";t[\"\\uFC41\"]=\"\\u0644\\u062E\";t[\"\\uFC42\"]=\"\\u0644\\u0645\";t[\"\\uFC43\"]=\"\\u0644\\u0649\";t[\"\\uFC44\"]=\"\\u0644\\u064A\";t[\"\\uFC45\"]=\"\\u0645\\u062C\";t[\"\\uFC46\"]=\"\\u0645\\u062D\";t[\"\\uFC47\"]=\"\\u0645\\u062E\";t[\"\\uFC48\"]=\"\\u0645\\u0645\";t[\"\\uFC49\"]=\"\\u0645\\u0649\";t[\"\\uFC4A\"]=\"\\u0645\\u064A\";t[\"\\uFC4B\"]=\"\\u0646\\u062C\";t[\"\\uFC4C\"]=\"\\u0646\\u062D\";t[\"\\uFC4D\"]=\"\\u0646\\u062E\";t[\"\\uFC4E\"]=\"\\u0646\\u0645\";t[\"\\uFC4F\"]=\"\\u0646\\u0649\";t[\"\\uFC50\"]=\"\\u0646\\u064A\";t[\"\\uFC51\"]=\"\\u0647\\u062C\";t[\"\\uFC52\"]=\"\\u0647\\u0645\";t[\"\\uFC53\"]=\"\\u0647\\u0649\";t[\"\\uFC54\"]=\"\\u0647\\u064A\";t[\"\\uFC55\"]=\"\\u064A\\u062C\";t[\"\\uFC56\"]=\"\\u064A\\u062D\";t[\"\\uFC57\"]=\"\\u064A\\u062E\";t[\"\\uFC58\"]=\"\\u064A\\u0645\";t[\"\\uFC59\"]=\"\\u064A\\u0649\";t[\"\\uFC5A\"]=\"\\u064A\\u064A\";t[\"\\uFC5B\"]=\"\\u0630\\u0670\";t[\"\\uFC5C\"]=\"\\u0631\\u0670\";t[\"\\uFC5D\"]=\"\\u0649\\u0670\";t[\"\\uFC5E\"]=\" \\u064C\\u0651\";t[\"\\uFC5F\"]=\" \\u064D\\u0651\";t[\"\\uFC60\"]=\" \\u064E\\u0651\";t[\"\\uFC61\"]=\" \\u064F\\u0651\";t[\"\\uFC62\"]=\" \\u0650\\u0651\";t[\"\\uFC63\"]=\" \\u0651\\u0670\";t[\"\\uFC64\"]=\"\\u0626\\u0631\";t[\"\\uFC65\"]=\"\\u0626\\u0632\";t[\"\\uFC66\"]=\"\\u0626\\u0645\";t[\"\\uFC67\"]=\"\\u0626\\u0646\";t[\"\\uFC68\"]=\"\\u0626\\u0649\";t[\"\\uFC69\"]=\"\\u0626\\u064A\";t[\"\\uFC6A\"]=\"\\u0628\\u0631\";t[\"\\uFC6B\"]=\"\\u0628\\u0632\";t[\"\\uFC6C\"]=\"\\u0628\\u0645\";t[\"\\uFC6D\"]=\"\\u0628\\u0646\";t[\"\\uFC6E\"]=\"\\u0628\\u0649\";t[\"\\uFC6F\"]=\"\\u0628\\u064A\";t[\"\\uFC70\"]=\"\\u062A\\u0631\";t[\"\\uFC71\"]=\"\\u062A\\u0632\";t[\"\\uFC72\"]=\"\\u062A\\u0645\";t[\"\\uFC73\"]=\"\\u062A\\u0646\";t[\"\\uFC74\"]=\"\\u062A\\u0649\";t[\"\\uFC75\"]=\"\\u062A\\u064A\";t[\"\\uFC76\"]=\"\\u062B\\u0631\";t[\"\\uFC77\"]=\"\\u062B\\u0632\";t[\"\\uFC78\"]=\"\\u062B\\u0645\";t[\"\\uFC79\"]=\"\\u062B\\u0646\";t[\"\\uFC7A\"]=\"\\u062B\\u0649\";t[\"\\uFC7B\"]=\"\\u062B\\u064A\";t[\"\\uFC7C\"]=\"\\u0641\\u0649\";t[\"\\uFC7D\"]=\"\\u0641\\u064A\";t[\"\\uFC7E\"]=\"\\u0642\\u0649\";t[\"\\uFC7F\"]=\"\\u0642\\u064A\";t[\"\\uFC80\"]=\"\\u0643\\u0627\";t[\"\\uFC81\"]=\"\\u0643\\u0644\";t[\"\\uFC82\"]=\"\\u0643\\u0645\";t[\"\\uFC83\"]=\"\\u0643\\u0649\";t[\"\\uFC84\"]=\"\\u0643\\u064A\";t[\"\\uFC85\"]=\"\\u0644\\u0645\";t[\"\\uFC86\"]=\"\\u0644\\u0649\";t[\"\\uFC87\"]=\"\\u0644\\u064A\";t[\"\\uFC88\"]=\"\\u0645\\u0627\";t[\"\\uFC89\"]=\"\\u0645\\u0645\";t[\"\\uFC8A\"]=\"\\u0646\\u0631\";t[\"\\uFC8B\"]=\"\\u0646\\u0632\";t[\"\\uFC8C\"]=\"\\u0646\\u0645\";t[\"\\uFC8D\"]=\"\\u0646\\u0646\";t[\"\\uFC8E\"]=\"\\u0646\\u0649\";t[\"\\uFC8F\"]=\"\\u0646\\u064A\";t[\"\\uFC90\"]=\"\\u0649\\u0670\";t[\"\\uFC91\"]=\"\\u064A\\u0631\";t[\"\\uFC92\"]=\"\\u064A\\u0632\";t[\"\\uFC93\"]=\"\\u064A\\u0645\";t[\"\\uFC94\"]=\"\\u064A\\u0646\";t[\"\\uFC95\"]=\"\\u064A\\u0649\";t[\"\\uFC96\"]=\"\\u064A\\u064A\";t[\"\\uFC97\"]=\"\\u0626\\u062C\";t[\"\\uFC98\"]=\"\\u0626\\u062D\";t[\"\\uFC99\"]=\"\\u0626\\u062E\";t[\"\\uFC9A\"]=\"\\u0626\\u0645\";t[\"\\uFC9B\"]=\"\\u0626\\u0647\";t[\"\\uFC9C\"]=\"\\u0628\\u062C\";t[\"\\uFC9D\"]=\"\\u0628\\u062D\";t[\"\\uFC9E\"]=\"\\u0628\\u062E\";t[\"\\uFC9F\"]=\"\\u0628\\u0645\";t[\"\\uFCA0\"]=\"\\u0628\\u0647\";t[\"\\uFCA1\"]=\"\\u062A\\u062C\";t[\"\\uFCA2\"]=\"\\u062A\\u062D\";t[\"\\uFCA3\"]=\"\\u062A\\u062E\";t[\"\\uFCA4\"]=\"\\u062A\\u0645\";t[\"\\uFCA5\"]=\"\\u062A\\u0647\";t[\"\\uFCA6\"]=\"\\u062B\\u0645\";t[\"\\uFCA7\"]=\"\\u062C\\u062D\";t[\"\\uFCA8\"]=\"\\u062C\\u0645\";t[\"\\uFCA9\"]=\"\\u062D\\u062C\";t[\"\\uFCAA\"]=\"\\u062D\\u0645\";t[\"\\uFCAB\"]=\"\\u062E\\u062C\";t[\"\\uFCAC\"]=\"\\u062E\\u0645\";t[\"\\uFCAD\"]=\"\\u0633\\u062C\";t[\"\\uFCAE\"]=\"\\u0633\\u062D\";t[\"\\uFCAF\"]=\"\\u0633\\u062E\";t[\"\\uFCB0\"]=\"\\u0633\\u0645\";t[\"\\uFCB1\"]=\"\\u0635\\u062D\";t[\"\\uFCB2\"]=\"\\u0635\\u062E\";t[\"\\uFCB3\"]=\"\\u0635\\u0645\";t[\"\\uFCB4\"]=\"\\u0636\\u062C\";t[\"\\uFCB5\"]=\"\\u0636\\u062D\";t[\"\\uFCB6\"]=\"\\u0636\\u062E\";t[\"\\uFCB7\"]=\"\\u0636\\u0645\";t[\"\\uFCB8\"]=\"\\u0637\\u062D\";t[\"\\uFCB9\"]=\"\\u0638\\u0645\";t[\"\\uFCBA\"]=\"\\u0639\\u062C\";t[\"\\uFCBB\"]=\"\\u0639\\u0645\";t[\"\\uFCBC\"]=\"\\u063A\\u062C\";t[\"\\uFCBD\"]=\"\\u063A\\u0645\";t[\"\\uFCBE\"]=\"\\u0641\\u062C\";t[\"\\uFCBF\"]=\"\\u0641\\u062D\";t[\"\\uFCC0\"]=\"\\u0641\\u062E\";t[\"\\uFCC1\"]=\"\\u0641\\u0645\";t[\"\\uFCC2\"]=\"\\u0642\\u062D\";t[\"\\uFCC3\"]=\"\\u0642\\u0645\";t[\"\\uFCC4\"]=\"\\u0643\\u062C\";t[\"\\uFCC5\"]=\"\\u0643\\u062D\";t[\"\\uFCC6\"]=\"\\u0643\\u062E\";t[\"\\uFCC7\"]=\"\\u0643\\u0644\";t[\"\\uFCC8\"]=\"\\u0643\\u0645\";t[\"\\uFCC9\"]=\"\\u0644\\u062C\";t[\"\\uFCCA\"]=\"\\u0644\\u062D\";t[\"\\uFCCB\"]=\"\\u0644\\u062E\";t[\"\\uFCCC\"]=\"\\u0644\\u0645\";t[\"\\uFCCD\"]=\"\\u0644\\u0647\";t[\"\\uFCCE\"]=\"\\u0645\\u062C\";t[\"\\uFCCF\"]=\"\\u0645\\u062D\";t[\"\\uFCD0\"]=\"\\u0645\\u062E\";t[\"\\uFCD1\"]=\"\\u0645\\u0645\";t[\"\\uFCD2\"]=\"\\u0646\\u062C\";t[\"\\uFCD3\"]=\"\\u0646\\u062D\";t[\"\\uFCD4\"]=\"\\u0646\\u062E\";t[\"\\uFCD5\"]=\"\\u0646\\u0645\";t[\"\\uFCD6\"]=\"\\u0646\\u0647\";t[\"\\uFCD7\"]=\"\\u0647\\u062C\";t[\"\\uFCD8\"]=\"\\u0647\\u0645\";t[\"\\uFCD9\"]=\"\\u0647\\u0670\";t[\"\\uFCDA\"]=\"\\u064A\\u062C\";t[\"\\uFCDB\"]=\"\\u064A\\u062D\";t[\"\\uFCDC\"]=\"\\u064A\\u062E\";t[\"\\uFCDD\"]=\"\\u064A\\u0645\";t[\"\\uFCDE\"]=\"\\u064A\\u0647\";t[\"\\uFCDF\"]=\"\\u0626\\u0645\";t[\"\\uFCE0\"]=\"\\u0626\\u0647\";t[\"\\uFCE1\"]=\"\\u0628\\u0645\";t[\"\\uFCE2\"]=\"\\u0628\\u0647\";t[\"\\uFCE3\"]=\"\\u062A\\u0645\";t[\"\\uFCE4\"]=\"\\u062A\\u0647\";t[\"\\uFCE5\"]=\"\\u062B\\u0645\";t[\"\\uFCE6\"]=\"\\u062B\\u0647\";t[\"\\uFCE7\"]=\"\\u0633\\u0645\";t[\"\\uFCE8\"]=\"\\u0633\\u0647\";t[\"\\uFCE9\"]=\"\\u0634\\u0645\";t[\"\\uFCEA\"]=\"\\u0634\\u0647\";t[\"\\uFCEB\"]=\"\\u0643\\u0644\";t[\"\\uFCEC\"]=\"\\u0643\\u0645\";t[\"\\uFCED\"]=\"\\u0644\\u0645\";t[\"\\uFCEE\"]=\"\\u0646\\u0645\";t[\"\\uFCEF\"]=\"\\u0646\\u0647\";t[\"\\uFCF0\"]=\"\\u064A\\u0645\";t[\"\\uFCF1\"]=\"\\u064A\\u0647\";t[\"\\uFCF2\"]=\"\\u0640\\u064E\\u0651\";t[\"\\uFCF3\"]=\"\\u0640\\u064F\\u0651\";t[\"\\uFCF4\"]=\"\\u0640\\u0650\\u0651\";t[\"\\uFCF5\"]=\"\\u0637\\u0649\";t[\"\\uFCF6\"]=\"\\u0637\\u064A\";t[\"\\uFCF7\"]=\"\\u0639\\u0649\";t[\"\\uFCF8\"]=\"\\u0639\\u064A\";t[\"\\uFCF9\"]=\"\\u063A\\u0649\";t[\"\\uFCFA\"]=\"\\u063A\\u064A\";t[\"\\uFCFB\"]=\"\\u0633\\u0649\";t[\"\\uFCFC\"]=\"\\u0633\\u064A\";t[\"\\uFCFD\"]=\"\\u0634\\u0649\";t[\"\\uFCFE\"]=\"\\u0634\\u064A\";t[\"\\uFCFF\"]=\"\\u062D\\u0649\";t[\"\\uFD00\"]=\"\\u062D\\u064A\";t[\"\\uFD01\"]=\"\\u062C\\u0649\";t[\"\\uFD02\"]=\"\\u062C\\u064A\";t[\"\\uFD03\"]=\"\\u062E\\u0649\";t[\"\\uFD04\"]=\"\\u062E\\u064A\";t[\"\\uFD05\"]=\"\\u0635\\u0649\";t[\"\\uFD06\"]=\"\\u0635\\u064A\";t[\"\\uFD07\"]=\"\\u0636\\u0649\";t[\"\\uFD08\"]=\"\\u0636\\u064A\";t[\"\\uFD09\"]=\"\\u0634\\u062C\";t[\"\\uFD0A\"]=\"\\u0634\\u062D\";t[\"\\uFD0B\"]=\"\\u0634\\u062E\";t[\"\\uFD0C\"]=\"\\u0634\\u0645\";t[\"\\uFD0D\"]=\"\\u0634\\u0631\";t[\"\\uFD0E\"]=\"\\u0633\\u0631\";t[\"\\uFD0F\"]=\"\\u0635\\u0631\";t[\"\\uFD10\"]=\"\\u0636\\u0631\";t[\"\\uFD11\"]=\"\\u0637\\u0649\";t[\"\\uFD12\"]=\"\\u0637\\u064A\";t[\"\\uFD13\"]=\"\\u0639\\u0649\";t[\"\\uFD14\"]=\"\\u0639\\u064A\";t[\"\\uFD15\"]=\"\\u063A\\u0649\";t[\"\\uFD16\"]=\"\\u063A\\u064A\";t[\"\\uFD17\"]=\"\\u0633\\u0649\";t[\"\\uFD18\"]=\"\\u0633\\u064A\";t[\"\\uFD19\"]=\"\\u0634\\u0649\";t[\"\\uFD1A\"]=\"\\u0634\\u064A\";t[\"\\uFD1B\"]=\"\\u062D\\u0649\";t[\"\\uFD1C\"]=\"\\u062D\\u064A\";t[\"\\uFD1D\"]=\"\\u062C\\u0649\";t[\"\\uFD1E\"]=\"\\u062C\\u064A\";t[\"\\uFD1F\"]=\"\\u062E\\u0649\";t[\"\\uFD20\"]=\"\\u062E\\u064A\";t[\"\\uFD21\"]=\"\\u0635\\u0649\";t[\"\\uFD22\"]=\"\\u0635\\u064A\";t[\"\\uFD23\"]=\"\\u0636\\u0649\";t[\"\\uFD24\"]=\"\\u0636\\u064A\";t[\"\\uFD25\"]=\"\\u0634\\u062C\";t[\"\\uFD26\"]=\"\\u0634\\u062D\";t[\"\\uFD27\"]=\"\\u0634\\u062E\";t[\"\\uFD28\"]=\"\\u0634\\u0645\";t[\"\\uFD29\"]=\"\\u0634\\u0631\";t[\"\\uFD2A\"]=\"\\u0633\\u0631\";t[\"\\uFD2B\"]=\"\\u0635\\u0631\";t[\"\\uFD2C\"]=\"\\u0636\\u0631\";t[\"\\uFD2D\"]=\"\\u0634\\u062C\";t[\"\\uFD2E\"]=\"\\u0634\\u062D\";t[\"\\uFD2F\"]=\"\\u0634\\u062E\";t[\"\\uFD30\"]=\"\\u0634\\u0645\";t[\"\\uFD31\"]=\"\\u0633\\u0647\";t[\"\\uFD32\"]=\"\\u0634\\u0647\";t[\"\\uFD33\"]=\"\\u0637\\u0645\";t[\"\\uFD34\"]=\"\\u0633\\u062C\";t[\"\\uFD35\"]=\"\\u0633\\u062D\";t[\"\\uFD36\"]=\"\\u0633\\u062E\";t[\"\\uFD37\"]=\"\\u0634\\u062C\";t[\"\\uFD38\"]=\"\\u0634\\u062D\";t[\"\\uFD39\"]=\"\\u0634\\u062E\";t[\"\\uFD3A\"]=\"\\u0637\\u0645\";t[\"\\uFD3B\"]=\"\\u0638\\u0645\";t[\"\\uFD3C\"]=\"\\u0627\\u064B\";t[\"\\uFD3D\"]=\"\\u0627\\u064B\";t[\"\\uFD50\"]=\"\\u062A\\u062C\\u0645\";t[\"\\uFD51\"]=\"\\u062A\\u062D\\u062C\";t[\"\\uFD52\"]=\"\\u062A\\u062D\\u062C\";t[\"\\uFD53\"]=\"\\u062A\\u062D\\u0645\";t[\"\\uFD54\"]=\"\\u062A\\u062E\\u0645\";t[\"\\uFD55\"]=\"\\u062A\\u0645\\u062C\";t[\"\\uFD56\"]=\"\\u062A\\u0645\\u062D\";t[\"\\uFD57\"]=\"\\u062A\\u0645\\u062E\";t[\"\\uFD58\"]=\"\\u062C\\u0645\\u062D\";t[\"\\uFD59\"]=\"\\u062C\\u0645\\u062D\";t[\"\\uFD5A\"]=\"\\u062D\\u0645\\u064A\";t[\"\\uFD5B\"]=\"\\u062D\\u0645\\u0649\";t[\"\\uFD5C\"]=\"\\u0633\\u062D\\u062C\";t[\"\\uFD5D\"]=\"\\u0633\\u062C\\u062D\";t[\"\\uFD5E\"]=\"\\u0633\\u062C\\u0649\";t[\"\\uFD5F\"]=\"\\u0633\\u0645\\u062D\";t[\"\\uFD60\"]=\"\\u0633\\u0645\\u062D\";t[\"\\uFD61\"]=\"\\u0633\\u0645\\u062C\";t[\"\\uFD62\"]=\"\\u0633\\u0645\\u0645\";t[\"\\uFD63\"]=\"\\u0633\\u0645\\u0645\";t[\"\\uFD64\"]=\"\\u0635\\u062D\\u062D\";t[\"\\uFD65\"]=\"\\u0635\\u062D\\u062D\";t[\"\\uFD66\"]=\"\\u0635\\u0645\\u0645\";t[\"\\uFD67\"]=\"\\u0634\\u062D\\u0645\";t[\"\\uFD68\"]=\"\\u0634\\u062D\\u0645\";t[\"\\uFD69\"]=\"\\u0634\\u062C\\u064A\";t[\"\\uFD6A\"]=\"\\u0634\\u0645\\u062E\";t[\"\\uFD6B\"]=\"\\u0634\\u0645\\u062E\";t[\"\\uFD6C\"]=\"\\u0634\\u0645\\u0645\";t[\"\\uFD6D\"]=\"\\u0634\\u0645\\u0645\";t[\"\\uFD6E\"]=\"\\u0636\\u062D\\u0649\";t[\"\\uFD6F\"]=\"\\u0636\\u062E\\u0645\";t[\"\\uFD70\"]=\"\\u0636\\u062E\\u0645\";t[\"\\uFD71\"]=\"\\u0637\\u0645\\u062D\";t[\"\\uFD72\"]=\"\\u0637\\u0645\\u062D\";t[\"\\uFD73\"]=\"\\u0637\\u0645\\u0645\";t[\"\\uFD74\"]=\"\\u0637\\u0645\\u064A\";t[\"\\uFD75\"]=\"\\u0639\\u062C\\u0645\";t[\"\\uFD76\"]=\"\\u0639\\u0645\\u0645\";t[\"\\uFD77\"]=\"\\u0639\\u0645\\u0645\";t[\"\\uFD78\"]=\"\\u0639\\u0645\\u0649\";t[\"\\uFD79\"]=\"\\u063A\\u0645\\u0645\";t[\"\\uFD7A\"]=\"\\u063A\\u0645\\u064A\";t[\"\\uFD7B\"]=\"\\u063A\\u0645\\u0649\";t[\"\\uFD7C\"]=\"\\u0641\\u062E\\u0645\";t[\"\\uFD7D\"]=\"\\u0641\\u062E\\u0645\";t[\"\\uFD7E\"]=\"\\u0642\\u0645\\u062D\";t[\"\\uFD7F\"]=\"\\u0642\\u0645\\u0645\";t[\"\\uFD80\"]=\"\\u0644\\u062D\\u0645\";t[\"\\uFD81\"]=\"\\u0644\\u062D\\u064A\";t[\"\\uFD82\"]=\"\\u0644\\u062D\\u0649\";t[\"\\uFD83\"]=\"\\u0644\\u062C\\u062C\";t[\"\\uFD84\"]=\"\\u0644\\u062C\\u062C\";t[\"\\uFD85\"]=\"\\u0644\\u062E\\u0645\";t[\"\\uFD86\"]=\"\\u0644\\u062E\\u0645\";t[\"\\uFD87\"]=\"\\u0644\\u0645\\u062D\";t[\"\\uFD88\"]=\"\\u0644\\u0645\\u062D\";t[\"\\uFD89\"]=\"\\u0645\\u062D\\u062C\";t[\"\\uFD8A\"]=\"\\u0645\\u062D\\u0645\";t[\"\\uFD8B\"]=\"\\u0645\\u062D\\u064A\";t[\"\\uFD8C\"]=\"\\u0645\\u062C\\u062D\";t[\"\\uFD8D\"]=\"\\u0645\\u062C\\u0645\";t[\"\\uFD8E\"]=\"\\u0645\\u062E\\u062C\";t[\"\\uFD8F\"]=\"\\u0645\\u062E\\u0645\";t[\"\\uFD92\"]=\"\\u0645\\u062C\\u062E\";t[\"\\uFD93\"]=\"\\u0647\\u0645\\u062C\";t[\"\\uFD94\"]=\"\\u0647\\u0645\\u0645\";t[\"\\uFD95\"]=\"\\u0646\\u062D\\u0645\";t[\"\\uFD96\"]=\"\\u0646\\u062D\\u0649\";t[\"\\uFD97\"]=\"\\u0646\\u062C\\u0645\";t[\"\\uFD98\"]=\"\\u0646\\u062C\\u0645\";t[\"\\uFD99\"]=\"\\u0646\\u062C\\u0649\";t[\"\\uFD9A\"]=\"\\u0646\\u0645\\u064A\";t[\"\\uFD9B\"]=\"\\u0646\\u0645\\u0649\";t[\"\\uFD9C\"]=\"\\u064A\\u0645\\u0645\";t[\"\\uFD9D\"]=\"\\u064A\\u0645\\u0645\";t[\"\\uFD9E\"]=\"\\u0628\\u062E\\u064A\";t[\"\\uFD9F\"]=\"\\u062A\\u062C\\u064A\";t[\"\\uFDA0\"]=\"\\u062A\\u062C\\u0649\";t[\"\\uFDA1\"]=\"\\u062A\\u062E\\u064A\";t[\"\\uFDA2\"]=\"\\u062A\\u062E\\u0649\";t[\"\\uFDA3\"]=\"\\u062A\\u0645\\u064A\";t[\"\\uFDA4\"]=\"\\u062A\\u0645\\u0649\";t[\"\\uFDA5\"]=\"\\u062C\\u0645\\u064A\";t[\"\\uFDA6\"]=\"\\u062C\\u062D\\u0649\";t[\"\\uFDA7\"]=\"\\u062C\\u0645\\u0649\";t[\"\\uFDA8\"]=\"\\u0633\\u062E\\u0649\";t[\"\\uFDA9\"]=\"\\u0635\\u062D\\u064A\";t[\"\\uFDAA\"]=\"\\u0634\\u062D\\u064A\";t[\"\\uFDAB\"]=\"\\u0636\\u062D\\u064A\";t[\"\\uFDAC\"]=\"\\u0644\\u062C\\u064A\";t[\"\\uFDAD\"]=\"\\u0644\\u0645\\u064A\";t[\"\\uFDAE\"]=\"\\u064A\\u062D\\u064A\";t[\"\\uFDAF\"]=\"\\u064A\\u062C\\u064A\";t[\"\\uFDB0\"]=\"\\u064A\\u0645\\u064A\";t[\"\\uFDB1\"]=\"\\u0645\\u0645\\u064A\";t[\"\\uFDB2\"]=\"\\u0642\\u0645\\u064A\";t[\"\\uFDB3\"]=\"\\u0646\\u062D\\u064A\";t[\"\\uFDB4\"]=\"\\u0642\\u0645\\u062D\";t[\"\\uFDB5\"]=\"\\u0644\\u062D\\u0645\";t[\"\\uFDB6\"]=\"\\u0639\\u0645\\u064A\";t[\"\\uFDB7\"]=\"\\u0643\\u0645\\u064A\";t[\"\\uFDB8\"]=\"\\u0646\\u062C\\u062D\";t[\"\\uFDB9\"]=\"\\u0645\\u062E\\u064A\";t[\"\\uFDBA\"]=\"\\u0644\\u062C\\u0645\";t[\"\\uFDBB\"]=\"\\u0643\\u0645\\u0645\";t[\"\\uFDBC\"]=\"\\u0644\\u062C\\u0645\";t[\"\\uFDBD\"]=\"\\u0646\\u062C\\u062D\";t[\"\\uFDBE\"]=\"\\u062C\\u062D\\u064A\";t[\"\\uFDBF\"]=\"\\u062D\\u062C\\u064A\";t[\"\\uFDC0\"]=\"\\u0645\\u062C\\u064A\";t[\"\\uFDC1\"]=\"\\u0641\\u0645\\u064A\";t[\"\\uFDC2\"]=\"\\u0628\\u062D\\u064A\";t[\"\\uFDC3\"]=\"\\u0643\\u0645\\u0645\";t[\"\\uFDC4\"]=\"\\u0639\\u062C\\u0645\";t[\"\\uFDC5\"]=\"\\u0635\\u0645\\u0645\";t[\"\\uFDC6\"]=\"\\u0633\\u062E\\u064A\";t[\"\\uFDC7\"]=\"\\u0646\\u062C\\u064A\";t[\"\\uFE49\"]=\"\\u203E\";t[\"\\uFE4A\"]=\"\\u203E\";t[\"\\uFE4B\"]=\"\\u203E\";t[\"\\uFE4C\"]=\"\\u203E\";t[\"\\uFE4D\"]=\"_\";t[\"\\uFE4E\"]=\"_\";t[\"\\uFE4F\"]=\"_\";t[\"\\uFE80\"]=\"\\u0621\";t[\"\\uFE81\"]=\"\\u0622\";t[\"\\uFE82\"]=\"\\u0622\";t[\"\\uFE83\"]=\"\\u0623\";t[\"\\uFE84\"]=\"\\u0623\";t[\"\\uFE85\"]=\"\\u0624\";t[\"\\uFE86\"]=\"\\u0624\";t[\"\\uFE87\"]=\"\\u0625\";t[\"\\uFE88\"]=\"\\u0625\";t[\"\\uFE89\"]=\"\\u0626\";t[\"\\uFE8A\"]=\"\\u0626\";t[\"\\uFE8B\"]=\"\\u0626\";t[\"\\uFE8C\"]=\"\\u0626\";t[\"\\uFE8D\"]=\"\\u0627\";t[\"\\uFE8E\"]=\"\\u0627\";t[\"\\uFE8F\"]=\"\\u0628\";t[\"\\uFE90\"]=\"\\u0628\";t[\"\\uFE91\"]=\"\\u0628\";t[\"\\uFE92\"]=\"\\u0628\";t[\"\\uFE93\"]=\"\\u0629\";t[\"\\uFE94\"]=\"\\u0629\";t[\"\\uFE95\"]=\"\\u062A\";t[\"\\uFE96\"]=\"\\u062A\";t[\"\\uFE97\"]=\"\\u062A\";t[\"\\uFE98\"]=\"\\u062A\";t[\"\\uFE99\"]=\"\\u062B\";t[\"\\uFE9A\"]=\"\\u062B\";t[\"\\uFE9B\"]=\"\\u062B\";t[\"\\uFE9C\"]=\"\\u062B\";t[\"\\uFE9D\"]=\"\\u062C\";t[\"\\uFE9E\"]=\"\\u062C\";t[\"\\uFE9F\"]=\"\\u062C\";t[\"\\uFEA0\"]=\"\\u062C\";t[\"\\uFEA1\"]=\"\\u062D\";t[\"\\uFEA2\"]=\"\\u062D\";t[\"\\uFEA3\"]=\"\\u062D\";t[\"\\uFEA4\"]=\"\\u062D\";t[\"\\uFEA5\"]=\"\\u062E\";t[\"\\uFEA6\"]=\"\\u062E\";t[\"\\uFEA7\"]=\"\\u062E\";t[\"\\uFEA8\"]=\"\\u062E\";t[\"\\uFEA9\"]=\"\\u062F\";t[\"\\uFEAA\"]=\"\\u062F\";t[\"\\uFEAB\"]=\"\\u0630\";t[\"\\uFEAC\"]=\"\\u0630\";t[\"\\uFEAD\"]=\"\\u0631\";t[\"\\uFEAE\"]=\"\\u0631\";t[\"\\uFEAF\"]=\"\\u0632\";t[\"\\uFEB0\"]=\"\\u0632\";t[\"\\uFEB1\"]=\"\\u0633\";t[\"\\uFEB2\"]=\"\\u0633\";t[\"\\uFEB3\"]=\"\\u0633\";t[\"\\uFEB4\"]=\"\\u0633\";t[\"\\uFEB5\"]=\"\\u0634\";t[\"\\uFEB6\"]=\"\\u0634\";t[\"\\uFEB7\"]=\"\\u0634\";t[\"\\uFEB8\"]=\"\\u0634\";t[\"\\uFEB9\"]=\"\\u0635\";t[\"\\uFEBA\"]=\"\\u0635\";t[\"\\uFEBB\"]=\"\\u0635\";t[\"\\uFEBC\"]=\"\\u0635\";t[\"\\uFEBD\"]=\"\\u0636\";t[\"\\uFEBE\"]=\"\\u0636\";t[\"\\uFEBF\"]=\"\\u0636\";t[\"\\uFEC0\"]=\"\\u0636\";t[\"\\uFEC1\"]=\"\\u0637\";t[\"\\uFEC2\"]=\"\\u0637\";t[\"\\uFEC3\"]=\"\\u0637\";t[\"\\uFEC4\"]=\"\\u0637\";t[\"\\uFEC5\"]=\"\\u0638\";t[\"\\uFEC6\"]=\"\\u0638\";t[\"\\uFEC7\"]=\"\\u0638\";t[\"\\uFEC8\"]=\"\\u0638\";t[\"\\uFEC9\"]=\"\\u0639\";t[\"\\uFECA\"]=\"\\u0639\";t[\"\\uFECB\"]=\"\\u0639\";t[\"\\uFECC\"]=\"\\u0639\";t[\"\\uFECD\"]=\"\\u063A\";t[\"\\uFECE\"]=\"\\u063A\";t[\"\\uFECF\"]=\"\\u063A\";t[\"\\uFED0\"]=\"\\u063A\";t[\"\\uFED1\"]=\"\\u0641\";t[\"\\uFED2\"]=\"\\u0641\";t[\"\\uFED3\"]=\"\\u0641\";t[\"\\uFED4\"]=\"\\u0641\";t[\"\\uFED5\"]=\"\\u0642\";t[\"\\uFED6\"]=\"\\u0642\";t[\"\\uFED7\"]=\"\\u0642\";t[\"\\uFED8\"]=\"\\u0642\";t[\"\\uFED9\"]=\"\\u0643\";t[\"\\uFEDA\"]=\"\\u0643\";t[\"\\uFEDB\"]=\"\\u0643\";t[\"\\uFEDC\"]=\"\\u0643\";t[\"\\uFEDD\"]=\"\\u0644\";t[\"\\uFEDE\"]=\"\\u0644\";t[\"\\uFEDF\"]=\"\\u0644\";t[\"\\uFEE0\"]=\"\\u0644\";t[\"\\uFEE1\"]=\"\\u0645\";t[\"\\uFEE2\"]=\"\\u0645\";t[\"\\uFEE3\"]=\"\\u0645\";t[\"\\uFEE4\"]=\"\\u0645\";t[\"\\uFEE5\"]=\"\\u0646\";t[\"\\uFEE6\"]=\"\\u0646\";t[\"\\uFEE7\"]=\"\\u0646\";t[\"\\uFEE8\"]=\"\\u0646\";t[\"\\uFEE9\"]=\"\\u0647\";t[\"\\uFEEA\"]=\"\\u0647\";t[\"\\uFEEB\"]=\"\\u0647\";t[\"\\uFEEC\"]=\"\\u0647\";t[\"\\uFEED\"]=\"\\u0648\";t[\"\\uFEEE\"]=\"\\u0648\";t[\"\\uFEEF\"]=\"\\u0649\";t[\"\\uFEF0\"]=\"\\u0649\";t[\"\\uFEF1\"]=\"\\u064A\";t[\"\\uFEF2\"]=\"\\u064A\";t[\"\\uFEF3\"]=\"\\u064A\";t[\"\\uFEF4\"]=\"\\u064A\";t[\"\\uFEF5\"]=\"\\u0644\\u0622\";t[\"\\uFEF6\"]=\"\\u0644\\u0622\";t[\"\\uFEF7\"]=\"\\u0644\\u0623\";t[\"\\uFEF8\"]=\"\\u0644\\u0623\";t[\"\\uFEF9\"]=\"\\u0644\\u0625\";t[\"\\uFEFA\"]=\"\\u0644\\u0625\";t[\"\\uFEFB\"]=\"\\u0644\\u0627\";t[\"\\uFEFC\"]=\"\\u0644\\u0627\";});function reverseIfRtl(chars){var charsLength=chars.length;if(charsLength<=1||!isRTLRangeFor(chars.charCodeAt(0))){return chars;}var s=\"\";for(var ii=charsLength-1;ii>=0;ii--){s+=chars[ii];}return s;}exports.mapSpecialUnicodeValues=mapSpecialUnicodeValues;exports.reverseIfRtl=reverseIfRtl;exports.getUnicodeRangeFor=getUnicodeRangeFor;exports.getNormalizedUnicodes=getNormalizedUnicodes;exports.getUnicodeForGlyph=getUnicodeForGlyph;/***/},/* 34 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.FontRendererFactory=void 0;var _util=__w_pdfjs_require__(2);var _cff_parser=__w_pdfjs_require__(28);var _glyphlist=__w_pdfjs_require__(31);var _encodings=__w_pdfjs_require__(30);var _stream=__w_pdfjs_require__(11);var FontRendererFactory=function FontRendererFactoryClosure(){function getLong(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3];}function getUshort(data,offset){return data[offset]<<8|data[offset+1];}function getSubroutineBias(subrs){var numSubrs=subrs.length;var bias=32768;if(numSubrs<1240){bias=107;}else if(numSubrs<33900){bias=1131;}return bias;}function parseCmap(data,start,end){var offset=getUshort(data,start+2)===1?getLong(data,start+8):getLong(data,start+16);var format=getUshort(data,start+offset);var ranges,p,i;if(format===4){getUshort(data,start+offset+2);var segCount=getUshort(data,start+offset+6)>>1;p=start+offset+14;ranges=[];for(i=0;i<segCount;i++,p+=2){ranges[i]={end:getUshort(data,p)};}p+=2;for(i=0;i<segCount;i++,p+=2){ranges[i].start=getUshort(data,p);}for(i=0;i<segCount;i++,p+=2){ranges[i].idDelta=getUshort(data,p);}for(i=0;i<segCount;i++,p+=2){var idOffset=getUshort(data,p);if(idOffset===0){continue;}ranges[i].ids=[];for(var j=0,jj=ranges[i].end-ranges[i].start+1;j<jj;j++){ranges[i].ids[j]=getUshort(data,p+idOffset);idOffset+=2;}}return ranges;}else if(format===12){getLong(data,start+offset+4);var groups=getLong(data,start+offset+12);p=start+offset+16;ranges=[];for(i=0;i<groups;i++){ranges.push({start:getLong(data,p),end:getLong(data,p+4),idDelta:getLong(data,p+8)-getLong(data,p)});p+=12;}return ranges;}throw new _util.FormatError(\"unsupported cmap: \".concat(format));}function parseCff(data,start,end,seacAnalysisEnabled){var properties={};var parser=new _cff_parser.CFFParser(new _stream.Stream(data,start,end-start),properties,seacAnalysisEnabled);var cff=parser.parse();return{glyphs:cff.charStrings.objects,subrs:cff.topDict.privateDict&&cff.topDict.privateDict.subrsIndex&&cff.topDict.privateDict.subrsIndex.objects,gsubrs:cff.globalSubrIndex&&cff.globalSubrIndex.objects,isCFFCIDFont:cff.isCIDFont,fdSelect:cff.fdSelect,fdArray:cff.fdArray};}function parseGlyfTable(glyf,loca,isGlyphLocationsLong){var itemSize,itemDecode;if(isGlyphLocationsLong){itemSize=4;itemDecode=function fontItemDecodeLong(data,offset){return data[offset]<<24|data[offset+1]<<16|data[offset+2]<<8|data[offset+3];};}else{itemSize=2;itemDecode=function fontItemDecode(data,offset){return data[offset]<<9|data[offset+1]<<1;};}var glyphs=[];var startOffset=itemDecode(loca,0);for(var j=itemSize;j<loca.length;j+=itemSize){var endOffset=itemDecode(loca,j);glyphs.push(glyf.subarray(startOffset,endOffset));startOffset=endOffset;}return glyphs;}function lookupCmap(ranges,unicode){var code=unicode.codePointAt(0),gid=0;var l=0,r=ranges.length-1;while(l<r){var c=l+r+1>>1;if(code<ranges[c].start){r=c-1;}else{l=c;}}if(ranges[l].start<=code&&code<=ranges[l].end){gid=ranges[l].idDelta+(ranges[l].ids?ranges[l].ids[code-ranges[l].start]:code)&0xffff;}return{charCode:code,glyphId:gid};}function compileGlyf(code,cmds,font){function moveTo(x,y){cmds.push({cmd:\"moveTo\",args:[x,y]});}function lineTo(x,y){cmds.push({cmd:\"lineTo\",args:[x,y]});}function quadraticCurveTo(xa,ya,x,y){cmds.push({cmd:\"quadraticCurveTo\",args:[xa,ya,x,y]});}var i=0;var numberOfContours=(code[i]<<24|code[i+1]<<16)>>16;var flags;var x=0,y=0;i+=10;if(numberOfContours<0){do{flags=code[i]<<8|code[i+1];var glyphIndex=code[i+2]<<8|code[i+3];i+=4;var arg1,arg2;if(flags&0x01){arg1=(code[i]<<24|code[i+1]<<16)>>16;arg2=(code[i+2]<<24|code[i+3]<<16)>>16;i+=4;}else{arg1=code[i++];arg2=code[i++];}if(flags&0x02){x=arg1;y=arg2;}else{x=0;y=0;}var scaleX=1,scaleY=1,scale01=0,scale10=0;if(flags&0x08){scaleX=scaleY=(code[i]<<24|code[i+1]<<16)/1073741824;i+=2;}else if(flags&0x40){scaleX=(code[i]<<24|code[i+1]<<16)/1073741824;scaleY=(code[i+2]<<24|code[i+3]<<16)/1073741824;i+=4;}else if(flags&0x80){scaleX=(code[i]<<24|code[i+1]<<16)/1073741824;scale01=(code[i+2]<<24|code[i+3]<<16)/1073741824;scale10=(code[i+4]<<24|code[i+5]<<16)/1073741824;scaleY=(code[i+6]<<24|code[i+7]<<16)/1073741824;i+=8;}var subglyph=font.glyphs[glyphIndex];if(subglyph){cmds.push({cmd:\"save\"});cmds.push({cmd:\"transform\",args:[scaleX,scale01,scale10,scaleY,x,y]});compileGlyf(subglyph,cmds,font);cmds.push({cmd:\"restore\"});}}while(flags&0x20);}else{var endPtsOfContours=[];var j,jj;for(j=0;j<numberOfContours;j++){endPtsOfContours.push(code[i]<<8|code[i+1]);i+=2;}var instructionLength=code[i]<<8|code[i+1];i+=2+instructionLength;var numberOfPoints=endPtsOfContours[endPtsOfContours.length-1]+1;var points=[];while(points.length<numberOfPoints){flags=code[i++];var repeat=1;if(flags&0x08){repeat+=code[i++];}while(repeat-->0){points.push({flags:flags});}}for(j=0;j<numberOfPoints;j++){switch(points[j].flags&0x12){case 0x00:x+=(code[i]<<24|code[i+1]<<16)>>16;i+=2;break;case 0x02:x-=code[i++];break;case 0x12:x+=code[i++];break;}points[j].x=x;}for(j=0;j<numberOfPoints;j++){switch(points[j].flags&0x24){case 0x00:y+=(code[i]<<24|code[i+1]<<16)>>16;i+=2;break;case 0x04:y-=code[i++];break;case 0x24:y+=code[i++];break;}points[j].y=y;}var startPoint=0;for(i=0;i<numberOfContours;i++){var endPoint=endPtsOfContours[i];var contour=points.slice(startPoint,endPoint+1);if(contour[0].flags&1){contour.push(contour[0]);}else if(contour[contour.length-1].flags&1){contour.unshift(contour[contour.length-1]);}else{var p={flags:1,x:(contour[0].x+contour[contour.length-1].x)/2,y:(contour[0].y+contour[contour.length-1].y)/2};contour.unshift(p);contour.push(p);}moveTo(contour[0].x,contour[0].y);for(j=1,jj=contour.length;j<jj;j++){if(contour[j].flags&1){lineTo(contour[j].x,contour[j].y);}else if(contour[j+1].flags&1){quadraticCurveTo(contour[j].x,contour[j].y,contour[j+1].x,contour[j+1].y);j++;}else{quadraticCurveTo(contour[j].x,contour[j].y,(contour[j].x+contour[j+1].x)/2,(contour[j].y+contour[j+1].y)/2);}}startPoint=endPoint+1;}}}function compileCharString(code,cmds,font,glyphId){var stack=[];var x=0,y=0;var stems=0;function moveTo(x,y){cmds.push({cmd:\"moveTo\",args:[x,y]});}function lineTo(x,y){cmds.push({cmd:\"lineTo\",args:[x,y]});}function bezierCurveTo(x1,y1,x2,y2,x,y){cmds.push({cmd:\"bezierCurveTo\",args:[x1,y1,x2,y2,x,y]});}function parse(code){var i=0;while(i<code.length){var stackClean=false;var v=code[i++];var xa,xb,ya,yb,y1,y2,y3,n,subrCode;switch(v){case 1:stems+=stack.length>>1;stackClean=true;break;case 3:stems+=stack.length>>1;stackClean=true;break;case 4:y+=stack.pop();moveTo(x,y);stackClean=true;break;case 5:while(stack.length>0){x+=stack.shift();y+=stack.shift();lineTo(x,y);}break;case 6:while(stack.length>0){x+=stack.shift();lineTo(x,y);if(stack.length===0){break;}y+=stack.shift();lineTo(x,y);}break;case 7:while(stack.length>0){y+=stack.shift();lineTo(x,y);if(stack.length===0){break;}x+=stack.shift();lineTo(x,y);}break;case 8:while(stack.length>0){xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);}break;case 10:n=stack.pop();subrCode=null;if(font.isCFFCIDFont){var fdIndex=font.fdSelect.getFDIndex(glyphId);if(fdIndex>=0&&fdIndex<font.fdArray.length){var fontDict=font.fdArray[fdIndex];var subrs=void 0;if(fontDict.privateDict&&fontDict.privateDict.subrsIndex){subrs=fontDict.privateDict.subrsIndex.objects;}if(subrs){n+=getSubroutineBias(subrs);subrCode=subrs[n];}}else{(0,_util.warn)(\"Invalid fd index for glyph index.\");}}else{subrCode=font.subrs[n+font.subrsBias];}if(subrCode){parse(subrCode);}break;case 11:return;case 12:v=code[i++];switch(v){case 34:xa=x+stack.shift();xb=xa+stack.shift();y1=y+stack.shift();x=xb+stack.shift();bezierCurveTo(xa,y,xb,y1,x,y1);xa=x+stack.shift();xb=xa+stack.shift();x=xb+stack.shift();bezierCurveTo(xa,y1,xb,y,x,y);break;case 35:xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);stack.pop();break;case 36:xa=x+stack.shift();y1=y+stack.shift();xb=xa+stack.shift();y2=y1+stack.shift();x=xb+stack.shift();bezierCurveTo(xa,y1,xb,y2,x,y2);xa=x+stack.shift();xb=xa+stack.shift();y3=y2+stack.shift();x=xb+stack.shift();bezierCurveTo(xa,y2,xb,y3,x,y);break;case 37:var x0=x,y0=y;xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb;y=yb;if(Math.abs(x-x0)>Math.abs(y-y0)){x+=stack.shift();}else{y+=stack.shift();}bezierCurveTo(xa,ya,xb,yb,x,y);break;default:throw new _util.FormatError(\"unknown operator: 12 \".concat(v));}break;case 14:if(stack.length>=4){var achar=stack.pop();var bchar=stack.pop();y=stack.pop();x=stack.pop();cmds.push({cmd:\"save\"});cmds.push({cmd:\"translate\",args:[x,y]});var cmap=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));compileCharString(font.glyphs[cmap.glyphId],cmds,font,cmap.glyphId);cmds.push({cmd:\"restore\"});cmap=lookupCmap(font.cmap,String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));compileCharString(font.glyphs[cmap.glyphId],cmds,font,cmap.glyphId);}return;case 18:stems+=stack.length>>1;stackClean=true;break;case 19:stems+=stack.length>>1;i+=stems+7>>3;stackClean=true;break;case 20:stems+=stack.length>>1;i+=stems+7>>3;stackClean=true;break;case 21:y+=stack.pop();x+=stack.pop();moveTo(x,y);stackClean=true;break;case 22:x+=stack.pop();moveTo(x,y);stackClean=true;break;case 23:stems+=stack.length>>1;stackClean=true;break;case 24:while(stack.length>2){xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);}x+=stack.shift();y+=stack.shift();lineTo(x,y);break;case 25:while(stack.length>6){x+=stack.shift();y+=stack.shift();lineTo(x,y);}xa=x+stack.shift();ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);break;case 26:if(stack.length%2){x+=stack.shift();}while(stack.length>0){xa=x;ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb;y=yb+stack.shift();bezierCurveTo(xa,ya,xb,yb,x,y);}break;case 27:if(stack.length%2){y+=stack.shift();}while(stack.length>0){xa=x+stack.shift();ya=y;xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb;bezierCurveTo(xa,ya,xb,yb,x,y);}break;case 28:stack.push((code[i]<<24|code[i+1]<<16)>>16);i+=2;break;case 29:n=stack.pop()+font.gsubrsBias;subrCode=font.gsubrs[n];if(subrCode){parse(subrCode);}break;case 30:while(stack.length>0){xa=x;ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+(stack.length===1?stack.shift():0);bezierCurveTo(xa,ya,xb,yb,x,y);if(stack.length===0){break;}xa=x+stack.shift();ya=y;xb=xa+stack.shift();yb=ya+stack.shift();y=yb+stack.shift();x=xb+(stack.length===1?stack.shift():0);bezierCurveTo(xa,ya,xb,yb,x,y);}break;case 31:while(stack.length>0){xa=x+stack.shift();ya=y;xb=xa+stack.shift();yb=ya+stack.shift();y=yb+stack.shift();x=xb+(stack.length===1?stack.shift():0);bezierCurveTo(xa,ya,xb,yb,x,y);if(stack.length===0){break;}xa=x;ya=y+stack.shift();xb=xa+stack.shift();yb=ya+stack.shift();x=xb+stack.shift();y=yb+(stack.length===1?stack.shift():0);bezierCurveTo(xa,ya,xb,yb,x,y);}break;default:if(v<32){throw new _util.FormatError(\"unknown operator: \".concat(v));}if(v<247){stack.push(v-139);}else if(v<251){stack.push((v-247)*256+code[i++]+108);}else if(v<255){stack.push(-(v-251)*256-code[i++]-108);}else{stack.push((code[i]<<24|code[i+1]<<16|code[i+2]<<8|code[i+3])/65536);i+=4;}break;}if(stackClean){stack.length=0;}}}parse(code);}var NOOP=[];var CompiledFont=/*#__PURE__*/function(){function CompiledFont(fontMatrix){_classCallCheck(this,CompiledFont);if(this.constructor===CompiledFont){(0,_util.unreachable)(\"Cannot initialize CompiledFont.\");}this.fontMatrix=fontMatrix;this.compiledGlyphs=Object.create(null);this.compiledCharCodeToGlyphId=Object.create(null);}_createClass(CompiledFont,[{key:\"getPathJs\",value:function getPathJs(unicode){var cmap=lookupCmap(this.cmap,unicode);var fn=this.compiledGlyphs[cmap.glyphId];if(!fn){fn=this.compileGlyph(this.glyphs[cmap.glyphId],cmap.glyphId);this.compiledGlyphs[cmap.glyphId]=fn;}if(this.compiledCharCodeToGlyphId[cmap.charCode]===undefined){this.compiledCharCodeToGlyphId[cmap.charCode]=cmap.glyphId;}return fn;}},{key:\"compileGlyph\",value:function compileGlyph(code,glyphId){if(!code||code.length===0||code[0]===14){return NOOP;}var fontMatrix=this.fontMatrix;if(this.isCFFCIDFont){var fdIndex=this.fdSelect.getFDIndex(glyphId);if(fdIndex>=0&&fdIndex<this.fdArray.length){var fontDict=this.fdArray[fdIndex];fontMatrix=fontDict.getByName(\"FontMatrix\")||_util.FONT_IDENTITY_MATRIX;}else{(0,_util.warn)(\"Invalid fd index for glyph index.\");}}var cmds=[];cmds.push({cmd:\"save\"});cmds.push({cmd:\"transform\",args:fontMatrix.slice()});cmds.push({cmd:\"scale\",args:[\"size\",\"-size\"]});this.compileGlyphImpl(code,cmds,glyphId);cmds.push({cmd:\"restore\"});return cmds;}},{key:\"compileGlyphImpl\",value:function compileGlyphImpl(){(0,_util.unreachable)(\"Children classes should implement this.\");}},{key:\"hasBuiltPath\",value:function hasBuiltPath(unicode){var cmap=lookupCmap(this.cmap,unicode);return this.compiledGlyphs[cmap.glyphId]!==undefined&&this.compiledCharCodeToGlyphId[cmap.charCode]!==undefined;}}]);return CompiledFont;}();var TrueTypeCompiled=/*#__PURE__*/function(_CompiledFont){_inherits(TrueTypeCompiled,_CompiledFont);var _super54=_createSuper(TrueTypeCompiled);function TrueTypeCompiled(glyphs,cmap,fontMatrix){var _this69;_classCallCheck(this,TrueTypeCompiled);_this69=_super54.call(this,fontMatrix||[0.000488,0,0,0.000488,0,0]);_this69.glyphs=glyphs;_this69.cmap=cmap;return _this69;}_createClass(TrueTypeCompiled,[{key:\"compileGlyphImpl\",value:function compileGlyphImpl(code,cmds){compileGlyf(code,cmds,this);}}]);return TrueTypeCompiled;}(CompiledFont);var Type2Compiled=/*#__PURE__*/function(_CompiledFont2){_inherits(Type2Compiled,_CompiledFont2);var _super55=_createSuper(Type2Compiled);function Type2Compiled(cffInfo,cmap,fontMatrix,glyphNameMap){var _this70;_classCallCheck(this,Type2Compiled);_this70=_super55.call(this,fontMatrix||[0.001,0,0,0.001,0,0]);_this70.glyphs=cffInfo.glyphs;_this70.gsubrs=cffInfo.gsubrs||[];_this70.subrs=cffInfo.subrs||[];_this70.cmap=cmap;_this70.glyphNameMap=glyphNameMap||(0,_glyphlist.getGlyphsUnicode)();_this70.gsubrsBias=getSubroutineBias(_this70.gsubrs);_this70.subrsBias=getSubroutineBias(_this70.subrs);_this70.isCFFCIDFont=cffInfo.isCFFCIDFont;_this70.fdSelect=cffInfo.fdSelect;_this70.fdArray=cffInfo.fdArray;return _this70;}_createClass(Type2Compiled,[{key:\"compileGlyphImpl\",value:function compileGlyphImpl(code,cmds,glyphId){compileCharString(code,cmds,this,glyphId);}}]);return Type2Compiled;}(CompiledFont);return{create:function FontRendererFactory_create(font,seacAnalysisEnabled){var data=new Uint8Array(font.data);var cmap,glyf,loca,cff,indexToLocFormat,unitsPerEm;var numTables=getUshort(data,4);for(var i=0,p=12;i<numTables;i++,p+=16){var tag=(0,_util.bytesToString)(data.subarray(p,p+4));var offset=getLong(data,p+8);var length=getLong(data,p+12);switch(tag){case\"cmap\":cmap=parseCmap(data,offset,offset+length);break;case\"glyf\":glyf=data.subarray(offset,offset+length);break;case\"loca\":loca=data.subarray(offset,offset+length);break;case\"head\":unitsPerEm=getUshort(data,offset+18);indexToLocFormat=getUshort(data,offset+50);break;case\"CFF \":cff=parseCff(data,offset,offset+length,seacAnalysisEnabled);break;}}if(glyf){var fontMatrix=!unitsPerEm?font.fontMatrix:[1/unitsPerEm,0,0,1/unitsPerEm,0,0];return new TrueTypeCompiled(parseGlyfTable(glyf,loca,indexToLocFormat),cmap,fontMatrix);}return new Type2Compiled(cff,cmap,font.fontMatrix,font.glyphNameMap);}};}();exports.FontRendererFactory=FontRendererFactory;/***/},/* 35 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.Type1Parser=void 0;var _encodings=__w_pdfjs_require__(30);var _core_utils=__w_pdfjs_require__(7);var _stream=__w_pdfjs_require__(11);var _util=__w_pdfjs_require__(2);var HINTING_ENABLED=false;var Type1CharString=function Type1CharStringClosure(){var COMMAND_MAP={hstem:[1],vstem:[3],vmoveto:[4],rlineto:[5],hlineto:[6],vlineto:[7],rrcurveto:[8],callsubr:[10],flex:[12,35],drop:[12,18],endchar:[14],rmoveto:[21],hmoveto:[22],vhcurveto:[30],hvcurveto:[31]};function Type1CharString(){this.width=0;this.lsb=0;this.flexing=false;this.output=[];this.stack=[];}Type1CharString.prototype={convert:function Type1CharString_convert(encoded,subrs,seacAnalysisEnabled){var count=encoded.length;var error=false;var wx,sbx,subrNumber;for(var i=0;i<count;i++){var value=encoded[i];if(value<32){if(value===12){value=(value<<8)+encoded[++i];}switch(value){case 1:if(!HINTING_ENABLED){this.stack=[];break;}error=this.executeCommand(2,COMMAND_MAP.hstem);break;case 3:if(!HINTING_ENABLED){this.stack=[];break;}error=this.executeCommand(2,COMMAND_MAP.vstem);break;case 4:if(this.flexing){if(this.stack.length<1){error=true;break;}var dy=this.stack.pop();this.stack.push(0,dy);break;}error=this.executeCommand(1,COMMAND_MAP.vmoveto);break;case 5:error=this.executeCommand(2,COMMAND_MAP.rlineto);break;case 6:error=this.executeCommand(1,COMMAND_MAP.hlineto);break;case 7:error=this.executeCommand(1,COMMAND_MAP.vlineto);break;case 8:error=this.executeCommand(6,COMMAND_MAP.rrcurveto);break;case 9:this.stack=[];break;case 10:if(this.stack.length<1){error=true;break;}subrNumber=this.stack.pop();if(!subrs[subrNumber]){error=true;break;}error=this.convert(subrs[subrNumber],subrs,seacAnalysisEnabled);break;case 11:return error;case 13:if(this.stack.length<2){error=true;break;}wx=this.stack.pop();sbx=this.stack.pop();this.lsb=sbx;this.width=wx;this.stack.push(wx,sbx);error=this.executeCommand(2,COMMAND_MAP.hmoveto);break;case 14:this.output.push(COMMAND_MAP.endchar[0]);break;case 21:if(this.flexing){break;}error=this.executeCommand(2,COMMAND_MAP.rmoveto);break;case 22:if(this.flexing){this.stack.push(0);break;}error=this.executeCommand(1,COMMAND_MAP.hmoveto);break;case 30:error=this.executeCommand(4,COMMAND_MAP.vhcurveto);break;case 31:error=this.executeCommand(4,COMMAND_MAP.hvcurveto);break;case(12<<8)+0:this.stack=[];break;case(12<<8)+1:if(!HINTING_ENABLED){this.stack=[];break;}error=this.executeCommand(2,COMMAND_MAP.vstem);break;case(12<<8)+2:if(!HINTING_ENABLED){this.stack=[];break;}error=this.executeCommand(2,COMMAND_MAP.hstem);break;case(12<<8)+6:if(seacAnalysisEnabled){this.seac=this.stack.splice(-4,4);error=this.executeCommand(0,COMMAND_MAP.endchar);}else{error=this.executeCommand(4,COMMAND_MAP.endchar);}break;case(12<<8)+7:if(this.stack.length<4){error=true;break;}this.stack.pop();wx=this.stack.pop();var sby=this.stack.pop();sbx=this.stack.pop();this.lsb=sbx;this.width=wx;this.stack.push(wx,sbx,sby);error=this.executeCommand(3,COMMAND_MAP.rmoveto);break;case(12<<8)+12:if(this.stack.length<2){error=true;break;}var num2=this.stack.pop();var num1=this.stack.pop();this.stack.push(num1/num2);break;case(12<<8)+16:if(this.stack.length<2){error=true;break;}subrNumber=this.stack.pop();var numArgs=this.stack.pop();if(subrNumber===0&&numArgs===3){var flexArgs=this.stack.splice(this.stack.length-17,17);this.stack.push(flexArgs[2]+flexArgs[0],flexArgs[3]+flexArgs[1],flexArgs[4],flexArgs[5],flexArgs[6],flexArgs[7],flexArgs[8],flexArgs[9],flexArgs[10],flexArgs[11],flexArgs[12],flexArgs[13],flexArgs[14]);error=this.executeCommand(13,COMMAND_MAP.flex,true);this.flexing=false;this.stack.push(flexArgs[15],flexArgs[16]);}else if(subrNumber===1&&numArgs===0){this.flexing=true;}break;case(12<<8)+17:break;case(12<<8)+33:this.stack=[];break;default:(0,_util.warn)('Unknown type 1 charstring command of \"'+value+'\"');break;}if(error){break;}continue;}else if(value<=246){value=value-139;}else if(value<=250){value=(value-247)*256+encoded[++i]+108;}else if(value<=254){value=-((value-251)*256)-encoded[++i]-108;}else{value=(encoded[++i]&0xff)<<24|(encoded[++i]&0xff)<<16|(encoded[++i]&0xff)<<8|(encoded[++i]&0xff)<<0;}this.stack.push(value);}return error;},executeCommand:function executeCommand(howManyArgs,command,keepStack){var stackLength=this.stack.length;if(howManyArgs>stackLength){return true;}var start=stackLength-howManyArgs;for(var i=start;i<stackLength;i++){var value=this.stack[i];if(Number.isInteger(value)){this.output.push(28,value>>8&0xff,value&0xff);}else{value=65536*value|0;this.output.push(255,value>>24&0xff,value>>16&0xff,value>>8&0xff,value&0xff);}}this.output.push.apply(this.output,command);if(keepStack){this.stack.splice(start,howManyArgs);}else{this.stack.length=0;}return false;}};return Type1CharString;}();var Type1Parser=function Type1ParserClosure(){var EEXEC_ENCRYPT_KEY=55665;var CHAR_STRS_ENCRYPT_KEY=4330;function isHexDigit(code){return code>=48&&code<=57||code>=65&&code<=70||code>=97&&code<=102;}function decrypt(data,key,discardNumber){if(discardNumber>=data.length){return new Uint8Array(0);}var r=key|0,c1=52845,c2=22719,i,j;for(i=0;i<discardNumber;i++){r=(data[i]+r)*c1+c2&(1<<16)-1;}var count=data.length-discardNumber;var decrypted=new Uint8Array(count);for(i=discardNumber,j=0;j<count;i++,j++){var value=data[i];decrypted[j]=value^r>>8;r=(value+r)*c1+c2&(1<<16)-1;}return decrypted;}function decryptAscii(data,key,discardNumber){var r=key|0,c1=52845,c2=22719;var count=data.length,maybeLength=count>>>1;var decrypted=new Uint8Array(maybeLength);var i,j;for(i=0,j=0;i<count;i++){var digit1=data[i];if(!isHexDigit(digit1)){continue;}i++;var digit2;while(i<count&&!isHexDigit(digit2=data[i])){i++;}if(i<count){var value=parseInt(String.fromCharCode(digit1,digit2),16);decrypted[j++]=value^r>>8;r=(value+r)*c1+c2&(1<<16)-1;}}return Array.prototype.slice.call(decrypted,discardNumber,j);}function isSpecial(c){return c===0x2f||c===0x5b||c===0x5d||c===0x7b||c===0x7d||c===0x28||c===0x29;}function Type1Parser(stream,encrypted,seacAnalysisEnabled){if(encrypted){var data=stream.getBytes();var isBinary=!(isHexDigit(data[0])&&isHexDigit(data[1])&&isHexDigit(data[2])&&isHexDigit(data[3]));stream=new _stream.Stream(isBinary?decrypt(data,EEXEC_ENCRYPT_KEY,4):decryptAscii(data,EEXEC_ENCRYPT_KEY,4));}this.seacAnalysisEnabled=!!seacAnalysisEnabled;this.stream=stream;this.nextChar();}Type1Parser.prototype={readNumberArray:function Type1Parser_readNumberArray(){this.getToken();var array=[];while(true){var token=this.getToken();if(token===null||token===\"]\"||token===\"}\"){break;}array.push(parseFloat(token||0));}return array;},readNumber:function Type1Parser_readNumber(){var token=this.getToken();return parseFloat(token||0);},readInt:function Type1Parser_readInt(){var token=this.getToken();return parseInt(token||0,10)|0;},readBoolean:function Type1Parser_readBoolean(){var token=this.getToken();return token===\"true\"?1:0;},nextChar:function Type1_nextChar(){return this.currentChar=this.stream.getByte();},getToken:function Type1Parser_getToken(){var comment=false;var ch=this.currentChar;while(true){if(ch===-1){return null;}if(comment){if(ch===0x0a||ch===0x0d){comment=false;}}else if(ch===0x25){comment=true;}else if(!(0,_core_utils.isWhiteSpace)(ch)){break;}ch=this.nextChar();}if(isSpecial(ch)){this.nextChar();return String.fromCharCode(ch);}var token=\"\";do{token+=String.fromCharCode(ch);ch=this.nextChar();}while(ch>=0&&!(0,_core_utils.isWhiteSpace)(ch)&&!isSpecial(ch));return token;},readCharStrings:function Type1Parser_readCharStrings(bytes,lenIV){if(lenIV===-1){return bytes;}return decrypt(bytes,CHAR_STRS_ENCRYPT_KEY,lenIV);},extractFontProgram:function Type1Parser_extractFontProgram(properties){var stream=this.stream;var subrs=[],charstrings=[];var privateData=Object.create(null);privateData[\"lenIV\"]=4;var program={subrs:[],charstrings:[],properties:{privateData:privateData}};var token,length,data,lenIV,encoded;while((token=this.getToken())!==null){if(token!==\"/\"){continue;}token=this.getToken();switch(token){case\"CharStrings\":this.getToken();this.getToken();this.getToken();this.getToken();while(true){token=this.getToken();if(token===null||token===\"end\"){break;}if(token!==\"/\"){continue;}var glyph=this.getToken();length=this.readInt();this.getToken();data=length>0?stream.getBytes(length):new Uint8Array(0);lenIV=program.properties.privateData[\"lenIV\"];encoded=this.readCharStrings(data,lenIV);this.nextChar();token=this.getToken();if(token===\"noaccess\"){this.getToken();}charstrings.push({glyph:glyph,encoded:encoded});}break;case\"Subrs\":this.readInt();this.getToken();while(this.getToken()===\"dup\"){var index=this.readInt();length=this.readInt();this.getToken();data=length>0?stream.getBytes(length):new Uint8Array(0);lenIV=program.properties.privateData[\"lenIV\"];encoded=this.readCharStrings(data,lenIV);this.nextChar();token=this.getToken();if(token===\"noaccess\"){this.getToken();}subrs[index]=encoded;}break;case\"BlueValues\":case\"OtherBlues\":case\"FamilyBlues\":case\"FamilyOtherBlues\":var blueArray=this.readNumberArray();if(blueArray.length>0&&blueArray.length%2===0&&HINTING_ENABLED){program.properties.privateData[token]=blueArray;}break;case\"StemSnapH\":case\"StemSnapV\":program.properties.privateData[token]=this.readNumberArray();break;case\"StdHW\":case\"StdVW\":program.properties.privateData[token]=this.readNumberArray()[0];break;case\"BlueShift\":case\"lenIV\":case\"BlueFuzz\":case\"BlueScale\":case\"LanguageGroup\":case\"ExpansionFactor\":program.properties.privateData[token]=this.readNumber();break;case\"ForceBold\":program.properties.privateData[token]=this.readBoolean();break;}}for(var i=0;i<charstrings.length;i++){glyph=charstrings[i].glyph;encoded=charstrings[i].encoded;var charString=new Type1CharString();var error=charString.convert(encoded,subrs,this.seacAnalysisEnabled);var output=charString.output;if(error){output=[14];}var charStringObject={glyphName:glyph,charstring:output,width:charString.width,lsb:charString.lsb,seac:charString.seac};if(glyph===\".notdef\"){program.charstrings.unshift(charStringObject);}else{program.charstrings.push(charStringObject);}if(properties.builtInEncoding){var _index=properties.builtInEncoding.indexOf(glyph);if(_index>-1&&properties.widths[_index]===undefined&&_index>=properties.firstChar&&_index<=properties.lastChar){properties.widths[_index]=charString.width;}}}return program;},extractFontHeader:function Type1Parser_extractFontHeader(properties){var token;while((token=this.getToken())!==null){if(token!==\"/\"){continue;}token=this.getToken();switch(token){case\"FontMatrix\":var matrix=this.readNumberArray();properties.fontMatrix=matrix;break;case\"Encoding\":var encodingArg=this.getToken();var encoding;if(!/^\\d+$/.test(encodingArg)){encoding=(0,_encodings.getEncoding)(encodingArg);}else{encoding=[];var size=parseInt(encodingArg,10)|0;this.getToken();for(var j=0;j<size;j++){token=this.getToken();while(token!==\"dup\"&&token!==\"def\"){token=this.getToken();if(token===null){return;}}if(token===\"def\"){break;}var index=this.readInt();this.getToken();var glyph=this.getToken();encoding[index]=glyph;this.getToken();}}properties.builtInEncoding=encoding;break;case\"FontBBox\":var fontBBox=this.readNumberArray();properties.ascent=Math.max(fontBBox[3],fontBBox[1]);properties.descent=Math.min(fontBBox[1],fontBBox[3]);properties.ascentScaled=true;break;}}}};return Type1Parser;}();exports.Type1Parser=Type1Parser;/***/},/* 36 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getTilingPatternIR=getTilingPatternIR;exports.Pattern=void 0;var _util=__w_pdfjs_require__(2);var _colorspace=__w_pdfjs_require__(22);var _primitives=__w_pdfjs_require__(4);var _core_utils=__w_pdfjs_require__(7);var ShadingType={FUNCTION_BASED:1,AXIAL:2,RADIAL:3,FREE_FORM_MESH:4,LATTICE_FORM_MESH:5,COONS_PATCH_MESH:6,TENSOR_PATCH_MESH:7};var Pattern=function PatternClosure(){function Pattern(){(0,_util.unreachable)(\"should not call Pattern constructor\");}Pattern.prototype={getPattern:function Pattern_getPattern(ctx){(0,_util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));}};Pattern.parseShading=function(shading,matrix,xref,res,handler,pdfFunctionFactory){var dict=(0,_primitives.isStream)(shading)?shading.dict:shading;var type=dict.get(\"ShadingType\");try{switch(type){case ShadingType.AXIAL:case ShadingType.RADIAL:return new Shadings.RadialAxial(dict,matrix,xref,res,pdfFunctionFactory);case ShadingType.FREE_FORM_MESH:case ShadingType.LATTICE_FORM_MESH:case ShadingType.COONS_PATCH_MESH:case ShadingType.TENSOR_PATCH_MESH:return new Shadings.Mesh(shading,matrix,xref,res,pdfFunctionFactory);default:throw new _util.FormatError(\"Unsupported ShadingType: \"+type);}}catch(ex){if(ex instanceof _core_utils.MissingDataException){throw ex;}handler.send(\"UnsupportedFeature\",{featureId:_util.UNSUPPORTED_FEATURES.shadingPattern});(0,_util.warn)(ex);return new Shadings.Dummy();}};return Pattern;}();exports.Pattern=Pattern;var Shadings={};Shadings.SMALL_NUMBER=1e-6;Shadings.RadialAxial=function RadialAxialClosure(){function RadialAxial(dict,matrix,xref,res,pdfFunctionFactory){this.matrix=matrix;this.coordsArr=dict.getArray(\"Coords\");this.shadingType=dict.get(\"ShadingType\");this.type=\"Pattern\";var cs=dict.get(\"ColorSpace\",\"CS\");cs=_colorspace.ColorSpace.parse(cs,xref,res,pdfFunctionFactory);this.cs=cs;var bbox=dict.getArray(\"BBox\");if(Array.isArray(bbox)&&bbox.length===4){this.bbox=_util.Util.normalizeRect(bbox);}else{this.bbox=null;}var t0=0.0,t1=1.0;if(dict.has(\"Domain\")){var domainArr=dict.getArray(\"Domain\");t0=domainArr[0];t1=domainArr[1];}var extendStart=false,extendEnd=false;if(dict.has(\"Extend\")){var extendArr=dict.getArray(\"Extend\");extendStart=extendArr[0];extendEnd=extendArr[1];}if(this.shadingType===ShadingType.RADIAL&&(!extendStart||!extendEnd)){var x1=this.coordsArr[0];var y1=this.coordsArr[1];var r1=this.coordsArr[2];var x2=this.coordsArr[3];var y2=this.coordsArr[4];var r2=this.coordsArr[5];var distance=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));if(r1<=r2+distance&&r2<=r1+distance){(0,_util.warn)(\"Unsupported radial gradient.\");}}this.extendStart=extendStart;this.extendEnd=extendEnd;var fnObj=dict.get(\"Function\");var fn=pdfFunctionFactory.createFromArray(fnObj);var NUMBER_OF_SAMPLES=10;var step=(t1-t0)/NUMBER_OF_SAMPLES;var colorStops=this.colorStops=[];if(t0>=t1||step<=0){(0,_util.info)(\"Bad shading domain.\");return;}var color=new Float32Array(cs.numComps),ratio=new Float32Array(1);var rgbColor;for(var i=0;i<=NUMBER_OF_SAMPLES;i++){ratio[0]=t0+i*step;fn(ratio,0,color,0);rgbColor=cs.getRgb(color,0);var cssColor=_util.Util.makeCssRgb(rgbColor[0],rgbColor[1],rgbColor[2]);colorStops.push([i/NUMBER_OF_SAMPLES,cssColor]);}var background=\"transparent\";if(dict.has(\"Background\")){rgbColor=cs.getRgb(dict.get(\"Background\"),0);background=_util.Util.makeCssRgb(rgbColor[0],rgbColor[1],rgbColor[2]);}if(!extendStart){colorStops.unshift([0,background]);colorStops[1][0]+=Shadings.SMALL_NUMBER;}if(!extendEnd){colorStops[colorStops.length-1][0]-=Shadings.SMALL_NUMBER;colorStops.push([1,background]);}this.colorStops=colorStops;}RadialAxial.prototype={getIR:function RadialAxial_getIR(){var coordsArr=this.coordsArr;var shadingType=this.shadingType;var type,p0,p1,r0,r1;if(shadingType===ShadingType.AXIAL){p0=[coordsArr[0],coordsArr[1]];p1=[coordsArr[2],coordsArr[3]];r0=null;r1=null;type=\"axial\";}else if(shadingType===ShadingType.RADIAL){p0=[coordsArr[0],coordsArr[1]];p1=[coordsArr[3],coordsArr[4]];r0=coordsArr[2];r1=coordsArr[5];type=\"radial\";}else{(0,_util.unreachable)(\"getPattern type unknown: \".concat(shadingType));}var matrix=this.matrix;if(matrix){p0=_util.Util.applyTransform(p0,matrix);p1=_util.Util.applyTransform(p1,matrix);if(shadingType===ShadingType.RADIAL){var scale=_util.Util.singularValueDecompose2dScale(matrix);r0*=scale[0];r1*=scale[1];}}return[\"RadialAxial\",type,this.bbox,this.colorStops,p0,p1,r0,r1];}};return RadialAxial;}();Shadings.Mesh=function MeshClosure(){function MeshStreamReader(stream,context){this.stream=stream;this.context=context;this.buffer=0;this.bufferLength=0;var numComps=context.numComps;this.tmpCompsBuf=new Float32Array(numComps);var csNumComps=context.colorSpace.numComps;this.tmpCsCompsBuf=context.colorFn?new Float32Array(csNumComps):this.tmpCompsBuf;}MeshStreamReader.prototype={get hasData(){if(this.stream.end){return this.stream.pos<this.stream.end;}if(this.bufferLength>0){return true;}var nextByte=this.stream.getByte();if(nextByte<0){return false;}this.buffer=nextByte;this.bufferLength=8;return true;},readBits:function MeshStreamReader_readBits(n){var buffer=this.buffer;var bufferLength=this.bufferLength;if(n===32){if(bufferLength===0){return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;}buffer=buffer<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();var nextByte=this.stream.getByte();this.buffer=nextByte&(1<<bufferLength)-1;return(buffer<<8-bufferLength|(nextByte&0xff)>>bufferLength)>>>0;}if(n===8&&bufferLength===0){return this.stream.getByte();}while(bufferLength<n){buffer=buffer<<8|this.stream.getByte();bufferLength+=8;}bufferLength-=n;this.bufferLength=bufferLength;this.buffer=buffer&(1<<bufferLength)-1;return buffer>>bufferLength;},align:function MeshStreamReader_align(){this.buffer=0;this.bufferLength=0;},readFlag:function MeshStreamReader_readFlag(){return this.readBits(this.context.bitsPerFlag);},readCoordinate:function MeshStreamReader_readCoordinate(){var bitsPerCoordinate=this.context.bitsPerCoordinate;var xi=this.readBits(bitsPerCoordinate);var yi=this.readBits(bitsPerCoordinate);var decode=this.context.decode;var scale=bitsPerCoordinate<32?1/((1<<bitsPerCoordinate)-1):2.3283064365386963e-10;return[xi*scale*(decode[1]-decode[0])+decode[0],yi*scale*(decode[3]-decode[2])+decode[2]];},readComponents:function MeshStreamReader_readComponents(){var numComps=this.context.numComps;var bitsPerComponent=this.context.bitsPerComponent;var scale=bitsPerComponent<32?1/((1<<bitsPerComponent)-1):2.3283064365386963e-10;var decode=this.context.decode;var components=this.tmpCompsBuf;for(var i=0,j=4;i<numComps;i++,j+=2){var ci=this.readBits(bitsPerComponent);components[i]=ci*scale*(decode[j+1]-decode[j])+decode[j];}var color=this.tmpCsCompsBuf;if(this.context.colorFn){this.context.colorFn(components,0,color,0);}return this.context.colorSpace.getRgb(color,0);}};function decodeType4Shading(mesh,reader){var coords=mesh.coords;var colors=mesh.colors;var operators=[];var ps=[];var verticesLeft=0;while(reader.hasData){var f=reader.readFlag();var coord=reader.readCoordinate();var color=reader.readComponents();if(verticesLeft===0){if(!(0<=f&&f<=2)){throw new _util.FormatError(\"Unknown type4 flag\");}switch(f){case 0:verticesLeft=3;break;case 1:ps.push(ps[ps.length-2],ps[ps.length-1]);verticesLeft=1;break;case 2:ps.push(ps[ps.length-3],ps[ps.length-1]);verticesLeft=1;break;}operators.push(f);}ps.push(coords.length);coords.push(coord);colors.push(color);verticesLeft--;reader.align();}mesh.figures.push({type:\"triangles\",coords:new Int32Array(ps),colors:new Int32Array(ps)});}function decodeType5Shading(mesh,reader,verticesPerRow){var coords=mesh.coords;var colors=mesh.colors;var ps=[];while(reader.hasData){var coord=reader.readCoordinate();var color=reader.readComponents();ps.push(coords.length);coords.push(coord);colors.push(color);}mesh.figures.push({type:\"lattice\",coords:new Int32Array(ps),colors:new Int32Array(ps),verticesPerRow:verticesPerRow});}var MIN_SPLIT_PATCH_CHUNKS_AMOUNT=3;var MAX_SPLIT_PATCH_CHUNKS_AMOUNT=20;var TRIANGLE_DENSITY=20;var getB=function getBClosure(){function buildB(count){var lut=[];for(var i=0;i<=count;i++){var t=i/count,t_=1-t;lut.push(new Float32Array([t_*t_*t_,3*t*t_*t_,3*t*t*t_,t*t*t]));}return lut;}var cache=[];return function getB(count){if(!cache[count]){cache[count]=buildB(count);}return cache[count];};}();function buildFigureFromPatch(mesh,index){var figure=mesh.figures[index];(0,_util.assert)(figure.type===\"patch\",\"Unexpected patch mesh figure\");var coords=mesh.coords,colors=mesh.colors;var pi=figure.coords;var ci=figure.colors;var figureMinX=Math.min(coords[pi[0]][0],coords[pi[3]][0],coords[pi[12]][0],coords[pi[15]][0]);var figureMinY=Math.min(coords[pi[0]][1],coords[pi[3]][1],coords[pi[12]][1],coords[pi[15]][1]);var figureMaxX=Math.max(coords[pi[0]][0],coords[pi[3]][0],coords[pi[12]][0],coords[pi[15]][0]);var figureMaxY=Math.max(coords[pi[0]][1],coords[pi[3]][1],coords[pi[12]][1],coords[pi[15]][1]);var splitXBy=Math.ceil((figureMaxX-figureMinX)*TRIANGLE_DENSITY/(mesh.bounds[2]-mesh.bounds[0]));splitXBy=Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT,splitXBy));var splitYBy=Math.ceil((figureMaxY-figureMinY)*TRIANGLE_DENSITY/(mesh.bounds[3]-mesh.bounds[1]));splitYBy=Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT,Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT,splitYBy));var verticesPerRow=splitXBy+1;var figureCoords=new Int32Array((splitYBy+1)*verticesPerRow);var figureColors=new Int32Array((splitYBy+1)*verticesPerRow);var k=0;var cl=new Uint8Array(3),cr=new Uint8Array(3);var c0=colors[ci[0]],c1=colors[ci[1]],c2=colors[ci[2]],c3=colors[ci[3]];var bRow=getB(splitYBy),bCol=getB(splitXBy);for(var row=0;row<=splitYBy;row++){cl[0]=(c0[0]*(splitYBy-row)+c2[0]*row)/splitYBy|0;cl[1]=(c0[1]*(splitYBy-row)+c2[1]*row)/splitYBy|0;cl[2]=(c0[2]*(splitYBy-row)+c2[2]*row)/splitYBy|0;cr[0]=(c1[0]*(splitYBy-row)+c3[0]*row)/splitYBy|0;cr[1]=(c1[1]*(splitYBy-row)+c3[1]*row)/splitYBy|0;cr[2]=(c1[2]*(splitYBy-row)+c3[2]*row)/splitYBy|0;for(var col=0;col<=splitXBy;col++,k++){if((row===0||row===splitYBy)&&(col===0||col===splitXBy)){continue;}var x=0,y=0;var q=0;for(var i=0;i<=3;i++){for(var j=0;j<=3;j++,q++){var m=bRow[row][i]*bCol[col][j];x+=coords[pi[q]][0]*m;y+=coords[pi[q]][1]*m;}}figureCoords[k]=coords.length;coords.push([x,y]);figureColors[k]=colors.length;var newColor=new Uint8Array(3);newColor[0]=(cl[0]*(splitXBy-col)+cr[0]*col)/splitXBy|0;newColor[1]=(cl[1]*(splitXBy-col)+cr[1]*col)/splitXBy|0;newColor[2]=(cl[2]*(splitXBy-col)+cr[2]*col)/splitXBy|0;colors.push(newColor);}}figureCoords[0]=pi[0];figureColors[0]=ci[0];figureCoords[splitXBy]=pi[3];figureColors[splitXBy]=ci[1];figureCoords[verticesPerRow*splitYBy]=pi[12];figureColors[verticesPerRow*splitYBy]=ci[2];figureCoords[verticesPerRow*splitYBy+splitXBy]=pi[15];figureColors[verticesPerRow*splitYBy+splitXBy]=ci[3];mesh.figures[index]={type:\"lattice\",coords:figureCoords,colors:figureColors,verticesPerRow:verticesPerRow};}function decodeType6Shading(mesh,reader){var coords=mesh.coords;var colors=mesh.colors;var ps=new Int32Array(16);var cs=new Int32Array(4);while(reader.hasData){var f=reader.readFlag();if(!(0<=f&&f<=3)){throw new _util.FormatError(\"Unknown type6 flag\");}var i,ii;var pi=coords.length;for(i=0,ii=f!==0?8:12;i<ii;i++){coords.push(reader.readCoordinate());}var ci=colors.length;for(i=0,ii=f!==0?2:4;i<ii;i++){colors.push(reader.readComponents());}var tmp1,tmp2,tmp3,tmp4;switch(f){case 0:ps[12]=pi+3;ps[13]=pi+4;ps[14]=pi+5;ps[15]=pi+6;ps[8]=pi+2;ps[11]=pi+7;ps[4]=pi+1;ps[7]=pi+8;ps[0]=pi;ps[1]=pi+11;ps[2]=pi+10;ps[3]=pi+9;cs[2]=ci+1;cs[3]=ci+2;cs[0]=ci;cs[1]=ci+3;break;case 1:tmp1=ps[12];tmp2=ps[13];tmp3=ps[14];tmp4=ps[15];ps[12]=tmp4;ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=tmp3;ps[11]=pi+3;ps[4]=tmp2;ps[7]=pi+4;ps[0]=tmp1;ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;tmp1=cs[2];tmp2=cs[3];cs[2]=tmp2;cs[3]=ci;cs[0]=tmp1;cs[1]=ci+1;break;case 2:tmp1=ps[15];tmp2=ps[11];ps[12]=ps[3];ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=ps[7];ps[11]=pi+3;ps[4]=tmp2;ps[7]=pi+4;ps[0]=tmp1;ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;tmp1=cs[3];cs[2]=cs[1];cs[3]=ci;cs[0]=tmp1;cs[1]=ci+1;break;case 3:ps[12]=ps[0];ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=ps[1];ps[11]=pi+3;ps[4]=ps[2];ps[7]=pi+4;ps[0]=ps[3];ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;cs[2]=cs[0];cs[3]=ci;cs[0]=cs[1];cs[1]=ci+1;break;}ps[5]=coords.length;coords.push([(-4*coords[ps[0]][0]-coords[ps[15]][0]+6*(coords[ps[4]][0]+coords[ps[1]][0])-2*(coords[ps[12]][0]+coords[ps[3]][0])+3*(coords[ps[13]][0]+coords[ps[7]][0]))/9,(-4*coords[ps[0]][1]-coords[ps[15]][1]+6*(coords[ps[4]][1]+coords[ps[1]][1])-2*(coords[ps[12]][1]+coords[ps[3]][1])+3*(coords[ps[13]][1]+coords[ps[7]][1]))/9]);ps[6]=coords.length;coords.push([(-4*coords[ps[3]][0]-coords[ps[12]][0]+6*(coords[ps[2]][0]+coords[ps[7]][0])-2*(coords[ps[0]][0]+coords[ps[15]][0])+3*(coords[ps[4]][0]+coords[ps[14]][0]))/9,(-4*coords[ps[3]][1]-coords[ps[12]][1]+6*(coords[ps[2]][1]+coords[ps[7]][1])-2*(coords[ps[0]][1]+coords[ps[15]][1])+3*(coords[ps[4]][1]+coords[ps[14]][1]))/9]);ps[9]=coords.length;coords.push([(-4*coords[ps[12]][0]-coords[ps[3]][0]+6*(coords[ps[8]][0]+coords[ps[13]][0])-2*(coords[ps[0]][0]+coords[ps[15]][0])+3*(coords[ps[11]][0]+coords[ps[1]][0]))/9,(-4*coords[ps[12]][1]-coords[ps[3]][1]+6*(coords[ps[8]][1]+coords[ps[13]][1])-2*(coords[ps[0]][1]+coords[ps[15]][1])+3*(coords[ps[11]][1]+coords[ps[1]][1]))/9]);ps[10]=coords.length;coords.push([(-4*coords[ps[15]][0]-coords[ps[0]][0]+6*(coords[ps[11]][0]+coords[ps[14]][0])-2*(coords[ps[12]][0]+coords[ps[3]][0])+3*(coords[ps[2]][0]+coords[ps[8]][0]))/9,(-4*coords[ps[15]][1]-coords[ps[0]][1]+6*(coords[ps[11]][1]+coords[ps[14]][1])-2*(coords[ps[12]][1]+coords[ps[3]][1])+3*(coords[ps[2]][1]+coords[ps[8]][1]))/9]);mesh.figures.push({type:\"patch\",coords:new Int32Array(ps),colors:new Int32Array(cs)});}}function decodeType7Shading(mesh,reader){var coords=mesh.coords;var colors=mesh.colors;var ps=new Int32Array(16);var cs=new Int32Array(4);while(reader.hasData){var f=reader.readFlag();if(!(0<=f&&f<=3)){throw new _util.FormatError(\"Unknown type7 flag\");}var i,ii;var pi=coords.length;for(i=0,ii=f!==0?12:16;i<ii;i++){coords.push(reader.readCoordinate());}var ci=colors.length;for(i=0,ii=f!==0?2:4;i<ii;i++){colors.push(reader.readComponents());}var tmp1,tmp2,tmp3,tmp4;switch(f){case 0:ps[12]=pi+3;ps[13]=pi+4;ps[14]=pi+5;ps[15]=pi+6;ps[8]=pi+2;ps[9]=pi+13;ps[10]=pi+14;ps[11]=pi+7;ps[4]=pi+1;ps[5]=pi+12;ps[6]=pi+15;ps[7]=pi+8;ps[0]=pi;ps[1]=pi+11;ps[2]=pi+10;ps[3]=pi+9;cs[2]=ci+1;cs[3]=ci+2;cs[0]=ci;cs[1]=ci+3;break;case 1:tmp1=ps[12];tmp2=ps[13];tmp3=ps[14];tmp4=ps[15];ps[12]=tmp4;ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=tmp3;ps[9]=pi+9;ps[10]=pi+10;ps[11]=pi+3;ps[4]=tmp2;ps[5]=pi+8;ps[6]=pi+11;ps[7]=pi+4;ps[0]=tmp1;ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;tmp1=cs[2];tmp2=cs[3];cs[2]=tmp2;cs[3]=ci;cs[0]=tmp1;cs[1]=ci+1;break;case 2:tmp1=ps[15];tmp2=ps[11];ps[12]=ps[3];ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=ps[7];ps[9]=pi+9;ps[10]=pi+10;ps[11]=pi+3;ps[4]=tmp2;ps[5]=pi+8;ps[6]=pi+11;ps[7]=pi+4;ps[0]=tmp1;ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;tmp1=cs[3];cs[2]=cs[1];cs[3]=ci;cs[0]=tmp1;cs[1]=ci+1;break;case 3:ps[12]=ps[0];ps[13]=pi+0;ps[14]=pi+1;ps[15]=pi+2;ps[8]=ps[1];ps[9]=pi+9;ps[10]=pi+10;ps[11]=pi+3;ps[4]=ps[2];ps[5]=pi+8;ps[6]=pi+11;ps[7]=pi+4;ps[0]=ps[3];ps[1]=pi+7;ps[2]=pi+6;ps[3]=pi+5;cs[2]=cs[0];cs[3]=ci;cs[0]=cs[1];cs[1]=ci+1;break;}mesh.figures.push({type:\"patch\",coords:new Int32Array(ps),colors:new Int32Array(cs)});}}function updateBounds(mesh){var minX=mesh.coords[0][0],minY=mesh.coords[0][1],maxX=minX,maxY=minY;for(var i=1,ii=mesh.coords.length;i<ii;i++){var x=mesh.coords[i][0],y=mesh.coords[i][1];minX=minX>x?x:minX;minY=minY>y?y:minY;maxX=maxX<x?x:maxX;maxY=maxY<y?y:maxY;}mesh.bounds=[minX,minY,maxX,maxY];}function packData(mesh){var i,ii,j,jj;var coords=mesh.coords;var coordsPacked=new Float32Array(coords.length*2);for(i=0,j=0,ii=coords.length;i<ii;i++){var xy=coords[i];coordsPacked[j++]=xy[0];coordsPacked[j++]=xy[1];}mesh.coords=coordsPacked;var colors=mesh.colors;var colorsPacked=new Uint8Array(colors.length*3);for(i=0,j=0,ii=colors.length;i<ii;i++){var c=colors[i];colorsPacked[j++]=c[0];colorsPacked[j++]=c[1];colorsPacked[j++]=c[2];}mesh.colors=colorsPacked;var figures=mesh.figures;for(i=0,ii=figures.length;i<ii;i++){var figure=figures[i],ps=figure.coords,cs=figure.colors;for(j=0,jj=ps.length;j<jj;j++){ps[j]*=2;cs[j]*=3;}}}function Mesh(stream,matrix,xref,res,pdfFunctionFactory){if(!(0,_primitives.isStream)(stream)){throw new _util.FormatError(\"Mesh data is not a stream\");}var dict=stream.dict;this.matrix=matrix;this.shadingType=dict.get(\"ShadingType\");this.type=\"Pattern\";var bbox=dict.getArray(\"BBox\");if(Array.isArray(bbox)&&bbox.length===4){this.bbox=_util.Util.normalizeRect(bbox);}else{this.bbox=null;}var cs=dict.get(\"ColorSpace\",\"CS\");cs=_colorspace.ColorSpace.parse(cs,xref,res,pdfFunctionFactory);this.cs=cs;this.background=dict.has(\"Background\")?cs.getRgb(dict.get(\"Background\"),0):null;var fnObj=dict.get(\"Function\");var fn=fnObj?pdfFunctionFactory.createFromArray(fnObj):null;this.coords=[];this.colors=[];this.figures=[];var decodeContext={bitsPerCoordinate:dict.get(\"BitsPerCoordinate\"),bitsPerComponent:dict.get(\"BitsPerComponent\"),bitsPerFlag:dict.get(\"BitsPerFlag\"),decode:dict.getArray(\"Decode\"),colorFn:fn,colorSpace:cs,numComps:fn?1:cs.numComps};var reader=new MeshStreamReader(stream,decodeContext);var patchMesh=false;switch(this.shadingType){case ShadingType.FREE_FORM_MESH:decodeType4Shading(this,reader);break;case ShadingType.LATTICE_FORM_MESH:var verticesPerRow=dict.get(\"VerticesPerRow\")|0;if(verticesPerRow<2){throw new _util.FormatError(\"Invalid VerticesPerRow\");}decodeType5Shading(this,reader,verticesPerRow);break;case ShadingType.COONS_PATCH_MESH:decodeType6Shading(this,reader);patchMesh=true;break;case ShadingType.TENSOR_PATCH_MESH:decodeType7Shading(this,reader);patchMesh=true;break;default:(0,_util.unreachable)(\"Unsupported mesh type.\");break;}if(patchMesh){updateBounds(this);for(var i=0,ii=this.figures.length;i<ii;i++){buildFigureFromPatch(this,i);}}updateBounds(this);packData(this);}Mesh.prototype={getIR:function Mesh_getIR(){return[\"Mesh\",this.shadingType,this.coords,this.colors,this.figures,this.bounds,this.matrix,this.bbox,this.background];}};return Mesh;}();Shadings.Dummy=function DummyClosure(){function Dummy(){this.type=\"Pattern\";}Dummy.prototype={getIR:function Dummy_getIR(){return[\"Dummy\"];}};return Dummy;}();function getTilingPatternIR(operatorList,dict,args){var matrix=dict.getArray(\"Matrix\");var bbox=_util.Util.normalizeRect(dict.getArray(\"BBox\"));var xstep=dict.get(\"XStep\");var ystep=dict.get(\"YStep\");var paintType=dict.get(\"PaintType\");var tilingType=dict.get(\"TilingType\");if(bbox[2]-bbox[0]===0||bbox[3]-bbox[1]===0){throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox,\"].\"));}return[\"TilingPattern\",args,operatorList,matrix,bbox,xstep,ystep,paintType,tilingType];}/***/},/* 37 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.bidi=bidi;var _util=__w_pdfjs_require__(2);var baseTypes=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"ON\",\"ON\",\"ET\",\"ET\",\"ET\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"ON\",\"ON\",\"ON\",\"ON\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"ON\",\"ET\",\"ET\",\"ET\",\"ET\",\"ON\",\"ON\",\"ON\",\"ON\",\"L\",\"ON\",\"ON\",\"BN\",\"ON\",\"ON\",\"ET\",\"ET\",\"EN\",\"EN\",\"ON\",\"L\",\"ON\",\"ON\",\"ON\",\"EN\",\"L\",\"ON\",\"ON\",\"ON\",\"ON\",\"ON\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"ON\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"ON\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\"];var arabicTypes=[\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ON\",\"ON\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"ON\",\"ON\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"ON\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"ON\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\"];function isOdd(i){return(i&1)!==0;}function isEven(i){return(i&1)===0;}function findUnequal(arr,start,value){for(var j=start,jj=arr.length;j<jj;++j){if(arr[j]!==value){return j;}}return j;}function setValues(arr,start,end,value){for(var j=start;j<end;++j){arr[j]=value;}}function reverseValues(arr,start,end){for(var i=start,j=end-1;i<j;++i,--j){var temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}function createBidiText(str,isLTR){var vertical=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var dir=\"ltr\";if(vertical){dir=\"ttb\";}else if(!isLTR){dir=\"rtl\";}return{str:str,dir:dir};}var chars=[];var types=[];function bidi(str,startLevel,vertical){var isLTR=true;var strLength=str.length;if(strLength===0||vertical){return createBidiText(str,isLTR,vertical);}chars.length=strLength;types.length=strLength;var numBidi=0;var i,ii;for(i=0;i<strLength;++i){chars[i]=str.charAt(i);var charCode=str.charCodeAt(i);var charType=\"L\";if(charCode<=0x00ff){charType=baseTypes[charCode];}else if(0x0590<=charCode&&charCode<=0x05f4){charType=\"R\";}else if(0x0600<=charCode&&charCode<=0x06ff){charType=arabicTypes[charCode&0xff];if(!charType){(0,_util.warn)(\"Bidi: invalid Unicode character \"+charCode.toString(16));}}else if(0x0700<=charCode&&charCode<=0x08ac){charType=\"AL\";}if(charType===\"R\"||charType===\"AL\"||charType===\"AN\"){numBidi++;}types[i]=charType;}if(numBidi===0){isLTR=true;return createBidiText(str,isLTR);}if(startLevel===-1){if(numBidi/strLength<0.3){isLTR=true;startLevel=0;}else{isLTR=false;startLevel=1;}}var levels=[];for(i=0;i<strLength;++i){levels[i]=startLevel;}var e=isOdd(startLevel)?\"R\":\"L\";var sor=e;var eor=sor;var lastType=sor;for(i=0;i<strLength;++i){if(types[i]===\"NSM\"){types[i]=lastType;}else{lastType=types[i];}}lastType=sor;var t;for(i=0;i<strLength;++i){t=types[i];if(t===\"EN\"){types[i]=lastType===\"AL\"?\"AN\":\"EN\";}else if(t===\"R\"||t===\"L\"||t===\"AL\"){lastType=t;}}for(i=0;i<strLength;++i){t=types[i];if(t===\"AL\"){types[i]=\"R\";}}for(i=1;i<strLength-1;++i){if(types[i]===\"ES\"&&types[i-1]===\"EN\"&&types[i+1]===\"EN\"){types[i]=\"EN\";}if(types[i]===\"CS\"&&(types[i-1]===\"EN\"||types[i-1]===\"AN\")&&types[i+1]===types[i-1]){types[i]=types[i-1];}}for(i=0;i<strLength;++i){if(types[i]===\"EN\"){var j;for(j=i-1;j>=0;--j){if(types[j]!==\"ET\"){break;}types[j]=\"EN\";}for(j=i+1;j<strLength;++j){if(types[j]!==\"ET\"){break;}types[j]=\"EN\";}}}for(i=0;i<strLength;++i){t=types[i];if(t===\"WS\"||t===\"ES\"||t===\"ET\"||t===\"CS\"){types[i]=\"ON\";}}lastType=sor;for(i=0;i<strLength;++i){t=types[i];if(t===\"EN\"){types[i]=lastType===\"L\"?\"L\":\"EN\";}else if(t===\"R\"||t===\"L\"){lastType=t;}}for(i=0;i<strLength;++i){if(types[i]===\"ON\"){var end=findUnequal(types,i+1,\"ON\");var before=sor;if(i>0){before=types[i-1];}var after=eor;if(end+1<strLength){after=types[end+1];}if(before!==\"L\"){before=\"R\";}if(after!==\"L\"){after=\"R\";}if(before===after){setValues(types,i,end,before);}i=end-1;}}for(i=0;i<strLength;++i){if(types[i]===\"ON\"){types[i]=e;}}for(i=0;i<strLength;++i){t=types[i];if(isEven(levels[i])){if(t===\"R\"){levels[i]+=1;}else if(t===\"AN\"||t===\"EN\"){levels[i]+=2;}}else{if(t===\"L\"||t===\"AN\"||t===\"EN\"){levels[i]+=1;}}}var highestLevel=-1;var lowestOddLevel=99;var level;for(i=0,ii=levels.length;i<ii;++i){level=levels[i];if(highestLevel<level){highestLevel=level;}if(lowestOddLevel>level&&isOdd(level)){lowestOddLevel=level;}}for(level=highestLevel;level>=lowestOddLevel;--level){var start=-1;for(i=0,ii=levels.length;i<ii;++i){if(levels[i]<level){if(start>=0){reverseValues(chars,start,i);start=-1;}}else if(start<0){start=i;}}if(start>=0){reverseValues(chars,start,levels.length);}}for(i=0,ii=chars.length;i<ii;++i){var ch=chars[i];if(ch===\"<\"||ch===\">\"){chars[i]=\"\";}}return createBidiText(chars.join(\"\"),isLTR);}/***/},/* 38 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getMetrics=void 0;var _core_utils=__w_pdfjs_require__(7);var getMetrics=(0,_core_utils.getLookupTableFactory)(function(t){t[\"Courier\"]=600;t[\"Courier-Bold\"]=600;t[\"Courier-BoldOblique\"]=600;t[\"Courier-Oblique\"]=600;t[\"Helvetica\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=278;t[\"exclam\"]=278;t[\"quotedbl\"]=355;t[\"numbersign\"]=556;t[\"dollar\"]=556;t[\"percent\"]=889;t[\"ampersand\"]=667;t[\"quoteright\"]=222;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=389;t[\"plus\"]=584;t[\"comma\"]=278;t[\"hyphen\"]=333;t[\"period\"]=278;t[\"slash\"]=278;t[\"zero\"]=556;t[\"one\"]=556;t[\"two\"]=556;t[\"three\"]=556;t[\"four\"]=556;t[\"five\"]=556;t[\"six\"]=556;t[\"seven\"]=556;t[\"eight\"]=556;t[\"nine\"]=556;t[\"colon\"]=278;t[\"semicolon\"]=278;t[\"less\"]=584;t[\"equal\"]=584;t[\"greater\"]=584;t[\"question\"]=556;t[\"at\"]=1015;t[\"A\"]=667;t[\"B\"]=667;t[\"C\"]=722;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=611;t[\"G\"]=778;t[\"H\"]=722;t[\"I\"]=278;t[\"J\"]=500;t[\"K\"]=667;t[\"L\"]=556;t[\"M\"]=833;t[\"N\"]=722;t[\"O\"]=778;t[\"P\"]=667;t[\"Q\"]=778;t[\"R\"]=722;t[\"S\"]=667;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=667;t[\"W\"]=944;t[\"X\"]=667;t[\"Y\"]=667;t[\"Z\"]=611;t[\"bracketleft\"]=278;t[\"backslash\"]=278;t[\"bracketright\"]=278;t[\"asciicircum\"]=469;t[\"underscore\"]=556;t[\"quoteleft\"]=222;t[\"a\"]=556;t[\"b\"]=556;t[\"c\"]=500;t[\"d\"]=556;t[\"e\"]=556;t[\"f\"]=278;t[\"g\"]=556;t[\"h\"]=556;t[\"i\"]=222;t[\"j\"]=222;t[\"k\"]=500;t[\"l\"]=222;t[\"m\"]=833;t[\"n\"]=556;t[\"o\"]=556;t[\"p\"]=556;t[\"q\"]=556;t[\"r\"]=333;t[\"s\"]=500;t[\"t\"]=278;t[\"u\"]=556;t[\"v\"]=500;t[\"w\"]=722;t[\"x\"]=500;t[\"y\"]=500;t[\"z\"]=500;t[\"braceleft\"]=334;t[\"bar\"]=260;t[\"braceright\"]=334;t[\"asciitilde\"]=584;t[\"exclamdown\"]=333;t[\"cent\"]=556;t[\"sterling\"]=556;t[\"fraction\"]=167;t[\"yen\"]=556;t[\"florin\"]=556;t[\"section\"]=556;t[\"currency\"]=556;t[\"quotesingle\"]=191;t[\"quotedblleft\"]=333;t[\"guillemotleft\"]=556;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=500;t[\"fl\"]=500;t[\"endash\"]=556;t[\"dagger\"]=556;t[\"daggerdbl\"]=556;t[\"periodcentered\"]=278;t[\"paragraph\"]=537;t[\"bullet\"]=350;t[\"quotesinglbase\"]=222;t[\"quotedblbase\"]=333;t[\"quotedblright\"]=333;t[\"guillemotright\"]=556;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=611;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=1000;t[\"ordfeminine\"]=370;t[\"Lslash\"]=556;t[\"Oslash\"]=778;t[\"OE\"]=1000;t[\"ordmasculine\"]=365;t[\"ae\"]=889;t[\"dotlessi\"]=278;t[\"lslash\"]=222;t[\"oslash\"]=611;t[\"oe\"]=944;t[\"germandbls\"]=611;t[\"Idieresis\"]=278;t[\"eacute\"]=556;t[\"abreve\"]=556;t[\"uhungarumlaut\"]=556;t[\"ecaron\"]=556;t[\"Ydieresis\"]=667;t[\"divide\"]=584;t[\"Yacute\"]=667;t[\"Acircumflex\"]=667;t[\"aacute\"]=556;t[\"Ucircumflex\"]=722;t[\"yacute\"]=500;t[\"scommaaccent\"]=500;t[\"ecircumflex\"]=556;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=556;t[\"Uacute\"]=722;t[\"uogonek\"]=556;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=737;t[\"Emacron\"]=667;t[\"ccaron\"]=500;t[\"aring\"]=556;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=222;t[\"agrave\"]=556;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=722;t[\"atilde\"]=556;t[\"Edotaccent\"]=667;t[\"scaron\"]=500;t[\"scedilla\"]=500;t[\"iacute\"]=278;t[\"lozenge\"]=471;t[\"Rcaron\"]=722;t[\"Gcommaaccent\"]=778;t[\"ucircumflex\"]=556;t[\"acircumflex\"]=556;t[\"Amacron\"]=667;t[\"rcaron\"]=333;t[\"ccedilla\"]=500;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=667;t[\"Omacron\"]=778;t[\"Racute\"]=722;t[\"Sacute\"]=667;t[\"dcaron\"]=643;t[\"Umacron\"]=722;t[\"uring\"]=556;t[\"threesuperior\"]=333;t[\"Ograve\"]=778;t[\"Agrave\"]=667;t[\"Abreve\"]=667;t[\"multiply\"]=584;t[\"uacute\"]=556;t[\"Tcaron\"]=611;t[\"partialdiff\"]=476;t[\"ydieresis\"]=500;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=556;t[\"edieresis\"]=556;t[\"cacute\"]=500;t[\"nacute\"]=556;t[\"umacron\"]=556;t[\"Ncaron\"]=722;t[\"Iacute\"]=278;t[\"plusminus\"]=584;t[\"brokenbar\"]=260;t[\"registered\"]=737;t[\"Gbreve\"]=778;t[\"Idotaccent\"]=278;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=333;t[\"omacron\"]=556;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=722;t[\"lcommaaccent\"]=222;t[\"tcaron\"]=317;t[\"eogonek\"]=556;t[\"Uogonek\"]=722;t[\"Aacute\"]=667;t[\"Adieresis\"]=667;t[\"egrave\"]=556;t[\"zacute\"]=500;t[\"iogonek\"]=222;t[\"Oacute\"]=778;t[\"oacute\"]=556;t[\"amacron\"]=556;t[\"sacute\"]=500;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=778;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=556;t[\"twosuperior\"]=333;t[\"Odieresis\"]=778;t[\"mu\"]=556;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=556;t[\"Eogonek\"]=667;t[\"dcroat\"]=556;t[\"threequarters\"]=834;t[\"Scedilla\"]=667;t[\"lcaron\"]=299;t[\"Kcommaaccent\"]=667;t[\"Lacute\"]=556;t[\"trademark\"]=1000;t[\"edotaccent\"]=556;t[\"Igrave\"]=278;t[\"Imacron\"]=278;t[\"Lcaron\"]=556;t[\"onehalf\"]=834;t[\"lessequal\"]=549;t[\"ocircumflex\"]=556;t[\"ntilde\"]=556;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=556;t[\"gbreve\"]=556;t[\"onequarter\"]=834;t[\"Scaron\"]=667;t[\"Scommaaccent\"]=667;t[\"Ohungarumlaut\"]=778;t[\"degree\"]=400;t[\"ograve\"]=556;t[\"Ccaron\"]=722;t[\"ugrave\"]=556;t[\"radical\"]=453;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=333;t[\"Ntilde\"]=722;t[\"otilde\"]=556;t[\"Rcommaaccent\"]=722;t[\"Lcommaaccent\"]=556;t[\"Atilde\"]=667;t[\"Aogonek\"]=667;t[\"Aring\"]=667;t[\"Otilde\"]=778;t[\"zdotaccent\"]=500;t[\"Ecaron\"]=667;t[\"Iogonek\"]=278;t[\"kcommaaccent\"]=500;t[\"minus\"]=584;t[\"Icircumflex\"]=278;t[\"ncaron\"]=556;t[\"tcommaaccent\"]=278;t[\"logicalnot\"]=584;t[\"odieresis\"]=556;t[\"udieresis\"]=556;t[\"notequal\"]=549;t[\"gcommaaccent\"]=556;t[\"eth\"]=556;t[\"zcaron\"]=500;t[\"ncommaaccent\"]=556;t[\"onesuperior\"]=333;t[\"imacron\"]=278;t[\"Euro\"]=556;});t[\"Helvetica-Bold\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=278;t[\"exclam\"]=333;t[\"quotedbl\"]=474;t[\"numbersign\"]=556;t[\"dollar\"]=556;t[\"percent\"]=889;t[\"ampersand\"]=722;t[\"quoteright\"]=278;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=389;t[\"plus\"]=584;t[\"comma\"]=278;t[\"hyphen\"]=333;t[\"period\"]=278;t[\"slash\"]=278;t[\"zero\"]=556;t[\"one\"]=556;t[\"two\"]=556;t[\"three\"]=556;t[\"four\"]=556;t[\"five\"]=556;t[\"six\"]=556;t[\"seven\"]=556;t[\"eight\"]=556;t[\"nine\"]=556;t[\"colon\"]=333;t[\"semicolon\"]=333;t[\"less\"]=584;t[\"equal\"]=584;t[\"greater\"]=584;t[\"question\"]=611;t[\"at\"]=975;t[\"A\"]=722;t[\"B\"]=722;t[\"C\"]=722;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=611;t[\"G\"]=778;t[\"H\"]=722;t[\"I\"]=278;t[\"J\"]=556;t[\"K\"]=722;t[\"L\"]=611;t[\"M\"]=833;t[\"N\"]=722;t[\"O\"]=778;t[\"P\"]=667;t[\"Q\"]=778;t[\"R\"]=722;t[\"S\"]=667;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=667;t[\"W\"]=944;t[\"X\"]=667;t[\"Y\"]=667;t[\"Z\"]=611;t[\"bracketleft\"]=333;t[\"backslash\"]=278;t[\"bracketright\"]=333;t[\"asciicircum\"]=584;t[\"underscore\"]=556;t[\"quoteleft\"]=278;t[\"a\"]=556;t[\"b\"]=611;t[\"c\"]=556;t[\"d\"]=611;t[\"e\"]=556;t[\"f\"]=333;t[\"g\"]=611;t[\"h\"]=611;t[\"i\"]=278;t[\"j\"]=278;t[\"k\"]=556;t[\"l\"]=278;t[\"m\"]=889;t[\"n\"]=611;t[\"o\"]=611;t[\"p\"]=611;t[\"q\"]=611;t[\"r\"]=389;t[\"s\"]=556;t[\"t\"]=333;t[\"u\"]=611;t[\"v\"]=556;t[\"w\"]=778;t[\"x\"]=556;t[\"y\"]=556;t[\"z\"]=500;t[\"braceleft\"]=389;t[\"bar\"]=280;t[\"braceright\"]=389;t[\"asciitilde\"]=584;t[\"exclamdown\"]=333;t[\"cent\"]=556;t[\"sterling\"]=556;t[\"fraction\"]=167;t[\"yen\"]=556;t[\"florin\"]=556;t[\"section\"]=556;t[\"currency\"]=556;t[\"quotesingle\"]=238;t[\"quotedblleft\"]=500;t[\"guillemotleft\"]=556;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=611;t[\"fl\"]=611;t[\"endash\"]=556;t[\"dagger\"]=556;t[\"daggerdbl\"]=556;t[\"periodcentered\"]=278;t[\"paragraph\"]=556;t[\"bullet\"]=350;t[\"quotesinglbase\"]=278;t[\"quotedblbase\"]=500;t[\"quotedblright\"]=500;t[\"guillemotright\"]=556;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=611;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=1000;t[\"ordfeminine\"]=370;t[\"Lslash\"]=611;t[\"Oslash\"]=778;t[\"OE\"]=1000;t[\"ordmasculine\"]=365;t[\"ae\"]=889;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=611;t[\"oe\"]=944;t[\"germandbls\"]=611;t[\"Idieresis\"]=278;t[\"eacute\"]=556;t[\"abreve\"]=556;t[\"uhungarumlaut\"]=611;t[\"ecaron\"]=556;t[\"Ydieresis\"]=667;t[\"divide\"]=584;t[\"Yacute\"]=667;t[\"Acircumflex\"]=722;t[\"aacute\"]=556;t[\"Ucircumflex\"]=722;t[\"yacute\"]=556;t[\"scommaaccent\"]=556;t[\"ecircumflex\"]=556;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=556;t[\"Uacute\"]=722;t[\"uogonek\"]=611;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=737;t[\"Emacron\"]=667;t[\"ccaron\"]=556;t[\"aring\"]=556;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=278;t[\"agrave\"]=556;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=722;t[\"atilde\"]=556;t[\"Edotaccent\"]=667;t[\"scaron\"]=556;t[\"scedilla\"]=556;t[\"iacute\"]=278;t[\"lozenge\"]=494;t[\"Rcaron\"]=722;t[\"Gcommaaccent\"]=778;t[\"ucircumflex\"]=611;t[\"acircumflex\"]=556;t[\"Amacron\"]=722;t[\"rcaron\"]=389;t[\"ccedilla\"]=556;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=667;t[\"Omacron\"]=778;t[\"Racute\"]=722;t[\"Sacute\"]=667;t[\"dcaron\"]=743;t[\"Umacron\"]=722;t[\"uring\"]=611;t[\"threesuperior\"]=333;t[\"Ograve\"]=778;t[\"Agrave\"]=722;t[\"Abreve\"]=722;t[\"multiply\"]=584;t[\"uacute\"]=611;t[\"Tcaron\"]=611;t[\"partialdiff\"]=494;t[\"ydieresis\"]=556;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=556;t[\"edieresis\"]=556;t[\"cacute\"]=556;t[\"nacute\"]=611;t[\"umacron\"]=611;t[\"Ncaron\"]=722;t[\"Iacute\"]=278;t[\"plusminus\"]=584;t[\"brokenbar\"]=280;t[\"registered\"]=737;t[\"Gbreve\"]=778;t[\"Idotaccent\"]=278;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=389;t[\"omacron\"]=611;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=722;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=389;t[\"eogonek\"]=556;t[\"Uogonek\"]=722;t[\"Aacute\"]=722;t[\"Adieresis\"]=722;t[\"egrave\"]=556;t[\"zacute\"]=500;t[\"iogonek\"]=278;t[\"Oacute\"]=778;t[\"oacute\"]=611;t[\"amacron\"]=556;t[\"sacute\"]=556;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=778;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=611;t[\"twosuperior\"]=333;t[\"Odieresis\"]=778;t[\"mu\"]=611;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=611;t[\"Eogonek\"]=667;t[\"dcroat\"]=611;t[\"threequarters\"]=834;t[\"Scedilla\"]=667;t[\"lcaron\"]=400;t[\"Kcommaaccent\"]=722;t[\"Lacute\"]=611;t[\"trademark\"]=1000;t[\"edotaccent\"]=556;t[\"Igrave\"]=278;t[\"Imacron\"]=278;t[\"Lcaron\"]=611;t[\"onehalf\"]=834;t[\"lessequal\"]=549;t[\"ocircumflex\"]=611;t[\"ntilde\"]=611;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=556;t[\"gbreve\"]=611;t[\"onequarter\"]=834;t[\"Scaron\"]=667;t[\"Scommaaccent\"]=667;t[\"Ohungarumlaut\"]=778;t[\"degree\"]=400;t[\"ograve\"]=611;t[\"Ccaron\"]=722;t[\"ugrave\"]=611;t[\"radical\"]=549;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=389;t[\"Ntilde\"]=722;t[\"otilde\"]=611;t[\"Rcommaaccent\"]=722;t[\"Lcommaaccent\"]=611;t[\"Atilde\"]=722;t[\"Aogonek\"]=722;t[\"Aring\"]=722;t[\"Otilde\"]=778;t[\"zdotaccent\"]=500;t[\"Ecaron\"]=667;t[\"Iogonek\"]=278;t[\"kcommaaccent\"]=556;t[\"minus\"]=584;t[\"Icircumflex\"]=278;t[\"ncaron\"]=611;t[\"tcommaaccent\"]=333;t[\"logicalnot\"]=584;t[\"odieresis\"]=611;t[\"udieresis\"]=611;t[\"notequal\"]=549;t[\"gcommaaccent\"]=611;t[\"eth\"]=611;t[\"zcaron\"]=500;t[\"ncommaaccent\"]=611;t[\"onesuperior\"]=333;t[\"imacron\"]=278;t[\"Euro\"]=556;});t[\"Helvetica-BoldOblique\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=278;t[\"exclam\"]=333;t[\"quotedbl\"]=474;t[\"numbersign\"]=556;t[\"dollar\"]=556;t[\"percent\"]=889;t[\"ampersand\"]=722;t[\"quoteright\"]=278;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=389;t[\"plus\"]=584;t[\"comma\"]=278;t[\"hyphen\"]=333;t[\"period\"]=278;t[\"slash\"]=278;t[\"zero\"]=556;t[\"one\"]=556;t[\"two\"]=556;t[\"three\"]=556;t[\"four\"]=556;t[\"five\"]=556;t[\"six\"]=556;t[\"seven\"]=556;t[\"eight\"]=556;t[\"nine\"]=556;t[\"colon\"]=333;t[\"semicolon\"]=333;t[\"less\"]=584;t[\"equal\"]=584;t[\"greater\"]=584;t[\"question\"]=611;t[\"at\"]=975;t[\"A\"]=722;t[\"B\"]=722;t[\"C\"]=722;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=611;t[\"G\"]=778;t[\"H\"]=722;t[\"I\"]=278;t[\"J\"]=556;t[\"K\"]=722;t[\"L\"]=611;t[\"M\"]=833;t[\"N\"]=722;t[\"O\"]=778;t[\"P\"]=667;t[\"Q\"]=778;t[\"R\"]=722;t[\"S\"]=667;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=667;t[\"W\"]=944;t[\"X\"]=667;t[\"Y\"]=667;t[\"Z\"]=611;t[\"bracketleft\"]=333;t[\"backslash\"]=278;t[\"bracketright\"]=333;t[\"asciicircum\"]=584;t[\"underscore\"]=556;t[\"quoteleft\"]=278;t[\"a\"]=556;t[\"b\"]=611;t[\"c\"]=556;t[\"d\"]=611;t[\"e\"]=556;t[\"f\"]=333;t[\"g\"]=611;t[\"h\"]=611;t[\"i\"]=278;t[\"j\"]=278;t[\"k\"]=556;t[\"l\"]=278;t[\"m\"]=889;t[\"n\"]=611;t[\"o\"]=611;t[\"p\"]=611;t[\"q\"]=611;t[\"r\"]=389;t[\"s\"]=556;t[\"t\"]=333;t[\"u\"]=611;t[\"v\"]=556;t[\"w\"]=778;t[\"x\"]=556;t[\"y\"]=556;t[\"z\"]=500;t[\"braceleft\"]=389;t[\"bar\"]=280;t[\"braceright\"]=389;t[\"asciitilde\"]=584;t[\"exclamdown\"]=333;t[\"cent\"]=556;t[\"sterling\"]=556;t[\"fraction\"]=167;t[\"yen\"]=556;t[\"florin\"]=556;t[\"section\"]=556;t[\"currency\"]=556;t[\"quotesingle\"]=238;t[\"quotedblleft\"]=500;t[\"guillemotleft\"]=556;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=611;t[\"fl\"]=611;t[\"endash\"]=556;t[\"dagger\"]=556;t[\"daggerdbl\"]=556;t[\"periodcentered\"]=278;t[\"paragraph\"]=556;t[\"bullet\"]=350;t[\"quotesinglbase\"]=278;t[\"quotedblbase\"]=500;t[\"quotedblright\"]=500;t[\"guillemotright\"]=556;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=611;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=1000;t[\"ordfeminine\"]=370;t[\"Lslash\"]=611;t[\"Oslash\"]=778;t[\"OE\"]=1000;t[\"ordmasculine\"]=365;t[\"ae\"]=889;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=611;t[\"oe\"]=944;t[\"germandbls\"]=611;t[\"Idieresis\"]=278;t[\"eacute\"]=556;t[\"abreve\"]=556;t[\"uhungarumlaut\"]=611;t[\"ecaron\"]=556;t[\"Ydieresis\"]=667;t[\"divide\"]=584;t[\"Yacute\"]=667;t[\"Acircumflex\"]=722;t[\"aacute\"]=556;t[\"Ucircumflex\"]=722;t[\"yacute\"]=556;t[\"scommaaccent\"]=556;t[\"ecircumflex\"]=556;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=556;t[\"Uacute\"]=722;t[\"uogonek\"]=611;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=737;t[\"Emacron\"]=667;t[\"ccaron\"]=556;t[\"aring\"]=556;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=278;t[\"agrave\"]=556;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=722;t[\"atilde\"]=556;t[\"Edotaccent\"]=667;t[\"scaron\"]=556;t[\"scedilla\"]=556;t[\"iacute\"]=278;t[\"lozenge\"]=494;t[\"Rcaron\"]=722;t[\"Gcommaaccent\"]=778;t[\"ucircumflex\"]=611;t[\"acircumflex\"]=556;t[\"Amacron\"]=722;t[\"rcaron\"]=389;t[\"ccedilla\"]=556;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=667;t[\"Omacron\"]=778;t[\"Racute\"]=722;t[\"Sacute\"]=667;t[\"dcaron\"]=743;t[\"Umacron\"]=722;t[\"uring\"]=611;t[\"threesuperior\"]=333;t[\"Ograve\"]=778;t[\"Agrave\"]=722;t[\"Abreve\"]=722;t[\"multiply\"]=584;t[\"uacute\"]=611;t[\"Tcaron\"]=611;t[\"partialdiff\"]=494;t[\"ydieresis\"]=556;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=556;t[\"edieresis\"]=556;t[\"cacute\"]=556;t[\"nacute\"]=611;t[\"umacron\"]=611;t[\"Ncaron\"]=722;t[\"Iacute\"]=278;t[\"plusminus\"]=584;t[\"brokenbar\"]=280;t[\"registered\"]=737;t[\"Gbreve\"]=778;t[\"Idotaccent\"]=278;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=389;t[\"omacron\"]=611;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=722;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=389;t[\"eogonek\"]=556;t[\"Uogonek\"]=722;t[\"Aacute\"]=722;t[\"Adieresis\"]=722;t[\"egrave\"]=556;t[\"zacute\"]=500;t[\"iogonek\"]=278;t[\"Oacute\"]=778;t[\"oacute\"]=611;t[\"amacron\"]=556;t[\"sacute\"]=556;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=778;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=611;t[\"twosuperior\"]=333;t[\"Odieresis\"]=778;t[\"mu\"]=611;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=611;t[\"Eogonek\"]=667;t[\"dcroat\"]=611;t[\"threequarters\"]=834;t[\"Scedilla\"]=667;t[\"lcaron\"]=400;t[\"Kcommaaccent\"]=722;t[\"Lacute\"]=611;t[\"trademark\"]=1000;t[\"edotaccent\"]=556;t[\"Igrave\"]=278;t[\"Imacron\"]=278;t[\"Lcaron\"]=611;t[\"onehalf\"]=834;t[\"lessequal\"]=549;t[\"ocircumflex\"]=611;t[\"ntilde\"]=611;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=556;t[\"gbreve\"]=611;t[\"onequarter\"]=834;t[\"Scaron\"]=667;t[\"Scommaaccent\"]=667;t[\"Ohungarumlaut\"]=778;t[\"degree\"]=400;t[\"ograve\"]=611;t[\"Ccaron\"]=722;t[\"ugrave\"]=611;t[\"radical\"]=549;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=389;t[\"Ntilde\"]=722;t[\"otilde\"]=611;t[\"Rcommaaccent\"]=722;t[\"Lcommaaccent\"]=611;t[\"Atilde\"]=722;t[\"Aogonek\"]=722;t[\"Aring\"]=722;t[\"Otilde\"]=778;t[\"zdotaccent\"]=500;t[\"Ecaron\"]=667;t[\"Iogonek\"]=278;t[\"kcommaaccent\"]=556;t[\"minus\"]=584;t[\"Icircumflex\"]=278;t[\"ncaron\"]=611;t[\"tcommaaccent\"]=333;t[\"logicalnot\"]=584;t[\"odieresis\"]=611;t[\"udieresis\"]=611;t[\"notequal\"]=549;t[\"gcommaaccent\"]=611;t[\"eth\"]=611;t[\"zcaron\"]=500;t[\"ncommaaccent\"]=611;t[\"onesuperior\"]=333;t[\"imacron\"]=278;t[\"Euro\"]=556;});t[\"Helvetica-Oblique\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=278;t[\"exclam\"]=278;t[\"quotedbl\"]=355;t[\"numbersign\"]=556;t[\"dollar\"]=556;t[\"percent\"]=889;t[\"ampersand\"]=667;t[\"quoteright\"]=222;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=389;t[\"plus\"]=584;t[\"comma\"]=278;t[\"hyphen\"]=333;t[\"period\"]=278;t[\"slash\"]=278;t[\"zero\"]=556;t[\"one\"]=556;t[\"two\"]=556;t[\"three\"]=556;t[\"four\"]=556;t[\"five\"]=556;t[\"six\"]=556;t[\"seven\"]=556;t[\"eight\"]=556;t[\"nine\"]=556;t[\"colon\"]=278;t[\"semicolon\"]=278;t[\"less\"]=584;t[\"equal\"]=584;t[\"greater\"]=584;t[\"question\"]=556;t[\"at\"]=1015;t[\"A\"]=667;t[\"B\"]=667;t[\"C\"]=722;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=611;t[\"G\"]=778;t[\"H\"]=722;t[\"I\"]=278;t[\"J\"]=500;t[\"K\"]=667;t[\"L\"]=556;t[\"M\"]=833;t[\"N\"]=722;t[\"O\"]=778;t[\"P\"]=667;t[\"Q\"]=778;t[\"R\"]=722;t[\"S\"]=667;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=667;t[\"W\"]=944;t[\"X\"]=667;t[\"Y\"]=667;t[\"Z\"]=611;t[\"bracketleft\"]=278;t[\"backslash\"]=278;t[\"bracketright\"]=278;t[\"asciicircum\"]=469;t[\"underscore\"]=556;t[\"quoteleft\"]=222;t[\"a\"]=556;t[\"b\"]=556;t[\"c\"]=500;t[\"d\"]=556;t[\"e\"]=556;t[\"f\"]=278;t[\"g\"]=556;t[\"h\"]=556;t[\"i\"]=222;t[\"j\"]=222;t[\"k\"]=500;t[\"l\"]=222;t[\"m\"]=833;t[\"n\"]=556;t[\"o\"]=556;t[\"p\"]=556;t[\"q\"]=556;t[\"r\"]=333;t[\"s\"]=500;t[\"t\"]=278;t[\"u\"]=556;t[\"v\"]=500;t[\"w\"]=722;t[\"x\"]=500;t[\"y\"]=500;t[\"z\"]=500;t[\"braceleft\"]=334;t[\"bar\"]=260;t[\"braceright\"]=334;t[\"asciitilde\"]=584;t[\"exclamdown\"]=333;t[\"cent\"]=556;t[\"sterling\"]=556;t[\"fraction\"]=167;t[\"yen\"]=556;t[\"florin\"]=556;t[\"section\"]=556;t[\"currency\"]=556;t[\"quotesingle\"]=191;t[\"quotedblleft\"]=333;t[\"guillemotleft\"]=556;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=500;t[\"fl\"]=500;t[\"endash\"]=556;t[\"dagger\"]=556;t[\"daggerdbl\"]=556;t[\"periodcentered\"]=278;t[\"paragraph\"]=537;t[\"bullet\"]=350;t[\"quotesinglbase\"]=222;t[\"quotedblbase\"]=333;t[\"quotedblright\"]=333;t[\"guillemotright\"]=556;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=611;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=1000;t[\"ordfeminine\"]=370;t[\"Lslash\"]=556;t[\"Oslash\"]=778;t[\"OE\"]=1000;t[\"ordmasculine\"]=365;t[\"ae\"]=889;t[\"dotlessi\"]=278;t[\"lslash\"]=222;t[\"oslash\"]=611;t[\"oe\"]=944;t[\"germandbls\"]=611;t[\"Idieresis\"]=278;t[\"eacute\"]=556;t[\"abreve\"]=556;t[\"uhungarumlaut\"]=556;t[\"ecaron\"]=556;t[\"Ydieresis\"]=667;t[\"divide\"]=584;t[\"Yacute\"]=667;t[\"Acircumflex\"]=667;t[\"aacute\"]=556;t[\"Ucircumflex\"]=722;t[\"yacute\"]=500;t[\"scommaaccent\"]=500;t[\"ecircumflex\"]=556;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=556;t[\"Uacute\"]=722;t[\"uogonek\"]=556;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=737;t[\"Emacron\"]=667;t[\"ccaron\"]=500;t[\"aring\"]=556;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=222;t[\"agrave\"]=556;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=722;t[\"atilde\"]=556;t[\"Edotaccent\"]=667;t[\"scaron\"]=500;t[\"scedilla\"]=500;t[\"iacute\"]=278;t[\"lozenge\"]=471;t[\"Rcaron\"]=722;t[\"Gcommaaccent\"]=778;t[\"ucircumflex\"]=556;t[\"acircumflex\"]=556;t[\"Amacron\"]=667;t[\"rcaron\"]=333;t[\"ccedilla\"]=500;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=667;t[\"Omacron\"]=778;t[\"Racute\"]=722;t[\"Sacute\"]=667;t[\"dcaron\"]=643;t[\"Umacron\"]=722;t[\"uring\"]=556;t[\"threesuperior\"]=333;t[\"Ograve\"]=778;t[\"Agrave\"]=667;t[\"Abreve\"]=667;t[\"multiply\"]=584;t[\"uacute\"]=556;t[\"Tcaron\"]=611;t[\"partialdiff\"]=476;t[\"ydieresis\"]=500;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=556;t[\"edieresis\"]=556;t[\"cacute\"]=500;t[\"nacute\"]=556;t[\"umacron\"]=556;t[\"Ncaron\"]=722;t[\"Iacute\"]=278;t[\"plusminus\"]=584;t[\"brokenbar\"]=260;t[\"registered\"]=737;t[\"Gbreve\"]=778;t[\"Idotaccent\"]=278;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=333;t[\"omacron\"]=556;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=722;t[\"lcommaaccent\"]=222;t[\"tcaron\"]=317;t[\"eogonek\"]=556;t[\"Uogonek\"]=722;t[\"Aacute\"]=667;t[\"Adieresis\"]=667;t[\"egrave\"]=556;t[\"zacute\"]=500;t[\"iogonek\"]=222;t[\"Oacute\"]=778;t[\"oacute\"]=556;t[\"amacron\"]=556;t[\"sacute\"]=500;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=778;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=556;t[\"twosuperior\"]=333;t[\"Odieresis\"]=778;t[\"mu\"]=556;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=556;t[\"Eogonek\"]=667;t[\"dcroat\"]=556;t[\"threequarters\"]=834;t[\"Scedilla\"]=667;t[\"lcaron\"]=299;t[\"Kcommaaccent\"]=667;t[\"Lacute\"]=556;t[\"trademark\"]=1000;t[\"edotaccent\"]=556;t[\"Igrave\"]=278;t[\"Imacron\"]=278;t[\"Lcaron\"]=556;t[\"onehalf\"]=834;t[\"lessequal\"]=549;t[\"ocircumflex\"]=556;t[\"ntilde\"]=556;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=556;t[\"gbreve\"]=556;t[\"onequarter\"]=834;t[\"Scaron\"]=667;t[\"Scommaaccent\"]=667;t[\"Ohungarumlaut\"]=778;t[\"degree\"]=400;t[\"ograve\"]=556;t[\"Ccaron\"]=722;t[\"ugrave\"]=556;t[\"radical\"]=453;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=333;t[\"Ntilde\"]=722;t[\"otilde\"]=556;t[\"Rcommaaccent\"]=722;t[\"Lcommaaccent\"]=556;t[\"Atilde\"]=667;t[\"Aogonek\"]=667;t[\"Aring\"]=667;t[\"Otilde\"]=778;t[\"zdotaccent\"]=500;t[\"Ecaron\"]=667;t[\"Iogonek\"]=278;t[\"kcommaaccent\"]=500;t[\"minus\"]=584;t[\"Icircumflex\"]=278;t[\"ncaron\"]=556;t[\"tcommaaccent\"]=278;t[\"logicalnot\"]=584;t[\"odieresis\"]=556;t[\"udieresis\"]=556;t[\"notequal\"]=549;t[\"gcommaaccent\"]=556;t[\"eth\"]=556;t[\"zcaron\"]=500;t[\"ncommaaccent\"]=556;t[\"onesuperior\"]=333;t[\"imacron\"]=278;t[\"Euro\"]=556;});t[\"Symbol\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=250;t[\"exclam\"]=333;t[\"universal\"]=713;t[\"numbersign\"]=500;t[\"existential\"]=549;t[\"percent\"]=833;t[\"ampersand\"]=778;t[\"suchthat\"]=439;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asteriskmath\"]=500;t[\"plus\"]=549;t[\"comma\"]=250;t[\"minus\"]=549;t[\"period\"]=250;t[\"slash\"]=278;t[\"zero\"]=500;t[\"one\"]=500;t[\"two\"]=500;t[\"three\"]=500;t[\"four\"]=500;t[\"five\"]=500;t[\"six\"]=500;t[\"seven\"]=500;t[\"eight\"]=500;t[\"nine\"]=500;t[\"colon\"]=278;t[\"semicolon\"]=278;t[\"less\"]=549;t[\"equal\"]=549;t[\"greater\"]=549;t[\"question\"]=444;t[\"congruent\"]=549;t[\"Alpha\"]=722;t[\"Beta\"]=667;t[\"Chi\"]=722;t[\"Delta\"]=612;t[\"Epsilon\"]=611;t[\"Phi\"]=763;t[\"Gamma\"]=603;t[\"Eta\"]=722;t[\"Iota\"]=333;t[\"theta1\"]=631;t[\"Kappa\"]=722;t[\"Lambda\"]=686;t[\"Mu\"]=889;t[\"Nu\"]=722;t[\"Omicron\"]=722;t[\"Pi\"]=768;t[\"Theta\"]=741;t[\"Rho\"]=556;t[\"Sigma\"]=592;t[\"Tau\"]=611;t[\"Upsilon\"]=690;t[\"sigma1\"]=439;t[\"Omega\"]=768;t[\"Xi\"]=645;t[\"Psi\"]=795;t[\"Zeta\"]=611;t[\"bracketleft\"]=333;t[\"therefore\"]=863;t[\"bracketright\"]=333;t[\"perpendicular\"]=658;t[\"underscore\"]=500;t[\"radicalex\"]=500;t[\"alpha\"]=631;t[\"beta\"]=549;t[\"chi\"]=549;t[\"delta\"]=494;t[\"epsilon\"]=439;t[\"phi\"]=521;t[\"gamma\"]=411;t[\"eta\"]=603;t[\"iota\"]=329;t[\"phi1\"]=603;t[\"kappa\"]=549;t[\"lambda\"]=549;t[\"mu\"]=576;t[\"nu\"]=521;t[\"omicron\"]=549;t[\"pi\"]=549;t[\"theta\"]=521;t[\"rho\"]=549;t[\"sigma\"]=603;t[\"tau\"]=439;t[\"upsilon\"]=576;t[\"omega1\"]=713;t[\"omega\"]=686;t[\"xi\"]=493;t[\"psi\"]=686;t[\"zeta\"]=494;t[\"braceleft\"]=480;t[\"bar\"]=200;t[\"braceright\"]=480;t[\"similar\"]=549;t[\"Euro\"]=750;t[\"Upsilon1\"]=620;t[\"minute\"]=247;t[\"lessequal\"]=549;t[\"fraction\"]=167;t[\"infinity\"]=713;t[\"florin\"]=500;t[\"club\"]=753;t[\"diamond\"]=753;t[\"heart\"]=753;t[\"spade\"]=753;t[\"arrowboth\"]=1042;t[\"arrowleft\"]=987;t[\"arrowup\"]=603;t[\"arrowright\"]=987;t[\"arrowdown\"]=603;t[\"degree\"]=400;t[\"plusminus\"]=549;t[\"second\"]=411;t[\"greaterequal\"]=549;t[\"multiply\"]=549;t[\"proportional\"]=713;t[\"partialdiff\"]=494;t[\"bullet\"]=460;t[\"divide\"]=549;t[\"notequal\"]=549;t[\"equivalence\"]=549;t[\"approxequal\"]=549;t[\"ellipsis\"]=1000;t[\"arrowvertex\"]=603;t[\"arrowhorizex\"]=1000;t[\"carriagereturn\"]=658;t[\"aleph\"]=823;t[\"Ifraktur\"]=686;t[\"Rfraktur\"]=795;t[\"weierstrass\"]=987;t[\"circlemultiply\"]=768;t[\"circleplus\"]=768;t[\"emptyset\"]=823;t[\"intersection\"]=768;t[\"union\"]=768;t[\"propersuperset\"]=713;t[\"reflexsuperset\"]=713;t[\"notsubset\"]=713;t[\"propersubset\"]=713;t[\"reflexsubset\"]=713;t[\"element\"]=713;t[\"notelement\"]=713;t[\"angle\"]=768;t[\"gradient\"]=713;t[\"registerserif\"]=790;t[\"copyrightserif\"]=790;t[\"trademarkserif\"]=890;t[\"product\"]=823;t[\"radical\"]=549;t[\"dotmath\"]=250;t[\"logicalnot\"]=713;t[\"logicaland\"]=603;t[\"logicalor\"]=603;t[\"arrowdblboth\"]=1042;t[\"arrowdblleft\"]=987;t[\"arrowdblup\"]=603;t[\"arrowdblright\"]=987;t[\"arrowdbldown\"]=603;t[\"lozenge\"]=494;t[\"angleleft\"]=329;t[\"registersans\"]=790;t[\"copyrightsans\"]=790;t[\"trademarksans\"]=786;t[\"summation\"]=713;t[\"parenlefttp\"]=384;t[\"parenleftex\"]=384;t[\"parenleftbt\"]=384;t[\"bracketlefttp\"]=384;t[\"bracketleftex\"]=384;t[\"bracketleftbt\"]=384;t[\"bracelefttp\"]=494;t[\"braceleftmid\"]=494;t[\"braceleftbt\"]=494;t[\"braceex\"]=494;t[\"angleright\"]=329;t[\"integral\"]=274;t[\"integraltp\"]=686;t[\"integralex\"]=686;t[\"integralbt\"]=686;t[\"parenrighttp\"]=384;t[\"parenrightex\"]=384;t[\"parenrightbt\"]=384;t[\"bracketrighttp\"]=384;t[\"bracketrightex\"]=384;t[\"bracketrightbt\"]=384;t[\"bracerighttp\"]=494;t[\"bracerightmid\"]=494;t[\"bracerightbt\"]=494;t[\"apple\"]=790;});t[\"Times-Roman\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=250;t[\"exclam\"]=333;t[\"quotedbl\"]=408;t[\"numbersign\"]=500;t[\"dollar\"]=500;t[\"percent\"]=833;t[\"ampersand\"]=778;t[\"quoteright\"]=333;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=500;t[\"plus\"]=564;t[\"comma\"]=250;t[\"hyphen\"]=333;t[\"period\"]=250;t[\"slash\"]=278;t[\"zero\"]=500;t[\"one\"]=500;t[\"two\"]=500;t[\"three\"]=500;t[\"four\"]=500;t[\"five\"]=500;t[\"six\"]=500;t[\"seven\"]=500;t[\"eight\"]=500;t[\"nine\"]=500;t[\"colon\"]=278;t[\"semicolon\"]=278;t[\"less\"]=564;t[\"equal\"]=564;t[\"greater\"]=564;t[\"question\"]=444;t[\"at\"]=921;t[\"A\"]=722;t[\"B\"]=667;t[\"C\"]=667;t[\"D\"]=722;t[\"E\"]=611;t[\"F\"]=556;t[\"G\"]=722;t[\"H\"]=722;t[\"I\"]=333;t[\"J\"]=389;t[\"K\"]=722;t[\"L\"]=611;t[\"M\"]=889;t[\"N\"]=722;t[\"O\"]=722;t[\"P\"]=556;t[\"Q\"]=722;t[\"R\"]=667;t[\"S\"]=556;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=722;t[\"W\"]=944;t[\"X\"]=722;t[\"Y\"]=722;t[\"Z\"]=611;t[\"bracketleft\"]=333;t[\"backslash\"]=278;t[\"bracketright\"]=333;t[\"asciicircum\"]=469;t[\"underscore\"]=500;t[\"quoteleft\"]=333;t[\"a\"]=444;t[\"b\"]=500;t[\"c\"]=444;t[\"d\"]=500;t[\"e\"]=444;t[\"f\"]=333;t[\"g\"]=500;t[\"h\"]=500;t[\"i\"]=278;t[\"j\"]=278;t[\"k\"]=500;t[\"l\"]=278;t[\"m\"]=778;t[\"n\"]=500;t[\"o\"]=500;t[\"p\"]=500;t[\"q\"]=500;t[\"r\"]=333;t[\"s\"]=389;t[\"t\"]=278;t[\"u\"]=500;t[\"v\"]=500;t[\"w\"]=722;t[\"x\"]=500;t[\"y\"]=500;t[\"z\"]=444;t[\"braceleft\"]=480;t[\"bar\"]=200;t[\"braceright\"]=480;t[\"asciitilde\"]=541;t[\"exclamdown\"]=333;t[\"cent\"]=500;t[\"sterling\"]=500;t[\"fraction\"]=167;t[\"yen\"]=500;t[\"florin\"]=500;t[\"section\"]=500;t[\"currency\"]=500;t[\"quotesingle\"]=180;t[\"quotedblleft\"]=444;t[\"guillemotleft\"]=500;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=556;t[\"fl\"]=556;t[\"endash\"]=500;t[\"dagger\"]=500;t[\"daggerdbl\"]=500;t[\"periodcentered\"]=250;t[\"paragraph\"]=453;t[\"bullet\"]=350;t[\"quotesinglbase\"]=333;t[\"quotedblbase\"]=444;t[\"quotedblright\"]=444;t[\"guillemotright\"]=500;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=444;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=889;t[\"ordfeminine\"]=276;t[\"Lslash\"]=611;t[\"Oslash\"]=722;t[\"OE\"]=889;t[\"ordmasculine\"]=310;t[\"ae\"]=667;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=500;t[\"oe\"]=722;t[\"germandbls\"]=500;t[\"Idieresis\"]=333;t[\"eacute\"]=444;t[\"abreve\"]=444;t[\"uhungarumlaut\"]=500;t[\"ecaron\"]=444;t[\"Ydieresis\"]=722;t[\"divide\"]=564;t[\"Yacute\"]=722;t[\"Acircumflex\"]=722;t[\"aacute\"]=444;t[\"Ucircumflex\"]=722;t[\"yacute\"]=500;t[\"scommaaccent\"]=389;t[\"ecircumflex\"]=444;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=444;t[\"Uacute\"]=722;t[\"uogonek\"]=500;t[\"Edieresis\"]=611;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=760;t[\"Emacron\"]=611;t[\"ccaron\"]=444;t[\"aring\"]=444;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=278;t[\"agrave\"]=444;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=667;t[\"atilde\"]=444;t[\"Edotaccent\"]=611;t[\"scaron\"]=389;t[\"scedilla\"]=389;t[\"iacute\"]=278;t[\"lozenge\"]=471;t[\"Rcaron\"]=667;t[\"Gcommaaccent\"]=722;t[\"ucircumflex\"]=500;t[\"acircumflex\"]=444;t[\"Amacron\"]=722;t[\"rcaron\"]=333;t[\"ccedilla\"]=444;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=556;t[\"Omacron\"]=722;t[\"Racute\"]=667;t[\"Sacute\"]=556;t[\"dcaron\"]=588;t[\"Umacron\"]=722;t[\"uring\"]=500;t[\"threesuperior\"]=300;t[\"Ograve\"]=722;t[\"Agrave\"]=722;t[\"Abreve\"]=722;t[\"multiply\"]=564;t[\"uacute\"]=500;t[\"Tcaron\"]=611;t[\"partialdiff\"]=476;t[\"ydieresis\"]=500;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=611;t[\"adieresis\"]=444;t[\"edieresis\"]=444;t[\"cacute\"]=444;t[\"nacute\"]=500;t[\"umacron\"]=500;t[\"Ncaron\"]=722;t[\"Iacute\"]=333;t[\"plusminus\"]=564;t[\"brokenbar\"]=200;t[\"registered\"]=760;t[\"Gbreve\"]=722;t[\"Idotaccent\"]=333;t[\"summation\"]=600;t[\"Egrave\"]=611;t[\"racute\"]=333;t[\"omacron\"]=500;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=667;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=326;t[\"eogonek\"]=444;t[\"Uogonek\"]=722;t[\"Aacute\"]=722;t[\"Adieresis\"]=722;t[\"egrave\"]=444;t[\"zacute\"]=444;t[\"iogonek\"]=278;t[\"Oacute\"]=722;t[\"oacute\"]=500;t[\"amacron\"]=444;t[\"sacute\"]=389;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=722;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=500;t[\"twosuperior\"]=300;t[\"Odieresis\"]=722;t[\"mu\"]=500;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=500;t[\"Eogonek\"]=611;t[\"dcroat\"]=500;t[\"threequarters\"]=750;t[\"Scedilla\"]=556;t[\"lcaron\"]=344;t[\"Kcommaaccent\"]=722;t[\"Lacute\"]=611;t[\"trademark\"]=980;t[\"edotaccent\"]=444;t[\"Igrave\"]=333;t[\"Imacron\"]=333;t[\"Lcaron\"]=611;t[\"onehalf\"]=750;t[\"lessequal\"]=549;t[\"ocircumflex\"]=500;t[\"ntilde\"]=500;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=611;t[\"emacron\"]=444;t[\"gbreve\"]=500;t[\"onequarter\"]=750;t[\"Scaron\"]=556;t[\"Scommaaccent\"]=556;t[\"Ohungarumlaut\"]=722;t[\"degree\"]=400;t[\"ograve\"]=500;t[\"Ccaron\"]=667;t[\"ugrave\"]=500;t[\"radical\"]=453;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=333;t[\"Ntilde\"]=722;t[\"otilde\"]=500;t[\"Rcommaaccent\"]=667;t[\"Lcommaaccent\"]=611;t[\"Atilde\"]=722;t[\"Aogonek\"]=722;t[\"Aring\"]=722;t[\"Otilde\"]=722;t[\"zdotaccent\"]=444;t[\"Ecaron\"]=611;t[\"Iogonek\"]=333;t[\"kcommaaccent\"]=500;t[\"minus\"]=564;t[\"Icircumflex\"]=333;t[\"ncaron\"]=500;t[\"tcommaaccent\"]=278;t[\"logicalnot\"]=564;t[\"odieresis\"]=500;t[\"udieresis\"]=500;t[\"notequal\"]=549;t[\"gcommaaccent\"]=500;t[\"eth\"]=500;t[\"zcaron\"]=444;t[\"ncommaaccent\"]=500;t[\"onesuperior\"]=300;t[\"imacron\"]=278;t[\"Euro\"]=500;});t[\"Times-Bold\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=250;t[\"exclam\"]=333;t[\"quotedbl\"]=555;t[\"numbersign\"]=500;t[\"dollar\"]=500;t[\"percent\"]=1000;t[\"ampersand\"]=833;t[\"quoteright\"]=333;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=500;t[\"plus\"]=570;t[\"comma\"]=250;t[\"hyphen\"]=333;t[\"period\"]=250;t[\"slash\"]=278;t[\"zero\"]=500;t[\"one\"]=500;t[\"two\"]=500;t[\"three\"]=500;t[\"four\"]=500;t[\"five\"]=500;t[\"six\"]=500;t[\"seven\"]=500;t[\"eight\"]=500;t[\"nine\"]=500;t[\"colon\"]=333;t[\"semicolon\"]=333;t[\"less\"]=570;t[\"equal\"]=570;t[\"greater\"]=570;t[\"question\"]=500;t[\"at\"]=930;t[\"A\"]=722;t[\"B\"]=667;t[\"C\"]=722;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=611;t[\"G\"]=778;t[\"H\"]=778;t[\"I\"]=389;t[\"J\"]=500;t[\"K\"]=778;t[\"L\"]=667;t[\"M\"]=944;t[\"N\"]=722;t[\"O\"]=778;t[\"P\"]=611;t[\"Q\"]=778;t[\"R\"]=722;t[\"S\"]=556;t[\"T\"]=667;t[\"U\"]=722;t[\"V\"]=722;t[\"W\"]=1000;t[\"X\"]=722;t[\"Y\"]=722;t[\"Z\"]=667;t[\"bracketleft\"]=333;t[\"backslash\"]=278;t[\"bracketright\"]=333;t[\"asciicircum\"]=581;t[\"underscore\"]=500;t[\"quoteleft\"]=333;t[\"a\"]=500;t[\"b\"]=556;t[\"c\"]=444;t[\"d\"]=556;t[\"e\"]=444;t[\"f\"]=333;t[\"g\"]=500;t[\"h\"]=556;t[\"i\"]=278;t[\"j\"]=333;t[\"k\"]=556;t[\"l\"]=278;t[\"m\"]=833;t[\"n\"]=556;t[\"o\"]=500;t[\"p\"]=556;t[\"q\"]=556;t[\"r\"]=444;t[\"s\"]=389;t[\"t\"]=333;t[\"u\"]=556;t[\"v\"]=500;t[\"w\"]=722;t[\"x\"]=500;t[\"y\"]=500;t[\"z\"]=444;t[\"braceleft\"]=394;t[\"bar\"]=220;t[\"braceright\"]=394;t[\"asciitilde\"]=520;t[\"exclamdown\"]=333;t[\"cent\"]=500;t[\"sterling\"]=500;t[\"fraction\"]=167;t[\"yen\"]=500;t[\"florin\"]=500;t[\"section\"]=500;t[\"currency\"]=500;t[\"quotesingle\"]=278;t[\"quotedblleft\"]=500;t[\"guillemotleft\"]=500;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=556;t[\"fl\"]=556;t[\"endash\"]=500;t[\"dagger\"]=500;t[\"daggerdbl\"]=500;t[\"periodcentered\"]=250;t[\"paragraph\"]=540;t[\"bullet\"]=350;t[\"quotesinglbase\"]=333;t[\"quotedblbase\"]=500;t[\"quotedblright\"]=500;t[\"guillemotright\"]=500;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=500;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=1000;t[\"ordfeminine\"]=300;t[\"Lslash\"]=667;t[\"Oslash\"]=778;t[\"OE\"]=1000;t[\"ordmasculine\"]=330;t[\"ae\"]=722;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=500;t[\"oe\"]=722;t[\"germandbls\"]=556;t[\"Idieresis\"]=389;t[\"eacute\"]=444;t[\"abreve\"]=500;t[\"uhungarumlaut\"]=556;t[\"ecaron\"]=444;t[\"Ydieresis\"]=722;t[\"divide\"]=570;t[\"Yacute\"]=722;t[\"Acircumflex\"]=722;t[\"aacute\"]=500;t[\"Ucircumflex\"]=722;t[\"yacute\"]=500;t[\"scommaaccent\"]=389;t[\"ecircumflex\"]=444;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=500;t[\"Uacute\"]=722;t[\"uogonek\"]=556;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=747;t[\"Emacron\"]=667;t[\"ccaron\"]=444;t[\"aring\"]=500;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=278;t[\"agrave\"]=500;t[\"Tcommaaccent\"]=667;t[\"Cacute\"]=722;t[\"atilde\"]=500;t[\"Edotaccent\"]=667;t[\"scaron\"]=389;t[\"scedilla\"]=389;t[\"iacute\"]=278;t[\"lozenge\"]=494;t[\"Rcaron\"]=722;t[\"Gcommaaccent\"]=778;t[\"ucircumflex\"]=556;t[\"acircumflex\"]=500;t[\"Amacron\"]=722;t[\"rcaron\"]=444;t[\"ccedilla\"]=444;t[\"Zdotaccent\"]=667;t[\"Thorn\"]=611;t[\"Omacron\"]=778;t[\"Racute\"]=722;t[\"Sacute\"]=556;t[\"dcaron\"]=672;t[\"Umacron\"]=722;t[\"uring\"]=556;t[\"threesuperior\"]=300;t[\"Ograve\"]=778;t[\"Agrave\"]=722;t[\"Abreve\"]=722;t[\"multiply\"]=570;t[\"uacute\"]=556;t[\"Tcaron\"]=667;t[\"partialdiff\"]=494;t[\"ydieresis\"]=500;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=500;t[\"edieresis\"]=444;t[\"cacute\"]=444;t[\"nacute\"]=556;t[\"umacron\"]=556;t[\"Ncaron\"]=722;t[\"Iacute\"]=389;t[\"plusminus\"]=570;t[\"brokenbar\"]=220;t[\"registered\"]=747;t[\"Gbreve\"]=778;t[\"Idotaccent\"]=389;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=444;t[\"omacron\"]=500;t[\"Zacute\"]=667;t[\"Zcaron\"]=667;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=722;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=416;t[\"eogonek\"]=444;t[\"Uogonek\"]=722;t[\"Aacute\"]=722;t[\"Adieresis\"]=722;t[\"egrave\"]=444;t[\"zacute\"]=444;t[\"iogonek\"]=278;t[\"Oacute\"]=778;t[\"oacute\"]=500;t[\"amacron\"]=500;t[\"sacute\"]=389;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=778;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=556;t[\"twosuperior\"]=300;t[\"Odieresis\"]=778;t[\"mu\"]=556;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=500;t[\"Eogonek\"]=667;t[\"dcroat\"]=556;t[\"threequarters\"]=750;t[\"Scedilla\"]=556;t[\"lcaron\"]=394;t[\"Kcommaaccent\"]=778;t[\"Lacute\"]=667;t[\"trademark\"]=1000;t[\"edotaccent\"]=444;t[\"Igrave\"]=389;t[\"Imacron\"]=389;t[\"Lcaron\"]=667;t[\"onehalf\"]=750;t[\"lessequal\"]=549;t[\"ocircumflex\"]=500;t[\"ntilde\"]=556;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=444;t[\"gbreve\"]=500;t[\"onequarter\"]=750;t[\"Scaron\"]=556;t[\"Scommaaccent\"]=556;t[\"Ohungarumlaut\"]=778;t[\"degree\"]=400;t[\"ograve\"]=500;t[\"Ccaron\"]=722;t[\"ugrave\"]=556;t[\"radical\"]=549;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=444;t[\"Ntilde\"]=722;t[\"otilde\"]=500;t[\"Rcommaaccent\"]=722;t[\"Lcommaaccent\"]=667;t[\"Atilde\"]=722;t[\"Aogonek\"]=722;t[\"Aring\"]=722;t[\"Otilde\"]=778;t[\"zdotaccent\"]=444;t[\"Ecaron\"]=667;t[\"Iogonek\"]=389;t[\"kcommaaccent\"]=556;t[\"minus\"]=570;t[\"Icircumflex\"]=389;t[\"ncaron\"]=556;t[\"tcommaaccent\"]=333;t[\"logicalnot\"]=570;t[\"odieresis\"]=500;t[\"udieresis\"]=556;t[\"notequal\"]=549;t[\"gcommaaccent\"]=500;t[\"eth\"]=500;t[\"zcaron\"]=444;t[\"ncommaaccent\"]=556;t[\"onesuperior\"]=300;t[\"imacron\"]=278;t[\"Euro\"]=500;});t[\"Times-BoldItalic\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=250;t[\"exclam\"]=389;t[\"quotedbl\"]=555;t[\"numbersign\"]=500;t[\"dollar\"]=500;t[\"percent\"]=833;t[\"ampersand\"]=778;t[\"quoteright\"]=333;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=500;t[\"plus\"]=570;t[\"comma\"]=250;t[\"hyphen\"]=333;t[\"period\"]=250;t[\"slash\"]=278;t[\"zero\"]=500;t[\"one\"]=500;t[\"two\"]=500;t[\"three\"]=500;t[\"four\"]=500;t[\"five\"]=500;t[\"six\"]=500;t[\"seven\"]=500;t[\"eight\"]=500;t[\"nine\"]=500;t[\"colon\"]=333;t[\"semicolon\"]=333;t[\"less\"]=570;t[\"equal\"]=570;t[\"greater\"]=570;t[\"question\"]=500;t[\"at\"]=832;t[\"A\"]=667;t[\"B\"]=667;t[\"C\"]=667;t[\"D\"]=722;t[\"E\"]=667;t[\"F\"]=667;t[\"G\"]=722;t[\"H\"]=778;t[\"I\"]=389;t[\"J\"]=500;t[\"K\"]=667;t[\"L\"]=611;t[\"M\"]=889;t[\"N\"]=722;t[\"O\"]=722;t[\"P\"]=611;t[\"Q\"]=722;t[\"R\"]=667;t[\"S\"]=556;t[\"T\"]=611;t[\"U\"]=722;t[\"V\"]=667;t[\"W\"]=889;t[\"X\"]=667;t[\"Y\"]=611;t[\"Z\"]=611;t[\"bracketleft\"]=333;t[\"backslash\"]=278;t[\"bracketright\"]=333;t[\"asciicircum\"]=570;t[\"underscore\"]=500;t[\"quoteleft\"]=333;t[\"a\"]=500;t[\"b\"]=500;t[\"c\"]=444;t[\"d\"]=500;t[\"e\"]=444;t[\"f\"]=333;t[\"g\"]=500;t[\"h\"]=556;t[\"i\"]=278;t[\"j\"]=278;t[\"k\"]=500;t[\"l\"]=278;t[\"m\"]=778;t[\"n\"]=556;t[\"o\"]=500;t[\"p\"]=500;t[\"q\"]=500;t[\"r\"]=389;t[\"s\"]=389;t[\"t\"]=278;t[\"u\"]=556;t[\"v\"]=444;t[\"w\"]=667;t[\"x\"]=500;t[\"y\"]=444;t[\"z\"]=389;t[\"braceleft\"]=348;t[\"bar\"]=220;t[\"braceright\"]=348;t[\"asciitilde\"]=570;t[\"exclamdown\"]=389;t[\"cent\"]=500;t[\"sterling\"]=500;t[\"fraction\"]=167;t[\"yen\"]=500;t[\"florin\"]=500;t[\"section\"]=500;t[\"currency\"]=500;t[\"quotesingle\"]=278;t[\"quotedblleft\"]=500;t[\"guillemotleft\"]=500;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=556;t[\"fl\"]=556;t[\"endash\"]=500;t[\"dagger\"]=500;t[\"daggerdbl\"]=500;t[\"periodcentered\"]=250;t[\"paragraph\"]=500;t[\"bullet\"]=350;t[\"quotesinglbase\"]=333;t[\"quotedblbase\"]=500;t[\"quotedblright\"]=500;t[\"guillemotright\"]=500;t[\"ellipsis\"]=1000;t[\"perthousand\"]=1000;t[\"questiondown\"]=500;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=1000;t[\"AE\"]=944;t[\"ordfeminine\"]=266;t[\"Lslash\"]=611;t[\"Oslash\"]=722;t[\"OE\"]=944;t[\"ordmasculine\"]=300;t[\"ae\"]=722;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=500;t[\"oe\"]=722;t[\"germandbls\"]=500;t[\"Idieresis\"]=389;t[\"eacute\"]=444;t[\"abreve\"]=500;t[\"uhungarumlaut\"]=556;t[\"ecaron\"]=444;t[\"Ydieresis\"]=611;t[\"divide\"]=570;t[\"Yacute\"]=611;t[\"Acircumflex\"]=667;t[\"aacute\"]=500;t[\"Ucircumflex\"]=722;t[\"yacute\"]=444;t[\"scommaaccent\"]=389;t[\"ecircumflex\"]=444;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=500;t[\"Uacute\"]=722;t[\"uogonek\"]=556;t[\"Edieresis\"]=667;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=747;t[\"Emacron\"]=667;t[\"ccaron\"]=444;t[\"aring\"]=500;t[\"Ncommaaccent\"]=722;t[\"lacute\"]=278;t[\"agrave\"]=500;t[\"Tcommaaccent\"]=611;t[\"Cacute\"]=667;t[\"atilde\"]=500;t[\"Edotaccent\"]=667;t[\"scaron\"]=389;t[\"scedilla\"]=389;t[\"iacute\"]=278;t[\"lozenge\"]=494;t[\"Rcaron\"]=667;t[\"Gcommaaccent\"]=722;t[\"ucircumflex\"]=556;t[\"acircumflex\"]=500;t[\"Amacron\"]=667;t[\"rcaron\"]=389;t[\"ccedilla\"]=444;t[\"Zdotaccent\"]=611;t[\"Thorn\"]=611;t[\"Omacron\"]=722;t[\"Racute\"]=667;t[\"Sacute\"]=556;t[\"dcaron\"]=608;t[\"Umacron\"]=722;t[\"uring\"]=556;t[\"threesuperior\"]=300;t[\"Ograve\"]=722;t[\"Agrave\"]=667;t[\"Abreve\"]=667;t[\"multiply\"]=570;t[\"uacute\"]=556;t[\"Tcaron\"]=611;t[\"partialdiff\"]=494;t[\"ydieresis\"]=444;t[\"Nacute\"]=722;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=667;t[\"adieresis\"]=500;t[\"edieresis\"]=444;t[\"cacute\"]=444;t[\"nacute\"]=556;t[\"umacron\"]=556;t[\"Ncaron\"]=722;t[\"Iacute\"]=389;t[\"plusminus\"]=570;t[\"brokenbar\"]=220;t[\"registered\"]=747;t[\"Gbreve\"]=722;t[\"Idotaccent\"]=389;t[\"summation\"]=600;t[\"Egrave\"]=667;t[\"racute\"]=389;t[\"omacron\"]=500;t[\"Zacute\"]=611;t[\"Zcaron\"]=611;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=667;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=366;t[\"eogonek\"]=444;t[\"Uogonek\"]=722;t[\"Aacute\"]=667;t[\"Adieresis\"]=667;t[\"egrave\"]=444;t[\"zacute\"]=389;t[\"iogonek\"]=278;t[\"Oacute\"]=722;t[\"oacute\"]=500;t[\"amacron\"]=500;t[\"sacute\"]=389;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=722;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=500;t[\"twosuperior\"]=300;t[\"Odieresis\"]=722;t[\"mu\"]=576;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=500;t[\"Eogonek\"]=667;t[\"dcroat\"]=500;t[\"threequarters\"]=750;t[\"Scedilla\"]=556;t[\"lcaron\"]=382;t[\"Kcommaaccent\"]=667;t[\"Lacute\"]=611;t[\"trademark\"]=1000;t[\"edotaccent\"]=444;t[\"Igrave\"]=389;t[\"Imacron\"]=389;t[\"Lcaron\"]=611;t[\"onehalf\"]=750;t[\"lessequal\"]=549;t[\"ocircumflex\"]=500;t[\"ntilde\"]=556;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=667;t[\"emacron\"]=444;t[\"gbreve\"]=500;t[\"onequarter\"]=750;t[\"Scaron\"]=556;t[\"Scommaaccent\"]=556;t[\"Ohungarumlaut\"]=722;t[\"degree\"]=400;t[\"ograve\"]=500;t[\"Ccaron\"]=667;t[\"ugrave\"]=556;t[\"radical\"]=549;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=389;t[\"Ntilde\"]=722;t[\"otilde\"]=500;t[\"Rcommaaccent\"]=667;t[\"Lcommaaccent\"]=611;t[\"Atilde\"]=667;t[\"Aogonek\"]=667;t[\"Aring\"]=667;t[\"Otilde\"]=722;t[\"zdotaccent\"]=389;t[\"Ecaron\"]=667;t[\"Iogonek\"]=389;t[\"kcommaaccent\"]=500;t[\"minus\"]=606;t[\"Icircumflex\"]=389;t[\"ncaron\"]=556;t[\"tcommaaccent\"]=278;t[\"logicalnot\"]=606;t[\"odieresis\"]=500;t[\"udieresis\"]=556;t[\"notequal\"]=549;t[\"gcommaaccent\"]=500;t[\"eth\"]=500;t[\"zcaron\"]=389;t[\"ncommaaccent\"]=556;t[\"onesuperior\"]=300;t[\"imacron\"]=278;t[\"Euro\"]=500;});t[\"Times-Italic\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=250;t[\"exclam\"]=333;t[\"quotedbl\"]=420;t[\"numbersign\"]=500;t[\"dollar\"]=500;t[\"percent\"]=833;t[\"ampersand\"]=778;t[\"quoteright\"]=333;t[\"parenleft\"]=333;t[\"parenright\"]=333;t[\"asterisk\"]=500;t[\"plus\"]=675;t[\"comma\"]=250;t[\"hyphen\"]=333;t[\"period\"]=250;t[\"slash\"]=278;t[\"zero\"]=500;t[\"one\"]=500;t[\"two\"]=500;t[\"three\"]=500;t[\"four\"]=500;t[\"five\"]=500;t[\"six\"]=500;t[\"seven\"]=500;t[\"eight\"]=500;t[\"nine\"]=500;t[\"colon\"]=333;t[\"semicolon\"]=333;t[\"less\"]=675;t[\"equal\"]=675;t[\"greater\"]=675;t[\"question\"]=500;t[\"at\"]=920;t[\"A\"]=611;t[\"B\"]=611;t[\"C\"]=667;t[\"D\"]=722;t[\"E\"]=611;t[\"F\"]=611;t[\"G\"]=722;t[\"H\"]=722;t[\"I\"]=333;t[\"J\"]=444;t[\"K\"]=667;t[\"L\"]=556;t[\"M\"]=833;t[\"N\"]=667;t[\"O\"]=722;t[\"P\"]=611;t[\"Q\"]=722;t[\"R\"]=611;t[\"S\"]=500;t[\"T\"]=556;t[\"U\"]=722;t[\"V\"]=611;t[\"W\"]=833;t[\"X\"]=611;t[\"Y\"]=556;t[\"Z\"]=556;t[\"bracketleft\"]=389;t[\"backslash\"]=278;t[\"bracketright\"]=389;t[\"asciicircum\"]=422;t[\"underscore\"]=500;t[\"quoteleft\"]=333;t[\"a\"]=500;t[\"b\"]=500;t[\"c\"]=444;t[\"d\"]=500;t[\"e\"]=444;t[\"f\"]=278;t[\"g\"]=500;t[\"h\"]=500;t[\"i\"]=278;t[\"j\"]=278;t[\"k\"]=444;t[\"l\"]=278;t[\"m\"]=722;t[\"n\"]=500;t[\"o\"]=500;t[\"p\"]=500;t[\"q\"]=500;t[\"r\"]=389;t[\"s\"]=389;t[\"t\"]=278;t[\"u\"]=500;t[\"v\"]=444;t[\"w\"]=667;t[\"x\"]=444;t[\"y\"]=444;t[\"z\"]=389;t[\"braceleft\"]=400;t[\"bar\"]=275;t[\"braceright\"]=400;t[\"asciitilde\"]=541;t[\"exclamdown\"]=389;t[\"cent\"]=500;t[\"sterling\"]=500;t[\"fraction\"]=167;t[\"yen\"]=500;t[\"florin\"]=500;t[\"section\"]=500;t[\"currency\"]=500;t[\"quotesingle\"]=214;t[\"quotedblleft\"]=556;t[\"guillemotleft\"]=500;t[\"guilsinglleft\"]=333;t[\"guilsinglright\"]=333;t[\"fi\"]=500;t[\"fl\"]=500;t[\"endash\"]=500;t[\"dagger\"]=500;t[\"daggerdbl\"]=500;t[\"periodcentered\"]=250;t[\"paragraph\"]=523;t[\"bullet\"]=350;t[\"quotesinglbase\"]=333;t[\"quotedblbase\"]=556;t[\"quotedblright\"]=556;t[\"guillemotright\"]=500;t[\"ellipsis\"]=889;t[\"perthousand\"]=1000;t[\"questiondown\"]=500;t[\"grave\"]=333;t[\"acute\"]=333;t[\"circumflex\"]=333;t[\"tilde\"]=333;t[\"macron\"]=333;t[\"breve\"]=333;t[\"dotaccent\"]=333;t[\"dieresis\"]=333;t[\"ring\"]=333;t[\"cedilla\"]=333;t[\"hungarumlaut\"]=333;t[\"ogonek\"]=333;t[\"caron\"]=333;t[\"emdash\"]=889;t[\"AE\"]=889;t[\"ordfeminine\"]=276;t[\"Lslash\"]=556;t[\"Oslash\"]=722;t[\"OE\"]=944;t[\"ordmasculine\"]=310;t[\"ae\"]=667;t[\"dotlessi\"]=278;t[\"lslash\"]=278;t[\"oslash\"]=500;t[\"oe\"]=667;t[\"germandbls\"]=500;t[\"Idieresis\"]=333;t[\"eacute\"]=444;t[\"abreve\"]=500;t[\"uhungarumlaut\"]=500;t[\"ecaron\"]=444;t[\"Ydieresis\"]=556;t[\"divide\"]=675;t[\"Yacute\"]=556;t[\"Acircumflex\"]=611;t[\"aacute\"]=500;t[\"Ucircumflex\"]=722;t[\"yacute\"]=444;t[\"scommaaccent\"]=389;t[\"ecircumflex\"]=444;t[\"Uring\"]=722;t[\"Udieresis\"]=722;t[\"aogonek\"]=500;t[\"Uacute\"]=722;t[\"uogonek\"]=500;t[\"Edieresis\"]=611;t[\"Dcroat\"]=722;t[\"commaaccent\"]=250;t[\"copyright\"]=760;t[\"Emacron\"]=611;t[\"ccaron\"]=444;t[\"aring\"]=500;t[\"Ncommaaccent\"]=667;t[\"lacute\"]=278;t[\"agrave\"]=500;t[\"Tcommaaccent\"]=556;t[\"Cacute\"]=667;t[\"atilde\"]=500;t[\"Edotaccent\"]=611;t[\"scaron\"]=389;t[\"scedilla\"]=389;t[\"iacute\"]=278;t[\"lozenge\"]=471;t[\"Rcaron\"]=611;t[\"Gcommaaccent\"]=722;t[\"ucircumflex\"]=500;t[\"acircumflex\"]=500;t[\"Amacron\"]=611;t[\"rcaron\"]=389;t[\"ccedilla\"]=444;t[\"Zdotaccent\"]=556;t[\"Thorn\"]=611;t[\"Omacron\"]=722;t[\"Racute\"]=611;t[\"Sacute\"]=500;t[\"dcaron\"]=544;t[\"Umacron\"]=722;t[\"uring\"]=500;t[\"threesuperior\"]=300;t[\"Ograve\"]=722;t[\"Agrave\"]=611;t[\"Abreve\"]=611;t[\"multiply\"]=675;t[\"uacute\"]=500;t[\"Tcaron\"]=556;t[\"partialdiff\"]=476;t[\"ydieresis\"]=444;t[\"Nacute\"]=667;t[\"icircumflex\"]=278;t[\"Ecircumflex\"]=611;t[\"adieresis\"]=500;t[\"edieresis\"]=444;t[\"cacute\"]=444;t[\"nacute\"]=500;t[\"umacron\"]=500;t[\"Ncaron\"]=667;t[\"Iacute\"]=333;t[\"plusminus\"]=675;t[\"brokenbar\"]=275;t[\"registered\"]=760;t[\"Gbreve\"]=722;t[\"Idotaccent\"]=333;t[\"summation\"]=600;t[\"Egrave\"]=611;t[\"racute\"]=389;t[\"omacron\"]=500;t[\"Zacute\"]=556;t[\"Zcaron\"]=556;t[\"greaterequal\"]=549;t[\"Eth\"]=722;t[\"Ccedilla\"]=667;t[\"lcommaaccent\"]=278;t[\"tcaron\"]=300;t[\"eogonek\"]=444;t[\"Uogonek\"]=722;t[\"Aacute\"]=611;t[\"Adieresis\"]=611;t[\"egrave\"]=444;t[\"zacute\"]=389;t[\"iogonek\"]=278;t[\"Oacute\"]=722;t[\"oacute\"]=500;t[\"amacron\"]=500;t[\"sacute\"]=389;t[\"idieresis\"]=278;t[\"Ocircumflex\"]=722;t[\"Ugrave\"]=722;t[\"Delta\"]=612;t[\"thorn\"]=500;t[\"twosuperior\"]=300;t[\"Odieresis\"]=722;t[\"mu\"]=500;t[\"igrave\"]=278;t[\"ohungarumlaut\"]=500;t[\"Eogonek\"]=611;t[\"dcroat\"]=500;t[\"threequarters\"]=750;t[\"Scedilla\"]=500;t[\"lcaron\"]=300;t[\"Kcommaaccent\"]=667;t[\"Lacute\"]=556;t[\"trademark\"]=980;t[\"edotaccent\"]=444;t[\"Igrave\"]=333;t[\"Imacron\"]=333;t[\"Lcaron\"]=611;t[\"onehalf\"]=750;t[\"lessequal\"]=549;t[\"ocircumflex\"]=500;t[\"ntilde\"]=500;t[\"Uhungarumlaut\"]=722;t[\"Eacute\"]=611;t[\"emacron\"]=444;t[\"gbreve\"]=500;t[\"onequarter\"]=750;t[\"Scaron\"]=500;t[\"Scommaaccent\"]=500;t[\"Ohungarumlaut\"]=722;t[\"degree\"]=400;t[\"ograve\"]=500;t[\"Ccaron\"]=667;t[\"ugrave\"]=500;t[\"radical\"]=453;t[\"Dcaron\"]=722;t[\"rcommaaccent\"]=389;t[\"Ntilde\"]=667;t[\"otilde\"]=500;t[\"Rcommaaccent\"]=611;t[\"Lcommaaccent\"]=556;t[\"Atilde\"]=611;t[\"Aogonek\"]=611;t[\"Aring\"]=611;t[\"Otilde\"]=722;t[\"zdotaccent\"]=389;t[\"Ecaron\"]=611;t[\"Iogonek\"]=333;t[\"kcommaaccent\"]=444;t[\"minus\"]=675;t[\"Icircumflex\"]=333;t[\"ncaron\"]=500;t[\"tcommaaccent\"]=278;t[\"logicalnot\"]=675;t[\"odieresis\"]=500;t[\"udieresis\"]=500;t[\"notequal\"]=549;t[\"gcommaaccent\"]=500;t[\"eth\"]=500;t[\"zcaron\"]=389;t[\"ncommaaccent\"]=500;t[\"onesuperior\"]=300;t[\"imacron\"]=278;t[\"Euro\"]=500;});t[\"ZapfDingbats\"]=(0,_core_utils.getLookupTableFactory)(function(t){t[\"space\"]=278;t[\"a1\"]=974;t[\"a2\"]=961;t[\"a202\"]=974;t[\"a3\"]=980;t[\"a4\"]=719;t[\"a5\"]=789;t[\"a119\"]=790;t[\"a118\"]=791;t[\"a117\"]=690;t[\"a11\"]=960;t[\"a12\"]=939;t[\"a13\"]=549;t[\"a14\"]=855;t[\"a15\"]=911;t[\"a16\"]=933;t[\"a105\"]=911;t[\"a17\"]=945;t[\"a18\"]=974;t[\"a19\"]=755;t[\"a20\"]=846;t[\"a21\"]=762;t[\"a22\"]=761;t[\"a23\"]=571;t[\"a24\"]=677;t[\"a25\"]=763;t[\"a26\"]=760;t[\"a27\"]=759;t[\"a28\"]=754;t[\"a6\"]=494;t[\"a7\"]=552;t[\"a8\"]=537;t[\"a9\"]=577;t[\"a10\"]=692;t[\"a29\"]=786;t[\"a30\"]=788;t[\"a31\"]=788;t[\"a32\"]=790;t[\"a33\"]=793;t[\"a34\"]=794;t[\"a35\"]=816;t[\"a36\"]=823;t[\"a37\"]=789;t[\"a38\"]=841;t[\"a39\"]=823;t[\"a40\"]=833;t[\"a41\"]=816;t[\"a42\"]=831;t[\"a43\"]=923;t[\"a44\"]=744;t[\"a45\"]=723;t[\"a46\"]=749;t[\"a47\"]=790;t[\"a48\"]=792;t[\"a49\"]=695;t[\"a50\"]=776;t[\"a51\"]=768;t[\"a52\"]=792;t[\"a53\"]=759;t[\"a54\"]=707;t[\"a55\"]=708;t[\"a56\"]=682;t[\"a57\"]=701;t[\"a58\"]=826;t[\"a59\"]=815;t[\"a60\"]=789;t[\"a61\"]=789;t[\"a62\"]=707;t[\"a63\"]=687;t[\"a64\"]=696;t[\"a65\"]=689;t[\"a66\"]=786;t[\"a67\"]=787;t[\"a68\"]=713;t[\"a69\"]=791;t[\"a70\"]=785;t[\"a71\"]=791;t[\"a72\"]=873;t[\"a73\"]=761;t[\"a74\"]=762;t[\"a203\"]=762;t[\"a75\"]=759;t[\"a204\"]=759;t[\"a76\"]=892;t[\"a77\"]=892;t[\"a78\"]=788;t[\"a79\"]=784;t[\"a81\"]=438;t[\"a82\"]=138;t[\"a83\"]=277;t[\"a84\"]=415;t[\"a97\"]=392;t[\"a98\"]=392;t[\"a99\"]=668;t[\"a100\"]=668;t[\"a89\"]=390;t[\"a90\"]=390;t[\"a93\"]=317;t[\"a94\"]=317;t[\"a91\"]=276;t[\"a92\"]=276;t[\"a205\"]=509;t[\"a85\"]=509;t[\"a206\"]=410;t[\"a86\"]=410;t[\"a87\"]=234;t[\"a88\"]=234;t[\"a95\"]=334;t[\"a96\"]=334;t[\"a101\"]=732;t[\"a102\"]=544;t[\"a103\"]=544;t[\"a104\"]=910;t[\"a106\"]=667;t[\"a107\"]=760;t[\"a108\"]=760;t[\"a112\"]=776;t[\"a111\"]=595;t[\"a110\"]=694;t[\"a109\"]=626;t[\"a120\"]=788;t[\"a121\"]=788;t[\"a122\"]=788;t[\"a123\"]=788;t[\"a124\"]=788;t[\"a125\"]=788;t[\"a126\"]=788;t[\"a127\"]=788;t[\"a128\"]=788;t[\"a129\"]=788;t[\"a130\"]=788;t[\"a131\"]=788;t[\"a132\"]=788;t[\"a133\"]=788;t[\"a134\"]=788;t[\"a135\"]=788;t[\"a136\"]=788;t[\"a137\"]=788;t[\"a138\"]=788;t[\"a139\"]=788;t[\"a140\"]=788;t[\"a141\"]=788;t[\"a142\"]=788;t[\"a143\"]=788;t[\"a144\"]=788;t[\"a145\"]=788;t[\"a146\"]=788;t[\"a147\"]=788;t[\"a148\"]=788;t[\"a149\"]=788;t[\"a150\"]=788;t[\"a151\"]=788;t[\"a152\"]=788;t[\"a153\"]=788;t[\"a154\"]=788;t[\"a155\"]=788;t[\"a156\"]=788;t[\"a157\"]=788;t[\"a158\"]=788;t[\"a159\"]=788;t[\"a160\"]=894;t[\"a161\"]=838;t[\"a163\"]=1016;t[\"a164\"]=458;t[\"a196\"]=748;t[\"a165\"]=924;t[\"a192\"]=748;t[\"a166\"]=918;t[\"a167\"]=927;t[\"a168\"]=928;t[\"a169\"]=928;t[\"a170\"]=834;t[\"a171\"]=873;t[\"a172\"]=828;t[\"a173\"]=924;t[\"a162\"]=924;t[\"a174\"]=917;t[\"a175\"]=930;t[\"a176\"]=931;t[\"a177\"]=463;t[\"a178\"]=883;t[\"a179\"]=836;t[\"a193\"]=836;t[\"a180\"]=867;t[\"a199\"]=867;t[\"a181\"]=696;t[\"a200\"]=696;t[\"a182\"]=874;t[\"a201\"]=874;t[\"a183\"]=760;t[\"a184\"]=946;t[\"a197\"]=771;t[\"a185\"]=865;t[\"a194\"]=771;t[\"a198\"]=888;t[\"a186\"]=967;t[\"a195\"]=888;t[\"a187\"]=831;t[\"a188\"]=873;t[\"a189\"]=927;t[\"a190\"]=970;t[\"a191\"]=918;});});exports.getMetrics=getMetrics;/***/},/* 39 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.isPDFFunction=isPDFFunction;exports.PostScriptCompiler=exports.PostScriptEvaluator=exports.PDFFunctionFactory=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _ps_parser=__w_pdfjs_require__(40);var PDFFunctionFactory=/*#__PURE__*/function(){function PDFFunctionFactory(_ref30){var xref=_ref30.xref,_ref30$isEvalSupporte=_ref30.isEvalSupported,isEvalSupported=_ref30$isEvalSupporte===void 0?true:_ref30$isEvalSupporte;_classCallCheck(this,PDFFunctionFactory);this.xref=xref;this.isEvalSupported=isEvalSupported!==false;}_createClass(PDFFunctionFactory,[{key:\"create\",value:function create(fn){return PDFFunction.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:fn});}},{key:\"createFromArray\",value:function createFromArray(fnObj){return PDFFunction.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:fnObj});}}]);return PDFFunctionFactory;}();exports.PDFFunctionFactory=PDFFunctionFactory;function toNumberArray(arr){if(!Array.isArray(arr)){return null;}var length=arr.length;for(var i=0;i<length;i++){if(typeof arr[i]!==\"number\"){var result=new Array(length);for(var _i23=0;_i23<length;_i23++){result[_i23]=+arr[_i23];}return result;}}return arr;}var PDFFunction=function PDFFunctionClosure(){var CONSTRUCT_SAMPLED=0;var CONSTRUCT_INTERPOLATED=2;var CONSTRUCT_STICHED=3;var CONSTRUCT_POSTSCRIPT=4;return{getSampleArray:function getSampleArray(size,outputSize,bps,stream){var i,ii;var length=1;for(i=0,ii=size.length;i<ii;i++){length*=size[i];}length*=outputSize;var array=new Array(length);var codeSize=0;var codeBuf=0;var sampleMul=1.0/(Math.pow(2.0,bps)-1);var strBytes=stream.getBytes((length*bps+7)/8);var strIdx=0;for(i=0;i<length;i++){while(codeSize<bps){codeBuf<<=8;codeBuf|=strBytes[strIdx++];codeSize+=8;}codeSize-=bps;array[i]=(codeBuf>>codeSize)*sampleMul;codeBuf&=(1<<codeSize)-1;}return array;},getIR:function getIR(_ref31){var xref=_ref31.xref,isEvalSupported=_ref31.isEvalSupported,fn=_ref31.fn;var dict=fn.dict;if(!dict){dict=fn;}var types=[this.constructSampled,null,this.constructInterpolated,this.constructStiched,this.constructPostScript];var typeNum=dict.get(\"FunctionType\");var typeFn=types[typeNum];if(!typeFn){throw new _util.FormatError(\"Unknown type of function\");}return typeFn.call(this,{xref:xref,isEvalSupported:isEvalSupported,fn:fn,dict:dict});},fromIR:function fromIR(_ref32){var xref=_ref32.xref,isEvalSupported=_ref32.isEvalSupported,IR=_ref32.IR;var type=IR[0];switch(type){case CONSTRUCT_SAMPLED:return this.constructSampledFromIR({xref:xref,isEvalSupported:isEvalSupported,IR:IR});case CONSTRUCT_INTERPOLATED:return this.constructInterpolatedFromIR({xref:xref,isEvalSupported:isEvalSupported,IR:IR});case CONSTRUCT_STICHED:return this.constructStichedFromIR({xref:xref,isEvalSupported:isEvalSupported,IR:IR});default:return this.constructPostScriptFromIR({xref:xref,isEvalSupported:isEvalSupported,IR:IR});}},parse:function parse(_ref33){var xref=_ref33.xref,isEvalSupported=_ref33.isEvalSupported,fn=_ref33.fn;var IR=this.getIR({xref:xref,isEvalSupported:isEvalSupported,fn:fn});return this.fromIR({xref:xref,isEvalSupported:isEvalSupported,IR:IR});},parseArray:function parseArray(_ref34){var xref=_ref34.xref,isEvalSupported=_ref34.isEvalSupported,fnObj=_ref34.fnObj;if(!Array.isArray(fnObj)){return this.parse({xref:xref,isEvalSupported:isEvalSupported,fn:fnObj});}var fnArray=[];for(var j=0,jj=fnObj.length;j<jj;j++){fnArray.push(this.parse({xref:xref,isEvalSupported:isEvalSupported,fn:xref.fetchIfRef(fnObj[j])}));}return function(src,srcOffset,dest,destOffset){for(var i=0,ii=fnArray.length;i<ii;i++){fnArray[i](src,srcOffset,dest,destOffset+i);}};},constructSampled:function constructSampled(_ref35){var xref=_ref35.xref,isEvalSupported=_ref35.isEvalSupported,fn=_ref35.fn,dict=_ref35.dict;function toMultiArray(arr){var inputLength=arr.length;var out=[];var index=0;for(var i=0;i<inputLength;i+=2){out[index]=[arr[i],arr[i+1]];++index;}return out;}var domain=toNumberArray(dict.getArray(\"Domain\"));var range=toNumberArray(dict.getArray(\"Range\"));if(!domain||!range){throw new _util.FormatError(\"No domain or range\");}var inputSize=domain.length/2;var outputSize=range.length/2;domain=toMultiArray(domain);range=toMultiArray(range);var size=toNumberArray(dict.getArray(\"Size\"));var bps=dict.get(\"BitsPerSample\");var order=dict.get(\"Order\")||1;if(order!==1){(0,_util.info)(\"No support for cubic spline interpolation: \"+order);}var encode=toNumberArray(dict.getArray(\"Encode\"));if(!encode){encode=[];for(var i=0;i<inputSize;++i){encode.push([0,size[i]-1]);}}else{encode=toMultiArray(encode);}var decode=toNumberArray(dict.getArray(\"Decode\"));if(!decode){decode=range;}else{decode=toMultiArray(decode);}var samples=this.getSampleArray(size,outputSize,bps,fn);return[CONSTRUCT_SAMPLED,inputSize,domain,encode,decode,samples,size,outputSize,Math.pow(2,bps)-1,range];},constructSampledFromIR:function constructSampledFromIR(_ref36){var xref=_ref36.xref,isEvalSupported=_ref36.isEvalSupported,IR=_ref36.IR;function interpolate(x,xmin,xmax,ymin,ymax){return ymin+(x-xmin)*((ymax-ymin)/(xmax-xmin));}return function constructSampledFromIRResult(src,srcOffset,dest,destOffset){var m=IR[1];var domain=IR[2];var encode=IR[3];var decode=IR[4];var samples=IR[5];var size=IR[6];var n=IR[7];var range=IR[9];var cubeVertices=1<<m;var cubeN=new Float64Array(cubeVertices);var cubeVertex=new Uint32Array(cubeVertices);var i,j;for(j=0;j<cubeVertices;j++){cubeN[j]=1;}var k=n,pos=1;for(i=0;i<m;++i){var domain_2i=domain[i][0];var domain_2i_1=domain[i][1];var xi=Math.min(Math.max(src[srcOffset+i],domain_2i),domain_2i_1);var e=interpolate(xi,domain_2i,domain_2i_1,encode[i][0],encode[i][1]);var size_i=size[i];e=Math.min(Math.max(e,0),size_i-1);var e0=e<size_i-1?Math.floor(e):e-1;var n0=e0+1-e;var n1=e-e0;var offset0=e0*k;var offset1=offset0+k;for(j=0;j<cubeVertices;j++){if(j&pos){cubeN[j]*=n1;cubeVertex[j]+=offset1;}else{cubeN[j]*=n0;cubeVertex[j]+=offset0;}}k*=size_i;pos<<=1;}for(j=0;j<n;++j){var rj=0;for(i=0;i<cubeVertices;i++){rj+=samples[cubeVertex[i]+j]*cubeN[i];}rj=interpolate(rj,0,1,decode[j][0],decode[j][1]);dest[destOffset+j]=Math.min(Math.max(rj,range[j][0]),range[j][1]);}};},constructInterpolated:function constructInterpolated(_ref37){var xref=_ref37.xref,isEvalSupported=_ref37.isEvalSupported,fn=_ref37.fn,dict=_ref37.dict;var c0=toNumberArray(dict.getArray(\"C0\"))||[0];var c1=toNumberArray(dict.getArray(\"C1\"))||[1];var n=dict.get(\"N\");var length=c0.length;var diff=[];for(var i=0;i<length;++i){diff.push(c1[i]-c0[i]);}return[CONSTRUCT_INTERPOLATED,c0,diff,n];},constructInterpolatedFromIR:function constructInterpolatedFromIR(_ref38){var xref=_ref38.xref,isEvalSupported=_ref38.isEvalSupported,IR=_ref38.IR;var c0=IR[1];var diff=IR[2];var n=IR[3];var length=diff.length;return function constructInterpolatedFromIRResult(src,srcOffset,dest,destOffset){var x=n===1?src[srcOffset]:Math.pow(src[srcOffset],n);for(var j=0;j<length;++j){dest[destOffset+j]=c0[j]+x*diff[j];}};},constructStiched:function constructStiched(_ref39){var xref=_ref39.xref,isEvalSupported=_ref39.isEvalSupported,fn=_ref39.fn,dict=_ref39.dict;var domain=toNumberArray(dict.getArray(\"Domain\"));if(!domain){throw new _util.FormatError(\"No domain\");}var inputSize=domain.length/2;if(inputSize!==1){throw new _util.FormatError(\"Bad domain for stiched function\");}var fnRefs=dict.get(\"Functions\");var fns=[];for(var i=0,ii=fnRefs.length;i<ii;++i){fns.push(this.parse({xref:xref,isEvalSupported:isEvalSupported,fn:xref.fetchIfRef(fnRefs[i])}));}var bounds=toNumberArray(dict.getArray(\"Bounds\"));var encode=toNumberArray(dict.getArray(\"Encode\"));return[CONSTRUCT_STICHED,domain,bounds,encode,fns];},constructStichedFromIR:function constructStichedFromIR(_ref40){var xref=_ref40.xref,isEvalSupported=_ref40.isEvalSupported,IR=_ref40.IR;var domain=IR[1];var bounds=IR[2];var encode=IR[3];var fns=IR[4];var tmpBuf=new Float32Array(1);return function constructStichedFromIRResult(src,srcOffset,dest,destOffset){var clip=function constructStichedFromIRClip(v,min,max){if(v>max){v=max;}else if(v<min){v=min;}return v;};var v=clip(src[srcOffset],domain[0],domain[1]);for(var i=0,ii=bounds.length;i<ii;++i){if(v<bounds[i]){break;}}var dmin=domain[0];if(i>0){dmin=bounds[i-1];}var dmax=domain[1];if(i<bounds.length){dmax=bounds[i];}var rmin=encode[2*i];var rmax=encode[2*i+1];tmpBuf[0]=dmin===dmax?rmin:rmin+(v-dmin)*(rmax-rmin)/(dmax-dmin);fns[i](tmpBuf,0,dest,destOffset);};},constructPostScript:function constructPostScript(_ref41){var xref=_ref41.xref,isEvalSupported=_ref41.isEvalSupported,fn=_ref41.fn,dict=_ref41.dict;var domain=toNumberArray(dict.getArray(\"Domain\"));var range=toNumberArray(dict.getArray(\"Range\"));if(!domain){throw new _util.FormatError(\"No domain.\");}if(!range){throw new _util.FormatError(\"No range.\");}var lexer=new _ps_parser.PostScriptLexer(fn);var parser=new _ps_parser.PostScriptParser(lexer);var code=parser.parse();return[CONSTRUCT_POSTSCRIPT,domain,range,code];},constructPostScriptFromIR:function constructPostScriptFromIR(_ref42){var xref=_ref42.xref,isEvalSupported=_ref42.isEvalSupported,IR=_ref42.IR;var domain=IR[1];var range=IR[2];var code=IR[3];if(isEvalSupported&&_util.IsEvalSupportedCached.value){var compiled=new PostScriptCompiler().compile(code,domain,range);if(compiled){return new Function(\"src\",\"srcOffset\",\"dest\",\"destOffset\",compiled);}}(0,_util.info)(\"Unable to compile PS function\");var numOutputs=range.length>>1;var numInputs=domain.length>>1;var evaluator=new PostScriptEvaluator(code);var cache=Object.create(null);var MAX_CACHE_SIZE=2048*4;var cache_available=MAX_CACHE_SIZE;var tmpBuf=new Float32Array(numInputs);return function constructPostScriptFromIRResult(src,srcOffset,dest,destOffset){var i,value;var key=\"\";var input=tmpBuf;for(i=0;i<numInputs;i++){value=src[srcOffset+i];input[i]=value;key+=value+\"_\";}var cachedValue=cache[key];if(cachedValue!==undefined){dest.set(cachedValue,destOffset);return;}var output=new Float32Array(numOutputs);var stack=evaluator.execute(input);var stackIndex=stack.length-numOutputs;for(i=0;i<numOutputs;i++){value=stack[stackIndex+i];var bound=range[i*2];if(value<bound){value=bound;}else{bound=range[i*2+1];if(value>bound){value=bound;}}output[i]=value;}if(cache_available>0){cache_available--;cache[key]=output;}dest.set(output,destOffset);};}};}();function isPDFFunction(v){var fnDict;if(_typeof(v)!==\"object\"){return false;}else if((0,_primitives.isDict)(v)){fnDict=v;}else if((0,_primitives.isStream)(v)){fnDict=v.dict;}else{return false;}return fnDict.has(\"FunctionType\");}var PostScriptStack=function PostScriptStackClosure(){var MAX_STACK_SIZE=100;function PostScriptStack(initialStack){this.stack=!initialStack?[]:Array.prototype.slice.call(initialStack,0);}PostScriptStack.prototype={push:function PostScriptStack_push(value){if(this.stack.length>=MAX_STACK_SIZE){throw new Error(\"PostScript function stack overflow.\");}this.stack.push(value);},pop:function PostScriptStack_pop(){if(this.stack.length<=0){throw new Error(\"PostScript function stack underflow.\");}return this.stack.pop();},copy:function PostScriptStack_copy(n){if(this.stack.length+n>=MAX_STACK_SIZE){throw new Error(\"PostScript function stack overflow.\");}var stack=this.stack;for(var i=stack.length-n,j=n-1;j>=0;j--,i++){stack.push(stack[i]);}},index:function PostScriptStack_index(n){this.push(this.stack[this.stack.length-n-1]);},roll:function PostScriptStack_roll(n,p){var stack=this.stack;var l=stack.length-n;var r=stack.length-1,c=l+(p-Math.floor(p/n)*n),i,j,t;for(i=l,j=r;i<j;i++,j--){t=stack[i];stack[i]=stack[j];stack[j]=t;}for(i=l,j=c-1;i<j;i++,j--){t=stack[i];stack[i]=stack[j];stack[j]=t;}for(i=c,j=r;i<j;i++,j--){t=stack[i];stack[i]=stack[j];stack[j]=t;}}};return PostScriptStack;}();var PostScriptEvaluator=function PostScriptEvaluatorClosure(){function PostScriptEvaluator(operators){this.operators=operators;}PostScriptEvaluator.prototype={execute:function PostScriptEvaluator_execute(initialStack){var stack=new PostScriptStack(initialStack);var counter=0;var operators=this.operators;var length=operators.length;var operator,a,b;while(counter<length){operator=operators[counter++];if(typeof operator===\"number\"){stack.push(operator);continue;}switch(operator){case\"jz\":b=stack.pop();a=stack.pop();if(!a){counter=b;}break;case\"j\":a=stack.pop();counter=a;break;case\"abs\":a=stack.pop();stack.push(Math.abs(a));break;case\"add\":b=stack.pop();a=stack.pop();stack.push(a+b);break;case\"and\":b=stack.pop();a=stack.pop();if((0,_util.isBool)(a)&&(0,_util.isBool)(b)){stack.push(a&&b);}else{stack.push(a&b);}break;case\"atan\":a=stack.pop();stack.push(Math.atan(a));break;case\"bitshift\":b=stack.pop();a=stack.pop();if(a>0){stack.push(a<<b);}else{stack.push(a>>b);}break;case\"ceiling\":a=stack.pop();stack.push(Math.ceil(a));break;case\"copy\":a=stack.pop();stack.copy(a);break;case\"cos\":a=stack.pop();stack.push(Math.cos(a));break;case\"cvi\":a=stack.pop()|0;stack.push(a);break;case\"cvr\":break;case\"div\":b=stack.pop();a=stack.pop();stack.push(a/b);break;case\"dup\":stack.copy(1);break;case\"eq\":b=stack.pop();a=stack.pop();stack.push(a===b);break;case\"exch\":stack.roll(2,1);break;case\"exp\":b=stack.pop();a=stack.pop();stack.push(Math.pow(a,b));break;case\"false\":stack.push(false);break;case\"floor\":a=stack.pop();stack.push(Math.floor(a));break;case\"ge\":b=stack.pop();a=stack.pop();stack.push(a>=b);break;case\"gt\":b=stack.pop();a=stack.pop();stack.push(a>b);break;case\"idiv\":b=stack.pop();a=stack.pop();stack.push(a/b|0);break;case\"index\":a=stack.pop();stack.index(a);break;case\"le\":b=stack.pop();a=stack.pop();stack.push(a<=b);break;case\"ln\":a=stack.pop();stack.push(Math.log(a));break;case\"log\":a=stack.pop();stack.push(Math.log(a)/Math.LN10);break;case\"lt\":b=stack.pop();a=stack.pop();stack.push(a<b);break;case\"mod\":b=stack.pop();a=stack.pop();stack.push(a%b);break;case\"mul\":b=stack.pop();a=stack.pop();stack.push(a*b);break;case\"ne\":b=stack.pop();a=stack.pop();stack.push(a!==b);break;case\"neg\":a=stack.pop();stack.push(-a);break;case\"not\":a=stack.pop();if((0,_util.isBool)(a)){stack.push(!a);}else{stack.push(~a);}break;case\"or\":b=stack.pop();a=stack.pop();if((0,_util.isBool)(a)&&(0,_util.isBool)(b)){stack.push(a||b);}else{stack.push(a|b);}break;case\"pop\":stack.pop();break;case\"roll\":b=stack.pop();a=stack.pop();stack.roll(a,b);break;case\"round\":a=stack.pop();stack.push(Math.round(a));break;case\"sin\":a=stack.pop();stack.push(Math.sin(a));break;case\"sqrt\":a=stack.pop();stack.push(Math.sqrt(a));break;case\"sub\":b=stack.pop();a=stack.pop();stack.push(a-b);break;case\"true\":stack.push(true);break;case\"truncate\":a=stack.pop();a=a<0?Math.ceil(a):Math.floor(a);stack.push(a);break;case\"xor\":b=stack.pop();a=stack.pop();if((0,_util.isBool)(a)&&(0,_util.isBool)(b)){stack.push(a!==b);}else{stack.push(a^b);}break;default:throw new _util.FormatError(\"Unknown operator \".concat(operator));}}return stack.stack;}};return PostScriptEvaluator;}();exports.PostScriptEvaluator=PostScriptEvaluator;var PostScriptCompiler=function PostScriptCompilerClosure(){function AstNode(type){this.type=type;}AstNode.prototype.visit=function(visitor){(0,_util.unreachable)(\"abstract method\");};function AstArgument(index,min,max){AstNode.call(this,\"args\");this.index=index;this.min=min;this.max=max;}AstArgument.prototype=Object.create(AstNode.prototype);AstArgument.prototype.visit=function(visitor){visitor.visitArgument(this);};function AstLiteral(number){AstNode.call(this,\"literal\");this.number=number;this.min=number;this.max=number;}AstLiteral.prototype=Object.create(AstNode.prototype);AstLiteral.prototype.visit=function(visitor){visitor.visitLiteral(this);};function AstBinaryOperation(op,arg1,arg2,min,max){AstNode.call(this,\"binary\");this.op=op;this.arg1=arg1;this.arg2=arg2;this.min=min;this.max=max;}AstBinaryOperation.prototype=Object.create(AstNode.prototype);AstBinaryOperation.prototype.visit=function(visitor){visitor.visitBinaryOperation(this);};function AstMin(arg,max){AstNode.call(this,\"max\");this.arg=arg;this.min=arg.min;this.max=max;}AstMin.prototype=Object.create(AstNode.prototype);AstMin.prototype.visit=function(visitor){visitor.visitMin(this);};function AstVariable(index,min,max){AstNode.call(this,\"var\");this.index=index;this.min=min;this.max=max;}AstVariable.prototype=Object.create(AstNode.prototype);AstVariable.prototype.visit=function(visitor){visitor.visitVariable(this);};function AstVariableDefinition(variable,arg){AstNode.call(this,\"definition\");this.variable=variable;this.arg=arg;}AstVariableDefinition.prototype=Object.create(AstNode.prototype);AstVariableDefinition.prototype.visit=function(visitor){visitor.visitVariableDefinition(this);};function ExpressionBuilderVisitor(){this.parts=[];}ExpressionBuilderVisitor.prototype={visitArgument:function visitArgument(arg){this.parts.push(\"Math.max(\",arg.min,\", Math.min(\",arg.max,\", src[srcOffset + \",arg.index,\"]))\");},visitVariable:function visitVariable(variable){this.parts.push(\"v\",variable.index);},visitLiteral:function visitLiteral(literal){this.parts.push(literal.number);},visitBinaryOperation:function visitBinaryOperation(operation){this.parts.push(\"(\");operation.arg1.visit(this);this.parts.push(\" \",operation.op,\" \");operation.arg2.visit(this);this.parts.push(\")\");},visitVariableDefinition:function visitVariableDefinition(definition){this.parts.push(\"var \");definition.variable.visit(this);this.parts.push(\" = \");definition.arg.visit(this);this.parts.push(\";\");},visitMin:function visitMin(max){this.parts.push(\"Math.min(\");max.arg.visit(this);this.parts.push(\", \",max.max,\")\");},toString:function toString(){return this.parts.join(\"\");}};function buildAddOperation(num1,num2){if(num2.type===\"literal\"&&num2.number===0){return num1;}if(num1.type===\"literal\"&&num1.number===0){return num2;}if(num2.type===\"literal\"&&num1.type===\"literal\"){return new AstLiteral(num1.number+num2.number);}return new AstBinaryOperation(\"+\",num1,num2,num1.min+num2.min,num1.max+num2.max);}function buildMulOperation(num1,num2){if(num2.type===\"literal\"){if(num2.number===0){return new AstLiteral(0);}else if(num2.number===1){return num1;}else if(num1.type===\"literal\"){return new AstLiteral(num1.number*num2.number);}}if(num1.type===\"literal\"){if(num1.number===0){return new AstLiteral(0);}else if(num1.number===1){return num2;}}var min=Math.min(num1.min*num2.min,num1.min*num2.max,num1.max*num2.min,num1.max*num2.max);var max=Math.max(num1.min*num2.min,num1.min*num2.max,num1.max*num2.min,num1.max*num2.max);return new AstBinaryOperation(\"*\",num1,num2,min,max);}function buildSubOperation(num1,num2){if(num2.type===\"literal\"){if(num2.number===0){return num1;}else if(num1.type===\"literal\"){return new AstLiteral(num1.number-num2.number);}}if(num2.type===\"binary\"&&num2.op===\"-\"&&num1.type===\"literal\"&&num1.number===1&&num2.arg1.type===\"literal\"&&num2.arg1.number===1){return num2.arg2;}return new AstBinaryOperation(\"-\",num1,num2,num1.min-num2.max,num1.max-num2.min);}function buildMinOperation(num1,max){if(num1.min>=max){return new AstLiteral(max);}else if(num1.max<=max){return num1;}return new AstMin(num1,max);}function PostScriptCompiler(){}PostScriptCompiler.prototype={compile:function PostScriptCompiler_compile(code,domain,range){var stack=[];var i,ii;var instructions=[];var inputSize=domain.length>>1,outputSize=range.length>>1;var lastRegister=0;var n,j;var num1,num2,ast1,ast2,tmpVar,item;for(i=0;i<inputSize;i++){stack.push(new AstArgument(i,domain[i*2],domain[i*2+1]));}for(i=0,ii=code.length;i<ii;i++){item=code[i];if(typeof item===\"number\"){stack.push(new AstLiteral(item));continue;}switch(item){case\"add\":if(stack.length<2){return null;}num2=stack.pop();num1=stack.pop();stack.push(buildAddOperation(num1,num2));break;case\"cvr\":if(stack.length<1){return null;}break;case\"mul\":if(stack.length<2){return null;}num2=stack.pop();num1=stack.pop();stack.push(buildMulOperation(num1,num2));break;case\"sub\":if(stack.length<2){return null;}num2=stack.pop();num1=stack.pop();stack.push(buildSubOperation(num1,num2));break;case\"exch\":if(stack.length<2){return null;}ast1=stack.pop();ast2=stack.pop();stack.push(ast1,ast2);break;case\"pop\":if(stack.length<1){return null;}stack.pop();break;case\"index\":if(stack.length<1){return null;}num1=stack.pop();if(num1.type!==\"literal\"){return null;}n=num1.number;if(n<0||!Number.isInteger(n)||stack.length<n){return null;}ast1=stack[stack.length-n-1];if(ast1.type===\"literal\"||ast1.type===\"var\"){stack.push(ast1);break;}tmpVar=new AstVariable(lastRegister++,ast1.min,ast1.max);stack[stack.length-n-1]=tmpVar;stack.push(tmpVar);instructions.push(new AstVariableDefinition(tmpVar,ast1));break;case\"dup\":if(stack.length<1){return null;}if(typeof code[i+1]===\"number\"&&code[i+2]===\"gt\"&&code[i+3]===i+7&&code[i+4]===\"jz\"&&code[i+5]===\"pop\"&&code[i+6]===code[i+1]){num1=stack.pop();stack.push(buildMinOperation(num1,code[i+1]));i+=6;break;}ast1=stack[stack.length-1];if(ast1.type===\"literal\"||ast1.type===\"var\"){stack.push(ast1);break;}tmpVar=new AstVariable(lastRegister++,ast1.min,ast1.max);stack[stack.length-1]=tmpVar;stack.push(tmpVar);instructions.push(new AstVariableDefinition(tmpVar,ast1));break;case\"roll\":if(stack.length<2){return null;}num2=stack.pop();num1=stack.pop();if(num2.type!==\"literal\"||num1.type!==\"literal\"){return null;}j=num2.number;n=num1.number;if(n<=0||!Number.isInteger(n)||!Number.isInteger(j)||stack.length<n){return null;}j=(j%n+n)%n;if(j===0){break;}Array.prototype.push.apply(stack,stack.splice(stack.length-n,n-j));break;default:return null;}}if(stack.length!==outputSize){return null;}var result=[];instructions.forEach(function(instruction){var statementBuilder=new ExpressionBuilderVisitor();instruction.visit(statementBuilder);result.push(statementBuilder.toString());});stack.forEach(function(expr,i){var statementBuilder=new ExpressionBuilderVisitor();expr.visit(statementBuilder);var min=range[i*2],max=range[i*2+1];var out=[statementBuilder.toString()];if(min>expr.min){out.unshift(\"Math.max(\",min,\", \");out.push(\")\");}if(max<expr.max){out.unshift(\"Math.min(\",max,\", \");out.push(\")\");}out.unshift(\"dest[destOffset + \",i,\"] = \");out.push(\";\");result.push(out.join(\"\"));});return result.join(\"\\n\");}};return PostScriptCompiler;}();exports.PostScriptCompiler=PostScriptCompiler;/***/},/* 40 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PostScriptParser=exports.PostScriptLexer=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _core_utils=__w_pdfjs_require__(7);var PostScriptParser=/*#__PURE__*/function(){function PostScriptParser(lexer){_classCallCheck(this,PostScriptParser);this.lexer=lexer;this.operators=[];this.token=null;this.prev=null;}_createClass(PostScriptParser,[{key:\"nextToken\",value:function nextToken(){this.prev=this.token;this.token=this.lexer.getToken();}},{key:\"accept\",value:function accept(type){if(this.token.type===type){this.nextToken();return true;}return false;}},{key:\"expect\",value:function expect(type){if(this.accept(type)){return true;}throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type,\" expected \").concat(type,\".\"));}},{key:\"parse\",value:function parse(){this.nextToken();this.expect(PostScriptTokenTypes.LBRACE);this.parseBlock();this.expect(PostScriptTokenTypes.RBRACE);return this.operators;}},{key:\"parseBlock\",value:function parseBlock(){while(true){if(this.accept(PostScriptTokenTypes.NUMBER)){this.operators.push(this.prev.value);}else if(this.accept(PostScriptTokenTypes.OPERATOR)){this.operators.push(this.prev.value);}else if(this.accept(PostScriptTokenTypes.LBRACE)){this.parseCondition();}else{return;}}}},{key:\"parseCondition\",value:function parseCondition(){var conditionLocation=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(PostScriptTokenTypes.RBRACE);if(this.accept(PostScriptTokenTypes.IF)){this.operators[conditionLocation]=this.operators.length;this.operators[conditionLocation+1]=\"jz\";}else if(this.accept(PostScriptTokenTypes.LBRACE)){var jumpLocation=this.operators.length;this.operators.push(null,null);var endOfTrue=this.operators.length;this.parseBlock();this.expect(PostScriptTokenTypes.RBRACE);this.expect(PostScriptTokenTypes.IFELSE);this.operators[jumpLocation]=this.operators.length;this.operators[jumpLocation+1]=\"j\";this.operators[conditionLocation]=endOfTrue;this.operators[conditionLocation+1]=\"jz\";}else{throw new _util.FormatError(\"PS Function: error parsing conditional.\");}}}]);return PostScriptParser;}();exports.PostScriptParser=PostScriptParser;var PostScriptTokenTypes={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};var PostScriptToken=function PostScriptTokenClosure(){var opCache=Object.create(null);var PostScriptToken=/*#__PURE__*/function(){function PostScriptToken(type,value){_classCallCheck(this,PostScriptToken);this.type=type;this.value=value;}_createClass(PostScriptToken,null,[{key:\"getOperator\",value:function getOperator(op){var opValue=opCache[op];if(opValue){return opValue;}return opCache[op]=new PostScriptToken(PostScriptTokenTypes.OPERATOR,op);}},{key:\"LBRACE\",get:function get(){return(0,_util.shadow)(this,\"LBRACE\",new PostScriptToken(PostScriptTokenTypes.LBRACE,\"{\"));}},{key:\"RBRACE\",get:function get(){return(0,_util.shadow)(this,\"RBRACE\",new PostScriptToken(PostScriptTokenTypes.RBRACE,\"}\"));}},{key:\"IF\",get:function get(){return(0,_util.shadow)(this,\"IF\",new PostScriptToken(PostScriptTokenTypes.IF,\"IF\"));}},{key:\"IFELSE\",get:function get(){return(0,_util.shadow)(this,\"IFELSE\",new PostScriptToken(PostScriptTokenTypes.IFELSE,\"IFELSE\"));}}]);return PostScriptToken;}();return PostScriptToken;}();var PostScriptLexer=/*#__PURE__*/function(){function PostScriptLexer(stream){_classCallCheck(this,PostScriptLexer);this.stream=stream;this.nextChar();this.strBuf=[];}_createClass(PostScriptLexer,[{key:\"nextChar\",value:function nextChar(){return this.currentChar=this.stream.getByte();}},{key:\"getToken\",value:function getToken(){var comment=false;var ch=this.currentChar;while(true){if(ch<0){return _primitives.EOF;}if(comment){if(ch===0x0a||ch===0x0d){comment=false;}}else if(ch===0x25){comment=true;}else if(!(0,_core_utils.isWhiteSpace)(ch)){break;}ch=this.nextChar();}switch(ch|0){case 0x30:case 0x31:case 0x32:case 0x33:case 0x34:case 0x35:case 0x36:case 0x37:case 0x38:case 0x39:case 0x2b:case 0x2d:case 0x2e:return new PostScriptToken(PostScriptTokenTypes.NUMBER,this.getNumber());case 0x7b:this.nextChar();return PostScriptToken.LBRACE;case 0x7d:this.nextChar();return PostScriptToken.RBRACE;}var strBuf=this.strBuf;strBuf.length=0;strBuf[0]=String.fromCharCode(ch);while((ch=this.nextChar())>=0&&(ch>=0x41&&ch<=0x5a||ch>=0x61&&ch<=0x7a)){strBuf.push(String.fromCharCode(ch));}var str=strBuf.join(\"\");switch(str.toLowerCase()){case\"if\":return PostScriptToken.IF;case\"ifelse\":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(str);}}},{key:\"getNumber\",value:function getNumber(){var ch=this.currentChar;var strBuf=this.strBuf;strBuf.length=0;strBuf[0]=String.fromCharCode(ch);while((ch=this.nextChar())>=0){if(ch>=0x30&&ch<=0x39||ch===0x2d||ch===0x2e){strBuf.push(String.fromCharCode(ch));}else{break;}}var value=parseFloat(strBuf.join(\"\"));if(isNaN(value)){throw new _util.FormatError(\"Invalid floating point number: \".concat(value));}return value;}}]);return PostScriptLexer;}();exports.PostScriptLexer=PostScriptLexer;/***/},/* 41 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.MurmurHash3_64=void 0;var _util=__w_pdfjs_require__(2);var SEED=0xc3d2e1f0;var MASK_HIGH=0xffff0000;var MASK_LOW=0xffff;var MurmurHash3_64=/*#__PURE__*/function(){function MurmurHash3_64(seed){_classCallCheck(this,MurmurHash3_64);this.h1=seed?seed&0xffffffff:SEED;this.h2=seed?seed&0xffffffff:SEED;}_createClass(MurmurHash3_64,[{key:\"update\",value:function update(input){var data,length;if((0,_util.isString)(input)){data=new Uint8Array(input.length*2);length=0;for(var i=0,ii=input.length;i<ii;i++){var code=input.charCodeAt(i);if(code<=0xff){data[length++]=code;}else{data[length++]=code>>>8;data[length++]=code&0xff;}}}else if((0,_util.isArrayBuffer)(input)){data=input;length=data.byteLength;}else{throw new Error(\"Wrong data format in MurmurHash3_64_update. \"+\"Input must be a string or array.\");}var blockCounts=length>>2;var tailLength=length-blockCounts*4;var dataUint32=new Uint32Array(data.buffer,0,blockCounts);var k1=0,k2=0;var h1=this.h1,h2=this.h2;var C1=0xcc9e2d51,C2=0x1b873593;var C1_LOW=C1&MASK_LOW,C2_LOW=C2&MASK_LOW;for(var _i24=0;_i24<blockCounts;_i24++){if(_i24&1){k1=dataUint32[_i24];k1=k1*C1&MASK_HIGH|k1*C1_LOW&MASK_LOW;k1=k1<<15|k1>>>17;k1=k1*C2&MASK_HIGH|k1*C2_LOW&MASK_LOW;h1^=k1;h1=h1<<13|h1>>>19;h1=h1*5+0xe6546b64;}else{k2=dataUint32[_i24];k2=k2*C1&MASK_HIGH|k2*C1_LOW&MASK_LOW;k2=k2<<15|k2>>>17;k2=k2*C2&MASK_HIGH|k2*C2_LOW&MASK_LOW;h2^=k2;h2=h2<<13|h2>>>19;h2=h2*5+0xe6546b64;}}k1=0;switch(tailLength){case 3:k1^=data[blockCounts*4+2]<<16;case 2:k1^=data[blockCounts*4+1]<<8;case 1:k1^=data[blockCounts*4];k1=k1*C1&MASK_HIGH|k1*C1_LOW&MASK_LOW;k1=k1<<15|k1>>>17;k1=k1*C2&MASK_HIGH|k1*C2_LOW&MASK_LOW;if(blockCounts&1){h1^=k1;}else{h2^=k1;}}this.h1=h1;this.h2=h2;}},{key:\"hexdigest\",value:function hexdigest(){var h1=this.h1,h2=this.h2;h1^=h2>>>1;h1=h1*0xed558ccd&MASK_HIGH|h1*0x8ccd&MASK_LOW;h2=h2*0xff51afd7&MASK_HIGH|((h2<<16|h1>>>16)*0xafd7ed55&MASK_HIGH)>>>16;h1^=h2>>>1;h1=h1*0x1a85ec53&MASK_HIGH|h1*0xec53&MASK_LOW;h2=h2*0xc4ceb9fe&MASK_HIGH|((h2<<16|h1>>>16)*0xb9fe1a85&MASK_HIGH)>>>16;h1^=h2>>>1;var hex1=(h1>>>0).toString(16),hex2=(h2>>>0).toString(16);return hex1.padStart(8,\"0\")+hex2.padStart(8,\"0\");}}]);return MurmurHash3_64;}();exports.MurmurHash3_64=MurmurHash3_64;/***/},/* 42 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.NativeImageDecoder=void 0;var _colorspace=__w_pdfjs_require__(22);var _jpeg_stream=__w_pdfjs_require__(17);var _stream=__w_pdfjs_require__(11);var NativeImageDecoder=/*#__PURE__*/function(){function NativeImageDecoder(_ref43){var xref=_ref43.xref,resources=_ref43.resources,handler=_ref43.handler,_ref43$forceDataSchem=_ref43.forceDataSchema,forceDataSchema=_ref43$forceDataSchem===void 0?false:_ref43$forceDataSchem,pdfFunctionFactory=_ref43.pdfFunctionFactory;_classCallCheck(this,NativeImageDecoder);this.xref=xref;this.resources=resources;this.handler=handler;this.forceDataSchema=forceDataSchema;this.pdfFunctionFactory=pdfFunctionFactory;}_createClass(NativeImageDecoder,[{key:\"canDecode\",value:function canDecode(image){return image instanceof _jpeg_stream.JpegStream&&NativeImageDecoder.isDecodable(image,this.xref,this.resources,this.pdfFunctionFactory)&&image.maybeValidDimensions;}},{key:\"decode\",value:function decode(image){var dict=image.dict;var colorSpace=dict.get(\"ColorSpace\",\"CS\");colorSpace=_colorspace.ColorSpace.parse(colorSpace,this.xref,this.resources,this.pdfFunctionFactory);return this.handler.sendWithPromise(\"JpegDecode\",[image.getIR(this.forceDataSchema),colorSpace.numComps]).then(function(_ref44){var data=_ref44.data,width=_ref44.width,height=_ref44.height;return new _stream.Stream(data,0,data.length,dict);});}}],[{key:\"isSupported\",value:function isSupported(image,xref,res,pdfFunctionFactory){var dict=image.dict;if(dict.has(\"DecodeParms\")||dict.has(\"DP\")){return false;}var cs=_colorspace.ColorSpace.parse(dict.get(\"ColorSpace\",\"CS\"),xref,res,pdfFunctionFactory);return(cs.name===\"DeviceGray\"||cs.name===\"DeviceRGB\")&&cs.isDefaultDecode(dict.getArray(\"Decode\",\"D\"));}},{key:\"isDecodable\",value:function isDecodable(image,xref,res,pdfFunctionFactory){var dict=image.dict;if(dict.has(\"DecodeParms\")||dict.has(\"DP\")){return false;}var cs=_colorspace.ColorSpace.parse(dict.get(\"ColorSpace\",\"CS\"),xref,res,pdfFunctionFactory);var bpc=dict.get(\"BitsPerComponent\",\"BPC\")||1;return(cs.numComps===1||cs.numComps===3)&&cs.isDefaultDecode(dict.getArray(\"Decode\",\"D\"),bpc);}}]);return NativeImageDecoder;}();exports.NativeImageDecoder=NativeImageDecoder;/***/},/* 43 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFImage=void 0;var _util=__w_pdfjs_require__(2);var _primitives=__w_pdfjs_require__(4);var _colorspace=__w_pdfjs_require__(22);var _stream=__w_pdfjs_require__(11);var _jpeg_stream=__w_pdfjs_require__(17);var _jpx=__w_pdfjs_require__(20);var PDFImage=function PDFImageClosure(){function handleImageData(image,nativeDecoder){if(nativeDecoder&&nativeDecoder.canDecode(image)){return nativeDecoder.decode(image).catch(function(reason){(0,_util.warn)(\"Native image decoding failed -- trying to recover: \"+(reason&&reason.message));return image;});}return Promise.resolve(image);}function decodeAndClamp(value,addend,coefficient,max){value=addend+value*coefficient;if(value<0){value=0;}else if(value>max){value=max;}return value;}function resizeImageMask(src,bpc,w1,h1,w2,h2){var length=w2*h2;var dest;if(bpc<=8){dest=new Uint8Array(length);}else if(bpc<=16){dest=new Uint16Array(length);}else{dest=new Uint32Array(length);}var xRatio=w1/w2;var yRatio=h1/h2;var i,j,py,newIndex=0,oldIndex;var xScaled=new Uint16Array(w2);var w1Scanline=w1;for(i=0;i<w2;i++){xScaled[i]=Math.floor(i*xRatio);}for(i=0;i<h2;i++){py=Math.floor(i*yRatio)*w1Scanline;for(j=0;j<w2;j++){oldIndex=py+xScaled[j];dest[newIndex++]=src[oldIndex];}}return dest;}function PDFImage(_ref45){var xref=_ref45.xref,res=_ref45.res,image=_ref45.image,_ref45$isInline=_ref45.isInline,isInline=_ref45$isInline===void 0?false:_ref45$isInline,_ref45$smask=_ref45.smask,smask=_ref45$smask===void 0?null:_ref45$smask,_ref45$mask=_ref45.mask,mask=_ref45$mask===void 0?null:_ref45$mask,_ref45$isMask=_ref45.isMask,isMask=_ref45$isMask===void 0?false:_ref45$isMask,pdfFunctionFactory=_ref45.pdfFunctionFactory;this.image=image;var dict=image.dict;var filter=dict.get(\"Filter\");if((0,_primitives.isName)(filter)){switch(filter.name){case\"JPXDecode\":var jpxImage=new _jpx.JpxImage();jpxImage.parseImageProperties(image.stream);image.stream.reset();image.width=jpxImage.width;image.height=jpxImage.height;image.bitsPerComponent=jpxImage.bitsPerComponent;image.numComps=jpxImage.componentsCount;break;case\"JBIG2Decode\":image.bitsPerComponent=1;image.numComps=1;break;}}var width=dict.get(\"Width\",\"W\");var height=dict.get(\"Height\",\"H\");if(Number.isInteger(image.width)&&image.width>0&&Number.isInteger(image.height)&&image.height>0&&(image.width!==width||image.height!==height)){(0,_util.warn)(\"PDFImage - using the Width/Height of the image data, \"+\"rather than the image dictionary.\");width=image.width;height=image.height;}if(width<1||height<1){throw new _util.FormatError(\"Invalid image width: \".concat(width,\" or height: \").concat(height));}this.width=width;this.height=height;this.interpolate=dict.get(\"Interpolate\",\"I\")||false;this.imageMask=dict.get(\"ImageMask\",\"IM\")||false;this.matte=dict.get(\"Matte\")||false;var bitsPerComponent=image.bitsPerComponent;if(!bitsPerComponent){bitsPerComponent=dict.get(\"BitsPerComponent\",\"BPC\");if(!bitsPerComponent){if(this.imageMask){bitsPerComponent=1;}else{throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));}}}this.bpc=bitsPerComponent;if(!this.imageMask){var colorSpace=dict.get(\"ColorSpace\",\"CS\");if(!colorSpace){(0,_util.info)(\"JPX images (which do not require color spaces)\");switch(image.numComps){case 1:colorSpace=_primitives.Name.get(\"DeviceGray\");break;case 3:colorSpace=_primitives.Name.get(\"DeviceRGB\");break;case 4:colorSpace=_primitives.Name.get(\"DeviceCMYK\");break;default:throw new Error(\"JPX images with \".concat(image.numComps,\" \")+\"color components not supported.\");}}var resources=isInline?res:null;this.colorSpace=_colorspace.ColorSpace.parse(colorSpace,xref,resources,pdfFunctionFactory);this.numComps=this.colorSpace.numComps;}this.decode=dict.getArray(\"Decode\",\"D\");this.needsDecode=false;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,bitsPerComponent)||isMask&&!_colorspace.ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=true;var max=(1<<bitsPerComponent)-1;this.decodeCoefficients=[];this.decodeAddends=[];var isIndexed=this.colorSpace&&this.colorSpace.name===\"Indexed\";for(var i=0,j=0;i<this.decode.length;i+=2,++j){var dmin=this.decode[i];var dmax=this.decode[i+1];this.decodeCoefficients[j]=isIndexed?(dmax-dmin)/max:dmax-dmin;this.decodeAddends[j]=isIndexed?dmin:max*dmin;}}if(smask){this.smask=new PDFImage({xref:xref,res:res,image:smask,isInline:isInline,pdfFunctionFactory:pdfFunctionFactory});}else if(mask){if((0,_primitives.isStream)(mask)){var maskDict=mask.dict,imageMask=maskDict.get(\"ImageMask\",\"IM\");if(!imageMask){(0,_util.warn)(\"Ignoring /Mask in image without /ImageMask.\");}else{this.mask=new PDFImage({xref:xref,res:res,image:mask,isInline:isInline,isMask:true,pdfFunctionFactory:pdfFunctionFactory});}}else{this.mask=mask;}}}PDFImage.buildImage=function(_ref46){var handler=_ref46.handler,xref=_ref46.xref,res=_ref46.res,image=_ref46.image,_ref46$isInline=_ref46.isInline,isInline=_ref46$isInline===void 0?false:_ref46$isInline,_ref46$nativeDecoder=_ref46.nativeDecoder,nativeDecoder=_ref46$nativeDecoder===void 0?null:_ref46$nativeDecoder,pdfFunctionFactory=_ref46.pdfFunctionFactory;var imagePromise=handleImageData(image,nativeDecoder);var smaskPromise;var maskPromise;var smask=image.dict.get(\"SMask\");var mask=image.dict.get(\"Mask\");if(smask){smaskPromise=handleImageData(smask,nativeDecoder);maskPromise=Promise.resolve(null);}else{smaskPromise=Promise.resolve(null);if(mask){if((0,_primitives.isStream)(mask)){maskPromise=handleImageData(mask,nativeDecoder);}else if(Array.isArray(mask)){maskPromise=Promise.resolve(mask);}else{(0,_util.warn)(\"Unsupported mask format.\");maskPromise=Promise.resolve(null);}}else{maskPromise=Promise.resolve(null);}}return Promise.all([imagePromise,smaskPromise,maskPromise]).then(function(_ref47){var _ref48=_slicedToArray(_ref47,3),imageData=_ref48[0],smaskData=_ref48[1],maskData=_ref48[2];return new PDFImage({xref:xref,res:res,image:imageData,isInline:isInline,smask:smaskData,mask:maskData,pdfFunctionFactory:pdfFunctionFactory});});};PDFImage.createMask=function(_ref49){var imgArray=_ref49.imgArray,width=_ref49.width,height=_ref49.height,imageIsFromDecodeStream=_ref49.imageIsFromDecodeStream,inverseDecode=_ref49.inverseDecode;var computedLength=(width+7>>3)*height;var actualLength=imgArray.byteLength;var haveFullData=computedLength===actualLength;var data,i;if(imageIsFromDecodeStream&&(!inverseDecode||haveFullData)){data=imgArray;}else if(!inverseDecode){data=new Uint8ClampedArray(actualLength);data.set(imgArray);}else{data=new Uint8ClampedArray(computedLength);data.set(imgArray);for(i=actualLength;i<computedLength;i++){data[i]=0xff;}}if(inverseDecode){for(i=0;i<actualLength;i++){data[i]^=0xff;}}return{data:data,width:width,height:height};};PDFImage.prototype={get drawWidth(){return Math.max(this.width,this.smask&&this.smask.width||0,this.mask&&this.mask.width||0);},get drawHeight(){return Math.max(this.height,this.smask&&this.smask.height||0,this.mask&&this.mask.height||0);},decodeBuffer:function decodeBuffer(buffer){var bpc=this.bpc;var numComps=this.numComps;var decodeAddends=this.decodeAddends;var decodeCoefficients=this.decodeCoefficients;var max=(1<<bpc)-1;var i,ii;if(bpc===1){for(i=0,ii=buffer.length;i<ii;i++){buffer[i]=+!buffer[i];}return;}var index=0;for(i=0,ii=this.width*this.height;i<ii;i++){for(var j=0;j<numComps;j++){buffer[index]=decodeAndClamp(buffer[index],decodeAddends[j],decodeCoefficients[j],max);index++;}}},getComponents:function getComponents(buffer){var bpc=this.bpc;if(bpc===8){return buffer;}var width=this.width;var height=this.height;var numComps=this.numComps;var length=width*height*numComps;var bufferPos=0;var output;if(bpc<=8){output=new Uint8Array(length);}else if(bpc<=16){output=new Uint16Array(length);}else{output=new Uint32Array(length);}var rowComps=width*numComps;var max=(1<<bpc)-1;var i=0,ii,buf;if(bpc===1){var mask,loop1End,loop2End;for(var j=0;j<height;j++){loop1End=i+(rowComps&~7);loop2End=i+rowComps;while(i<loop1End){buf=buffer[bufferPos++];output[i]=buf>>7&1;output[i+1]=buf>>6&1;output[i+2]=buf>>5&1;output[i+3]=buf>>4&1;output[i+4]=buf>>3&1;output[i+5]=buf>>2&1;output[i+6]=buf>>1&1;output[i+7]=buf&1;i+=8;}if(i<loop2End){buf=buffer[bufferPos++];mask=128;while(i<loop2End){output[i++]=+!!(buf&mask);mask>>=1;}}}}else{var bits=0;buf=0;for(i=0,ii=length;i<ii;++i){if(i%rowComps===0){buf=0;bits=0;}while(bits<bpc){buf=buf<<8|buffer[bufferPos++];bits+=8;}var remainingBits=bits-bpc;var value=buf>>remainingBits;if(value<0){value=0;}else if(value>max){value=max;}output[i]=value;buf=buf&(1<<remainingBits)-1;bits=remainingBits;}}return output;},fillOpacity:function fillOpacity(rgbaBuf,width,height,actualHeight,image){var smask=this.smask;var mask=this.mask;var alphaBuf,sw,sh,i,ii,j;if(smask){sw=smask.width;sh=smask.height;alphaBuf=new Uint8ClampedArray(sw*sh);smask.fillGrayBuffer(alphaBuf);if(sw!==width||sh!==height){alphaBuf=resizeImageMask(alphaBuf,smask.bpc,sw,sh,width,height);}}else if(mask){if(mask instanceof PDFImage){sw=mask.width;sh=mask.height;alphaBuf=new Uint8ClampedArray(sw*sh);mask.numComps=1;mask.fillGrayBuffer(alphaBuf);for(i=0,ii=sw*sh;i<ii;++i){alphaBuf[i]=255-alphaBuf[i];}if(sw!==width||sh!==height){alphaBuf=resizeImageMask(alphaBuf,mask.bpc,sw,sh,width,height);}}else if(Array.isArray(mask)){alphaBuf=new Uint8ClampedArray(width*height);var numComps=this.numComps;for(i=0,ii=width*height;i<ii;++i){var opacity=0;var imageOffset=i*numComps;for(j=0;j<numComps;++j){var color=image[imageOffset+j];var maskOffset=j*2;if(color<mask[maskOffset]||color>mask[maskOffset+1]){opacity=255;break;}}alphaBuf[i]=opacity;}}else{throw new _util.FormatError(\"Unknown mask format.\");}}if(alphaBuf){for(i=0,j=3,ii=width*actualHeight;i<ii;++i,j+=4){rgbaBuf[j]=alphaBuf[i];}}else{for(i=0,j=3,ii=width*actualHeight;i<ii;++i,j+=4){rgbaBuf[j]=255;}}},undoPreblend:function undoPreblend(buffer,width,height){var matte=this.smask&&this.smask.matte;if(!matte){return;}var matteRgb=this.colorSpace.getRgb(matte,0);var matteR=matteRgb[0];var matteG=matteRgb[1];var matteB=matteRgb[2];var length=width*height*4;for(var i=0;i<length;i+=4){var alpha=buffer[i+3];if(alpha===0){buffer[i]=255;buffer[i+1]=255;buffer[i+2]=255;continue;}var k=255/alpha;buffer[i]=(buffer[i]-matteR)*k+matteR;buffer[i+1]=(buffer[i+1]-matteG)*k+matteG;buffer[i+2]=(buffer[i+2]-matteB)*k+matteB;}},createImageData:function createImageData(){var forceRGBA=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var drawWidth=this.drawWidth;var drawHeight=this.drawHeight;var imgData={width:drawWidth,height:drawHeight,kind:0,data:null};var numComps=this.numComps;var originalWidth=this.width;var originalHeight=this.height;var bpc=this.bpc;var rowBytes=originalWidth*numComps*bpc+7>>3;var imgArray;if(!forceRGBA){var kind;if(this.colorSpace.name===\"DeviceGray\"&&bpc===1){kind=_util.ImageKind.GRAYSCALE_1BPP;}else if(this.colorSpace.name===\"DeviceRGB\"&&bpc===8&&!this.needsDecode){kind=_util.ImageKind.RGB_24BPP;}if(kind&&!this.smask&&!this.mask&&drawWidth===originalWidth&&drawHeight===originalHeight){imgData.kind=kind;imgArray=this.getImageBytes(originalHeight*rowBytes);if(this.image instanceof _stream.DecodeStream){imgData.data=imgArray;}else{var newArray=new Uint8ClampedArray(imgArray.length);newArray.set(imgArray);imgData.data=newArray;}if(this.needsDecode){(0,_util.assert)(kind===_util.ImageKind.GRAYSCALE_1BPP,\"PDFImage.createImageData: The image must be grayscale.\");var buffer=imgData.data;for(var i=0,ii=buffer.length;i<ii;i++){buffer[i]^=0xff;}}return imgData;}if(this.image instanceof _jpeg_stream.JpegStream&&!this.smask&&!this.mask){var imageLength=originalHeight*rowBytes;switch(this.colorSpace.name){case\"DeviceGray\":imageLength*=3;case\"DeviceRGB\":case\"DeviceCMYK\":imgData.kind=_util.ImageKind.RGB_24BPP;imgData.data=this.getImageBytes(imageLength,drawWidth,drawHeight,true);return imgData;}}}imgArray=this.getImageBytes(originalHeight*rowBytes);var actualHeight=0|imgArray.length/rowBytes*drawHeight/originalHeight;var comps=this.getComponents(imgArray);var alpha01,maybeUndoPreblend;if(!forceRGBA&&!this.smask&&!this.mask){imgData.kind=_util.ImageKind.RGB_24BPP;imgData.data=new Uint8ClampedArray(drawWidth*drawHeight*3);alpha01=0;maybeUndoPreblend=false;}else{imgData.kind=_util.ImageKind.RGBA_32BPP;imgData.data=new Uint8ClampedArray(drawWidth*drawHeight*4);alpha01=1;maybeUndoPreblend=true;this.fillOpacity(imgData.data,drawWidth,drawHeight,actualHeight,comps);}if(this.needsDecode){this.decodeBuffer(comps);}this.colorSpace.fillRgb(imgData.data,originalWidth,originalHeight,drawWidth,drawHeight,actualHeight,bpc,comps,alpha01);if(maybeUndoPreblend){this.undoPreblend(imgData.data,drawWidth,actualHeight);}return imgData;},fillGrayBuffer:function fillGrayBuffer(buffer){var numComps=this.numComps;if(numComps!==1){throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));}var width=this.width;var height=this.height;var bpc=this.bpc;var rowBytes=width*numComps*bpc+7>>3;var imgArray=this.getImageBytes(height*rowBytes);var comps=this.getComponents(imgArray);var i,length;if(bpc===1){length=width*height;if(this.needsDecode){for(i=0;i<length;++i){buffer[i]=comps[i]-1&255;}}else{for(i=0;i<length;++i){buffer[i]=-comps[i]&255;}}return;}if(this.needsDecode){this.decodeBuffer(comps);}length=width*height;var scale=255/((1<<bpc)-1);for(i=0;i<length;++i){buffer[i]=scale*comps[i];}},getImageBytes:function getImageBytes(length,drawWidth,drawHeight){var forceRGB=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;this.image.reset();this.image.drawWidth=drawWidth||this.width;this.image.drawHeight=drawHeight||this.height;this.image.forceRGB=!!forceRGB;return this.image.getBytes(length,true);}};return PDFImage;}();exports.PDFImage=PDFImage;/***/},/* 44 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.isNodeJS=void 0;var isNodeJS=(typeof process===\"undefined\"?\"undefined\":_typeof(process))===\"object\"&&process+\"\"===\"[object process]\"&&!process.versions[\"nw\"]&&!process.versions[\"electron\"];exports.isNodeJS=isNodeJS;/***/},/* 45 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.MessageHandler=void 0;var _util=__w_pdfjs_require__(2);var CallbackKind={UNKNOWN:0,DATA:1,ERROR:2};var StreamKind={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function wrapReason(reason){if(_typeof(reason)!==\"object\"||reason===null){return reason;}switch(reason.name){case\"AbortException\":return new _util.AbortException(reason.message);case\"MissingPDFException\":return new _util.MissingPDFException(reason.message);case\"UnexpectedResponseException\":return new _util.UnexpectedResponseException(reason.message,reason.status);case\"UnknownErrorException\":return new _util.UnknownErrorException(reason.message,reason.details);default:return new _util.UnknownErrorException(reason.message,reason.toString());}}var MessageHandler=/*#__PURE__*/function(){function MessageHandler(sourceName,targetName,comObj){var _this71=this;_classCallCheck(this,MessageHandler);this.sourceName=sourceName;this.targetName=targetName;this.comObj=comObj;this.callbackId=1;this.streamId=1;this.postMessageTransfers=true;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);this._onComObjOnMessage=function(event){var data=event.data;if(data.targetName!==_this71.sourceName){return;}if(data.stream){_this71._processStreamMessage(data);return;}if(data.callback){var callbackId=data.callbackId;var capability=_this71.callbackCapabilities[callbackId];if(!capability){throw new Error(\"Cannot resolve callback \".concat(callbackId));}delete _this71.callbackCapabilities[callbackId];if(data.callback===CallbackKind.DATA){capability.resolve(data.data);}else if(data.callback===CallbackKind.ERROR){capability.reject(wrapReason(data.reason));}else{throw new Error(\"Unexpected callback case\");}return;}var action=_this71.actionHandler[data.action];if(!action){throw new Error(\"Unknown action from worker: \".concat(data.action));}if(data.callbackId){var _sourceName=_this71.sourceName;var _targetName=data.sourceName;new Promise(function(resolve){resolve(action(data.data));}).then(function(result){comObj.postMessage({sourceName:_sourceName,targetName:_targetName,callback:CallbackKind.DATA,callbackId:data.callbackId,data:result});},function(reason){comObj.postMessage({sourceName:_sourceName,targetName:_targetName,callback:CallbackKind.ERROR,callbackId:data.callbackId,reason:wrapReason(reason)});});return;}if(data.streamId){_this71._createStreamSink(data);return;}action(data.data);};comObj.addEventListener(\"message\",this._onComObjOnMessage);}_createClass(MessageHandler,[{key:\"on\",value:function on(actionName,handler){var ah=this.actionHandler;if(ah[actionName]){throw new Error(\"There is already an actionName called \\\"\".concat(actionName,\"\\\"\"));}ah[actionName]=handler;}},{key:\"send\",value:function send(actionName,data,transfers){this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data},transfers);}},{key:\"sendWithPromise\",value:function sendWithPromise(actionName,data,transfers){var callbackId=this.callbackId++;var capability=(0,_util.createPromiseCapability)();this.callbackCapabilities[callbackId]=capability;try{this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,callbackId:callbackId,data:data},transfers);}catch(ex){capability.reject(ex);}return capability.promise;}},{key:\"sendWithStream\",value:function sendWithStream(actionName,data,queueingStrategy,transfers){var _this72=this;var streamId=this.streamId++;var sourceName=this.sourceName;var targetName=this.targetName;var comObj=this.comObj;return new ReadableStream({start:function start(controller){var startCapability=(0,_util.createPromiseCapability)();_this72.streamControllers[streamId]={controller:controller,startCall:startCapability,pullCall:null,cancelCall:null,isClosed:false};_this72._postMessage({sourceName:sourceName,targetName:targetName,action:actionName,streamId:streamId,data:data,desiredSize:controller.desiredSize},transfers);return startCapability.promise;},pull:function pull(controller){var pullCapability=(0,_util.createPromiseCapability)();_this72.streamControllers[streamId].pullCall=pullCapability;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL,streamId:streamId,desiredSize:controller.desiredSize});return pullCapability.promise;},cancel:function cancel(reason){(0,_util.assert)(reason instanceof Error,\"cancel must have a valid reason\");var cancelCapability=(0,_util.createPromiseCapability)();_this72.streamControllers[streamId].cancelCall=cancelCapability;_this72.streamControllers[streamId].isClosed=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL,streamId:streamId,reason:wrapReason(reason)});return cancelCapability.promise;}},queueingStrategy);}},{key:\"_createStreamSink\",value:function _createStreamSink(data){var self=this;var action=this.actionHandler[data.action];var streamId=data.streamId;var sourceName=this.sourceName;var targetName=data.sourceName;var comObj=this.comObj;var streamSink={enqueue:function enqueue(chunk){var size=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var transfers=arguments.length>2?arguments[2]:undefined;if(this.isCancelled){return;}var lastDesiredSize=this.desiredSize;this.desiredSize-=size;if(lastDesiredSize>0&&this.desiredSize<=0){this.sinkCapability=(0,_util.createPromiseCapability)();this.ready=this.sinkCapability.promise;}self._postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.ENQUEUE,streamId:streamId,chunk:chunk},transfers);},close:function close(){if(this.isCancelled){return;}this.isCancelled=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CLOSE,streamId:streamId});delete self.streamSinks[streamId];},error:function error(reason){(0,_util.assert)(reason instanceof Error,\"error must have a valid reason\");if(this.isCancelled){return;}this.isCancelled=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.ERROR,streamId:streamId,reason:wrapReason(reason)});},sinkCapability:(0,_util.createPromiseCapability)(),onPull:null,onCancel:null,isCancelled:false,desiredSize:data.desiredSize,ready:null};streamSink.sinkCapability.resolve();streamSink.ready=streamSink.sinkCapability.promise;this.streamSinks[streamId]=streamSink;new Promise(function(resolve){resolve(action(data.data,streamSink));}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.START_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.START_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});}},{key:\"_processStreamMessage\",value:function _processStreamMessage(data){var streamId=data.streamId;var sourceName=this.sourceName;var targetName=data.sourceName;var comObj=this.comObj;switch(data.stream){case StreamKind.START_COMPLETE:if(data.success){this.streamControllers[streamId].startCall.resolve();}else{this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));}break;case StreamKind.PULL_COMPLETE:if(data.success){this.streamControllers[streamId].pullCall.resolve();}else{this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));}break;case StreamKind.PULL:if(!this.streamSinks[streamId]){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,success:true});break;}if(this.streamSinks[streamId].desiredSize<=0&&data.desiredSize>0){this.streamSinks[streamId].sinkCapability.resolve();}this.streamSinks[streamId].desiredSize=data.desiredSize;var onPull=this.streamSinks[data.streamId].onPull;new Promise(function(resolve){resolve(onPull&&onPull());}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});break;case StreamKind.ENQUEUE:(0,_util.assert)(this.streamControllers[streamId],\"enqueue should have stream controller\");if(this.streamControllers[streamId].isClosed){break;}this.streamControllers[streamId].controller.enqueue(data.chunk);break;case StreamKind.CLOSE:(0,_util.assert)(this.streamControllers[streamId],\"close should have stream controller\");if(this.streamControllers[streamId].isClosed){break;}this.streamControllers[streamId].isClosed=true;this.streamControllers[streamId].controller.close();this._deleteStreamController(streamId);break;case StreamKind.ERROR:(0,_util.assert)(this.streamControllers[streamId],\"error should have stream controller\");this.streamControllers[streamId].controller.error(wrapReason(data.reason));this._deleteStreamController(streamId);break;case StreamKind.CANCEL_COMPLETE:if(data.success){this.streamControllers[streamId].cancelCall.resolve();}else{this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));}this._deleteStreamController(streamId);break;case StreamKind.CANCEL:if(!this.streamSinks[streamId]){break;}var onCancel=this.streamSinks[data.streamId].onCancel;new Promise(function(resolve){resolve(onCancel&&onCancel(wrapReason(data.reason)));}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));this.streamSinks[streamId].isCancelled=true;delete this.streamSinks[streamId];break;default:throw new Error(\"Unexpected stream case\");}}},{key:\"_deleteStreamController\",value:function(){var _deleteStreamController2=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee17(streamId){return regeneratorRuntime.wrap(function _callee17$(_context17){while(1){switch(_context17.prev=_context17.next){case 0:_context17.next=2;return Promise.allSettled([this.streamControllers[streamId].startCall,this.streamControllers[streamId].pullCall,this.streamControllers[streamId].cancelCall].map(function(capability){return capability&&capability.promise;}));case 2:delete this.streamControllers[streamId];case 3:case\"end\":return _context17.stop();}}},_callee17,this);}));function _deleteStreamController(_x13){return _deleteStreamController2.apply(this,arguments);}return _deleteStreamController;}()},{key:\"_postMessage\",value:function _postMessage(message,transfers){if(transfers&&this.postMessageTransfers){this.comObj.postMessage(message,transfers);}else{this.comObj.postMessage(message);}}},{key:\"destroy\",value:function destroy(){this.comObj.removeEventListener(\"message\",this._onComObjOnMessage);}}]);return MessageHandler;}();exports.MessageHandler=MessageHandler;/***/},/* 46 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFWorkerStream=void 0;var _util=__w_pdfjs_require__(2);var PDFWorkerStream=/*#__PURE__*/function(){function PDFWorkerStream(msgHandler){_classCallCheck(this,PDFWorkerStream);this._msgHandler=msgHandler;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[];}_createClass(PDFWorkerStream,[{key:\"getFullReader\",value:function getFullReader(){(0,_util.assert)(!this._fullRequestReader);this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader;}},{key:\"getRangeReader\",value:function getRangeReader(begin,end){var reader=new PDFWorkerStreamRangeReader(begin,end,this._msgHandler);this._rangeRequestReaders.push(reader);return reader;}},{key:\"cancelAllRequests\",value:function cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason);}var readers=this._rangeRequestReaders.slice(0);readers.forEach(function(reader){reader.cancel(reason);});}}]);return PDFWorkerStream;}();exports.PDFWorkerStream=PDFWorkerStream;var PDFWorkerStreamReader=/*#__PURE__*/function(){function PDFWorkerStreamReader(msgHandler){var _this73=this;_classCallCheck(this,PDFWorkerStreamReader);this._msgHandler=msgHandler;this.onProgress=null;this._contentLength=null;this._isRangeSupported=false;this._isStreamingSupported=false;var readableStream=this._msgHandler.sendWithStream(\"GetReader\");this._reader=readableStream.getReader();this._headersReady=this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(function(data){_this73._isStreamingSupported=data.isStreamingSupported;_this73._isRangeSupported=data.isRangeSupported;_this73._contentLength=data.contentLength;});}_createClass(PDFWorkerStreamReader,[{key:\"read\",value:function(){var _read=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee18(){var _yield$this$_reader$r,value,done;return regeneratorRuntime.wrap(function _callee18$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:_context18.next=2;return this._reader.read();case 2:_yield$this$_reader$r=_context18.sent;value=_yield$this$_reader$r.value;done=_yield$this$_reader$r.done;if(!done){_context18.next=7;break;}return _context18.abrupt(\"return\",{value:undefined,done:true});case 7:return _context18.abrupt(\"return\",{value:value.buffer,done:false});case 8:case\"end\":return _context18.stop();}}},_callee18,this);}));function read(){return _read.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._reader.cancel(reason);}},{key:\"headersReady\",get:function get(){return this._headersReady;}},{key:\"contentLength\",get:function get(){return this._contentLength;}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}},{key:\"isRangeSupported\",get:function get(){return this._isRangeSupported;}}]);return PDFWorkerStreamReader;}();var PDFWorkerStreamRangeReader=/*#__PURE__*/function(){function PDFWorkerStreamRangeReader(begin,end,msgHandler){_classCallCheck(this,PDFWorkerStreamRangeReader);this._msgHandler=msgHandler;this.onProgress=null;var readableStream=this._msgHandler.sendWithStream(\"GetRangeReader\",{begin:begin,end:end});this._reader=readableStream.getReader();}_createClass(PDFWorkerStreamRangeReader,[{key:\"read\",value:function(){var _read2=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee19(){var _yield$this$_reader$r2,value,done;return regeneratorRuntime.wrap(function _callee19$(_context19){while(1){switch(_context19.prev=_context19.next){case 0:_context19.next=2;return this._reader.read();case 2:_yield$this$_reader$r2=_context19.sent;value=_yield$this$_reader$r2.value;done=_yield$this$_reader$r2.done;if(!done){_context19.next=7;break;}return _context19.abrupt(\"return\",{value:undefined,done:true});case 7:return _context19.abrupt(\"return\",{value:value.buffer,done:false});case 8:case\"end\":return _context19.stop();}}},_callee19,this);}));function read(){return _read2.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._reader.cancel(reason);}},{key:\"isStreamingSupported\",get:function get(){return false;}}]);return PDFWorkerStreamRangeReader;}();/***/}/******/]));});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\"), __webpack_require__(\"62e4\")(module)))\n\n/***/ }),\n\n/***/ \"8139\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d81d\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"820e\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.MessageHandler = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar CallbackKind = {\n  UNKNOWN: 0,\n  DATA: 1,\n  ERROR: 2\n};\nvar StreamKind = {\n  UNKNOWN: 0,\n  CANCEL: 1,\n  CANCEL_COMPLETE: 2,\n  CLOSE: 3,\n  ENQUEUE: 4,\n  ERROR: 5,\n  PULL: 6,\n  PULL_COMPLETE: 7,\n  START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n  if (_typeof(reason) !== \"object\" || reason === null) {\n    return reason;\n  }\n\n  switch (reason.name) {\n    case \"AbortException\":\n      return new _util.AbortException(reason.message);\n\n    case \"MissingPDFException\":\n      return new _util.MissingPDFException(reason.message);\n\n    case \"UnexpectedResponseException\":\n      return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n    case \"UnknownErrorException\":\n      return new _util.UnknownErrorException(reason.message, reason.details);\n\n    default:\n      return new _util.UnknownErrorException(reason.message, reason.toString());\n  }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n  function MessageHandler(sourceName, targetName, comObj) {\n    var _this = this;\n\n    _classCallCheck(this, MessageHandler);\n\n    this.sourceName = sourceName;\n    this.targetName = targetName;\n    this.comObj = comObj;\n    this.callbackId = 1;\n    this.streamId = 1;\n    this.postMessageTransfers = true;\n    this.streamSinks = Object.create(null);\n    this.streamControllers = Object.create(null);\n    this.callbackCapabilities = Object.create(null);\n    this.actionHandler = Object.create(null);\n\n    this._onComObjOnMessage = function (event) {\n      var data = event.data;\n\n      if (data.targetName !== _this.sourceName) {\n        return;\n      }\n\n      if (data.stream) {\n        _this._processStreamMessage(data);\n\n        return;\n      }\n\n      if (data.callback) {\n        var callbackId = data.callbackId;\n        var capability = _this.callbackCapabilities[callbackId];\n\n        if (!capability) {\n          throw new Error(\"Cannot resolve callback \".concat(callbackId));\n        }\n\n        delete _this.callbackCapabilities[callbackId];\n\n        if (data.callback === CallbackKind.DATA) {\n          capability.resolve(data.data);\n        } else if (data.callback === CallbackKind.ERROR) {\n          capability.reject(wrapReason(data.reason));\n        } else {\n          throw new Error(\"Unexpected callback case\");\n        }\n\n        return;\n      }\n\n      var action = _this.actionHandler[data.action];\n\n      if (!action) {\n        throw new Error(\"Unknown action from worker: \".concat(data.action));\n      }\n\n      if (data.callbackId) {\n        var _sourceName = _this.sourceName;\n        var _targetName = data.sourceName;\n        new Promise(function (resolve) {\n          resolve(action(data.data));\n        }).then(function (result) {\n          comObj.postMessage({\n            sourceName: _sourceName,\n            targetName: _targetName,\n            callback: CallbackKind.DATA,\n            callbackId: data.callbackId,\n            data: result\n          });\n        }, function (reason) {\n          comObj.postMessage({\n            sourceName: _sourceName,\n            targetName: _targetName,\n            callback: CallbackKind.ERROR,\n            callbackId: data.callbackId,\n            reason: wrapReason(reason)\n          });\n        });\n        return;\n      }\n\n      if (data.streamId) {\n        _this._createStreamSink(data);\n\n        return;\n      }\n\n      action(data.data);\n    };\n\n    comObj.addEventListener(\"message\", this._onComObjOnMessage);\n  }\n\n  _createClass(MessageHandler, [{\n    key: \"on\",\n    value: function on(actionName, handler) {\n      var ah = this.actionHandler;\n\n      if (ah[actionName]) {\n        throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n      }\n\n      ah[actionName] = handler;\n    }\n  }, {\n    key: \"send\",\n    value: function send(actionName, data, transfers) {\n      this._postMessage({\n        sourceName: this.sourceName,\n        targetName: this.targetName,\n        action: actionName,\n        data: data\n      }, transfers);\n    }\n  }, {\n    key: \"sendWithPromise\",\n    value: function sendWithPromise(actionName, data, transfers) {\n      var callbackId = this.callbackId++;\n      var capability = (0, _util.createPromiseCapability)();\n      this.callbackCapabilities[callbackId] = capability;\n\n      try {\n        this._postMessage({\n          sourceName: this.sourceName,\n          targetName: this.targetName,\n          action: actionName,\n          callbackId: callbackId,\n          data: data\n        }, transfers);\n      } catch (ex) {\n        capability.reject(ex);\n      }\n\n      return capability.promise;\n    }\n  }, {\n    key: \"sendWithStream\",\n    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n      var _this2 = this;\n\n      var streamId = this.streamId++;\n      var sourceName = this.sourceName;\n      var targetName = this.targetName;\n      var comObj = this.comObj;\n      return new ReadableStream({\n        start: function start(controller) {\n          var startCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId] = {\n            controller: controller,\n            startCall: startCapability,\n            pullCall: null,\n            cancelCall: null,\n            isClosed: false\n          };\n\n          _this2._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            action: actionName,\n            streamId: streamId,\n            data: data,\n            desiredSize: controller.desiredSize\n          }, transfers);\n\n          return startCapability.promise;\n        },\n        pull: function pull(controller) {\n          var pullCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].pullCall = pullCapability;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.PULL,\n            streamId: streamId,\n            desiredSize: controller.desiredSize\n          });\n          return pullCapability.promise;\n        },\n        cancel: function cancel(reason) {\n          (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n          var cancelCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].cancelCall = cancelCapability;\n          _this2.streamControllers[streamId].isClosed = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CANCEL,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n          return cancelCapability.promise;\n        }\n      }, queueingStrategy);\n    }\n  }, {\n    key: \"_createStreamSink\",\n    value: function _createStreamSink(data) {\n      var self = this;\n      var action = this.actionHandler[data.action];\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n      var streamSink = {\n        enqueue: function enqueue(chunk) {\n          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n          var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          var lastDesiredSize = this.desiredSize;\n          this.desiredSize -= size;\n\n          if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n            this.sinkCapability = (0, _util.createPromiseCapability)();\n            this.ready = this.sinkCapability.promise;\n          }\n\n          self._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ENQUEUE,\n            streamId: streamId,\n            chunk: chunk\n          }, transfers);\n        },\n        close: function close() {\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CLOSE,\n            streamId: streamId\n          });\n          delete self.streamSinks[streamId];\n        },\n        error: function error(reason) {\n          (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ERROR,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n        },\n        sinkCapability: (0, _util.createPromiseCapability)(),\n        onPull: null,\n        onCancel: null,\n        isCancelled: false,\n        desiredSize: data.desiredSize,\n        ready: null\n      };\n      streamSink.sinkCapability.resolve();\n      streamSink.ready = streamSink.sinkCapability.promise;\n      this.streamSinks[streamId] = streamSink;\n      new Promise(function (resolve) {\n        resolve(action(data.data, streamSink));\n      }).then(function () {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          success: true\n        });\n      }, function (reason) {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          reason: wrapReason(reason)\n        });\n      });\n    }\n  }, {\n    key: \"_processStreamMessage\",\n    value: function _processStreamMessage(data) {\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n\n      switch (data.stream) {\n        case StreamKind.START_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].startCall.resolve();\n          } else {\n            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].pullCall.resolve();\n          } else {\n            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL:\n          if (!this.streamSinks[streamId]) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n            break;\n          }\n\n          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n            this.streamSinks[streamId].sinkCapability.resolve();\n          }\n\n          this.streamSinks[streamId].desiredSize = data.desiredSize;\n          var onPull = this.streamSinks[data.streamId].onPull;\n          new Promise(function (resolve) {\n            resolve(onPull && onPull());\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          break;\n\n        case StreamKind.ENQUEUE:\n          (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].controller.enqueue(data.chunk);\n          break;\n\n        case StreamKind.CLOSE:\n          (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].isClosed = true;\n          this.streamControllers[streamId].controller.close();\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.ERROR:\n          (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n          this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].cancelCall.resolve();\n          } else {\n            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n          }\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL:\n          if (!this.streamSinks[streamId]) {\n            break;\n          }\n\n          var onCancel = this.streamSinks[data.streamId].onCancel;\n          new Promise(function (resolve) {\n            resolve(onCancel && onCancel(wrapReason(data.reason)));\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n          this.streamSinks[streamId].isCancelled = true;\n          delete this.streamSinks[streamId];\n          break;\n\n        default:\n          throw new Error(\"Unexpected stream case\");\n      }\n    }\n  }, {\n    key: \"_deleteStreamController\",\n    value: function () {\n      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(streamId) {\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n                  return capability && capability.promise;\n                }));\n\n              case 2:\n                delete this.streamControllers[streamId];\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _deleteStreamController(_x) {\n        return _deleteStreamController2.apply(this, arguments);\n      }\n\n      return _deleteStreamController;\n    }()\n  }, {\n    key: \"_postMessage\",\n    value: function _postMessage(message, transfers) {\n      if (transfers && this.postMessageTransfers) {\n        this.comObj.postMessage(message, transfers);\n      } else {\n        this.comObj.postMessage(message);\n      }\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy() {\n      this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n    }\n  }]);\n\n  return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n\n/***/ \"81d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toObject = __webpack_require__(\"7b0b\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar toLength = __webpack_require__(\"50c4\");\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = toLength(O.length);\n  var argumentsLength = arguments.length;\n  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n  var end = argumentsLength > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"820e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar aFunction = __webpack_require__(\"1c0b\");\nvar newPromiseCapabilityModule = __webpack_require__(\"f069\");\nvar perform = __webpack_require__(\"e667\");\nvar iterate = __webpack_require__(\"2266\");\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n  allSettled: function allSettled(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var promiseResolve = aFunction(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        promiseResolve.call(C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'fulfilled', value: value };\n          --remaining || resolve(values);\n        }, function (e) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'rejected', reason: e };\n          --remaining || resolve(values);\n        });\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"825a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nmodule.exports = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n\n\n/***/ }),\n\n/***/ \"82f8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $includes = __webpack_require__(\"4d64\").includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"83ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n\n/***/ \"8418\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPrimitive(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ \"841c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar anObject = __webpack_require__(\"825a\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar sameValue = __webpack_require__(\"129f\");\nvar regExpExec = __webpack_require__(\"14c3\");\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n  return [\n    // `String.prototype.search` method\n    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n    function search(regexp) {\n      var O = requireObjectCoercible(this);\n      var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n    },\n    // `RegExp.prototype[@@search]` method\n    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n    function (regexp) {\n      var res = maybeCallNative(nativeSearch, regexp, this);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n\n      var previousLastIndex = rx.lastIndex;\n      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n      var result = regExpExec(rx, S);\n      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n      return result === null ? -1 : result.index;\n    }\n  ];\n});\n\n\n/***/ }),\n\n/***/ \"843c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $padEnd = __webpack_require__(\"0ccb\").end;\nvar WEBKIT_BUG = __webpack_require__(\"9a0c\");\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"84c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Uint16Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n  return function Uint16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"857a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n  var S = String(requireObjectCoercible(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\n\n\n/***/ }),\n\n/***/ \"85c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"9082\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(\"499e\").default\nvar update = add(\"a18baa98\", content, true, {\"sourceMap\":false,\"shadowMode\":false});\n\n/***/ }),\n\n/***/ \"861d\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"872e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"cca6\");\n\n__webpack_require__(\"dca8\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.BasePreferences = void 0;\nvar defaultPreferences = null;\n\nfunction getDefaultPreferences() {\n  if (!defaultPreferences) {\n    defaultPreferences = Promise.resolve({\n      \"cursorToolOnLoad\": 0,\n      \"defaultZoomValue\": \"\",\n      \"disablePageLabels\": false,\n      \"enablePrintAutoRotate\": false,\n      \"enableWebGL\": false,\n      \"eventBusDispatchToDOM\": false,\n      \"externalLinkTarget\": 0,\n      \"historyUpdateUrl\": false,\n      \"ignoreDestinationZoom\": false,\n      \"pdfBugEnabled\": false,\n      \"renderer\": \"canvas\",\n      \"renderInteractiveForms\": false,\n      \"sidebarViewOnLoad\": -1,\n      \"scrollModeOnLoad\": -1,\n      \"spreadModeOnLoad\": -1,\n      \"textLayerMode\": 1,\n      \"useOnlyCssZoom\": false,\n      \"viewOnLoad\": 0,\n      \"disableAutoFetch\": false,\n      \"disableFontFace\": false,\n      \"disableRange\": false,\n      \"disableStream\": false\n    });\n  }\n\n  return defaultPreferences;\n}\n\nvar BasePreferences = /*#__PURE__*/function () {\n  function BasePreferences() {\n    var _this = this;\n\n    _classCallCheck(this, BasePreferences);\n\n    if (this.constructor === BasePreferences) {\n      throw new Error(\"Cannot initialize BasePreferences.\");\n    }\n\n    this.prefs = null;\n    this._initializedPromise = getDefaultPreferences().then(function (defaults) {\n      Object.defineProperty(_this, \"defaults\", {\n        value: Object.freeze(defaults),\n        writable: false,\n        enumerable: true,\n        configurable: false\n      });\n      _this.prefs = Object.assign(Object.create(null), defaults);\n      return _this._readFromStorage(defaults);\n    }).then(function (prefs) {\n      if (!prefs) {\n        return;\n      }\n\n      for (var name in prefs) {\n        var defaultValue = _this.defaults[name],\n            prefValue = prefs[name];\n\n        if (defaultValue === undefined || _typeof(prefValue) !== _typeof(defaultValue)) {\n          continue;\n        }\n\n        _this.prefs[name] = prefValue;\n      }\n    });\n  }\n\n  _createClass(BasePreferences, [{\n    key: \"_writeToStorage\",\n    value: function () {\n      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(prefObj) {\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                throw new Error(\"Not implemented: _writeToStorage\");\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function _writeToStorage(_x) {\n        return _writeToStorage2.apply(this, arguments);\n      }\n\n      return _writeToStorage;\n    }()\n  }, {\n    key: \"_readFromStorage\",\n    value: function () {\n      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(prefObj) {\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                throw new Error(\"Not implemented: _readFromStorage\");\n\n              case 1:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }));\n\n      function _readFromStorage(_x2) {\n        return _readFromStorage2.apply(this, arguments);\n      }\n\n      return _readFromStorage;\n    }()\n  }, {\n    key: \"reset\",\n    value: function () {\n      var _reset = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                this.prefs = Object.assign(Object.create(null), this.defaults);\n                return _context3.abrupt(\"return\", this._writeToStorage(this.defaults));\n\n              case 4:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function reset() {\n        return _reset.apply(this, arguments);\n      }\n\n      return reset;\n    }()\n  }, {\n    key: \"set\",\n    value: function () {\n      var _set = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(name, value) {\n        var defaultValue, valueType, defaultType;\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                _context4.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                defaultValue = this.defaults[name];\n\n                if (!(defaultValue === undefined)) {\n                  _context4.next = 7;\n                  break;\n                }\n\n                throw new Error(\"Set preference: \\\"\".concat(name, \"\\\" is undefined.\"));\n\n              case 7:\n                if (!(value === undefined)) {\n                  _context4.next = 9;\n                  break;\n                }\n\n                throw new Error(\"Set preference: no value is specified.\");\n\n              case 9:\n                valueType = _typeof(value);\n                defaultType = _typeof(defaultValue);\n\n                if (!(valueType !== defaultType)) {\n                  _context4.next = 19;\n                  break;\n                }\n\n                if (!(valueType === \"number\" && defaultType === \"string\")) {\n                  _context4.next = 16;\n                  break;\n                }\n\n                value = value.toString();\n                _context4.next = 17;\n                break;\n\n              case 16:\n                throw new Error(\"Set preference: \\\"\".concat(value, \"\\\" is a \").concat(valueType, \", \") + \"expected a \".concat(defaultType, \".\"));\n\n              case 17:\n                _context4.next = 21;\n                break;\n\n              case 19:\n                if (!(valueType === \"number\" && !Number.isInteger(value))) {\n                  _context4.next = 21;\n                  break;\n                }\n\n                throw new Error(\"Set preference: \\\"\".concat(value, \"\\\" must be an integer.\"));\n\n              case 21:\n                this.prefs[name] = value;\n                return _context4.abrupt(\"return\", this._writeToStorage(this.prefs));\n\n              case 23:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, this);\n      }));\n\n      function set(_x3, _x4) {\n        return _set.apply(this, arguments);\n      }\n\n      return set;\n    }()\n  }, {\n    key: \"get\",\n    value: function () {\n      var _get = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(name) {\n        var defaultValue, prefValue;\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\n          while (1) {\n            switch (_context5.prev = _context5.next) {\n              case 0:\n                _context5.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                defaultValue = this.defaults[name];\n\n                if (!(defaultValue === undefined)) {\n                  _context5.next = 7;\n                  break;\n                }\n\n                throw new Error(\"Get preference: \\\"\".concat(name, \"\\\" is undefined.\"));\n\n              case 7:\n                prefValue = this.prefs[name];\n\n                if (!(prefValue !== undefined)) {\n                  _context5.next = 10;\n                  break;\n                }\n\n                return _context5.abrupt(\"return\", prefValue);\n\n              case 10:\n                return _context5.abrupt(\"return\", defaultValue);\n\n              case 11:\n              case \"end\":\n                return _context5.stop();\n            }\n          }\n        }, _callee5, this);\n      }));\n\n      function get(_x5) {\n        return _get.apply(this, arguments);\n      }\n\n      return get;\n    }()\n  }, {\n    key: \"getAll\",\n    value: function () {\n      var _getAll = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\n          while (1) {\n            switch (_context6.prev = _context6.next) {\n              case 0:\n                _context6.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                return _context6.abrupt(\"return\", Object.assign(Object.create(null), this.defaults, this.prefs));\n\n              case 3:\n              case \"end\":\n                return _context6.stop();\n            }\n          }\n        }, _callee6, this);\n      }));\n\n      function getAll() {\n        return _getAll.apply(this, arguments);\n      }\n\n      return getAll;\n    }()\n  }]);\n\n  return BasePreferences;\n}();\n\nexports.BasePreferences = BasePreferences;\n\n/***/ }),\n\n/***/ \"8750\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer, global, process, module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;__webpack_require__(\"a4d3\");__webpack_require__(\"e01a\");__webpack_require__(\"b636\");__webpack_require__(\"d28b\");__webpack_require__(\"944a\");__webpack_require__(\"99af\");__webpack_require__(\"a623\");__webpack_require__(\"cb29\");__webpack_require__(\"7db0\");__webpack_require__(\"c740\");__webpack_require__(\"4160\");__webpack_require__(\"a630\");__webpack_require__(\"caad\");__webpack_require__(\"c975\");__webpack_require__(\"e260\");__webpack_require__(\"a15b\");__webpack_require__(\"baa5\");__webpack_require__(\"d81d\");__webpack_require__(\"fb6a\");__webpack_require__(\"45fc\");__webpack_require__(\"a434\");__webpack_require__(\"c19f\");__webpack_require__(\"b0c0\");__webpack_require__(\"6c57\");__webpack_require__(\"0c47\");__webpack_require__(\"4ec9\");__webpack_require__(\"90d7\");__webpack_require__(\"23dc\");__webpack_require__(\"a9e3\");__webpack_require__(\"8ba4\");__webpack_require__(\"9129\");__webpack_require__(\"b680\");__webpack_require__(\"cca6\");__webpack_require__(\"dca8\");__webpack_require__(\"e439\");__webpack_require__(\"7039\");__webpack_require__(\"3410\");__webpack_require__(\"c906\");__webpack_require__(\"b64b\");__webpack_require__(\"cee8\");__webpack_require__(\"d3b7\");__webpack_require__(\"07ac\");__webpack_require__(\"e6cf\");__webpack_require__(\"820e\");__webpack_require__(\"a79d\");__webpack_require__(\"5d41\");__webpack_require__(\"4d63\");__webpack_require__(\"ac1f\");__webpack_require__(\"25f0\");__webpack_require__(\"6062\");__webpack_require__(\"f5b2\");__webpack_require__(\"8a79\");__webpack_require__(\"f6d6\");__webpack_require__(\"2532\");__webpack_require__(\"3ca3\");__webpack_require__(\"466d\");__webpack_require__(\"843c\");__webpack_require__(\"4d90\");__webpack_require__(\"38cf\");__webpack_require__(\"5319\");__webpack_require__(\"841c\");__webpack_require__(\"1276\");__webpack_require__(\"2ca0\");__webpack_require__(\"498a\");__webpack_require__(\"cc71\");__webpack_require__(\"cfc3\");__webpack_require__(\"4a9b\");__webpack_require__(\"143c\");__webpack_require__(\"5cc6\");__webpack_require__(\"8a59\");__webpack_require__(\"fb2c\");__webpack_require__(\"9a8c\");__webpack_require__(\"a975\");__webpack_require__(\"735e\");__webpack_require__(\"c1ac\");__webpack_require__(\"d139\");__webpack_require__(\"3a7b\");__webpack_require__(\"d5d6\");__webpack_require__(\"82f8\");__webpack_require__(\"e91f\");__webpack_require__(\"60bd\");__webpack_require__(\"5f96\");__webpack_require__(\"3280\");__webpack_require__(\"3fcc\");__webpack_require__(\"ca91\");__webpack_require__(\"25a1\");__webpack_require__(\"cd26\");__webpack_require__(\"3c5d\");__webpack_require__(\"2954\");__webpack_require__(\"649e\");__webpack_require__(\"219c\");__webpack_require__(\"170b\");__webpack_require__(\"b39a\");__webpack_require__(\"72f7\");__webpack_require__(\"10d1\");__webpack_require__(\"1fe2\");__webpack_require__(\"159b\");__webpack_require__(\"ddb0\");__webpack_require__(\"130f\");__webpack_require__(\"2b3d\");__webpack_require__(\"bf19\");var _typeof2=__webpack_require__(\"7037\");/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */(function webpackUniversalModuleDefinition(root,factory){if(( false?undefined:_typeof2(exports))==='object'&&( false?undefined:_typeof2(module))==='object')module.exports=factory();else if(true)!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else {}})(this,function(){return(/******/function(modules){// webpackBootstrap\n/******/ // The module cache\n/******/var installedModules={};/******/ /******/ // The require function\n/******/function __w_pdfjs_require__(moduleId){/******/ /******/ // Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/ // Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******/ /******/ // Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__w_pdfjs_require__);/******/ /******/ // Flag the module as loaded\n/******/module.l=true;/******/ /******/ // Return the exports of the module\n/******/return module.exports;/******/}/******/ /******/ /******/ // expose the modules object (__webpack_modules__)\n/******/__w_pdfjs_require__.m=modules;/******/ /******/ // expose the module cache\n/******/__w_pdfjs_require__.c=installedModules;/******/ /******/ // define getter function for harmony exports\n/******/__w_pdfjs_require__.d=function(exports,name,getter){/******/if(!__w_pdfjs_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******/ /******/ // define __esModule on exports\n/******/__w_pdfjs_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******/ /******/ // create a fake namespace object\n/******/ // mode & 1: value is a module id, require it\n/******/ // mode & 2: merge all properties of value into the ns\n/******/ // mode & 4: return value when already ns object\n/******/ // mode & 8|1: behave like require\n/******/__w_pdfjs_require__.t=function(value,mode){/******/if(mode&1)value=__w_pdfjs_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&_typeof2(value)==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__w_pdfjs_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__w_pdfjs_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******/ /******/ // getDefaultExport function for compatibility with non-harmony modules\n/******/__w_pdfjs_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__w_pdfjs_require__.d(getter,'a',getter);/******/return getter;/******/};/******/ /******/ // Object.prototype.hasOwnProperty.call\n/******/__w_pdfjs_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******/ /******/ // __webpack_public_path__\n/******/__w_pdfjs_require__.p=\"\";/******/ /******/ /******/ // Load entry module and return exports\n/******/return __w_pdfjs_require__(__w_pdfjs_require__.s=0);/******/}(/************************************************************************/ /******/[/* 0 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var pdfjsVersion='2.4.456';var pdfjsBuild='228a591c';var pdfjsSharedUtil=__w_pdfjs_require__(1);var pdfjsDisplayAPI=__w_pdfjs_require__(190);var pdfjsDisplayTextLayer=__w_pdfjs_require__(205);var pdfjsDisplayAnnotationLayer=__w_pdfjs_require__(206);var pdfjsDisplayDisplayUtils=__w_pdfjs_require__(194);var pdfjsDisplaySVG=__w_pdfjs_require__(207);var pdfjsDisplayWorkerOptions=__w_pdfjs_require__(199);var pdfjsDisplayAPICompatibility=__w_pdfjs_require__(196);{var _require=__w_pdfjs_require__(48),isNodeJS=_require.isNodeJS;if(isNodeJS){var PDFNodeStream=__w_pdfjs_require__(208).PDFNodeStream;pdfjsDisplayAPI.setPDFNetworkStreamFactory(function(params){return new PDFNodeStream(params);});}else{var PDFNetworkStream=__w_pdfjs_require__(211).PDFNetworkStream;var PDFFetchStream;if(pdfjsDisplayDisplayUtils.isFetchSupported()){PDFFetchStream=__w_pdfjs_require__(212).PDFFetchStream;}pdfjsDisplayAPI.setPDFNetworkStreamFactory(function(params){if(PDFFetchStream&&pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)){return new PDFFetchStream(params);}return new PDFNetworkStream(params);});}}exports.build=pdfjsDisplayAPI.build;exports.version=pdfjsDisplayAPI.version;exports.getDocument=pdfjsDisplayAPI.getDocument;exports.LoopbackPort=pdfjsDisplayAPI.LoopbackPort;exports.PDFDataRangeTransport=pdfjsDisplayAPI.PDFDataRangeTransport;exports.PDFWorker=pdfjsDisplayAPI.PDFWorker;exports.renderTextLayer=pdfjsDisplayTextLayer.renderTextLayer;exports.AnnotationLayer=pdfjsDisplayAnnotationLayer.AnnotationLayer;exports.createPromiseCapability=pdfjsSharedUtil.createPromiseCapability;exports.PasswordResponses=pdfjsSharedUtil.PasswordResponses;exports.InvalidPDFException=pdfjsSharedUtil.InvalidPDFException;exports.MissingPDFException=pdfjsSharedUtil.MissingPDFException;exports.SVGGraphics=pdfjsDisplaySVG.SVGGraphics;exports.NativeImageDecoding=pdfjsSharedUtil.NativeImageDecoding;exports.CMapCompressionType=pdfjsSharedUtil.CMapCompressionType;exports.PermissionFlag=pdfjsSharedUtil.PermissionFlag;exports.UnexpectedResponseException=pdfjsSharedUtil.UnexpectedResponseException;exports.OPS=pdfjsSharedUtil.OPS;exports.VerbosityLevel=pdfjsSharedUtil.VerbosityLevel;exports.UNSUPPORTED_FEATURES=pdfjsSharedUtil.UNSUPPORTED_FEATURES;exports.createValidAbsoluteUrl=pdfjsSharedUtil.createValidAbsoluteUrl;exports.createObjectURL=pdfjsSharedUtil.createObjectURL;exports.removeNullCharacters=pdfjsSharedUtil.removeNullCharacters;exports.shadow=pdfjsSharedUtil.shadow;exports.Util=pdfjsSharedUtil.Util;exports.RenderingCancelledException=pdfjsDisplayDisplayUtils.RenderingCancelledException;exports.getFilenameFromUrl=pdfjsDisplayDisplayUtils.getFilenameFromUrl;exports.LinkTarget=pdfjsDisplayDisplayUtils.LinkTarget;exports.addLinkAttributes=pdfjsDisplayDisplayUtils.addLinkAttributes;exports.loadScript=pdfjsDisplayDisplayUtils.loadScript;exports.PDFDateString=pdfjsDisplayDisplayUtils.PDFDateString;exports.GlobalWorkerOptions=pdfjsDisplayWorkerOptions.GlobalWorkerOptions;exports.apiCompatibilityParams=pdfjsDisplayAPICompatibility.apiCompatibilityParams;/***/},/* 1 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.arrayByteLength=arrayByteLength;exports.arraysToBytes=arraysToBytes;exports.assert=assert;exports.bytesToString=bytesToString;exports.createPromiseCapability=createPromiseCapability;exports.getVerbosityLevel=getVerbosityLevel;exports.info=info;exports.isArrayBuffer=isArrayBuffer;exports.isArrayEqual=isArrayEqual;exports.isBool=isBool;exports.isEmptyObj=isEmptyObj;exports.isNum=isNum;exports.isString=isString;exports.isSameOrigin=isSameOrigin;exports.createValidAbsoluteUrl=createValidAbsoluteUrl;exports.removeNullCharacters=removeNullCharacters;exports.setVerbosityLevel=setVerbosityLevel;exports.shadow=shadow;exports.string32=string32;exports.stringToBytes=stringToBytes;exports.stringToPDFString=stringToPDFString;exports.stringToUTF8String=stringToUTF8String;exports.utf8StringToString=utf8StringToString;exports.warn=warn;exports.unreachable=unreachable;exports.IsEvalSupportedCached=exports.IsLittleEndianCached=exports.createObjectURL=exports.FormatError=exports.Util=exports.UnknownErrorException=exports.UnexpectedResponseException=exports.TextRenderingMode=exports.StreamType=exports.PermissionFlag=exports.PasswordResponses=exports.PasswordException=exports.NativeImageDecoding=exports.MissingPDFException=exports.InvalidPDFException=exports.AbortException=exports.CMapCompressionType=exports.ImageKind=exports.FontType=exports.AnnotationType=exports.AnnotationStateModelType=exports.AnnotationReviewState=exports.AnnotationReplyType=exports.AnnotationMarkedState=exports.AnnotationFlag=exports.AnnotationFieldFlag=exports.AnnotationBorderStyleType=exports.UNSUPPORTED_FEATURES=exports.VerbosityLevel=exports.OPS=exports.IDENTITY_MATRIX=exports.FONT_IDENTITY_MATRIX=exports.BaseException=void 0;__w_pdfjs_require__(2);function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}var IDENTITY_MATRIX=[1,0,0,1,0,0];exports.IDENTITY_MATRIX=IDENTITY_MATRIX;var FONT_IDENTITY_MATRIX=[0.001,0,0,0.001,0,0];exports.FONT_IDENTITY_MATRIX=FONT_IDENTITY_MATRIX;var NativeImageDecoding={NONE:\"none\",DECODE:\"decode\",DISPLAY:\"display\"};exports.NativeImageDecoding=NativeImageDecoding;var PermissionFlag={PRINT:0x04,MODIFY_CONTENTS:0x08,COPY:0x10,MODIFY_ANNOTATIONS:0x20,FILL_INTERACTIVE_FORMS:0x100,COPY_FOR_ACCESSIBILITY:0x200,ASSEMBLE:0x400,PRINT_HIGH_QUALITY:0x800};exports.PermissionFlag=PermissionFlag;var TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};exports.TextRenderingMode=TextRenderingMode;var ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};exports.ImageKind=ImageKind;var AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};exports.AnnotationType=AnnotationType;var AnnotationStateModelType={MARKED:\"Marked\",REVIEW:\"Review\"};exports.AnnotationStateModelType=AnnotationStateModelType;var AnnotationMarkedState={MARKED:\"Marked\",UNMARKED:\"Unmarked\"};exports.AnnotationMarkedState=AnnotationMarkedState;var AnnotationReviewState={ACCEPTED:\"Accepted\",REJECTED:\"Rejected\",CANCELLED:\"Cancelled\",COMPLETED:\"Completed\",NONE:\"None\"};exports.AnnotationReviewState=AnnotationReviewState;var AnnotationReplyType={GROUP:\"Group\",REPLY:\"R\"};exports.AnnotationReplyType=AnnotationReplyType;var AnnotationFlag={INVISIBLE:0x01,HIDDEN:0x02,PRINT:0x04,NOZOOM:0x08,NOROTATE:0x10,NOVIEW:0x20,READONLY:0x40,LOCKED:0x80,TOGGLENOVIEW:0x100,LOCKEDCONTENTS:0x200};exports.AnnotationFlag=AnnotationFlag;var AnnotationFieldFlag={READONLY:0x0000001,REQUIRED:0x0000002,NOEXPORT:0x0000004,MULTILINE:0x0001000,PASSWORD:0x0002000,NOTOGGLETOOFF:0x0004000,RADIO:0x0008000,PUSHBUTTON:0x0010000,COMBO:0x0020000,EDIT:0x0040000,SORT:0x0080000,FILESELECT:0x0100000,MULTISELECT:0x0200000,DONOTSPELLCHECK:0x0400000,DONOTSCROLL:0x0800000,COMB:0x1000000,RICHTEXT:0x2000000,RADIOSINUNISON:0x2000000,COMMITONSELCHANGE:0x4000000};exports.AnnotationFieldFlag=AnnotationFieldFlag;var AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};exports.AnnotationBorderStyleType=AnnotationBorderStyleType;var StreamType={UNKNOWN:\"UNKNOWN\",FLATE:\"FLATE\",LZW:\"LZW\",DCT:\"DCT\",JPX:\"JPX\",JBIG:\"JBIG\",A85:\"A85\",AHX:\"AHX\",CCF:\"CCF\",RLX:\"RLX\"};exports.StreamType=StreamType;var FontType={UNKNOWN:\"UNKNOWN\",TYPE1:\"TYPE1\",TYPE1C:\"TYPE1C\",CIDFONTTYPE0:\"CIDFONTTYPE0\",CIDFONTTYPE0C:\"CIDFONTTYPE0C\",TRUETYPE:\"TRUETYPE\",CIDFONTTYPE2:\"CIDFONTTYPE2\",TYPE3:\"TYPE3\",OPENTYPE:\"OPENTYPE\",TYPE0:\"TYPE0\",MMTYPE1:\"MMTYPE1\"};exports.FontType=FontType;var VerbosityLevel={ERRORS:0,WARNINGS:1,INFOS:5};exports.VerbosityLevel=VerbosityLevel;var CMapCompressionType={NONE:0,BINARY:1,STREAM:2};exports.CMapCompressionType=CMapCompressionType;var OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};exports.OPS=OPS;var UNSUPPORTED_FEATURES={unknown:\"unknown\",forms:\"forms\",javaScript:\"javaScript\",smask:\"smask\",shadingPattern:\"shadingPattern\",font:\"font\"};exports.UNSUPPORTED_FEATURES=UNSUPPORTED_FEATURES;var PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};exports.PasswordResponses=PasswordResponses;var verbosity=VerbosityLevel.WARNINGS;function setVerbosityLevel(level){if(Number.isInteger(level)){verbosity=level;}}function getVerbosityLevel(){return verbosity;}function info(msg){if(verbosity>=VerbosityLevel.INFOS){console.log(\"Info: \".concat(msg));}}function warn(msg){if(verbosity>=VerbosityLevel.WARNINGS){console.log(\"Warning: \".concat(msg));}}function unreachable(msg){throw new Error(msg);}function assert(cond,msg){if(!cond){unreachable(msg);}}function isSameOrigin(baseUrl,otherUrl){var base;try{base=new URL(baseUrl);if(!base.origin||base.origin===\"null\"){return false;}}catch(e){return false;}var other=new URL(otherUrl,base);return base.origin===other.origin;}function _isValidProtocol(url){if(!url){return false;}switch(url.protocol){case\"http:\":case\"https:\":case\"ftp:\":case\"mailto:\":case\"tel:\":return true;default:return false;}}function createValidAbsoluteUrl(url,baseUrl){if(!url){return null;}try{var absoluteUrl=baseUrl?new URL(url,baseUrl):new URL(url);if(_isValidProtocol(absoluteUrl)){return absoluteUrl;}}catch(ex){}return null;}function shadow(obj,prop,value){Object.defineProperty(obj,prop,{value:value,enumerable:true,configurable:true,writable:false});return value;}var BaseException=function BaseExceptionClosure(){function BaseException(message){if(this.constructor===BaseException){unreachable(\"Cannot initialize BaseException.\");}this.message=message;this.name=this.constructor.name;}BaseException.prototype=new Error();BaseException.constructor=BaseException;return BaseException;}();exports.BaseException=BaseException;var PasswordException=/*#__PURE__*/function(_BaseException){_inherits(PasswordException,_BaseException);function PasswordException(msg,code){var _this;_classCallCheck(this,PasswordException);_this=_possibleConstructorReturn(this,_getPrototypeOf(PasswordException).call(this,msg));_this.code=code;return _this;}return PasswordException;}(BaseException);exports.PasswordException=PasswordException;var UnknownErrorException=/*#__PURE__*/function(_BaseException2){_inherits(UnknownErrorException,_BaseException2);function UnknownErrorException(msg,details){var _this2;_classCallCheck(this,UnknownErrorException);_this2=_possibleConstructorReturn(this,_getPrototypeOf(UnknownErrorException).call(this,msg));_this2.details=details;return _this2;}return UnknownErrorException;}(BaseException);exports.UnknownErrorException=UnknownErrorException;var InvalidPDFException=/*#__PURE__*/function(_BaseException3){_inherits(InvalidPDFException,_BaseException3);function InvalidPDFException(){_classCallCheck(this,InvalidPDFException);return _possibleConstructorReturn(this,_getPrototypeOf(InvalidPDFException).apply(this,arguments));}return InvalidPDFException;}(BaseException);exports.InvalidPDFException=InvalidPDFException;var MissingPDFException=/*#__PURE__*/function(_BaseException4){_inherits(MissingPDFException,_BaseException4);function MissingPDFException(){_classCallCheck(this,MissingPDFException);return _possibleConstructorReturn(this,_getPrototypeOf(MissingPDFException).apply(this,arguments));}return MissingPDFException;}(BaseException);exports.MissingPDFException=MissingPDFException;var UnexpectedResponseException=/*#__PURE__*/function(_BaseException5){_inherits(UnexpectedResponseException,_BaseException5);function UnexpectedResponseException(msg,status){var _this3;_classCallCheck(this,UnexpectedResponseException);_this3=_possibleConstructorReturn(this,_getPrototypeOf(UnexpectedResponseException).call(this,msg));_this3.status=status;return _this3;}return UnexpectedResponseException;}(BaseException);exports.UnexpectedResponseException=UnexpectedResponseException;var FormatError=/*#__PURE__*/function(_BaseException6){_inherits(FormatError,_BaseException6);function FormatError(){_classCallCheck(this,FormatError);return _possibleConstructorReturn(this,_getPrototypeOf(FormatError).apply(this,arguments));}return FormatError;}(BaseException);exports.FormatError=FormatError;var AbortException=/*#__PURE__*/function(_BaseException7){_inherits(AbortException,_BaseException7);function AbortException(){_classCallCheck(this,AbortException);return _possibleConstructorReturn(this,_getPrototypeOf(AbortException).apply(this,arguments));}return AbortException;}(BaseException);exports.AbortException=AbortException;var NullCharactersRegExp=/\\x00/g;function removeNullCharacters(str){if(typeof str!==\"string\"){warn(\"The argument for removeNullCharacters must be a string.\");return str;}return str.replace(NullCharactersRegExp,\"\");}function bytesToString(bytes){assert(bytes!==null&&_typeof(bytes)===\"object\"&&bytes.length!==undefined,\"Invalid argument for bytesToString\");var length=bytes.length;var MAX_ARGUMENT_COUNT=8192;if(length<MAX_ARGUMENT_COUNT){return String.fromCharCode.apply(null,bytes);}var strBuf=[];for(var i=0;i<length;i+=MAX_ARGUMENT_COUNT){var chunkEnd=Math.min(i+MAX_ARGUMENT_COUNT,length);var chunk=bytes.subarray(i,chunkEnd);strBuf.push(String.fromCharCode.apply(null,chunk));}return strBuf.join(\"\");}function stringToBytes(str){assert(typeof str===\"string\",\"Invalid argument for stringToBytes\");var length=str.length;var bytes=new Uint8Array(length);for(var i=0;i<length;++i){bytes[i]=str.charCodeAt(i)&0xff;}return bytes;}function arrayByteLength(arr){if(arr.length!==undefined){return arr.length;}assert(arr.byteLength!==undefined);return arr.byteLength;}function arraysToBytes(arr){var length=arr.length;if(length===1&&arr[0]instanceof Uint8Array){return arr[0];}var resultLength=0;for(var i=0;i<length;i++){resultLength+=arrayByteLength(arr[i]);}var pos=0;var data=new Uint8Array(resultLength);for(var _i=0;_i<length;_i++){var item=arr[_i];if(!(item instanceof Uint8Array)){if(typeof item===\"string\"){item=stringToBytes(item);}else{item=new Uint8Array(item);}}var itemLength=item.byteLength;data.set(item,pos);pos+=itemLength;}return data;}function string32(value){return String.fromCharCode(value>>24&0xff,value>>16&0xff,value>>8&0xff,value&0xff);}function isLittleEndian(){var buffer8=new Uint8Array(4);buffer8[0]=1;var view32=new Uint32Array(buffer8.buffer,0,1);return view32[0]===1;}var IsLittleEndianCached={get value(){return shadow(this,\"value\",isLittleEndian());}};exports.IsLittleEndianCached=IsLittleEndianCached;function isEvalSupported(){try{new Function(\"\");return true;}catch(e){return false;}}var IsEvalSupportedCached={get value(){return shadow(this,\"value\",isEvalSupported());}};exports.IsEvalSupportedCached=IsEvalSupportedCached;var rgbBuf=[\"rgb(\",0,\",\",0,\",\",0,\")\"];var Util=/*#__PURE__*/function(){function Util(){_classCallCheck(this,Util);}_createClass(Util,null,[{key:\"makeCssRgb\",value:function makeCssRgb(r,g,b){rgbBuf[1]=r;rgbBuf[3]=g;rgbBuf[5]=b;return rgbBuf.join(\"\");}},{key:\"transform\",value:function transform(m1,m2){return[m1[0]*m2[0]+m1[2]*m2[1],m1[1]*m2[0]+m1[3]*m2[1],m1[0]*m2[2]+m1[2]*m2[3],m1[1]*m2[2]+m1[3]*m2[3],m1[0]*m2[4]+m1[2]*m2[5]+m1[4],m1[1]*m2[4]+m1[3]*m2[5]+m1[5]];}},{key:\"applyTransform\",value:function applyTransform(p,m){var xt=p[0]*m[0]+p[1]*m[2]+m[4];var yt=p[0]*m[1]+p[1]*m[3]+m[5];return[xt,yt];}},{key:\"applyInverseTransform\",value:function applyInverseTransform(p,m){var d=m[0]*m[3]-m[1]*m[2];var xt=(p[0]*m[3]-p[1]*m[2]+m[2]*m[5]-m[4]*m[3])/d;var yt=(-p[0]*m[1]+p[1]*m[0]+m[4]*m[1]-m[5]*m[0])/d;return[xt,yt];}},{key:\"getAxialAlignedBoundingBox\",value:function getAxialAlignedBoundingBox(r,m){var p1=Util.applyTransform(r,m);var p2=Util.applyTransform(r.slice(2,4),m);var p3=Util.applyTransform([r[0],r[3]],m);var p4=Util.applyTransform([r[2],r[1]],m);return[Math.min(p1[0],p2[0],p3[0],p4[0]),Math.min(p1[1],p2[1],p3[1],p4[1]),Math.max(p1[0],p2[0],p3[0],p4[0]),Math.max(p1[1],p2[1],p3[1],p4[1])];}},{key:\"inverseTransform\",value:function inverseTransform(m){var d=m[0]*m[3]-m[1]*m[2];return[m[3]/d,-m[1]/d,-m[2]/d,m[0]/d,(m[2]*m[5]-m[4]*m[3])/d,(m[4]*m[1]-m[5]*m[0])/d];}},{key:\"apply3dTransform\",value:function apply3dTransform(m,v){return[m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2]];}},{key:\"singularValueDecompose2dScale\",value:function singularValueDecompose2dScale(m){var transpose=[m[0],m[2],m[1],m[3]];var a=m[0]*transpose[0]+m[1]*transpose[2];var b=m[0]*transpose[1]+m[1]*transpose[3];var c=m[2]*transpose[0]+m[3]*transpose[2];var d=m[2]*transpose[1]+m[3]*transpose[3];var first=(a+d)/2;var second=Math.sqrt((a+d)*(a+d)-4*(a*d-c*b))/2;var sx=first+second||1;var sy=first-second||1;return[Math.sqrt(sx),Math.sqrt(sy)];}},{key:\"normalizeRect\",value:function normalizeRect(rect){var r=rect.slice(0);if(rect[0]>rect[2]){r[0]=rect[2];r[2]=rect[0];}if(rect[1]>rect[3]){r[1]=rect[3];r[3]=rect[1];}return r;}},{key:\"intersect\",value:function intersect(rect1,rect2){function compare(a,b){return a-b;}var orderedX=[rect1[0],rect1[2],rect2[0],rect2[2]].sort(compare);var orderedY=[rect1[1],rect1[3],rect2[1],rect2[3]].sort(compare);var result=[];rect1=Util.normalizeRect(rect1);rect2=Util.normalizeRect(rect2);if(orderedX[0]===rect1[0]&&orderedX[1]===rect2[0]||orderedX[0]===rect2[0]&&orderedX[1]===rect1[0]){result[0]=orderedX[1];result[2]=orderedX[2];}else{return null;}if(orderedY[0]===rect1[1]&&orderedY[1]===rect2[1]||orderedY[0]===rect2[1]&&orderedY[1]===rect1[1]){result[1]=orderedY[1];result[3]=orderedY[2];}else{return null;}return result;}}]);return Util;}();exports.Util=Util;var PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2D8,0x2C7,0x2C6,0x2D9,0x2DD,0x2DB,0x2DA,0x2DC,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2022,0x2020,0x2021,0x2026,0x2014,0x2013,0x192,0x2044,0x2039,0x203A,0x2212,0x2030,0x201E,0x201C,0x201D,0x2018,0x2019,0x201A,0x2122,0xFB01,0xFB02,0x141,0x152,0x160,0x178,0x17D,0x131,0x142,0x153,0x161,0x17E,0,0x20AC];function stringToPDFString(str){var length=str.length,strBuf=[];if(str[0]===\"\\xFE\"&&str[1]===\"\\xFF\"){for(var i=2;i<length;i+=2){strBuf.push(String.fromCharCode(str.charCodeAt(i)<<8|str.charCodeAt(i+1)));}}else if(str[0]===\"\\xFF\"&&str[1]===\"\\xFE\"){for(var _i2=2;_i2<length;_i2+=2){strBuf.push(String.fromCharCode(str.charCodeAt(_i2+1)<<8|str.charCodeAt(_i2)));}}else{for(var _i3=0;_i3<length;++_i3){var code=PDFStringTranslateTable[str.charCodeAt(_i3)];strBuf.push(code?String.fromCharCode(code):str.charAt(_i3));}}return strBuf.join(\"\");}function stringToUTF8String(str){return decodeURIComponent(escape(str));}function utf8StringToString(str){return unescape(encodeURIComponent(str));}function isEmptyObj(obj){for(var key in obj){return false;}return true;}function isBool(v){return typeof v===\"boolean\";}function isNum(v){return typeof v===\"number\";}function isString(v){return typeof v===\"string\";}function isArrayBuffer(v){return _typeof(v)===\"object\"&&v!==null&&v.byteLength!==undefined;}function isArrayEqual(arr1,arr2){if(arr1.length!==arr2.length){return false;}return arr1.every(function(element,index){return element===arr2[index];});}function createPromiseCapability(){var capability=Object.create(null);var isSettled=false;Object.defineProperty(capability,\"settled\",{get:function get(){return isSettled;}});capability.promise=new Promise(function(resolve,reject){capability.resolve=function(data){isSettled=true;resolve(data);};capability.reject=function(reason){isSettled=true;reject(reason);};});return capability;}var createObjectURL=function createObjectURLClosure(){var digits=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return function createObjectURL(data,contentType){var forceDataSchema=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(!forceDataSchema&&URL.createObjectURL){var blob=new Blob([data],{type:contentType});return URL.createObjectURL(blob);}var buffer=\"data:\".concat(contentType,\";base64,\");for(var i=0,ii=data.length;i<ii;i+=3){var b1=data[i]&0xff;var b2=data[i+1]&0xff;var b3=data[i+2]&0xff;var d1=b1>>2,d2=(b1&3)<<4|b2>>4;var d3=i+1<ii?(b2&0xf)<<2|b3>>6:64;var d4=i+2<ii?b3&0x3f:64;buffer+=digits[d1]+digits[d2]+digits[d3]+digits[d4];}return buffer;};}();exports.createObjectURL=createObjectURL;/***/},/* 2 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}if(typeof globalThis===\"undefined\"||!globalThis._pdfjsCompatibilityChecked){if(typeof globalThis===\"undefined\"||globalThis.Math!==Math){globalThis=__w_pdfjs_require__(3);}globalThis._pdfjsCompatibilityChecked=true;var _require=__w_pdfjs_require__(48),isNodeJS=_require.isNodeJS;var hasDOM=(typeof window===\"undefined\"?\"undefined\":_typeof(window))===\"object\"&&(typeof document===\"undefined\"?\"undefined\":_typeof(document))===\"object\";var userAgent=typeof navigator!==\"undefined\"&&navigator.userAgent||\"\";var isIE=/Trident/.test(userAgent);(function checkNodeBtoa(){if(globalThis.btoa||!isNodeJS){return;}globalThis.btoa=function(chars){return Buffer.from(chars,\"binary\").toString(\"base64\");};})();(function checkNodeAtob(){if(globalThis.atob||!isNodeJS){return;}globalThis.atob=function(input){return Buffer.from(input,\"base64\").toString(\"binary\");};})();(function checkChildNodeRemove(){if(!hasDOM){return;}if(typeof Element.prototype.remove!==\"undefined\"){return;}Element.prototype.remove=function(){if(this.parentNode){this.parentNode.removeChild(this);}};})();(function checkDOMTokenListAddRemove(){if(!hasDOM||isNodeJS){return;}var div=document.createElement(\"div\");div.classList.add(\"testOne\",\"testTwo\");if(div.classList.contains(\"testOne\")===true&&div.classList.contains(\"testTwo\")===true){return;}var OriginalDOMTokenListAdd=DOMTokenList.prototype.add;var OriginalDOMTokenListRemove=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){for(var _len=arguments.length,tokens=new Array(_len),_key=0;_key<_len;_key++){tokens[_key]=arguments[_key];}for(var _i=0,_tokens=tokens;_i<_tokens.length;_i++){var token=_tokens[_i];OriginalDOMTokenListAdd.call(this,token);}};DOMTokenList.prototype.remove=function(){for(var _len2=arguments.length,tokens=new Array(_len2),_key2=0;_key2<_len2;_key2++){tokens[_key2]=arguments[_key2];}for(var _i2=0,_tokens2=tokens;_i2<_tokens2.length;_i2++){var token=_tokens2[_i2];OriginalDOMTokenListRemove.call(this,token);}};})();(function checkDOMTokenListToggle(){if(!hasDOM||isNodeJS){return;}var div=document.createElement(\"div\");if(div.classList.toggle(\"test\",0)===false){return;}DOMTokenList.prototype.toggle=function(token){var force=arguments.length>1?!!arguments[1]:!this.contains(token);return this[force?\"add\":\"remove\"](token),force;};})();(function checkWindowHistoryPushStateReplaceState(){if(!hasDOM||!isIE){return;}var OriginalPushState=window.history.pushState;var OriginalReplaceState=window.history.replaceState;window.history.pushState=function(state,title,url){var args=url===undefined?[state,title]:[state,title,url];OriginalPushState.apply(this,args);};window.history.replaceState=function(state,title,url){var args=url===undefined?[state,title]:[state,title,url];OriginalReplaceState.apply(this,args);};})();(function checkStringStartsWith(){if(String.prototype.startsWith){return;}__w_pdfjs_require__(49);})();(function checkStringEndsWith(){if(String.prototype.endsWith){return;}__w_pdfjs_require__(60);})();(function checkStringIncludes(){if(String.prototype.includes){return;}__w_pdfjs_require__(62);})();(function checkArrayIncludes(){if(Array.prototype.includes){return;}__w_pdfjs_require__(64);})();(function checkArrayFrom(){if(Array.from){return;}__w_pdfjs_require__(72);})();(function checkObjectAssign(){if(Object.assign){return;}__w_pdfjs_require__(94);})();(function checkMathLog2(){if(Math.log2){return;}Math.log2=__w_pdfjs_require__(97);})();(function checkNumberIsNaN(){if(Number.isNaN){return;}Number.isNaN=__w_pdfjs_require__(99);})();(function checkNumberIsInteger(){if(Number.isInteger){return;}Number.isInteger=__w_pdfjs_require__(101);})();(function checkPromise(){if(globalThis.Promise&&globalThis.Promise.allSettled){return;}globalThis.Promise=__w_pdfjs_require__(104);})();(function checkURL(){globalThis.URL=__w_pdfjs_require__(128);})();(function checkReadableStream(){var isReadableStreamSupported=false;if(typeof ReadableStream!==\"undefined\"){try{new ReadableStream({start:function start(controller){controller.close();}});isReadableStreamSupported=true;}catch(e){}}if(isReadableStreamSupported){return;}globalThis.ReadableStream=__w_pdfjs_require__(135).ReadableStream;})();(function checkMapEntries(){if(globalThis.Map&&globalThis.Map.prototype.entries){return;}globalThis.Map=__w_pdfjs_require__(136);})();(function checkSetEntries(){if(globalThis.Set&&globalThis.Set.prototype.entries){return;}globalThis.Set=__w_pdfjs_require__(143);})();(function checkWeakMap(){if(globalThis.WeakMap){return;}globalThis.WeakMap=__w_pdfjs_require__(145);})();(function checkWeakSet(){if(globalThis.WeakSet){return;}globalThis.WeakSet=__w_pdfjs_require__(151);})();(function checkStringCodePointAt(){if(String.prototype.codePointAt){return;}__w_pdfjs_require__(153);})();(function checkStringFromCodePoint(){if(String.fromCodePoint){return;}String.fromCodePoint=__w_pdfjs_require__(155);})();(function checkSymbol(){if(globalThis.Symbol){return;}__w_pdfjs_require__(157);})();(function checkStringPadStart(){if(String.prototype.padStart){return;}__w_pdfjs_require__(180);})();(function checkStringPadEnd(){if(String.prototype.padEnd){return;}__w_pdfjs_require__(185);})();(function checkObjectValues(){if(Object.values){return;}Object.values=__w_pdfjs_require__(187);})();}/***/},/* 3 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(4);module.exports=__w_pdfjs_require__(6);/***/},/* 4 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var global=__w_pdfjs_require__(6);$({global:true},{globalThis:global});/***/},/* 5 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var getOwnPropertyDescriptor=__w_pdfjs_require__(7).f;var createNonEnumerableProperty=__w_pdfjs_require__(21);var redefine=__w_pdfjs_require__(24);var setGlobal=__w_pdfjs_require__(25);var copyConstructorProperties=__w_pdfjs_require__(35);var isForced=__w_pdfjs_require__(47);module.exports=function(options,source){var TARGET=options.target;var GLOBAL=options.global;var STATIC=options.stat;var FORCED,target,key,targetProperty,sourceProperty,descriptor;if(GLOBAL){target=global;}else if(STATIC){target=global[TARGET]||setGlobal(TARGET,{});}else{target=(global[TARGET]||{}).prototype;}if(target)for(key in source){sourceProperty=source[key];if(options.noTargetGet){descriptor=getOwnPropertyDescriptor(target,key);targetProperty=descriptor&&descriptor.value;}else targetProperty=target[key];FORCED=isForced(GLOBAL?key:TARGET+(STATIC?'.':'#')+key,options.forced);if(!FORCED&&targetProperty!==undefined){if(_typeof2(sourceProperty)===_typeof2(targetProperty))continue;copyConstructorProperties(sourceProperty,targetProperty);}if(options.sham||targetProperty&&targetProperty.sham){createNonEnumerableProperty(sourceProperty,'sham',true);}redefine(target,key,sourceProperty,options);}};/***/},/* 6 */ /***/function(module,exports){var check=function check(it){return it&&it.Math==Math&&it;};module.exports=check((typeof globalThis===\"undefined\"?\"undefined\":_typeof2(globalThis))=='object'&&globalThis)||check((typeof window===\"undefined\"?\"undefined\":_typeof2(window))=='object'&&window)||check((typeof self===\"undefined\"?\"undefined\":_typeof2(self))=='object'&&self)||check((typeof global===\"undefined\"?\"undefined\":_typeof2(global))=='object'&&global)||Function('return this')();/***/},/* 7 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var propertyIsEnumerableModule=__w_pdfjs_require__(10);var createPropertyDescriptor=__w_pdfjs_require__(11);var toIndexedObject=__w_pdfjs_require__(12);var toPrimitive=__w_pdfjs_require__(16);var has=__w_pdfjs_require__(18);var IE8_DOM_DEFINE=__w_pdfjs_require__(19);var nativeGetOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;exports.f=DESCRIPTORS?nativeGetOwnPropertyDescriptor:function getOwnPropertyDescriptor(O,P){O=toIndexedObject(O);P=toPrimitive(P,true);if(IE8_DOM_DEFINE)try{return nativeGetOwnPropertyDescriptor(O,P);}catch(error){}if(has(O,P))return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O,P),O[P]);};/***/},/* 8 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);module.exports=!fails(function(){return Object.defineProperty({},1,{get:function get(){return 7;}})[1]!=7;});/***/},/* 9 */ /***/function(module,exports){module.exports=function(exec){try{return!!exec();}catch(error){return true;}};/***/},/* 10 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var nativePropertyIsEnumerable={}.propertyIsEnumerable;var getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;var NASHORN_BUG=getOwnPropertyDescriptor&&!nativePropertyIsEnumerable.call({1:2},1);exports.f=NASHORN_BUG?function propertyIsEnumerable(V){var descriptor=getOwnPropertyDescriptor(this,V);return!!descriptor&&descriptor.enumerable;}:nativePropertyIsEnumerable;/***/},/* 11 */ /***/function(module,exports){module.exports=function(bitmap,value){return{enumerable:!(bitmap&1),configurable:!(bitmap&2),writable:!(bitmap&4),value:value};};/***/},/* 12 */ /***/function(module,exports,__w_pdfjs_require__){var IndexedObject=__w_pdfjs_require__(13);var requireObjectCoercible=__w_pdfjs_require__(15);module.exports=function(it){return IndexedObject(requireObjectCoercible(it));};/***/},/* 13 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);var classof=__w_pdfjs_require__(14);var split=''.split;module.exports=fails(function(){return!Object('z').propertyIsEnumerable(0);})?function(it){return classof(it)=='String'?split.call(it,''):Object(it);}:Object;/***/},/* 14 */ /***/function(module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1);};/***/},/* 15 */ /***/function(module,exports){module.exports=function(it){if(it==undefined)throw TypeError(\"Can't call method on \"+it);return it;};/***/},/* 16 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);module.exports=function(input,PREFERRED_STRING){if(!isObject(input))return input;var fn,val;if(PREFERRED_STRING&&typeof(fn=input.toString)=='function'&&!isObject(val=fn.call(input)))return val;if(typeof(fn=input.valueOf)=='function'&&!isObject(val=fn.call(input)))return val;if(!PREFERRED_STRING&&typeof(fn=input.toString)=='function'&&!isObject(val=fn.call(input)))return val;throw TypeError(\"Can't convert object to primitive value\");};/***/},/* 17 */ /***/function(module,exports){module.exports=function(it){return _typeof2(it)==='object'?it!==null:typeof it==='function';};/***/},/* 18 */ /***/function(module,exports){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key);};/***/},/* 19 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var fails=__w_pdfjs_require__(9);var createElement=__w_pdfjs_require__(20);module.exports=!DESCRIPTORS&&!fails(function(){return Object.defineProperty(createElement('div'),'a',{get:function get(){return 7;}}).a!=7;});/***/},/* 20 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var isObject=__w_pdfjs_require__(17);var document=global.document;var EXISTS=isObject(document)&&isObject(document.createElement);module.exports=function(it){return EXISTS?document.createElement(it):{};};/***/},/* 21 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var definePropertyModule=__w_pdfjs_require__(22);var createPropertyDescriptor=__w_pdfjs_require__(11);module.exports=DESCRIPTORS?function(object,key,value){return definePropertyModule.f(object,key,createPropertyDescriptor(1,value));}:function(object,key,value){object[key]=value;return object;};/***/},/* 22 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var IE8_DOM_DEFINE=__w_pdfjs_require__(19);var anObject=__w_pdfjs_require__(23);var toPrimitive=__w_pdfjs_require__(16);var nativeDefineProperty=Object.defineProperty;exports.f=DESCRIPTORS?nativeDefineProperty:function defineProperty(O,P,Attributes){anObject(O);P=toPrimitive(P,true);anObject(Attributes);if(IE8_DOM_DEFINE)try{return nativeDefineProperty(O,P,Attributes);}catch(error){}if('get'in Attributes||'set'in Attributes)throw TypeError('Accessors not supported');if('value'in Attributes)O[P]=Attributes.value;return O;};/***/},/* 23 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);module.exports=function(it){if(!isObject(it)){throw TypeError(String(it)+' is not an object');}return it;};/***/},/* 24 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var createNonEnumerableProperty=__w_pdfjs_require__(21);var has=__w_pdfjs_require__(18);var setGlobal=__w_pdfjs_require__(25);var inspectSource=__w_pdfjs_require__(26);var InternalStateModule=__w_pdfjs_require__(28);var getInternalState=InternalStateModule.get;var enforceInternalState=InternalStateModule.enforce;var TEMPLATE=String(String).split('String');(module.exports=function(O,key,value,options){var unsafe=options?!!options.unsafe:false;var simple=options?!!options.enumerable:false;var noTargetGet=options?!!options.noTargetGet:false;if(typeof value=='function'){if(typeof key=='string'&&!has(value,'name'))createNonEnumerableProperty(value,'name',key);enforceInternalState(value).source=TEMPLATE.join(typeof key=='string'?key:'');}if(O===global){if(simple)O[key]=value;else setGlobal(key,value);return;}else if(!unsafe){delete O[key];}else if(!noTargetGet&&O[key]){simple=true;}if(simple)O[key]=value;else createNonEnumerableProperty(O,key,value);})(Function.prototype,'toString',function toString(){return typeof this=='function'&&getInternalState(this).source||inspectSource(this);});/***/},/* 25 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var createNonEnumerableProperty=__w_pdfjs_require__(21);module.exports=function(key,value){try{createNonEnumerableProperty(global,key,value);}catch(error){global[key]=value;}return value;};/***/},/* 26 */ /***/function(module,exports,__w_pdfjs_require__){var store=__w_pdfjs_require__(27);var functionToString=Function.toString;if(typeof store.inspectSource!='function'){store.inspectSource=function(it){return functionToString.call(it);};}module.exports=store.inspectSource;/***/},/* 27 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var setGlobal=__w_pdfjs_require__(25);var SHARED='__core-js_shared__';var store=global[SHARED]||setGlobal(SHARED,{});module.exports=store;/***/},/* 28 */ /***/function(module,exports,__w_pdfjs_require__){var NATIVE_WEAK_MAP=__w_pdfjs_require__(29);var global=__w_pdfjs_require__(6);var isObject=__w_pdfjs_require__(17);var createNonEnumerableProperty=__w_pdfjs_require__(21);var objectHas=__w_pdfjs_require__(18);var sharedKey=__w_pdfjs_require__(30);var hiddenKeys=__w_pdfjs_require__(34);var WeakMap=global.WeakMap;var set,get,has;var enforce=function enforce(it){return has(it)?get(it):set(it,{});};var getterFor=function getterFor(TYPE){return function(it){var state;if(!isObject(it)||(state=get(it)).type!==TYPE){throw TypeError('Incompatible receiver, '+TYPE+' required');}return state;};};if(NATIVE_WEAK_MAP){var store=new WeakMap();var wmget=store.get;var wmhas=store.has;var wmset=store.set;set=function set(it,metadata){wmset.call(store,it,metadata);return metadata;};get=function get(it){return wmget.call(store,it)||{};};has=function has(it){return wmhas.call(store,it);};}else{var STATE=sharedKey('state');hiddenKeys[STATE]=true;set=function set(it,metadata){createNonEnumerableProperty(it,STATE,metadata);return metadata;};get=function get(it){return objectHas(it,STATE)?it[STATE]:{};};has=function has(it){return objectHas(it,STATE);};}module.exports={set:set,get:get,has:has,enforce:enforce,getterFor:getterFor};/***/},/* 29 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var inspectSource=__w_pdfjs_require__(26);var WeakMap=global.WeakMap;module.exports=typeof WeakMap==='function'&&/native code/.test(inspectSource(WeakMap));/***/},/* 30 */ /***/function(module,exports,__w_pdfjs_require__){var shared=__w_pdfjs_require__(31);var uid=__w_pdfjs_require__(33);var keys=shared('keys');module.exports=function(key){return keys[key]||(keys[key]=uid(key));};/***/},/* 31 */ /***/function(module,exports,__w_pdfjs_require__){var IS_PURE=__w_pdfjs_require__(32);var store=__w_pdfjs_require__(27);(module.exports=function(key,value){return store[key]||(store[key]=value!==undefined?value:{});})('versions',[]).push({version:'3.6.4',mode:IS_PURE?'pure':'global',copyright:'© 2020 Denis Pushkarev (zloirock.ru)'});/***/},/* 32 */ /***/function(module,exports){module.exports=false;/***/},/* 33 */ /***/function(module,exports){var id=0;var postfix=Math.random();module.exports=function(key){return'Symbol('+String(key===undefined?'':key)+')_'+(++id+postfix).toString(36);};/***/},/* 34 */ /***/function(module,exports){module.exports={};/***/},/* 35 */ /***/function(module,exports,__w_pdfjs_require__){var has=__w_pdfjs_require__(18);var ownKeys=__w_pdfjs_require__(36);var getOwnPropertyDescriptorModule=__w_pdfjs_require__(7);var definePropertyModule=__w_pdfjs_require__(22);module.exports=function(target,source){var keys=ownKeys(source);var defineProperty=definePropertyModule.f;var getOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f;for(var i=0;i<keys.length;i++){var key=keys[i];if(!has(target,key))defineProperty(target,key,getOwnPropertyDescriptor(source,key));}};/***/},/* 36 */ /***/function(module,exports,__w_pdfjs_require__){var getBuiltIn=__w_pdfjs_require__(37);var getOwnPropertyNamesModule=__w_pdfjs_require__(39);var getOwnPropertySymbolsModule=__w_pdfjs_require__(46);var anObject=__w_pdfjs_require__(23);module.exports=getBuiltIn('Reflect','ownKeys')||function ownKeys(it){var keys=getOwnPropertyNamesModule.f(anObject(it));var getOwnPropertySymbols=getOwnPropertySymbolsModule.f;return getOwnPropertySymbols?keys.concat(getOwnPropertySymbols(it)):keys;};/***/},/* 37 */ /***/function(module,exports,__w_pdfjs_require__){var path=__w_pdfjs_require__(38);var global=__w_pdfjs_require__(6);var aFunction=function aFunction(variable){return typeof variable=='function'?variable:undefined;};module.exports=function(namespace,method){return arguments.length<2?aFunction(path[namespace])||aFunction(global[namespace]):path[namespace]&&path[namespace][method]||global[namespace]&&global[namespace][method];};/***/},/* 38 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);module.exports=global;/***/},/* 39 */ /***/function(module,exports,__w_pdfjs_require__){var internalObjectKeys=__w_pdfjs_require__(40);var enumBugKeys=__w_pdfjs_require__(45);var hiddenKeys=enumBugKeys.concat('length','prototype');exports.f=Object.getOwnPropertyNames||function getOwnPropertyNames(O){return internalObjectKeys(O,hiddenKeys);};/***/},/* 40 */ /***/function(module,exports,__w_pdfjs_require__){var has=__w_pdfjs_require__(18);var toIndexedObject=__w_pdfjs_require__(12);var indexOf=__w_pdfjs_require__(41).indexOf;var hiddenKeys=__w_pdfjs_require__(34);module.exports=function(object,names){var O=toIndexedObject(object);var i=0;var result=[];var key;for(key in O){!has(hiddenKeys,key)&&has(O,key)&&result.push(key);}while(names.length>i){if(has(O,key=names[i++])){~indexOf(result,key)||result.push(key);}}return result;};/***/},/* 41 */ /***/function(module,exports,__w_pdfjs_require__){var toIndexedObject=__w_pdfjs_require__(12);var toLength=__w_pdfjs_require__(42);var toAbsoluteIndex=__w_pdfjs_require__(44);var createMethod=function createMethod(IS_INCLUDES){return function($this,el,fromIndex){var O=toIndexedObject($this);var length=toLength(O.length);var index=toAbsoluteIndex(fromIndex,length);var value;if(IS_INCLUDES&&el!=el)while(length>index){value=O[index++];if(value!=value)return true;}else for(;length>index;index++){if((IS_INCLUDES||index in O)&&O[index]===el)return IS_INCLUDES||index||0;}return!IS_INCLUDES&&-1;};};module.exports={includes:createMethod(true),indexOf:createMethod(false)};/***/},/* 42 */ /***/function(module,exports,__w_pdfjs_require__){var toInteger=__w_pdfjs_require__(43);var min=Math.min;module.exports=function(argument){return argument>0?min(toInteger(argument),0x1FFFFFFFFFFFFF):0;};/***/},/* 43 */ /***/function(module,exports){var ceil=Math.ceil;var floor=Math.floor;module.exports=function(argument){return isNaN(argument=+argument)?0:(argument>0?floor:ceil)(argument);};/***/},/* 44 */ /***/function(module,exports,__w_pdfjs_require__){var toInteger=__w_pdfjs_require__(43);var max=Math.max;var min=Math.min;module.exports=function(index,length){var integer=toInteger(index);return integer<0?max(integer+length,0):min(integer,length);};/***/},/* 45 */ /***/function(module,exports){module.exports=['constructor','hasOwnProperty','isPrototypeOf','propertyIsEnumerable','toLocaleString','toString','valueOf'];/***/},/* 46 */ /***/function(module,exports){exports.f=Object.getOwnPropertySymbols;/***/},/* 47 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);var replacement=/#|\\.prototype\\./;var isForced=function isForced(feature,detection){var value=data[normalize(feature)];return value==POLYFILL?true:value==NATIVE?false:typeof detection=='function'?fails(detection):!!detection;};var normalize=isForced.normalize=function(string){return String(string).replace(replacement,'.').toLowerCase();};var data=isForced.data={};var NATIVE=isForced.NATIVE='N';var POLYFILL=isForced.POLYFILL='P';module.exports=isForced;/***/},/* 48 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.isNodeJS=void 0;function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}var isNodeJS=(typeof process===\"undefined\"?\"undefined\":_typeof(process))===\"object\"&&process+\"\"===\"[object process]\"&&!process.versions[\"nw\"]&&!process.versions[\"electron\"];exports.isNodeJS=isNodeJS;/***/},/* 49 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(50);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','startsWith');/***/},/* 50 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var getOwnPropertyDescriptor=__w_pdfjs_require__(7).f;var toLength=__w_pdfjs_require__(42);var notARegExp=__w_pdfjs_require__(51);var requireObjectCoercible=__w_pdfjs_require__(15);var correctIsRegExpLogic=__w_pdfjs_require__(56);var IS_PURE=__w_pdfjs_require__(32);var nativeStartsWith=''.startsWith;var min=Math.min;var CORRECT_IS_REGEXP_LOGIC=correctIsRegExpLogic('startsWith');var MDN_POLYFILL_BUG=!IS_PURE&&!CORRECT_IS_REGEXP_LOGIC&&!!function(){var descriptor=getOwnPropertyDescriptor(String.prototype,'startsWith');return descriptor&&!descriptor.writable;}();$({target:'String',proto:true,forced:!MDN_POLYFILL_BUG&&!CORRECT_IS_REGEXP_LOGIC},{startsWith:function startsWith(searchString){var that=String(requireObjectCoercible(this));notARegExp(searchString);var index=toLength(min(arguments.length>1?arguments[1]:undefined,that.length));var search=String(searchString);return nativeStartsWith?nativeStartsWith.call(that,search,index):that.slice(index,index+search.length)===search;}});/***/},/* 51 */ /***/function(module,exports,__w_pdfjs_require__){var isRegExp=__w_pdfjs_require__(52);module.exports=function(it){if(isRegExp(it)){throw TypeError(\"The method doesn't accept regular expressions\");}return it;};/***/},/* 52 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);var classof=__w_pdfjs_require__(14);var wellKnownSymbol=__w_pdfjs_require__(53);var MATCH=wellKnownSymbol('match');module.exports=function(it){var isRegExp;return isObject(it)&&((isRegExp=it[MATCH])!==undefined?!!isRegExp:classof(it)=='RegExp');};/***/},/* 53 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var shared=__w_pdfjs_require__(31);var has=__w_pdfjs_require__(18);var uid=__w_pdfjs_require__(33);var NATIVE_SYMBOL=__w_pdfjs_require__(54);var USE_SYMBOL_AS_UID=__w_pdfjs_require__(55);var WellKnownSymbolsStore=shared('wks');var _Symbol=global.Symbol;var createWellKnownSymbol=USE_SYMBOL_AS_UID?_Symbol:_Symbol&&_Symbol.withoutSetter||uid;module.exports=function(name){if(!has(WellKnownSymbolsStore,name)){if(NATIVE_SYMBOL&&has(_Symbol,name))WellKnownSymbolsStore[name]=_Symbol[name];else WellKnownSymbolsStore[name]=createWellKnownSymbol('Symbol.'+name);}return WellKnownSymbolsStore[name];};/***/},/* 54 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);module.exports=!!Object.getOwnPropertySymbols&&!fails(function(){return!String(Symbol());});/***/},/* 55 */ /***/function(module,exports,__w_pdfjs_require__){var NATIVE_SYMBOL=__w_pdfjs_require__(54);module.exports=NATIVE_SYMBOL&&!Symbol.sham&&_typeof2(Symbol.iterator)=='symbol';/***/},/* 56 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);var MATCH=wellKnownSymbol('match');module.exports=function(METHOD_NAME){var regexp=/./;try{'/./'[METHOD_NAME](regexp);}catch(e){try{regexp[MATCH]=false;return'/./'[METHOD_NAME](regexp);}catch(f){}}return false;};/***/},/* 57 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var bind=__w_pdfjs_require__(58);var call=Function.call;module.exports=function(CONSTRUCTOR,METHOD,length){return bind(call,global[CONSTRUCTOR].prototype[METHOD],length);};/***/},/* 58 */ /***/function(module,exports,__w_pdfjs_require__){var aFunction=__w_pdfjs_require__(59);module.exports=function(fn,that,length){aFunction(fn);if(that===undefined)return fn;switch(length){case 0:return function(){return fn.call(that);};case 1:return function(a){return fn.call(that,a);};case 2:return function(a,b){return fn.call(that,a,b);};case 3:return function(a,b,c){return fn.call(that,a,b,c);};}return function(){return fn.apply(that,arguments);};};/***/},/* 59 */ /***/function(module,exports){module.exports=function(it){if(typeof it!='function'){throw TypeError(String(it)+' is not a function');}return it;};/***/},/* 60 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(61);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','endsWith');/***/},/* 61 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var getOwnPropertyDescriptor=__w_pdfjs_require__(7).f;var toLength=__w_pdfjs_require__(42);var notARegExp=__w_pdfjs_require__(51);var requireObjectCoercible=__w_pdfjs_require__(15);var correctIsRegExpLogic=__w_pdfjs_require__(56);var IS_PURE=__w_pdfjs_require__(32);var nativeEndsWith=''.endsWith;var min=Math.min;var CORRECT_IS_REGEXP_LOGIC=correctIsRegExpLogic('endsWith');var MDN_POLYFILL_BUG=!IS_PURE&&!CORRECT_IS_REGEXP_LOGIC&&!!function(){var descriptor=getOwnPropertyDescriptor(String.prototype,'endsWith');return descriptor&&!descriptor.writable;}();$({target:'String',proto:true,forced:!MDN_POLYFILL_BUG&&!CORRECT_IS_REGEXP_LOGIC},{endsWith:function endsWith(searchString){var that=String(requireObjectCoercible(this));notARegExp(searchString);var endPosition=arguments.length>1?arguments[1]:undefined;var len=toLength(that.length);var end=endPosition===undefined?len:min(toLength(endPosition),len);var search=String(searchString);return nativeEndsWith?nativeEndsWith.call(that,search,end):that.slice(end-search.length,end)===search;}});/***/},/* 62 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(63);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','includes');/***/},/* 63 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var notARegExp=__w_pdfjs_require__(51);var requireObjectCoercible=__w_pdfjs_require__(15);var correctIsRegExpLogic=__w_pdfjs_require__(56);$({target:'String',proto:true,forced:!correctIsRegExpLogic('includes')},{includes:function includes(searchString){return!!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString),arguments.length>1?arguments[1]:undefined);}});/***/},/* 64 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(65);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('Array','includes');/***/},/* 65 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var $includes=__w_pdfjs_require__(41).includes;var addToUnscopables=__w_pdfjs_require__(66);var arrayMethodUsesToLength=__w_pdfjs_require__(71);var USES_TO_LENGTH=arrayMethodUsesToLength('indexOf',{ACCESSORS:true,1:0});$({target:'Array',proto:true,forced:!USES_TO_LENGTH},{includes:function includes(el){return $includes(this,el,arguments.length>1?arguments[1]:undefined);}});addToUnscopables('includes');/***/},/* 66 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);var create=__w_pdfjs_require__(67);var definePropertyModule=__w_pdfjs_require__(22);var UNSCOPABLES=wellKnownSymbol('unscopables');var ArrayPrototype=Array.prototype;if(ArrayPrototype[UNSCOPABLES]==undefined){definePropertyModule.f(ArrayPrototype,UNSCOPABLES,{configurable:true,value:create(null)});}module.exports=function(key){ArrayPrototype[UNSCOPABLES][key]=true;};/***/},/* 67 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var defineProperties=__w_pdfjs_require__(68);var enumBugKeys=__w_pdfjs_require__(45);var hiddenKeys=__w_pdfjs_require__(34);var html=__w_pdfjs_require__(70);var documentCreateElement=__w_pdfjs_require__(20);var sharedKey=__w_pdfjs_require__(30);var GT='>';var LT='<';var PROTOTYPE='prototype';var SCRIPT='script';var IE_PROTO=sharedKey('IE_PROTO');var EmptyConstructor=function EmptyConstructor(){};var scriptTag=function scriptTag(content){return LT+SCRIPT+GT+content+LT+'/'+SCRIPT+GT;};var NullProtoObjectViaActiveX=function NullProtoObjectViaActiveX(activeXDocument){activeXDocument.write(scriptTag(''));activeXDocument.close();var temp=activeXDocument.parentWindow.Object;activeXDocument=null;return temp;};var NullProtoObjectViaIFrame=function NullProtoObjectViaIFrame(){var iframe=documentCreateElement('iframe');var JS='java'+SCRIPT+':';var iframeDocument;iframe.style.display='none';html.appendChild(iframe);iframe.src=String(JS);iframeDocument=iframe.contentWindow.document;iframeDocument.open();iframeDocument.write(scriptTag('document.F=Object'));iframeDocument.close();return iframeDocument.F;};var activeXDocument;var _NullProtoObject=function NullProtoObject(){try{activeXDocument=document.domain&&new ActiveXObject('htmlfile');}catch(error){}_NullProtoObject=activeXDocument?NullProtoObjectViaActiveX(activeXDocument):NullProtoObjectViaIFrame();var length=enumBugKeys.length;while(length--){delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];}return _NullProtoObject();};hiddenKeys[IE_PROTO]=true;module.exports=Object.create||function create(O,Properties){var result;if(O!==null){EmptyConstructor[PROTOTYPE]=anObject(O);result=new EmptyConstructor();EmptyConstructor[PROTOTYPE]=null;result[IE_PROTO]=O;}else result=_NullProtoObject();return Properties===undefined?result:defineProperties(result,Properties);};/***/},/* 68 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var definePropertyModule=__w_pdfjs_require__(22);var anObject=__w_pdfjs_require__(23);var objectKeys=__w_pdfjs_require__(69);module.exports=DESCRIPTORS?Object.defineProperties:function defineProperties(O,Properties){anObject(O);var keys=objectKeys(Properties);var length=keys.length;var index=0;var key;while(length>index){definePropertyModule.f(O,key=keys[index++],Properties[key]);}return O;};/***/},/* 69 */ /***/function(module,exports,__w_pdfjs_require__){var internalObjectKeys=__w_pdfjs_require__(40);var enumBugKeys=__w_pdfjs_require__(45);module.exports=Object.keys||function keys(O){return internalObjectKeys(O,enumBugKeys);};/***/},/* 70 */ /***/function(module,exports,__w_pdfjs_require__){var getBuiltIn=__w_pdfjs_require__(37);module.exports=getBuiltIn('document','documentElement');/***/},/* 71 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var fails=__w_pdfjs_require__(9);var has=__w_pdfjs_require__(18);var defineProperty=Object.defineProperty;var cache={};var thrower=function thrower(it){throw it;};module.exports=function(METHOD_NAME,options){if(has(cache,METHOD_NAME))return cache[METHOD_NAME];if(!options)options={};var method=[][METHOD_NAME];var ACCESSORS=has(options,'ACCESSORS')?options.ACCESSORS:false;var argument0=has(options,0)?options[0]:thrower;var argument1=has(options,1)?options[1]:undefined;return cache[METHOD_NAME]=!!method&&!fails(function(){if(ACCESSORS&&!DESCRIPTORS)return true;var O={length:-1};if(ACCESSORS)defineProperty(O,1,{enumerable:true,get:thrower});else O[1]=1;method.call(O,argument0,argument1);});};/***/},/* 72 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(73);__w_pdfjs_require__(85);var path=__w_pdfjs_require__(38);module.exports=path.Array.from;/***/},/* 73 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var charAt=__w_pdfjs_require__(74).charAt;var InternalStateModule=__w_pdfjs_require__(28);var defineIterator=__w_pdfjs_require__(75);var STRING_ITERATOR='String Iterator';var setInternalState=InternalStateModule.set;var getInternalState=InternalStateModule.getterFor(STRING_ITERATOR);defineIterator(String,'String',function(iterated){setInternalState(this,{type:STRING_ITERATOR,string:String(iterated),index:0});},function next(){var state=getInternalState(this);var string=state.string;var index=state.index;var point;if(index>=string.length)return{value:undefined,done:true};point=charAt(string,index);state.index+=point.length;return{value:point,done:false};});/***/},/* 74 */ /***/function(module,exports,__w_pdfjs_require__){var toInteger=__w_pdfjs_require__(43);var requireObjectCoercible=__w_pdfjs_require__(15);var createMethod=function createMethod(CONVERT_TO_STRING){return function($this,pos){var S=String(requireObjectCoercible($this));var position=toInteger(pos);var size=S.length;var first,second;if(position<0||position>=size)return CONVERT_TO_STRING?'':undefined;first=S.charCodeAt(position);return first<0xD800||first>0xDBFF||position+1===size||(second=S.charCodeAt(position+1))<0xDC00||second>0xDFFF?CONVERT_TO_STRING?S.charAt(position):first:CONVERT_TO_STRING?S.slice(position,position+2):(first-0xD800<<10)+(second-0xDC00)+0x10000;};};module.exports={codeAt:createMethod(false),charAt:createMethod(true)};/***/},/* 75 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var createIteratorConstructor=__w_pdfjs_require__(76);var getPrototypeOf=__w_pdfjs_require__(78);var setPrototypeOf=__w_pdfjs_require__(83);var setToStringTag=__w_pdfjs_require__(81);var createNonEnumerableProperty=__w_pdfjs_require__(21);var redefine=__w_pdfjs_require__(24);var wellKnownSymbol=__w_pdfjs_require__(53);var IS_PURE=__w_pdfjs_require__(32);var Iterators=__w_pdfjs_require__(82);var IteratorsCore=__w_pdfjs_require__(77);var IteratorPrototype=IteratorsCore.IteratorPrototype;var BUGGY_SAFARI_ITERATORS=IteratorsCore.BUGGY_SAFARI_ITERATORS;var ITERATOR=wellKnownSymbol('iterator');var KEYS='keys';var VALUES='values';var ENTRIES='entries';var returnThis=function returnThis(){return this;};module.exports=function(Iterable,NAME,IteratorConstructor,next,DEFAULT,IS_SET,FORCED){createIteratorConstructor(IteratorConstructor,NAME,next);var getIterationMethod=function getIterationMethod(KIND){if(KIND===DEFAULT&&defaultIterator)return defaultIterator;if(!BUGGY_SAFARI_ITERATORS&&KIND in IterablePrototype)return IterablePrototype[KIND];switch(KIND){case KEYS:return function keys(){return new IteratorConstructor(this,KIND);};case VALUES:return function values(){return new IteratorConstructor(this,KIND);};case ENTRIES:return function entries(){return new IteratorConstructor(this,KIND);};}return function(){return new IteratorConstructor(this);};};var TO_STRING_TAG=NAME+' Iterator';var INCORRECT_VALUES_NAME=false;var IterablePrototype=Iterable.prototype;var nativeIterator=IterablePrototype[ITERATOR]||IterablePrototype['@@iterator']||DEFAULT&&IterablePrototype[DEFAULT];var defaultIterator=!BUGGY_SAFARI_ITERATORS&&nativeIterator||getIterationMethod(DEFAULT);var anyNativeIterator=NAME=='Array'?IterablePrototype.entries||nativeIterator:nativeIterator;var CurrentIteratorPrototype,methods,KEY;if(anyNativeIterator){CurrentIteratorPrototype=getPrototypeOf(anyNativeIterator.call(new Iterable()));if(IteratorPrototype!==Object.prototype&&CurrentIteratorPrototype.next){if(!IS_PURE&&getPrototypeOf(CurrentIteratorPrototype)!==IteratorPrototype){if(setPrototypeOf){setPrototypeOf(CurrentIteratorPrototype,IteratorPrototype);}else if(typeof CurrentIteratorPrototype[ITERATOR]!='function'){createNonEnumerableProperty(CurrentIteratorPrototype,ITERATOR,returnThis);}}setToStringTag(CurrentIteratorPrototype,TO_STRING_TAG,true,true);if(IS_PURE)Iterators[TO_STRING_TAG]=returnThis;}}if(DEFAULT==VALUES&&nativeIterator&&nativeIterator.name!==VALUES){INCORRECT_VALUES_NAME=true;defaultIterator=function values(){return nativeIterator.call(this);};}if((!IS_PURE||FORCED)&&IterablePrototype[ITERATOR]!==defaultIterator){createNonEnumerableProperty(IterablePrototype,ITERATOR,defaultIterator);}Iterators[NAME]=defaultIterator;if(DEFAULT){methods={values:getIterationMethod(VALUES),keys:IS_SET?defaultIterator:getIterationMethod(KEYS),entries:getIterationMethod(ENTRIES)};if(FORCED)for(KEY in methods){if(BUGGY_SAFARI_ITERATORS||INCORRECT_VALUES_NAME||!(KEY in IterablePrototype)){redefine(IterablePrototype,KEY,methods[KEY]);}}else $({target:NAME,proto:true,forced:BUGGY_SAFARI_ITERATORS||INCORRECT_VALUES_NAME},methods);}return methods;};/***/},/* 76 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var IteratorPrototype=__w_pdfjs_require__(77).IteratorPrototype;var create=__w_pdfjs_require__(67);var createPropertyDescriptor=__w_pdfjs_require__(11);var setToStringTag=__w_pdfjs_require__(81);var Iterators=__w_pdfjs_require__(82);var returnThis=function returnThis(){return this;};module.exports=function(IteratorConstructor,NAME,next){var TO_STRING_TAG=NAME+' Iterator';IteratorConstructor.prototype=create(IteratorPrototype,{next:createPropertyDescriptor(1,next)});setToStringTag(IteratorConstructor,TO_STRING_TAG,false,true);Iterators[TO_STRING_TAG]=returnThis;return IteratorConstructor;};/***/},/* 77 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var getPrototypeOf=__w_pdfjs_require__(78);var createNonEnumerableProperty=__w_pdfjs_require__(21);var has=__w_pdfjs_require__(18);var wellKnownSymbol=__w_pdfjs_require__(53);var IS_PURE=__w_pdfjs_require__(32);var ITERATOR=wellKnownSymbol('iterator');var BUGGY_SAFARI_ITERATORS=false;var returnThis=function returnThis(){return this;};var IteratorPrototype,PrototypeOfArrayIteratorPrototype,arrayIterator;if([].keys){arrayIterator=[].keys();if(!('next'in arrayIterator))BUGGY_SAFARI_ITERATORS=true;else{PrototypeOfArrayIteratorPrototype=getPrototypeOf(getPrototypeOf(arrayIterator));if(PrototypeOfArrayIteratorPrototype!==Object.prototype)IteratorPrototype=PrototypeOfArrayIteratorPrototype;}}if(IteratorPrototype==undefined)IteratorPrototype={};if(!IS_PURE&&!has(IteratorPrototype,ITERATOR)){createNonEnumerableProperty(IteratorPrototype,ITERATOR,returnThis);}module.exports={IteratorPrototype:IteratorPrototype,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS};/***/},/* 78 */ /***/function(module,exports,__w_pdfjs_require__){var has=__w_pdfjs_require__(18);var toObject=__w_pdfjs_require__(79);var sharedKey=__w_pdfjs_require__(30);var CORRECT_PROTOTYPE_GETTER=__w_pdfjs_require__(80);var IE_PROTO=sharedKey('IE_PROTO');var ObjectPrototype=Object.prototype;module.exports=CORRECT_PROTOTYPE_GETTER?Object.getPrototypeOf:function(O){O=toObject(O);if(has(O,IE_PROTO))return O[IE_PROTO];if(typeof O.constructor=='function'&&O instanceof O.constructor){return O.constructor.prototype;}return O instanceof Object?ObjectPrototype:null;};/***/},/* 79 */ /***/function(module,exports,__w_pdfjs_require__){var requireObjectCoercible=__w_pdfjs_require__(15);module.exports=function(argument){return Object(requireObjectCoercible(argument));};/***/},/* 80 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);module.exports=!fails(function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F())!==F.prototype;});/***/},/* 81 */ /***/function(module,exports,__w_pdfjs_require__){var defineProperty=__w_pdfjs_require__(22).f;var has=__w_pdfjs_require__(18);var wellKnownSymbol=__w_pdfjs_require__(53);var TO_STRING_TAG=wellKnownSymbol('toStringTag');module.exports=function(it,TAG,STATIC){if(it&&!has(it=STATIC?it:it.prototype,TO_STRING_TAG)){defineProperty(it,TO_STRING_TAG,{configurable:true,value:TAG});}};/***/},/* 82 */ /***/function(module,exports){module.exports={};/***/},/* 83 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var aPossiblePrototype=__w_pdfjs_require__(84);module.exports=Object.setPrototypeOf||('__proto__'in{}?function(){var CORRECT_SETTER=false;var test={};var setter;try{setter=Object.getOwnPropertyDescriptor(Object.prototype,'__proto__').set;setter.call(test,[]);CORRECT_SETTER=test instanceof Array;}catch(error){}return function setPrototypeOf(O,proto){anObject(O);aPossiblePrototype(proto);if(CORRECT_SETTER)setter.call(O,proto);else O.__proto__=proto;return O;};}():undefined);/***/},/* 84 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);module.exports=function(it){if(!isObject(it)&&it!==null){throw TypeError(\"Can't set \"+String(it)+' as a prototype');}return it;};/***/},/* 85 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var from=__w_pdfjs_require__(86);var checkCorrectnessOfIteration=__w_pdfjs_require__(93);var INCORRECT_ITERATION=!checkCorrectnessOfIteration(function(iterable){Array.from(iterable);});$({target:'Array',stat:true,forced:INCORRECT_ITERATION},{from:from});/***/},/* 86 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var bind=__w_pdfjs_require__(58);var toObject=__w_pdfjs_require__(79);var callWithSafeIterationClosing=__w_pdfjs_require__(87);var isArrayIteratorMethod=__w_pdfjs_require__(88);var toLength=__w_pdfjs_require__(42);var createProperty=__w_pdfjs_require__(89);var getIteratorMethod=__w_pdfjs_require__(90);module.exports=function from(arrayLike){var O=toObject(arrayLike);var C=typeof this=='function'?this:Array;var argumentsLength=arguments.length;var mapfn=argumentsLength>1?arguments[1]:undefined;var mapping=mapfn!==undefined;var iteratorMethod=getIteratorMethod(O);var index=0;var length,result,step,iterator,next,value;if(mapping)mapfn=bind(mapfn,argumentsLength>2?arguments[2]:undefined,2);if(iteratorMethod!=undefined&&!(C==Array&&isArrayIteratorMethod(iteratorMethod))){iterator=iteratorMethod.call(O);next=iterator.next;result=new C();for(;!(step=next.call(iterator)).done;index++){value=mapping?callWithSafeIterationClosing(iterator,mapfn,[step.value,index],true):step.value;createProperty(result,index,value);}}else{length=toLength(O.length);result=new C(length);for(;length>index;index++){value=mapping?mapfn(O[index],index):O[index];createProperty(result,index,value);}}result.length=index;return result;};/***/},/* 87 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);module.exports=function(iterator,fn,value,ENTRIES){try{return ENTRIES?fn(anObject(value)[0],value[1]):fn(value);}catch(error){var returnMethod=iterator['return'];if(returnMethod!==undefined)anObject(returnMethod.call(iterator));throw error;}};/***/},/* 88 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);var Iterators=__w_pdfjs_require__(82);var ITERATOR=wellKnownSymbol('iterator');var ArrayPrototype=Array.prototype;module.exports=function(it){return it!==undefined&&(Iterators.Array===it||ArrayPrototype[ITERATOR]===it);};/***/},/* 89 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var toPrimitive=__w_pdfjs_require__(16);var definePropertyModule=__w_pdfjs_require__(22);var createPropertyDescriptor=__w_pdfjs_require__(11);module.exports=function(object,key,value){var propertyKey=toPrimitive(key);if(propertyKey in object)definePropertyModule.f(object,propertyKey,createPropertyDescriptor(0,value));else object[propertyKey]=value;};/***/},/* 90 */ /***/function(module,exports,__w_pdfjs_require__){var classof=__w_pdfjs_require__(91);var Iterators=__w_pdfjs_require__(82);var wellKnownSymbol=__w_pdfjs_require__(53);var ITERATOR=wellKnownSymbol('iterator');module.exports=function(it){if(it!=undefined)return it[ITERATOR]||it['@@iterator']||Iterators[classof(it)];};/***/},/* 91 */ /***/function(module,exports,__w_pdfjs_require__){var TO_STRING_TAG_SUPPORT=__w_pdfjs_require__(92);var classofRaw=__w_pdfjs_require__(14);var wellKnownSymbol=__w_pdfjs_require__(53);var TO_STRING_TAG=wellKnownSymbol('toStringTag');var CORRECT_ARGUMENTS=classofRaw(function(){return arguments;}())=='Arguments';var tryGet=function tryGet(it,key){try{return it[key];}catch(error){}};module.exports=TO_STRING_TAG_SUPPORT?classofRaw:function(it){var O,tag,result;return it===undefined?'Undefined':it===null?'Null':typeof(tag=tryGet(O=Object(it),TO_STRING_TAG))=='string'?tag:CORRECT_ARGUMENTS?classofRaw(O):(result=classofRaw(O))=='Object'&&typeof O.callee=='function'?'Arguments':result;};/***/},/* 92 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);var TO_STRING_TAG=wellKnownSymbol('toStringTag');var test={};test[TO_STRING_TAG]='z';module.exports=String(test)==='[object z]';/***/},/* 93 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);var ITERATOR=wellKnownSymbol('iterator');var SAFE_CLOSING=false;try{var called=0;var iteratorWithReturn={next:function next(){return{done:!!called++};},'return':function _return(){SAFE_CLOSING=true;}};iteratorWithReturn[ITERATOR]=function(){return this;};Array.from(iteratorWithReturn,function(){throw 2;});}catch(error){}module.exports=function(exec,SKIP_CLOSING){if(!SKIP_CLOSING&&!SAFE_CLOSING)return false;var ITERATION_SUPPORT=false;try{var object={};object[ITERATOR]=function(){return{next:function next(){return{done:ITERATION_SUPPORT=true};}};};exec(object);}catch(error){}return ITERATION_SUPPORT;};/***/},/* 94 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(95);var path=__w_pdfjs_require__(38);module.exports=path.Object.assign;/***/},/* 95 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var assign=__w_pdfjs_require__(96);$({target:'Object',stat:true,forced:Object.assign!==assign},{assign:assign});/***/},/* 96 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var DESCRIPTORS=__w_pdfjs_require__(8);var fails=__w_pdfjs_require__(9);var objectKeys=__w_pdfjs_require__(69);var getOwnPropertySymbolsModule=__w_pdfjs_require__(46);var propertyIsEnumerableModule=__w_pdfjs_require__(10);var toObject=__w_pdfjs_require__(79);var IndexedObject=__w_pdfjs_require__(13);var nativeAssign=Object.assign;var defineProperty=Object.defineProperty;module.exports=!nativeAssign||fails(function(){if(DESCRIPTORS&&nativeAssign({b:1},nativeAssign(defineProperty({},'a',{enumerable:true,get:function get(){defineProperty(this,'b',{value:3,enumerable:false});}}),{b:2})).b!==1)return true;var A={};var B={};var symbol=Symbol();var alphabet='abcdefghijklmnopqrst';A[symbol]=7;alphabet.split('').forEach(function(chr){B[chr]=chr;});return nativeAssign({},A)[symbol]!=7||objectKeys(nativeAssign({},B)).join('')!=alphabet;})?function assign(target,source){var T=toObject(target);var argumentsLength=arguments.length;var index=1;var getOwnPropertySymbols=getOwnPropertySymbolsModule.f;var propertyIsEnumerable=propertyIsEnumerableModule.f;while(argumentsLength>index){var S=IndexedObject(arguments[index++]);var keys=getOwnPropertySymbols?objectKeys(S).concat(getOwnPropertySymbols(S)):objectKeys(S);var length=keys.length;var j=0;var key;while(length>j){key=keys[j++];if(!DESCRIPTORS||propertyIsEnumerable.call(S,key))T[key]=S[key];}}return T;}:nativeAssign;/***/},/* 97 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(98);var path=__w_pdfjs_require__(38);module.exports=path.Math.log2;/***/},/* 98 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var log=Math.log;var LN2=Math.LN2;$({target:'Math',stat:true},{log2:function log2(x){return log(x)/LN2;}});/***/},/* 99 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(100);var path=__w_pdfjs_require__(38);module.exports=path.Number.isNaN;/***/},/* 100 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);$({target:'Number',stat:true},{isNaN:function isNaN(number){return number!=number;}});/***/},/* 101 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(102);var path=__w_pdfjs_require__(38);module.exports=path.Number.isInteger;/***/},/* 102 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var isInteger=__w_pdfjs_require__(103);$({target:'Number',stat:true},{isInteger:isInteger});/***/},/* 103 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);var floor=Math.floor;module.exports=function isInteger(it){return!isObject(it)&&isFinite(it)&&floor(it)===it;};/***/},/* 104 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(105);__w_pdfjs_require__(73);__w_pdfjs_require__(107);__w_pdfjs_require__(110);__w_pdfjs_require__(126);__w_pdfjs_require__(127);var path=__w_pdfjs_require__(38);module.exports=path.Promise;/***/},/* 105 */ /***/function(module,exports,__w_pdfjs_require__){var TO_STRING_TAG_SUPPORT=__w_pdfjs_require__(92);var redefine=__w_pdfjs_require__(24);var toString=__w_pdfjs_require__(106);if(!TO_STRING_TAG_SUPPORT){redefine(Object.prototype,'toString',toString,{unsafe:true});}/***/},/* 106 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var TO_STRING_TAG_SUPPORT=__w_pdfjs_require__(92);var classof=__w_pdfjs_require__(91);module.exports=TO_STRING_TAG_SUPPORT?{}.toString:function toString(){return'[object '+classof(this)+']';};/***/},/* 107 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var DOMIterables=__w_pdfjs_require__(108);var ArrayIteratorMethods=__w_pdfjs_require__(109);var createNonEnumerableProperty=__w_pdfjs_require__(21);var wellKnownSymbol=__w_pdfjs_require__(53);var ITERATOR=wellKnownSymbol('iterator');var TO_STRING_TAG=wellKnownSymbol('toStringTag');var ArrayValues=ArrayIteratorMethods.values;for(var COLLECTION_NAME in DOMIterables){var Collection=global[COLLECTION_NAME];var CollectionPrototype=Collection&&Collection.prototype;if(CollectionPrototype){if(CollectionPrototype[ITERATOR]!==ArrayValues)try{createNonEnumerableProperty(CollectionPrototype,ITERATOR,ArrayValues);}catch(error){CollectionPrototype[ITERATOR]=ArrayValues;}if(!CollectionPrototype[TO_STRING_TAG]){createNonEnumerableProperty(CollectionPrototype,TO_STRING_TAG,COLLECTION_NAME);}if(DOMIterables[COLLECTION_NAME])for(var METHOD_NAME in ArrayIteratorMethods){if(CollectionPrototype[METHOD_NAME]!==ArrayIteratorMethods[METHOD_NAME])try{createNonEnumerableProperty(CollectionPrototype,METHOD_NAME,ArrayIteratorMethods[METHOD_NAME]);}catch(error){CollectionPrototype[METHOD_NAME]=ArrayIteratorMethods[METHOD_NAME];}}}}/***/},/* 108 */ /***/function(module,exports){module.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0};/***/},/* 109 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var toIndexedObject=__w_pdfjs_require__(12);var addToUnscopables=__w_pdfjs_require__(66);var Iterators=__w_pdfjs_require__(82);var InternalStateModule=__w_pdfjs_require__(28);var defineIterator=__w_pdfjs_require__(75);var ARRAY_ITERATOR='Array Iterator';var setInternalState=InternalStateModule.set;var getInternalState=InternalStateModule.getterFor(ARRAY_ITERATOR);module.exports=defineIterator(Array,'Array',function(iterated,kind){setInternalState(this,{type:ARRAY_ITERATOR,target:toIndexedObject(iterated),index:0,kind:kind});},function(){var state=getInternalState(this);var target=state.target;var kind=state.kind;var index=state.index++;if(!target||index>=target.length){state.target=undefined;return{value:undefined,done:true};}if(kind=='keys')return{value:index,done:false};if(kind=='values')return{value:target[index],done:false};return{value:[index,target[index]],done:false};},'values');Iterators.Arguments=Iterators.Array;addToUnscopables('keys');addToUnscopables('values');addToUnscopables('entries');/***/},/* 110 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var IS_PURE=__w_pdfjs_require__(32);var global=__w_pdfjs_require__(6);var getBuiltIn=__w_pdfjs_require__(37);var NativePromise=__w_pdfjs_require__(111);var redefine=__w_pdfjs_require__(24);var redefineAll=__w_pdfjs_require__(112);var setToStringTag=__w_pdfjs_require__(81);var setSpecies=__w_pdfjs_require__(113);var isObject=__w_pdfjs_require__(17);var aFunction=__w_pdfjs_require__(59);var anInstance=__w_pdfjs_require__(114);var classof=__w_pdfjs_require__(14);var inspectSource=__w_pdfjs_require__(26);var iterate=__w_pdfjs_require__(115);var checkCorrectnessOfIteration=__w_pdfjs_require__(93);var speciesConstructor=__w_pdfjs_require__(116);var task=__w_pdfjs_require__(117).set;var microtask=__w_pdfjs_require__(120);var promiseResolve=__w_pdfjs_require__(121);var hostReportErrors=__w_pdfjs_require__(123);var newPromiseCapabilityModule=__w_pdfjs_require__(122);var perform=__w_pdfjs_require__(124);var InternalStateModule=__w_pdfjs_require__(28);var isForced=__w_pdfjs_require__(47);var wellKnownSymbol=__w_pdfjs_require__(53);var V8_VERSION=__w_pdfjs_require__(125);var SPECIES=wellKnownSymbol('species');var PROMISE='Promise';var getInternalState=InternalStateModule.get;var setInternalState=InternalStateModule.set;var getInternalPromiseState=InternalStateModule.getterFor(PROMISE);var PromiseConstructor=NativePromise;var TypeError=global.TypeError;var document=global.document;var process=global.process;var $fetch=getBuiltIn('fetch');var newPromiseCapability=newPromiseCapabilityModule.f;var newGenericPromiseCapability=newPromiseCapability;var IS_NODE=classof(process)=='process';var DISPATCH_EVENT=!!(document&&document.createEvent&&global.dispatchEvent);var UNHANDLED_REJECTION='unhandledrejection';var REJECTION_HANDLED='rejectionhandled';var PENDING=0;var FULFILLED=1;var REJECTED=2;var HANDLED=1;var UNHANDLED=2;var Internal,OwnPromiseCapability,PromiseWrapper,nativeThen;var FORCED=isForced(PROMISE,function(){var GLOBAL_CORE_JS_PROMISE=inspectSource(PromiseConstructor)!==String(PromiseConstructor);if(!GLOBAL_CORE_JS_PROMISE){if(V8_VERSION===66)return true;if(!IS_NODE&&typeof PromiseRejectionEvent!='function')return true;}if(IS_PURE&&!PromiseConstructor.prototype['finally'])return true;if(V8_VERSION>=51&&/native code/.test(PromiseConstructor))return false;var promise=PromiseConstructor.resolve(1);var FakePromise=function FakePromise(exec){exec(function(){},function(){});};var constructor=promise.constructor={};constructor[SPECIES]=FakePromise;return!(promise.then(function(){})instanceof FakePromise);});var INCORRECT_ITERATION=FORCED||!checkCorrectnessOfIteration(function(iterable){PromiseConstructor.all(iterable)['catch'](function(){});});var isThenable=function isThenable(it){var then;return isObject(it)&&typeof(then=it.then)=='function'?then:false;};var notify=function notify(promise,state,isReject){if(state.notified)return;state.notified=true;var chain=state.reactions;microtask(function(){var value=state.value;var ok=state.state==FULFILLED;var index=0;while(chain.length>index){var reaction=chain[index++];var handler=ok?reaction.ok:reaction.fail;var resolve=reaction.resolve;var reject=reaction.reject;var domain=reaction.domain;var result,then,exited;try{if(handler){if(!ok){if(state.rejection===UNHANDLED)onHandleUnhandled(promise,state);state.rejection=HANDLED;}if(handler===true)result=value;else{if(domain)domain.enter();result=handler(value);if(domain){domain.exit();exited=true;}}if(result===reaction.promise){reject(TypeError('Promise-chain cycle'));}else if(then=isThenable(result)){then.call(result,resolve,reject);}else resolve(result);}else reject(value);}catch(error){if(domain&&!exited)domain.exit();reject(error);}}state.reactions=[];state.notified=false;if(isReject&&!state.rejection)onUnhandled(promise,state);});};var dispatchEvent=function dispatchEvent(name,promise,reason){var event,handler;if(DISPATCH_EVENT){event=document.createEvent('Event');event.promise=promise;event.reason=reason;event.initEvent(name,false,true);global.dispatchEvent(event);}else event={promise:promise,reason:reason};if(handler=global['on'+name])handler(event);else if(name===UNHANDLED_REJECTION)hostReportErrors('Unhandled promise rejection',reason);};var onUnhandled=function onUnhandled(promise,state){task.call(global,function(){var value=state.value;var IS_UNHANDLED=isUnhandled(state);var result;if(IS_UNHANDLED){result=perform(function(){if(IS_NODE){process.emit('unhandledRejection',value,promise);}else dispatchEvent(UNHANDLED_REJECTION,promise,value);});state.rejection=IS_NODE||isUnhandled(state)?UNHANDLED:HANDLED;if(result.error)throw result.value;}});};var isUnhandled=function isUnhandled(state){return state.rejection!==HANDLED&&!state.parent;};var onHandleUnhandled=function onHandleUnhandled(promise,state){task.call(global,function(){if(IS_NODE){process.emit('rejectionHandled',promise);}else dispatchEvent(REJECTION_HANDLED,promise,state.value);});};var bind=function bind(fn,promise,state,unwrap){return function(value){fn(promise,state,value,unwrap);};};var internalReject=function internalReject(promise,state,value,unwrap){if(state.done)return;state.done=true;if(unwrap)state=unwrap;state.value=value;state.state=REJECTED;notify(promise,state,true);};var internalResolve=function internalResolve(promise,state,value,unwrap){if(state.done)return;state.done=true;if(unwrap)state=unwrap;try{if(promise===value)throw TypeError(\"Promise can't be resolved itself\");var then=isThenable(value);if(then){microtask(function(){var wrapper={done:false};try{then.call(value,bind(internalResolve,promise,wrapper,state),bind(internalReject,promise,wrapper,state));}catch(error){internalReject(promise,wrapper,error,state);}});}else{state.value=value;state.state=FULFILLED;notify(promise,state,false);}}catch(error){internalReject(promise,{done:false},error,state);}};if(FORCED){PromiseConstructor=function Promise(executor){anInstance(this,PromiseConstructor,PROMISE);aFunction(executor);Internal.call(this);var state=getInternalState(this);try{executor(bind(internalResolve,this,state),bind(internalReject,this,state));}catch(error){internalReject(this,state,error);}};Internal=function Promise(executor){setInternalState(this,{type:PROMISE,done:false,notified:false,parent:false,reactions:[],rejection:false,state:PENDING,value:undefined});};Internal.prototype=redefineAll(PromiseConstructor.prototype,{then:function then(onFulfilled,onRejected){var state=getInternalPromiseState(this);var reaction=newPromiseCapability(speciesConstructor(this,PromiseConstructor));reaction.ok=typeof onFulfilled=='function'?onFulfilled:true;reaction.fail=typeof onRejected=='function'&&onRejected;reaction.domain=IS_NODE?process.domain:undefined;state.parent=true;state.reactions.push(reaction);if(state.state!=PENDING)notify(this,state,false);return reaction.promise;},'catch':function _catch(onRejected){return this.then(undefined,onRejected);}});OwnPromiseCapability=function OwnPromiseCapability(){var promise=new Internal();var state=getInternalState(promise);this.promise=promise;this.resolve=bind(internalResolve,promise,state);this.reject=bind(internalReject,promise,state);};newPromiseCapabilityModule.f=newPromiseCapability=function newPromiseCapability(C){return C===PromiseConstructor||C===PromiseWrapper?new OwnPromiseCapability(C):newGenericPromiseCapability(C);};if(!IS_PURE&&typeof NativePromise=='function'){nativeThen=NativePromise.prototype.then;redefine(NativePromise.prototype,'then',function then(onFulfilled,onRejected){var that=this;return new PromiseConstructor(function(resolve,reject){nativeThen.call(that,resolve,reject);}).then(onFulfilled,onRejected);},{unsafe:true});if(typeof $fetch=='function')$({global:true,enumerable:true,forced:true},{fetch:function fetch(input){return promiseResolve(PromiseConstructor,$fetch.apply(global,arguments));}});}}$({global:true,wrap:true,forced:FORCED},{Promise:PromiseConstructor});setToStringTag(PromiseConstructor,PROMISE,false,true);setSpecies(PROMISE);PromiseWrapper=getBuiltIn(PROMISE);$({target:PROMISE,stat:true,forced:FORCED},{reject:function reject(r){var capability=newPromiseCapability(this);capability.reject.call(undefined,r);return capability.promise;}});$({target:PROMISE,stat:true,forced:IS_PURE||FORCED},{resolve:function resolve(x){return promiseResolve(IS_PURE&&this===PromiseWrapper?PromiseConstructor:this,x);}});$({target:PROMISE,stat:true,forced:INCORRECT_ITERATION},{all:function all(iterable){var C=this;var capability=newPromiseCapability(C);var resolve=capability.resolve;var reject=capability.reject;var result=perform(function(){var $promiseResolve=aFunction(C.resolve);var values=[];var counter=0;var remaining=1;iterate(iterable,function(promise){var index=counter++;var alreadyCalled=false;values.push(undefined);remaining++;$promiseResolve.call(C,promise).then(function(value){if(alreadyCalled)return;alreadyCalled=true;values[index]=value;--remaining||resolve(values);},reject);});--remaining||resolve(values);});if(result.error)reject(result.value);return capability.promise;},race:function race(iterable){var C=this;var capability=newPromiseCapability(C);var reject=capability.reject;var result=perform(function(){var $promiseResolve=aFunction(C.resolve);iterate(iterable,function(promise){$promiseResolve.call(C,promise).then(capability.resolve,reject);});});if(result.error)reject(result.value);return capability.promise;}});/***/},/* 111 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);module.exports=global.Promise;/***/},/* 112 */ /***/function(module,exports,__w_pdfjs_require__){var redefine=__w_pdfjs_require__(24);module.exports=function(target,src,options){for(var key in src){redefine(target,key,src[key],options);}return target;};/***/},/* 113 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var getBuiltIn=__w_pdfjs_require__(37);var definePropertyModule=__w_pdfjs_require__(22);var wellKnownSymbol=__w_pdfjs_require__(53);var DESCRIPTORS=__w_pdfjs_require__(8);var SPECIES=wellKnownSymbol('species');module.exports=function(CONSTRUCTOR_NAME){var Constructor=getBuiltIn(CONSTRUCTOR_NAME);var defineProperty=definePropertyModule.f;if(DESCRIPTORS&&Constructor&&!Constructor[SPECIES]){defineProperty(Constructor,SPECIES,{configurable:true,get:function get(){return this;}});}};/***/},/* 114 */ /***/function(module,exports){module.exports=function(it,Constructor,name){if(!(it instanceof Constructor)){throw TypeError('Incorrect '+(name?name+' ':'')+'invocation');}return it;};/***/},/* 115 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var isArrayIteratorMethod=__w_pdfjs_require__(88);var toLength=__w_pdfjs_require__(42);var bind=__w_pdfjs_require__(58);var getIteratorMethod=__w_pdfjs_require__(90);var callWithSafeIterationClosing=__w_pdfjs_require__(87);var Result=function Result(stopped,result){this.stopped=stopped;this.result=result;};var iterate=module.exports=function(iterable,fn,that,AS_ENTRIES,IS_ITERATOR){var boundFunction=bind(fn,that,AS_ENTRIES?2:1);var iterator,iterFn,index,length,result,next,step;if(IS_ITERATOR){iterator=iterable;}else{iterFn=getIteratorMethod(iterable);if(typeof iterFn!='function')throw TypeError('Target is not iterable');if(isArrayIteratorMethod(iterFn)){for(index=0,length=toLength(iterable.length);length>index;index++){result=AS_ENTRIES?boundFunction(anObject(step=iterable[index])[0],step[1]):boundFunction(iterable[index]);if(result&&result instanceof Result)return result;}return new Result(false);}iterator=iterFn.call(iterable);}next=iterator.next;while(!(step=next.call(iterator)).done){result=callWithSafeIterationClosing(iterator,boundFunction,step.value,AS_ENTRIES);if(_typeof2(result)=='object'&&result&&result instanceof Result)return result;}return new Result(false);};iterate.stop=function(result){return new Result(true,result);};/***/},/* 116 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var aFunction=__w_pdfjs_require__(59);var wellKnownSymbol=__w_pdfjs_require__(53);var SPECIES=wellKnownSymbol('species');module.exports=function(O,defaultConstructor){var C=anObject(O).constructor;var S;return C===undefined||(S=anObject(C)[SPECIES])==undefined?defaultConstructor:aFunction(S);};/***/},/* 117 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var fails=__w_pdfjs_require__(9);var classof=__w_pdfjs_require__(14);var bind=__w_pdfjs_require__(58);var html=__w_pdfjs_require__(70);var createElement=__w_pdfjs_require__(20);var IS_IOS=__w_pdfjs_require__(118);var location=global.location;var set=global.setImmediate;var clear=global.clearImmediate;var process=global.process;var MessageChannel=global.MessageChannel;var Dispatch=global.Dispatch;var counter=0;var queue={};var ONREADYSTATECHANGE='onreadystatechange';var defer,channel,port;var run=function run(id){if(queue.hasOwnProperty(id)){var fn=queue[id];delete queue[id];fn();}};var runner=function runner(id){return function(){run(id);};};var listener=function listener(event){run(event.data);};var post=function post(id){global.postMessage(id+'',location.protocol+'//'+location.host);};if(!set||!clear){set=function setImmediate(fn){var args=[];var i=1;while(arguments.length>i){args.push(arguments[i++]);}queue[++counter]=function(){(typeof fn=='function'?fn:Function(fn)).apply(undefined,args);};defer(counter);return counter;};clear=function clearImmediate(id){delete queue[id];};if(classof(process)=='process'){defer=function defer(id){process.nextTick(runner(id));};}else if(Dispatch&&Dispatch.now){defer=function defer(id){Dispatch.now(runner(id));};}else if(MessageChannel&&!IS_IOS){channel=new MessageChannel();port=channel.port2;channel.port1.onmessage=listener;defer=bind(port.postMessage,port,1);}else if(global.addEventListener&&typeof postMessage=='function'&&!global.importScripts&&!fails(post)){defer=post;global.addEventListener('message',listener,false);}else if(ONREADYSTATECHANGE in createElement('script')){defer=function defer(id){html.appendChild(createElement('script'))[ONREADYSTATECHANGE]=function(){html.removeChild(this);run(id);};};}else{defer=function defer(id){setTimeout(runner(id),0);};}}module.exports={set:set,clear:clear};/***/},/* 118 */ /***/function(module,exports,__w_pdfjs_require__){var userAgent=__w_pdfjs_require__(119);module.exports=/(iphone|ipod|ipad).*applewebkit/i.test(userAgent);/***/},/* 119 */ /***/function(module,exports,__w_pdfjs_require__){var getBuiltIn=__w_pdfjs_require__(37);module.exports=getBuiltIn('navigator','userAgent')||'';/***/},/* 120 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var getOwnPropertyDescriptor=__w_pdfjs_require__(7).f;var classof=__w_pdfjs_require__(14);var macrotask=__w_pdfjs_require__(117).set;var IS_IOS=__w_pdfjs_require__(118);var MutationObserver=global.MutationObserver||global.WebKitMutationObserver;var process=global.process;var Promise=global.Promise;var IS_NODE=classof(process)=='process';var queueMicrotaskDescriptor=getOwnPropertyDescriptor(global,'queueMicrotask');var queueMicrotask=queueMicrotaskDescriptor&&queueMicrotaskDescriptor.value;var flush,head,last,notify,toggle,node,promise,then;if(!queueMicrotask){flush=function flush(){var parent,fn;if(IS_NODE&&(parent=process.domain))parent.exit();while(head){fn=head.fn;head=head.next;try{fn();}catch(error){if(head)notify();else last=undefined;throw error;}}last=undefined;if(parent)parent.enter();};if(IS_NODE){notify=function notify(){process.nextTick(flush);};}else if(MutationObserver&&!IS_IOS){toggle=true;node=document.createTextNode('');new MutationObserver(flush).observe(node,{characterData:true});notify=function notify(){node.data=toggle=!toggle;};}else if(Promise&&Promise.resolve){promise=Promise.resolve(undefined);then=promise.then;notify=function notify(){then.call(promise,flush);};}else{notify=function notify(){macrotask.call(global,flush);};}}module.exports=queueMicrotask||function(fn){var task={fn:fn,next:undefined};if(last)last.next=task;if(!head){head=task;notify();}last=task;};/***/},/* 121 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var isObject=__w_pdfjs_require__(17);var newPromiseCapability=__w_pdfjs_require__(122);module.exports=function(C,x){anObject(C);if(isObject(x)&&x.constructor===C)return x;var promiseCapability=newPromiseCapability.f(C);var resolve=promiseCapability.resolve;resolve(x);return promiseCapability.promise;};/***/},/* 122 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var aFunction=__w_pdfjs_require__(59);var PromiseCapability=function PromiseCapability(C){var resolve,reject;this.promise=new C(function($$resolve,$$reject){if(resolve!==undefined||reject!==undefined)throw TypeError('Bad Promise constructor');resolve=$$resolve;reject=$$reject;});this.resolve=aFunction(resolve);this.reject=aFunction(reject);};module.exports.f=function(C){return new PromiseCapability(C);};/***/},/* 123 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);module.exports=function(a,b){var console=global.console;if(console&&console.error){arguments.length===1?console.error(a):console.error(a,b);}};/***/},/* 124 */ /***/function(module,exports){module.exports=function(exec){try{return{error:false,value:exec()};}catch(error){return{error:true,value:error};}};/***/},/* 125 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var userAgent=__w_pdfjs_require__(119);var process=global.process;var versions=process&&process.versions;var v8=versions&&versions.v8;var match,version;if(v8){match=v8.split('.');version=match[0]+match[1];}else if(userAgent){match=userAgent.match(/Edge\\/(\\d+)/);if(!match||match[1]>=74){match=userAgent.match(/Chrome\\/(\\d+)/);if(match)version=match[1];}}module.exports=version&&+version;/***/},/* 126 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var aFunction=__w_pdfjs_require__(59);var newPromiseCapabilityModule=__w_pdfjs_require__(122);var perform=__w_pdfjs_require__(124);var iterate=__w_pdfjs_require__(115);$({target:'Promise',stat:true},{allSettled:function allSettled(iterable){var C=this;var capability=newPromiseCapabilityModule.f(C);var resolve=capability.resolve;var reject=capability.reject;var result=perform(function(){var promiseResolve=aFunction(C.resolve);var values=[];var counter=0;var remaining=1;iterate(iterable,function(promise){var index=counter++;var alreadyCalled=false;values.push(undefined);remaining++;promiseResolve.call(C,promise).then(function(value){if(alreadyCalled)return;alreadyCalled=true;values[index]={status:'fulfilled',value:value};--remaining||resolve(values);},function(e){if(alreadyCalled)return;alreadyCalled=true;values[index]={status:'rejected',reason:e};--remaining||resolve(values);});});--remaining||resolve(values);});if(result.error)reject(result.value);return capability.promise;}});/***/},/* 127 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var IS_PURE=__w_pdfjs_require__(32);var NativePromise=__w_pdfjs_require__(111);var fails=__w_pdfjs_require__(9);var getBuiltIn=__w_pdfjs_require__(37);var speciesConstructor=__w_pdfjs_require__(116);var promiseResolve=__w_pdfjs_require__(121);var redefine=__w_pdfjs_require__(24);var NON_GENERIC=!!NativePromise&&fails(function(){NativePromise.prototype['finally'].call({then:function then(){}},function(){});});$({target:'Promise',proto:true,real:true,forced:NON_GENERIC},{'finally':function _finally(onFinally){var C=speciesConstructor(this,getBuiltIn('Promise'));var isFunction=typeof onFinally=='function';return this.then(isFunction?function(x){return promiseResolve(C,onFinally()).then(function(){return x;});}:onFinally,isFunction?function(e){return promiseResolve(C,onFinally()).then(function(){throw e;});}:onFinally);}});if(!IS_PURE&&typeof NativePromise=='function'&&!NativePromise.prototype['finally']){redefine(NativePromise.prototype,'finally',getBuiltIn('Promise').prototype['finally']);}/***/},/* 128 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(129);__w_pdfjs_require__(134);__w_pdfjs_require__(132);var path=__w_pdfjs_require__(38);module.exports=path.URL;/***/},/* 129 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";__w_pdfjs_require__(73);var $=__w_pdfjs_require__(5);var DESCRIPTORS=__w_pdfjs_require__(8);var USE_NATIVE_URL=__w_pdfjs_require__(130);var global=__w_pdfjs_require__(6);var defineProperties=__w_pdfjs_require__(68);var redefine=__w_pdfjs_require__(24);var anInstance=__w_pdfjs_require__(114);var has=__w_pdfjs_require__(18);var assign=__w_pdfjs_require__(96);var arrayFrom=__w_pdfjs_require__(86);var codeAt=__w_pdfjs_require__(74).codeAt;var toASCII=__w_pdfjs_require__(131);var setToStringTag=__w_pdfjs_require__(81);var URLSearchParamsModule=__w_pdfjs_require__(132);var InternalStateModule=__w_pdfjs_require__(28);var NativeURL=global.URL;var URLSearchParams=URLSearchParamsModule.URLSearchParams;var getInternalSearchParamsState=URLSearchParamsModule.getState;var setInternalState=InternalStateModule.set;var getInternalURLState=InternalStateModule.getterFor('URL');var floor=Math.floor;var pow=Math.pow;var INVALID_AUTHORITY='Invalid authority';var INVALID_SCHEME='Invalid scheme';var INVALID_HOST='Invalid host';var INVALID_PORT='Invalid port';var ALPHA=/[A-Za-z]/;var ALPHANUMERIC=/[\\d+\\-.A-Za-z]/;var DIGIT=/\\d/;var HEX_START=/^(0x|0X)/;var OCT=/^[0-7]+$/;var DEC=/^\\d+$/;var HEX=/^[\\dA-Fa-f]+$/;var FORBIDDEN_HOST_CODE_POINT=/[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT=/[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE=/^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;var TAB_AND_NEW_LINE=/[\\u0009\\u000A\\u000D]/g;var EOF;var parseHost=function parseHost(url,input){var result,codePoints,index;if(input.charAt(0)=='['){if(input.charAt(input.length-1)!=']')return INVALID_HOST;result=parseIPv6(input.slice(1,-1));if(!result)return INVALID_HOST;url.host=result;}else if(!isSpecial(url)){if(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))return INVALID_HOST;result='';codePoints=arrayFrom(input);for(index=0;index<codePoints.length;index++){result+=percentEncode(codePoints[index],C0ControlPercentEncodeSet);}url.host=result;}else{input=toASCII(input);if(FORBIDDEN_HOST_CODE_POINT.test(input))return INVALID_HOST;result=parseIPv4(input);if(result===null)return INVALID_HOST;url.host=result;}};var parseIPv4=function parseIPv4(input){var parts=input.split('.');var partsLength,numbers,index,part,radix,number,ipv4;if(parts.length&&parts[parts.length-1]==''){parts.pop();}partsLength=parts.length;if(partsLength>4)return input;numbers=[];for(index=0;index<partsLength;index++){part=parts[index];if(part=='')return input;radix=10;if(part.length>1&&part.charAt(0)=='0'){radix=HEX_START.test(part)?16:8;part=part.slice(radix==8?1:2);}if(part===''){number=0;}else{if(!(radix==10?DEC:radix==8?OCT:HEX).test(part))return input;number=parseInt(part,radix);}numbers.push(number);}for(index=0;index<partsLength;index++){number=numbers[index];if(index==partsLength-1){if(number>=pow(256,5-partsLength))return null;}else if(number>255)return null;}ipv4=numbers.pop();for(index=0;index<numbers.length;index++){ipv4+=numbers[index]*pow(256,3-index);}return ipv4;};var parseIPv6=function parseIPv6(input){var address=[0,0,0,0,0,0,0,0];var pieceIndex=0;var compress=null;var pointer=0;var value,length,numbersSeen,ipv4Piece,number,swaps,swap;var char=function char(){return input.charAt(pointer);};if(char()==':'){if(input.charAt(1)!=':')return;pointer+=2;pieceIndex++;compress=pieceIndex;}while(char()){if(pieceIndex==8)return;if(char()==':'){if(compress!==null)return;pointer++;pieceIndex++;compress=pieceIndex;continue;}value=length=0;while(length<4&&HEX.test(char())){value=value*16+parseInt(char(),16);pointer++;length++;}if(char()=='.'){if(length==0)return;pointer-=length;if(pieceIndex>6)return;numbersSeen=0;while(char()){ipv4Piece=null;if(numbersSeen>0){if(char()=='.'&&numbersSeen<4)pointer++;else return;}if(!DIGIT.test(char()))return;while(DIGIT.test(char())){number=parseInt(char(),10);if(ipv4Piece===null)ipv4Piece=number;else if(ipv4Piece==0)return;else ipv4Piece=ipv4Piece*10+number;if(ipv4Piece>255)return;pointer++;}address[pieceIndex]=address[pieceIndex]*256+ipv4Piece;numbersSeen++;if(numbersSeen==2||numbersSeen==4)pieceIndex++;}if(numbersSeen!=4)return;break;}else if(char()==':'){pointer++;if(!char())return;}else if(char())return;address[pieceIndex++]=value;}if(compress!==null){swaps=pieceIndex-compress;pieceIndex=7;while(pieceIndex!=0&&swaps>0){swap=address[pieceIndex];address[pieceIndex--]=address[compress+swaps-1];address[compress+--swaps]=swap;}}else if(pieceIndex!=8)return;return address;};var findLongestZeroSequence=function findLongestZeroSequence(ipv6){var maxIndex=null;var maxLength=1;var currStart=null;var currLength=0;var index=0;for(;index<8;index++){if(ipv6[index]!==0){if(currLength>maxLength){maxIndex=currStart;maxLength=currLength;}currStart=null;currLength=0;}else{if(currStart===null)currStart=index;++currLength;}}if(currLength>maxLength){maxIndex=currStart;maxLength=currLength;}return maxIndex;};var serializeHost=function serializeHost(host){var result,index,compress,ignore0;if(typeof host=='number'){result=[];for(index=0;index<4;index++){result.unshift(host%256);host=floor(host/256);}return result.join('.');}else if(_typeof2(host)=='object'){result='';compress=findLongestZeroSequence(host);for(index=0;index<8;index++){if(ignore0&&host[index]===0)continue;if(ignore0)ignore0=false;if(compress===index){result+=index?':':'::';ignore0=true;}else{result+=host[index].toString(16);if(index<7)result+=':';}}return'['+result+']';}return host;};var C0ControlPercentEncodeSet={};var fragmentPercentEncodeSet=assign({},C0ControlPercentEncodeSet,{' ':1,'\"':1,'<':1,'>':1,'`':1});var pathPercentEncodeSet=assign({},fragmentPercentEncodeSet,{'#':1,'?':1,'{':1,'}':1});var userinfoPercentEncodeSet=assign({},pathPercentEncodeSet,{'/':1,':':1,';':1,'=':1,'@':1,'[':1,'\\\\':1,']':1,'^':1,'|':1});var percentEncode=function percentEncode(char,set){var code=codeAt(char,0);return code>0x20&&code<0x7F&&!has(set,char)?char:encodeURIComponent(char);};var specialSchemes={ftp:21,file:null,http:80,https:443,ws:80,wss:443};var isSpecial=function isSpecial(url){return has(specialSchemes,url.scheme);};var includesCredentials=function includesCredentials(url){return url.username!=''||url.password!='';};var cannotHaveUsernamePasswordPort=function cannotHaveUsernamePasswordPort(url){return!url.host||url.cannotBeABaseURL||url.scheme=='file';};var isWindowsDriveLetter=function isWindowsDriveLetter(string,normalized){var second;return string.length==2&&ALPHA.test(string.charAt(0))&&((second=string.charAt(1))==':'||!normalized&&second=='|');};var startsWithWindowsDriveLetter=function startsWithWindowsDriveLetter(string){var third;return string.length>1&&isWindowsDriveLetter(string.slice(0,2))&&(string.length==2||(third=string.charAt(2))==='/'||third==='\\\\'||third==='?'||third==='#');};var shortenURLsPath=function shortenURLsPath(url){var path=url.path;var pathSize=path.length;if(pathSize&&(url.scheme!='file'||pathSize!=1||!isWindowsDriveLetter(path[0],true))){path.pop();}};var isSingleDot=function isSingleDot(segment){return segment==='.'||segment.toLowerCase()==='%2e';};var isDoubleDot=function isDoubleDot(segment){segment=segment.toLowerCase();return segment==='..'||segment==='%2e.'||segment==='.%2e'||segment==='%2e%2e';};var SCHEME_START={};var SCHEME={};var NO_SCHEME={};var SPECIAL_RELATIVE_OR_AUTHORITY={};var PATH_OR_AUTHORITY={};var RELATIVE={};var RELATIVE_SLASH={};var SPECIAL_AUTHORITY_SLASHES={};var SPECIAL_AUTHORITY_IGNORE_SLASHES={};var AUTHORITY={};var HOST={};var HOSTNAME={};var PORT={};var FILE={};var FILE_SLASH={};var FILE_HOST={};var PATH_START={};var PATH={};var CANNOT_BE_A_BASE_URL_PATH={};var QUERY={};var FRAGMENT={};var parseURL=function parseURL(url,input,stateOverride,base){var state=stateOverride||SCHEME_START;var pointer=0;var buffer='';var seenAt=false;var seenBracket=false;var seenPasswordToken=false;var codePoints,char,bufferCodePoints,failure;if(!stateOverride){url.scheme='';url.username='';url.password='';url.host=null;url.port=null;url.path=[];url.query=null;url.fragment=null;url.cannotBeABaseURL=false;input=input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE,'');}input=input.replace(TAB_AND_NEW_LINE,'');codePoints=arrayFrom(input);while(pointer<=codePoints.length){char=codePoints[pointer];switch(state){case SCHEME_START:if(char&&ALPHA.test(char)){buffer+=char.toLowerCase();state=SCHEME;}else if(!stateOverride){state=NO_SCHEME;continue;}else return INVALID_SCHEME;break;case SCHEME:if(char&&(ALPHANUMERIC.test(char)||char=='+'||char=='-'||char=='.')){buffer+=char.toLowerCase();}else if(char==':'){if(stateOverride&&(isSpecial(url)!=has(specialSchemes,buffer)||buffer=='file'&&(includesCredentials(url)||url.port!==null)||url.scheme=='file'&&!url.host))return;url.scheme=buffer;if(stateOverride){if(isSpecial(url)&&specialSchemes[url.scheme]==url.port)url.port=null;return;}buffer='';if(url.scheme=='file'){state=FILE;}else if(isSpecial(url)&&base&&base.scheme==url.scheme){state=SPECIAL_RELATIVE_OR_AUTHORITY;}else if(isSpecial(url)){state=SPECIAL_AUTHORITY_SLASHES;}else if(codePoints[pointer+1]=='/'){state=PATH_OR_AUTHORITY;pointer++;}else{url.cannotBeABaseURL=true;url.path.push('');state=CANNOT_BE_A_BASE_URL_PATH;}}else if(!stateOverride){buffer='';state=NO_SCHEME;pointer=0;continue;}else return INVALID_SCHEME;break;case NO_SCHEME:if(!base||base.cannotBeABaseURL&&char!='#')return INVALID_SCHEME;if(base.cannotBeABaseURL&&char=='#'){url.scheme=base.scheme;url.path=base.path.slice();url.query=base.query;url.fragment='';url.cannotBeABaseURL=true;state=FRAGMENT;break;}state=base.scheme=='file'?FILE:RELATIVE;continue;case SPECIAL_RELATIVE_OR_AUTHORITY:if(char=='/'&&codePoints[pointer+1]=='/'){state=SPECIAL_AUTHORITY_IGNORE_SLASHES;pointer++;}else{state=RELATIVE;continue;}break;case PATH_OR_AUTHORITY:if(char=='/'){state=AUTHORITY;break;}else{state=PATH;continue;}case RELATIVE:url.scheme=base.scheme;if(char==EOF){url.username=base.username;url.password=base.password;url.host=base.host;url.port=base.port;url.path=base.path.slice();url.query=base.query;}else if(char=='/'||char=='\\\\'&&isSpecial(url)){state=RELATIVE_SLASH;}else if(char=='?'){url.username=base.username;url.password=base.password;url.host=base.host;url.port=base.port;url.path=base.path.slice();url.query='';state=QUERY;}else if(char=='#'){url.username=base.username;url.password=base.password;url.host=base.host;url.port=base.port;url.path=base.path.slice();url.query=base.query;url.fragment='';state=FRAGMENT;}else{url.username=base.username;url.password=base.password;url.host=base.host;url.port=base.port;url.path=base.path.slice();url.path.pop();state=PATH;continue;}break;case RELATIVE_SLASH:if(isSpecial(url)&&(char=='/'||char=='\\\\')){state=SPECIAL_AUTHORITY_IGNORE_SLASHES;}else if(char=='/'){state=AUTHORITY;}else{url.username=base.username;url.password=base.password;url.host=base.host;url.port=base.port;state=PATH;continue;}break;case SPECIAL_AUTHORITY_SLASHES:state=SPECIAL_AUTHORITY_IGNORE_SLASHES;if(char!='/'||buffer.charAt(pointer+1)!='/')continue;pointer++;break;case SPECIAL_AUTHORITY_IGNORE_SLASHES:if(char!='/'&&char!='\\\\'){state=AUTHORITY;continue;}break;case AUTHORITY:if(char=='@'){if(seenAt)buffer='%40'+buffer;seenAt=true;bufferCodePoints=arrayFrom(buffer);for(var i=0;i<bufferCodePoints.length;i++){var codePoint=bufferCodePoints[i];if(codePoint==':'&&!seenPasswordToken){seenPasswordToken=true;continue;}var encodedCodePoints=percentEncode(codePoint,userinfoPercentEncodeSet);if(seenPasswordToken)url.password+=encodedCodePoints;else url.username+=encodedCodePoints;}buffer='';}else if(char==EOF||char=='/'||char=='?'||char=='#'||char=='\\\\'&&isSpecial(url)){if(seenAt&&buffer=='')return INVALID_AUTHORITY;pointer-=arrayFrom(buffer).length+1;buffer='';state=HOST;}else buffer+=char;break;case HOST:case HOSTNAME:if(stateOverride&&url.scheme=='file'){state=FILE_HOST;continue;}else if(char==':'&&!seenBracket){if(buffer=='')return INVALID_HOST;failure=parseHost(url,buffer);if(failure)return failure;buffer='';state=PORT;if(stateOverride==HOSTNAME)return;}else if(char==EOF||char=='/'||char=='?'||char=='#'||char=='\\\\'&&isSpecial(url)){if(isSpecial(url)&&buffer=='')return INVALID_HOST;if(stateOverride&&buffer==''&&(includesCredentials(url)||url.port!==null))return;failure=parseHost(url,buffer);if(failure)return failure;buffer='';state=PATH_START;if(stateOverride)return;continue;}else{if(char=='[')seenBracket=true;else if(char==']')seenBracket=false;buffer+=char;}break;case PORT:if(DIGIT.test(char)){buffer+=char;}else if(char==EOF||char=='/'||char=='?'||char=='#'||char=='\\\\'&&isSpecial(url)||stateOverride){if(buffer!=''){var port=parseInt(buffer,10);if(port>0xFFFF)return INVALID_PORT;url.port=isSpecial(url)&&port===specialSchemes[url.scheme]?null:port;buffer='';}if(stateOverride)return;state=PATH_START;continue;}else return INVALID_PORT;break;case FILE:url.scheme='file';if(char=='/'||char=='\\\\')state=FILE_SLASH;else if(base&&base.scheme=='file'){if(char==EOF){url.host=base.host;url.path=base.path.slice();url.query=base.query;}else if(char=='?'){url.host=base.host;url.path=base.path.slice();url.query='';state=QUERY;}else if(char=='#'){url.host=base.host;url.path=base.path.slice();url.query=base.query;url.fragment='';state=FRAGMENT;}else{if(!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))){url.host=base.host;url.path=base.path.slice();shortenURLsPath(url);}state=PATH;continue;}}else{state=PATH;continue;}break;case FILE_SLASH:if(char=='/'||char=='\\\\'){state=FILE_HOST;break;}if(base&&base.scheme=='file'&&!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))){if(isWindowsDriveLetter(base.path[0],true))url.path.push(base.path[0]);else url.host=base.host;}state=PATH;continue;case FILE_HOST:if(char==EOF||char=='/'||char=='\\\\'||char=='?'||char=='#'){if(!stateOverride&&isWindowsDriveLetter(buffer)){state=PATH;}else if(buffer==''){url.host='';if(stateOverride)return;state=PATH_START;}else{failure=parseHost(url,buffer);if(failure)return failure;if(url.host=='localhost')url.host='';if(stateOverride)return;buffer='';state=PATH_START;}continue;}else buffer+=char;break;case PATH_START:if(isSpecial(url)){state=PATH;if(char!='/'&&char!='\\\\')continue;}else if(!stateOverride&&char=='?'){url.query='';state=QUERY;}else if(!stateOverride&&char=='#'){url.fragment='';state=FRAGMENT;}else if(char!=EOF){state=PATH;if(char!='/')continue;}break;case PATH:if(char==EOF||char=='/'||char=='\\\\'&&isSpecial(url)||!stateOverride&&(char=='?'||char=='#')){if(isDoubleDot(buffer)){shortenURLsPath(url);if(char!='/'&&!(char=='\\\\'&&isSpecial(url))){url.path.push('');}}else if(isSingleDot(buffer)){if(char!='/'&&!(char=='\\\\'&&isSpecial(url))){url.path.push('');}}else{if(url.scheme=='file'&&!url.path.length&&isWindowsDriveLetter(buffer)){if(url.host)url.host='';buffer=buffer.charAt(0)+':';}url.path.push(buffer);}buffer='';if(url.scheme=='file'&&(char==EOF||char=='?'||char=='#')){while(url.path.length>1&&url.path[0]===''){url.path.shift();}}if(char=='?'){url.query='';state=QUERY;}else if(char=='#'){url.fragment='';state=FRAGMENT;}}else{buffer+=percentEncode(char,pathPercentEncodeSet);}break;case CANNOT_BE_A_BASE_URL_PATH:if(char=='?'){url.query='';state=QUERY;}else if(char=='#'){url.fragment='';state=FRAGMENT;}else if(char!=EOF){url.path[0]+=percentEncode(char,C0ControlPercentEncodeSet);}break;case QUERY:if(!stateOverride&&char=='#'){url.fragment='';state=FRAGMENT;}else if(char!=EOF){if(char==\"'\"&&isSpecial(url))url.query+='%27';else if(char=='#')url.query+='%23';else url.query+=percentEncode(char,C0ControlPercentEncodeSet);}break;case FRAGMENT:if(char!=EOF)url.fragment+=percentEncode(char,fragmentPercentEncodeSet);break;}pointer++;}};var URLConstructor=function URL(url){var that=anInstance(this,URLConstructor,'URL');var base=arguments.length>1?arguments[1]:undefined;var urlString=String(url);var state=setInternalState(that,{type:'URL'});var baseState,failure;if(base!==undefined){if(base instanceof URLConstructor)baseState=getInternalURLState(base);else{failure=parseURL(baseState={},String(base));if(failure)throw TypeError(failure);}}failure=parseURL(state,urlString,null,baseState);if(failure)throw TypeError(failure);var searchParams=state.searchParams=new URLSearchParams();var searchParamsState=getInternalSearchParamsState(searchParams);searchParamsState.updateSearchParams(state.query);searchParamsState.updateURL=function(){state.query=String(searchParams)||null;};if(!DESCRIPTORS){that.href=serializeURL.call(that);that.origin=getOrigin.call(that);that.protocol=getProtocol.call(that);that.username=getUsername.call(that);that.password=getPassword.call(that);that.host=getHost.call(that);that.hostname=getHostname.call(that);that.port=getPort.call(that);that.pathname=getPathname.call(that);that.search=getSearch.call(that);that.searchParams=getSearchParams.call(that);that.hash=getHash.call(that);}};var URLPrototype=URLConstructor.prototype;var serializeURL=function serializeURL(){var url=getInternalURLState(this);var scheme=url.scheme;var username=url.username;var password=url.password;var host=url.host;var port=url.port;var path=url.path;var query=url.query;var fragment=url.fragment;var output=scheme+':';if(host!==null){output+='//';if(includesCredentials(url)){output+=username+(password?':'+password:'')+'@';}output+=serializeHost(host);if(port!==null)output+=':'+port;}else if(scheme=='file')output+='//';output+=url.cannotBeABaseURL?path[0]:path.length?'/'+path.join('/'):'';if(query!==null)output+='?'+query;if(fragment!==null)output+='#'+fragment;return output;};var getOrigin=function getOrigin(){var url=getInternalURLState(this);var scheme=url.scheme;var port=url.port;if(scheme=='blob')try{return new URL(scheme.path[0]).origin;}catch(error){return'null';}if(scheme=='file'||!isSpecial(url))return'null';return scheme+'://'+serializeHost(url.host)+(port!==null?':'+port:'');};var getProtocol=function getProtocol(){return getInternalURLState(this).scheme+':';};var getUsername=function getUsername(){return getInternalURLState(this).username;};var getPassword=function getPassword(){return getInternalURLState(this).password;};var getHost=function getHost(){var url=getInternalURLState(this);var host=url.host;var port=url.port;return host===null?'':port===null?serializeHost(host):serializeHost(host)+':'+port;};var getHostname=function getHostname(){var host=getInternalURLState(this).host;return host===null?'':serializeHost(host);};var getPort=function getPort(){var port=getInternalURLState(this).port;return port===null?'':String(port);};var getPathname=function getPathname(){var url=getInternalURLState(this);var path=url.path;return url.cannotBeABaseURL?path[0]:path.length?'/'+path.join('/'):'';};var getSearch=function getSearch(){var query=getInternalURLState(this).query;return query?'?'+query:'';};var getSearchParams=function getSearchParams(){return getInternalURLState(this).searchParams;};var getHash=function getHash(){var fragment=getInternalURLState(this).fragment;return fragment?'#'+fragment:'';};var accessorDescriptor=function accessorDescriptor(getter,setter){return{get:getter,set:setter,configurable:true,enumerable:true};};if(DESCRIPTORS){defineProperties(URLPrototype,{href:accessorDescriptor(serializeURL,function(href){var url=getInternalURLState(this);var urlString=String(href);var failure=parseURL(url,urlString);if(failure)throw TypeError(failure);getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);}),origin:accessorDescriptor(getOrigin),protocol:accessorDescriptor(getProtocol,function(protocol){var url=getInternalURLState(this);parseURL(url,String(protocol)+':',SCHEME_START);}),username:accessorDescriptor(getUsername,function(username){var url=getInternalURLState(this);var codePoints=arrayFrom(String(username));if(cannotHaveUsernamePasswordPort(url))return;url.username='';for(var i=0;i<codePoints.length;i++){url.username+=percentEncode(codePoints[i],userinfoPercentEncodeSet);}}),password:accessorDescriptor(getPassword,function(password){var url=getInternalURLState(this);var codePoints=arrayFrom(String(password));if(cannotHaveUsernamePasswordPort(url))return;url.password='';for(var i=0;i<codePoints.length;i++){url.password+=percentEncode(codePoints[i],userinfoPercentEncodeSet);}}),host:accessorDescriptor(getHost,function(host){var url=getInternalURLState(this);if(url.cannotBeABaseURL)return;parseURL(url,String(host),HOST);}),hostname:accessorDescriptor(getHostname,function(hostname){var url=getInternalURLState(this);if(url.cannotBeABaseURL)return;parseURL(url,String(hostname),HOSTNAME);}),port:accessorDescriptor(getPort,function(port){var url=getInternalURLState(this);if(cannotHaveUsernamePasswordPort(url))return;port=String(port);if(port=='')url.port=null;else parseURL(url,port,PORT);}),pathname:accessorDescriptor(getPathname,function(pathname){var url=getInternalURLState(this);if(url.cannotBeABaseURL)return;url.path=[];parseURL(url,pathname+'',PATH_START);}),search:accessorDescriptor(getSearch,function(search){var url=getInternalURLState(this);search=String(search);if(search==''){url.query=null;}else{if('?'==search.charAt(0))search=search.slice(1);url.query='';parseURL(url,search,QUERY);}getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);}),searchParams:accessorDescriptor(getSearchParams),hash:accessorDescriptor(getHash,function(hash){var url=getInternalURLState(this);hash=String(hash);if(hash==''){url.fragment=null;return;}if('#'==hash.charAt(0))hash=hash.slice(1);url.fragment='';parseURL(url,hash,FRAGMENT);})});}redefine(URLPrototype,'toJSON',function toJSON(){return serializeURL.call(this);},{enumerable:true});redefine(URLPrototype,'toString',function toString(){return serializeURL.call(this);},{enumerable:true});if(NativeURL){var nativeCreateObjectURL=NativeURL.createObjectURL;var nativeRevokeObjectURL=NativeURL.revokeObjectURL;if(nativeCreateObjectURL)redefine(URLConstructor,'createObjectURL',function createObjectURL(blob){return nativeCreateObjectURL.apply(NativeURL,arguments);});if(nativeRevokeObjectURL)redefine(URLConstructor,'revokeObjectURL',function revokeObjectURL(url){return nativeRevokeObjectURL.apply(NativeURL,arguments);});}setToStringTag(URLConstructor,'URL');$({global:true,forced:!USE_NATIVE_URL,sham:!DESCRIPTORS},{URL:URLConstructor});/***/},/* 130 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);var wellKnownSymbol=__w_pdfjs_require__(53);var IS_PURE=__w_pdfjs_require__(32);var ITERATOR=wellKnownSymbol('iterator');module.exports=!fails(function(){var url=new URL('b?a=1&b=2&c=3','http://a');var searchParams=url.searchParams;var result='';url.pathname='c%20d';searchParams.forEach(function(value,key){searchParams['delete']('b');result+=key+value;});return IS_PURE&&!url.toJSON||!searchParams.sort||url.href!=='http://a/c%20d?a=1&c=3'||searchParams.get('c')!=='3'||String(new URLSearchParams('?a=1'))!=='a=1'||!searchParams[ITERATOR]||new URL('https://a@b').username!=='a'||new URLSearchParams(new URLSearchParams('a=b')).get('a')!=='b'||new URL('http://тест').host!=='xn--e1aybc'||new URL('http://a#б').hash!=='#%D0%B1'||result!=='a1c3'||new URL('http://x',undefined).host!=='x';});/***/},/* 131 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var maxInt=2147483647;var base=36;var tMin=1;var tMax=26;var skew=38;var damp=700;var initialBias=72;var initialN=128;var delimiter='-';var regexNonASCII=/[^\\0-\\u007E]/;var regexSeparators=/[.\\u3002\\uFF0E\\uFF61]/g;var OVERFLOW_ERROR='Overflow: input needs wider integers to process';var baseMinusTMin=base-tMin;var floor=Math.floor;var stringFromCharCode=String.fromCharCode;var ucs2decode=function ucs2decode(string){var output=[];var counter=0;var length=string.length;while(counter<length){var value=string.charCodeAt(counter++);if(value>=0xD800&&value<=0xDBFF&&counter<length){var extra=string.charCodeAt(counter++);if((extra&0xFC00)==0xDC00){output.push(((value&0x3FF)<<10)+(extra&0x3FF)+0x10000);}else{output.push(value);counter--;}}else{output.push(value);}}return output;};var digitToBasic=function digitToBasic(digit){return digit+22+75*(digit<26);};var adapt=function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin);}return floor(k+(baseMinusTMin+1)*delta/(delta+skew));};var encode=function encode(input){var output=[];input=ucs2decode(input);var inputLength=input.length;var n=initialN;var delta=0;var bias=initialBias;var i,currentValue;for(i=0;i<input.length;i++){currentValue=input[i];if(currentValue<0x80){output.push(stringFromCharCode(currentValue));}}var basicLength=output.length;var handledCPCount=basicLength;if(basicLength){output.push(delimiter);}while(handledCPCount<inputLength){var m=maxInt;for(i=0;i<input.length;i++){currentValue=input[i];if(currentValue>=n&&currentValue<m){m=currentValue;}}var handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){throw RangeError(OVERFLOW_ERROR);}delta+=(m-n)*handledCPCountPlusOne;n=m;for(i=0;i<input.length;i++){currentValue=input[i];if(currentValue<n&&++delta>maxInt){throw RangeError(OVERFLOW_ERROR);}if(currentValue==n){var q=delta;for(var k=base;;k+=base){var t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t)break;var qMinusT=q-t;var baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT)));q=floor(qMinusT/baseMinusT);}output.push(stringFromCharCode(digitToBasic(q)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount;}}++delta;++n;}return output.join('');};module.exports=function(input){var encoded=[];var labels=input.toLowerCase().replace(regexSeparators,\".\").split('.');var i,label;for(i=0;i<labels.length;i++){label=labels[i];encoded.push(regexNonASCII.test(label)?'xn--'+encode(label):label);}return encoded.join('.');};/***/},/* 132 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";__w_pdfjs_require__(109);var $=__w_pdfjs_require__(5);var getBuiltIn=__w_pdfjs_require__(37);var USE_NATIVE_URL=__w_pdfjs_require__(130);var redefine=__w_pdfjs_require__(24);var redefineAll=__w_pdfjs_require__(112);var setToStringTag=__w_pdfjs_require__(81);var createIteratorConstructor=__w_pdfjs_require__(76);var InternalStateModule=__w_pdfjs_require__(28);var anInstance=__w_pdfjs_require__(114);var hasOwn=__w_pdfjs_require__(18);var bind=__w_pdfjs_require__(58);var classof=__w_pdfjs_require__(91);var anObject=__w_pdfjs_require__(23);var isObject=__w_pdfjs_require__(17);var create=__w_pdfjs_require__(67);var createPropertyDescriptor=__w_pdfjs_require__(11);var getIterator=__w_pdfjs_require__(133);var getIteratorMethod=__w_pdfjs_require__(90);var wellKnownSymbol=__w_pdfjs_require__(53);var $fetch=getBuiltIn('fetch');var Headers=getBuiltIn('Headers');var ITERATOR=wellKnownSymbol('iterator');var URL_SEARCH_PARAMS='URLSearchParams';var URL_SEARCH_PARAMS_ITERATOR=URL_SEARCH_PARAMS+'Iterator';var setInternalState=InternalStateModule.set;var getInternalParamsState=InternalStateModule.getterFor(URL_SEARCH_PARAMS);var getInternalIteratorState=InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);var plus=/\\+/g;var sequences=Array(4);var percentSequence=function percentSequence(bytes){return sequences[bytes-1]||(sequences[bytes-1]=RegExp('((?:%[\\\\da-f]{2}){'+bytes+'})','gi'));};var percentDecode=function percentDecode(sequence){try{return decodeURIComponent(sequence);}catch(error){return sequence;}};var deserialize=function deserialize(it){var result=it.replace(plus,' ');var bytes=4;try{return decodeURIComponent(result);}catch(error){while(bytes){result=result.replace(percentSequence(bytes--),percentDecode);}return result;}};var find=/[!'()~]|%20/g;var replace={'!':'%21',\"'\":'%27','(':'%28',')':'%29','~':'%7E','%20':'+'};var replacer=function replacer(match){return replace[match];};var serialize=function serialize(it){return encodeURIComponent(it).replace(find,replacer);};var parseSearchParams=function parseSearchParams(result,query){if(query){var attributes=query.split('&');var index=0;var attribute,entry;while(index<attributes.length){attribute=attributes[index++];if(attribute.length){entry=attribute.split('=');result.push({key:deserialize(entry.shift()),value:deserialize(entry.join('='))});}}}};var updateSearchParams=function updateSearchParams(query){this.entries.length=0;parseSearchParams(this.entries,query);};var validateArgumentsLength=function validateArgumentsLength(passed,required){if(passed<required)throw TypeError('Not enough arguments');};var URLSearchParamsIterator=createIteratorConstructor(function Iterator(params,kind){setInternalState(this,{type:URL_SEARCH_PARAMS_ITERATOR,iterator:getIterator(getInternalParamsState(params).entries),kind:kind});},'Iterator',function next(){var state=getInternalIteratorState(this);var kind=state.kind;var step=state.iterator.next();var entry=step.value;if(!step.done){step.value=kind==='keys'?entry.key:kind==='values'?entry.value:[entry.key,entry.value];}return step;});var URLSearchParamsConstructor=function URLSearchParams(){anInstance(this,URLSearchParamsConstructor,URL_SEARCH_PARAMS);var init=arguments.length>0?arguments[0]:undefined;var that=this;var entries=[];var iteratorMethod,iterator,next,step,entryIterator,entryNext,first,second,key;setInternalState(that,{type:URL_SEARCH_PARAMS,entries:entries,updateURL:function updateURL(){},updateSearchParams:updateSearchParams});if(init!==undefined){if(isObject(init)){iteratorMethod=getIteratorMethod(init);if(typeof iteratorMethod==='function'){iterator=iteratorMethod.call(init);next=iterator.next;while(!(step=next.call(iterator)).done){entryIterator=getIterator(anObject(step.value));entryNext=entryIterator.next;if((first=entryNext.call(entryIterator)).done||(second=entryNext.call(entryIterator)).done||!entryNext.call(entryIterator).done)throw TypeError('Expected sequence with length 2');entries.push({key:first.value+'',value:second.value+''});}}else for(key in init){if(hasOwn(init,key))entries.push({key:key,value:init[key]+''});}}else{parseSearchParams(entries,typeof init==='string'?init.charAt(0)==='?'?init.slice(1):init:init+'');}}};var URLSearchParamsPrototype=URLSearchParamsConstructor.prototype;redefineAll(URLSearchParamsPrototype,{append:function append(name,value){validateArgumentsLength(arguments.length,2);var state=getInternalParamsState(this);state.entries.push({key:name+'',value:value+''});state.updateURL();},'delete':function _delete(name){validateArgumentsLength(arguments.length,1);var state=getInternalParamsState(this);var entries=state.entries;var key=name+'';var index=0;while(index<entries.length){if(entries[index].key===key)entries.splice(index,1);else index++;}state.updateURL();},get:function get(name){validateArgumentsLength(arguments.length,1);var entries=getInternalParamsState(this).entries;var key=name+'';var index=0;for(;index<entries.length;index++){if(entries[index].key===key)return entries[index].value;}return null;},getAll:function getAll(name){validateArgumentsLength(arguments.length,1);var entries=getInternalParamsState(this).entries;var key=name+'';var result=[];var index=0;for(;index<entries.length;index++){if(entries[index].key===key)result.push(entries[index].value);}return result;},has:function has(name){validateArgumentsLength(arguments.length,1);var entries=getInternalParamsState(this).entries;var key=name+'';var index=0;while(index<entries.length){if(entries[index++].key===key)return true;}return false;},set:function set(name,value){validateArgumentsLength(arguments.length,1);var state=getInternalParamsState(this);var entries=state.entries;var found=false;var key=name+'';var val=value+'';var index=0;var entry;for(;index<entries.length;index++){entry=entries[index];if(entry.key===key){if(found)entries.splice(index--,1);else{found=true;entry.value=val;}}}if(!found)entries.push({key:key,value:val});state.updateURL();},sort:function sort(){var state=getInternalParamsState(this);var entries=state.entries;var slice=entries.slice();var entry,entriesIndex,sliceIndex;entries.length=0;for(sliceIndex=0;sliceIndex<slice.length;sliceIndex++){entry=slice[sliceIndex];for(entriesIndex=0;entriesIndex<sliceIndex;entriesIndex++){if(entries[entriesIndex].key>entry.key){entries.splice(entriesIndex,0,entry);break;}}if(entriesIndex===sliceIndex)entries.push(entry);}state.updateURL();},forEach:function forEach(callback){var entries=getInternalParamsState(this).entries;var boundFunction=bind(callback,arguments.length>1?arguments[1]:undefined,3);var index=0;var entry;while(index<entries.length){entry=entries[index++];boundFunction(entry.value,entry.key,this);}},keys:function keys(){return new URLSearchParamsIterator(this,'keys');},values:function values(){return new URLSearchParamsIterator(this,'values');},entries:function entries(){return new URLSearchParamsIterator(this,'entries');}},{enumerable:true});redefine(URLSearchParamsPrototype,ITERATOR,URLSearchParamsPrototype.entries);redefine(URLSearchParamsPrototype,'toString',function toString(){var entries=getInternalParamsState(this).entries;var result=[];var index=0;var entry;while(index<entries.length){entry=entries[index++];result.push(serialize(entry.key)+'='+serialize(entry.value));}return result.join('&');},{enumerable:true});setToStringTag(URLSearchParamsConstructor,URL_SEARCH_PARAMS);$({global:true,forced:!USE_NATIVE_URL},{URLSearchParams:URLSearchParamsConstructor});if(!USE_NATIVE_URL&&typeof $fetch=='function'&&typeof Headers=='function'){$({global:true,enumerable:true,forced:true},{fetch:function fetch(input){var args=[input];var init,body,headers;if(arguments.length>1){init=arguments[1];if(isObject(init)){body=init.body;if(classof(body)===URL_SEARCH_PARAMS){headers=init.headers?new Headers(init.headers):new Headers();if(!headers.has('content-type')){headers.set('content-type','application/x-www-form-urlencoded;charset=UTF-8');}init=create(init,{body:createPropertyDescriptor(0,String(body)),headers:createPropertyDescriptor(0,headers)});}}args.push(init);}return $fetch.apply(this,args);}});}module.exports={URLSearchParams:URLSearchParamsConstructor,getState:getInternalParamsState};/***/},/* 133 */ /***/function(module,exports,__w_pdfjs_require__){var anObject=__w_pdfjs_require__(23);var getIteratorMethod=__w_pdfjs_require__(90);module.exports=function(it){var iteratorMethod=getIteratorMethod(it);if(typeof iteratorMethod!='function'){throw TypeError(String(it)+' is not iterable');}return anObject(iteratorMethod.call(it));};/***/},/* 134 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);$({target:'URL',proto:true,enumerable:true},{toJSON:function toJSON(){return URL.prototype.toString.call(this);}});/***/},/* 135 */ /***/function(module,exports,__w_pdfjs_require__){(function(global,factory){true?factory(exports):undefined;})(this,function(exports){'use strict';var SymbolPolyfill=typeof Symbol==='function'&&_typeof2(Symbol.iterator)==='symbol'?Symbol:function(description){return\"Symbol(\"+description+\")\";};function noop(){}var NumberIsNaN=Number.isNaN||function(x){return x!==x;};var rethrowAssertionErrorRejection=noop;function typeIsObject(x){return _typeof2(x)==='object'&&x!==null||typeof x==='function';}function createArrayFromList(elements){return elements.slice();}function ArrayBufferCopy(dest,destOffset,src,srcOffset,n){new Uint8Array(dest).set(new Uint8Array(src,srcOffset,n),destOffset);}function IsFiniteNonNegativeNumber(v){if(IsNonNegativeNumber(v)===false){return false;}if(v===Infinity){return false;}return true;}function IsNonNegativeNumber(v){if(typeof v!=='number'){return false;}if(NumberIsNaN(v)){return false;}if(v<0){return false;}return true;}function Call(F,V,args){if(typeof F!=='function'){throw new TypeError('Argument is not a function');}return Function.prototype.apply.call(F,V,args);}function CreateAlgorithmFromUnderlyingMethod(underlyingObject,methodName,algoArgCount,extraArgs){var method=underlyingObject[methodName];if(method!==undefined){if(typeof method!=='function'){throw new TypeError(method+\" is not a method\");}switch(algoArgCount){case 0:{return function(){return PromiseCall(method,underlyingObject,extraArgs);};}case 1:{return function(arg){var fullArgs=[arg].concat(extraArgs);return PromiseCall(method,underlyingObject,fullArgs);};}}}return function(){return promiseResolvedWith(undefined);};}function InvokeOrNoop(O,P,args){var method=O[P];if(method===undefined){return undefined;}return Call(method,O,args);}function PromiseCall(F,V,args){try{return promiseResolvedWith(Call(F,V,args));}catch(value){return promiseRejectedWith(value);}}function TransferArrayBuffer(O){return O;}function IsDetachedBuffer(O){return false;}function ValidateAndNormalizeHighWaterMark(highWaterMark){highWaterMark=Number(highWaterMark);if(NumberIsNaN(highWaterMark)||highWaterMark<0){throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');}return highWaterMark;}function MakeSizeAlgorithmFromSizeFunction(size){if(size===undefined){return function(){return 1;};}if(typeof size!=='function'){throw new TypeError('size property of a queuing strategy must be a function');}return function(chunk){return size(chunk);};}var originalPromise=Promise;var originalPromiseThen=Promise.prototype.then;var originalPromiseResolve=Promise.resolve.bind(originalPromise);var originalPromiseReject=Promise.reject.bind(originalPromise);function newPromise(executor){return new originalPromise(executor);}function promiseResolvedWith(value){return originalPromiseResolve(value);}function promiseRejectedWith(reason){return originalPromiseReject(reason);}function PerformPromiseThen(promise,onFulfilled,onRejected){return originalPromiseThen.call(promise,onFulfilled,onRejected);}function uponPromise(promise,onFulfilled,onRejected){PerformPromiseThen(PerformPromiseThen(promise,onFulfilled,onRejected),undefined,rethrowAssertionErrorRejection);}function uponFulfillment(promise,onFulfilled){uponPromise(promise,onFulfilled);}function uponRejection(promise,onRejected){uponPromise(promise,undefined,onRejected);}function transformPromiseWith(promise,fulfillmentHandler,rejectionHandler){return PerformPromiseThen(promise,fulfillmentHandler,rejectionHandler);}function setPromiseIsHandledToTrue(promise){PerformPromiseThen(promise,undefined,rethrowAssertionErrorRejection);}var QUEUE_MAX_ARRAY_SIZE=16384;var SimpleQueue=function(){function SimpleQueue(){this._cursor=0;this._size=0;this._front={_elements:[],_next:undefined};this._back=this._front;this._cursor=0;this._size=0;}Object.defineProperty(SimpleQueue.prototype,\"length\",{get:function get(){return this._size;},enumerable:true,configurable:true});SimpleQueue.prototype.push=function(element){var oldBack=this._back;var newBack=oldBack;if(oldBack._elements.length===QUEUE_MAX_ARRAY_SIZE-1){newBack={_elements:[],_next:undefined};}oldBack._elements.push(element);if(newBack!==oldBack){this._back=newBack;oldBack._next=newBack;}++this._size;};SimpleQueue.prototype.shift=function(){var oldFront=this._front;var newFront=oldFront;var oldCursor=this._cursor;var newCursor=oldCursor+1;var elements=oldFront._elements;var element=elements[oldCursor];if(newCursor===QUEUE_MAX_ARRAY_SIZE){newFront=oldFront._next;newCursor=0;}--this._size;this._cursor=newCursor;if(oldFront!==newFront){this._front=newFront;}elements[oldCursor]=undefined;return element;};SimpleQueue.prototype.forEach=function(callback){var i=this._cursor;var node=this._front;var elements=node._elements;while(i!==elements.length||node._next!==undefined){if(i===elements.length){node=node._next;elements=node._elements;i=0;if(elements.length===0){break;}}callback(elements[i]);++i;}};SimpleQueue.prototype.peek=function(){var front=this._front;var cursor=this._cursor;return front._elements[cursor];};return SimpleQueue;}();function ReadableStreamCreateReadResult(value,done,forAuthorCode){var prototype=null;if(forAuthorCode===true){prototype=Object.prototype;}var obj=Object.create(prototype);obj.value=value;obj.done=done;return obj;}function ReadableStreamReaderGenericInitialize(reader,stream){reader._forAuthorCode=true;reader._ownerReadableStream=stream;stream._reader=reader;if(stream._state==='readable'){defaultReaderClosedPromiseInitialize(reader);}else if(stream._state==='closed'){defaultReaderClosedPromiseInitializeAsResolved(reader);}else{defaultReaderClosedPromiseInitializeAsRejected(reader,stream._storedError);}}function ReadableStreamReaderGenericCancel(reader,reason){var stream=reader._ownerReadableStream;return ReadableStreamCancel(stream,reason);}function ReadableStreamReaderGenericRelease(reader){if(reader._ownerReadableStream._state==='readable'){defaultReaderClosedPromiseReject(reader,new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));}else{defaultReaderClosedPromiseResetToRejected(reader,new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));}reader._ownerReadableStream._reader=undefined;reader._ownerReadableStream=undefined;}function readerLockException(name){return new TypeError('Cannot '+name+' a stream using a released reader');}function defaultReaderClosedPromiseInitialize(reader){reader._closedPromise=newPromise(function(resolve,reject){reader._closedPromise_resolve=resolve;reader._closedPromise_reject=reject;});}function defaultReaderClosedPromiseInitializeAsRejected(reader,reason){defaultReaderClosedPromiseInitialize(reader);defaultReaderClosedPromiseReject(reader,reason);}function defaultReaderClosedPromiseInitializeAsResolved(reader){defaultReaderClosedPromiseInitialize(reader);defaultReaderClosedPromiseResolve(reader);}function defaultReaderClosedPromiseReject(reader,reason){setPromiseIsHandledToTrue(reader._closedPromise);reader._closedPromise_reject(reason);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}function defaultReaderClosedPromiseResetToRejected(reader,reason){defaultReaderClosedPromiseInitializeAsRejected(reader,reason);}function defaultReaderClosedPromiseResolve(reader){reader._closedPromise_resolve(undefined);reader._closedPromise_resolve=undefined;reader._closedPromise_reject=undefined;}var CancelSteps=SymbolPolyfill('[[CancelSteps]]');var PullSteps=SymbolPolyfill('[[PullSteps]]');function AcquireReadableStreamDefaultReader(stream,forAuthorCode){if(forAuthorCode===void 0){forAuthorCode=false;}var reader=new ReadableStreamDefaultReader(stream);reader._forAuthorCode=forAuthorCode;return reader;}function ReadableStreamAddReadRequest(stream){var promise=newPromise(function(resolve,reject){var readRequest={_resolve:resolve,_reject:reject};stream._reader._readRequests.push(readRequest);});return promise;}function ReadableStreamFulfillReadRequest(stream,chunk,done){var reader=stream._reader;var readRequest=reader._readRequests.shift();readRequest._resolve(ReadableStreamCreateReadResult(chunk,done,reader._forAuthorCode));}function ReadableStreamGetNumReadRequests(stream){return stream._reader._readRequests.length;}function ReadableStreamHasDefaultReader(stream){var reader=stream._reader;if(reader===undefined){return false;}if(!IsReadableStreamDefaultReader(reader)){return false;}return true;}var ReadableStreamDefaultReader=function(){function ReadableStreamDefaultReader(stream){if(IsReadableStream(stream)===false){throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');}if(IsReadableStreamLocked(stream)===true){throw new TypeError('This stream has already been locked for exclusive reading by another reader');}ReadableStreamReaderGenericInitialize(this,stream);this._readRequests=new SimpleQueue();}Object.defineProperty(ReadableStreamDefaultReader.prototype,\"closed\",{get:function get(){if(!IsReadableStreamDefaultReader(this)){return promiseRejectedWith(defaultReaderBrandCheckException('closed'));}return this._closedPromise;},enumerable:true,configurable:true});ReadableStreamDefaultReader.prototype.cancel=function(reason){if(!IsReadableStreamDefaultReader(this)){return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));}if(this._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('cancel'));}return ReadableStreamReaderGenericCancel(this,reason);};ReadableStreamDefaultReader.prototype.read=function(){if(!IsReadableStreamDefaultReader(this)){return promiseRejectedWith(defaultReaderBrandCheckException('read'));}if(this._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('read from'));}return ReadableStreamDefaultReaderRead(this);};ReadableStreamDefaultReader.prototype.releaseLock=function(){if(!IsReadableStreamDefaultReader(this)){throw defaultReaderBrandCheckException('releaseLock');}if(this._ownerReadableStream===undefined){return;}if(this._readRequests.length>0){throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');}ReadableStreamReaderGenericRelease(this);};return ReadableStreamDefaultReader;}();function IsReadableStreamDefaultReader(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_readRequests')){return false;}return true;}function ReadableStreamDefaultReaderRead(reader){var stream=reader._ownerReadableStream;stream._disturbed=true;if(stream._state==='closed'){return promiseResolvedWith(ReadableStreamCreateReadResult(undefined,true,reader._forAuthorCode));}if(stream._state==='errored'){return promiseRejectedWith(stream._storedError);}return stream._readableStreamController[PullSteps]();}function defaultReaderBrandCheckException(name){return new TypeError(\"ReadableStreamDefaultReader.prototype.\"+name+\" can only be used on a ReadableStreamDefaultReader\");}var _a;var AsyncIteratorPrototype;if(_typeof2(SymbolPolyfill.asyncIterator)==='symbol'){AsyncIteratorPrototype=(_a={},_a[SymbolPolyfill.asyncIterator]=function(){return this;},_a);Object.defineProperty(AsyncIteratorPrototype,SymbolPolyfill.asyncIterator,{enumerable:false});}var ReadableStreamAsyncIteratorPrototype={next:function next(){if(IsReadableStreamAsyncIterator(this)===false){return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));}var reader=this._asyncIteratorReader;if(reader._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('iterate'));}return transformPromiseWith(ReadableStreamDefaultReaderRead(reader),function(result){var done=result.done;if(done){ReadableStreamReaderGenericRelease(reader);}var value=result.value;return ReadableStreamCreateReadResult(value,done,true);});},return:function _return(value){if(IsReadableStreamAsyncIterator(this)===false){return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));}var reader=this._asyncIteratorReader;if(reader._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('finish iterating'));}if(reader._readRequests.length>0){return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));}if(this._preventCancel===false){var result=ReadableStreamReaderGenericCancel(reader,value);ReadableStreamReaderGenericRelease(reader);return transformPromiseWith(result,function(){return ReadableStreamCreateReadResult(value,true,true);});}ReadableStreamReaderGenericRelease(reader);return promiseResolvedWith(ReadableStreamCreateReadResult(value,true,true));}};if(AsyncIteratorPrototype!==undefined){Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype,AsyncIteratorPrototype);}Object.defineProperty(ReadableStreamAsyncIteratorPrototype,'next',{enumerable:false});Object.defineProperty(ReadableStreamAsyncIteratorPrototype,'return',{enumerable:false});function AcquireReadableStreamAsyncIterator(stream,preventCancel){if(preventCancel===void 0){preventCancel=false;}var reader=AcquireReadableStreamDefaultReader(stream);var iterator=Object.create(ReadableStreamAsyncIteratorPrototype);iterator._asyncIteratorReader=reader;iterator._preventCancel=Boolean(preventCancel);return iterator;}function IsReadableStreamAsyncIterator(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_asyncIteratorReader')){return false;}return true;}function streamAsyncIteratorBrandCheckException(name){return new TypeError(\"ReadableStreamAsyncIterator.\"+name+\" can only be used on a ReadableSteamAsyncIterator\");}function DequeueValue(container){var pair=container._queue.shift();container._queueTotalSize-=pair.size;if(container._queueTotalSize<0){container._queueTotalSize=0;}return pair.value;}function EnqueueValueWithSize(container,value,size){size=Number(size);if(!IsFiniteNonNegativeNumber(size)){throw new RangeError('Size must be a finite, non-NaN, non-negative number.');}container._queue.push({value:value,size:size});container._queueTotalSize+=size;}function PeekQueueValue(container){var pair=container._queue.peek();return pair.value;}function ResetQueue(container){container._queue=new SimpleQueue();container._queueTotalSize=0;}var AbortSteps=SymbolPolyfill('[[AbortSteps]]');var ErrorSteps=SymbolPolyfill('[[ErrorSteps]]');var WritableStream=function(){function WritableStream(underlyingSink,strategy){if(underlyingSink===void 0){underlyingSink={};}if(strategy===void 0){strategy={};}InitializeWritableStream(this);var size=strategy.size;var highWaterMark=strategy.highWaterMark;var type=underlyingSink.type;if(type!==undefined){throw new RangeError('Invalid type is specified');}var sizeAlgorithm=MakeSizeAlgorithmFromSizeFunction(size);if(highWaterMark===undefined){highWaterMark=1;}highWaterMark=ValidateAndNormalizeHighWaterMark(highWaterMark);SetUpWritableStreamDefaultControllerFromUnderlyingSink(this,underlyingSink,highWaterMark,sizeAlgorithm);}Object.defineProperty(WritableStream.prototype,\"locked\",{get:function get(){if(IsWritableStream(this)===false){throw streamBrandCheckException('locked');}return IsWritableStreamLocked(this);},enumerable:true,configurable:true});WritableStream.prototype.abort=function(reason){if(IsWritableStream(this)===false){return promiseRejectedWith(streamBrandCheckException('abort'));}if(IsWritableStreamLocked(this)===true){return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));}return WritableStreamAbort(this,reason);};WritableStream.prototype.close=function(){if(IsWritableStream(this)===false){return promiseRejectedWith(streamBrandCheckException('close'));}if(IsWritableStreamLocked(this)===true){return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));}if(WritableStreamCloseQueuedOrInFlight(this)===true){return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));}return WritableStreamClose(this);};WritableStream.prototype.getWriter=function(){if(IsWritableStream(this)===false){throw streamBrandCheckException('getWriter');}return AcquireWritableStreamDefaultWriter(this);};return WritableStream;}();function AcquireWritableStreamDefaultWriter(stream){return new WritableStreamDefaultWriter(stream);}function CreateWritableStream(startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm){if(highWaterMark===void 0){highWaterMark=1;}if(sizeAlgorithm===void 0){sizeAlgorithm=function sizeAlgorithm(){return 1;};}var stream=Object.create(WritableStream.prototype);InitializeWritableStream(stream);var controller=Object.create(WritableStreamDefaultController.prototype);SetUpWritableStreamDefaultController(stream,controller,startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm);return stream;}function InitializeWritableStream(stream){stream._state='writable';stream._storedError=undefined;stream._writer=undefined;stream._writableStreamController=undefined;stream._writeRequests=new SimpleQueue();stream._inFlightWriteRequest=undefined;stream._closeRequest=undefined;stream._inFlightCloseRequest=undefined;stream._pendingAbortRequest=undefined;stream._backpressure=false;}function IsWritableStream(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_writableStreamController')){return false;}return true;}function IsWritableStreamLocked(stream){if(stream._writer===undefined){return false;}return true;}function WritableStreamAbort(stream,reason){var state=stream._state;if(state==='closed'||state==='errored'){return promiseResolvedWith(undefined);}if(stream._pendingAbortRequest!==undefined){return stream._pendingAbortRequest._promise;}var wasAlreadyErroring=false;if(state==='erroring'){wasAlreadyErroring=true;reason=undefined;}var promise=newPromise(function(resolve,reject){stream._pendingAbortRequest={_promise:undefined,_resolve:resolve,_reject:reject,_reason:reason,_wasAlreadyErroring:wasAlreadyErroring};});stream._pendingAbortRequest._promise=promise;if(wasAlreadyErroring===false){WritableStreamStartErroring(stream,reason);}return promise;}function WritableStreamClose(stream){var state=stream._state;if(state==='closed'||state==='errored'){return promiseRejectedWith(new TypeError(\"The stream (in \"+state+\" state) is not in the writable state and cannot be closed\"));}var promise=newPromise(function(resolve,reject){var closeRequest={_resolve:resolve,_reject:reject};stream._closeRequest=closeRequest;});var writer=stream._writer;if(writer!==undefined&&stream._backpressure===true&&state==='writable'){defaultWriterReadyPromiseResolve(writer);}WritableStreamDefaultControllerClose(stream._writableStreamController);return promise;}function WritableStreamAddWriteRequest(stream){var promise=newPromise(function(resolve,reject){var writeRequest={_resolve:resolve,_reject:reject};stream._writeRequests.push(writeRequest);});return promise;}function WritableStreamDealWithRejection(stream,error){var state=stream._state;if(state==='writable'){WritableStreamStartErroring(stream,error);return;}WritableStreamFinishErroring(stream);}function WritableStreamStartErroring(stream,reason){var controller=stream._writableStreamController;stream._state='erroring';stream._storedError=reason;var writer=stream._writer;if(writer!==undefined){WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,reason);}if(WritableStreamHasOperationMarkedInFlight(stream)===false&&controller._started===true){WritableStreamFinishErroring(stream);}}function WritableStreamFinishErroring(stream){stream._state='errored';stream._writableStreamController[ErrorSteps]();var storedError=stream._storedError;stream._writeRequests.forEach(function(writeRequest){writeRequest._reject(storedError);});stream._writeRequests=new SimpleQueue();if(stream._pendingAbortRequest===undefined){WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);return;}var abortRequest=stream._pendingAbortRequest;stream._pendingAbortRequest=undefined;if(abortRequest._wasAlreadyErroring===true){abortRequest._reject(storedError);WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);return;}var promise=stream._writableStreamController[AbortSteps](abortRequest._reason);uponPromise(promise,function(){abortRequest._resolve();WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);},function(reason){abortRequest._reject(reason);WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);});}function WritableStreamFinishInFlightWrite(stream){stream._inFlightWriteRequest._resolve(undefined);stream._inFlightWriteRequest=undefined;}function WritableStreamFinishInFlightWriteWithError(stream,error){stream._inFlightWriteRequest._reject(error);stream._inFlightWriteRequest=undefined;WritableStreamDealWithRejection(stream,error);}function WritableStreamFinishInFlightClose(stream){stream._inFlightCloseRequest._resolve(undefined);stream._inFlightCloseRequest=undefined;var state=stream._state;if(state==='erroring'){stream._storedError=undefined;if(stream._pendingAbortRequest!==undefined){stream._pendingAbortRequest._resolve();stream._pendingAbortRequest=undefined;}}stream._state='closed';var writer=stream._writer;if(writer!==undefined){defaultWriterClosedPromiseResolve(writer);}}function WritableStreamFinishInFlightCloseWithError(stream,error){stream._inFlightCloseRequest._reject(error);stream._inFlightCloseRequest=undefined;if(stream._pendingAbortRequest!==undefined){stream._pendingAbortRequest._reject(error);stream._pendingAbortRequest=undefined;}WritableStreamDealWithRejection(stream,error);}function WritableStreamCloseQueuedOrInFlight(stream){if(stream._closeRequest===undefined&&stream._inFlightCloseRequest===undefined){return false;}return true;}function WritableStreamHasOperationMarkedInFlight(stream){if(stream._inFlightWriteRequest===undefined&&stream._inFlightCloseRequest===undefined){return false;}return true;}function WritableStreamMarkCloseRequestInFlight(stream){stream._inFlightCloseRequest=stream._closeRequest;stream._closeRequest=undefined;}function WritableStreamMarkFirstWriteRequestInFlight(stream){stream._inFlightWriteRequest=stream._writeRequests.shift();}function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream){if(stream._closeRequest!==undefined){stream._closeRequest._reject(stream._storedError);stream._closeRequest=undefined;}var writer=stream._writer;if(writer!==undefined){defaultWriterClosedPromiseReject(writer,stream._storedError);}}function WritableStreamUpdateBackpressure(stream,backpressure){var writer=stream._writer;if(writer!==undefined&&backpressure!==stream._backpressure){if(backpressure===true){defaultWriterReadyPromiseReset(writer);}else{defaultWriterReadyPromiseResolve(writer);}}stream._backpressure=backpressure;}var WritableStreamDefaultWriter=function(){function WritableStreamDefaultWriter(stream){if(IsWritableStream(stream)===false){throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');}if(IsWritableStreamLocked(stream)===true){throw new TypeError('This stream has already been locked for exclusive writing by another writer');}this._ownerWritableStream=stream;stream._writer=this;var state=stream._state;if(state==='writable'){if(WritableStreamCloseQueuedOrInFlight(stream)===false&&stream._backpressure===true){defaultWriterReadyPromiseInitialize(this);}else{defaultWriterReadyPromiseInitializeAsResolved(this);}defaultWriterClosedPromiseInitialize(this);}else if(state==='erroring'){defaultWriterReadyPromiseInitializeAsRejected(this,stream._storedError);defaultWriterClosedPromiseInitialize(this);}else if(state==='closed'){defaultWriterReadyPromiseInitializeAsResolved(this);defaultWriterClosedPromiseInitializeAsResolved(this);}else{var storedError=stream._storedError;defaultWriterReadyPromiseInitializeAsRejected(this,storedError);defaultWriterClosedPromiseInitializeAsRejected(this,storedError);}}Object.defineProperty(WritableStreamDefaultWriter.prototype,\"closed\",{get:function get(){if(IsWritableStreamDefaultWriter(this)===false){return promiseRejectedWith(defaultWriterBrandCheckException('closed'));}return this._closedPromise;},enumerable:true,configurable:true});Object.defineProperty(WritableStreamDefaultWriter.prototype,\"desiredSize\",{get:function get(){if(IsWritableStreamDefaultWriter(this)===false){throw defaultWriterBrandCheckException('desiredSize');}if(this._ownerWritableStream===undefined){throw defaultWriterLockException('desiredSize');}return WritableStreamDefaultWriterGetDesiredSize(this);},enumerable:true,configurable:true});Object.defineProperty(WritableStreamDefaultWriter.prototype,\"ready\",{get:function get(){if(IsWritableStreamDefaultWriter(this)===false){return promiseRejectedWith(defaultWriterBrandCheckException('ready'));}return this._readyPromise;},enumerable:true,configurable:true});WritableStreamDefaultWriter.prototype.abort=function(reason){if(IsWritableStreamDefaultWriter(this)===false){return promiseRejectedWith(defaultWriterBrandCheckException('abort'));}if(this._ownerWritableStream===undefined){return promiseRejectedWith(defaultWriterLockException('abort'));}return WritableStreamDefaultWriterAbort(this,reason);};WritableStreamDefaultWriter.prototype.close=function(){if(IsWritableStreamDefaultWriter(this)===false){return promiseRejectedWith(defaultWriterBrandCheckException('close'));}var stream=this._ownerWritableStream;if(stream===undefined){return promiseRejectedWith(defaultWriterLockException('close'));}if(WritableStreamCloseQueuedOrInFlight(stream)===true){return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));}return WritableStreamDefaultWriterClose(this);};WritableStreamDefaultWriter.prototype.releaseLock=function(){if(IsWritableStreamDefaultWriter(this)===false){throw defaultWriterBrandCheckException('releaseLock');}var stream=this._ownerWritableStream;if(stream===undefined){return;}WritableStreamDefaultWriterRelease(this);};WritableStreamDefaultWriter.prototype.write=function(chunk){if(IsWritableStreamDefaultWriter(this)===false){return promiseRejectedWith(defaultWriterBrandCheckException('write'));}if(this._ownerWritableStream===undefined){return promiseRejectedWith(defaultWriterLockException('write to'));}return WritableStreamDefaultWriterWrite(this,chunk);};return WritableStreamDefaultWriter;}();function IsWritableStreamDefaultWriter(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_ownerWritableStream')){return false;}return true;}function WritableStreamDefaultWriterAbort(writer,reason){var stream=writer._ownerWritableStream;return WritableStreamAbort(stream,reason);}function WritableStreamDefaultWriterClose(writer){var stream=writer._ownerWritableStream;return WritableStreamClose(stream);}function WritableStreamDefaultWriterCloseWithErrorPropagation(writer){var stream=writer._ownerWritableStream;var state=stream._state;if(WritableStreamCloseQueuedOrInFlight(stream)===true||state==='closed'){return promiseResolvedWith(undefined);}if(state==='errored'){return promiseRejectedWith(stream._storedError);}return WritableStreamDefaultWriterClose(writer);}function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer,error){if(writer._closedPromiseState==='pending'){defaultWriterClosedPromiseReject(writer,error);}else{defaultWriterClosedPromiseResetToRejected(writer,error);}}function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,error){if(writer._readyPromiseState==='pending'){defaultWriterReadyPromiseReject(writer,error);}else{defaultWriterReadyPromiseResetToRejected(writer,error);}}function WritableStreamDefaultWriterGetDesiredSize(writer){var stream=writer._ownerWritableStream;var state=stream._state;if(state==='errored'||state==='erroring'){return null;}if(state==='closed'){return 0;}return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);}function WritableStreamDefaultWriterRelease(writer){var stream=writer._ownerWritableStream;var releasedError=new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer,releasedError);WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer,releasedError);stream._writer=undefined;writer._ownerWritableStream=undefined;}function WritableStreamDefaultWriterWrite(writer,chunk){var stream=writer._ownerWritableStream;var controller=stream._writableStreamController;var chunkSize=WritableStreamDefaultControllerGetChunkSize(controller,chunk);if(stream!==writer._ownerWritableStream){return promiseRejectedWith(defaultWriterLockException('write to'));}var state=stream._state;if(state==='errored'){return promiseRejectedWith(stream._storedError);}if(WritableStreamCloseQueuedOrInFlight(stream)===true||state==='closed'){return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));}if(state==='erroring'){return promiseRejectedWith(stream._storedError);}var promise=WritableStreamAddWriteRequest(stream);WritableStreamDefaultControllerWrite(controller,chunk,chunkSize);return promise;}var WritableStreamDefaultController=function(){function WritableStreamDefaultController(){throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');}WritableStreamDefaultController.prototype.error=function(e){if(IsWritableStreamDefaultController(this)===false){throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');}var state=this._controlledWritableStream._state;if(state!=='writable'){return;}WritableStreamDefaultControllerError(this,e);};WritableStreamDefaultController.prototype[AbortSteps]=function(reason){var result=this._abortAlgorithm(reason);WritableStreamDefaultControllerClearAlgorithms(this);return result;};WritableStreamDefaultController.prototype[ErrorSteps]=function(){ResetQueue(this);};return WritableStreamDefaultController;}();function IsWritableStreamDefaultController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_controlledWritableStream')){return false;}return true;}function SetUpWritableStreamDefaultController(stream,controller,startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm){controller._controlledWritableStream=stream;stream._writableStreamController=controller;controller._queue=undefined;controller._queueTotalSize=undefined;ResetQueue(controller);controller._started=false;controller._strategySizeAlgorithm=sizeAlgorithm;controller._strategyHWM=highWaterMark;controller._writeAlgorithm=writeAlgorithm;controller._closeAlgorithm=closeAlgorithm;controller._abortAlgorithm=abortAlgorithm;var backpressure=WritableStreamDefaultControllerGetBackpressure(controller);WritableStreamUpdateBackpressure(stream,backpressure);var startResult=startAlgorithm();var startPromise=promiseResolvedWith(startResult);uponPromise(startPromise,function(){controller._started=true;WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);},function(r){controller._started=true;WritableStreamDealWithRejection(stream,r);});}function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream,underlyingSink,highWaterMark,sizeAlgorithm){var controller=Object.create(WritableStreamDefaultController.prototype);function startAlgorithm(){return InvokeOrNoop(underlyingSink,'start',[controller]);}var writeAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingSink,'write',1,[controller]);var closeAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingSink,'close',0,[]);var abortAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingSink,'abort',1,[]);SetUpWritableStreamDefaultController(stream,controller,startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,highWaterMark,sizeAlgorithm);}function WritableStreamDefaultControllerClearAlgorithms(controller){controller._writeAlgorithm=undefined;controller._closeAlgorithm=undefined;controller._abortAlgorithm=undefined;controller._strategySizeAlgorithm=undefined;}function WritableStreamDefaultControllerClose(controller){EnqueueValueWithSize(controller,'close',0);WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);}function WritableStreamDefaultControllerGetChunkSize(controller,chunk){try{return controller._strategySizeAlgorithm(chunk);}catch(chunkSizeE){WritableStreamDefaultControllerErrorIfNeeded(controller,chunkSizeE);return 1;}}function WritableStreamDefaultControllerGetDesiredSize(controller){return controller._strategyHWM-controller._queueTotalSize;}function WritableStreamDefaultControllerWrite(controller,chunk,chunkSize){var writeRecord={chunk:chunk};try{EnqueueValueWithSize(controller,writeRecord,chunkSize);}catch(enqueueE){WritableStreamDefaultControllerErrorIfNeeded(controller,enqueueE);return;}var stream=controller._controlledWritableStream;if(WritableStreamCloseQueuedOrInFlight(stream)===false&&stream._state==='writable'){var backpressure=WritableStreamDefaultControllerGetBackpressure(controller);WritableStreamUpdateBackpressure(stream,backpressure);}WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);}function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller){var stream=controller._controlledWritableStream;if(controller._started===false){return;}if(stream._inFlightWriteRequest!==undefined){return;}var state=stream._state;if(state==='erroring'){WritableStreamFinishErroring(stream);return;}if(controller._queue.length===0){return;}var writeRecord=PeekQueueValue(controller);if(writeRecord==='close'){WritableStreamDefaultControllerProcessClose(controller);}else{WritableStreamDefaultControllerProcessWrite(controller,writeRecord.chunk);}}function WritableStreamDefaultControllerErrorIfNeeded(controller,error){if(controller._controlledWritableStream._state==='writable'){WritableStreamDefaultControllerError(controller,error);}}function WritableStreamDefaultControllerProcessClose(controller){var stream=controller._controlledWritableStream;WritableStreamMarkCloseRequestInFlight(stream);DequeueValue(controller);var sinkClosePromise=controller._closeAlgorithm();WritableStreamDefaultControllerClearAlgorithms(controller);uponPromise(sinkClosePromise,function(){WritableStreamFinishInFlightClose(stream);},function(reason){WritableStreamFinishInFlightCloseWithError(stream,reason);});}function WritableStreamDefaultControllerProcessWrite(controller,chunk){var stream=controller._controlledWritableStream;WritableStreamMarkFirstWriteRequestInFlight(stream);var sinkWritePromise=controller._writeAlgorithm(chunk);uponPromise(sinkWritePromise,function(){WritableStreamFinishInFlightWrite(stream);var state=stream._state;DequeueValue(controller);if(WritableStreamCloseQueuedOrInFlight(stream)===false&&state==='writable'){var backpressure=WritableStreamDefaultControllerGetBackpressure(controller);WritableStreamUpdateBackpressure(stream,backpressure);}WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);},function(reason){if(stream._state==='writable'){WritableStreamDefaultControllerClearAlgorithms(controller);}WritableStreamFinishInFlightWriteWithError(stream,reason);});}function WritableStreamDefaultControllerGetBackpressure(controller){var desiredSize=WritableStreamDefaultControllerGetDesiredSize(controller);return desiredSize<=0;}function WritableStreamDefaultControllerError(controller,error){var stream=controller._controlledWritableStream;WritableStreamDefaultControllerClearAlgorithms(controller);WritableStreamStartErroring(stream,error);}function streamBrandCheckException(name){return new TypeError(\"WritableStream.prototype.\"+name+\" can only be used on a WritableStream\");}function defaultWriterBrandCheckException(name){return new TypeError(\"WritableStreamDefaultWriter.prototype.\"+name+\" can only be used on a WritableStreamDefaultWriter\");}function defaultWriterLockException(name){return new TypeError('Cannot '+name+' a stream using a released writer');}function defaultWriterClosedPromiseInitialize(writer){writer._closedPromise=newPromise(function(resolve,reject){writer._closedPromise_resolve=resolve;writer._closedPromise_reject=reject;writer._closedPromiseState='pending';});}function defaultWriterClosedPromiseInitializeAsRejected(writer,reason){defaultWriterClosedPromiseInitialize(writer);defaultWriterClosedPromiseReject(writer,reason);}function defaultWriterClosedPromiseInitializeAsResolved(writer){defaultWriterClosedPromiseInitialize(writer);defaultWriterClosedPromiseResolve(writer);}function defaultWriterClosedPromiseReject(writer,reason){setPromiseIsHandledToTrue(writer._closedPromise);writer._closedPromise_reject(reason);writer._closedPromise_resolve=undefined;writer._closedPromise_reject=undefined;writer._closedPromiseState='rejected';}function defaultWriterClosedPromiseResetToRejected(writer,reason){defaultWriterClosedPromiseInitializeAsRejected(writer,reason);}function defaultWriterClosedPromiseResolve(writer){writer._closedPromise_resolve(undefined);writer._closedPromise_resolve=undefined;writer._closedPromise_reject=undefined;writer._closedPromiseState='resolved';}function defaultWriterReadyPromiseInitialize(writer){writer._readyPromise=newPromise(function(resolve,reject){writer._readyPromise_resolve=resolve;writer._readyPromise_reject=reject;});writer._readyPromiseState='pending';}function defaultWriterReadyPromiseInitializeAsRejected(writer,reason){defaultWriterReadyPromiseInitialize(writer);defaultWriterReadyPromiseReject(writer,reason);}function defaultWriterReadyPromiseInitializeAsResolved(writer){defaultWriterReadyPromiseInitialize(writer);defaultWriterReadyPromiseResolve(writer);}function defaultWriterReadyPromiseReject(writer,reason){setPromiseIsHandledToTrue(writer._readyPromise);writer._readyPromise_reject(reason);writer._readyPromise_resolve=undefined;writer._readyPromise_reject=undefined;writer._readyPromiseState='rejected';}function defaultWriterReadyPromiseReset(writer){defaultWriterReadyPromiseInitialize(writer);}function defaultWriterReadyPromiseResetToRejected(writer,reason){defaultWriterReadyPromiseInitializeAsRejected(writer,reason);}function defaultWriterReadyPromiseResolve(writer){writer._readyPromise_resolve(undefined);writer._readyPromise_resolve=undefined;writer._readyPromise_reject=undefined;writer._readyPromiseState='fulfilled';}function isAbortSignal(value){if(_typeof2(value)!=='object'||value===null){return false;}try{return typeof value.aborted==='boolean';}catch(_a){return false;}}var NativeDOMException=typeof DOMException!=='undefined'?DOMException:undefined;function isDOMExceptionConstructor(ctor){if(!(typeof ctor==='function'||_typeof2(ctor)==='object')){return false;}try{new ctor();return true;}catch(_a){return false;}}function createDOMExceptionPolyfill(){var ctor=function DOMException(message,name){this.message=message||'';this.name=name||'Error';if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor);}};ctor.prototype=Object.create(Error.prototype);Object.defineProperty(ctor.prototype,'constructor',{value:ctor,writable:true,configurable:true});return ctor;}var DOMException$1=isDOMExceptionConstructor(NativeDOMException)?NativeDOMException:createDOMExceptionPolyfill();function ReadableStreamPipeTo(source,dest,preventClose,preventAbort,preventCancel,signal){var reader=AcquireReadableStreamDefaultReader(source);var writer=AcquireWritableStreamDefaultWriter(dest);source._disturbed=true;var shuttingDown=false;var currentWrite=promiseResolvedWith(undefined);return newPromise(function(resolve,reject){var abortAlgorithm;if(signal!==undefined){abortAlgorithm=function abortAlgorithm(){var error=new DOMException$1('Aborted','AbortError');var actions=[];if(preventAbort===false){actions.push(function(){if(dest._state==='writable'){return WritableStreamAbort(dest,error);}return promiseResolvedWith(undefined);});}if(preventCancel===false){actions.push(function(){if(source._state==='readable'){return ReadableStreamCancel(source,error);}return promiseResolvedWith(undefined);});}shutdownWithAction(function(){return Promise.all(actions.map(function(action){return action();}));},true,error);};if(signal.aborted===true){abortAlgorithm();return;}signal.addEventListener('abort',abortAlgorithm);}function pipeLoop(){return newPromise(function(resolveLoop,rejectLoop){function next(done){if(done){resolveLoop();}else{PerformPromiseThen(pipeStep(),next,rejectLoop);}}next(false);});}function pipeStep(){if(shuttingDown===true){return promiseResolvedWith(true);}return PerformPromiseThen(writer._readyPromise,function(){return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader),function(_a){var value=_a.value,done=_a.done;if(done===true){return true;}currentWrite=PerformPromiseThen(WritableStreamDefaultWriterWrite(writer,value),undefined,noop);return false;});});}isOrBecomesErrored(source,reader._closedPromise,function(storedError){if(preventAbort===false){shutdownWithAction(function(){return WritableStreamAbort(dest,storedError);},true,storedError);}else{shutdown(true,storedError);}});isOrBecomesErrored(dest,writer._closedPromise,function(storedError){if(preventCancel===false){shutdownWithAction(function(){return ReadableStreamCancel(source,storedError);},true,storedError);}else{shutdown(true,storedError);}});isOrBecomesClosed(source,reader._closedPromise,function(){if(preventClose===false){shutdownWithAction(function(){return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);});}else{shutdown();}});if(WritableStreamCloseQueuedOrInFlight(dest)===true||dest._state==='closed'){var destClosed_1=new TypeError('the destination writable stream closed before all data could be piped to it');if(preventCancel===false){shutdownWithAction(function(){return ReadableStreamCancel(source,destClosed_1);},true,destClosed_1);}else{shutdown(true,destClosed_1);}}setPromiseIsHandledToTrue(pipeLoop());function waitForWritesToFinish(){var oldCurrentWrite=currentWrite;return PerformPromiseThen(currentWrite,function(){return oldCurrentWrite!==currentWrite?waitForWritesToFinish():undefined;});}function isOrBecomesErrored(stream,promise,action){if(stream._state==='errored'){action(stream._storedError);}else{uponRejection(promise,action);}}function isOrBecomesClosed(stream,promise,action){if(stream._state==='closed'){action();}else{uponFulfillment(promise,action);}}function shutdownWithAction(action,originalIsError,originalError){if(shuttingDown===true){return;}shuttingDown=true;if(dest._state==='writable'&&WritableStreamCloseQueuedOrInFlight(dest)===false){uponFulfillment(waitForWritesToFinish(),doTheRest);}else{doTheRest();}function doTheRest(){uponPromise(action(),function(){return finalize(originalIsError,originalError);},function(newError){return finalize(true,newError);});}}function shutdown(isError,error){if(shuttingDown===true){return;}shuttingDown=true;if(dest._state==='writable'&&WritableStreamCloseQueuedOrInFlight(dest)===false){uponFulfillment(waitForWritesToFinish(),function(){return finalize(isError,error);});}else{finalize(isError,error);}}function finalize(isError,error){WritableStreamDefaultWriterRelease(writer);ReadableStreamReaderGenericRelease(reader);if(signal!==undefined){signal.removeEventListener('abort',abortAlgorithm);}if(isError){reject(error);}else{resolve(undefined);}}});}var ReadableStreamDefaultController=function(){function ReadableStreamDefaultController(){throw new TypeError();}Object.defineProperty(ReadableStreamDefaultController.prototype,\"desiredSize\",{get:function get(){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('desiredSize');}return ReadableStreamDefaultControllerGetDesiredSize(this);},enumerable:true,configurable:true});ReadableStreamDefaultController.prototype.close=function(){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('close');}if(ReadableStreamDefaultControllerCanCloseOrEnqueue(this)===false){throw new TypeError('The stream is not in a state that permits close');}ReadableStreamDefaultControllerClose(this);};ReadableStreamDefaultController.prototype.enqueue=function(chunk){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('enqueue');}if(ReadableStreamDefaultControllerCanCloseOrEnqueue(this)===false){throw new TypeError('The stream is not in a state that permits enqueue');}return ReadableStreamDefaultControllerEnqueue(this,chunk);};ReadableStreamDefaultController.prototype.error=function(e){if(IsReadableStreamDefaultController(this)===false){throw defaultControllerBrandCheckException('error');}ReadableStreamDefaultControllerError(this,e);};ReadableStreamDefaultController.prototype[CancelSteps]=function(reason){ResetQueue(this);var result=this._cancelAlgorithm(reason);ReadableStreamDefaultControllerClearAlgorithms(this);return result;};ReadableStreamDefaultController.prototype[PullSteps]=function(){var stream=this._controlledReadableStream;if(this._queue.length>0){var chunk=DequeueValue(this);if(this._closeRequested===true&&this._queue.length===0){ReadableStreamDefaultControllerClearAlgorithms(this);ReadableStreamClose(stream);}else{ReadableStreamDefaultControllerCallPullIfNeeded(this);}return promiseResolvedWith(ReadableStreamCreateReadResult(chunk,false,stream._reader._forAuthorCode));}var pendingPromise=ReadableStreamAddReadRequest(stream);ReadableStreamDefaultControllerCallPullIfNeeded(this);return pendingPromise;};return ReadableStreamDefaultController;}();function IsReadableStreamDefaultController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_controlledReadableStream')){return false;}return true;}function ReadableStreamDefaultControllerCallPullIfNeeded(controller){var shouldPull=ReadableStreamDefaultControllerShouldCallPull(controller);if(shouldPull===false){return;}if(controller._pulling===true){controller._pullAgain=true;return;}controller._pulling=true;var pullPromise=controller._pullAlgorithm();uponPromise(pullPromise,function(){controller._pulling=false;if(controller._pullAgain===true){controller._pullAgain=false;ReadableStreamDefaultControllerCallPullIfNeeded(controller);}},function(e){ReadableStreamDefaultControllerError(controller,e);});}function ReadableStreamDefaultControllerShouldCallPull(controller){var stream=controller._controlledReadableStream;if(ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)===false){return false;}if(controller._started===false){return false;}if(IsReadableStreamLocked(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){return true;}var desiredSize=ReadableStreamDefaultControllerGetDesiredSize(controller);if(desiredSize>0){return true;}return false;}function ReadableStreamDefaultControllerClearAlgorithms(controller){controller._pullAlgorithm=undefined;controller._cancelAlgorithm=undefined;controller._strategySizeAlgorithm=undefined;}function ReadableStreamDefaultControllerClose(controller){var stream=controller._controlledReadableStream;controller._closeRequested=true;if(controller._queue.length===0){ReadableStreamDefaultControllerClearAlgorithms(controller);ReadableStreamClose(stream);}}function ReadableStreamDefaultControllerEnqueue(controller,chunk){var stream=controller._controlledReadableStream;if(IsReadableStreamLocked(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){ReadableStreamFulfillReadRequest(stream,chunk,false);}else{var chunkSize=void 0;try{chunkSize=controller._strategySizeAlgorithm(chunk);}catch(chunkSizeE){ReadableStreamDefaultControllerError(controller,chunkSizeE);throw chunkSizeE;}try{EnqueueValueWithSize(controller,chunk,chunkSize);}catch(enqueueE){ReadableStreamDefaultControllerError(controller,enqueueE);throw enqueueE;}}ReadableStreamDefaultControllerCallPullIfNeeded(controller);}function ReadableStreamDefaultControllerError(controller,e){var stream=controller._controlledReadableStream;if(stream._state!=='readable'){return;}ResetQueue(controller);ReadableStreamDefaultControllerClearAlgorithms(controller);ReadableStreamError(stream,e);}function ReadableStreamDefaultControllerGetDesiredSize(controller){var stream=controller._controlledReadableStream;var state=stream._state;if(state==='errored'){return null;}if(state==='closed'){return 0;}return controller._strategyHWM-controller._queueTotalSize;}function ReadableStreamDefaultControllerHasBackpressure(controller){if(ReadableStreamDefaultControllerShouldCallPull(controller)===true){return false;}return true;}function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller){var state=controller._controlledReadableStream._state;if(controller._closeRequested===false&&state==='readable'){return true;}return false;}function SetUpReadableStreamDefaultController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm){controller._controlledReadableStream=stream;controller._queue=undefined;controller._queueTotalSize=undefined;ResetQueue(controller);controller._started=false;controller._closeRequested=false;controller._pullAgain=false;controller._pulling=false;controller._strategySizeAlgorithm=sizeAlgorithm;controller._strategyHWM=highWaterMark;controller._pullAlgorithm=pullAlgorithm;controller._cancelAlgorithm=cancelAlgorithm;stream._readableStreamController=controller;var startResult=startAlgorithm();uponPromise(promiseResolvedWith(startResult),function(){controller._started=true;ReadableStreamDefaultControllerCallPullIfNeeded(controller);},function(r){ReadableStreamDefaultControllerError(controller,r);});}function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream,underlyingSource,highWaterMark,sizeAlgorithm){var controller=Object.create(ReadableStreamDefaultController.prototype);function startAlgorithm(){return InvokeOrNoop(underlyingSource,'start',[controller]);}var pullAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingSource,'pull',0,[controller]);var cancelAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingSource,'cancel',1,[]);SetUpReadableStreamDefaultController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm);}function defaultControllerBrandCheckException(name){return new TypeError(\"ReadableStreamDefaultController.prototype.\"+name+\" can only be used on a ReadableStreamDefaultController\");}function ReadableStreamTee(stream,cloneForBranch2){var reader=AcquireReadableStreamDefaultReader(stream);var reading=false;var canceled1=false;var canceled2=false;var reason1;var reason2;var branch1;var branch2;var resolveCancelPromise;var cancelPromise=newPromise(function(resolve){resolveCancelPromise=resolve;});function pullAlgorithm(){if(reading===true){return promiseResolvedWith(undefined);}reading=true;var readPromise=transformPromiseWith(ReadableStreamDefaultReaderRead(reader),function(result){reading=false;var done=result.done;if(done===true){if(canceled1===false){ReadableStreamDefaultControllerClose(branch1._readableStreamController);}if(canceled2===false){ReadableStreamDefaultControllerClose(branch2._readableStreamController);}return;}var value=result.value;var value1=value;var value2=value;if(canceled1===false){ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController,value1);}if(canceled2===false){ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController,value2);}});setPromiseIsHandledToTrue(readPromise);return promiseResolvedWith(undefined);}function cancel1Algorithm(reason){canceled1=true;reason1=reason;if(canceled2===true){var compositeReason=createArrayFromList([reason1,reason2]);var cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult);}return cancelPromise;}function cancel2Algorithm(reason){canceled2=true;reason2=reason;if(canceled1===true){var compositeReason=createArrayFromList([reason1,reason2]);var cancelResult=ReadableStreamCancel(stream,compositeReason);resolveCancelPromise(cancelResult);}return cancelPromise;}function startAlgorithm(){}branch1=CreateReadableStream(startAlgorithm,pullAlgorithm,cancel1Algorithm);branch2=CreateReadableStream(startAlgorithm,pullAlgorithm,cancel2Algorithm);uponRejection(reader._closedPromise,function(r){ReadableStreamDefaultControllerError(branch1._readableStreamController,r);ReadableStreamDefaultControllerError(branch2._readableStreamController,r);});return[branch1,branch2];}var NumberIsInteger=Number.isInteger||function(value){return typeof value==='number'&&isFinite(value)&&Math.floor(value)===value;};var ReadableStreamBYOBRequest=function(){function ReadableStreamBYOBRequest(){throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');}Object.defineProperty(ReadableStreamBYOBRequest.prototype,\"view\",{get:function get(){if(IsReadableStreamBYOBRequest(this)===false){throw byobRequestBrandCheckException('view');}return this._view;},enumerable:true,configurable:true});ReadableStreamBYOBRequest.prototype.respond=function(bytesWritten){if(IsReadableStreamBYOBRequest(this)===false){throw byobRequestBrandCheckException('respond');}if(this._associatedReadableByteStreamController===undefined){throw new TypeError('This BYOB request has been invalidated');}if(IsDetachedBuffer(this._view.buffer)===true);ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController,bytesWritten);};ReadableStreamBYOBRequest.prototype.respondWithNewView=function(view){if(IsReadableStreamBYOBRequest(this)===false){throw byobRequestBrandCheckException('respond');}if(this._associatedReadableByteStreamController===undefined){throw new TypeError('This BYOB request has been invalidated');}if(!ArrayBuffer.isView(view)){throw new TypeError('You can only respond with array buffer views');}if(IsDetachedBuffer(view.buffer)===true);ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController,view);};return ReadableStreamBYOBRequest;}();var ReadableByteStreamController=function(){function ReadableByteStreamController(){throw new TypeError('ReadableByteStreamController constructor cannot be used directly');}Object.defineProperty(ReadableByteStreamController.prototype,\"byobRequest\",{get:function get(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('byobRequest');}if(this._byobRequest===undefined&&this._pendingPullIntos.length>0){var firstDescriptor=this._pendingPullIntos.peek();var view=new Uint8Array(firstDescriptor.buffer,firstDescriptor.byteOffset+firstDescriptor.bytesFilled,firstDescriptor.byteLength-firstDescriptor.bytesFilled);var byobRequest=Object.create(ReadableStreamBYOBRequest.prototype);SetUpReadableStreamBYOBRequest(byobRequest,this,view);this._byobRequest=byobRequest;}return this._byobRequest;},enumerable:true,configurable:true});Object.defineProperty(ReadableByteStreamController.prototype,\"desiredSize\",{get:function get(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('desiredSize');}return ReadableByteStreamControllerGetDesiredSize(this);},enumerable:true,configurable:true});ReadableByteStreamController.prototype.close=function(){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('close');}if(this._closeRequested===true){throw new TypeError('The stream has already been closed; do not close it again!');}var state=this._controlledReadableByteStream._state;if(state!=='readable'){throw new TypeError(\"The stream (in \"+state+\" state) is not in the readable state and cannot be closed\");}ReadableByteStreamControllerClose(this);};ReadableByteStreamController.prototype.enqueue=function(chunk){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('enqueue');}if(this._closeRequested===true){throw new TypeError('stream is closed or draining');}var state=this._controlledReadableByteStream._state;if(state!=='readable'){throw new TypeError(\"The stream (in \"+state+\" state) is not in the readable state and cannot be enqueued to\");}if(!ArrayBuffer.isView(chunk)){throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');}if(IsDetachedBuffer(chunk.buffer)===true);ReadableByteStreamControllerEnqueue(this,chunk);};ReadableByteStreamController.prototype.error=function(e){if(IsReadableByteStreamController(this)===false){throw byteStreamControllerBrandCheckException('error');}ReadableByteStreamControllerError(this,e);};ReadableByteStreamController.prototype[CancelSteps]=function(reason){if(this._pendingPullIntos.length>0){var firstDescriptor=this._pendingPullIntos.peek();firstDescriptor.bytesFilled=0;}ResetQueue(this);var result=this._cancelAlgorithm(reason);ReadableByteStreamControllerClearAlgorithms(this);return result;};ReadableByteStreamController.prototype[PullSteps]=function(){var stream=this._controlledReadableByteStream;if(this._queueTotalSize>0){var entry=this._queue.shift();this._queueTotalSize-=entry.byteLength;ReadableByteStreamControllerHandleQueueDrain(this);var view=void 0;try{view=new Uint8Array(entry.buffer,entry.byteOffset,entry.byteLength);}catch(viewE){return promiseRejectedWith(viewE);}return promiseResolvedWith(ReadableStreamCreateReadResult(view,false,stream._reader._forAuthorCode));}var autoAllocateChunkSize=this._autoAllocateChunkSize;if(autoAllocateChunkSize!==undefined){var buffer=void 0;try{buffer=new ArrayBuffer(autoAllocateChunkSize);}catch(bufferE){return promiseRejectedWith(bufferE);}var pullIntoDescriptor={buffer:buffer,byteOffset:0,byteLength:autoAllocateChunkSize,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:'default'};this._pendingPullIntos.push(pullIntoDescriptor);}var promise=ReadableStreamAddReadRequest(stream);ReadableByteStreamControllerCallPullIfNeeded(this);return promise;};return ReadableByteStreamController;}();function IsReadableByteStreamController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_controlledReadableByteStream')){return false;}return true;}function IsReadableStreamBYOBRequest(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_associatedReadableByteStreamController')){return false;}return true;}function ReadableByteStreamControllerCallPullIfNeeded(controller){var shouldPull=ReadableByteStreamControllerShouldCallPull(controller);if(shouldPull===false){return;}if(controller._pulling===true){controller._pullAgain=true;return;}controller._pulling=true;var pullPromise=controller._pullAlgorithm();uponPromise(pullPromise,function(){controller._pulling=false;if(controller._pullAgain===true){controller._pullAgain=false;ReadableByteStreamControllerCallPullIfNeeded(controller);}},function(e){ReadableByteStreamControllerError(controller,e);});}function ReadableByteStreamControllerClearPendingPullIntos(controller){ReadableByteStreamControllerInvalidateBYOBRequest(controller);controller._pendingPullIntos=new SimpleQueue();}function ReadableByteStreamControllerCommitPullIntoDescriptor(stream,pullIntoDescriptor){var done=false;if(stream._state==='closed'){done=true;}var filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);if(pullIntoDescriptor.readerType==='default'){ReadableStreamFulfillReadRequest(stream,filledView,done);}else{ReadableStreamFulfillReadIntoRequest(stream,filledView,done);}}function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor){var bytesFilled=pullIntoDescriptor.bytesFilled;var elementSize=pullIntoDescriptor.elementSize;return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,bytesFilled/elementSize);}function ReadableByteStreamControllerEnqueueChunkToQueue(controller,buffer,byteOffset,byteLength){controller._queue.push({buffer:buffer,byteOffset:byteOffset,byteLength:byteLength});controller._queueTotalSize+=byteLength;}function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor){var elementSize=pullIntoDescriptor.elementSize;var currentAlignedBytes=pullIntoDescriptor.bytesFilled-pullIntoDescriptor.bytesFilled%elementSize;var maxBytesToCopy=Math.min(controller._queueTotalSize,pullIntoDescriptor.byteLength-pullIntoDescriptor.bytesFilled);var maxBytesFilled=pullIntoDescriptor.bytesFilled+maxBytesToCopy;var maxAlignedBytes=maxBytesFilled-maxBytesFilled%elementSize;var totalBytesToCopyRemaining=maxBytesToCopy;var ready=false;if(maxAlignedBytes>currentAlignedBytes){totalBytesToCopyRemaining=maxAlignedBytes-pullIntoDescriptor.bytesFilled;ready=true;}var queue=controller._queue;while(totalBytesToCopyRemaining>0){var headOfQueue=queue.peek();var bytesToCopy=Math.min(totalBytesToCopyRemaining,headOfQueue.byteLength);var destStart=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;ArrayBufferCopy(pullIntoDescriptor.buffer,destStart,headOfQueue.buffer,headOfQueue.byteOffset,bytesToCopy);if(headOfQueue.byteLength===bytesToCopy){queue.shift();}else{headOfQueue.byteOffset+=bytesToCopy;headOfQueue.byteLength-=bytesToCopy;}controller._queueTotalSize-=bytesToCopy;ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,bytesToCopy,pullIntoDescriptor);totalBytesToCopyRemaining-=bytesToCopy;}return ready;}function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,size,pullIntoDescriptor){ReadableByteStreamControllerInvalidateBYOBRequest(controller);pullIntoDescriptor.bytesFilled+=size;}function ReadableByteStreamControllerHandleQueueDrain(controller){if(controller._queueTotalSize===0&&controller._closeRequested===true){ReadableByteStreamControllerClearAlgorithms(controller);ReadableStreamClose(controller._controlledReadableByteStream);}else{ReadableByteStreamControllerCallPullIfNeeded(controller);}}function ReadableByteStreamControllerInvalidateBYOBRequest(controller){if(controller._byobRequest===undefined){return;}controller._byobRequest._associatedReadableByteStreamController=undefined;controller._byobRequest._view=undefined;controller._byobRequest=undefined;}function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller){while(controller._pendingPullIntos.length>0){if(controller._queueTotalSize===0){return;}var pullIntoDescriptor=controller._pendingPullIntos.peek();if(ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)===true){ReadableByteStreamControllerShiftPendingPullInto(controller);ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream,pullIntoDescriptor);}}}function ReadableByteStreamControllerPullInto(controller,view){var stream=controller._controlledReadableByteStream;var elementSize=1;if(view.constructor!==DataView){elementSize=view.constructor.BYTES_PER_ELEMENT;}var ctor=view.constructor;var buffer=TransferArrayBuffer(view.buffer);var pullIntoDescriptor={buffer:buffer,byteOffset:view.byteOffset,byteLength:view.byteLength,bytesFilled:0,elementSize:elementSize,ctor:ctor,readerType:'byob'};if(controller._pendingPullIntos.length>0){controller._pendingPullIntos.push(pullIntoDescriptor);return ReadableStreamAddReadIntoRequest(stream);}if(stream._state==='closed'){var emptyView=new ctor(pullIntoDescriptor.buffer,pullIntoDescriptor.byteOffset,0);return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView,true,stream._reader._forAuthorCode));}if(controller._queueTotalSize>0){if(ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller,pullIntoDescriptor)===true){var filledView=ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);ReadableByteStreamControllerHandleQueueDrain(controller);return promiseResolvedWith(ReadableStreamCreateReadResult(filledView,false,stream._reader._forAuthorCode));}if(controller._closeRequested===true){var e=new TypeError('Insufficient bytes to fill elements in the given buffer');ReadableByteStreamControllerError(controller,e);return promiseRejectedWith(e);}}controller._pendingPullIntos.push(pullIntoDescriptor);var promise=ReadableStreamAddReadIntoRequest(stream);ReadableByteStreamControllerCallPullIfNeeded(controller);return promise;}function ReadableByteStreamControllerRespondInClosedState(controller,firstDescriptor){firstDescriptor.buffer=TransferArrayBuffer(firstDescriptor.buffer);var stream=controller._controlledReadableByteStream;if(ReadableStreamHasBYOBReader(stream)===true){while(ReadableStreamGetNumReadIntoRequests(stream)>0){var pullIntoDescriptor=ReadableByteStreamControllerShiftPendingPullInto(controller);ReadableByteStreamControllerCommitPullIntoDescriptor(stream,pullIntoDescriptor);}}}function ReadableByteStreamControllerRespondInReadableState(controller,bytesWritten,pullIntoDescriptor){if(pullIntoDescriptor.bytesFilled+bytesWritten>pullIntoDescriptor.byteLength){throw new RangeError('bytesWritten out of range');}ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller,bytesWritten,pullIntoDescriptor);if(pullIntoDescriptor.bytesFilled<pullIntoDescriptor.elementSize){return;}ReadableByteStreamControllerShiftPendingPullInto(controller);var remainderSize=pullIntoDescriptor.bytesFilled%pullIntoDescriptor.elementSize;if(remainderSize>0){var end=pullIntoDescriptor.byteOffset+pullIntoDescriptor.bytesFilled;var remainder=pullIntoDescriptor.buffer.slice(end-remainderSize,end);ReadableByteStreamControllerEnqueueChunkToQueue(controller,remainder,0,remainder.byteLength);}pullIntoDescriptor.buffer=TransferArrayBuffer(pullIntoDescriptor.buffer);pullIntoDescriptor.bytesFilled-=remainderSize;ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream,pullIntoDescriptor);ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);}function ReadableByteStreamControllerRespondInternal(controller,bytesWritten){var firstDescriptor=controller._pendingPullIntos.peek();var stream=controller._controlledReadableByteStream;if(stream._state==='closed'){if(bytesWritten!==0){throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');}ReadableByteStreamControllerRespondInClosedState(controller,firstDescriptor);}else{ReadableByteStreamControllerRespondInReadableState(controller,bytesWritten,firstDescriptor);}ReadableByteStreamControllerCallPullIfNeeded(controller);}function ReadableByteStreamControllerShiftPendingPullInto(controller){var descriptor=controller._pendingPullIntos.shift();ReadableByteStreamControllerInvalidateBYOBRequest(controller);return descriptor;}function ReadableByteStreamControllerShouldCallPull(controller){var stream=controller._controlledReadableByteStream;if(stream._state!=='readable'){return false;}if(controller._closeRequested===true){return false;}if(controller._started===false){return false;}if(ReadableStreamHasDefaultReader(stream)===true&&ReadableStreamGetNumReadRequests(stream)>0){return true;}if(ReadableStreamHasBYOBReader(stream)===true&&ReadableStreamGetNumReadIntoRequests(stream)>0){return true;}var desiredSize=ReadableByteStreamControllerGetDesiredSize(controller);if(desiredSize>0){return true;}return false;}function ReadableByteStreamControllerClearAlgorithms(controller){controller._pullAlgorithm=undefined;controller._cancelAlgorithm=undefined;}function ReadableByteStreamControllerClose(controller){var stream=controller._controlledReadableByteStream;if(controller._queueTotalSize>0){controller._closeRequested=true;return;}if(controller._pendingPullIntos.length>0){var firstPendingPullInto=controller._pendingPullIntos.peek();if(firstPendingPullInto.bytesFilled>0){var e=new TypeError('Insufficient bytes to fill elements in the given buffer');ReadableByteStreamControllerError(controller,e);throw e;}}ReadableByteStreamControllerClearAlgorithms(controller);ReadableStreamClose(stream);}function ReadableByteStreamControllerEnqueue(controller,chunk){var stream=controller._controlledReadableByteStream;var buffer=chunk.buffer;var byteOffset=chunk.byteOffset;var byteLength=chunk.byteLength;var transferredBuffer=TransferArrayBuffer(buffer);if(ReadableStreamHasDefaultReader(stream)===true){if(ReadableStreamGetNumReadRequests(stream)===0){ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);}else{var transferredView=new Uint8Array(transferredBuffer,byteOffset,byteLength);ReadableStreamFulfillReadRequest(stream,transferredView,false);}}else if(ReadableStreamHasBYOBReader(stream)===true){ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);}else{ReadableByteStreamControllerEnqueueChunkToQueue(controller,transferredBuffer,byteOffset,byteLength);}ReadableByteStreamControllerCallPullIfNeeded(controller);}function ReadableByteStreamControllerError(controller,e){var stream=controller._controlledReadableByteStream;if(stream._state!=='readable'){return;}ReadableByteStreamControllerClearPendingPullIntos(controller);ResetQueue(controller);ReadableByteStreamControllerClearAlgorithms(controller);ReadableStreamError(stream,e);}function ReadableByteStreamControllerGetDesiredSize(controller){var stream=controller._controlledReadableByteStream;var state=stream._state;if(state==='errored'){return null;}if(state==='closed'){return 0;}return controller._strategyHWM-controller._queueTotalSize;}function ReadableByteStreamControllerRespond(controller,bytesWritten){bytesWritten=Number(bytesWritten);if(IsFiniteNonNegativeNumber(bytesWritten)===false){throw new RangeError('bytesWritten must be a finite');}ReadableByteStreamControllerRespondInternal(controller,bytesWritten);}function ReadableByteStreamControllerRespondWithNewView(controller,view){var firstDescriptor=controller._pendingPullIntos.peek();if(firstDescriptor.byteOffset+firstDescriptor.bytesFilled!==view.byteOffset){throw new RangeError('The region specified by view does not match byobRequest');}if(firstDescriptor.byteLength!==view.byteLength){throw new RangeError('The buffer of view has different capacity than byobRequest');}firstDescriptor.buffer=view.buffer;ReadableByteStreamControllerRespondInternal(controller,view.byteLength);}function SetUpReadableByteStreamController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,autoAllocateChunkSize){controller._controlledReadableByteStream=stream;controller._pullAgain=false;controller._pulling=false;controller._byobRequest=undefined;controller._queue=controller._queueTotalSize=undefined;ResetQueue(controller);controller._closeRequested=false;controller._started=false;controller._strategyHWM=ValidateAndNormalizeHighWaterMark(highWaterMark);controller._pullAlgorithm=pullAlgorithm;controller._cancelAlgorithm=cancelAlgorithm;controller._autoAllocateChunkSize=autoAllocateChunkSize;controller._pendingPullIntos=new SimpleQueue();stream._readableStreamController=controller;var startResult=startAlgorithm();uponPromise(promiseResolvedWith(startResult),function(){controller._started=true;ReadableByteStreamControllerCallPullIfNeeded(controller);},function(r){ReadableByteStreamControllerError(controller,r);});}function SetUpReadableByteStreamControllerFromUnderlyingSource(stream,underlyingByteSource,highWaterMark){var controller=Object.create(ReadableByteStreamController.prototype);function startAlgorithm(){return InvokeOrNoop(underlyingByteSource,'start',[controller]);}var pullAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingByteSource,'pull',0,[controller]);var cancelAlgorithm=CreateAlgorithmFromUnderlyingMethod(underlyingByteSource,'cancel',1,[]);var autoAllocateChunkSize=underlyingByteSource.autoAllocateChunkSize;if(autoAllocateChunkSize!==undefined){autoAllocateChunkSize=Number(autoAllocateChunkSize);if(NumberIsInteger(autoAllocateChunkSize)===false||autoAllocateChunkSize<=0){throw new RangeError('autoAllocateChunkSize must be a positive integer');}}SetUpReadableByteStreamController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,autoAllocateChunkSize);}function SetUpReadableStreamBYOBRequest(request,controller,view){request._associatedReadableByteStreamController=controller;request._view=view;}function byobRequestBrandCheckException(name){return new TypeError(\"ReadableStreamBYOBRequest.prototype.\"+name+\" can only be used on a ReadableStreamBYOBRequest\");}function byteStreamControllerBrandCheckException(name){return new TypeError(\"ReadableByteStreamController.prototype.\"+name+\" can only be used on a ReadableByteStreamController\");}function AcquireReadableStreamBYOBReader(stream,forAuthorCode){if(forAuthorCode===void 0){forAuthorCode=false;}var reader=new ReadableStreamBYOBReader(stream);reader._forAuthorCode=forAuthorCode;return reader;}function ReadableStreamAddReadIntoRequest(stream){var promise=newPromise(function(resolve,reject){var readIntoRequest={_resolve:resolve,_reject:reject};stream._reader._readIntoRequests.push(readIntoRequest);});return promise;}function ReadableStreamFulfillReadIntoRequest(stream,chunk,done){var reader=stream._reader;var readIntoRequest=reader._readIntoRequests.shift();readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk,done,reader._forAuthorCode));}function ReadableStreamGetNumReadIntoRequests(stream){return stream._reader._readIntoRequests.length;}function ReadableStreamHasBYOBReader(stream){var reader=stream._reader;if(reader===undefined){return false;}if(!IsReadableStreamBYOBReader(reader)){return false;}return true;}var ReadableStreamBYOBReader=function(){function ReadableStreamBYOBReader(stream){if(!IsReadableStream(stream)){throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a '+'byte source');}if(IsReadableByteStreamController(stream._readableStreamController)===false){throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte '+'source');}if(IsReadableStreamLocked(stream)){throw new TypeError('This stream has already been locked for exclusive reading by another reader');}ReadableStreamReaderGenericInitialize(this,stream);this._readIntoRequests=new SimpleQueue();}Object.defineProperty(ReadableStreamBYOBReader.prototype,\"closed\",{get:function get(){if(!IsReadableStreamBYOBReader(this)){return promiseRejectedWith(byobReaderBrandCheckException('closed'));}return this._closedPromise;},enumerable:true,configurable:true});ReadableStreamBYOBReader.prototype.cancel=function(reason){if(!IsReadableStreamBYOBReader(this)){return promiseRejectedWith(byobReaderBrandCheckException('cancel'));}if(this._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('cancel'));}return ReadableStreamReaderGenericCancel(this,reason);};ReadableStreamBYOBReader.prototype.read=function(view){if(!IsReadableStreamBYOBReader(this)){return promiseRejectedWith(byobReaderBrandCheckException('read'));}if(this._ownerReadableStream===undefined){return promiseRejectedWith(readerLockException('read from'));}if(!ArrayBuffer.isView(view)){return promiseRejectedWith(new TypeError('view must be an array buffer view'));}if(IsDetachedBuffer(view.buffer)===true);if(view.byteLength===0){return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));}return ReadableStreamBYOBReaderRead(this,view);};ReadableStreamBYOBReader.prototype.releaseLock=function(){if(!IsReadableStreamBYOBReader(this)){throw byobReaderBrandCheckException('releaseLock');}if(this._ownerReadableStream===undefined){return;}if(this._readIntoRequests.length>0){throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');}ReadableStreamReaderGenericRelease(this);};return ReadableStreamBYOBReader;}();function IsReadableStreamBYOBReader(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_readIntoRequests')){return false;}return true;}function ReadableStreamBYOBReaderRead(reader,view){var stream=reader._ownerReadableStream;stream._disturbed=true;if(stream._state==='errored'){return promiseRejectedWith(stream._storedError);}return ReadableByteStreamControllerPullInto(stream._readableStreamController,view);}function byobReaderBrandCheckException(name){return new TypeError(\"ReadableStreamBYOBReader.prototype.\"+name+\" can only be used on a ReadableStreamBYOBReader\");}var ReadableStream=function(){function ReadableStream(underlyingSource,strategy){if(underlyingSource===void 0){underlyingSource={};}if(strategy===void 0){strategy={};}InitializeReadableStream(this);var size=strategy.size;var highWaterMark=strategy.highWaterMark;var type=underlyingSource.type;var typeString=String(type);if(typeString==='bytes'){if(size!==undefined){throw new RangeError('The strategy for a byte stream cannot have a size function');}if(highWaterMark===undefined){highWaterMark=0;}highWaterMark=ValidateAndNormalizeHighWaterMark(highWaterMark);SetUpReadableByteStreamControllerFromUnderlyingSource(this,underlyingSource,highWaterMark);}else if(type===undefined){var sizeAlgorithm=MakeSizeAlgorithmFromSizeFunction(size);if(highWaterMark===undefined){highWaterMark=1;}highWaterMark=ValidateAndNormalizeHighWaterMark(highWaterMark);SetUpReadableStreamDefaultControllerFromUnderlyingSource(this,underlyingSource,highWaterMark,sizeAlgorithm);}else{throw new RangeError('Invalid type is specified');}}Object.defineProperty(ReadableStream.prototype,\"locked\",{get:function get(){if(IsReadableStream(this)===false){throw streamBrandCheckException$1('locked');}return IsReadableStreamLocked(this);},enumerable:true,configurable:true});ReadableStream.prototype.cancel=function(reason){if(IsReadableStream(this)===false){return promiseRejectedWith(streamBrandCheckException$1('cancel'));}if(IsReadableStreamLocked(this)===true){return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));}return ReadableStreamCancel(this,reason);};ReadableStream.prototype.getReader=function(_a){var mode=(_a===void 0?{}:_a).mode;if(IsReadableStream(this)===false){throw streamBrandCheckException$1('getReader');}if(mode===undefined){return AcquireReadableStreamDefaultReader(this,true);}mode=String(mode);if(mode==='byob'){return AcquireReadableStreamBYOBReader(this,true);}throw new RangeError('Invalid mode is specified');};ReadableStream.prototype.pipeThrough=function(_a,_b){var writable=_a.writable,readable=_a.readable;var _c=_b===void 0?{}:_b,preventClose=_c.preventClose,preventAbort=_c.preventAbort,preventCancel=_c.preventCancel,signal=_c.signal;if(IsReadableStream(this)===false){throw streamBrandCheckException$1('pipeThrough');}if(IsWritableStream(writable)===false){throw new TypeError('writable argument to pipeThrough must be a WritableStream');}if(IsReadableStream(readable)===false){throw new TypeError('readable argument to pipeThrough must be a ReadableStream');}preventClose=Boolean(preventClose);preventAbort=Boolean(preventAbort);preventCancel=Boolean(preventCancel);if(signal!==undefined&&!isAbortSignal(signal)){throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');}if(IsReadableStreamLocked(this)===true){throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');}if(IsWritableStreamLocked(writable)===true){throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');}var promise=ReadableStreamPipeTo(this,writable,preventClose,preventAbort,preventCancel,signal);setPromiseIsHandledToTrue(promise);return readable;};ReadableStream.prototype.pipeTo=function(dest,_a){var _b=_a===void 0?{}:_a,preventClose=_b.preventClose,preventAbort=_b.preventAbort,preventCancel=_b.preventCancel,signal=_b.signal;if(IsReadableStream(this)===false){return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));}if(IsWritableStream(dest)===false){return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));}preventClose=Boolean(preventClose);preventAbort=Boolean(preventAbort);preventCancel=Boolean(preventCancel);if(signal!==undefined&&!isAbortSignal(signal)){return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));}if(IsReadableStreamLocked(this)===true){return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));}if(IsWritableStreamLocked(dest)===true){return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));}return ReadableStreamPipeTo(this,dest,preventClose,preventAbort,preventCancel,signal);};ReadableStream.prototype.tee=function(){if(IsReadableStream(this)===false){throw streamBrandCheckException$1('tee');}var branches=ReadableStreamTee(this);return createArrayFromList(branches);};ReadableStream.prototype.getIterator=function(_a){var _b=(_a===void 0?{}:_a).preventCancel,preventCancel=_b===void 0?false:_b;if(IsReadableStream(this)===false){throw streamBrandCheckException$1('getIterator');}return AcquireReadableStreamAsyncIterator(this,preventCancel);};return ReadableStream;}();if(_typeof2(SymbolPolyfill.asyncIterator)==='symbol'){Object.defineProperty(ReadableStream.prototype,SymbolPolyfill.asyncIterator,{value:ReadableStream.prototype.getIterator,enumerable:false,writable:true,configurable:true});}function CreateReadableStream(startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm){if(highWaterMark===void 0){highWaterMark=1;}if(sizeAlgorithm===void 0){sizeAlgorithm=function sizeAlgorithm(){return 1;};}var stream=Object.create(ReadableStream.prototype);InitializeReadableStream(stream);var controller=Object.create(ReadableStreamDefaultController.prototype);SetUpReadableStreamDefaultController(stream,controller,startAlgorithm,pullAlgorithm,cancelAlgorithm,highWaterMark,sizeAlgorithm);return stream;}function InitializeReadableStream(stream){stream._state='readable';stream._reader=undefined;stream._storedError=undefined;stream._disturbed=false;}function IsReadableStream(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_readableStreamController')){return false;}return true;}function IsReadableStreamLocked(stream){if(stream._reader===undefined){return false;}return true;}function ReadableStreamCancel(stream,reason){stream._disturbed=true;if(stream._state==='closed'){return promiseResolvedWith(undefined);}if(stream._state==='errored'){return promiseRejectedWith(stream._storedError);}ReadableStreamClose(stream);var sourceCancelPromise=stream._readableStreamController[CancelSteps](reason);return transformPromiseWith(sourceCancelPromise,noop);}function ReadableStreamClose(stream){stream._state='closed';var reader=stream._reader;if(reader===undefined){return;}if(IsReadableStreamDefaultReader(reader)){reader._readRequests.forEach(function(readRequest){readRequest._resolve(ReadableStreamCreateReadResult(undefined,true,reader._forAuthorCode));});reader._readRequests=new SimpleQueue();}defaultReaderClosedPromiseResolve(reader);}function ReadableStreamError(stream,e){stream._state='errored';stream._storedError=e;var reader=stream._reader;if(reader===undefined){return;}if(IsReadableStreamDefaultReader(reader)){reader._readRequests.forEach(function(readRequest){readRequest._reject(e);});reader._readRequests=new SimpleQueue();}else{reader._readIntoRequests.forEach(function(readIntoRequest){readIntoRequest._reject(e);});reader._readIntoRequests=new SimpleQueue();}defaultReaderClosedPromiseReject(reader,e);}function streamBrandCheckException$1(name){return new TypeError(\"ReadableStream.prototype.\"+name+\" can only be used on a ReadableStream\");}var ByteLengthQueuingStrategy=function(){function ByteLengthQueuingStrategy(_a){var highWaterMark=_a.highWaterMark;this.highWaterMark=highWaterMark;}ByteLengthQueuingStrategy.prototype.size=function(chunk){return chunk.byteLength;};return ByteLengthQueuingStrategy;}();var CountQueuingStrategy=function(){function CountQueuingStrategy(_a){var highWaterMark=_a.highWaterMark;this.highWaterMark=highWaterMark;}CountQueuingStrategy.prototype.size=function(){return 1;};return CountQueuingStrategy;}();var TransformStream=function(){function TransformStream(transformer,writableStrategy,readableStrategy){if(transformer===void 0){transformer={};}if(writableStrategy===void 0){writableStrategy={};}if(readableStrategy===void 0){readableStrategy={};}var writableSizeFunction=writableStrategy.size;var writableHighWaterMark=writableStrategy.highWaterMark;var readableSizeFunction=readableStrategy.size;var readableHighWaterMark=readableStrategy.highWaterMark;var writableType=transformer.writableType;if(writableType!==undefined){throw new RangeError('Invalid writable type specified');}var writableSizeAlgorithm=MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);if(writableHighWaterMark===undefined){writableHighWaterMark=1;}writableHighWaterMark=ValidateAndNormalizeHighWaterMark(writableHighWaterMark);var readableType=transformer.readableType;if(readableType!==undefined){throw new RangeError('Invalid readable type specified');}var readableSizeAlgorithm=MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);if(readableHighWaterMark===undefined){readableHighWaterMark=0;}readableHighWaterMark=ValidateAndNormalizeHighWaterMark(readableHighWaterMark);var startPromise_resolve;var startPromise=newPromise(function(resolve){startPromise_resolve=resolve;});InitializeTransformStream(this,startPromise,writableHighWaterMark,writableSizeAlgorithm,readableHighWaterMark,readableSizeAlgorithm);SetUpTransformStreamDefaultControllerFromTransformer(this,transformer);var startResult=InvokeOrNoop(transformer,'start',[this._transformStreamController]);startPromise_resolve(startResult);}Object.defineProperty(TransformStream.prototype,\"readable\",{get:function get(){if(IsTransformStream(this)===false){throw streamBrandCheckException$2('readable');}return this._readable;},enumerable:true,configurable:true});Object.defineProperty(TransformStream.prototype,\"writable\",{get:function get(){if(IsTransformStream(this)===false){throw streamBrandCheckException$2('writable');}return this._writable;},enumerable:true,configurable:true});return TransformStream;}();function InitializeTransformStream(stream,startPromise,writableHighWaterMark,writableSizeAlgorithm,readableHighWaterMark,readableSizeAlgorithm){function startAlgorithm(){return startPromise;}function writeAlgorithm(chunk){return TransformStreamDefaultSinkWriteAlgorithm(stream,chunk);}function abortAlgorithm(reason){return TransformStreamDefaultSinkAbortAlgorithm(stream,reason);}function closeAlgorithm(){return TransformStreamDefaultSinkCloseAlgorithm(stream);}stream._writable=CreateWritableStream(startAlgorithm,writeAlgorithm,closeAlgorithm,abortAlgorithm,writableHighWaterMark,writableSizeAlgorithm);function pullAlgorithm(){return TransformStreamDefaultSourcePullAlgorithm(stream);}function cancelAlgorithm(reason){TransformStreamErrorWritableAndUnblockWrite(stream,reason);return promiseResolvedWith(undefined);}stream._readable=CreateReadableStream(startAlgorithm,pullAlgorithm,cancelAlgorithm,readableHighWaterMark,readableSizeAlgorithm);stream._backpressure=undefined;stream._backpressureChangePromise=undefined;stream._backpressureChangePromise_resolve=undefined;TransformStreamSetBackpressure(stream,true);stream._transformStreamController=undefined;}function IsTransformStream(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_transformStreamController')){return false;}return true;}function TransformStreamError(stream,e){ReadableStreamDefaultControllerError(stream._readable._readableStreamController,e);TransformStreamErrorWritableAndUnblockWrite(stream,e);}function TransformStreamErrorWritableAndUnblockWrite(stream,e){TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController,e);if(stream._backpressure===true){TransformStreamSetBackpressure(stream,false);}}function TransformStreamSetBackpressure(stream,backpressure){if(stream._backpressureChangePromise!==undefined){stream._backpressureChangePromise_resolve();}stream._backpressureChangePromise=newPromise(function(resolve){stream._backpressureChangePromise_resolve=resolve;});stream._backpressure=backpressure;}var TransformStreamDefaultController=function(){function TransformStreamDefaultController(){throw new TypeError('TransformStreamDefaultController instances cannot be created directly');}Object.defineProperty(TransformStreamDefaultController.prototype,\"desiredSize\",{get:function get(){if(IsTransformStreamDefaultController(this)===false){throw defaultControllerBrandCheckException$1('desiredSize');}var readableController=this._controlledTransformStream._readable._readableStreamController;return ReadableStreamDefaultControllerGetDesiredSize(readableController);},enumerable:true,configurable:true});TransformStreamDefaultController.prototype.enqueue=function(chunk){if(IsTransformStreamDefaultController(this)===false){throw defaultControllerBrandCheckException$1('enqueue');}TransformStreamDefaultControllerEnqueue(this,chunk);};TransformStreamDefaultController.prototype.error=function(reason){if(IsTransformStreamDefaultController(this)===false){throw defaultControllerBrandCheckException$1('error');}TransformStreamDefaultControllerError(this,reason);};TransformStreamDefaultController.prototype.terminate=function(){if(IsTransformStreamDefaultController(this)===false){throw defaultControllerBrandCheckException$1('terminate');}TransformStreamDefaultControllerTerminate(this);};return TransformStreamDefaultController;}();function IsTransformStreamDefaultController(x){if(!typeIsObject(x)){return false;}if(!Object.prototype.hasOwnProperty.call(x,'_controlledTransformStream')){return false;}return true;}function SetUpTransformStreamDefaultController(stream,controller,transformAlgorithm,flushAlgorithm){controller._controlledTransformStream=stream;stream._transformStreamController=controller;controller._transformAlgorithm=transformAlgorithm;controller._flushAlgorithm=flushAlgorithm;}function SetUpTransformStreamDefaultControllerFromTransformer(stream,transformer){var controller=Object.create(TransformStreamDefaultController.prototype);var transformAlgorithm=function transformAlgorithm(chunk){try{TransformStreamDefaultControllerEnqueue(controller,chunk);return promiseResolvedWith(undefined);}catch(transformResultE){return promiseRejectedWith(transformResultE);}};var transformMethod=transformer.transform;if(transformMethod!==undefined){if(typeof transformMethod!=='function'){throw new TypeError('transform is not a method');}transformAlgorithm=function transformAlgorithm(chunk){return PromiseCall(transformMethod,transformer,[chunk,controller]);};}var flushAlgorithm=CreateAlgorithmFromUnderlyingMethod(transformer,'flush',0,[controller]);SetUpTransformStreamDefaultController(stream,controller,transformAlgorithm,flushAlgorithm);}function TransformStreamDefaultControllerClearAlgorithms(controller){controller._transformAlgorithm=undefined;controller._flushAlgorithm=undefined;}function TransformStreamDefaultControllerEnqueue(controller,chunk){var stream=controller._controlledTransformStream;var readableController=stream._readable._readableStreamController;if(ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)===false){throw new TypeError('Readable side is not in a state that permits enqueue');}try{ReadableStreamDefaultControllerEnqueue(readableController,chunk);}catch(e){TransformStreamErrorWritableAndUnblockWrite(stream,e);throw stream._readable._storedError;}var backpressure=ReadableStreamDefaultControllerHasBackpressure(readableController);if(backpressure!==stream._backpressure){TransformStreamSetBackpressure(stream,true);}}function TransformStreamDefaultControllerError(controller,e){TransformStreamError(controller._controlledTransformStream,e);}function TransformStreamDefaultControllerPerformTransform(controller,chunk){var transformPromise=controller._transformAlgorithm(chunk);return transformPromiseWith(transformPromise,undefined,function(r){TransformStreamError(controller._controlledTransformStream,r);throw r;});}function TransformStreamDefaultControllerTerminate(controller){var stream=controller._controlledTransformStream;var readableController=stream._readable._readableStreamController;if(ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)===true){ReadableStreamDefaultControllerClose(readableController);}var error=new TypeError('TransformStream terminated');TransformStreamErrorWritableAndUnblockWrite(stream,error);}function TransformStreamDefaultSinkWriteAlgorithm(stream,chunk){var controller=stream._transformStreamController;if(stream._backpressure===true){var backpressureChangePromise=stream._backpressureChangePromise;return transformPromiseWith(backpressureChangePromise,function(){var writable=stream._writable;var state=writable._state;if(state==='erroring'){throw writable._storedError;}return TransformStreamDefaultControllerPerformTransform(controller,chunk);});}return TransformStreamDefaultControllerPerformTransform(controller,chunk);}function TransformStreamDefaultSinkAbortAlgorithm(stream,reason){TransformStreamError(stream,reason);return promiseResolvedWith(undefined);}function TransformStreamDefaultSinkCloseAlgorithm(stream){var readable=stream._readable;var controller=stream._transformStreamController;var flushPromise=controller._flushAlgorithm();TransformStreamDefaultControllerClearAlgorithms(controller);return transformPromiseWith(flushPromise,function(){if(readable._state==='errored'){throw readable._storedError;}var readableController=readable._readableStreamController;if(ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)===true){ReadableStreamDefaultControllerClose(readableController);}},function(r){TransformStreamError(stream,r);throw readable._storedError;});}function TransformStreamDefaultSourcePullAlgorithm(stream){TransformStreamSetBackpressure(stream,false);return stream._backpressureChangePromise;}function defaultControllerBrandCheckException$1(name){return new TypeError(\"TransformStreamDefaultController.prototype.\"+name+\" can only be used on a TransformStreamDefaultController\");}function streamBrandCheckException$2(name){return new TypeError(\"TransformStream.prototype.\"+name+\" can only be used on a TransformStream\");}exports.ByteLengthQueuingStrategy=ByteLengthQueuingStrategy;exports.CountQueuingStrategy=CountQueuingStrategy;exports.ReadableStream=ReadableStream;exports.TransformStream=TransformStream;exports.WritableStream=WritableStream;Object.defineProperty(exports,'__esModule',{value:true});});/***/},/* 136 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(137);__w_pdfjs_require__(105);__w_pdfjs_require__(73);__w_pdfjs_require__(107);var path=__w_pdfjs_require__(38);module.exports=path.Map;/***/},/* 137 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var collection=__w_pdfjs_require__(138);var collectionStrong=__w_pdfjs_require__(142);module.exports=collection('Map',function(init){return function Map(){return init(this,arguments.length?arguments[0]:undefined);};},collectionStrong);/***/},/* 138 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var global=__w_pdfjs_require__(6);var isForced=__w_pdfjs_require__(47);var redefine=__w_pdfjs_require__(24);var InternalMetadataModule=__w_pdfjs_require__(139);var iterate=__w_pdfjs_require__(115);var anInstance=__w_pdfjs_require__(114);var isObject=__w_pdfjs_require__(17);var fails=__w_pdfjs_require__(9);var checkCorrectnessOfIteration=__w_pdfjs_require__(93);var setToStringTag=__w_pdfjs_require__(81);var inheritIfRequired=__w_pdfjs_require__(141);module.exports=function(CONSTRUCTOR_NAME,wrapper,common){var IS_MAP=CONSTRUCTOR_NAME.indexOf('Map')!==-1;var IS_WEAK=CONSTRUCTOR_NAME.indexOf('Weak')!==-1;var ADDER=IS_MAP?'set':'add';var NativeConstructor=global[CONSTRUCTOR_NAME];var NativePrototype=NativeConstructor&&NativeConstructor.prototype;var Constructor=NativeConstructor;var exported={};var fixMethod=function fixMethod(KEY){var nativeMethod=NativePrototype[KEY];redefine(NativePrototype,KEY,KEY=='add'?function add(value){nativeMethod.call(this,value===0?0:value);return this;}:KEY=='delete'?function(key){return IS_WEAK&&!isObject(key)?false:nativeMethod.call(this,key===0?0:key);}:KEY=='get'?function get(key){return IS_WEAK&&!isObject(key)?undefined:nativeMethod.call(this,key===0?0:key);}:KEY=='has'?function has(key){return IS_WEAK&&!isObject(key)?false:nativeMethod.call(this,key===0?0:key);}:function set(key,value){nativeMethod.call(this,key===0?0:key,value);return this;});};if(isForced(CONSTRUCTOR_NAME,typeof NativeConstructor!='function'||!(IS_WEAK||NativePrototype.forEach&&!fails(function(){new NativeConstructor().entries().next();})))){Constructor=common.getConstructor(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER);InternalMetadataModule.REQUIRED=true;}else if(isForced(CONSTRUCTOR_NAME,true)){var instance=new Constructor();var HASNT_CHAINING=instance[ADDER](IS_WEAK?{}:-0,1)!=instance;var THROWS_ON_PRIMITIVES=fails(function(){instance.has(1);});var ACCEPT_ITERABLES=checkCorrectnessOfIteration(function(iterable){new NativeConstructor(iterable);});var BUGGY_ZERO=!IS_WEAK&&fails(function(){var $instance=new NativeConstructor();var index=5;while(index--){$instance[ADDER](index,index);}return!$instance.has(-0);});if(!ACCEPT_ITERABLES){Constructor=wrapper(function(dummy,iterable){anInstance(dummy,Constructor,CONSTRUCTOR_NAME);var that=inheritIfRequired(new NativeConstructor(),dummy,Constructor);if(iterable!=undefined)iterate(iterable,that[ADDER],that,IS_MAP);return that;});Constructor.prototype=NativePrototype;NativePrototype.constructor=Constructor;}if(THROWS_ON_PRIMITIVES||BUGGY_ZERO){fixMethod('delete');fixMethod('has');IS_MAP&&fixMethod('get');}if(BUGGY_ZERO||HASNT_CHAINING)fixMethod(ADDER);if(IS_WEAK&&NativePrototype.clear)delete NativePrototype.clear;}exported[CONSTRUCTOR_NAME]=Constructor;$({global:true,forced:Constructor!=NativeConstructor},exported);setToStringTag(Constructor,CONSTRUCTOR_NAME);if(!IS_WEAK)common.setStrong(Constructor,CONSTRUCTOR_NAME,IS_MAP);return Constructor;};/***/},/* 139 */ /***/function(module,exports,__w_pdfjs_require__){var hiddenKeys=__w_pdfjs_require__(34);var isObject=__w_pdfjs_require__(17);var has=__w_pdfjs_require__(18);var defineProperty=__w_pdfjs_require__(22).f;var uid=__w_pdfjs_require__(33);var FREEZING=__w_pdfjs_require__(140);var METADATA=uid('meta');var id=0;var isExtensible=Object.isExtensible||function(){return true;};var setMetadata=function setMetadata(it){defineProperty(it,METADATA,{value:{objectID:'O'+ ++id,weakData:{}}});};var fastKey=function fastKey(it,create){if(!isObject(it))return _typeof2(it)=='symbol'?it:(typeof it=='string'?'S':'P')+it;if(!has(it,METADATA)){if(!isExtensible(it))return'F';if(!create)return'E';setMetadata(it);}return it[METADATA].objectID;};var getWeakData=function getWeakData(it,create){if(!has(it,METADATA)){if(!isExtensible(it))return true;if(!create)return false;setMetadata(it);}return it[METADATA].weakData;};var onFreeze=function onFreeze(it){if(FREEZING&&meta.REQUIRED&&isExtensible(it)&&!has(it,METADATA))setMetadata(it);return it;};var meta=module.exports={REQUIRED:false,fastKey:fastKey,getWeakData:getWeakData,onFreeze:onFreeze};hiddenKeys[METADATA]=true;/***/},/* 140 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);module.exports=!fails(function(){return Object.isExtensible(Object.preventExtensions({}));});/***/},/* 141 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);var setPrototypeOf=__w_pdfjs_require__(83);module.exports=function($this,dummy,Wrapper){var NewTarget,NewTargetPrototype;if(setPrototypeOf&&typeof(NewTarget=dummy.constructor)=='function'&&NewTarget!==Wrapper&&isObject(NewTargetPrototype=NewTarget.prototype)&&NewTargetPrototype!==Wrapper.prototype)setPrototypeOf($this,NewTargetPrototype);return $this;};/***/},/* 142 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var defineProperty=__w_pdfjs_require__(22).f;var create=__w_pdfjs_require__(67);var redefineAll=__w_pdfjs_require__(112);var bind=__w_pdfjs_require__(58);var anInstance=__w_pdfjs_require__(114);var iterate=__w_pdfjs_require__(115);var defineIterator=__w_pdfjs_require__(75);var setSpecies=__w_pdfjs_require__(113);var DESCRIPTORS=__w_pdfjs_require__(8);var fastKey=__w_pdfjs_require__(139).fastKey;var InternalStateModule=__w_pdfjs_require__(28);var setInternalState=InternalStateModule.set;var internalStateGetterFor=InternalStateModule.getterFor;module.exports={getConstructor:function getConstructor(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,CONSTRUCTOR_NAME);setInternalState(that,{type:CONSTRUCTOR_NAME,index:create(null),first:undefined,last:undefined,size:0});if(!DESCRIPTORS)that.size=0;if(iterable!=undefined)iterate(iterable,that[ADDER],that,IS_MAP);});var getInternalState=internalStateGetterFor(CONSTRUCTOR_NAME);var define=function define(that,key,value){var state=getInternalState(that);var entry=getEntry(that,key);var previous,index;if(entry){entry.value=value;}else{state.last=entry={index:index=fastKey(key,true),key:key,value:value,previous:previous=state.last,next:undefined,removed:false};if(!state.first)state.first=entry;if(previous)previous.next=entry;if(DESCRIPTORS)state.size++;else that.size++;if(index!=='F')state.index[index]=entry;}return that;};var getEntry=function getEntry(that,key){var state=getInternalState(that);var index=fastKey(key);var entry;if(index!=='F')return state.index[index];for(entry=state.first;entry;entry=entry.next){if(entry.key==key)return entry;}};redefineAll(C.prototype,{clear:function clear(){var that=this;var state=getInternalState(that);var data=state.index;var entry=state.first;while(entry){entry.removed=true;if(entry.previous)entry.previous=entry.previous.next=undefined;delete data[entry.index];entry=entry.next;}state.first=state.last=undefined;if(DESCRIPTORS)state.size=0;else that.size=0;},'delete':function _delete(key){var that=this;var state=getInternalState(that);var entry=getEntry(that,key);if(entry){var next=entry.next;var prev=entry.previous;delete state.index[entry.index];entry.removed=true;if(prev)prev.next=next;if(next)next.previous=prev;if(state.first==entry)state.first=next;if(state.last==entry)state.last=prev;if(DESCRIPTORS)state.size--;else that.size--;}return!!entry;},forEach:function forEach(callbackfn){var state=getInternalState(this);var boundFunction=bind(callbackfn,arguments.length>1?arguments[1]:undefined,3);var entry;while(entry=entry?entry.next:state.first){boundFunction(entry.value,entry.key,this);while(entry&&entry.removed){entry=entry.previous;}}},has:function has(key){return!!getEntry(this,key);}});redefineAll(C.prototype,IS_MAP?{get:function get(key){var entry=getEntry(this,key);return entry&&entry.value;},set:function set(key,value){return define(this,key===0?0:key,value);}}:{add:function add(value){return define(this,value=value===0?0:value,value);}});if(DESCRIPTORS)defineProperty(C.prototype,'size',{get:function get(){return getInternalState(this).size;}});return C;},setStrong:function setStrong(C,CONSTRUCTOR_NAME,IS_MAP){var ITERATOR_NAME=CONSTRUCTOR_NAME+' Iterator';var getInternalCollectionState=internalStateGetterFor(CONSTRUCTOR_NAME);var getInternalIteratorState=internalStateGetterFor(ITERATOR_NAME);defineIterator(C,CONSTRUCTOR_NAME,function(iterated,kind){setInternalState(this,{type:ITERATOR_NAME,target:iterated,state:getInternalCollectionState(iterated),kind:kind,last:undefined});},function(){var state=getInternalIteratorState(this);var kind=state.kind;var entry=state.last;while(entry&&entry.removed){entry=entry.previous;}if(!state.target||!(state.last=entry=entry?entry.next:state.state.first)){state.target=undefined;return{value:undefined,done:true};}if(kind=='keys')return{value:entry.key,done:false};if(kind=='values')return{value:entry.value,done:false};return{value:[entry.key,entry.value],done:false};},IS_MAP?'entries':'values',!IS_MAP,true);setSpecies(CONSTRUCTOR_NAME);}};/***/},/* 143 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(144);__w_pdfjs_require__(105);__w_pdfjs_require__(73);__w_pdfjs_require__(107);var path=__w_pdfjs_require__(38);module.exports=path.Set;/***/},/* 144 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var collection=__w_pdfjs_require__(138);var collectionStrong=__w_pdfjs_require__(142);module.exports=collection('Set',function(init){return function Set(){return init(this,arguments.length?arguments[0]:undefined);};},collectionStrong);/***/},/* 145 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(105);__w_pdfjs_require__(146);__w_pdfjs_require__(107);var path=__w_pdfjs_require__(38);module.exports=path.WeakMap;/***/},/* 146 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var global=__w_pdfjs_require__(6);var redefineAll=__w_pdfjs_require__(112);var InternalMetadataModule=__w_pdfjs_require__(139);var collection=__w_pdfjs_require__(138);var collectionWeak=__w_pdfjs_require__(147);var isObject=__w_pdfjs_require__(17);var enforceIternalState=__w_pdfjs_require__(28).enforce;var NATIVE_WEAK_MAP=__w_pdfjs_require__(29);var IS_IE11=!global.ActiveXObject&&'ActiveXObject'in global;var isExtensible=Object.isExtensible;var InternalWeakMap;var wrapper=function wrapper(init){return function WeakMap(){return init(this,arguments.length?arguments[0]:undefined);};};var $WeakMap=module.exports=collection('WeakMap',wrapper,collectionWeak);if(NATIVE_WEAK_MAP&&IS_IE11){InternalWeakMap=collectionWeak.getConstructor(wrapper,'WeakMap',true);InternalMetadataModule.REQUIRED=true;var WeakMapPrototype=$WeakMap.prototype;var nativeDelete=WeakMapPrototype['delete'];var nativeHas=WeakMapPrototype.has;var nativeGet=WeakMapPrototype.get;var nativeSet=WeakMapPrototype.set;redefineAll(WeakMapPrototype,{'delete':function _delete(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeDelete.call(this,key)||state.frozen['delete'](key);}return nativeDelete.call(this,key);},has:function has(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeHas.call(this,key)||state.frozen.has(key);}return nativeHas.call(this,key);},get:function get(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeHas.call(this,key)?nativeGet.call(this,key):state.frozen.get(key);}return nativeGet.call(this,key);},set:function set(key,value){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();nativeHas.call(this,key)?nativeSet.call(this,key,value):state.frozen.set(key,value);}else nativeSet.call(this,key,value);return this;}});}/***/},/* 147 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var redefineAll=__w_pdfjs_require__(112);var getWeakData=__w_pdfjs_require__(139).getWeakData;var anObject=__w_pdfjs_require__(23);var isObject=__w_pdfjs_require__(17);var anInstance=__w_pdfjs_require__(114);var iterate=__w_pdfjs_require__(115);var ArrayIterationModule=__w_pdfjs_require__(148);var $has=__w_pdfjs_require__(18);var InternalStateModule=__w_pdfjs_require__(28);var setInternalState=InternalStateModule.set;var internalStateGetterFor=InternalStateModule.getterFor;var find=ArrayIterationModule.find;var findIndex=ArrayIterationModule.findIndex;var id=0;var uncaughtFrozenStore=function uncaughtFrozenStore(store){return store.frozen||(store.frozen=new UncaughtFrozenStore());};var UncaughtFrozenStore=function UncaughtFrozenStore(){this.entries=[];};var findUncaughtFrozen=function findUncaughtFrozen(store,key){return find(store.entries,function(it){return it[0]===key;});};UncaughtFrozenStore.prototype={get:function get(key){var entry=findUncaughtFrozen(this,key);if(entry)return entry[1];},has:function has(key){return!!findUncaughtFrozen(this,key);},set:function set(key,value){var entry=findUncaughtFrozen(this,key);if(entry)entry[1]=value;else this.entries.push([key,value]);},'delete':function _delete(key){var index=findIndex(this.entries,function(it){return it[0]===key;});if(~index)this.entries.splice(index,1);return!!~index;}};module.exports={getConstructor:function getConstructor(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,CONSTRUCTOR_NAME);setInternalState(that,{type:CONSTRUCTOR_NAME,id:id++,frozen:undefined});if(iterable!=undefined)iterate(iterable,that[ADDER],that,IS_MAP);});var getInternalState=internalStateGetterFor(CONSTRUCTOR_NAME);var define=function define(that,key,value){var state=getInternalState(that);var data=getWeakData(anObject(key),true);if(data===true)uncaughtFrozenStore(state).set(key,value);else data[state.id]=value;return that;};redefineAll(C.prototype,{'delete':function _delete(key){var state=getInternalState(this);if(!isObject(key))return false;var data=getWeakData(key);if(data===true)return uncaughtFrozenStore(state)['delete'](key);return data&&$has(data,state.id)&&delete data[state.id];},has:function has(key){var state=getInternalState(this);if(!isObject(key))return false;var data=getWeakData(key);if(data===true)return uncaughtFrozenStore(state).has(key);return data&&$has(data,state.id);}});redefineAll(C.prototype,IS_MAP?{get:function get(key){var state=getInternalState(this);if(isObject(key)){var data=getWeakData(key);if(data===true)return uncaughtFrozenStore(state).get(key);return data?data[state.id]:undefined;}},set:function set(key,value){return define(this,key,value);}}:{add:function add(value){return define(this,value,true);}});return C;}};/***/},/* 148 */ /***/function(module,exports,__w_pdfjs_require__){var bind=__w_pdfjs_require__(58);var IndexedObject=__w_pdfjs_require__(13);var toObject=__w_pdfjs_require__(79);var toLength=__w_pdfjs_require__(42);var arraySpeciesCreate=__w_pdfjs_require__(149);var push=[].push;var createMethod=function createMethod(TYPE){var IS_MAP=TYPE==1;var IS_FILTER=TYPE==2;var IS_SOME=TYPE==3;var IS_EVERY=TYPE==4;var IS_FIND_INDEX=TYPE==6;var NO_HOLES=TYPE==5||IS_FIND_INDEX;return function($this,callbackfn,that,specificCreate){var O=toObject($this);var self=IndexedObject(O);var boundFunction=bind(callbackfn,that,3);var length=toLength(self.length);var index=0;var create=specificCreate||arraySpeciesCreate;var target=IS_MAP?create($this,length):IS_FILTER?create($this,0):undefined;var value,result;for(;length>index;index++){if(NO_HOLES||index in self){value=self[index];result=boundFunction(value,index,O);if(TYPE){if(IS_MAP)target[index]=result;else if(result)switch(TYPE){case 3:return true;case 5:return value;case 6:return index;case 2:push.call(target,value);}else if(IS_EVERY)return false;}}}return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:target;};};module.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6)};/***/},/* 149 */ /***/function(module,exports,__w_pdfjs_require__){var isObject=__w_pdfjs_require__(17);var isArray=__w_pdfjs_require__(150);var wellKnownSymbol=__w_pdfjs_require__(53);var SPECIES=wellKnownSymbol('species');module.exports=function(originalArray,length){var C;if(isArray(originalArray)){C=originalArray.constructor;if(typeof C=='function'&&(C===Array||isArray(C.prototype)))C=undefined;else if(isObject(C)){C=C[SPECIES];if(C===null)C=undefined;}}return new(C===undefined?Array:C)(length===0?0:length);};/***/},/* 150 */ /***/function(module,exports,__w_pdfjs_require__){var classof=__w_pdfjs_require__(14);module.exports=Array.isArray||function isArray(arg){return classof(arg)=='Array';};/***/},/* 151 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(105);__w_pdfjs_require__(152);__w_pdfjs_require__(107);var path=__w_pdfjs_require__(38);module.exports=path.WeakSet;/***/},/* 152 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var collection=__w_pdfjs_require__(138);var collectionWeak=__w_pdfjs_require__(147);collection('WeakSet',function(init){return function WeakSet(){return init(this,arguments.length?arguments[0]:undefined);};},collectionWeak);/***/},/* 153 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(154);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','codePointAt');/***/},/* 154 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var codeAt=__w_pdfjs_require__(74).codeAt;$({target:'String',proto:true},{codePointAt:function codePointAt(pos){return codeAt(this,pos);}});/***/},/* 155 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(156);var path=__w_pdfjs_require__(38);module.exports=path.String.fromCodePoint;/***/},/* 156 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var toAbsoluteIndex=__w_pdfjs_require__(44);var fromCharCode=String.fromCharCode;var nativeFromCodePoint=String.fromCodePoint;var INCORRECT_LENGTH=!!nativeFromCodePoint&&nativeFromCodePoint.length!=1;$({target:'String',stat:true,forced:INCORRECT_LENGTH},{fromCodePoint:function fromCodePoint(x){var elements=[];var length=arguments.length;var i=0;var code;while(length>i){code=+arguments[i++];if(toAbsoluteIndex(code,0x10FFFF)!==code)throw RangeError(code+' is not a valid code point');elements.push(code<0x10000?fromCharCode(code):fromCharCode(((code-=0x10000)>>10)+0xD800,code%0x400+0xDC00));}return elements.join('');}});/***/},/* 157 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(158);__w_pdfjs_require__(105);__w_pdfjs_require__(160);__w_pdfjs_require__(164);__w_pdfjs_require__(165);__w_pdfjs_require__(166);__w_pdfjs_require__(167);__w_pdfjs_require__(168);__w_pdfjs_require__(169);__w_pdfjs_require__(170);__w_pdfjs_require__(171);__w_pdfjs_require__(172);__w_pdfjs_require__(173);__w_pdfjs_require__(174);__w_pdfjs_require__(175);__w_pdfjs_require__(176);__w_pdfjs_require__(177);__w_pdfjs_require__(178);__w_pdfjs_require__(179);var path=__w_pdfjs_require__(38);module.exports=path.Symbol;/***/},/* 158 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var fails=__w_pdfjs_require__(9);var isArray=__w_pdfjs_require__(150);var isObject=__w_pdfjs_require__(17);var toObject=__w_pdfjs_require__(79);var toLength=__w_pdfjs_require__(42);var createProperty=__w_pdfjs_require__(89);var arraySpeciesCreate=__w_pdfjs_require__(149);var arrayMethodHasSpeciesSupport=__w_pdfjs_require__(159);var wellKnownSymbol=__w_pdfjs_require__(53);var V8_VERSION=__w_pdfjs_require__(125);var IS_CONCAT_SPREADABLE=wellKnownSymbol('isConcatSpreadable');var MAX_SAFE_INTEGER=0x1FFFFFFFFFFFFF;var MAXIMUM_ALLOWED_INDEX_EXCEEDED='Maximum allowed index exceeded';var IS_CONCAT_SPREADABLE_SUPPORT=V8_VERSION>=51||!fails(function(){var array=[];array[IS_CONCAT_SPREADABLE]=false;return array.concat()[0]!==array;});var SPECIES_SUPPORT=arrayMethodHasSpeciesSupport('concat');var isConcatSpreadable=function isConcatSpreadable(O){if(!isObject(O))return false;var spreadable=O[IS_CONCAT_SPREADABLE];return spreadable!==undefined?!!spreadable:isArray(O);};var FORCED=!IS_CONCAT_SPREADABLE_SUPPORT||!SPECIES_SUPPORT;$({target:'Array',proto:true,forced:FORCED},{concat:function concat(arg){var O=toObject(this);var A=arraySpeciesCreate(O,0);var n=0;var i,k,length,len,E;for(i=-1,length=arguments.length;i<length;i++){E=i===-1?O:arguments[i];if(isConcatSpreadable(E)){len=toLength(E.length);if(n+len>MAX_SAFE_INTEGER)throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);for(k=0;k<len;k++,n++){if(k in E)createProperty(A,n,E[k]);}}else{if(n>=MAX_SAFE_INTEGER)throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);createProperty(A,n++,E);}}A.length=n;return A;}});/***/},/* 159 */ /***/function(module,exports,__w_pdfjs_require__){var fails=__w_pdfjs_require__(9);var wellKnownSymbol=__w_pdfjs_require__(53);var V8_VERSION=__w_pdfjs_require__(125);var SPECIES=wellKnownSymbol('species');module.exports=function(METHOD_NAME){return V8_VERSION>=51||!fails(function(){var array=[];var constructor=array.constructor={};constructor[SPECIES]=function(){return{foo:1};};return array[METHOD_NAME](Boolean).foo!==1;});};/***/},/* 160 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var global=__w_pdfjs_require__(6);var getBuiltIn=__w_pdfjs_require__(37);var IS_PURE=__w_pdfjs_require__(32);var DESCRIPTORS=__w_pdfjs_require__(8);var NATIVE_SYMBOL=__w_pdfjs_require__(54);var USE_SYMBOL_AS_UID=__w_pdfjs_require__(55);var fails=__w_pdfjs_require__(9);var has=__w_pdfjs_require__(18);var isArray=__w_pdfjs_require__(150);var isObject=__w_pdfjs_require__(17);var anObject=__w_pdfjs_require__(23);var toObject=__w_pdfjs_require__(79);var toIndexedObject=__w_pdfjs_require__(12);var toPrimitive=__w_pdfjs_require__(16);var createPropertyDescriptor=__w_pdfjs_require__(11);var nativeObjectCreate=__w_pdfjs_require__(67);var objectKeys=__w_pdfjs_require__(69);var getOwnPropertyNamesModule=__w_pdfjs_require__(39);var getOwnPropertyNamesExternal=__w_pdfjs_require__(161);var getOwnPropertySymbolsModule=__w_pdfjs_require__(46);var getOwnPropertyDescriptorModule=__w_pdfjs_require__(7);var definePropertyModule=__w_pdfjs_require__(22);var propertyIsEnumerableModule=__w_pdfjs_require__(10);var createNonEnumerableProperty=__w_pdfjs_require__(21);var redefine=__w_pdfjs_require__(24);var shared=__w_pdfjs_require__(31);var sharedKey=__w_pdfjs_require__(30);var hiddenKeys=__w_pdfjs_require__(34);var uid=__w_pdfjs_require__(33);var wellKnownSymbol=__w_pdfjs_require__(53);var wrappedWellKnownSymbolModule=__w_pdfjs_require__(162);var defineWellKnownSymbol=__w_pdfjs_require__(163);var setToStringTag=__w_pdfjs_require__(81);var InternalStateModule=__w_pdfjs_require__(28);var $forEach=__w_pdfjs_require__(148).forEach;var HIDDEN=sharedKey('hidden');var SYMBOL='Symbol';var PROTOTYPE='prototype';var TO_PRIMITIVE=wellKnownSymbol('toPrimitive');var setInternalState=InternalStateModule.set;var getInternalState=InternalStateModule.getterFor(SYMBOL);var ObjectPrototype=Object[PROTOTYPE];var $Symbol=global.Symbol;var $stringify=getBuiltIn('JSON','stringify');var nativeGetOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f;var nativeDefineProperty=definePropertyModule.f;var nativeGetOwnPropertyNames=getOwnPropertyNamesExternal.f;var nativePropertyIsEnumerable=propertyIsEnumerableModule.f;var AllSymbols=shared('symbols');var ObjectPrototypeSymbols=shared('op-symbols');var StringToSymbolRegistry=shared('string-to-symbol-registry');var SymbolToStringRegistry=shared('symbol-to-string-registry');var WellKnownSymbolsStore=shared('wks');var QObject=global.QObject;var USE_SETTER=!QObject||!QObject[PROTOTYPE]||!QObject[PROTOTYPE].findChild;var setSymbolDescriptor=DESCRIPTORS&&fails(function(){return nativeObjectCreate(nativeDefineProperty({},'a',{get:function get(){return nativeDefineProperty(this,'a',{value:7}).a;}})).a!=7;})?function(O,P,Attributes){var ObjectPrototypeDescriptor=nativeGetOwnPropertyDescriptor(ObjectPrototype,P);if(ObjectPrototypeDescriptor)delete ObjectPrototype[P];nativeDefineProperty(O,P,Attributes);if(ObjectPrototypeDescriptor&&O!==ObjectPrototype){nativeDefineProperty(ObjectPrototype,P,ObjectPrototypeDescriptor);}}:nativeDefineProperty;var wrap=function wrap(tag,description){var symbol=AllSymbols[tag]=nativeObjectCreate($Symbol[PROTOTYPE]);setInternalState(symbol,{type:SYMBOL,tag:tag,description:description});if(!DESCRIPTORS)symbol.description=description;return symbol;};var isSymbol=USE_SYMBOL_AS_UID?function(it){return _typeof2(it)=='symbol';}:function(it){return Object(it)instanceof $Symbol;};var $defineProperty=function defineProperty(O,P,Attributes){if(O===ObjectPrototype)$defineProperty(ObjectPrototypeSymbols,P,Attributes);anObject(O);var key=toPrimitive(P,true);anObject(Attributes);if(has(AllSymbols,key)){if(!Attributes.enumerable){if(!has(O,HIDDEN))nativeDefineProperty(O,HIDDEN,createPropertyDescriptor(1,{}));O[HIDDEN][key]=true;}else{if(has(O,HIDDEN)&&O[HIDDEN][key])O[HIDDEN][key]=false;Attributes=nativeObjectCreate(Attributes,{enumerable:createPropertyDescriptor(0,false)});}return setSymbolDescriptor(O,key,Attributes);}return nativeDefineProperty(O,key,Attributes);};var $defineProperties=function defineProperties(O,Properties){anObject(O);var properties=toIndexedObject(Properties);var keys=objectKeys(properties).concat($getOwnPropertySymbols(properties));$forEach(keys,function(key){if(!DESCRIPTORS||$propertyIsEnumerable.call(properties,key))$defineProperty(O,key,properties[key]);});return O;};var $create=function create(O,Properties){return Properties===undefined?nativeObjectCreate(O):$defineProperties(nativeObjectCreate(O),Properties);};var $propertyIsEnumerable=function propertyIsEnumerable(V){var P=toPrimitive(V,true);var enumerable=nativePropertyIsEnumerable.call(this,P);if(this===ObjectPrototype&&has(AllSymbols,P)&&!has(ObjectPrototypeSymbols,P))return false;return enumerable||!has(this,P)||!has(AllSymbols,P)||has(this,HIDDEN)&&this[HIDDEN][P]?enumerable:true;};var $getOwnPropertyDescriptor=function getOwnPropertyDescriptor(O,P){var it=toIndexedObject(O);var key=toPrimitive(P,true);if(it===ObjectPrototype&&has(AllSymbols,key)&&!has(ObjectPrototypeSymbols,key))return;var descriptor=nativeGetOwnPropertyDescriptor(it,key);if(descriptor&&has(AllSymbols,key)&&!(has(it,HIDDEN)&&it[HIDDEN][key])){descriptor.enumerable=true;}return descriptor;};var $getOwnPropertyNames=function getOwnPropertyNames(O){var names=nativeGetOwnPropertyNames(toIndexedObject(O));var result=[];$forEach(names,function(key){if(!has(AllSymbols,key)&&!has(hiddenKeys,key))result.push(key);});return result;};var $getOwnPropertySymbols=function getOwnPropertySymbols(O){var IS_OBJECT_PROTOTYPE=O===ObjectPrototype;var names=nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE?ObjectPrototypeSymbols:toIndexedObject(O));var result=[];$forEach(names,function(key){if(has(AllSymbols,key)&&(!IS_OBJECT_PROTOTYPE||has(ObjectPrototype,key))){result.push(AllSymbols[key]);}});return result;};if(!NATIVE_SYMBOL){$Symbol=function _Symbol2(){if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor');var description=!arguments.length||arguments[0]===undefined?undefined:String(arguments[0]);var tag=uid(description);var setter=function setter(value){if(this===ObjectPrototype)setter.call(ObjectPrototypeSymbols,value);if(has(this,HIDDEN)&&has(this[HIDDEN],tag))this[HIDDEN][tag]=false;setSymbolDescriptor(this,tag,createPropertyDescriptor(1,value));};if(DESCRIPTORS&&USE_SETTER)setSymbolDescriptor(ObjectPrototype,tag,{configurable:true,set:setter});return wrap(tag,description);};redefine($Symbol[PROTOTYPE],'toString',function toString(){return getInternalState(this).tag;});redefine($Symbol,'withoutSetter',function(description){return wrap(uid(description),description);});propertyIsEnumerableModule.f=$propertyIsEnumerable;definePropertyModule.f=$defineProperty;getOwnPropertyDescriptorModule.f=$getOwnPropertyDescriptor;getOwnPropertyNamesModule.f=getOwnPropertyNamesExternal.f=$getOwnPropertyNames;getOwnPropertySymbolsModule.f=$getOwnPropertySymbols;wrappedWellKnownSymbolModule.f=function(name){return wrap(wellKnownSymbol(name),name);};if(DESCRIPTORS){nativeDefineProperty($Symbol[PROTOTYPE],'description',{configurable:true,get:function description(){return getInternalState(this).description;}});if(!IS_PURE){redefine(ObjectPrototype,'propertyIsEnumerable',$propertyIsEnumerable,{unsafe:true});}}}$({global:true,wrap:true,forced:!NATIVE_SYMBOL,sham:!NATIVE_SYMBOL},{Symbol:$Symbol});$forEach(objectKeys(WellKnownSymbolsStore),function(name){defineWellKnownSymbol(name);});$({target:SYMBOL,stat:true,forced:!NATIVE_SYMBOL},{'for':function _for(key){var string=String(key);if(has(StringToSymbolRegistry,string))return StringToSymbolRegistry[string];var symbol=$Symbol(string);StringToSymbolRegistry[string]=symbol;SymbolToStringRegistry[symbol]=string;return symbol;},keyFor:function keyFor(sym){if(!isSymbol(sym))throw TypeError(sym+' is not a symbol');if(has(SymbolToStringRegistry,sym))return SymbolToStringRegistry[sym];},useSetter:function useSetter(){USE_SETTER=true;},useSimple:function useSimple(){USE_SETTER=false;}});$({target:'Object',stat:true,forced:!NATIVE_SYMBOL,sham:!DESCRIPTORS},{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor});$({target:'Object',stat:true,forced:!NATIVE_SYMBOL},{getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});$({target:'Object',stat:true,forced:fails(function(){getOwnPropertySymbolsModule.f(1);})},{getOwnPropertySymbols:function getOwnPropertySymbols(it){return getOwnPropertySymbolsModule.f(toObject(it));}});if($stringify){var FORCED_JSON_STRINGIFY=!NATIVE_SYMBOL||fails(function(){var symbol=$Symbol();return $stringify([symbol])!='[null]'||$stringify({a:symbol})!='{}'||$stringify(Object(symbol))!='{}';});$({target:'JSON',stat:true,forced:FORCED_JSON_STRINGIFY},{stringify:function stringify(it,replacer,space){var args=[it];var index=1;var $replacer;while(arguments.length>index){args.push(arguments[index++]);}$replacer=replacer;if(!isObject(replacer)&&it===undefined||isSymbol(it))return;if(!isArray(replacer))replacer=function replacer(key,value){if(typeof $replacer=='function')value=$replacer.call(this,key,value);if(!isSymbol(value))return value;};args[1]=replacer;return $stringify.apply(null,args);}});}if(!$Symbol[PROTOTYPE][TO_PRIMITIVE]){createNonEnumerableProperty($Symbol[PROTOTYPE],TO_PRIMITIVE,$Symbol[PROTOTYPE].valueOf);}setToStringTag($Symbol,SYMBOL);hiddenKeys[HIDDEN]=true;/***/},/* 161 */ /***/function(module,exports,__w_pdfjs_require__){var toIndexedObject=__w_pdfjs_require__(12);var nativeGetOwnPropertyNames=__w_pdfjs_require__(39).f;var toString={}.toString;var windowNames=(typeof window===\"undefined\"?\"undefined\":_typeof2(window))=='object'&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var getWindowNames=function getWindowNames(it){try{return nativeGetOwnPropertyNames(it);}catch(error){return windowNames.slice();}};module.exports.f=function getOwnPropertyNames(it){return windowNames&&toString.call(it)=='[object Window]'?getWindowNames(it):nativeGetOwnPropertyNames(toIndexedObject(it));};/***/},/* 162 */ /***/function(module,exports,__w_pdfjs_require__){var wellKnownSymbol=__w_pdfjs_require__(53);exports.f=wellKnownSymbol;/***/},/* 163 */ /***/function(module,exports,__w_pdfjs_require__){var path=__w_pdfjs_require__(38);var has=__w_pdfjs_require__(18);var wrappedWellKnownSymbolModule=__w_pdfjs_require__(162);var defineProperty=__w_pdfjs_require__(22).f;module.exports=function(NAME){var _Symbol3=path.Symbol||(path.Symbol={});if(!has(_Symbol3,NAME))defineProperty(_Symbol3,NAME,{value:wrappedWellKnownSymbolModule.f(NAME)});};/***/},/* 164 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('asyncIterator');/***/},/* 165 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var DESCRIPTORS=__w_pdfjs_require__(8);var global=__w_pdfjs_require__(6);var has=__w_pdfjs_require__(18);var isObject=__w_pdfjs_require__(17);var defineProperty=__w_pdfjs_require__(22).f;var copyConstructorProperties=__w_pdfjs_require__(35);var NativeSymbol=global.Symbol;if(DESCRIPTORS&&typeof NativeSymbol=='function'&&(!('description'in NativeSymbol.prototype)||NativeSymbol().description!==undefined)){var EmptyStringDescriptionStore={};var SymbolWrapper=function _Symbol4(){var description=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]);var result=this instanceof SymbolWrapper?new NativeSymbol(description):description===undefined?NativeSymbol():NativeSymbol(description);if(description==='')EmptyStringDescriptionStore[result]=true;return result;};copyConstructorProperties(SymbolWrapper,NativeSymbol);var symbolPrototype=SymbolWrapper.prototype=NativeSymbol.prototype;symbolPrototype.constructor=SymbolWrapper;var symbolToString=symbolPrototype.toString;var native=String(NativeSymbol('test'))=='Symbol(test)';var regexp=/^Symbol\\((.*)\\)[^)]+$/;defineProperty(symbolPrototype,'description',{configurable:true,get:function description(){var symbol=isObject(this)?this.valueOf():this;var string=symbolToString.call(symbol);if(has(EmptyStringDescriptionStore,symbol))return'';var desc=native?string.slice(7,-1):string.replace(regexp,'$1');return desc===''?undefined:desc;}});$({global:true,forced:true},{Symbol:SymbolWrapper});}/***/},/* 166 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('hasInstance');/***/},/* 167 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('isConcatSpreadable');/***/},/* 168 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('iterator');/***/},/* 169 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('match');/***/},/* 170 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('matchAll');/***/},/* 171 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('replace');/***/},/* 172 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('search');/***/},/* 173 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('species');/***/},/* 174 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('split');/***/},/* 175 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('toPrimitive');/***/},/* 176 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('toStringTag');/***/},/* 177 */ /***/function(module,exports,__w_pdfjs_require__){var defineWellKnownSymbol=__w_pdfjs_require__(163);defineWellKnownSymbol('unscopables');/***/},/* 178 */ /***/function(module,exports,__w_pdfjs_require__){var setToStringTag=__w_pdfjs_require__(81);setToStringTag(Math,'Math',true);/***/},/* 179 */ /***/function(module,exports,__w_pdfjs_require__){var global=__w_pdfjs_require__(6);var setToStringTag=__w_pdfjs_require__(81);setToStringTag(global.JSON,'JSON',true);/***/},/* 180 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(181);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','padStart');/***/},/* 181 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var $padStart=__w_pdfjs_require__(182).start;var WEBKIT_BUG=__w_pdfjs_require__(184);$({target:'String',proto:true,forced:WEBKIT_BUG},{padStart:function padStart(maxLength){return $padStart(this,maxLength,arguments.length>1?arguments[1]:undefined);}});/***/},/* 182 */ /***/function(module,exports,__w_pdfjs_require__){var toLength=__w_pdfjs_require__(42);var repeat=__w_pdfjs_require__(183);var requireObjectCoercible=__w_pdfjs_require__(15);var ceil=Math.ceil;var createMethod=function createMethod(IS_END){return function($this,maxLength,fillString){var S=String(requireObjectCoercible($this));var stringLength=S.length;var fillStr=fillString===undefined?' ':String(fillString);var intMaxLength=toLength(maxLength);var fillLen,stringFiller;if(intMaxLength<=stringLength||fillStr=='')return S;fillLen=intMaxLength-stringLength;stringFiller=repeat.call(fillStr,ceil(fillLen/fillStr.length));if(stringFiller.length>fillLen)stringFiller=stringFiller.slice(0,fillLen);return IS_END?S+stringFiller:stringFiller+S;};};module.exports={start:createMethod(false),end:createMethod(true)};/***/},/* 183 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var toInteger=__w_pdfjs_require__(43);var requireObjectCoercible=__w_pdfjs_require__(15);module.exports=''.repeat||function repeat(count){var str=String(requireObjectCoercible(this));var result='';var n=toInteger(count);if(n<0||n==Infinity)throw RangeError('Wrong number of repetitions');for(;n>0;(n>>>=1)&&(str+=str)){if(n&1)result+=str;}return result;};/***/},/* 184 */ /***/function(module,exports,__w_pdfjs_require__){var userAgent=__w_pdfjs_require__(119);module.exports=/Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);/***/},/* 185 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(186);var entryUnbind=__w_pdfjs_require__(57);module.exports=entryUnbind('String','padEnd');/***/},/* 186 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var $=__w_pdfjs_require__(5);var $padEnd=__w_pdfjs_require__(182).end;var WEBKIT_BUG=__w_pdfjs_require__(184);$({target:'String',proto:true,forced:WEBKIT_BUG},{padEnd:function padEnd(maxLength){return $padEnd(this,maxLength,arguments.length>1?arguments[1]:undefined);}});/***/},/* 187 */ /***/function(module,exports,__w_pdfjs_require__){__w_pdfjs_require__(188);var path=__w_pdfjs_require__(38);module.exports=path.Object.values;/***/},/* 188 */ /***/function(module,exports,__w_pdfjs_require__){var $=__w_pdfjs_require__(5);var $values=__w_pdfjs_require__(189).values;$({target:'Object',stat:true},{values:function values(O){return $values(O);}});/***/},/* 189 */ /***/function(module,exports,__w_pdfjs_require__){var DESCRIPTORS=__w_pdfjs_require__(8);var objectKeys=__w_pdfjs_require__(69);var toIndexedObject=__w_pdfjs_require__(12);var propertyIsEnumerable=__w_pdfjs_require__(10).f;var createMethod=function createMethod(TO_ENTRIES){return function(it){var O=toIndexedObject(it);var keys=objectKeys(O);var length=keys.length;var i=0;var result=[];var key;while(length>i){key=keys[i++];if(!DESCRIPTORS||propertyIsEnumerable.call(O,key)){result.push(TO_ENTRIES?[key,O[key]]:O[key]);}}return result;};};module.exports={entries:createMethod(true),values:createMethod(false)};/***/},/* 190 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getDocument=getDocument;exports.setPDFNetworkStreamFactory=setPDFNetworkStreamFactory;exports.build=exports.version=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFWorker=exports.PDFDataRangeTransport=exports.LoopbackPort=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);var _display_utils=__w_pdfjs_require__(194);var _font_loader=__w_pdfjs_require__(195);var _api_compatibility=__w_pdfjs_require__(196);var _canvas=__w_pdfjs_require__(197);var _worker_options=__w_pdfjs_require__(199);var _is_node=__w_pdfjs_require__(48);var _message_handler=__w_pdfjs_require__(200);var _metadata=__w_pdfjs_require__(201);var _transport_stream=__w_pdfjs_require__(203);var _webgl=__w_pdfjs_require__(204);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj};}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===\"[object Arguments]\")){return;}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i[\"return\"]!=null)_i[\"return\"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\");}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)===\"[object Arguments]\")return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}var DEFAULT_RANGE_CHUNK_SIZE=65536;var RENDERING_CANCELLED_TIMEOUT=100;var createPDFNetworkStream;function setPDFNetworkStreamFactory(pdfNetworkStreamFactory){createPDFNetworkStream=pdfNetworkStreamFactory;}function getDocument(src){var task=new PDFDocumentLoadingTask();var source;if(typeof src===\"string\"){source={url:src};}else if((0,_util.isArrayBuffer)(src)){source={data:src};}else if(src instanceof PDFDataRangeTransport){source={range:src};}else{if(_typeof(src)!==\"object\"){throw new Error(\"Invalid parameter in getDocument, \"+\"need either Uint8Array, string or a parameter object\");}if(!src.url&&!src.data&&!src.range){throw new Error(\"Invalid parameter object: need either .data, .range or .url\");}source=src;}var params=Object.create(null);var rangeTransport=null,worker=null;for(var key in source){if(key===\"url\"&&typeof window!==\"undefined\"){params[key]=new URL(source[key],window.location).href;continue;}else if(key===\"range\"){rangeTransport=source[key];continue;}else if(key===\"worker\"){worker=source[key];continue;}else if(key===\"data\"&&!(source[key]instanceof Uint8Array)){var pdfBytes=source[key];if(typeof pdfBytes===\"string\"){params[key]=(0,_util.stringToBytes)(pdfBytes);}else if(_typeof(pdfBytes)===\"object\"&&pdfBytes!==null&&!isNaN(pdfBytes.length)){params[key]=new Uint8Array(pdfBytes);}else if((0,_util.isArrayBuffer)(pdfBytes)){params[key]=new Uint8Array(pdfBytes);}else{throw new Error(\"Invalid PDF binary data: either typed array, \"+\"string or array-like object is expected in the \"+\"data property.\");}continue;}params[key]=source[key];}params.rangeChunkSize=params.rangeChunkSize||DEFAULT_RANGE_CHUNK_SIZE;params.CMapReaderFactory=params.CMapReaderFactory||_display_utils.DOMCMapReaderFactory;params.ignoreErrors=params.stopAtErrors!==true;params.pdfBug=params.pdfBug===true;var NativeImageDecoderValues=Object.values(_util.NativeImageDecoding);if(params.nativeImageDecoderSupport===undefined||!NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)){params.nativeImageDecoderSupport=_api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport||_util.NativeImageDecoding.DECODE;}if(!Number.isInteger(params.maxImageSize)){params.maxImageSize=-1;}if(typeof params.isEvalSupported!==\"boolean\"){params.isEvalSupported=true;}if(typeof params.disableFontFace!==\"boolean\"){params.disableFontFace=_api_compatibility.apiCompatibilityParams.disableFontFace||false;}if(typeof params.disableRange!==\"boolean\"){params.disableRange=false;}if(typeof params.disableStream!==\"boolean\"){params.disableStream=false;}if(typeof params.disableAutoFetch!==\"boolean\"){params.disableAutoFetch=false;}if(typeof params.disableCreateObjectURL!==\"boolean\"){params.disableCreateObjectURL=_api_compatibility.apiCompatibilityParams.disableCreateObjectURL||false;}(0,_util.setVerbosityLevel)(params.verbosity);if(!worker){var workerParams={verbosity:params.verbosity,port:_worker_options.GlobalWorkerOptions.workerPort};worker=workerParams.port?PDFWorker.fromPort(workerParams):new PDFWorker(workerParams);task._worker=worker;}var docId=task.docId;worker.promise.then(function(){if(task.destroyed){throw new Error(\"Loading aborted\");}return _fetchDocument(worker,params,rangeTransport,docId).then(function(workerId){if(task.destroyed){throw new Error(\"Loading aborted\");}var networkStream;if(rangeTransport){networkStream=new _transport_stream.PDFDataTransportStream({length:params.length,initialData:params.initialData,progressiveDone:params.progressiveDone,disableRange:params.disableRange,disableStream:params.disableStream},rangeTransport);}else if(!params.data){networkStream=createPDFNetworkStream({url:params.url,length:params.length,httpHeaders:params.httpHeaders,withCredentials:params.withCredentials,rangeChunkSize:params.rangeChunkSize,disableRange:params.disableRange,disableStream:params.disableStream});}var messageHandler=new _message_handler.MessageHandler(docId,workerId,worker.port);messageHandler.postMessageTransfers=worker.postMessageTransfers;var transport=new WorkerTransport(messageHandler,task,networkStream,params);task._transport=transport;messageHandler.send(\"Ready\",null);});})[\"catch\"](task._capability.reject);return task;}function _fetchDocument(worker,source,pdfDataRangeTransport,docId){if(worker.destroyed){return Promise.reject(new Error(\"Worker was destroyed\"));}if(pdfDataRangeTransport){source.length=pdfDataRangeTransport.length;source.initialData=pdfDataRangeTransport.initialData;source.progressiveDone=pdfDataRangeTransport.progressiveDone;}return worker.messageHandler.sendWithPromise(\"GetDocRequest\",{docId:docId,apiVersion:'2.4.456',source:{data:source.data,url:source.url,password:source.password,disableAutoFetch:source.disableAutoFetch,rangeChunkSize:source.rangeChunkSize,length:source.length},maxImageSize:source.maxImageSize,disableFontFace:source.disableFontFace,disableCreateObjectURL:source.disableCreateObjectURL,postMessageTransfers:worker.postMessageTransfers,docBaseUrl:source.docBaseUrl,nativeImageDecoderSupport:source.nativeImageDecoderSupport,ignoreErrors:source.ignoreErrors,isEvalSupported:source.isEvalSupported}).then(function(workerId){if(worker.destroyed){throw new Error(\"Worker was destroyed\");}return workerId;});}var PDFDocumentLoadingTask=function PDFDocumentLoadingTaskClosure(){var nextDocumentId=0;var PDFDocumentLoadingTask=/*#__PURE__*/function(){function PDFDocumentLoadingTask(){_classCallCheck(this,PDFDocumentLoadingTask);this._capability=(0,_util.createPromiseCapability)();this._transport=null;this._worker=null;this.docId=\"d\"+nextDocumentId++;this.destroyed=false;this.onPassword=null;this.onProgress=null;this.onUnsupportedFeature=null;}_createClass(PDFDocumentLoadingTask,[{key:\"destroy\",value:function destroy(){var _this=this;this.destroyed=true;var transportDestroyed=!this._transport?Promise.resolve():this._transport.destroy();return transportDestroyed.then(function(){_this._transport=null;if(_this._worker){_this._worker.destroy();_this._worker=null;}});}},{key:\"then\",value:function then(onFulfilled,onRejected){throw new Error(\"Removed API method: \"+\"PDFDocumentLoadingTask.then, use the `promise` getter instead.\");}},{key:\"promise\",get:function get(){return this._capability.promise;}}]);return PDFDocumentLoadingTask;}();return PDFDocumentLoadingTask;}();var PDFDataRangeTransport=/*#__PURE__*/function(){function PDFDataRangeTransport(length,initialData){var progressiveDone=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;_classCallCheck(this,PDFDataRangeTransport);this.length=length;this.initialData=initialData;this.progressiveDone=progressiveDone;this._rangeListeners=[];this._progressListeners=[];this._progressiveReadListeners=[];this._progressiveDoneListeners=[];this._readyCapability=(0,_util.createPromiseCapability)();}_createClass(PDFDataRangeTransport,[{key:\"addRangeListener\",value:function addRangeListener(listener){this._rangeListeners.push(listener);}},{key:\"addProgressListener\",value:function addProgressListener(listener){this._progressListeners.push(listener);}},{key:\"addProgressiveReadListener\",value:function addProgressiveReadListener(listener){this._progressiveReadListeners.push(listener);}},{key:\"addProgressiveDoneListener\",value:function addProgressiveDoneListener(listener){this._progressiveDoneListeners.push(listener);}},{key:\"onDataRange\",value:function onDataRange(begin,chunk){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this._rangeListeners[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var listener=_step.value;listener(begin,chunk);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}}},{key:\"onDataProgress\",value:function onDataProgress(loaded,total){var _this2=this;this._readyCapability.promise.then(function(){var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=_this2._progressListeners[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var listener=_step2.value;listener(loaded,total);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2[\"return\"]!=null){_iterator2[\"return\"]();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}});}},{key:\"onDataProgressiveRead\",value:function onDataProgressiveRead(chunk){var _this3=this;this._readyCapability.promise.then(function(){var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=_this3._progressiveReadListeners[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var listener=_step3.value;listener(chunk);}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3[\"return\"]!=null){_iterator3[\"return\"]();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}});}},{key:\"onDataProgressiveDone\",value:function onDataProgressiveDone(){var _this4=this;this._readyCapability.promise.then(function(){var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{for(var _iterator4=_this4._progressiveDoneListeners[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){var listener=_step4.value;listener();}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4[\"return\"]!=null){_iterator4[\"return\"]();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}});}},{key:\"transportReady\",value:function transportReady(){this._readyCapability.resolve();}},{key:\"requestDataRange\",value:function requestDataRange(begin,end){(0,_util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");}},{key:\"abort\",value:function abort(){}}]);return PDFDataRangeTransport;}();exports.PDFDataRangeTransport=PDFDataRangeTransport;var PDFDocumentProxy=/*#__PURE__*/function(){function PDFDocumentProxy(pdfInfo,transport){_classCallCheck(this,PDFDocumentProxy);this._pdfInfo=pdfInfo;this._transport=transport;}_createClass(PDFDocumentProxy,[{key:\"getPage\",value:function getPage(pageNumber){return this._transport.getPage(pageNumber);}},{key:\"getPageIndex\",value:function getPageIndex(ref){return this._transport.getPageIndex(ref);}},{key:\"getDestinations\",value:function getDestinations(){return this._transport.getDestinations();}},{key:\"getDestination\",value:function getDestination(id){return this._transport.getDestination(id);}},{key:\"getPageLabels\",value:function getPageLabels(){return this._transport.getPageLabels();}},{key:\"getPageLayout\",value:function getPageLayout(){return this._transport.getPageLayout();}},{key:\"getPageMode\",value:function getPageMode(){return this._transport.getPageMode();}},{key:\"getViewerPreferences\",value:function getViewerPreferences(){return this._transport.getViewerPreferences();}},{key:\"getOpenAction\",value:function getOpenAction(){return this._transport.getOpenAction();}},{key:\"getOpenActionDestination\",value:function getOpenActionDestination(){(0,_display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");return this.getOpenAction().then(function(openAction){return openAction&&openAction.dest?openAction.dest:null;});}},{key:\"getAttachments\",value:function getAttachments(){return this._transport.getAttachments();}},{key:\"getJavaScript\",value:function getJavaScript(){return this._transport.getJavaScript();}},{key:\"getOutline\",value:function getOutline(){return this._transport.getOutline();}},{key:\"getPermissions\",value:function getPermissions(){return this._transport.getPermissions();}},{key:\"getMetadata\",value:function getMetadata(){return this._transport.getMetadata();}},{key:\"getData\",value:function getData(){return this._transport.getData();}},{key:\"getDownloadInfo\",value:function getDownloadInfo(){return this._transport.downloadInfoCapability.promise;}},{key:\"getStats\",value:function getStats(){return this._transport.getStats();}},{key:\"cleanup\",value:function cleanup(){return this._transport.startCleanup();}},{key:\"destroy\",value:function destroy(){return this.loadingTask.destroy();}},{key:\"numPages\",get:function get(){return this._pdfInfo.numPages;}},{key:\"fingerprint\",get:function get(){return this._pdfInfo.fingerprint;}},{key:\"loadingParams\",get:function get(){return this._transport.loadingParams;}},{key:\"loadingTask\",get:function get(){return this._transport.loadingTask;}}]);return PDFDocumentProxy;}();exports.PDFDocumentProxy=PDFDocumentProxy;var PDFPageProxy=/*#__PURE__*/function(){function PDFPageProxy(pageIndex,pageInfo,transport){var pdfBug=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;_classCallCheck(this,PDFPageProxy);this._pageIndex=pageIndex;this._pageInfo=pageInfo;this._transport=transport;this._stats=pdfBug?new _display_utils.StatTimer():null;this._pdfBug=pdfBug;this.commonObjs=transport.commonObjs;this.objs=new PDFObjects();this.cleanupAfterRender=false;this.pendingCleanup=false;this.intentStates=Object.create(null);this.destroyed=false;}_createClass(PDFPageProxy,[{key:\"getViewport\",value:function getViewport(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},scale=_ref.scale,_ref$rotation=_ref.rotation,rotation=_ref$rotation===void 0?this.rotate:_ref$rotation,_ref$offsetX=_ref.offsetX,offsetX=_ref$offsetX===void 0?0:_ref$offsetX,_ref$offsetY=_ref.offsetY,offsetY=_ref$offsetY===void 0?0:_ref$offsetY,_ref$dontFlip=_ref.dontFlip,dontFlip=_ref$dontFlip===void 0?false:_ref$dontFlip;if(arguments.length>1||typeof arguments[0]===\"number\"){throw new Error(\"PDFPageProxy.getViewport is called with obsolete arguments.\");}return new _display_utils.PageViewport({viewBox:this.view,scale:scale,rotation:rotation,offsetX:offsetX,offsetY:offsetY,dontFlip:dontFlip});}},{key:\"getAnnotations\",value:function getAnnotations(){var _ref2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref2$intent=_ref2.intent,intent=_ref2$intent===void 0?null:_ref2$intent;if(!this.annotationsPromise||this.annotationsIntent!==intent){this.annotationsPromise=this._transport.getAnnotations(this._pageIndex,intent);this.annotationsIntent=intent;}return this.annotationsPromise;}},{key:\"render\",value:function render(_ref3){var _this5=this;var canvasContext=_ref3.canvasContext,viewport=_ref3.viewport,_ref3$intent=_ref3.intent,intent=_ref3$intent===void 0?\"display\":_ref3$intent,_ref3$enableWebGL=_ref3.enableWebGL,enableWebGL=_ref3$enableWebGL===void 0?false:_ref3$enableWebGL,_ref3$renderInteracti=_ref3.renderInteractiveForms,renderInteractiveForms=_ref3$renderInteracti===void 0?false:_ref3$renderInteracti,_ref3$transform=_ref3.transform,transform=_ref3$transform===void 0?null:_ref3$transform,_ref3$imageLayer=_ref3.imageLayer,imageLayer=_ref3$imageLayer===void 0?null:_ref3$imageLayer,_ref3$canvasFactory=_ref3.canvasFactory,canvasFactory=_ref3$canvasFactory===void 0?null:_ref3$canvasFactory,_ref3$background=_ref3.background,background=_ref3$background===void 0?null:_ref3$background;if(this._stats){this._stats.time(\"Overall\");}var renderingIntent=intent===\"print\"?\"print\":\"display\";this.pendingCleanup=false;if(!this.intentStates[renderingIntent]){this.intentStates[renderingIntent]=Object.create(null);}var intentState=this.intentStates[renderingIntent];if(intentState.streamReaderCancelTimeout){clearTimeout(intentState.streamReaderCancelTimeout);intentState.streamReaderCancelTimeout=null;}var canvasFactoryInstance=canvasFactory||new _display_utils.DOMCanvasFactory();var webGLContext=new _webgl.WebGLContext({enable:enableWebGL});if(!intentState.displayReadyCapability){intentState.displayReadyCapability=(0,_util.createPromiseCapability)();intentState.operatorList={fnArray:[],argsArray:[],lastChunk:false};if(this._stats){this._stats.time(\"Page Request\");}this._pumpOperatorList({pageIndex:this._pageIndex,intent:renderingIntent,renderInteractiveForms:renderInteractiveForms===true});}var complete=function complete(error){var i=intentState.renderTasks.indexOf(internalRenderTask);if(i>=0){intentState.renderTasks.splice(i,1);}if(_this5.cleanupAfterRender||renderingIntent===\"print\"){_this5.pendingCleanup=true;}_this5._tryCleanup();if(error){internalRenderTask.capability.reject(error);_this5._abortOperatorList({intentState:intentState,reason:error});}else{internalRenderTask.capability.resolve();}if(_this5._stats){_this5._stats.timeEnd(\"Rendering\");_this5._stats.timeEnd(\"Overall\");}};var internalRenderTask=new InternalRenderTask({callback:complete,params:{canvasContext:canvasContext,viewport:viewport,transform:transform,imageLayer:imageLayer,background:background},objs:this.objs,commonObjs:this.commonObjs,operatorList:intentState.operatorList,pageIndex:this._pageIndex,canvasFactory:canvasFactoryInstance,webGLContext:webGLContext,useRequestAnimationFrame:renderingIntent!==\"print\",pdfBug:this._pdfBug});if(!intentState.renderTasks){intentState.renderTasks=[];}intentState.renderTasks.push(internalRenderTask);var renderTask=internalRenderTask.task;intentState.displayReadyCapability.promise.then(function(transparency){if(_this5.pendingCleanup){complete();return;}if(_this5._stats){_this5._stats.time(\"Rendering\");}internalRenderTask.initializeGraphics(transparency);internalRenderTask.operatorListChanged();})[\"catch\"](complete);return renderTask;}},{key:\"getOperatorList\",value:function getOperatorList(){function operatorListChanged(){if(intentState.operatorList.lastChunk){intentState.opListReadCapability.resolve(intentState.operatorList);var i=intentState.renderTasks.indexOf(opListTask);if(i>=0){intentState.renderTasks.splice(i,1);}}}var renderingIntent=\"oplist\";if(!this.intentStates[renderingIntent]){this.intentStates[renderingIntent]=Object.create(null);}var intentState=this.intentStates[renderingIntent];var opListTask;if(!intentState.opListReadCapability){opListTask={};opListTask.operatorListChanged=operatorListChanged;intentState.opListReadCapability=(0,_util.createPromiseCapability)();intentState.renderTasks=[];intentState.renderTasks.push(opListTask);intentState.operatorList={fnArray:[],argsArray:[],lastChunk:false};if(this._stats){this._stats.time(\"Page Request\");}this._pumpOperatorList({pageIndex:this._pageIndex,intent:renderingIntent});}return intentState.opListReadCapability.promise;}},{key:\"streamTextContent\",value:function streamTextContent(){var _ref4=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref4$normalizeWhites=_ref4.normalizeWhitespace,normalizeWhitespace=_ref4$normalizeWhites===void 0?false:_ref4$normalizeWhites,_ref4$disableCombineT=_ref4.disableCombineTextItems,disableCombineTextItems=_ref4$disableCombineT===void 0?false:_ref4$disableCombineT;var TEXT_CONTENT_CHUNK_SIZE=100;return this._transport.messageHandler.sendWithStream(\"GetTextContent\",{pageIndex:this._pageIndex,normalizeWhitespace:normalizeWhitespace===true,combineTextItems:disableCombineTextItems!==true},{highWaterMark:TEXT_CONTENT_CHUNK_SIZE,size:function size(textContent){return textContent.items.length;}});}},{key:\"getTextContent\",value:function getTextContent(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var readableStream=this.streamTextContent(params);return new Promise(function(resolve,reject){function pump(){reader.read().then(function(_ref5){var _textContent$items;var value=_ref5.value,done=_ref5.done;if(done){resolve(textContent);return;}Object.assign(textContent.styles,value.styles);(_textContent$items=textContent.items).push.apply(_textContent$items,_toConsumableArray(value.items));pump();},reject);}var reader=readableStream.getReader();var textContent={items:[],styles:Object.create(null)};pump();});}},{key:\"_destroy\",value:function _destroy(){var _this6=this;this.destroyed=true;this._transport.pageCache[this._pageIndex]=null;var waitOn=[];Object.keys(this.intentStates).forEach(function(intent){var intentState=_this6.intentStates[intent];_this6._abortOperatorList({intentState:intentState,reason:new Error(\"Page was destroyed.\"),force:true});if(intent===\"oplist\"){return;}intentState.renderTasks.forEach(function(renderTask){var renderCompleted=renderTask.capability.promise[\"catch\"](function(){});waitOn.push(renderCompleted);renderTask.cancel();});});this.objs.clear();this.annotationsPromise=null;this.pendingCleanup=false;return Promise.all(waitOn);}},{key:\"cleanup\",value:function cleanup(){var resetStats=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;this.pendingCleanup=true;return this._tryCleanup(resetStats);}},{key:\"_tryCleanup\",value:function _tryCleanup(){var _this7=this;var resetStats=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(!this.pendingCleanup||Object.keys(this.intentStates).some(function(intent){var intentState=_this7.intentStates[intent];return intentState.renderTasks.length!==0||!intentState.operatorList.lastChunk;})){return false;}Object.keys(this.intentStates).forEach(function(intent){delete _this7.intentStates[intent];});this.objs.clear();this.annotationsPromise=null;if(resetStats&&this._stats){this._stats=new _display_utils.StatTimer();}this.pendingCleanup=false;return true;}},{key:\"_startRenderPage\",value:function _startRenderPage(transparency,intent){var intentState=this.intentStates[intent];if(!intentState){return;}if(this._stats){this._stats.timeEnd(\"Page Request\");}if(intentState.displayReadyCapability){intentState.displayReadyCapability.resolve(transparency);}}},{key:\"_renderPageChunk\",value:function _renderPageChunk(operatorListChunk,intentState){for(var i=0,ii=operatorListChunk.length;i<ii;i++){intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);}intentState.operatorList.lastChunk=operatorListChunk.lastChunk;for(var _i=0;_i<intentState.renderTasks.length;_i++){intentState.renderTasks[_i].operatorListChanged();}if(operatorListChunk.lastChunk){this._tryCleanup();}}},{key:\"_pumpOperatorList\",value:function _pumpOperatorList(args){var _this8=this;(0,_util.assert)(args.intent,'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');var readableStream=this._transport.messageHandler.sendWithStream(\"GetOperatorList\",args);var reader=readableStream.getReader();var intentState=this.intentStates[args.intent];intentState.streamReader=reader;var pump=function pump(){reader.read().then(function(_ref6){var value=_ref6.value,done=_ref6.done;if(done){intentState.streamReader=null;return;}if(_this8._transport.destroyed){return;}_this8._renderPageChunk(value,intentState);pump();},function(reason){intentState.streamReader=null;if(_this8._transport.destroyed){return;}if(intentState.operatorList){intentState.operatorList.lastChunk=true;for(var i=0;i<intentState.renderTasks.length;i++){intentState.renderTasks[i].operatorListChanged();}_this8._tryCleanup();}if(intentState.displayReadyCapability){intentState.displayReadyCapability.reject(reason);}else if(intentState.opListReadCapability){intentState.opListReadCapability.reject(reason);}else{throw reason;}});};pump();}},{key:\"_abortOperatorList\",value:function _abortOperatorList(_ref7){var _this9=this;var intentState=_ref7.intentState,reason=_ref7.reason,_ref7$force=_ref7.force,force=_ref7$force===void 0?false:_ref7$force;(0,_util.assert)(reason instanceof Error||_typeof(reason)===\"object\"&&reason!==null,'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');if(!intentState.streamReader){return;}if(!force){if(intentState.renderTasks.length!==0){return;}if(reason instanceof _display_utils.RenderingCancelledException){intentState.streamReaderCancelTimeout=setTimeout(function(){_this9._abortOperatorList({intentState:intentState,reason:reason,force:true});intentState.streamReaderCancelTimeout=null;},RENDERING_CANCELLED_TIMEOUT);return;}}intentState.streamReader.cancel(new _util.AbortException(reason&&reason.message));intentState.streamReader=null;if(this._transport.destroyed){return;}Object.keys(this.intentStates).some(function(intent){if(_this9.intentStates[intent]===intentState){delete _this9.intentStates[intent];return true;}return false;});this.cleanup();}},{key:\"pageNumber\",get:function get(){return this._pageIndex+1;}},{key:\"rotate\",get:function get(){return this._pageInfo.rotate;}},{key:\"ref\",get:function get(){return this._pageInfo.ref;}},{key:\"userUnit\",get:function get(){return this._pageInfo.userUnit;}},{key:\"view\",get:function get(){return this._pageInfo.view;}},{key:\"stats\",get:function get(){return this._stats;}}]);return PDFPageProxy;}();exports.PDFPageProxy=PDFPageProxy;var LoopbackPort=/*#__PURE__*/function(){function LoopbackPort(){var defer=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;_classCallCheck(this,LoopbackPort);this._listeners=[];this._defer=defer;this._deferred=Promise.resolve(undefined);}_createClass(LoopbackPort,[{key:\"postMessage\",value:function postMessage(obj,transfers){var _this10=this;function cloneValue(value){if(_typeof(value)!==\"object\"||value===null){return value;}if(cloned.has(value)){return cloned.get(value);}var buffer,result;if((buffer=value.buffer)&&(0,_util.isArrayBuffer)(buffer)){var transferable=transfers&&transfers.includes(buffer);if(transferable){result=new value.constructor(buffer,value.byteOffset,value.byteLength);}else{result=new value.constructor(value);}cloned.set(value,result);return result;}result=Array.isArray(value)?[]:{};cloned.set(value,result);for(var i in value){var desc=void 0,p=value;while(!(desc=Object.getOwnPropertyDescriptor(p,i))){p=Object.getPrototypeOf(p);}if(typeof desc.value===\"undefined\"){continue;}if(typeof desc.value===\"function\"){if(value.hasOwnProperty&&value.hasOwnProperty(i)){throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));}continue;}result[i]=cloneValue(desc.value);}return result;}if(!this._defer){this._listeners.forEach(function(listener){listener.call(_this10,{data:obj});});return;}var cloned=new WeakMap();var e={data:cloneValue(obj)};this._deferred.then(function(){_this10._listeners.forEach(function(listener){listener.call(_this10,e);});});}},{key:\"addEventListener\",value:function addEventListener(name,listener){this._listeners.push(listener);}},{key:\"removeEventListener\",value:function removeEventListener(name,listener){var i=this._listeners.indexOf(listener);this._listeners.splice(i,1);}},{key:\"terminate\",value:function terminate(){this._listeners.length=0;}}]);return LoopbackPort;}();exports.LoopbackPort=LoopbackPort;var PDFWorker=function PDFWorkerClosure(){var pdfWorkerPorts=new WeakMap();var isWorkerDisabled=false;var fallbackWorkerSrc;var nextFakeWorkerId=0;var fakeWorkerCapability;if(_is_node.isNodeJS&&\"function\"===\"function\"){isWorkerDisabled=true;fallbackWorkerSrc=\"./pdf.worker.js\";}else if((typeof document===\"undefined\"?\"undefined\":_typeof(document))===\"object\"&&\"currentScript\"in document){var pdfjsFilePath=document.currentScript&&document.currentScript.src;if(pdfjsFilePath){fallbackWorkerSrc=pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i,\".worker$1$2\");}}function _getWorkerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc){return _worker_options.GlobalWorkerOptions.workerSrc;}if(typeof fallbackWorkerSrc!==\"undefined\"){if(!_is_node.isNodeJS){(0,_display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');}return fallbackWorkerSrc;}throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');}function getMainThreadWorkerMessageHandler(){var mainWorkerMessageHandler;try{mainWorkerMessageHandler=globalThis.pdfjsWorker&&globalThis.pdfjsWorker.WorkerMessageHandler;}catch(ex){}return mainWorkerMessageHandler||null;}function setupFakeWorkerGlobal(){if(fakeWorkerCapability){return fakeWorkerCapability.promise;}fakeWorkerCapability=(0,_util.createPromiseCapability)();var loader=/*#__PURE__*/function(){var _ref8=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(){var mainWorkerMessageHandler,worker;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:mainWorkerMessageHandler=getMainThreadWorkerMessageHandler();if(!mainWorkerMessageHandler){_context.next=3;break;}return _context.abrupt(\"return\",mainWorkerMessageHandler);case 3:if(!(_is_node.isNodeJS&&\"function\"===\"function\")){_context.next=6;break;}worker=eval(\"require\")(_getWorkerSrc());return _context.abrupt(\"return\",worker.WorkerMessageHandler);case 6:_context.next=8;return(0,_display_utils.loadScript)(_getWorkerSrc());case 8:return _context.abrupt(\"return\",window.pdfjsWorker.WorkerMessageHandler);case 9:case\"end\":return _context.stop();}}},_callee);}));return function loader(){return _ref8.apply(this,arguments);};}();loader().then(fakeWorkerCapability.resolve,fakeWorkerCapability.reject);return fakeWorkerCapability.promise;}function createCDNWrapper(url){var wrapper=\"importScripts('\"+url+\"');\";return URL.createObjectURL(new Blob([wrapper]));}var PDFWorker=/*#__PURE__*/function(){function PDFWorker(){var _ref9=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref9$name=_ref9.name,name=_ref9$name===void 0?null:_ref9$name,_ref9$port=_ref9.port,port=_ref9$port===void 0?null:_ref9$port,_ref9$verbosity=_ref9.verbosity,verbosity=_ref9$verbosity===void 0?(0,_util.getVerbosityLevel)():_ref9$verbosity;_classCallCheck(this,PDFWorker);if(port&&pdfWorkerPorts.has(port)){throw new Error(\"Cannot use more than one PDFWorker per port\");}this.name=name;this.destroyed=false;this.postMessageTransfers=true;this.verbosity=verbosity;this._readyCapability=(0,_util.createPromiseCapability)();this._port=null;this._webWorker=null;this._messageHandler=null;if(port){pdfWorkerPorts.set(port,this);this._initializeFromPort(port);return;}this._initialize();}_createClass(PDFWorker,[{key:\"_initializeFromPort\",value:function _initializeFromPort(port){this._port=port;this._messageHandler=new _message_handler.MessageHandler(\"main\",\"worker\",port);this._messageHandler.on(\"ready\",function(){});this._readyCapability.resolve();}},{key:\"_initialize\",value:function _initialize(){var _this11=this;if(typeof Worker!==\"undefined\"&&!isWorkerDisabled&&!getMainThreadWorkerMessageHandler()){var workerSrc=_getWorkerSrc();try{if(!(0,_util.isSameOrigin)(window.location.href,workerSrc)){workerSrc=createCDNWrapper(new URL(workerSrc,window.location).href);}var worker=new Worker(workerSrc);var messageHandler=new _message_handler.MessageHandler(\"main\",\"worker\",worker);var terminateEarly=function terminateEarly(){worker.removeEventListener(\"error\",onWorkerError);messageHandler.destroy();worker.terminate();if(_this11.destroyed){_this11._readyCapability.reject(new Error(\"Worker was destroyed\"));}else{_this11._setupFakeWorker();}};var onWorkerError=function onWorkerError(){if(!_this11._webWorker){terminateEarly();}};worker.addEventListener(\"error\",onWorkerError);messageHandler.on(\"test\",function(data){worker.removeEventListener(\"error\",onWorkerError);if(_this11.destroyed){terminateEarly();return;}if(data){_this11._messageHandler=messageHandler;_this11._port=worker;_this11._webWorker=worker;if(!data.supportTransfers){_this11.postMessageTransfers=false;}_this11._readyCapability.resolve();messageHandler.send(\"configure\",{verbosity:_this11.verbosity});}else{_this11._setupFakeWorker();messageHandler.destroy();worker.terminate();}});messageHandler.on(\"ready\",function(data){worker.removeEventListener(\"error\",onWorkerError);if(_this11.destroyed){terminateEarly();return;}try{sendTest();}catch(e){_this11._setupFakeWorker();}});var sendTest=function sendTest(){var testObj=new Uint8Array([_this11.postMessageTransfers?255:0]);try{messageHandler.send(\"test\",testObj,[testObj.buffer]);}catch(ex){(0,_util.warn)(\"Cannot use postMessage transfers.\");testObj[0]=0;messageHandler.send(\"test\",testObj);}};sendTest();return;}catch(e){(0,_util.info)(\"The worker has been disabled.\");}}this._setupFakeWorker();}},{key:\"_setupFakeWorker\",value:function _setupFakeWorker(){var _this12=this;if(!isWorkerDisabled){(0,_util.warn)(\"Setting up fake worker.\");isWorkerDisabled=true;}setupFakeWorkerGlobal().then(function(WorkerMessageHandler){if(_this12.destroyed){_this12._readyCapability.reject(new Error(\"Worker was destroyed\"));return;}var port=new LoopbackPort();_this12._port=port;var id=\"fake\"+nextFakeWorkerId++;var workerHandler=new _message_handler.MessageHandler(id+\"_worker\",id,port);WorkerMessageHandler.setup(workerHandler,port);var messageHandler=new _message_handler.MessageHandler(id,id+\"_worker\",port);_this12._messageHandler=messageHandler;_this12._readyCapability.resolve();messageHandler.send(\"configure\",{verbosity:_this12.verbosity});})[\"catch\"](function(reason){_this12._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message,\"\\\".\")));});}},{key:\"destroy\",value:function destroy(){this.destroyed=true;if(this._webWorker){this._webWorker.terminate();this._webWorker=null;}pdfWorkerPorts[\"delete\"](this._port);this._port=null;if(this._messageHandler){this._messageHandler.destroy();this._messageHandler=null;}}},{key:\"promise\",get:function get(){return this._readyCapability.promise;}},{key:\"port\",get:function get(){return this._port;}},{key:\"messageHandler\",get:function get(){return this._messageHandler;}}],[{key:\"fromPort\",value:function fromPort(params){if(!params||!params.port){throw new Error(\"PDFWorker.fromPort - invalid method signature.\");}if(pdfWorkerPorts.has(params.port)){return pdfWorkerPorts.get(params.port);}return new PDFWorker(params);}},{key:\"getWorkerSrc\",value:function getWorkerSrc(){return _getWorkerSrc();}}]);return PDFWorker;}();return PDFWorker;}();exports.PDFWorker=PDFWorker;var WorkerTransport=/*#__PURE__*/function(){function WorkerTransport(messageHandler,loadingTask,networkStream,params){_classCallCheck(this,WorkerTransport);this.messageHandler=messageHandler;this.loadingTask=loadingTask;this.commonObjs=new PDFObjects();this.fontLoader=new _font_loader.FontLoader({docId:loadingTask.docId,onUnsupportedFeature:this._onUnsupportedFeature.bind(this)});this._params=params;this.CMapReaderFactory=new params.CMapReaderFactory({baseUrl:params.cMapUrl,isCompressed:params.cMapPacked});this.destroyed=false;this.destroyCapability=null;this._passwordCapability=null;this._networkStream=networkStream;this._fullReader=null;this._lastProgress=null;this.pageCache=[];this.pagePromises=[];this.downloadInfoCapability=(0,_util.createPromiseCapability)();this.setupMessageHandler();}_createClass(WorkerTransport,[{key:\"destroy\",value:function destroy(){var _this13=this;if(this.destroyCapability){return this.destroyCapability.promise;}this.destroyed=true;this.destroyCapability=(0,_util.createPromiseCapability)();if(this._passwordCapability){this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));}var waitOn=[];this.pageCache.forEach(function(page){if(page){waitOn.push(page._destroy());}});this.pageCache.length=0;this.pagePromises.length=0;var terminated=this.messageHandler.sendWithPromise(\"Terminate\",null);waitOn.push(terminated);Promise.all(waitOn).then(function(){_this13.fontLoader.clear();if(_this13._networkStream){_this13._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));}if(_this13.messageHandler){_this13.messageHandler.destroy();_this13.messageHandler=null;}_this13.destroyCapability.resolve();},this.destroyCapability.reject);return this.destroyCapability.promise;}},{key:\"setupMessageHandler\",value:function setupMessageHandler(){var _this14=this;var messageHandler=this.messageHandler,loadingTask=this.loadingTask;messageHandler.on(\"GetReader\",function(data,sink){(0,_util.assert)(_this14._networkStream);_this14._fullReader=_this14._networkStream.getFullReader();_this14._fullReader.onProgress=function(evt){_this14._lastProgress={loaded:evt.loaded,total:evt.total};};sink.onPull=function(){_this14._fullReader.read().then(function(_ref10){var value=_ref10.value,done=_ref10.done;if(done){sink.close();return;}(0,_util.assert)((0,_util.isArrayBuffer)(value));sink.enqueue(new Uint8Array(value),1,[value]);})[\"catch\"](function(reason){sink.error(reason);});};sink.onCancel=function(reason){_this14._fullReader.cancel(reason);};});messageHandler.on(\"ReaderHeadersReady\",function(data){var headersCapability=(0,_util.createPromiseCapability)();var fullReader=_this14._fullReader;fullReader.headersReady.then(function(){if(!fullReader.isStreamingSupported||!fullReader.isRangeSupported){if(_this14._lastProgress&&loadingTask.onProgress){loadingTask.onProgress(_this14._lastProgress);}fullReader.onProgress=function(evt){if(loadingTask.onProgress){loadingTask.onProgress({loaded:evt.loaded,total:evt.total});}};}headersCapability.resolve({isStreamingSupported:fullReader.isStreamingSupported,isRangeSupported:fullReader.isRangeSupported,contentLength:fullReader.contentLength});},headersCapability.reject);return headersCapability.promise;});messageHandler.on(\"GetRangeReader\",function(data,sink){(0,_util.assert)(_this14._networkStream);var rangeReader=_this14._networkStream.getRangeReader(data.begin,data.end);if(!rangeReader){sink.close();return;}sink.onPull=function(){rangeReader.read().then(function(_ref11){var value=_ref11.value,done=_ref11.done;if(done){sink.close();return;}(0,_util.assert)((0,_util.isArrayBuffer)(value));sink.enqueue(new Uint8Array(value),1,[value]);})[\"catch\"](function(reason){sink.error(reason);});};sink.onCancel=function(reason){rangeReader.cancel(reason);};});messageHandler.on(\"GetDoc\",function(_ref12){var pdfInfo=_ref12.pdfInfo;_this14._numPages=pdfInfo.numPages;loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo,_this14));});messageHandler.on(\"DocException\",function(ex){var reason;switch(ex.name){case\"PasswordException\":reason=new _util.PasswordException(ex.message,ex.code);break;case\"InvalidPDFException\":reason=new _util.InvalidPDFException(ex.message);break;case\"MissingPDFException\":reason=new _util.MissingPDFException(ex.message);break;case\"UnexpectedResponseException\":reason=new _util.UnexpectedResponseException(ex.message,ex.status);break;case\"UnknownErrorException\":reason=new _util.UnknownErrorException(ex.message,ex.details);break;}loadingTask._capability.reject(reason);});messageHandler.on(\"PasswordRequest\",function(exception){_this14._passwordCapability=(0,_util.createPromiseCapability)();if(loadingTask.onPassword){var updatePassword=function updatePassword(password){_this14._passwordCapability.resolve({password:password});};try{loadingTask.onPassword(updatePassword,exception.code);}catch(ex){_this14._passwordCapability.reject(ex);}}else{_this14._passwordCapability.reject(new _util.PasswordException(exception.message,exception.code));}return _this14._passwordCapability.promise;});messageHandler.on(\"DataLoaded\",function(data){if(loadingTask.onProgress){loadingTask.onProgress({loaded:data.length,total:data.length});}_this14.downloadInfoCapability.resolve(data);});messageHandler.on(\"StartRenderPage\",function(data){if(_this14.destroyed){return;}var page=_this14.pageCache[data.pageIndex];page._startRenderPage(data.transparency,data.intent);});messageHandler.on(\"commonobj\",function(data){if(_this14.destroyed){return;}var _data=_slicedToArray(data,3),id=_data[0],type=_data[1],exportedData=_data[2];if(_this14.commonObjs.has(id)){return;}switch(type){case\"Font\":var params=_this14._params;if(\"error\"in exportedData){var exportedError=exportedData.error;(0,_util.warn)(\"Error during font loading: \".concat(exportedError));_this14.commonObjs.resolve(id,exportedError);break;}var fontRegistry=null;if(params.pdfBug&&globalThis.FontInspector&&globalThis.FontInspector.enabled){fontRegistry={registerFont:function registerFont(font,url){globalThis.FontInspector.fontAdded(font,url);}};}var font=new _font_loader.FontFaceObject(exportedData,{isEvalSupported:params.isEvalSupported,disableFontFace:params.disableFontFace,ignoreErrors:params.ignoreErrors,onUnsupportedFeature:_this14._onUnsupportedFeature.bind(_this14),fontRegistry:fontRegistry});_this14.fontLoader.bind(font).then(function(){_this14.commonObjs.resolve(id,font);},function(reason){messageHandler.sendWithPromise(\"FontFallback\",{id:id})[\"finally\"](function(){_this14.commonObjs.resolve(id,font);});});break;case\"FontPath\":case\"FontType3Res\":_this14.commonObjs.resolve(id,exportedData);break;default:throw new Error(\"Got unknown common object type \".concat(type));}});messageHandler.on(\"obj\",function(data){if(_this14.destroyed){return undefined;}var _data2=_slicedToArray(data,4),id=_data2[0],pageIndex=_data2[1],type=_data2[2],imageData=_data2[3];var pageProxy=_this14.pageCache[pageIndex];if(pageProxy.objs.has(id)){return undefined;}switch(type){case\"JpegStream\":return new Promise(function(resolve,reject){var img=new Image();img.onload=function(){resolve(img);};img.onerror=function(){reject(new Error(\"Error during JPEG image loading\"));(0,_display_utils.releaseImageResources)(img);};img.src=imageData;}).then(function(img){pageProxy.objs.resolve(id,img);});case\"Image\":pageProxy.objs.resolve(id,imageData);var MAX_IMAGE_SIZE_TO_STORE=8000000;if(imageData&&\"data\"in imageData&&imageData.data.length>MAX_IMAGE_SIZE_TO_STORE){pageProxy.cleanupAfterRender=true;}break;default:throw new Error(\"Got unknown object type \".concat(type));}return undefined;});messageHandler.on(\"DocProgress\",function(data){if(_this14.destroyed){return;}if(loadingTask.onProgress){loadingTask.onProgress({loaded:data.loaded,total:data.total});}});messageHandler.on(\"UnsupportedFeature\",this._onUnsupportedFeature.bind(this));messageHandler.on(\"JpegDecode\",function(data){if(_this14.destroyed){return Promise.reject(new Error(\"Worker was destroyed\"));}if(typeof document===\"undefined\"){return Promise.reject(new Error('\"document\" is not defined.'));}var _data3=_slicedToArray(data,2),imageUrl=_data3[0],components=_data3[1];if(components!==3&&components!==1){return Promise.reject(new Error(\"Only 3 components or 1 component can be returned\"));}return new Promise(function(resolve,reject){var img=new Image();img.onload=function(){var width=img.width,height=img.height;var size=width*height;var rgbaLength=size*4;var buf=new Uint8ClampedArray(size*components);var tmpCanvas=document.createElement(\"canvas\");tmpCanvas.width=width;tmpCanvas.height=height;var tmpCtx=tmpCanvas.getContext(\"2d\");tmpCtx.drawImage(img,0,0);var data=tmpCtx.getImageData(0,0,width,height).data;if(components===3){for(var i=0,j=0;i<rgbaLength;i+=4,j+=3){buf[j]=data[i];buf[j+1]=data[i+1];buf[j+2]=data[i+2];}}else if(components===1){for(var _i2=0,_j=0;_i2<rgbaLength;_i2+=4,_j++){buf[_j]=data[_i2];}}resolve({data:buf,width:width,height:height});(0,_display_utils.releaseImageResources)(img);tmpCanvas.width=0;tmpCanvas.height=0;tmpCanvas=null;tmpCtx=null;};img.onerror=function(){reject(new Error(\"JpegDecode failed to load image\"));(0,_display_utils.releaseImageResources)(img);};img.src=imageUrl;});});messageHandler.on(\"FetchBuiltInCMap\",function(data,sink){if(_this14.destroyed){sink.error(new Error(\"Worker was destroyed\"));return;}var fetched=false;sink.onPull=function(){if(fetched){sink.close();return;}fetched=true;_this14.CMapReaderFactory.fetch(data).then(function(builtInCMap){sink.enqueue(builtInCMap,1,[builtInCMap.cMapData.buffer]);})[\"catch\"](function(reason){sink.error(reason);});};});}},{key:\"_onUnsupportedFeature\",value:function _onUnsupportedFeature(_ref13){var featureId=_ref13.featureId;if(this.destroyed){return;}if(this.loadingTask.onUnsupportedFeature){this.loadingTask.onUnsupportedFeature(featureId);}}},{key:\"getData\",value:function getData(){return this.messageHandler.sendWithPromise(\"GetData\",null);}},{key:\"getPage\",value:function getPage(pageNumber){var _this15=this;if(!Number.isInteger(pageNumber)||pageNumber<=0||pageNumber>this._numPages){return Promise.reject(new Error(\"Invalid page request\"));}var pageIndex=pageNumber-1;if(pageIndex in this.pagePromises){return this.pagePromises[pageIndex];}var promise=this.messageHandler.sendWithPromise(\"GetPage\",{pageIndex:pageIndex}).then(function(pageInfo){if(_this15.destroyed){throw new Error(\"Transport destroyed\");}var page=new PDFPageProxy(pageIndex,pageInfo,_this15,_this15._params.pdfBug);_this15.pageCache[pageIndex]=page;return page;});this.pagePromises[pageIndex]=promise;return promise;}},{key:\"getPageIndex\",value:function getPageIndex(ref){return this.messageHandler.sendWithPromise(\"GetPageIndex\",{ref:ref})[\"catch\"](function(reason){return Promise.reject(new Error(reason));});}},{key:\"getAnnotations\",value:function getAnnotations(pageIndex,intent){return this.messageHandler.sendWithPromise(\"GetAnnotations\",{pageIndex:pageIndex,intent:intent});}},{key:\"getDestinations\",value:function getDestinations(){return this.messageHandler.sendWithPromise(\"GetDestinations\",null);}},{key:\"getDestination\",value:function getDestination(id){if(typeof id!==\"string\"){return Promise.reject(new Error(\"Invalid destination request.\"));}return this.messageHandler.sendWithPromise(\"GetDestination\",{id:id});}},{key:\"getPageLabels\",value:function getPageLabels(){return this.messageHandler.sendWithPromise(\"GetPageLabels\",null);}},{key:\"getPageLayout\",value:function getPageLayout(){return this.messageHandler.sendWithPromise(\"GetPageLayout\",null);}},{key:\"getPageMode\",value:function getPageMode(){return this.messageHandler.sendWithPromise(\"GetPageMode\",null);}},{key:\"getViewerPreferences\",value:function getViewerPreferences(){return this.messageHandler.sendWithPromise(\"GetViewerPreferences\",null);}},{key:\"getOpenAction\",value:function getOpenAction(){return this.messageHandler.sendWithPromise(\"GetOpenAction\",null);}},{key:\"getAttachments\",value:function getAttachments(){return this.messageHandler.sendWithPromise(\"GetAttachments\",null);}},{key:\"getJavaScript\",value:function getJavaScript(){return this.messageHandler.sendWithPromise(\"GetJavaScript\",null);}},{key:\"getOutline\",value:function getOutline(){return this.messageHandler.sendWithPromise(\"GetOutline\",null);}},{key:\"getPermissions\",value:function getPermissions(){return this.messageHandler.sendWithPromise(\"GetPermissions\",null);}},{key:\"getMetadata\",value:function getMetadata(){var _this16=this;return this.messageHandler.sendWithPromise(\"GetMetadata\",null).then(function(results){return{info:results[0],metadata:results[1]?new _metadata.Metadata(results[1]):null,contentDispositionFilename:_this16._fullReader?_this16._fullReader.filename:null};});}},{key:\"getStats\",value:function getStats(){return this.messageHandler.sendWithPromise(\"GetStats\",null);}},{key:\"startCleanup\",value:function startCleanup(){var _this17=this;return this.messageHandler.sendWithPromise(\"Cleanup\",null).then(function(){for(var i=0,ii=_this17.pageCache.length;i<ii;i++){var page=_this17.pageCache[i];if(page){var cleanupSuccessful=page.cleanup();if(!cleanupSuccessful){throw new Error(\"startCleanup: Page \".concat(i+1,\" is currently rendering.\"));}}}_this17.commonObjs.clear();_this17.fontLoader.clear();});}},{key:\"loadingParams\",get:function get(){var params=this._params;return(0,_util.shadow)(this,\"loadingParams\",{disableAutoFetch:params.disableAutoFetch,disableCreateObjectURL:params.disableCreateObjectURL,disableFontFace:params.disableFontFace,nativeImageDecoderSupport:params.nativeImageDecoderSupport});}}]);return WorkerTransport;}();var PDFObjects=/*#__PURE__*/function(){function PDFObjects(){_classCallCheck(this,PDFObjects);this._objs=Object.create(null);}_createClass(PDFObjects,[{key:\"_ensureObj\",value:function _ensureObj(objId){if(this._objs[objId]){return this._objs[objId];}return this._objs[objId]={capability:(0,_util.createPromiseCapability)(),data:null,resolved:false};}},{key:\"get\",value:function get(objId){var callback=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(callback){this._ensureObj(objId).capability.promise.then(callback);return null;}var obj=this._objs[objId];if(!obj||!obj.resolved){throw new Error(\"Requesting object that isn't resolved yet \".concat(objId,\".\"));}return obj.data;}},{key:\"has\",value:function has(objId){var obj=this._objs[objId];return obj?obj.resolved:false;}},{key:\"resolve\",value:function resolve(objId,data){var obj=this._ensureObj(objId);obj.resolved=true;obj.data=data;obj.capability.resolve(data);}},{key:\"clear\",value:function clear(){for(var objId in this._objs){var data=this._objs[objId].data;if(typeof Image!==\"undefined\"&&data instanceof Image){(0,_display_utils.releaseImageResources)(data);}}this._objs=Object.create(null);}}]);return PDFObjects;}();var RenderTask=/*#__PURE__*/function(){function RenderTask(internalRenderTask){_classCallCheck(this,RenderTask);this._internalRenderTask=internalRenderTask;this.onContinue=null;}_createClass(RenderTask,[{key:\"cancel\",value:function cancel(){this._internalRenderTask.cancel();}},{key:\"then\",value:function then(onFulfilled,onRejected){throw new Error(\"Removed API method: \"+\"RenderTask.then, use the `promise` getter instead.\");}},{key:\"promise\",get:function get(){return this._internalRenderTask.capability.promise;}}]);return RenderTask;}();var InternalRenderTask=function InternalRenderTaskClosure(){var canvasInRendering=new WeakSet();var InternalRenderTask=/*#__PURE__*/function(){function InternalRenderTask(_ref14){var callback=_ref14.callback,params=_ref14.params,objs=_ref14.objs,commonObjs=_ref14.commonObjs,operatorList=_ref14.operatorList,pageIndex=_ref14.pageIndex,canvasFactory=_ref14.canvasFactory,webGLContext=_ref14.webGLContext,_ref14$useRequestAnim=_ref14.useRequestAnimationFrame,useRequestAnimationFrame=_ref14$useRequestAnim===void 0?false:_ref14$useRequestAnim,_ref14$pdfBug=_ref14.pdfBug,pdfBug=_ref14$pdfBug===void 0?false:_ref14$pdfBug;_classCallCheck(this,InternalRenderTask);this.callback=callback;this.params=params;this.objs=objs;this.commonObjs=commonObjs;this.operatorListIdx=null;this.operatorList=operatorList;this._pageIndex=pageIndex;this.canvasFactory=canvasFactory;this.webGLContext=webGLContext;this._pdfBug=pdfBug;this.running=false;this.graphicsReadyCallback=null;this.graphicsReady=false;this._useRequestAnimationFrame=useRequestAnimationFrame===true&&typeof window!==\"undefined\";this.cancelled=false;this.capability=(0,_util.createPromiseCapability)();this.task=new RenderTask(this);this._continueBound=this._continue.bind(this);this._scheduleNextBound=this._scheduleNext.bind(this);this._nextBound=this._next.bind(this);this._canvas=params.canvasContext.canvas;}_createClass(InternalRenderTask,[{key:\"initializeGraphics\",value:function initializeGraphics(){var transparency=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.cancelled){return;}if(this._canvas){if(canvasInRendering.has(this._canvas)){throw new Error(\"Cannot use the same canvas during multiple render() operations. \"+\"Use different canvas or ensure previous operations were \"+\"cancelled or completed.\");}canvasInRendering.add(this._canvas);}if(this._pdfBug&&globalThis.StepperManager&&globalThis.StepperManager.enabled){this.stepper=globalThis.StepperManager.create(this._pageIndex);this.stepper.init(this.operatorList);this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint();}var _this$params=this.params,canvasContext=_this$params.canvasContext,viewport=_this$params.viewport,transform=_this$params.transform,imageLayer=_this$params.imageLayer,background=_this$params.background;this.gfx=new _canvas.CanvasGraphics(canvasContext,this.commonObjs,this.objs,this.canvasFactory,this.webGLContext,imageLayer);this.gfx.beginDrawing({transform:transform,viewport:viewport,transparency:transparency,background:background});this.operatorListIdx=0;this.graphicsReady=true;if(this.graphicsReadyCallback){this.graphicsReadyCallback();}}},{key:\"cancel\",value:function cancel(){var error=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;this.running=false;this.cancelled=true;if(this.gfx){this.gfx.endDrawing();}if(this._canvas){canvasInRendering[\"delete\"](this._canvas);}this.callback(error||new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex+1),\"canvas\"));}},{key:\"operatorListChanged\",value:function operatorListChanged(){if(!this.graphicsReady){if(!this.graphicsReadyCallback){this.graphicsReadyCallback=this._continueBound;}return;}if(this.stepper){this.stepper.updateOperatorList(this.operatorList);}if(this.running){return;}this._continue();}},{key:\"_continue\",value:function _continue(){this.running=true;if(this.cancelled){return;}if(this.task.onContinue){this.task.onContinue(this._scheduleNextBound);}else{this._scheduleNext();}}},{key:\"_scheduleNext\",value:function _scheduleNext(){var _this18=this;if(this._useRequestAnimationFrame){window.requestAnimationFrame(function(){_this18._nextBound()[\"catch\"](_this18.cancel.bind(_this18));});}else{Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));}}},{key:\"_next\",value:function(){var _next2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(){return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!this.cancelled){_context2.next=2;break;}return _context2.abrupt(\"return\");case 2:this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper);if(this.operatorListIdx===this.operatorList.argsArray.length){this.running=false;if(this.operatorList.lastChunk){this.gfx.endDrawing();if(this._canvas){canvasInRendering[\"delete\"](this._canvas);}this.callback();}}case 4:case\"end\":return _context2.stop();}}},_callee2,this);}));function _next(){return _next2.apply(this,arguments);}return _next;}()}]);return InternalRenderTask;}();return InternalRenderTask;}();var version='2.4.456';exports.version=version;var build='228a591c';exports.build=build;/***/},/* 191 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";module.exports=__w_pdfjs_require__(192);/***/},/* 192 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";/* WEBPACK VAR INJECTION */(function(module){function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}var runtime=function(exports){\"use strict\";var Op=Object.prototype;var hasOwn=Op.hasOwnProperty;var undefined;var $Symbol=typeof Symbol===\"function\"?Symbol:{};var iteratorSymbol=$Symbol.iterator||\"@@iterator\";var asyncIteratorSymbol=$Symbol.asyncIterator||\"@@asyncIterator\";var toStringTagSymbol=$Symbol.toStringTag||\"@@toStringTag\";function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator;var generator=Object.create(protoGenerator.prototype);var context=new Context(tryLocsList||[]);generator._invoke=makeInvokeMethod(innerFn,self,context);return generator;}exports.wrap=wrap;function tryCatch(fn,obj,arg){try{return{type:\"normal\",arg:fn.call(obj,arg)};}catch(err){return{type:\"throw\",arg:err};}}var GenStateSuspendedStart=\"suspendedStart\";var GenStateSuspendedYield=\"suspendedYield\";var GenStateExecuting=\"executing\";var GenStateCompleted=\"completed\";var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};IteratorPrototype[iteratorSymbol]=function(){return this;};var getProto=Object.getPrototypeOf;var NativeIteratorPrototype=getProto&&getProto(getProto(values([])));if(NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)){IteratorPrototype=NativeIteratorPrototype;}var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype;GeneratorFunctionPrototype.constructor=GeneratorFunction;GeneratorFunctionPrototype[toStringTagSymbol]=GeneratorFunction.displayName=\"GeneratorFunction\";function defineIteratorMethods(prototype){[\"next\",\"throw\",\"return\"].forEach(function(method){prototype[method]=function(arg){return this._invoke(method,arg);};});}exports.isGeneratorFunction=function(genFun){var ctor=typeof genFun===\"function\"&&genFun.constructor;return ctor?ctor===GeneratorFunction||(ctor.displayName||ctor.name)===\"GeneratorFunction\":false;};exports.mark=function(genFun){if(Object.setPrototypeOf){Object.setPrototypeOf(genFun,GeneratorFunctionPrototype);}else{genFun.__proto__=GeneratorFunctionPrototype;if(!(toStringTagSymbol in genFun)){genFun[toStringTagSymbol]=\"GeneratorFunction\";}}genFun.prototype=Object.create(Gp);return genFun;};exports.awrap=function(arg){return{__await:arg};};function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if(record.type===\"throw\"){reject(record.arg);}else{var result=record.arg;var value=result.value;if(value&&_typeof(value)===\"object\"&&hasOwn.call(value,\"__await\")){return PromiseImpl.resolve(value.__await).then(function(value){invoke(\"next\",value,resolve,reject);},function(err){invoke(\"throw\",err,resolve,reject);});}return PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped;resolve(result);},function(error){return invoke(\"throw\",error,resolve,reject);});}}var previousPromise;function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject);});}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}this._invoke=enqueue;}defineIteratorMethods(AsyncIterator.prototype);AsyncIterator.prototype[asyncIteratorSymbol]=function(){return this;};exports.AsyncIterator=AsyncIterator;exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){if(PromiseImpl===void 0)PromiseImpl=Promise;var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next();});};function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function invoke(method,arg){if(state===GenStateExecuting){throw new Error(\"Generator is already running\");}if(state===GenStateCompleted){if(method===\"throw\"){throw arg;}return doneResult();}context.method=method;context.arg=arg;while(true){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult;}}if(context.method===\"next\"){context.sent=context._sent=context.arg;}else if(context.method===\"throw\"){if(state===GenStateSuspendedStart){state=GenStateCompleted;throw context.arg;}context.dispatchException(context.arg);}else if(context.method===\"return\"){context.abrupt(\"return\",context.arg);}state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if(record.type===\"normal\"){state=context.done?GenStateCompleted:GenStateSuspendedYield;if(record.arg===ContinueSentinel){continue;}return{value:record.arg,done:context.done};}else if(record.type===\"throw\"){state=GenStateCompleted;context.method=\"throw\";context.arg=record.arg;}}};}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(method===undefined){context.delegate=null;if(context.method===\"throw\"){if(delegate.iterator[\"return\"]){context.method=\"return\";context.arg=undefined;maybeInvokeDelegate(delegate,context);if(context.method===\"throw\"){return ContinueSentinel;}}context.method=\"throw\";context.arg=new TypeError(\"The iterator does not provide a 'throw' method\");}return ContinueSentinel;}var record=tryCatch(method,delegate.iterator,context.arg);if(record.type===\"throw\"){context.method=\"throw\";context.arg=record.arg;context.delegate=null;return ContinueSentinel;}var info=record.arg;if(!info){context.method=\"throw\";context.arg=new TypeError(\"iterator result is not an object\");context.delegate=null;return ContinueSentinel;}if(info.done){context[delegate.resultName]=info.value;context.next=delegate.nextLoc;if(context.method!==\"return\"){context.method=\"next\";context.arg=undefined;}}else{return info;}context.delegate=null;return ContinueSentinel;}defineIteratorMethods(Gp);Gp[toStringTagSymbol]=\"Generator\";Gp[iteratorSymbol]=function(){return this;};Gp.toString=function(){return\"[object Generator]\";};function pushTryEntry(locs){var entry={tryLoc:locs[0]};if(1 in locs){entry.catchLoc=locs[1];}if(2 in locs){entry.finallyLoc=locs[2];entry.afterLoc=locs[3];}this.tryEntries.push(entry);}function resetTryEntry(entry){var record=entry.completion||{};record.type=\"normal\";delete record.arg;entry.completion=record;}function Context(tryLocsList){this.tryEntries=[{tryLoc:\"root\"}];tryLocsList.forEach(pushTryEntry,this);this.reset(true);}exports.keys=function(object){var keys=[];for(var key in object){keys.push(key);}keys.reverse();return function next(){while(keys.length){var key=keys.pop();if(key in object){next.value=key;next.done=false;return next;}}next.done=true;return next;};};function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod){return iteratorMethod.call(iterable);}if(typeof iterable.next===\"function\"){return iterable;}if(!isNaN(iterable.length)){var i=-1,next=function next(){while(++i<iterable.length){if(hasOwn.call(iterable,i)){next.value=iterable[i];next.done=false;return next;}}next.value=undefined;next.done=true;return next;};return next.next=next;}}return{next:doneResult};}exports.values=values;function doneResult(){return{value:undefined,done:true};}Context.prototype={constructor:Context,reset:function reset(skipTempReset){this.prev=0;this.next=0;this.sent=this._sent=undefined;this.done=false;this.delegate=null;this.method=\"next\";this.arg=undefined;this.tryEntries.forEach(resetTryEntry);if(!skipTempReset){for(var name in this){if(name.charAt(0)===\"t\"&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))){this[name]=undefined;}}}},stop:function stop(){this.done=true;var rootEntry=this.tryEntries[0];var rootRecord=rootEntry.completion;if(rootRecord.type===\"throw\"){throw rootRecord.arg;}return this.rval;},dispatchException:function dispatchException(exception){if(this.done){throw exception;}var context=this;function handle(loc,caught){record.type=\"throw\";record.arg=exception;context.next=loc;if(caught){context.method=\"next\";context.arg=undefined;}return!!caught;}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];var record=entry.completion;if(entry.tryLoc===\"root\"){return handle(\"end\");}if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,\"catchLoc\");var hasFinally=hasOwn.call(entry,\"finallyLoc\");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true);}else if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc);}}else if(hasCatch){if(this.prev<entry.catchLoc){return handle(entry.catchLoc,true);}}else if(hasFinally){if(this.prev<entry.finallyLoc){return handle(entry.finallyLoc);}}else{throw new Error(\"try statement without catch or finally\");}}}},abrupt:function abrupt(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,\"finallyLoc\")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break;}}if(finallyEntry&&(type===\"break\"||type===\"continue\")&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc){finallyEntry=null;}var record=finallyEntry?finallyEntry.completion:{};record.type=type;record.arg=arg;if(finallyEntry){this.method=\"next\";this.next=finallyEntry.finallyLoc;return ContinueSentinel;}return this.complete(record);},complete:function complete(record,afterLoc){if(record.type===\"throw\"){throw record.arg;}if(record.type===\"break\"||record.type===\"continue\"){this.next=record.arg;}else if(record.type===\"return\"){this.rval=this.arg=record.arg;this.method=\"return\";this.next=\"end\";}else if(record.type===\"normal\"&&afterLoc){this.next=afterLoc;}return ContinueSentinel;},finish:function finish(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc){this.complete(entry.completion,entry.afterLoc);resetTryEntry(entry);return ContinueSentinel;}}},\"catch\":function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if(record.type===\"throw\"){var thrown=record.arg;resetTryEntry(entry);}return thrown;}}throw new Error(\"illegal catch attempt\");},delegateYield:function delegateYield(iterable,resultName,nextLoc){this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc};if(this.method===\"next\"){this.arg=undefined;}return ContinueSentinel;}};return exports;}((false?undefined:_typeof(module))===\"object\"?module.exports:{});try{regeneratorRuntime=runtime;}catch(accidentalStrictMode){Function(\"r\",\"regeneratorRuntime = r\")(runtime);}/* WEBPACK VAR INJECTION */}).call(this,__w_pdfjs_require__(193)(module));/***/},/* 193 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];if(!module.children)module.children=[];Object.defineProperty(module,\"loaded\",{enumerable:true,get:function get(){return module.l;}});Object.defineProperty(module,\"id\",{enumerable:true,get:function get(){return module.i;}});module.webpackPolyfill=1;}return module;};/***/},/* 194 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.addLinkAttributes=addLinkAttributes;exports.getFilenameFromUrl=getFilenameFromUrl;exports.isFetchSupported=isFetchSupported;exports.isValidFetchUrl=isValidFetchUrl;exports.loadScript=loadScript;exports.deprecated=deprecated;exports.releaseImageResources=releaseImageResources;exports.PDFDateString=exports.StatTimer=exports.DOMSVGFactory=exports.DOMCMapReaderFactory=exports.DOMCanvasFactory=exports.DEFAULT_LINK_REL=exports.LinkTarget=exports.RenderingCancelledException=exports.PageViewport=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj};}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var DEFAULT_LINK_REL=\"noopener noreferrer nofollow\";exports.DEFAULT_LINK_REL=DEFAULT_LINK_REL;var SVG_NS=\"http://www.w3.org/2000/svg\";var DOMCanvasFactory=/*#__PURE__*/function(){function DOMCanvasFactory(){_classCallCheck(this,DOMCanvasFactory);}_createClass(DOMCanvasFactory,[{key:\"create\",value:function create(width,height){if(width<=0||height<=0){throw new Error(\"Invalid canvas size\");}var canvas=document.createElement(\"canvas\");var context=canvas.getContext(\"2d\");canvas.width=width;canvas.height=height;return{canvas:canvas,context:context};}},{key:\"reset\",value:function reset(canvasAndContext,width,height){if(!canvasAndContext.canvas){throw new Error(\"Canvas is not specified\");}if(width<=0||height<=0){throw new Error(\"Invalid canvas size\");}canvasAndContext.canvas.width=width;canvasAndContext.canvas.height=height;}},{key:\"destroy\",value:function destroy(canvasAndContext){if(!canvasAndContext.canvas){throw new Error(\"Canvas is not specified\");}canvasAndContext.canvas.width=0;canvasAndContext.canvas.height=0;canvasAndContext.canvas=null;canvasAndContext.context=null;}}]);return DOMCanvasFactory;}();exports.DOMCanvasFactory=DOMCanvasFactory;var DOMCMapReaderFactory=/*#__PURE__*/function(){function DOMCMapReaderFactory(_ref){var _ref$baseUrl=_ref.baseUrl,baseUrl=_ref$baseUrl===void 0?null:_ref$baseUrl,_ref$isCompressed=_ref.isCompressed,isCompressed=_ref$isCompressed===void 0?false:_ref$isCompressed;_classCallCheck(this,DOMCMapReaderFactory);this.baseUrl=baseUrl;this.isCompressed=isCompressed;}_createClass(DOMCMapReaderFactory,[{key:\"fetch\",value:function(_fetch){function fetch(_x){return _fetch.apply(this,arguments);}fetch.toString=function(){return _fetch.toString();};return fetch;}(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(_ref3){var _this=this;var name,url,compressionType;return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:name=_ref3.name;if(this.baseUrl){_context2.next=3;break;}throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that '+'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');case 3:if(name){_context2.next=5;break;}throw new Error(\"CMap name must be specified.\");case 5:url=this.baseUrl+name+(this.isCompressed?\".bcmap\":\"\");compressionType=this.isCompressed?_util.CMapCompressionType.BINARY:_util.CMapCompressionType.NONE;if(!(isFetchSupported()&&isValidFetchUrl(url,document.baseURI))){_context2.next=9;break;}return _context2.abrupt(\"return\",fetch(url).then(/*#__PURE__*/function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(response){var cMapData;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:if(response.ok){_context.next=2;break;}throw new Error(response.statusText);case 2:if(!_this.isCompressed){_context.next=10;break;}_context.t0=Uint8Array;_context.next=6;return response.arrayBuffer();case 6:_context.t1=_context.sent;cMapData=new _context.t0(_context.t1);_context.next=15;break;case 10:_context.t2=_util.stringToBytes;_context.next=13;return response.text();case 13:_context.t3=_context.sent;cMapData=(0,_context.t2)(_context.t3);case 15:return _context.abrupt(\"return\",{cMapData:cMapData,compressionType:compressionType});case 16:case\"end\":return _context.stop();}}},_callee);}));return function(_x3){return _ref4.apply(this,arguments);};}())[\"catch\"](function(reason){throw new Error(\"Unable to load \".concat(_this.isCompressed?\"binary \":\"\")+\"CMap at: \".concat(url));}));case 9:return _context2.abrupt(\"return\",new Promise(function(resolve,reject){var request=new XMLHttpRequest();request.open(\"GET\",url,true);if(_this.isCompressed){request.responseType=\"arraybuffer\";}request.onreadystatechange=function(){if(request.readyState!==XMLHttpRequest.DONE){return;}if(request.status===200||request.status===0){var cMapData;if(_this.isCompressed&&request.response){cMapData=new Uint8Array(request.response);}else if(!_this.isCompressed&&request.responseText){cMapData=(0,_util.stringToBytes)(request.responseText);}if(cMapData){resolve({cMapData:cMapData,compressionType:compressionType});return;}}reject(new Error(request.statusText));};request.send(null);})[\"catch\"](function(reason){throw new Error(\"Unable to load \".concat(_this.isCompressed?\"binary \":\"\")+\"CMap at: \".concat(url));}));case 10:case\"end\":return _context2.stop();}}},_callee2,this);}));return function(_x2){return _ref2.apply(this,arguments);};}())}]);return DOMCMapReaderFactory;}();exports.DOMCMapReaderFactory=DOMCMapReaderFactory;var DOMSVGFactory=/*#__PURE__*/function(){function DOMSVGFactory(){_classCallCheck(this,DOMSVGFactory);}_createClass(DOMSVGFactory,[{key:\"create\",value:function create(width,height){(0,_util.assert)(width>0&&height>0,\"Invalid SVG dimensions\");var svg=document.createElementNS(SVG_NS,\"svg:svg\");svg.setAttribute(\"version\",\"1.1\");svg.setAttribute(\"width\",width+\"px\");svg.setAttribute(\"height\",height+\"px\");svg.setAttribute(\"preserveAspectRatio\",\"none\");svg.setAttribute(\"viewBox\",\"0 0 \"+width+\" \"+height);return svg;}},{key:\"createElement\",value:function createElement(type){(0,_util.assert)(typeof type===\"string\",\"Invalid SVG element type\");return document.createElementNS(SVG_NS,type);}}]);return DOMSVGFactory;}();exports.DOMSVGFactory=DOMSVGFactory;var PageViewport=/*#__PURE__*/function(){function PageViewport(_ref5){var viewBox=_ref5.viewBox,scale=_ref5.scale,rotation=_ref5.rotation,_ref5$offsetX=_ref5.offsetX,offsetX=_ref5$offsetX===void 0?0:_ref5$offsetX,_ref5$offsetY=_ref5.offsetY,offsetY=_ref5$offsetY===void 0?0:_ref5$offsetY,_ref5$dontFlip=_ref5.dontFlip,dontFlip=_ref5$dontFlip===void 0?false:_ref5$dontFlip;_classCallCheck(this,PageViewport);this.viewBox=viewBox;this.scale=scale;this.rotation=rotation;this.offsetX=offsetX;this.offsetY=offsetY;var centerX=(viewBox[2]+viewBox[0])/2;var centerY=(viewBox[3]+viewBox[1])/2;var rotateA,rotateB,rotateC,rotateD;rotation=rotation%360;rotation=rotation<0?rotation+360:rotation;switch(rotation){case 180:rotateA=-1;rotateB=0;rotateC=0;rotateD=1;break;case 90:rotateA=0;rotateB=1;rotateC=1;rotateD=0;break;case 270:rotateA=0;rotateB=-1;rotateC=-1;rotateD=0;break;default:rotateA=1;rotateB=0;rotateC=0;rotateD=-1;break;}if(dontFlip){rotateC=-rotateC;rotateD=-rotateD;}var offsetCanvasX,offsetCanvasY;var width,height;if(rotateA===0){offsetCanvasX=Math.abs(centerY-viewBox[1])*scale+offsetX;offsetCanvasY=Math.abs(centerX-viewBox[0])*scale+offsetY;width=Math.abs(viewBox[3]-viewBox[1])*scale;height=Math.abs(viewBox[2]-viewBox[0])*scale;}else{offsetCanvasX=Math.abs(centerX-viewBox[0])*scale+offsetX;offsetCanvasY=Math.abs(centerY-viewBox[1])*scale+offsetY;width=Math.abs(viewBox[2]-viewBox[0])*scale;height=Math.abs(viewBox[3]-viewBox[1])*scale;}this.transform=[rotateA*scale,rotateB*scale,rotateC*scale,rotateD*scale,offsetCanvasX-rotateA*scale*centerX-rotateC*scale*centerY,offsetCanvasY-rotateB*scale*centerX-rotateD*scale*centerY];this.width=width;this.height=height;}_createClass(PageViewport,[{key:\"clone\",value:function clone(){var _ref6=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref6$scale=_ref6.scale,scale=_ref6$scale===void 0?this.scale:_ref6$scale,_ref6$rotation=_ref6.rotation,rotation=_ref6$rotation===void 0?this.rotation:_ref6$rotation,_ref6$offsetX=_ref6.offsetX,offsetX=_ref6$offsetX===void 0?this.offsetX:_ref6$offsetX,_ref6$offsetY=_ref6.offsetY,offsetY=_ref6$offsetY===void 0?this.offsetY:_ref6$offsetY,_ref6$dontFlip=_ref6.dontFlip,dontFlip=_ref6$dontFlip===void 0?false:_ref6$dontFlip;return new PageViewport({viewBox:this.viewBox.slice(),scale:scale,rotation:rotation,offsetX:offsetX,offsetY:offsetY,dontFlip:dontFlip});}},{key:\"convertToViewportPoint\",value:function convertToViewportPoint(x,y){return _util.Util.applyTransform([x,y],this.transform);}},{key:\"convertToViewportRectangle\",value:function convertToViewportRectangle(rect){var topLeft=_util.Util.applyTransform([rect[0],rect[1]],this.transform);var bottomRight=_util.Util.applyTransform([rect[2],rect[3]],this.transform);return[topLeft[0],topLeft[1],bottomRight[0],bottomRight[1]];}},{key:\"convertToPdfPoint\",value:function convertToPdfPoint(x,y){return _util.Util.applyInverseTransform([x,y],this.transform);}}]);return PageViewport;}();exports.PageViewport=PageViewport;var RenderingCancelledException=/*#__PURE__*/function(_BaseException){_inherits(RenderingCancelledException,_BaseException);function RenderingCancelledException(msg,type){var _this2;_classCallCheck(this,RenderingCancelledException);_this2=_possibleConstructorReturn(this,_getPrototypeOf(RenderingCancelledException).call(this,msg));_this2.type=type;return _this2;}return RenderingCancelledException;}(_util.BaseException);exports.RenderingCancelledException=RenderingCancelledException;var LinkTarget={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};exports.LinkTarget=LinkTarget;function addLinkAttributes(link){var _ref7=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},url=_ref7.url,target=_ref7.target,rel=_ref7.rel,_ref7$enabled=_ref7.enabled,enabled=_ref7$enabled===void 0?true:_ref7$enabled;(0,_util.assert)(url&&typeof url===\"string\",'addLinkAttributes: A valid \"url\" parameter must provided.');var urlNullRemoved=(0,_util.removeNullCharacters)(url);if(enabled){link.href=link.title=urlNullRemoved;}else{link.href=\"\";link.title=\"Disabled: \".concat(urlNullRemoved);link.onclick=function(){return false;};}var targetStr=\"\";switch(target){case LinkTarget.NONE:break;case LinkTarget.SELF:targetStr=\"_self\";break;case LinkTarget.BLANK:targetStr=\"_blank\";break;case LinkTarget.PARENT:targetStr=\"_parent\";break;case LinkTarget.TOP:targetStr=\"_top\";break;}link.target=targetStr;link.rel=typeof rel===\"string\"?rel:DEFAULT_LINK_REL;}function getFilenameFromUrl(url){var anchor=url.indexOf(\"#\");var query=url.indexOf(\"?\");var end=Math.min(anchor>0?anchor:url.length,query>0?query:url.length);return url.substring(url.lastIndexOf(\"/\",end)+1,end);}var StatTimer=/*#__PURE__*/function(){function StatTimer(){_classCallCheck(this,StatTimer);this.started=Object.create(null);this.times=[];}_createClass(StatTimer,[{key:\"time\",value:function time(name){if(name in this.started){(0,_util.warn)(\"Timer is already running for \".concat(name));}this.started[name]=Date.now();}},{key:\"timeEnd\",value:function timeEnd(name){if(!(name in this.started)){(0,_util.warn)(\"Timer has not been started for \".concat(name));}this.times.push({name:name,start:this.started[name],end:Date.now()});delete this.started[name];}},{key:\"toString\",value:function toString(){var outBuf=[];var longest=0;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this.times[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var time=_step.value;var name=time.name;if(name.length>longest){longest=name.length;}}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=this.times[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var _time=_step2.value;var duration=_time.end-_time.start;outBuf.push(\"\".concat(_time.name.padEnd(longest),\" \").concat(duration,\"ms\\n\"));}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2[\"return\"]!=null){_iterator2[\"return\"]();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}return outBuf.join(\"\");}}]);return StatTimer;}();exports.StatTimer=StatTimer;function isFetchSupported(){return typeof fetch!==\"undefined\"&&typeof Response!==\"undefined\"&&\"body\"in Response.prototype&&typeof ReadableStream!==\"undefined\";}function isValidFetchUrl(url,baseUrl){try{var _ref8=baseUrl?new URL(url,baseUrl):new URL(url),protocol=_ref8.protocol;return protocol===\"http:\"||protocol===\"https:\";}catch(ex){return false;}}function loadScript(src){return new Promise(function(resolve,reject){var script=document.createElement(\"script\");script.src=src;script.onload=resolve;script.onerror=function(){reject(new Error(\"Cannot load script at: \".concat(script.src)));};(document.head||document.documentElement).appendChild(script);});}function deprecated(details){console.log(\"Deprecated API usage: \"+details);}function releaseImageResources(img){(0,_util.assert)(img instanceof Image,\"Invalid `img` parameter.\");var url=img.src;if(typeof url===\"string\"&&url.startsWith(\"blob:\")&&URL.revokeObjectURL){URL.revokeObjectURL(url);}img.removeAttribute(\"src\");}var pdfDateStringRegex;var PDFDateString=/*#__PURE__*/function(){function PDFDateString(){_classCallCheck(this,PDFDateString);}_createClass(PDFDateString,null,[{key:\"toDateObject\",value:function toDateObject(input){if(!input||!(0,_util.isString)(input)){return null;}if(!pdfDateStringRegex){pdfDateStringRegex=new RegExp(\"^D:\"+\"(\\\\d{4})\"+\"(\\\\d{2})?\"+\"(\\\\d{2})?\"+\"(\\\\d{2})?\"+\"(\\\\d{2})?\"+\"(\\\\d{2})?\"+\"([Z|+|-])?\"+\"(\\\\d{2})?\"+\"'?\"+\"(\\\\d{2})?\"+\"'?\");}var matches=pdfDateStringRegex.exec(input);if(!matches){return null;}var year=parseInt(matches[1],10);var month=parseInt(matches[2],10);month=month>=1&&month<=12?month-1:0;var day=parseInt(matches[3],10);day=day>=1&&day<=31?day:1;var hour=parseInt(matches[4],10);hour=hour>=0&&hour<=23?hour:0;var minute=parseInt(matches[5],10);minute=minute>=0&&minute<=59?minute:0;var second=parseInt(matches[6],10);second=second>=0&&second<=59?second:0;var universalTimeRelation=matches[7]||\"Z\";var offsetHour=parseInt(matches[8],10);offsetHour=offsetHour>=0&&offsetHour<=23?offsetHour:0;var offsetMinute=parseInt(matches[9],10)||0;offsetMinute=offsetMinute>=0&&offsetMinute<=59?offsetMinute:0;if(universalTimeRelation===\"-\"){hour+=offsetHour;minute+=offsetMinute;}else if(universalTimeRelation===\"+\"){hour-=offsetHour;minute-=offsetMinute;}return new Date(Date.UTC(year,month,day,hour,minute,second));}}]);return PDFDateString;}();exports.PDFDateString=PDFDateString;/***/},/* 195 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.FontLoader=exports.FontFaceObject=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj};}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var BaseFontLoader=/*#__PURE__*/function(){function BaseFontLoader(_ref){var docId=_ref.docId,onUnsupportedFeature=_ref.onUnsupportedFeature;_classCallCheck(this,BaseFontLoader);if(this.constructor===BaseFontLoader){(0,_util.unreachable)(\"Cannot initialize BaseFontLoader.\");}this.docId=docId;this._onUnsupportedFeature=onUnsupportedFeature;this.nativeFontFaces=[];this.styleElement=null;}_createClass(BaseFontLoader,[{key:\"addNativeFontFace\",value:function addNativeFontFace(nativeFontFace){this.nativeFontFaces.push(nativeFontFace);document.fonts.add(nativeFontFace);}},{key:\"insertRule\",value:function insertRule(rule){var styleElement=this.styleElement;if(!styleElement){styleElement=this.styleElement=document.createElement(\"style\");styleElement.id=\"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);}var styleSheet=styleElement.sheet;styleSheet.insertRule(rule,styleSheet.cssRules.length);}},{key:\"clear\",value:function clear(){this.nativeFontFaces.forEach(function(nativeFontFace){document.fonts[\"delete\"](nativeFontFace);});this.nativeFontFaces.length=0;if(this.styleElement){this.styleElement.remove();this.styleElement=null;}}},{key:\"bind\",value:function(){var _bind=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font){var _this=this;var nativeFontFace,rule;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:if(!(font.attached||font.missingFile)){_context.next=2;break;}return _context.abrupt(\"return\");case 2:font.attached=true;if(!this.isFontLoadingAPISupported){_context.next=19;break;}nativeFontFace=font.createNativeFontFace();if(!nativeFontFace){_context.next=18;break;}this.addNativeFontFace(nativeFontFace);_context.prev=7;_context.next=10;return nativeFontFace.loaded;case 10:_context.next=18;break;case 12:_context.prev=12;_context.t0=_context[\"catch\"](7);this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.font});(0,_util.warn)(\"Failed to load font '\".concat(nativeFontFace.family,\"': '\").concat(_context.t0,\"'.\"));font.disableFontFace=true;throw _context.t0;case 18:return _context.abrupt(\"return\");case 19:rule=font.createFontFaceRule();if(!rule){_context.next=26;break;}this.insertRule(rule);if(!this.isSyncFontLoadingSupported){_context.next=24;break;}return _context.abrupt(\"return\");case 24:_context.next=26;return new Promise(function(resolve){var request=_this._queueLoadingCallback(resolve);_this._prepareFontLoadEvent([rule],[font],request);});case 26:case\"end\":return _context.stop();}}},_callee,this,[[7,12]]);}));function bind(_x){return _bind.apply(this,arguments);}return bind;}()},{key:\"_queueLoadingCallback\",value:function _queueLoadingCallback(callback){(0,_util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");}},{key:\"_prepareFontLoadEvent\",value:function _prepareFontLoadEvent(rules,fontsToLoad,request){(0,_util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");}},{key:\"isFontLoadingAPISupported\",get:function get(){var supported=typeof document!==\"undefined\"&&!!document.fonts;return(0,_util.shadow)(this,\"isFontLoadingAPISupported\",supported);}},{key:\"isSyncFontLoadingSupported\",get:function get(){(0,_util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");}},{key:\"_loadTestFont\",get:function get(){(0,_util.unreachable)(\"Abstract method `_loadTestFont`.\");}}]);return BaseFontLoader;}();var FontLoader;exports.FontLoader=FontLoader;{exports.FontLoader=FontLoader=/*#__PURE__*/function(_BaseFontLoader){_inherits(GenericFontLoader,_BaseFontLoader);function GenericFontLoader(docId){var _this2;_classCallCheck(this,GenericFontLoader);_this2=_possibleConstructorReturn(this,_getPrototypeOf(GenericFontLoader).call(this,docId));_this2.loadingContext={requests:[],nextRequestId:0};_this2.loadTestFontId=0;return _this2;}_createClass(GenericFontLoader,[{key:\"_queueLoadingCallback\",value:function _queueLoadingCallback(callback){function completeRequest(){(0,_util.assert)(!request.done,\"completeRequest() cannot be called twice.\");request.done=true;while(context.requests.length>0&&context.requests[0].done){var otherRequest=context.requests.shift();setTimeout(otherRequest.callback,0);}}var context=this.loadingContext;var request={id:\"pdfjs-font-loading-\".concat(context.nextRequestId++),done:false,complete:completeRequest,callback:callback};context.requests.push(request);return request;}},{key:\"_prepareFontLoadEvent\",value:function _prepareFontLoadEvent(rules,fonts,request){function int32(data,offset){return data.charCodeAt(offset)<<24|data.charCodeAt(offset+1)<<16|data.charCodeAt(offset+2)<<8|data.charCodeAt(offset+3)&0xff;}function spliceString(s,offset,remove,insert){var chunk1=s.substring(0,offset);var chunk2=s.substring(offset+remove);return chunk1+insert+chunk2;}var i,ii;var canvas=document.createElement(\"canvas\");canvas.width=1;canvas.height=1;var ctx=canvas.getContext(\"2d\");var called=0;function isFontReady(name,callback){called++;if(called>30){(0,_util.warn)(\"Load test font never loaded.\");callback();return;}ctx.font=\"30px \"+name;ctx.fillText(\".\",0,20);var imageData=ctx.getImageData(0,0,1,1);if(imageData.data[3]>0){callback();return;}setTimeout(isFontReady.bind(null,name,callback));}var loadTestFontId=\"lt\".concat(Date.now()).concat(this.loadTestFontId++);var data=this._loadTestFont;var COMMENT_OFFSET=976;data=spliceString(data,COMMENT_OFFSET,loadTestFontId.length,loadTestFontId);var CFF_CHECKSUM_OFFSET=16;var XXXX_VALUE=0x58585858;var checksum=int32(data,CFF_CHECKSUM_OFFSET);for(i=0,ii=loadTestFontId.length-3;i<ii;i+=4){checksum=checksum-XXXX_VALUE+int32(loadTestFontId,i)|0;}if(i<loadTestFontId.length){checksum=checksum-XXXX_VALUE+int32(loadTestFontId+\"XXX\",i)|0;}data=spliceString(data,CFF_CHECKSUM_OFFSET,4,(0,_util.string32)(checksum));var url=\"url(data:font/opentype;base64,\".concat(btoa(data),\");\");var rule=\"@font-face {font-family:\\\"\".concat(loadTestFontId,\"\\\";src:\").concat(url,\"}\");this.insertRule(rule);var names=[];for(i=0,ii=fonts.length;i<ii;i++){names.push(fonts[i].loadedName);}names.push(loadTestFontId);var div=document.createElement(\"div\");div.style.visibility=\"hidden\";div.style.width=div.style.height=\"10px\";div.style.position=\"absolute\";div.style.top=div.style.left=\"0px\";for(i=0,ii=names.length;i<ii;++i){var span=document.createElement(\"span\");span.textContent=\"Hi\";span.style.fontFamily=names[i];div.appendChild(span);}document.body.appendChild(div);isFontReady(loadTestFontId,function(){document.body.removeChild(div);request.complete();});}},{key:\"isSyncFontLoadingSupported\",get:function get(){var supported=false;if(typeof navigator===\"undefined\"){supported=true;}else{var m=/Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);if(m&&m[1]>=14){supported=true;}}return(0,_util.shadow)(this,\"isSyncFontLoadingSupported\",supported);}},{key:\"_loadTestFont\",get:function get(){var getLoadTestFont=function getLoadTestFont(){return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\"+\"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\"+\"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\"+\"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\"+\"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\"+\"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\"+\"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\"+\"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\"+\"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\"+\"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\"+\"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\"+\"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\"+\"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"+\"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"+\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"+\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"+\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"+\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\"+\"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\"+\"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\"+\"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\"+\"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");};return(0,_util.shadow)(this,\"_loadTestFont\",getLoadTestFont());}}]);return GenericFontLoader;}(BaseFontLoader);}var FontFaceObject=/*#__PURE__*/function(){function FontFaceObject(translatedData,_ref2){var _ref2$isEvalSupported=_ref2.isEvalSupported,isEvalSupported=_ref2$isEvalSupported===void 0?true:_ref2$isEvalSupported,_ref2$disableFontFace=_ref2.disableFontFace,disableFontFace=_ref2$disableFontFace===void 0?false:_ref2$disableFontFace,_ref2$ignoreErrors=_ref2.ignoreErrors,ignoreErrors=_ref2$ignoreErrors===void 0?false:_ref2$ignoreErrors,_ref2$onUnsupportedFe=_ref2.onUnsupportedFeature,onUnsupportedFeature=_ref2$onUnsupportedFe===void 0?null:_ref2$onUnsupportedFe,_ref2$fontRegistry=_ref2.fontRegistry,fontRegistry=_ref2$fontRegistry===void 0?null:_ref2$fontRegistry;_classCallCheck(this,FontFaceObject);this.compiledGlyphs=Object.create(null);for(var i in translatedData){this[i]=translatedData[i];}this.isEvalSupported=isEvalSupported!==false;this.disableFontFace=disableFontFace===true;this.ignoreErrors=ignoreErrors===true;this._onUnsupportedFeature=onUnsupportedFeature;this.fontRegistry=fontRegistry;}_createClass(FontFaceObject,[{key:\"createNativeFontFace\",value:function createNativeFontFace(){if(!this.data||this.disableFontFace){return null;}var nativeFontFace=new FontFace(this.loadedName,this.data,{});if(this.fontRegistry){this.fontRegistry.registerFont(this);}return nativeFontFace;}},{key:\"createFontFaceRule\",value:function createFontFaceRule(){if(!this.data||this.disableFontFace){return null;}var data=(0,_util.bytesToString)(new Uint8Array(this.data));var url=\"url(data:\".concat(this.mimetype,\";base64,\").concat(btoa(data),\");\");var rule=\"@font-face {font-family:\\\"\".concat(this.loadedName,\"\\\";src:\").concat(url,\"}\");if(this.fontRegistry){this.fontRegistry.registerFont(this,url);}return rule;}},{key:\"getPathGenerator\",value:function getPathGenerator(objs,character){if(this.compiledGlyphs[character]!==undefined){return this.compiledGlyphs[character];}var cmds,current;try{cmds=objs.get(this.loadedName+\"_path_\"+character);}catch(ex){if(!this.ignoreErrors){throw ex;}if(this._onUnsupportedFeature){this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.font});}(0,_util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex,\"\\\".\"));return this.compiledGlyphs[character]=function(c,size){};}if(this.isEvalSupported&&_util.IsEvalSupportedCached.value){var args,js=\"\";for(var i=0,ii=cmds.length;i<ii;i++){current=cmds[i];if(current.args!==undefined){args=current.args.join(\",\");}else{args=\"\";}js+=\"c.\"+current.cmd+\"(\"+args+\");\\n\";}return this.compiledGlyphs[character]=new Function(\"c\",\"size\",js);}return this.compiledGlyphs[character]=function(c,size){for(var _i=0,_ii=cmds.length;_i<_ii;_i++){current=cmds[_i];if(current.cmd===\"scale\"){current.args=[size,-size];}c[current.cmd].apply(c,current.args);}};}}]);return FontFaceObject;}();exports.FontFaceObject=FontFaceObject;/***/},/* 196 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";var compatibilityParams=Object.create(null);{var _require=__w_pdfjs_require__(48),isNodeJS=_require.isNodeJS;var userAgent=typeof navigator!==\"undefined\"&&navigator.userAgent||\"\";var isIE=/Trident/.test(userAgent);var isIOSChrome=/CriOS/.test(userAgent);(function checkOnBlobSupport(){if(isIE||isIOSChrome){compatibilityParams.disableCreateObjectURL=true;}})();(function checkFontFaceAndImage(){if(isNodeJS){compatibilityParams.disableFontFace=true;compatibilityParams.nativeImageDecoderSupport=\"none\";}})();}exports.apiCompatibilityParams=Object.freeze(compatibilityParams);/***/},/* 197 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.CanvasGraphics=void 0;var _util=__w_pdfjs_require__(1);var _pattern_helper=__w_pdfjs_require__(198);var MIN_FONT_SIZE=16;var MAX_FONT_SIZE=100;var MAX_GROUP_SIZE=4096;var MIN_WIDTH_FACTOR=0.65;var COMPILE_TYPE3_GLYPHS=true;var MAX_SIZE_TO_COMPILE=1000;var FULL_CHUNK_HEIGHT=16;function addContextCurrentTransform(ctx){if(!ctx.mozCurrentTransform){ctx._originalSave=ctx.save;ctx._originalRestore=ctx.restore;ctx._originalRotate=ctx.rotate;ctx._originalScale=ctx.scale;ctx._originalTranslate=ctx.translate;ctx._originalTransform=ctx.transform;ctx._originalSetTransform=ctx.setTransform;ctx._transformMatrix=ctx._transformMatrix||[1,0,0,1,0,0];ctx._transformStack=[];Object.defineProperty(ctx,\"mozCurrentTransform\",{get:function getCurrentTransform(){return this._transformMatrix;}});Object.defineProperty(ctx,\"mozCurrentTransformInverse\",{get:function getCurrentTransformInverse(){var m=this._transformMatrix;var a=m[0],b=m[1],c=m[2],d=m[3],e=m[4],f=m[5];var ad_bc=a*d-b*c;var bc_ad=b*c-a*d;return[d/ad_bc,b/bc_ad,c/bc_ad,a/ad_bc,(d*e-c*f)/bc_ad,(b*e-a*f)/ad_bc];}});ctx.save=function ctxSave(){var old=this._transformMatrix;this._transformStack.push(old);this._transformMatrix=old.slice(0,6);this._originalSave();};ctx.restore=function ctxRestore(){var prev=this._transformStack.pop();if(prev){this._transformMatrix=prev;this._originalRestore();}};ctx.translate=function ctxTranslate(x,y){var m=this._transformMatrix;m[4]=m[0]*x+m[2]*y+m[4];m[5]=m[1]*x+m[3]*y+m[5];this._originalTranslate(x,y);};ctx.scale=function ctxScale(x,y){var m=this._transformMatrix;m[0]=m[0]*x;m[1]=m[1]*x;m[2]=m[2]*y;m[3]=m[3]*y;this._originalScale(x,y);};ctx.transform=function ctxTransform(a,b,c,d,e,f){var m=this._transformMatrix;this._transformMatrix=[m[0]*a+m[2]*b,m[1]*a+m[3]*b,m[0]*c+m[2]*d,m[1]*c+m[3]*d,m[0]*e+m[2]*f+m[4],m[1]*e+m[3]*f+m[5]];ctx._originalTransform(a,b,c,d,e,f);};ctx.setTransform=function ctxSetTransform(a,b,c,d,e,f){this._transformMatrix=[a,b,c,d,e,f];ctx._originalSetTransform(a,b,c,d,e,f);};ctx.rotate=function ctxRotate(angle){var cosValue=Math.cos(angle);var sinValue=Math.sin(angle);var m=this._transformMatrix;this._transformMatrix=[m[0]*cosValue+m[2]*sinValue,m[1]*cosValue+m[3]*sinValue,m[0]*-sinValue+m[2]*cosValue,m[1]*-sinValue+m[3]*cosValue,m[4],m[5]];this._originalRotate(angle);};}}var CachedCanvases=function CachedCanvasesClosure(){function CachedCanvases(canvasFactory){this.canvasFactory=canvasFactory;this.cache=Object.create(null);}CachedCanvases.prototype={getCanvas:function CachedCanvases_getCanvas(id,width,height,trackTransform){var canvasEntry;if(this.cache[id]!==undefined){canvasEntry=this.cache[id];this.canvasFactory.reset(canvasEntry,width,height);canvasEntry.context.setTransform(1,0,0,1,0,0);}else{canvasEntry=this.canvasFactory.create(width,height);this.cache[id]=canvasEntry;}if(trackTransform){addContextCurrentTransform(canvasEntry.context);}return canvasEntry;},clear:function clear(){for(var id in this.cache){var canvasEntry=this.cache[id];this.canvasFactory.destroy(canvasEntry);delete this.cache[id];}}};return CachedCanvases;}();function compileType3Glyph(imgData){var POINT_TO_PROCESS_LIMIT=1000;var width=imgData.width,height=imgData.height;var i,j,j0,width1=width+1;var points=new Uint8Array(width1*(height+1));var POINT_TYPES=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]);var lineSize=width+7&~7,data0=imgData.data;var data=new Uint8Array(lineSize*height),pos=0,ii;for(i=0,ii=data0.length;i<ii;i++){var mask=128,elem=data0[i];while(mask>0){data[pos++]=elem&mask?0:255;mask>>=1;}}var count=0;pos=0;if(data[pos]!==0){points[0]=1;++count;}for(j=1;j<width;j++){if(data[pos]!==data[pos+1]){points[j]=data[pos]?2:1;++count;}pos++;}if(data[pos]!==0){points[j]=2;++count;}for(i=1;i<height;i++){pos=i*lineSize;j0=i*width1;if(data[pos-lineSize]!==data[pos]){points[j0]=data[pos]?1:8;++count;}var sum=(data[pos]?4:0)+(data[pos-lineSize]?8:0);for(j=1;j<width;j++){sum=(sum>>2)+(data[pos+1]?4:0)+(data[pos-lineSize+1]?8:0);if(POINT_TYPES[sum]){points[j0+j]=POINT_TYPES[sum];++count;}pos++;}if(data[pos-lineSize]!==data[pos]){points[j0+j]=data[pos]?2:4;++count;}if(count>POINT_TO_PROCESS_LIMIT){return null;}}pos=lineSize*(height-1);j0=i*width1;if(data[pos]!==0){points[j0]=8;++count;}for(j=1;j<width;j++){if(data[pos]!==data[pos+1]){points[j0+j]=data[pos]?4:8;++count;}pos++;}if(data[pos]!==0){points[j0+j]=4;++count;}if(count>POINT_TO_PROCESS_LIMIT){return null;}var steps=new Int32Array([0,width1,-1,0,-width1,0,0,0,1]);var outlines=[];for(i=0;count&&i<=height;i++){var p=i*width1;var end=p+width;while(p<end&&!points[p]){p++;}if(p===end){continue;}var coords=[p%width1,i];var type=points[p],p0=p,pp;do{var step=steps[type];do{p+=step;}while(!points[p]);pp=points[p];if(pp!==5&&pp!==10){type=pp;points[p]=0;}else{type=pp&0x33*type>>4;points[p]&=type>>2|type<<2;}coords.push(p%width1);coords.push(p/width1|0);if(!points[p]){--count;}}while(p0!==p);outlines.push(coords);--i;}var drawOutline=function drawOutline(c){c.save();c.scale(1/width,-1/height);c.translate(0,-height);c.beginPath();for(var i=0,ii=outlines.length;i<ii;i++){var o=outlines[i];c.moveTo(o[0],o[1]);for(var j=2,jj=o.length;j<jj;j+=2){c.lineTo(o[j],o[j+1]);}}c.fill();c.beginPath();c.restore();};return drawOutline;}var CanvasExtraState=function CanvasExtraStateClosure(){function CanvasExtraState(){this.alphaIsShape=false;this.fontSize=0;this.fontSizeScale=1;this.textMatrix=_util.IDENTITY_MATRIX;this.textMatrixScale=1;this.fontMatrix=_util.FONT_IDENTITY_MATRIX;this.leading=0;this.x=0;this.y=0;this.lineX=0;this.lineY=0;this.charSpacing=0;this.wordSpacing=0;this.textHScale=1;this.textRenderingMode=_util.TextRenderingMode.FILL;this.textRise=0;this.fillColor=\"#000000\";this.strokeColor=\"#000000\";this.patternFill=false;this.fillAlpha=1;this.strokeAlpha=1;this.lineWidth=1;this.activeSMask=null;this.resumeSMaskCtx=null;}CanvasExtraState.prototype={clone:function CanvasExtraState_clone(){return Object.create(this);},setCurrentPoint:function CanvasExtraState_setCurrentPoint(x,y){this.x=x;this.y=y;}};return CanvasExtraState;}();var CanvasGraphics=function CanvasGraphicsClosure(){var EXECUTION_TIME=15;var EXECUTION_STEPS=10;function CanvasGraphics(canvasCtx,commonObjs,objs,canvasFactory,webGLContext,imageLayer){this.ctx=canvasCtx;this.current=new CanvasExtraState();this.stateStack=[];this.pendingClip=null;this.pendingEOFill=false;this.res=null;this.xobjs=null;this.commonObjs=commonObjs;this.objs=objs;this.canvasFactory=canvasFactory;this.webGLContext=webGLContext;this.imageLayer=imageLayer;this.groupStack=[];this.processingType3=null;this.baseTransform=null;this.baseTransformStack=[];this.groupLevel=0;this.smaskStack=[];this.smaskCounter=0;this.tempSMask=null;this.cachedCanvases=new CachedCanvases(this.canvasFactory);if(canvasCtx){addContextCurrentTransform(canvasCtx);}this._cachedGetSinglePixelWidth=null;}function putBinaryImageData(ctx,imgData){if(typeof ImageData!==\"undefined\"&&imgData instanceof ImageData){ctx.putImageData(imgData,0,0);return;}var height=imgData.height,width=imgData.width;var partialChunkHeight=height%FULL_CHUNK_HEIGHT;var fullChunks=(height-partialChunkHeight)/FULL_CHUNK_HEIGHT;var totalChunks=partialChunkHeight===0?fullChunks:fullChunks+1;var chunkImgData=ctx.createImageData(width,FULL_CHUNK_HEIGHT);var srcPos=0,destPos;var src=imgData.data;var dest=chunkImgData.data;var i,j,thisChunkHeight,elemsInThisChunk;if(imgData.kind===_util.ImageKind.GRAYSCALE_1BPP){var srcLength=src.byteLength;var dest32=new Uint32Array(dest.buffer,0,dest.byteLength>>2);var dest32DataLength=dest32.length;var fullSrcDiff=width+7>>3;var white=0xffffffff;var black=_util.IsLittleEndianCached.value?0xff000000:0x000000ff;for(i=0;i<totalChunks;i++){thisChunkHeight=i<fullChunks?FULL_CHUNK_HEIGHT:partialChunkHeight;destPos=0;for(j=0;j<thisChunkHeight;j++){var srcDiff=srcLength-srcPos;var k=0;var kEnd=srcDiff>fullSrcDiff?width:srcDiff*8-7;var kEndUnrolled=kEnd&~7;var mask=0;var srcByte=0;for(;k<kEndUnrolled;k+=8){srcByte=src[srcPos++];dest32[destPos++]=srcByte&128?white:black;dest32[destPos++]=srcByte&64?white:black;dest32[destPos++]=srcByte&32?white:black;dest32[destPos++]=srcByte&16?white:black;dest32[destPos++]=srcByte&8?white:black;dest32[destPos++]=srcByte&4?white:black;dest32[destPos++]=srcByte&2?white:black;dest32[destPos++]=srcByte&1?white:black;}for(;k<kEnd;k++){if(mask===0){srcByte=src[srcPos++];mask=128;}dest32[destPos++]=srcByte&mask?white:black;mask>>=1;}}while(destPos<dest32DataLength){dest32[destPos++]=0;}ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}else if(imgData.kind===_util.ImageKind.RGBA_32BPP){j=0;elemsInThisChunk=width*FULL_CHUNK_HEIGHT*4;for(i=0;i<fullChunks;i++){dest.set(src.subarray(srcPos,srcPos+elemsInThisChunk));srcPos+=elemsInThisChunk;ctx.putImageData(chunkImgData,0,j);j+=FULL_CHUNK_HEIGHT;}if(i<totalChunks){elemsInThisChunk=width*partialChunkHeight*4;dest.set(src.subarray(srcPos,srcPos+elemsInThisChunk));ctx.putImageData(chunkImgData,0,j);}}else if(imgData.kind===_util.ImageKind.RGB_24BPP){thisChunkHeight=FULL_CHUNK_HEIGHT;elemsInThisChunk=width*thisChunkHeight;for(i=0;i<totalChunks;i++){if(i>=fullChunks){thisChunkHeight=partialChunkHeight;elemsInThisChunk=width*thisChunkHeight;}destPos=0;for(j=elemsInThisChunk;j--;){dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=src[srcPos++];dest[destPos++]=255;}ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}else{throw new Error(\"bad image kind: \".concat(imgData.kind));}}function putBinaryImageMask(ctx,imgData){var height=imgData.height,width=imgData.width;var partialChunkHeight=height%FULL_CHUNK_HEIGHT;var fullChunks=(height-partialChunkHeight)/FULL_CHUNK_HEIGHT;var totalChunks=partialChunkHeight===0?fullChunks:fullChunks+1;var chunkImgData=ctx.createImageData(width,FULL_CHUNK_HEIGHT);var srcPos=0;var src=imgData.data;var dest=chunkImgData.data;for(var i=0;i<totalChunks;i++){var thisChunkHeight=i<fullChunks?FULL_CHUNK_HEIGHT:partialChunkHeight;var destPos=3;for(var j=0;j<thisChunkHeight;j++){var mask=0;for(var k=0;k<width;k++){if(!mask){var elem=src[srcPos++];mask=128;}dest[destPos]=elem&mask?0:255;destPos+=4;mask>>=1;}}ctx.putImageData(chunkImgData,0,i*FULL_CHUNK_HEIGHT);}}function copyCtxState(sourceCtx,destCtx){var properties=[\"strokeStyle\",\"fillStyle\",\"fillRule\",\"globalAlpha\",\"lineWidth\",\"lineCap\",\"lineJoin\",\"miterLimit\",\"globalCompositeOperation\",\"font\"];for(var i=0,ii=properties.length;i<ii;i++){var property=properties[i];if(sourceCtx[property]!==undefined){destCtx[property]=sourceCtx[property];}}if(sourceCtx.setLineDash!==undefined){destCtx.setLineDash(sourceCtx.getLineDash());destCtx.lineDashOffset=sourceCtx.lineDashOffset;}}function resetCtxToDefault(ctx){ctx.strokeStyle=\"#000000\";ctx.fillStyle=\"#000000\";ctx.fillRule=\"nonzero\";ctx.globalAlpha=1;ctx.lineWidth=1;ctx.lineCap=\"butt\";ctx.lineJoin=\"miter\";ctx.miterLimit=10;ctx.globalCompositeOperation=\"source-over\";ctx.font=\"10px sans-serif\";if(ctx.setLineDash!==undefined){ctx.setLineDash([]);ctx.lineDashOffset=0;}}function composeSMaskBackdrop(bytes,r0,g0,b0){var length=bytes.length;for(var i=3;i<length;i+=4){var alpha=bytes[i];if(alpha===0){bytes[i-3]=r0;bytes[i-2]=g0;bytes[i-1]=b0;}else if(alpha<255){var alpha_=255-alpha;bytes[i-3]=bytes[i-3]*alpha+r0*alpha_>>8;bytes[i-2]=bytes[i-2]*alpha+g0*alpha_>>8;bytes[i-1]=bytes[i-1]*alpha+b0*alpha_>>8;}}}function composeSMaskAlpha(maskData,layerData,transferMap){var length=maskData.length;var scale=1/255;for(var i=3;i<length;i+=4){var alpha=transferMap?transferMap[maskData[i]]:maskData[i];layerData[i]=layerData[i]*alpha*scale|0;}}function composeSMaskLuminosity(maskData,layerData,transferMap){var length=maskData.length;for(var i=3;i<length;i+=4){var y=maskData[i-3]*77+maskData[i-2]*152+maskData[i-1]*28;layerData[i]=transferMap?layerData[i]*transferMap[y>>8]>>8:layerData[i]*y>>16;}}function genericComposeSMask(maskCtx,layerCtx,width,height,subtype,backdrop,transferMap){var hasBackdrop=!!backdrop;var r0=hasBackdrop?backdrop[0]:0;var g0=hasBackdrop?backdrop[1]:0;var b0=hasBackdrop?backdrop[2]:0;var composeFn;if(subtype===\"Luminosity\"){composeFn=composeSMaskLuminosity;}else{composeFn=composeSMaskAlpha;}var PIXELS_TO_PROCESS=1048576;var chunkSize=Math.min(height,Math.ceil(PIXELS_TO_PROCESS/width));for(var row=0;row<height;row+=chunkSize){var chunkHeight=Math.min(chunkSize,height-row);var maskData=maskCtx.getImageData(0,row,width,chunkHeight);var layerData=layerCtx.getImageData(0,row,width,chunkHeight);if(hasBackdrop){composeSMaskBackdrop(maskData.data,r0,g0,b0);}composeFn(maskData.data,layerData.data,transferMap);maskCtx.putImageData(layerData,0,row);}}function composeSMask(ctx,smask,layerCtx,webGLContext){var mask=smask.canvas;var maskCtx=smask.context;ctx.setTransform(smask.scaleX,0,0,smask.scaleY,smask.offsetX,smask.offsetY);var backdrop=smask.backdrop||null;if(!smask.transferMap&&webGLContext.isEnabled){var composed=webGLContext.composeSMask({layer:layerCtx.canvas,mask:mask,properties:{subtype:smask.subtype,backdrop:backdrop}});ctx.setTransform(1,0,0,1,0,0);ctx.drawImage(composed,smask.offsetX,smask.offsetY);return;}genericComposeSMask(maskCtx,layerCtx,mask.width,mask.height,smask.subtype,backdrop,smask.transferMap);ctx.drawImage(mask,0,0);}var LINE_CAP_STYLES=[\"butt\",\"round\",\"square\"];var LINE_JOIN_STYLES=[\"miter\",\"round\",\"bevel\"];var NORMAL_CLIP={};var EO_CLIP={};CanvasGraphics.prototype={beginDrawing:function beginDrawing(_ref){var transform=_ref.transform,viewport=_ref.viewport,_ref$transparency=_ref.transparency,transparency=_ref$transparency===void 0?false:_ref$transparency,_ref$background=_ref.background,background=_ref$background===void 0?null:_ref$background;var width=this.ctx.canvas.width;var height=this.ctx.canvas.height;this.ctx.save();this.ctx.fillStyle=background||\"rgb(255, 255, 255)\";this.ctx.fillRect(0,0,width,height);this.ctx.restore();if(transparency){var transparentCanvas=this.cachedCanvases.getCanvas(\"transparent\",width,height,true);this.compositeCtx=this.ctx;this.transparentCanvas=transparentCanvas.canvas;this.ctx=transparentCanvas.context;this.ctx.save();this.ctx.transform.apply(this.ctx,this.compositeCtx.mozCurrentTransform);}this.ctx.save();resetCtxToDefault(this.ctx);if(transform){this.ctx.transform.apply(this.ctx,transform);}this.ctx.transform.apply(this.ctx,viewport.transform);this.baseTransform=this.ctx.mozCurrentTransform.slice();if(this.imageLayer){this.imageLayer.beginLayout();}},executeOperatorList:function CanvasGraphics_executeOperatorList(operatorList,executionStartIdx,continueCallback,stepper){var argsArray=operatorList.argsArray;var fnArray=operatorList.fnArray;var i=executionStartIdx||0;var argsArrayLen=argsArray.length;if(argsArrayLen===i){return i;}var chunkOperations=argsArrayLen-i>EXECUTION_STEPS&&typeof continueCallback===\"function\";var endTime=chunkOperations?Date.now()+EXECUTION_TIME:0;var steps=0;var commonObjs=this.commonObjs;var objs=this.objs;var fnId;while(true){if(stepper!==undefined&&i===stepper.nextBreakPoint){stepper.breakIt(i,continueCallback);return i;}fnId=fnArray[i];if(fnId!==_util.OPS.dependency){this[fnId].apply(this,argsArray[i]);}else{var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=argsArray[i][Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var depObjId=_step.value;var objsPool=depObjId.startsWith(\"g_\")?commonObjs:objs;if(!objsPool.has(depObjId)){objsPool.get(depObjId,continueCallback);return i;}}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}}i++;if(i===argsArrayLen){return i;}if(chunkOperations&&++steps>EXECUTION_STEPS){if(Date.now()>endTime){continueCallback();return i;}steps=0;}}},endDrawing:function CanvasGraphics_endDrawing(){if(this.current.activeSMask!==null){this.endSMaskGroup();}this.ctx.restore();if(this.transparentCanvas){this.ctx=this.compositeCtx;this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.drawImage(this.transparentCanvas,0,0);this.ctx.restore();this.transparentCanvas=null;}this.cachedCanvases.clear();this.webGLContext.clear();if(this.imageLayer){this.imageLayer.endLayout();}},setLineWidth:function CanvasGraphics_setLineWidth(width){this.current.lineWidth=width;this.ctx.lineWidth=width;},setLineCap:function CanvasGraphics_setLineCap(style){this.ctx.lineCap=LINE_CAP_STYLES[style];},setLineJoin:function CanvasGraphics_setLineJoin(style){this.ctx.lineJoin=LINE_JOIN_STYLES[style];},setMiterLimit:function CanvasGraphics_setMiterLimit(limit){this.ctx.miterLimit=limit;},setDash:function CanvasGraphics_setDash(dashArray,dashPhase){var ctx=this.ctx;if(ctx.setLineDash!==undefined){ctx.setLineDash(dashArray);ctx.lineDashOffset=dashPhase;}},setRenderingIntent:function setRenderingIntent(intent){},setFlatness:function setFlatness(flatness){},setGState:function CanvasGraphics_setGState(states){for(var i=0,ii=states.length;i<ii;i++){var state=states[i];var key=state[0];var value=state[1];switch(key){case\"LW\":this.setLineWidth(value);break;case\"LC\":this.setLineCap(value);break;case\"LJ\":this.setLineJoin(value);break;case\"ML\":this.setMiterLimit(value);break;case\"D\":this.setDash(value[0],value[1]);break;case\"RI\":this.setRenderingIntent(value);break;case\"FL\":this.setFlatness(value);break;case\"Font\":this.setFont(value[0],value[1]);break;case\"CA\":this.current.strokeAlpha=state[1];break;case\"ca\":this.current.fillAlpha=state[1];this.ctx.globalAlpha=state[1];break;case\"BM\":this.ctx.globalCompositeOperation=value;break;case\"SMask\":if(this.current.activeSMask){if(this.stateStack.length>0&&this.stateStack[this.stateStack.length-1].activeSMask===this.current.activeSMask){this.suspendSMaskGroup();}else{this.endSMaskGroup();}}this.current.activeSMask=value?this.tempSMask:null;if(this.current.activeSMask){this.beginSMaskGroup();}this.tempSMask=null;break;}}},beginSMaskGroup:function CanvasGraphics_beginSMaskGroup(){var activeSMask=this.current.activeSMask;var drawnWidth=activeSMask.canvas.width;var drawnHeight=activeSMask.canvas.height;var cacheId=\"smaskGroupAt\"+this.groupLevel;var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var currentCtx=this.ctx;var currentTransform=currentCtx.mozCurrentTransform;this.ctx.save();var groupCtx=scratchCanvas.context;groupCtx.scale(1/activeSMask.scaleX,1/activeSMask.scaleY);groupCtx.translate(-activeSMask.offsetX,-activeSMask.offsetY);groupCtx.transform.apply(groupCtx,currentTransform);activeSMask.startTransformInverse=groupCtx.mozCurrentTransformInverse;copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([[\"BM\",\"source-over\"],[\"ca\",1],[\"CA\",1]]);this.groupStack.push(currentCtx);this.groupLevel++;},suspendSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx,this.webGLContext);this.ctx.restore();this.ctx.save();copyCtxState(groupCtx,this.ctx);this.current.resumeSMaskCtx=groupCtx;var deltaTransform=_util.Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);groupCtx.save();groupCtx.setTransform(1,0,0,1,0,0);groupCtx.clearRect(0,0,groupCtx.canvas.width,groupCtx.canvas.height);groupCtx.restore();},resumeSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.current.resumeSMaskCtx;var currentCtx=this.ctx;this.ctx=groupCtx;this.groupStack.push(currentCtx);this.groupLevel++;},endSMaskGroup:function CanvasGraphics_endSMaskGroup(){var groupCtx=this.ctx;this.groupLevel--;this.ctx=this.groupStack.pop();composeSMask(this.ctx,this.current.activeSMask,groupCtx,this.webGLContext);this.ctx.restore();copyCtxState(groupCtx,this.ctx);var deltaTransform=_util.Util.transform(this.current.activeSMask.startTransformInverse,groupCtx.mozCurrentTransform);this.ctx.transform.apply(this.ctx,deltaTransform);},save:function CanvasGraphics_save(){this.ctx.save();var old=this.current;this.stateStack.push(old);this.current=old.clone();this.current.resumeSMaskCtx=null;},restore:function CanvasGraphics_restore(){if(this.current.resumeSMaskCtx){this.resumeSMaskGroup();}if(this.current.activeSMask!==null&&(this.stateStack.length===0||this.stateStack[this.stateStack.length-1].activeSMask!==this.current.activeSMask)){this.endSMaskGroup();}if(this.stateStack.length!==0){this.current=this.stateStack.pop();this.ctx.restore();this.pendingClip=null;this._cachedGetSinglePixelWidth=null;}},transform:function CanvasGraphics_transform(a,b,c,d,e,f){this.ctx.transform(a,b,c,d,e,f);this._cachedGetSinglePixelWidth=null;},constructPath:function CanvasGraphics_constructPath(ops,args){var ctx=this.ctx;var current=this.current;var x=current.x,y=current.y;for(var i=0,j=0,ii=ops.length;i<ii;i++){switch(ops[i]|0){case _util.OPS.rectangle:x=args[j++];y=args[j++];var width=args[j++];var height=args[j++];if(width===0){width=this.getSinglePixelWidth();}if(height===0){height=this.getSinglePixelWidth();}var xw=x+width;var yh=y+height;this.ctx.moveTo(x,y);this.ctx.lineTo(xw,y);this.ctx.lineTo(xw,yh);this.ctx.lineTo(x,yh);this.ctx.lineTo(x,y);this.ctx.closePath();break;case _util.OPS.moveTo:x=args[j++];y=args[j++];ctx.moveTo(x,y);break;case _util.OPS.lineTo:x=args[j++];y=args[j++];ctx.lineTo(x,y);break;case _util.OPS.curveTo:x=args[j+4];y=args[j+5];ctx.bezierCurveTo(args[j],args[j+1],args[j+2],args[j+3],x,y);j+=6;break;case _util.OPS.curveTo2:ctx.bezierCurveTo(x,y,args[j],args[j+1],args[j+2],args[j+3]);x=args[j+2];y=args[j+3];j+=4;break;case _util.OPS.curveTo3:x=args[j+2];y=args[j+3];ctx.bezierCurveTo(args[j],args[j+1],x,y,x,y);j+=4;break;case _util.OPS.closePath:ctx.closePath();break;}}current.setCurrentPoint(x,y);},closePath:function CanvasGraphics_closePath(){this.ctx.closePath();},stroke:function CanvasGraphics_stroke(consumePath){consumePath=typeof consumePath!==\"undefined\"?consumePath:true;var ctx=this.ctx;var strokeColor=this.current.strokeColor;ctx.globalAlpha=this.current.strokeAlpha;if(strokeColor&&strokeColor.hasOwnProperty(\"type\")&&strokeColor.type===\"Pattern\"){ctx.save();var transform=ctx.mozCurrentTransform;var scale=_util.Util.singularValueDecompose2dScale(transform)[0];ctx.strokeStyle=strokeColor.getPattern(ctx,this);ctx.lineWidth=Math.max(this.getSinglePixelWidth()*MIN_WIDTH_FACTOR,this.current.lineWidth*scale);ctx.stroke();ctx.restore();}else{ctx.lineWidth=Math.max(this.getSinglePixelWidth()*MIN_WIDTH_FACTOR,this.current.lineWidth);ctx.stroke();}if(consumePath){this.consumePath();}ctx.globalAlpha=this.current.fillAlpha;},closeStroke:function CanvasGraphics_closeStroke(){this.closePath();this.stroke();},fill:function CanvasGraphics_fill(consumePath){consumePath=typeof consumePath!==\"undefined\"?consumePath:true;var ctx=this.ctx;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var needRestore=false;if(isPatternFill){ctx.save();if(this.baseTransform){ctx.setTransform.apply(ctx,this.baseTransform);}ctx.fillStyle=fillColor.getPattern(ctx,this);needRestore=true;}if(this.pendingEOFill){ctx.fill(\"evenodd\");this.pendingEOFill=false;}else{ctx.fill();}if(needRestore){ctx.restore();}if(consumePath){this.consumePath();}},eoFill:function CanvasGraphics_eoFill(){this.pendingEOFill=true;this.fill();},fillStroke:function CanvasGraphics_fillStroke(){this.fill(false);this.stroke(false);this.consumePath();},eoFillStroke:function CanvasGraphics_eoFillStroke(){this.pendingEOFill=true;this.fillStroke();},closeFillStroke:function CanvasGraphics_closeFillStroke(){this.closePath();this.fillStroke();},closeEOFillStroke:function CanvasGraphics_closeEOFillStroke(){this.pendingEOFill=true;this.closePath();this.fillStroke();},endPath:function CanvasGraphics_endPath(){this.consumePath();},clip:function CanvasGraphics_clip(){this.pendingClip=NORMAL_CLIP;},eoClip:function CanvasGraphics_eoClip(){this.pendingClip=EO_CLIP;},beginText:function CanvasGraphics_beginText(){this.current.textMatrix=_util.IDENTITY_MATRIX;this.current.textMatrixScale=1;this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;},endText:function CanvasGraphics_endText(){var paths=this.pendingTextPaths;var ctx=this.ctx;if(paths===undefined){ctx.beginPath();return;}ctx.save();ctx.beginPath();for(var i=0;i<paths.length;i++){var path=paths[i];ctx.setTransform.apply(ctx,path.transform);ctx.translate(path.x,path.y);path.addToPath(ctx,path.fontSize);}ctx.restore();ctx.clip();ctx.beginPath();delete this.pendingTextPaths;},setCharSpacing:function CanvasGraphics_setCharSpacing(spacing){this.current.charSpacing=spacing;},setWordSpacing:function CanvasGraphics_setWordSpacing(spacing){this.current.wordSpacing=spacing;},setHScale:function CanvasGraphics_setHScale(scale){this.current.textHScale=scale/100;},setLeading:function CanvasGraphics_setLeading(leading){this.current.leading=-leading;},setFont:function CanvasGraphics_setFont(fontRefName,size){var fontObj=this.commonObjs.get(fontRefName);var current=this.current;if(!fontObj){throw new Error(\"Can't find font for \".concat(fontRefName));}current.fontMatrix=fontObj.fontMatrix?fontObj.fontMatrix:_util.FONT_IDENTITY_MATRIX;if(current.fontMatrix[0]===0||current.fontMatrix[3]===0){(0,_util.warn)(\"Invalid font matrix for font \"+fontRefName);}if(size<0){size=-size;current.fontDirection=-1;}else{current.fontDirection=1;}this.current.font=fontObj;this.current.fontSize=size;if(fontObj.isType3Font){return;}var name=fontObj.loadedName||\"sans-serif\";var bold=\"normal\";if(fontObj.black){bold=\"900\";}else if(fontObj.bold){bold=\"bold\";}var italic=fontObj.italic?\"italic\":\"normal\";var typeface=\"\\\"\".concat(name,\"\\\", \").concat(fontObj.fallbackName);var browserFontSize=size;if(size<MIN_FONT_SIZE){browserFontSize=MIN_FONT_SIZE;}else if(size>MAX_FONT_SIZE){browserFontSize=MAX_FONT_SIZE;}this.current.fontSizeScale=size/browserFontSize;this.ctx.font=\"\".concat(italic,\" \").concat(bold,\" \").concat(browserFontSize,\"px \").concat(typeface);},setTextRenderingMode:function CanvasGraphics_setTextRenderingMode(mode){this.current.textRenderingMode=mode;},setTextRise:function CanvasGraphics_setTextRise(rise){this.current.textRise=rise;},moveText:function CanvasGraphics_moveText(x,y){this.current.x=this.current.lineX+=x;this.current.y=this.current.lineY+=y;},setLeadingMoveText:function CanvasGraphics_setLeadingMoveText(x,y){this.setLeading(-y);this.moveText(x,y);},setTextMatrix:function CanvasGraphics_setTextMatrix(a,b,c,d,e,f){this.current.textMatrix=[a,b,c,d,e,f];this.current.textMatrixScale=Math.sqrt(a*a+b*b);this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0;},nextLine:function CanvasGraphics_nextLine(){this.moveText(0,this.current.leading);},paintChar:function paintChar(character,x,y,patternTransform){var ctx=this.ctx;var current=this.current;var font=current.font;var textRenderingMode=current.textRenderingMode;var fontSize=current.fontSize/current.fontSizeScale;var fillStrokeMode=textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;var isAddToPathSet=!!(textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG);var patternFill=current.patternFill&&font.data;var addToPath;if(font.disableFontFace||isAddToPathSet||patternFill){addToPath=font.getPathGenerator(this.commonObjs,character);}if(font.disableFontFace||patternFill){ctx.save();ctx.translate(x,y);ctx.beginPath();addToPath(ctx,fontSize);if(patternTransform){ctx.setTransform.apply(ctx,patternTransform);}if(fillStrokeMode===_util.TextRenderingMode.FILL||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.fill();}if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.stroke();}ctx.restore();}else{if(fillStrokeMode===_util.TextRenderingMode.FILL||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.fillText(character,x,y);}if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){ctx.strokeText(character,x,y);}}if(isAddToPathSet){var paths=this.pendingTextPaths||(this.pendingTextPaths=[]);paths.push({transform:ctx.mozCurrentTransform,x:x,y:y,fontSize:fontSize,addToPath:addToPath});}},get isFontSubpixelAAEnabled(){var _this$cachedCanvases$=this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\",10,10),ctx=_this$cachedCanvases$.context;ctx.scale(1.5,1);ctx.fillText(\"I\",0,10);var data=ctx.getImageData(0,0,10,10).data;var enabled=false;for(var i=3;i<data.length;i+=4){if(data[i]>0&&data[i]<255){enabled=true;break;}}return(0,_util.shadow)(this,\"isFontSubpixelAAEnabled\",enabled);},showText:function CanvasGraphics_showText(glyphs){var current=this.current;var font=current.font;if(font.isType3Font){return this.showType3Text(glyphs);}var fontSize=current.fontSize;if(fontSize===0){return undefined;}var ctx=this.ctx;var fontSizeScale=current.fontSizeScale;var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var fontDirection=current.fontDirection;var textHScale=current.textHScale*fontDirection;var glyphsLength=glyphs.length;var vertical=font.vertical;var spacingDir=vertical?1:-1;var defaultVMetrics=font.defaultVMetrics;var widthAdvanceScale=fontSize*current.fontMatrix[0];var simpleFillText=current.textRenderingMode===_util.TextRenderingMode.FILL&&!font.disableFontFace&&!current.patternFill;ctx.save();var patternTransform;if(current.patternFill){ctx.save();var pattern=current.fillColor.getPattern(ctx,this);patternTransform=ctx.mozCurrentTransform;ctx.restore();ctx.fillStyle=pattern;}ctx.transform.apply(ctx,current.textMatrix);ctx.translate(current.x,current.y+current.textRise);if(fontDirection>0){ctx.scale(textHScale,-1);}else{ctx.scale(textHScale,1);}var lineWidth=current.lineWidth;var scale=current.textMatrixScale;if(scale===0||lineWidth===0){var fillStrokeMode=current.textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){this._cachedGetSinglePixelWidth=null;lineWidth=this.getSinglePixelWidth()*MIN_WIDTH_FACTOR;}}else{lineWidth/=scale;}if(fontSizeScale!==1.0){ctx.scale(fontSizeScale,fontSizeScale);lineWidth/=fontSizeScale;}ctx.lineWidth=lineWidth;var x=0,i;for(i=0;i<glyphsLength;++i){var glyph=glyphs[i];if((0,_util.isNum)(glyph)){x+=spacingDir*glyph*fontSize/1000;continue;}var restoreNeeded=false;var spacing=(glyph.isSpace?wordSpacing:0)+charSpacing;var character=glyph.fontChar;var accent=glyph.accent;var scaledX,scaledY,scaledAccentX,scaledAccentY;var width=glyph.width;if(vertical){var vmetric,vx,vy;vmetric=glyph.vmetric||defaultVMetrics;vx=glyph.vmetric?vmetric[1]:width*0.5;vx=-vx*widthAdvanceScale;vy=vmetric[2]*widthAdvanceScale;width=vmetric?-vmetric[0]:width;scaledX=vx/fontSizeScale;scaledY=(x+vy)/fontSizeScale;}else{scaledX=x/fontSizeScale;scaledY=0;}if(font.remeasure&&width>0){var measuredWidth=ctx.measureText(character).width*1000/fontSize*fontSizeScale;if(width<measuredWidth&&this.isFontSubpixelAAEnabled){var characterScaleX=width/measuredWidth;restoreNeeded=true;ctx.save();ctx.scale(characterScaleX,1);scaledX/=characterScaleX;}else if(width!==measuredWidth){scaledX+=(width-measuredWidth)/2000*fontSize/fontSizeScale;}}if(glyph.isInFont||font.missingFile){if(simpleFillText&&!accent){ctx.fillText(character,scaledX,scaledY);}else{this.paintChar(character,scaledX,scaledY,patternTransform);if(accent){scaledAccentX=scaledX+accent.offset.x/fontSizeScale;scaledAccentY=scaledY-accent.offset.y/fontSizeScale;this.paintChar(accent.fontChar,scaledAccentX,scaledAccentY,patternTransform);}}}var charWidth;if(vertical){charWidth=width*widthAdvanceScale-spacing*fontDirection;}else{charWidth=width*widthAdvanceScale+spacing*fontDirection;}x+=charWidth;if(restoreNeeded){ctx.restore();}}if(vertical){current.y-=x;}else{current.x+=x*textHScale;}ctx.restore();},showType3Text:function CanvasGraphics_showType3Text(glyphs){var ctx=this.ctx;var current=this.current;var font=current.font;var fontSize=current.fontSize;var fontDirection=current.fontDirection;var spacingDir=font.vertical?1:-1;var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var textHScale=current.textHScale*fontDirection;var fontMatrix=current.fontMatrix||_util.FONT_IDENTITY_MATRIX;var glyphsLength=glyphs.length;var isTextInvisible=current.textRenderingMode===_util.TextRenderingMode.INVISIBLE;var i,glyph,width,spacingLength;if(isTextInvisible||fontSize===0){return;}this._cachedGetSinglePixelWidth=null;ctx.save();ctx.transform.apply(ctx,current.textMatrix);ctx.translate(current.x,current.y);ctx.scale(textHScale,fontDirection);for(i=0;i<glyphsLength;++i){glyph=glyphs[i];if((0,_util.isNum)(glyph)){spacingLength=spacingDir*glyph*fontSize/1000;this.ctx.translate(spacingLength,0);current.x+=spacingLength*textHScale;continue;}var spacing=(glyph.isSpace?wordSpacing:0)+charSpacing;var operatorList=font.charProcOperatorList[glyph.operatorListId];if(!operatorList){(0,_util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId,\"\\\" is not available.\"));continue;}this.processingType3=glyph;this.save();ctx.scale(fontSize,fontSize);ctx.transform.apply(ctx,fontMatrix);this.executeOperatorList(operatorList);this.restore();var transformed=_util.Util.applyTransform([glyph.width,0],fontMatrix);width=transformed[0]*fontSize+spacing;ctx.translate(width,0);current.x+=width*textHScale;}ctx.restore();this.processingType3=null;},setCharWidth:function CanvasGraphics_setCharWidth(xWidth,yWidth){},setCharWidthAndBounds:function CanvasGraphics_setCharWidthAndBounds(xWidth,yWidth,llx,lly,urx,ury){this.ctx.rect(llx,lly,urx-llx,ury-lly);this.clip();this.endPath();},getColorN_Pattern:function CanvasGraphics_getColorN_Pattern(IR){var _this=this;var pattern;if(IR[0]===\"TilingPattern\"){var color=IR[1];var baseTransform=this.baseTransform||this.ctx.mozCurrentTransform.slice();var canvasGraphicsFactory={createCanvasGraphics:function createCanvasGraphics(ctx){return new CanvasGraphics(ctx,_this.commonObjs,_this.objs,_this.canvasFactory,_this.webGLContext);}};pattern=new _pattern_helper.TilingPattern(IR,color,this.ctx,canvasGraphicsFactory,baseTransform);}else{pattern=(0,_pattern_helper.getShadingPatternFromIR)(IR);}return pattern;},setStrokeColorN:function CanvasGraphics_setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments);},setFillColorN:function CanvasGraphics_setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments);this.current.patternFill=true;},setStrokeRGBColor:function CanvasGraphics_setStrokeRGBColor(r,g,b){var color=_util.Util.makeCssRgb(r,g,b);this.ctx.strokeStyle=color;this.current.strokeColor=color;},setFillRGBColor:function CanvasGraphics_setFillRGBColor(r,g,b){var color=_util.Util.makeCssRgb(r,g,b);this.ctx.fillStyle=color;this.current.fillColor=color;this.current.patternFill=false;},shadingFill:function CanvasGraphics_shadingFill(patternIR){var ctx=this.ctx;this.save();var pattern=(0,_pattern_helper.getShadingPatternFromIR)(patternIR);ctx.fillStyle=pattern.getPattern(ctx,this,true);var inv=ctx.mozCurrentTransformInverse;if(inv){var canvas=ctx.canvas;var width=canvas.width;var height=canvas.height;var bl=_util.Util.applyTransform([0,0],inv);var br=_util.Util.applyTransform([0,height],inv);var ul=_util.Util.applyTransform([width,0],inv);var ur=_util.Util.applyTransform([width,height],inv);var x0=Math.min(bl[0],br[0],ul[0],ur[0]);var y0=Math.min(bl[1],br[1],ul[1],ur[1]);var x1=Math.max(bl[0],br[0],ul[0],ur[0]);var y1=Math.max(bl[1],br[1],ul[1],ur[1]);this.ctx.fillRect(x0,y0,x1-x0,y1-y0);}else{this.ctx.fillRect(-1e10,-1e10,2e10,2e10);}this.restore();},beginInlineImage:function CanvasGraphics_beginInlineImage(){(0,_util.unreachable)(\"Should not call beginInlineImage\");},beginImageData:function CanvasGraphics_beginImageData(){(0,_util.unreachable)(\"Should not call beginImageData\");},paintFormXObjectBegin:function CanvasGraphics_paintFormXObjectBegin(matrix,bbox){this.save();this.baseTransformStack.push(this.baseTransform);if(Array.isArray(matrix)&&matrix.length===6){this.transform.apply(this,matrix);}this.baseTransform=this.ctx.mozCurrentTransform;if(bbox){var width=bbox[2]-bbox[0];var height=bbox[3]-bbox[1];this.ctx.rect(bbox[0],bbox[1],width,height);this.clip();this.endPath();}},paintFormXObjectEnd:function CanvasGraphics_paintFormXObjectEnd(){this.restore();this.baseTransform=this.baseTransformStack.pop();},beginGroup:function CanvasGraphics_beginGroup(group){this.save();var currentCtx=this.ctx;if(!group.isolated){(0,_util.info)(\"TODO: Support non-isolated groups.\");}if(group.knockout){(0,_util.warn)(\"Knockout groups not supported.\");}var currentTransform=currentCtx.mozCurrentTransform;if(group.matrix){currentCtx.transform.apply(currentCtx,group.matrix);}if(!group.bbox){throw new Error(\"Bounding box is required.\");}var bounds=_util.Util.getAxialAlignedBoundingBox(group.bbox,currentCtx.mozCurrentTransform);var canvasBounds=[0,0,currentCtx.canvas.width,currentCtx.canvas.height];bounds=_util.Util.intersect(bounds,canvasBounds)||[0,0,0,0];var offsetX=Math.floor(bounds[0]);var offsetY=Math.floor(bounds[1]);var drawnWidth=Math.max(Math.ceil(bounds[2])-offsetX,1);var drawnHeight=Math.max(Math.ceil(bounds[3])-offsetY,1);var scaleX=1,scaleY=1;if(drawnWidth>MAX_GROUP_SIZE){scaleX=drawnWidth/MAX_GROUP_SIZE;drawnWidth=MAX_GROUP_SIZE;}if(drawnHeight>MAX_GROUP_SIZE){scaleY=drawnHeight/MAX_GROUP_SIZE;drawnHeight=MAX_GROUP_SIZE;}var cacheId=\"groupAt\"+this.groupLevel;if(group.smask){cacheId+=\"_smask_\"+this.smaskCounter++%2;}var scratchCanvas=this.cachedCanvases.getCanvas(cacheId,drawnWidth,drawnHeight,true);var groupCtx=scratchCanvas.context;groupCtx.scale(1/scaleX,1/scaleY);groupCtx.translate(-offsetX,-offsetY);groupCtx.transform.apply(groupCtx,currentTransform);if(group.smask){this.smaskStack.push({canvas:scratchCanvas.canvas,context:groupCtx,offsetX:offsetX,offsetY:offsetY,scaleX:scaleX,scaleY:scaleY,subtype:group.smask.subtype,backdrop:group.smask.backdrop,transferMap:group.smask.transferMap||null,startTransformInverse:null});}else{currentCtx.setTransform(1,0,0,1,0,0);currentCtx.translate(offsetX,offsetY);currentCtx.scale(scaleX,scaleY);}copyCtxState(currentCtx,groupCtx);this.ctx=groupCtx;this.setGState([[\"BM\",\"source-over\"],[\"ca\",1],[\"CA\",1]]);this.groupStack.push(currentCtx);this.groupLevel++;this.current.activeSMask=null;},endGroup:function CanvasGraphics_endGroup(group){this.groupLevel--;var groupCtx=this.ctx;this.ctx=this.groupStack.pop();if(this.ctx.imageSmoothingEnabled!==undefined){this.ctx.imageSmoothingEnabled=false;}else{this.ctx.mozImageSmoothingEnabled=false;}if(group.smask){this.tempSMask=this.smaskStack.pop();}else{this.ctx.drawImage(groupCtx.canvas,0,0);}this.restore();},beginAnnotations:function CanvasGraphics_beginAnnotations(){this.save();if(this.baseTransform){this.ctx.setTransform.apply(this.ctx,this.baseTransform);}},endAnnotations:function CanvasGraphics_endAnnotations(){this.restore();},beginAnnotation:function CanvasGraphics_beginAnnotation(rect,transform,matrix){this.save();resetCtxToDefault(this.ctx);this.current=new CanvasExtraState();if(Array.isArray(rect)&&rect.length===4){var width=rect[2]-rect[0];var height=rect[3]-rect[1];this.ctx.rect(rect[0],rect[1],width,height);this.clip();this.endPath();}this.transform.apply(this,transform);this.transform.apply(this,matrix);},endAnnotation:function CanvasGraphics_endAnnotation(){this.restore();},paintJpegXObject:function CanvasGraphics_paintJpegXObject(objId,w,h){var domImage=this.processingType3?this.commonObjs.get(objId):this.objs.get(objId);if(!domImage){(0,_util.warn)(\"Dependent image isn't ready yet\");return;}this.save();var ctx=this.ctx;ctx.scale(1/w,-1/h);ctx.drawImage(domImage,0,0,domImage.width,domImage.height,0,-h,w,h);if(this.imageLayer){var currentTransform=ctx.mozCurrentTransformInverse;var position=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:objId,left:position[0],top:position[1],width:w/currentTransform[0],height:h/currentTransform[3]});}this.restore();},paintImageMaskXObject:function CanvasGraphics_paintImageMaskXObject(img){var ctx=this.ctx;var width=img.width,height=img.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var glyph=this.processingType3;if(COMPILE_TYPE3_GLYPHS&&glyph&&glyph.compiled===undefined){if(width<=MAX_SIZE_TO_COMPILE&&height<=MAX_SIZE_TO_COMPILE){glyph.compiled=compileType3Glyph({data:img.data,width:width,height:height});}else{glyph.compiled=null;}}if(glyph&&glyph.compiled){glyph.compiled(ctx);return;}var maskCanvas=this.cachedCanvases.getCanvas(\"maskCanvas\",width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,img);maskCtx.globalCompositeOperation=\"source-in\";maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();this.paintInlineImageXObject(maskCanvas.canvas);},paintImageMaskXObjectRepeat:function CanvasGraphics_paintImageMaskXObjectRepeat(imgData,scaleX,scaleY,positions){var width=imgData.width;var height=imgData.height;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;var maskCanvas=this.cachedCanvases.getCanvas(\"maskCanvas\",width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,imgData);maskCtx.globalCompositeOperation=\"source-in\";maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();var ctx=this.ctx;for(var i=0,ii=positions.length;i<ii;i+=2){ctx.save();ctx.transform(scaleX,0,0,scaleY,positions[i],positions[i+1]);ctx.scale(1,-1);ctx.drawImage(maskCanvas.canvas,0,0,width,height,0,-1,1,1);ctx.restore();}},paintImageMaskXObjectGroup:function CanvasGraphics_paintImageMaskXObjectGroup(images){var ctx=this.ctx;var fillColor=this.current.fillColor;var isPatternFill=this.current.patternFill;for(var i=0,ii=images.length;i<ii;i++){var image=images[i];var width=image.width,height=image.height;var maskCanvas=this.cachedCanvases.getCanvas(\"maskCanvas\",width,height);var maskCtx=maskCanvas.context;maskCtx.save();putBinaryImageMask(maskCtx,image);maskCtx.globalCompositeOperation=\"source-in\";maskCtx.fillStyle=isPatternFill?fillColor.getPattern(maskCtx,this):fillColor;maskCtx.fillRect(0,0,width,height);maskCtx.restore();ctx.save();ctx.transform.apply(ctx,image.transform);ctx.scale(1,-1);ctx.drawImage(maskCanvas.canvas,0,0,width,height,0,-1,1,1);ctx.restore();}},paintImageXObject:function CanvasGraphics_paintImageXObject(objId){var imgData=this.processingType3?this.commonObjs.get(objId):this.objs.get(objId);if(!imgData){(0,_util.warn)(\"Dependent image isn't ready yet\");return;}this.paintInlineImageXObject(imgData);},paintImageXObjectRepeat:function CanvasGraphics_paintImageXObjectRepeat(objId,scaleX,scaleY,positions){var imgData=this.processingType3?this.commonObjs.get(objId):this.objs.get(objId);if(!imgData){(0,_util.warn)(\"Dependent image isn't ready yet\");return;}var width=imgData.width;var height=imgData.height;var map=[];for(var i=0,ii=positions.length;i<ii;i+=2){map.push({transform:[scaleX,0,0,scaleY,positions[i],positions[i+1]],x:0,y:0,w:width,h:height});}this.paintInlineImageXObjectGroup(imgData,map);},paintInlineImageXObject:function CanvasGraphics_paintInlineImageXObject(imgData){var width=imgData.width;var height=imgData.height;var ctx=this.ctx;this.save();ctx.scale(1/width,-1/height);var currentTransform=ctx.mozCurrentTransformInverse;var a=currentTransform[0],b=currentTransform[1];var widthScale=Math.max(Math.sqrt(a*a+b*b),1);var c=currentTransform[2],d=currentTransform[3];var heightScale=Math.max(Math.sqrt(c*c+d*d),1);var imgToPaint,tmpCanvas;if(typeof HTMLElement===\"function\"&&imgData instanceof HTMLElement||!imgData.data){imgToPaint=imgData;}else{tmpCanvas=this.cachedCanvases.getCanvas(\"inlineImage\",width,height);var tmpCtx=tmpCanvas.context;putBinaryImageData(tmpCtx,imgData);imgToPaint=tmpCanvas.canvas;}var paintWidth=width,paintHeight=height;var tmpCanvasId=\"prescale1\";while(widthScale>2&&paintWidth>1||heightScale>2&&paintHeight>1){var newWidth=paintWidth,newHeight=paintHeight;if(widthScale>2&&paintWidth>1){newWidth=Math.ceil(paintWidth/2);widthScale/=paintWidth/newWidth;}if(heightScale>2&&paintHeight>1){newHeight=Math.ceil(paintHeight/2);heightScale/=paintHeight/newHeight;}tmpCanvas=this.cachedCanvases.getCanvas(tmpCanvasId,newWidth,newHeight);tmpCtx=tmpCanvas.context;tmpCtx.clearRect(0,0,newWidth,newHeight);tmpCtx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,0,newWidth,newHeight);imgToPaint=tmpCanvas.canvas;paintWidth=newWidth;paintHeight=newHeight;tmpCanvasId=tmpCanvasId===\"prescale1\"?\"prescale2\":\"prescale1\";}ctx.drawImage(imgToPaint,0,0,paintWidth,paintHeight,0,-height,width,height);if(this.imageLayer){var position=this.getCanvasPosition(0,-height);this.imageLayer.appendImage({imgData:imgData,left:position[0],top:position[1],width:width/currentTransform[0],height:height/currentTransform[3]});}this.restore();},paintInlineImageXObjectGroup:function CanvasGraphics_paintInlineImageXObjectGroup(imgData,map){var ctx=this.ctx;var w=imgData.width;var h=imgData.height;var tmpCanvas=this.cachedCanvases.getCanvas(\"inlineImage\",w,h);var tmpCtx=tmpCanvas.context;putBinaryImageData(tmpCtx,imgData);for(var i=0,ii=map.length;i<ii;i++){var entry=map[i];ctx.save();ctx.transform.apply(ctx,entry.transform);ctx.scale(1,-1);ctx.drawImage(tmpCanvas.canvas,entry.x,entry.y,entry.w,entry.h,0,-1,1,1);if(this.imageLayer){var position=this.getCanvasPosition(entry.x,entry.y);this.imageLayer.appendImage({imgData:imgData,left:position[0],top:position[1],width:w,height:h});}ctx.restore();}},paintSolidColorImageMask:function CanvasGraphics_paintSolidColorImageMask(){this.ctx.fillRect(0,0,1,1);},paintXObject:function CanvasGraphics_paintXObject(){(0,_util.warn)(\"Unsupported 'paintXObject' command.\");},markPoint:function CanvasGraphics_markPoint(tag){},markPointProps:function CanvasGraphics_markPointProps(tag,properties){},beginMarkedContent:function CanvasGraphics_beginMarkedContent(tag){},beginMarkedContentProps:function CanvasGraphics_beginMarkedContentProps(tag,properties){},endMarkedContent:function CanvasGraphics_endMarkedContent(){},beginCompat:function CanvasGraphics_beginCompat(){},endCompat:function CanvasGraphics_endCompat(){},consumePath:function CanvasGraphics_consumePath(){var ctx=this.ctx;if(this.pendingClip){if(this.pendingClip===EO_CLIP){ctx.clip(\"evenodd\");}else{ctx.clip();}this.pendingClip=null;}ctx.beginPath();},getSinglePixelWidth:function getSinglePixelWidth(scale){if(this._cachedGetSinglePixelWidth===null){var inverse=this.ctx.mozCurrentTransformInverse;this._cachedGetSinglePixelWidth=Math.sqrt(Math.max(inverse[0]*inverse[0]+inverse[1]*inverse[1],inverse[2]*inverse[2]+inverse[3]*inverse[3]));}return this._cachedGetSinglePixelWidth;},getCanvasPosition:function CanvasGraphics_getCanvasPosition(x,y){var transform=this.ctx.mozCurrentTransform;return[transform[0]*x+transform[2]*y+transform[4],transform[1]*x+transform[3]*y+transform[5]];}};for(var op in _util.OPS){CanvasGraphics.prototype[_util.OPS[op]]=CanvasGraphics.prototype[op];}return CanvasGraphics;}();exports.CanvasGraphics=CanvasGraphics;/***/},/* 198 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getShadingPatternFromIR=getShadingPatternFromIR;exports.TilingPattern=void 0;var _util=__w_pdfjs_require__(1);var ShadingIRs={};function applyBoundingBox(ctx,bbox){if(!bbox||typeof Path2D===\"undefined\"){return;}var width=bbox[2]-bbox[0];var height=bbox[3]-bbox[1];var region=new Path2D();region.rect(bbox[0],bbox[1],width,height);ctx.clip(region);}ShadingIRs.RadialAxial={fromIR:function RadialAxial_fromIR(raw){var type=raw[1];var bbox=raw[2];var colorStops=raw[3];var p0=raw[4];var p1=raw[5];var r0=raw[6];var r1=raw[7];return{type:\"Pattern\",getPattern:function RadialAxial_getPattern(ctx){applyBoundingBox(ctx,bbox);var grad;if(type===\"axial\"){grad=ctx.createLinearGradient(p0[0],p0[1],p1[0],p1[1]);}else if(type===\"radial\"){grad=ctx.createRadialGradient(p0[0],p0[1],r0,p1[0],p1[1],r1);}for(var i=0,ii=colorStops.length;i<ii;++i){var c=colorStops[i];grad.addColorStop(c[0],c[1]);}return grad;}};}};var createMeshCanvas=function createMeshCanvasClosure(){function drawTriangle(data,context,p1,p2,p3,c1,c2,c3){var coords=context.coords,colors=context.colors;var bytes=data.data,rowSize=data.width*4;var tmp;if(coords[p1+1]>coords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp;}if(coords[p2+1]>coords[p3+1]){tmp=p2;p2=p3;p3=tmp;tmp=c2;c2=c3;c3=tmp;}if(coords[p1+1]>coords[p2+1]){tmp=p1;p1=p2;p2=tmp;tmp=c1;c1=c2;c2=tmp;}var x1=(coords[p1]+context.offsetX)*context.scaleX;var y1=(coords[p1+1]+context.offsetY)*context.scaleY;var x2=(coords[p2]+context.offsetX)*context.scaleX;var y2=(coords[p2+1]+context.offsetY)*context.scaleY;var x3=(coords[p3]+context.offsetX)*context.scaleX;var y3=(coords[p3+1]+context.offsetY)*context.scaleY;if(y1>=y3){return;}var c1r=colors[c1],c1g=colors[c1+1],c1b=colors[c1+2];var c2r=colors[c2],c2g=colors[c2+1],c2b=colors[c2+2];var c3r=colors[c3],c3g=colors[c3+1],c3b=colors[c3+2];var minY=Math.round(y1),maxY=Math.round(y3);var xa,car,cag,cab;var xb,cbr,cbg,cbb;for(var y=minY;y<=maxY;y++){if(y<y2){var _k=void 0;if(y<y1){_k=0;}else if(y1===y2){_k=1;}else{_k=(y1-y)/(y1-y2);}xa=x1-(x1-x2)*_k;car=c1r-(c1r-c2r)*_k;cag=c1g-(c1g-c2g)*_k;cab=c1b-(c1b-c2b)*_k;}else{var _k2=void 0;if(y>y3){_k2=1;}else if(y2===y3){_k2=0;}else{_k2=(y2-y)/(y2-y3);}xa=x2-(x2-x3)*_k2;car=c2r-(c2r-c3r)*_k2;cag=c2g-(c2g-c3g)*_k2;cab=c2b-(c2b-c3b)*_k2;}var k=void 0;if(y<y1){k=0;}else if(y>y3){k=1;}else{k=(y1-y)/(y1-y3);}xb=x1-(x1-x3)*k;cbr=c1r-(c1r-c3r)*k;cbg=c1g-(c1g-c3g)*k;cbb=c1b-(c1b-c3b)*k;var x1_=Math.round(Math.min(xa,xb));var x2_=Math.round(Math.max(xa,xb));var j=rowSize*y+x1_*4;for(var x=x1_;x<=x2_;x++){var _k3=(xa-x)/(xa-xb);if(_k3<0){_k3=0;}else if(_k3>1){_k3=1;}bytes[j++]=car-(car-cbr)*_k3|0;bytes[j++]=cag-(cag-cbg)*_k3|0;bytes[j++]=cab-(cab-cbb)*_k3|0;bytes[j++]=255;}}}function drawFigure(data,figure,context){var ps=figure.coords;var cs=figure.colors;var i,ii;switch(figure.type){case\"lattice\":var verticesPerRow=figure.verticesPerRow;var rows=Math.floor(ps.length/verticesPerRow)-1;var cols=verticesPerRow-1;for(i=0;i<rows;i++){var q=i*verticesPerRow;for(var j=0;j<cols;j++,q++){drawTriangle(data,context,ps[q],ps[q+1],ps[q+verticesPerRow],cs[q],cs[q+1],cs[q+verticesPerRow]);drawTriangle(data,context,ps[q+verticesPerRow+1],ps[q+1],ps[q+verticesPerRow],cs[q+verticesPerRow+1],cs[q+1],cs[q+verticesPerRow]);}}break;case\"triangles\":for(i=0,ii=ps.length;i<ii;i+=3){drawTriangle(data,context,ps[i],ps[i+1],ps[i+2],cs[i],cs[i+1],cs[i+2]);}break;default:throw new Error(\"illegal figure\");}}function createMeshCanvas(bounds,combinesScale,coords,colors,figures,backgroundColor,cachedCanvases,webGLContext){var EXPECTED_SCALE=1.1;var MAX_PATTERN_SIZE=3000;var BORDER_SIZE=2;var offsetX=Math.floor(bounds[0]);var offsetY=Math.floor(bounds[1]);var boundsWidth=Math.ceil(bounds[2])-offsetX;var boundsHeight=Math.ceil(bounds[3])-offsetY;var width=Math.min(Math.ceil(Math.abs(boundsWidth*combinesScale[0]*EXPECTED_SCALE)),MAX_PATTERN_SIZE);var height=Math.min(Math.ceil(Math.abs(boundsHeight*combinesScale[1]*EXPECTED_SCALE)),MAX_PATTERN_SIZE);var scaleX=boundsWidth/width;var scaleY=boundsHeight/height;var context={coords:coords,colors:colors,offsetX:-offsetX,offsetY:-offsetY,scaleX:1/scaleX,scaleY:1/scaleY};var paddedWidth=width+BORDER_SIZE*2;var paddedHeight=height+BORDER_SIZE*2;var canvas,tmpCanvas,i,ii;if(webGLContext.isEnabled){canvas=webGLContext.drawFigures({width:width,height:height,backgroundColor:backgroundColor,figures:figures,context:context});tmpCanvas=cachedCanvases.getCanvas(\"mesh\",paddedWidth,paddedHeight,false);tmpCanvas.context.drawImage(canvas,BORDER_SIZE,BORDER_SIZE);canvas=tmpCanvas.canvas;}else{tmpCanvas=cachedCanvases.getCanvas(\"mesh\",paddedWidth,paddedHeight,false);var tmpCtx=tmpCanvas.context;var data=tmpCtx.createImageData(width,height);if(backgroundColor){var bytes=data.data;for(i=0,ii=bytes.length;i<ii;i+=4){bytes[i]=backgroundColor[0];bytes[i+1]=backgroundColor[1];bytes[i+2]=backgroundColor[2];bytes[i+3]=255;}}for(i=0;i<figures.length;i++){drawFigure(data,figures[i],context);}tmpCtx.putImageData(data,BORDER_SIZE,BORDER_SIZE);canvas=tmpCanvas.canvas;}return{canvas:canvas,offsetX:offsetX-BORDER_SIZE*scaleX,offsetY:offsetY-BORDER_SIZE*scaleY,scaleX:scaleX,scaleY:scaleY};}return createMeshCanvas;}();ShadingIRs.Mesh={fromIR:function Mesh_fromIR(raw){var coords=raw[2];var colors=raw[3];var figures=raw[4];var bounds=raw[5];var matrix=raw[6];var bbox=raw[7];var background=raw[8];return{type:\"Pattern\",getPattern:function Mesh_getPattern(ctx,owner,shadingFill){applyBoundingBox(ctx,bbox);var scale;if(shadingFill){scale=_util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);}else{scale=_util.Util.singularValueDecompose2dScale(owner.baseTransform);if(matrix){var matrixScale=_util.Util.singularValueDecompose2dScale(matrix);scale=[scale[0]*matrixScale[0],scale[1]*matrixScale[1]];}}var temporaryPatternCanvas=createMeshCanvas(bounds,scale,coords,colors,figures,shadingFill?null:background,owner.cachedCanvases,owner.webGLContext);if(!shadingFill){ctx.setTransform.apply(ctx,owner.baseTransform);if(matrix){ctx.transform.apply(ctx,matrix);}}ctx.translate(temporaryPatternCanvas.offsetX,temporaryPatternCanvas.offsetY);ctx.scale(temporaryPatternCanvas.scaleX,temporaryPatternCanvas.scaleY);return ctx.createPattern(temporaryPatternCanvas.canvas,\"no-repeat\");}};}};ShadingIRs.Dummy={fromIR:function Dummy_fromIR(){return{type:\"Pattern\",getPattern:function Dummy_fromIR_getPattern(){return\"hotpink\";}};}};function getShadingPatternFromIR(raw){var shadingIR=ShadingIRs[raw[0]];if(!shadingIR){throw new Error(\"Unknown IR type: \".concat(raw[0]));}return shadingIR.fromIR(raw);}var TilingPattern=function TilingPatternClosure(){var PaintType={COLORED:1,UNCOLORED:2};var MAX_PATTERN_SIZE=3000;function TilingPattern(IR,color,ctx,canvasGraphicsFactory,baseTransform){this.operatorList=IR[2];this.matrix=IR[3]||[1,0,0,1,0,0];this.bbox=IR[4];this.xstep=IR[5];this.ystep=IR[6];this.paintType=IR[7];this.tilingType=IR[8];this.color=color;this.canvasGraphicsFactory=canvasGraphicsFactory;this.baseTransform=baseTransform;this.type=\"Pattern\";this.ctx=ctx;}TilingPattern.prototype={createPatternCanvas:function TilinPattern_createPatternCanvas(owner){var operatorList=this.operatorList;var bbox=this.bbox;var xstep=this.xstep;var ystep=this.ystep;var paintType=this.paintType;var tilingType=this.tilingType;var color=this.color;var canvasGraphicsFactory=this.canvasGraphicsFactory;(0,_util.info)(\"TilingType: \"+tilingType);var x0=bbox[0],y0=bbox[1],x1=bbox[2],y1=bbox[3];var matrixScale=_util.Util.singularValueDecompose2dScale(this.matrix);var curMatrixScale=_util.Util.singularValueDecompose2dScale(this.baseTransform);var combinedScale=[matrixScale[0]*curMatrixScale[0],matrixScale[1]*curMatrixScale[1]];var dimx=this.getSizeAndScale(xstep,this.ctx.canvas.width,combinedScale[0]);var dimy=this.getSizeAndScale(ystep,this.ctx.canvas.height,combinedScale[1]);var tmpCanvas=owner.cachedCanvases.getCanvas(\"pattern\",dimx.size,dimy.size,true);var tmpCtx=tmpCanvas.context;var graphics=canvasGraphicsFactory.createCanvasGraphics(tmpCtx);graphics.groupLevel=owner.groupLevel;this.setFillAndStrokeStyleToContext(graphics,paintType,color);graphics.transform(dimx.scale,0,0,dimy.scale,0,0);graphics.transform(1,0,0,1,-x0,-y0);this.clipBbox(graphics,bbox,x0,y0,x1,y1);graphics.executeOperatorList(operatorList);this.ctx.transform(1,0,0,1,x0,y0);this.ctx.scale(1/dimx.scale,1/dimy.scale);return tmpCanvas.canvas;},getSizeAndScale:function TilingPattern_getSizeAndScale(step,realOutputSize,scale){step=Math.abs(step);var maxSize=Math.max(MAX_PATTERN_SIZE,realOutputSize);var size=Math.ceil(step*scale);if(size>=maxSize){size=maxSize;}else{scale=size/step;}return{scale:scale,size:size};},clipBbox:function clipBbox(graphics,bbox,x0,y0,x1,y1){if(Array.isArray(bbox)&&bbox.length===4){var bboxWidth=x1-x0;var bboxHeight=y1-y0;graphics.ctx.rect(x0,y0,bboxWidth,bboxHeight);graphics.clip();graphics.endPath();}},setFillAndStrokeStyleToContext:function setFillAndStrokeStyleToContext(graphics,paintType,color){var context=graphics.ctx,current=graphics.current;switch(paintType){case PaintType.COLORED:var ctx=this.ctx;context.fillStyle=ctx.fillStyle;context.strokeStyle=ctx.strokeStyle;current.fillColor=ctx.fillStyle;current.strokeColor=ctx.strokeStyle;break;case PaintType.UNCOLORED:var cssColor=_util.Util.makeCssRgb(color[0],color[1],color[2]);context.fillStyle=cssColor;context.strokeStyle=cssColor;current.fillColor=cssColor;current.strokeColor=cssColor;break;default:throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));}},getPattern:function TilingPattern_getPattern(ctx,owner){ctx=this.ctx;ctx.setTransform.apply(ctx,this.baseTransform);ctx.transform.apply(ctx,this.matrix);var temporaryPatternCanvas=this.createPatternCanvas(owner);return ctx.createPattern(temporaryPatternCanvas,\"repeat\");}};return TilingPattern;}();exports.TilingPattern=TilingPattern;/***/},/* 199 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.GlobalWorkerOptions=void 0;var GlobalWorkerOptions=Object.create(null);exports.GlobalWorkerOptions=GlobalWorkerOptions;GlobalWorkerOptions.workerPort=GlobalWorkerOptions.workerPort===undefined?null:GlobalWorkerOptions.workerPort;GlobalWorkerOptions.workerSrc=GlobalWorkerOptions.workerSrc===undefined?\"\":GlobalWorkerOptions.workerSrc;/***/},/* 200 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.MessageHandler=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj};}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}var CallbackKind={UNKNOWN:0,DATA:1,ERROR:2};var StreamKind={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function wrapReason(reason){if(_typeof(reason)!==\"object\"||reason===null){return reason;}switch(reason.name){case\"AbortException\":return new _util.AbortException(reason.message);case\"MissingPDFException\":return new _util.MissingPDFException(reason.message);case\"UnexpectedResponseException\":return new _util.UnexpectedResponseException(reason.message,reason.status);case\"UnknownErrorException\":return new _util.UnknownErrorException(reason.message,reason.details);default:return new _util.UnknownErrorException(reason.message,reason.toString());}}var MessageHandler=/*#__PURE__*/function(){function MessageHandler(sourceName,targetName,comObj){var _this=this;_classCallCheck(this,MessageHandler);this.sourceName=sourceName;this.targetName=targetName;this.comObj=comObj;this.callbackId=1;this.streamId=1;this.postMessageTransfers=true;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);this._onComObjOnMessage=function(event){var data=event.data;if(data.targetName!==_this.sourceName){return;}if(data.stream){_this._processStreamMessage(data);return;}if(data.callback){var callbackId=data.callbackId;var capability=_this.callbackCapabilities[callbackId];if(!capability){throw new Error(\"Cannot resolve callback \".concat(callbackId));}delete _this.callbackCapabilities[callbackId];if(data.callback===CallbackKind.DATA){capability.resolve(data.data);}else if(data.callback===CallbackKind.ERROR){capability.reject(wrapReason(data.reason));}else{throw new Error(\"Unexpected callback case\");}return;}var action=_this.actionHandler[data.action];if(!action){throw new Error(\"Unknown action from worker: \".concat(data.action));}if(data.callbackId){var _sourceName=_this.sourceName;var _targetName=data.sourceName;new Promise(function(resolve){resolve(action(data.data));}).then(function(result){comObj.postMessage({sourceName:_sourceName,targetName:_targetName,callback:CallbackKind.DATA,callbackId:data.callbackId,data:result});},function(reason){comObj.postMessage({sourceName:_sourceName,targetName:_targetName,callback:CallbackKind.ERROR,callbackId:data.callbackId,reason:wrapReason(reason)});});return;}if(data.streamId){_this._createStreamSink(data);return;}action(data.data);};comObj.addEventListener(\"message\",this._onComObjOnMessage);}_createClass(MessageHandler,[{key:\"on\",value:function on(actionName,handler){var ah=this.actionHandler;if(ah[actionName]){throw new Error(\"There is already an actionName called \\\"\".concat(actionName,\"\\\"\"));}ah[actionName]=handler;}},{key:\"send\",value:function send(actionName,data,transfers){this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,data:data},transfers);}},{key:\"sendWithPromise\",value:function sendWithPromise(actionName,data,transfers){var callbackId=this.callbackId++;var capability=(0,_util.createPromiseCapability)();this.callbackCapabilities[callbackId]=capability;try{this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:actionName,callbackId:callbackId,data:data},transfers);}catch(ex){capability.reject(ex);}return capability.promise;}},{key:\"sendWithStream\",value:function sendWithStream(actionName,data,queueingStrategy,transfers){var _this2=this;var streamId=this.streamId++;var sourceName=this.sourceName;var targetName=this.targetName;var comObj=this.comObj;return new ReadableStream({start:function start(controller){var startCapability=(0,_util.createPromiseCapability)();_this2.streamControllers[streamId]={controller:controller,startCall:startCapability,pullCall:null,cancelCall:null,isClosed:false};_this2._postMessage({sourceName:sourceName,targetName:targetName,action:actionName,streamId:streamId,data:data,desiredSize:controller.desiredSize},transfers);return startCapability.promise;},pull:function pull(controller){var pullCapability=(0,_util.createPromiseCapability)();_this2.streamControllers[streamId].pullCall=pullCapability;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL,streamId:streamId,desiredSize:controller.desiredSize});return pullCapability.promise;},cancel:function cancel(reason){(0,_util.assert)(reason instanceof Error,\"cancel must have a valid reason\");var cancelCapability=(0,_util.createPromiseCapability)();_this2.streamControllers[streamId].cancelCall=cancelCapability;_this2.streamControllers[streamId].isClosed=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL,streamId:streamId,reason:wrapReason(reason)});return cancelCapability.promise;}},queueingStrategy);}},{key:\"_createStreamSink\",value:function _createStreamSink(data){var self=this;var action=this.actionHandler[data.action];var streamId=data.streamId;var sourceName=this.sourceName;var targetName=data.sourceName;var comObj=this.comObj;var streamSink={enqueue:function enqueue(chunk){var size=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var transfers=arguments.length>2?arguments[2]:undefined;if(this.isCancelled){return;}var lastDesiredSize=this.desiredSize;this.desiredSize-=size;if(lastDesiredSize>0&&this.desiredSize<=0){this.sinkCapability=(0,_util.createPromiseCapability)();this.ready=this.sinkCapability.promise;}self._postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.ENQUEUE,streamId:streamId,chunk:chunk},transfers);},close:function close(){if(this.isCancelled){return;}this.isCancelled=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CLOSE,streamId:streamId});delete self.streamSinks[streamId];},error:function error(reason){(0,_util.assert)(reason instanceof Error,\"error must have a valid reason\");if(this.isCancelled){return;}this.isCancelled=true;comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.ERROR,streamId:streamId,reason:wrapReason(reason)});},sinkCapability:(0,_util.createPromiseCapability)(),onPull:null,onCancel:null,isCancelled:false,desiredSize:data.desiredSize,ready:null};streamSink.sinkCapability.resolve();streamSink.ready=streamSink.sinkCapability.promise;this.streamSinks[streamId]=streamSink;new Promise(function(resolve){resolve(action(data.data,streamSink));}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.START_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.START_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});}},{key:\"_processStreamMessage\",value:function _processStreamMessage(data){var streamId=data.streamId;var sourceName=this.sourceName;var targetName=data.sourceName;var comObj=this.comObj;switch(data.stream){case StreamKind.START_COMPLETE:if(data.success){this.streamControllers[streamId].startCall.resolve();}else{this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));}break;case StreamKind.PULL_COMPLETE:if(data.success){this.streamControllers[streamId].pullCall.resolve();}else{this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));}break;case StreamKind.PULL:if(!this.streamSinks[streamId]){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,success:true});break;}if(this.streamSinks[streamId].desiredSize<=0&&data.desiredSize>0){this.streamSinks[streamId].sinkCapability.resolve();}this.streamSinks[streamId].desiredSize=data.desiredSize;var onPull=this.streamSinks[data.streamId].onPull;new Promise(function(resolve){resolve(onPull&&onPull());}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.PULL_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});break;case StreamKind.ENQUEUE:(0,_util.assert)(this.streamControllers[streamId],\"enqueue should have stream controller\");if(this.streamControllers[streamId].isClosed){break;}this.streamControllers[streamId].controller.enqueue(data.chunk);break;case StreamKind.CLOSE:(0,_util.assert)(this.streamControllers[streamId],\"close should have stream controller\");if(this.streamControllers[streamId].isClosed){break;}this.streamControllers[streamId].isClosed=true;this.streamControllers[streamId].controller.close();this._deleteStreamController(streamId);break;case StreamKind.ERROR:(0,_util.assert)(this.streamControllers[streamId],\"error should have stream controller\");this.streamControllers[streamId].controller.error(wrapReason(data.reason));this._deleteStreamController(streamId);break;case StreamKind.CANCEL_COMPLETE:if(data.success){this.streamControllers[streamId].cancelCall.resolve();}else{this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));}this._deleteStreamController(streamId);break;case StreamKind.CANCEL:if(!this.streamSinks[streamId]){break;}var onCancel=this.streamSinks[data.streamId].onCancel;new Promise(function(resolve){resolve(onCancel&&onCancel(wrapReason(data.reason)));}).then(function(){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL_COMPLETE,streamId:streamId,success:true});},function(reason){comObj.postMessage({sourceName:sourceName,targetName:targetName,stream:StreamKind.CANCEL_COMPLETE,streamId:streamId,reason:wrapReason(reason)});});this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));this.streamSinks[streamId].isCancelled=true;delete this.streamSinks[streamId];break;default:throw new Error(\"Unexpected stream case\");}}},{key:\"_deleteStreamController\",value:function(){var _deleteStreamController2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId){return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return Promise.allSettled([this.streamControllers[streamId].startCall,this.streamControllers[streamId].pullCall,this.streamControllers[streamId].cancelCall].map(function(capability){return capability&&capability.promise;}));case 2:delete this.streamControllers[streamId];case 3:case\"end\":return _context.stop();}}},_callee,this);}));function _deleteStreamController(_x){return _deleteStreamController2.apply(this,arguments);}return _deleteStreamController;}()},{key:\"_postMessage\",value:function _postMessage(message,transfers){if(transfers&&this.postMessageTransfers){this.comObj.postMessage(message,transfers);}else{this.comObj.postMessage(message);}}},{key:\"destroy\",value:function destroy(){this.comObj.removeEventListener(\"message\",this._onComObjOnMessage);}}]);return MessageHandler;}();exports.MessageHandler=MessageHandler;/***/},/* 201 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.Metadata=void 0;var _util=__w_pdfjs_require__(1);var _xml_parser=__w_pdfjs_require__(202);function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===\"[object Arguments]\")){return;}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i[\"return\"]!=null)_i[\"return\"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var Metadata=/*#__PURE__*/function(){function Metadata(data){_classCallCheck(this,Metadata);(0,_util.assert)(typeof data===\"string\",\"Metadata: input is not a string\");data=this._repair(data);var parser=new _xml_parser.SimpleXMLParser();var xmlDocument=parser.parseFromString(data);this._metadataMap=new Map();if(xmlDocument){this._parse(xmlDocument);}}_createClass(Metadata,[{key:\"_repair\",value:function _repair(data){return data.replace(/^[^<]+/,\"\").replace(/>\\\\376\\\\377([^<]+)/g,function(all,codes){var bytes=codes.replace(/\\\\([0-3])([0-7])([0-7])/g,function(code,d1,d2,d3){return String.fromCharCode(d1*64+d2*8+d3*1);}).replace(/&(amp|apos|gt|lt|quot);/g,function(str,name){switch(name){case\"amp\":return\"&\";case\"apos\":return\"'\";case\"gt\":return\">\";case\"lt\":return\"<\";case\"quot\":return'\"';}throw new Error(\"_repair: \".concat(name,\" isn't defined.\"));});var chars=\"\";for(var i=0,ii=bytes.length;i<ii;i+=2){var code=bytes.charCodeAt(i)*256+bytes.charCodeAt(i+1);if(code>=32&&code<127&&code!==60&&code!==62&&code!==38){chars+=String.fromCharCode(code);}else{chars+=\"&#x\"+(0x10000+code).toString(16).substring(1)+\";\";}}return\">\"+chars;});}},{key:\"_parse\",value:function _parse(xmlDocument){var rdf=xmlDocument.documentElement;if(rdf.nodeName.toLowerCase()!==\"rdf:rdf\"){rdf=rdf.firstChild;while(rdf&&rdf.nodeName.toLowerCase()!==\"rdf:rdf\"){rdf=rdf.nextSibling;}}var nodeName=rdf?rdf.nodeName.toLowerCase():null;if(!rdf||nodeName!==\"rdf:rdf\"||!rdf.hasChildNodes()){return;}var children=rdf.childNodes;for(var i=0,ii=children.length;i<ii;i++){var desc=children[i];if(desc.nodeName.toLowerCase()!==\"rdf:description\"){continue;}for(var j=0,jj=desc.childNodes.length;j<jj;j++){if(desc.childNodes[j].nodeName.toLowerCase()!==\"#text\"){var entry=desc.childNodes[j];var name=entry.nodeName.toLowerCase();this._metadataMap.set(name,entry.textContent.trim());}}}}},{key:\"get\",value:function get(name){return this._metadataMap.has(name)?this._metadataMap.get(name):null;}},{key:\"getAll\",value:function getAll(){var obj=Object.create(null);var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this._metadataMap[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var _step$value=_slicedToArray(_step.value,2),key=_step$value[0],value=_step$value[1];obj[key]=value;}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}return obj;}},{key:\"has\",value:function has(name){return this._metadataMap.has(name);}}]);return Metadata;}();exports.Metadata=Metadata;/***/},/* 202 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.SimpleXMLParser=void 0;function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===\"[object Arguments]\")){return;}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i[\"return\"]!=null)_i[\"return\"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _get(target,property,receiver){if(typeof Reflect!==\"undefined\"&&Reflect.get){_get=Reflect.get;}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver);}return desc.value;};}return _get(target,property,receiver||target);}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break;}return object;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var XMLParserErrorCode={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};function isWhitespace(s,index){var ch=s[index];return ch===\" \"||ch===\"\\n\"||ch===\"\\r\"||ch===\"\\t\";}function isWhitespaceString(s){for(var i=0,ii=s.length;i<ii;i++){if(!isWhitespace(s,i)){return false;}}return true;}var XMLParserBase=/*#__PURE__*/function(){function XMLParserBase(){_classCallCheck(this,XMLParserBase);}_createClass(XMLParserBase,[{key:\"_resolveEntities\",value:function _resolveEntities(s){var _this=this;return s.replace(/&([^;]+);/g,function(all,entity){if(entity.substring(0,2)===\"#x\"){return String.fromCharCode(parseInt(entity.substring(2),16));}else if(entity.substring(0,1)===\"#\"){return String.fromCharCode(parseInt(entity.substring(1),10));}switch(entity){case\"lt\":return\"<\";case\"gt\":return\">\";case\"amp\":return\"&\";case\"quot\":return'\"';}return _this.onResolveEntity(entity);});}},{key:\"_parseContent\",value:function _parseContent(s,start){var attributes=[];var pos=start;function skipWs(){while(pos<s.length&&isWhitespace(s,pos)){++pos;}}while(pos<s.length&&!isWhitespace(s,pos)&&s[pos]!==\">\"&&s[pos]!==\"/\"){++pos;}var name=s.substring(start,pos);skipWs();while(pos<s.length&&s[pos]!==\">\"&&s[pos]!==\"/\"&&s[pos]!==\"?\"){skipWs();var attrName=\"\",attrValue=\"\";while(pos<s.length&&!isWhitespace(s,pos)&&s[pos]!==\"=\"){attrName+=s[pos];++pos;}skipWs();if(s[pos]!==\"=\"){return null;}++pos;skipWs();var attrEndChar=s[pos];if(attrEndChar!=='\"'&&attrEndChar!==\"'\"){return null;}var attrEndIndex=s.indexOf(attrEndChar,++pos);if(attrEndIndex<0){return null;}attrValue=s.substring(pos,attrEndIndex);attributes.push({name:attrName,value:this._resolveEntities(attrValue)});pos=attrEndIndex+1;skipWs();}return{name:name,attributes:attributes,parsed:pos-start};}},{key:\"_parseProcessingInstruction\",value:function _parseProcessingInstruction(s,start){var pos=start;function skipWs(){while(pos<s.length&&isWhitespace(s,pos)){++pos;}}while(pos<s.length&&!isWhitespace(s,pos)&&s[pos]!==\">\"&&s[pos]!==\"/\"){++pos;}var name=s.substring(start,pos);skipWs();var attrStart=pos;while(pos<s.length&&(s[pos]!==\"?\"||s[pos+1]!==\">\")){++pos;}var value=s.substring(attrStart,pos);return{name:name,value:value,parsed:pos-start};}},{key:\"parseXml\",value:function parseXml(s){var i=0;while(i<s.length){var ch=s[i];var j=i;if(ch===\"<\"){++j;var ch2=s[j];var q=void 0;switch(ch2){case\"/\":++j;q=s.indexOf(\">\",j);if(q<0){this.onError(XMLParserErrorCode.UnterminatedElement);return;}this.onEndElement(s.substring(j,q));j=q+1;break;case\"?\":++j;var pi=this._parseProcessingInstruction(s,j);if(s.substring(j+pi.parsed,j+pi.parsed+2)!==\"?>\"){this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);return;}this.onPi(pi.name,pi.value);j+=pi.parsed+2;break;case\"!\":if(s.substring(j+1,j+3)===\"--\"){q=s.indexOf(\"-->\",j+3);if(q<0){this.onError(XMLParserErrorCode.UnterminatedComment);return;}this.onComment(s.substring(j+3,q));j=q+3;}else if(s.substring(j+1,j+8)===\"[CDATA[\"){q=s.indexOf(\"]]>\",j+8);if(q<0){this.onError(XMLParserErrorCode.UnterminatedCdat);return;}this.onCdata(s.substring(j+8,q));j=q+3;}else if(s.substring(j+1,j+8)===\"DOCTYPE\"){var q2=s.indexOf(\"[\",j+8);var complexDoctype=false;q=s.indexOf(\">\",j+8);if(q<0){this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);return;}if(q2>0&&q>q2){q=s.indexOf(\"]>\",j+8);if(q<0){this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);return;}complexDoctype=true;}var doctypeContent=s.substring(j+8,q+(complexDoctype?1:0));this.onDoctype(doctypeContent);j=q+(complexDoctype?2:1);}else{this.onError(XMLParserErrorCode.MalformedElement);return;}break;default:var content=this._parseContent(s,j);if(content===null){this.onError(XMLParserErrorCode.MalformedElement);return;}var isClosed=false;if(s.substring(j+content.parsed,j+content.parsed+2)===\"/>\"){isClosed=true;}else if(s.substring(j+content.parsed,j+content.parsed+1)!==\">\"){this.onError(XMLParserErrorCode.UnterminatedElement);return;}this.onBeginElement(content.name,content.attributes,isClosed);j+=content.parsed+(isClosed?2:1);break;}}else{while(j<s.length&&s[j]!==\"<\"){j++;}var text=s.substring(i,j);this.onText(this._resolveEntities(text));}i=j;}}},{key:\"onResolveEntity\",value:function onResolveEntity(name){return\"&\".concat(name,\";\");}},{key:\"onPi\",value:function onPi(name,value){}},{key:\"onComment\",value:function onComment(text){}},{key:\"onCdata\",value:function onCdata(text){}},{key:\"onDoctype\",value:function onDoctype(doctypeContent){}},{key:\"onText\",value:function onText(text){}},{key:\"onBeginElement\",value:function onBeginElement(name,attributes,isEmpty){}},{key:\"onEndElement\",value:function onEndElement(name){}},{key:\"onError\",value:function onError(code){}}]);return XMLParserBase;}();var SimpleDOMNode=/*#__PURE__*/function(){function SimpleDOMNode(nodeName,nodeValue){_classCallCheck(this,SimpleDOMNode);this.nodeName=nodeName;this.nodeValue=nodeValue;Object.defineProperty(this,\"parentNode\",{value:null,writable:true});}_createClass(SimpleDOMNode,[{key:\"hasChildNodes\",value:function hasChildNodes(){return this.childNodes&&this.childNodes.length>0;}},{key:\"firstChild\",get:function get(){return this.childNodes&&this.childNodes[0];}},{key:\"nextSibling\",get:function get(){var childNodes=this.parentNode.childNodes;if(!childNodes){return undefined;}var index=childNodes.indexOf(this);if(index===-1){return undefined;}return childNodes[index+1];}},{key:\"textContent\",get:function get(){if(!this.childNodes){return this.nodeValue||\"\";}return this.childNodes.map(function(child){return child.textContent;}).join(\"\");}}]);return SimpleDOMNode;}();var SimpleXMLParser=/*#__PURE__*/function(_XMLParserBase){_inherits(SimpleXMLParser,_XMLParserBase);function SimpleXMLParser(){var _this2;_classCallCheck(this,SimpleXMLParser);_this2=_possibleConstructorReturn(this,_getPrototypeOf(SimpleXMLParser).call(this));_this2._currentFragment=null;_this2._stack=null;_this2._errorCode=XMLParserErrorCode.NoError;return _this2;}_createClass(SimpleXMLParser,[{key:\"parseFromString\",value:function parseFromString(data){this._currentFragment=[];this._stack=[];this._errorCode=XMLParserErrorCode.NoError;this.parseXml(data);if(this._errorCode!==XMLParserErrorCode.NoError){return undefined;}var _this$_currentFragmen=_slicedToArray(this._currentFragment,1),documentElement=_this$_currentFragmen[0];if(!documentElement){return undefined;}return{documentElement:documentElement};}},{key:\"onResolveEntity\",value:function onResolveEntity(name){switch(name){case\"apos\":return\"'\";}return _get(_getPrototypeOf(SimpleXMLParser.prototype),\"onResolveEntity\",this).call(this,name);}},{key:\"onText\",value:function onText(text){if(isWhitespaceString(text)){return;}var node=new SimpleDOMNode(\"#text\",text);this._currentFragment.push(node);}},{key:\"onCdata\",value:function onCdata(text){var node=new SimpleDOMNode(\"#text\",text);this._currentFragment.push(node);}},{key:\"onBeginElement\",value:function onBeginElement(name,attributes,isEmpty){var node=new SimpleDOMNode(name);node.childNodes=[];this._currentFragment.push(node);if(isEmpty){return;}this._stack.push(this._currentFragment);this._currentFragment=node.childNodes;}},{key:\"onEndElement\",value:function onEndElement(name){this._currentFragment=this._stack.pop()||[];var lastElement=this._currentFragment[this._currentFragment.length-1];if(!lastElement){return;}for(var i=0,ii=lastElement.childNodes.length;i<ii;i++){lastElement.childNodes[i].parentNode=lastElement;}}},{key:\"onError\",value:function onError(code){this._errorCode=code;}}]);return SimpleXMLParser;}(XMLParserBase);exports.SimpleXMLParser=SimpleXMLParser;/***/},/* 203 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFDataTransportStream=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var PDFDataTransportStream=/*#__PURE__*/function(){function PDFDataTransportStream(params,pdfDataRangeTransport){var _this=this;_classCallCheck(this,PDFDataTransportStream);(0,_util.assert)(pdfDataRangeTransport);this._queuedChunks=[];this._progressiveDone=params.progressiveDone||false;var initialData=params.initialData;if(initialData&&initialData.length>0){var buffer=new Uint8Array(initialData).buffer;this._queuedChunks.push(buffer);}this._pdfDataRangeTransport=pdfDataRangeTransport;this._isStreamingSupported=!params.disableStream;this._isRangeSupported=!params.disableRange;this._contentLength=params.length;this._fullRequestReader=null;this._rangeReaders=[];this._pdfDataRangeTransport.addRangeListener(function(begin,chunk){_this._onReceiveData({begin:begin,chunk:chunk});});this._pdfDataRangeTransport.addProgressListener(function(loaded,total){_this._onProgress({loaded:loaded,total:total});});this._pdfDataRangeTransport.addProgressiveReadListener(function(chunk){_this._onReceiveData({chunk:chunk});});this._pdfDataRangeTransport.addProgressiveDoneListener(function(){_this._onProgressiveDone();});this._pdfDataRangeTransport.transportReady();}_createClass(PDFDataTransportStream,[{key:\"_onReceiveData\",value:function _onReceiveData(args){var buffer=new Uint8Array(args.chunk).buffer;if(args.begin===undefined){if(this._fullRequestReader){this._fullRequestReader._enqueue(buffer);}else{this._queuedChunks.push(buffer);}}else{var found=this._rangeReaders.some(function(rangeReader){if(rangeReader._begin!==args.begin){return false;}rangeReader._enqueue(buffer);return true;});(0,_util.assert)(found);}}},{key:\"_onProgress\",value:function _onProgress(evt){if(evt.total===undefined){var firstReader=this._rangeReaders[0];if(firstReader&&firstReader.onProgress){firstReader.onProgress({loaded:evt.loaded});}}else{var fullReader=this._fullRequestReader;if(fullReader&&fullReader.onProgress){fullReader.onProgress({loaded:evt.loaded,total:evt.total});}}}},{key:\"_onProgressiveDone\",value:function _onProgressiveDone(){if(this._fullRequestReader){this._fullRequestReader.progressiveDone();}this._progressiveDone=true;}},{key:\"_removeRangeReader\",value:function _removeRangeReader(reader){var i=this._rangeReaders.indexOf(reader);if(i>=0){this._rangeReaders.splice(i,1);}}},{key:\"getFullReader\",value:function getFullReader(){(0,_util.assert)(!this._fullRequestReader);var queuedChunks=this._queuedChunks;this._queuedChunks=null;return new PDFDataTransportStreamReader(this,queuedChunks,this._progressiveDone);}},{key:\"getRangeReader\",value:function getRangeReader(begin,end){if(end<=this._progressiveDataLength){return null;}var reader=new PDFDataTransportStreamRangeReader(this,begin,end);this._pdfDataRangeTransport.requestDataRange(begin,end);this._rangeReaders.push(reader);return reader;}},{key:\"cancelAllRequests\",value:function cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason);}var readers=this._rangeReaders.slice(0);readers.forEach(function(rangeReader){rangeReader.cancel(reason);});this._pdfDataRangeTransport.abort();}},{key:\"_progressiveDataLength\",get:function get(){return this._fullRequestReader?this._fullRequestReader._loaded:0;}}]);return PDFDataTransportStream;}();exports.PDFDataTransportStream=PDFDataTransportStream;var PDFDataTransportStreamReader=/*#__PURE__*/function(){function PDFDataTransportStreamReader(stream,queuedChunks){var progressiveDone=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;_classCallCheck(this,PDFDataTransportStreamReader);this._stream=stream;this._done=progressiveDone||false;this._filename=null;this._queuedChunks=queuedChunks||[];this._loaded=0;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this._queuedChunks[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var chunk=_step.value;this._loaded+=chunk.byteLength;}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}this._requests=[];this._headersReady=Promise.resolve();stream._fullRequestReader=this;this.onProgress=null;}_createClass(PDFDataTransportStreamReader,[{key:\"_enqueue\",value:function _enqueue(chunk){if(this._done){return;}if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:chunk,done:false});}else{this._queuedChunks.push(chunk);}this._loaded+=chunk.byteLength;}},{key:\"read\",value:function(){var _read=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(){var chunk,requestCapability;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:if(!(this._queuedChunks.length>0)){_context.next=3;break;}chunk=this._queuedChunks.shift();return _context.abrupt(\"return\",{value:chunk,done:false});case 3:if(!this._done){_context.next=5;break;}return _context.abrupt(\"return\",{value:undefined,done:true});case 5:requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return _context.abrupt(\"return\",requestCapability.promise);case 8:case\"end\":return _context.stop();}}},_callee,this);}));function read(){return _read.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];}},{key:\"progressiveDone\",value:function progressiveDone(){if(this._done){return;}this._done=true;}},{key:\"headersReady\",get:function get(){return this._headersReady;}},{key:\"filename\",get:function get(){return this._filename;}},{key:\"isRangeSupported\",get:function get(){return this._stream._isRangeSupported;}},{key:\"isStreamingSupported\",get:function get(){return this._stream._isStreamingSupported;}},{key:\"contentLength\",get:function get(){return this._stream._contentLength;}}]);return PDFDataTransportStreamReader;}();var PDFDataTransportStreamRangeReader=/*#__PURE__*/function(){function PDFDataTransportStreamRangeReader(stream,begin,end){_classCallCheck(this,PDFDataTransportStreamRangeReader);this._stream=stream;this._begin=begin;this._end=end;this._queuedChunk=null;this._requests=[];this._done=false;this.onProgress=null;}_createClass(PDFDataTransportStreamRangeReader,[{key:\"_enqueue\",value:function _enqueue(chunk){if(this._done){return;}if(this._requests.length===0){this._queuedChunk=chunk;}else{var requestsCapability=this._requests.shift();requestsCapability.resolve({value:chunk,done:false});this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];}this._done=true;this._stream._removeRangeReader(this);}},{key:\"read\",value:function(){var _read2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(){var chunk,requestCapability;return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!this._queuedChunk){_context2.next=4;break;}chunk=this._queuedChunk;this._queuedChunk=null;return _context2.abrupt(\"return\",{value:chunk,done:false});case 4:if(!this._done){_context2.next=6;break;}return _context2.abrupt(\"return\",{value:undefined,done:true});case 6:requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return _context2.abrupt(\"return\",requestCapability.promise);case 9:case\"end\":return _context2.stop();}}},_callee2,this);}));function read(){return _read2.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];this._stream._removeRangeReader(this);}},{key:\"isStreamingSupported\",get:function get(){return false;}}]);return PDFDataTransportStreamRangeReader;}();/***/},/* 204 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.WebGLContext=void 0;var _util=__w_pdfjs_require__(1);function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var WebGLContext=/*#__PURE__*/function(){function WebGLContext(_ref){var _ref$enable=_ref.enable,enable=_ref$enable===void 0?false:_ref$enable;_classCallCheck(this,WebGLContext);this._enabled=enable===true;}_createClass(WebGLContext,[{key:\"composeSMask\",value:function composeSMask(_ref2){var layer=_ref2.layer,mask=_ref2.mask,properties=_ref2.properties;return WebGLUtils.composeSMask(layer,mask,properties);}},{key:\"drawFigures\",value:function drawFigures(_ref3){var width=_ref3.width,height=_ref3.height,backgroundColor=_ref3.backgroundColor,figures=_ref3.figures,context=_ref3.context;return WebGLUtils.drawFigures(width,height,backgroundColor,figures,context);}},{key:\"clear\",value:function clear(){WebGLUtils.cleanup();}},{key:\"isEnabled\",get:function get(){var enabled=this._enabled;if(enabled){enabled=WebGLUtils.tryInitGL();}return(0,_util.shadow)(this,\"isEnabled\",enabled);}}]);return WebGLContext;}();exports.WebGLContext=WebGLContext;var WebGLUtils=function WebGLUtilsClosure(){function loadShader(gl,code,shaderType){var shader=gl.createShader(shaderType);gl.shaderSource(shader,code);gl.compileShader(shader);var compiled=gl.getShaderParameter(shader,gl.COMPILE_STATUS);if(!compiled){var errorMsg=gl.getShaderInfoLog(shader);throw new Error(\"Error during shader compilation: \"+errorMsg);}return shader;}function createVertexShader(gl,code){return loadShader(gl,code,gl.VERTEX_SHADER);}function createFragmentShader(gl,code){return loadShader(gl,code,gl.FRAGMENT_SHADER);}function createProgram(gl,shaders){var program=gl.createProgram();for(var i=0,ii=shaders.length;i<ii;++i){gl.attachShader(program,shaders[i]);}gl.linkProgram(program);var linked=gl.getProgramParameter(program,gl.LINK_STATUS);if(!linked){var errorMsg=gl.getProgramInfoLog(program);throw new Error(\"Error during program linking: \"+errorMsg);}return program;}function createTexture(gl,image,textureId){gl.activeTexture(textureId);var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,image);return texture;}var currentGL,currentCanvas;function generateGL(){if(currentGL){return;}currentCanvas=document.createElement(\"canvas\");currentGL=currentCanvas.getContext(\"webgl\",{premultipliedalpha:false});}var smaskVertexShaderCode=\"\\\r\n  attribute vec2 a_position;                                    \\\r\n  attribute vec2 a_texCoord;                                    \\\r\n                                                                \\\r\n  uniform vec2 u_resolution;                                    \\\r\n                                                                \\\r\n  varying vec2 v_texCoord;                                      \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \\\r\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\r\n                                                                \\\r\n    v_texCoord = a_texCoord;                                    \\\r\n  }                                                             \";var smaskFragmentShaderCode=\"\\\r\n  precision mediump float;                                      \\\r\n                                                                \\\r\n  uniform vec4 u_backdrop;                                      \\\r\n  uniform int u_subtype;                                        \\\r\n  uniform sampler2D u_image;                                    \\\r\n  uniform sampler2D u_mask;                                     \\\r\n                                                                \\\r\n  varying vec2 v_texCoord;                                      \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec4 imageColor = texture2D(u_image, v_texCoord);           \\\r\n    vec4 maskColor = texture2D(u_mask, v_texCoord);             \\\r\n    if (u_backdrop.a > 0.0) {                                   \\\r\n      maskColor.rgb = maskColor.rgb * maskColor.a +             \\\r\n                      u_backdrop.rgb * (1.0 - maskColor.a);     \\\r\n    }                                                           \\\r\n    float lum;                                                  \\\r\n    if (u_subtype == 0) {                                       \\\r\n      lum = maskColor.a;                                        \\\r\n    } else {                                                    \\\r\n      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \\\r\n            maskColor.b * 0.11;                                 \\\r\n    }                                                           \\\r\n    imageColor.a *= lum;                                        \\\r\n    imageColor.rgb *= imageColor.a;                             \\\r\n    gl_FragColor = imageColor;                                  \\\r\n  }                                                             \";var smaskCache=null;function initSmaskGL(){var canvas,gl;generateGL();canvas=currentCanvas;currentCanvas=null;gl=currentGL;currentGL=null;var vertexShader=createVertexShader(gl,smaskVertexShaderCode);var fragmentShader=createFragmentShader(gl,smaskFragmentShaderCode);var program=createProgram(gl,[vertexShader,fragmentShader]);gl.useProgram(program);var cache={};cache.gl=gl;cache.canvas=canvas;cache.resolutionLocation=gl.getUniformLocation(program,\"u_resolution\");cache.positionLocation=gl.getAttribLocation(program,\"a_position\");cache.backdropLocation=gl.getUniformLocation(program,\"u_backdrop\");cache.subtypeLocation=gl.getUniformLocation(program,\"u_subtype\");var texCoordLocation=gl.getAttribLocation(program,\"a_texCoord\");var texLayerLocation=gl.getUniformLocation(program,\"u_image\");var texMaskLocation=gl.getUniformLocation(program,\"u_mask\");var texCoordBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texCoordBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0.0,0.0,1.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,1.0,1.0]),gl.STATIC_DRAW);gl.enableVertexAttribArray(texCoordLocation);gl.vertexAttribPointer(texCoordLocation,2,gl.FLOAT,false,0,0);gl.uniform1i(texLayerLocation,0);gl.uniform1i(texMaskLocation,1);smaskCache=cache;}function composeSMask(layer,mask,properties){var width=layer.width,height=layer.height;if(!smaskCache){initSmaskGL();}var cache=smaskCache,canvas=cache.canvas,gl=cache.gl;canvas.width=width;canvas.height=height;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniform2f(cache.resolutionLocation,width,height);if(properties.backdrop){gl.uniform4f(cache.resolutionLocation,properties.backdrop[0],properties.backdrop[1],properties.backdrop[2],1);}else{gl.uniform4f(cache.resolutionLocation,0,0,0,0);}gl.uniform1i(cache.subtypeLocation,properties.subtype===\"Luminosity\"?1:0);var texture=createTexture(gl,layer,gl.TEXTURE0);var maskTexture=createTexture(gl,mask,gl.TEXTURE1);var buffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,buffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0,0,width,0,0,height,0,height,width,0,width,height]),gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.positionLocation);gl.vertexAttribPointer(cache.positionLocation,2,gl.FLOAT,false,0,0);gl.clearColor(0,0,0,0);gl.enable(gl.BLEND);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES,0,6);gl.flush();gl.deleteTexture(texture);gl.deleteTexture(maskTexture);gl.deleteBuffer(buffer);return canvas;}var figuresVertexShaderCode=\"\\\r\n  attribute vec2 a_position;                                    \\\r\n  attribute vec3 a_color;                                       \\\r\n                                                                \\\r\n  uniform vec2 u_resolution;                                    \\\r\n  uniform vec2 u_scale;                                         \\\r\n  uniform vec2 u_offset;                                        \\\r\n                                                                \\\r\n  varying vec4 v_color;                                         \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    vec2 position = (a_position + u_offset) * u_scale;          \\\r\n    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \\\r\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\r\n                                                                \\\r\n    v_color = vec4(a_color / 255.0, 1.0);                       \\\r\n  }                                                             \";var figuresFragmentShaderCode=\"\\\r\n  precision mediump float;                                      \\\r\n                                                                \\\r\n  varying vec4 v_color;                                         \\\r\n                                                                \\\r\n  void main() {                                                 \\\r\n    gl_FragColor = v_color;                                     \\\r\n  }                                                             \";var figuresCache=null;function initFiguresGL(){var canvas,gl;generateGL();canvas=currentCanvas;currentCanvas=null;gl=currentGL;currentGL=null;var vertexShader=createVertexShader(gl,figuresVertexShaderCode);var fragmentShader=createFragmentShader(gl,figuresFragmentShaderCode);var program=createProgram(gl,[vertexShader,fragmentShader]);gl.useProgram(program);var cache={};cache.gl=gl;cache.canvas=canvas;cache.resolutionLocation=gl.getUniformLocation(program,\"u_resolution\");cache.scaleLocation=gl.getUniformLocation(program,\"u_scale\");cache.offsetLocation=gl.getUniformLocation(program,\"u_offset\");cache.positionLocation=gl.getAttribLocation(program,\"a_position\");cache.colorLocation=gl.getAttribLocation(program,\"a_color\");figuresCache=cache;}function drawFigures(width,height,backgroundColor,figures,context){if(!figuresCache){initFiguresGL();}var cache=figuresCache,canvas=cache.canvas,gl=cache.gl;canvas.width=width;canvas.height=height;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.uniform2f(cache.resolutionLocation,width,height);var count=0;var i,ii,rows;for(i=0,ii=figures.length;i<ii;i++){switch(figures[i].type){case\"lattice\":rows=figures[i].coords.length/figures[i].verticesPerRow|0;count+=(rows-1)*(figures[i].verticesPerRow-1)*6;break;case\"triangles\":count+=figures[i].coords.length;break;}}var coords=new Float32Array(count*2);var colors=new Uint8Array(count*3);var coordsMap=context.coords,colorsMap=context.colors;var pIndex=0,cIndex=0;for(i=0,ii=figures.length;i<ii;i++){var figure=figures[i],ps=figure.coords,cs=figure.colors;switch(figure.type){case\"lattice\":var cols=figure.verticesPerRow;rows=ps.length/cols|0;for(var row=1;row<rows;row++){var offset=row*cols+1;for(var col=1;col<cols;col++,offset++){coords[pIndex]=coordsMap[ps[offset-cols-1]];coords[pIndex+1]=coordsMap[ps[offset-cols-1]+1];coords[pIndex+2]=coordsMap[ps[offset-cols]];coords[pIndex+3]=coordsMap[ps[offset-cols]+1];coords[pIndex+4]=coordsMap[ps[offset-1]];coords[pIndex+5]=coordsMap[ps[offset-1]+1];colors[cIndex]=colorsMap[cs[offset-cols-1]];colors[cIndex+1]=colorsMap[cs[offset-cols-1]+1];colors[cIndex+2]=colorsMap[cs[offset-cols-1]+2];colors[cIndex+3]=colorsMap[cs[offset-cols]];colors[cIndex+4]=colorsMap[cs[offset-cols]+1];colors[cIndex+5]=colorsMap[cs[offset-cols]+2];colors[cIndex+6]=colorsMap[cs[offset-1]];colors[cIndex+7]=colorsMap[cs[offset-1]+1];colors[cIndex+8]=colorsMap[cs[offset-1]+2];coords[pIndex+6]=coords[pIndex+2];coords[pIndex+7]=coords[pIndex+3];coords[pIndex+8]=coords[pIndex+4];coords[pIndex+9]=coords[pIndex+5];coords[pIndex+10]=coordsMap[ps[offset]];coords[pIndex+11]=coordsMap[ps[offset]+1];colors[cIndex+9]=colors[cIndex+3];colors[cIndex+10]=colors[cIndex+4];colors[cIndex+11]=colors[cIndex+5];colors[cIndex+12]=colors[cIndex+6];colors[cIndex+13]=colors[cIndex+7];colors[cIndex+14]=colors[cIndex+8];colors[cIndex+15]=colorsMap[cs[offset]];colors[cIndex+16]=colorsMap[cs[offset]+1];colors[cIndex+17]=colorsMap[cs[offset]+2];pIndex+=12;cIndex+=18;}}break;case\"triangles\":for(var j=0,jj=ps.length;j<jj;j++){coords[pIndex]=coordsMap[ps[j]];coords[pIndex+1]=coordsMap[ps[j]+1];colors[cIndex]=colorsMap[cs[j]];colors[cIndex+1]=colorsMap[cs[j]+1];colors[cIndex+2]=colorsMap[cs[j]+2];pIndex+=2;cIndex+=3;}break;}}if(backgroundColor){gl.clearColor(backgroundColor[0]/255,backgroundColor[1]/255,backgroundColor[2]/255,1.0);}else{gl.clearColor(0,0,0,0);}gl.clear(gl.COLOR_BUFFER_BIT);var coordsBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,coordsBuffer);gl.bufferData(gl.ARRAY_BUFFER,coords,gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.positionLocation);gl.vertexAttribPointer(cache.positionLocation,2,gl.FLOAT,false,0,0);var colorsBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,colorsBuffer);gl.bufferData(gl.ARRAY_BUFFER,colors,gl.STATIC_DRAW);gl.enableVertexAttribArray(cache.colorLocation);gl.vertexAttribPointer(cache.colorLocation,3,gl.UNSIGNED_BYTE,false,0,0);gl.uniform2f(cache.scaleLocation,context.scaleX,context.scaleY);gl.uniform2f(cache.offsetLocation,context.offsetX,context.offsetY);gl.drawArrays(gl.TRIANGLES,0,count);gl.flush();gl.deleteBuffer(coordsBuffer);gl.deleteBuffer(colorsBuffer);return canvas;}return{tryInitGL:function tryInitGL(){try{generateGL();return!!currentGL;}catch(ex){}return false;},composeSMask:composeSMask,drawFigures:drawFigures,cleanup:function cleanup(){if(smaskCache&&smaskCache.canvas){smaskCache.canvas.width=0;smaskCache.canvas.height=0;}if(figuresCache&&figuresCache.canvas){figuresCache.canvas.width=0;figuresCache.canvas.height=0;}smaskCache=null;figuresCache=null;}};}();/***/},/* 205 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.renderTextLayer=void 0;var _util=__w_pdfjs_require__(1);var renderTextLayer=function renderTextLayerClosure(){var MAX_TEXT_DIVS_TO_RENDER=100000;var NonWhitespaceRegexp=/\\S/;function isAllWhitespace(str){return!NonWhitespaceRegexp.test(str);}function appendText(task,geom,styles){var textDiv=document.createElement(\"span\");var textDivProperties={angle:0,canvasWidth:0,isWhitespace:false,originalTransform:null,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,scale:1};task._textDivs.push(textDiv);if(isAllWhitespace(geom.str)){textDivProperties.isWhitespace=true;task._textDivProperties.set(textDiv,textDivProperties);return;}var tx=_util.Util.transform(task._viewport.transform,geom.transform);var angle=Math.atan2(tx[1],tx[0]);var style=styles[geom.fontName];if(style.vertical){angle+=Math.PI/2;}var fontHeight=Math.sqrt(tx[2]*tx[2]+tx[3]*tx[3]);var fontAscent=fontHeight;if(style.ascent){fontAscent=style.ascent*fontAscent;}else if(style.descent){fontAscent=(1+style.descent)*fontAscent;}var left,top;if(angle===0){left=tx[4];top=tx[5]-fontAscent;}else{left=tx[4]+fontAscent*Math.sin(angle);top=tx[5]-fontAscent*Math.cos(angle);}textDiv.style.left=\"\".concat(left,\"px\");textDiv.style.top=\"\".concat(top,\"px\");textDiv.style.fontSize=\"\".concat(fontHeight,\"px\");textDiv.style.fontFamily=style.fontFamily;textDiv.textContent=geom.str;if(task._fontInspectorEnabled){textDiv.dataset.fontName=geom.fontName;}if(angle!==0){textDivProperties.angle=angle*(180/Math.PI);}if(geom.str.length>1){if(style.vertical){textDivProperties.canvasWidth=geom.height*task._viewport.scale;}else{textDivProperties.canvasWidth=geom.width*task._viewport.scale;}}task._textDivProperties.set(textDiv,textDivProperties);if(task._textContentStream){task._layoutText(textDiv);}if(task._enhanceTextSelection){var angleCos=1,angleSin=0;if(angle!==0){angleCos=Math.cos(angle);angleSin=Math.sin(angle);}var divWidth=(style.vertical?geom.height:geom.width)*task._viewport.scale;var divHeight=fontHeight;var m,b;if(angle!==0){m=[angleCos,angleSin,-angleSin,angleCos,left,top];b=_util.Util.getAxialAlignedBoundingBox([0,0,divWidth,divHeight],m);}else{b=[left,top,left+divWidth,top+divHeight];}task._bounds.push({left:b[0],top:b[1],right:b[2],bottom:b[3],div:textDiv,size:[divWidth,divHeight],m:m});}}function render(task){if(task._canceled){return;}var textDivs=task._textDivs;var capability=task._capability;var textDivsLength=textDivs.length;if(textDivsLength>MAX_TEXT_DIVS_TO_RENDER){task._renderingDone=true;capability.resolve();return;}if(!task._textContentStream){for(var i=0;i<textDivsLength;i++){task._layoutText(textDivs[i]);}}task._renderingDone=true;capability.resolve();}function expand(task){var bounds=task._bounds;var viewport=task._viewport;var expanded=expandBounds(viewport.width,viewport.height,bounds);for(var i=0;i<expanded.length;i++){var div=bounds[i].div;var divProperties=task._textDivProperties.get(div);if(divProperties.angle===0){divProperties.paddingLeft=bounds[i].left-expanded[i].left;divProperties.paddingTop=bounds[i].top-expanded[i].top;divProperties.paddingRight=expanded[i].right-bounds[i].right;divProperties.paddingBottom=expanded[i].bottom-bounds[i].bottom;task._textDivProperties.set(div,divProperties);continue;}var e=expanded[i],b=bounds[i];var m=b.m,c=m[0],s=m[1];var points=[[0,0],[0,b.size[1]],[b.size[0],0],b.size];var ts=new Float64Array(64);points.forEach(function(p,i){var t=_util.Util.applyTransform(p,m);ts[i+0]=c&&(e.left-t[0])/c;ts[i+4]=s&&(e.top-t[1])/s;ts[i+8]=c&&(e.right-t[0])/c;ts[i+12]=s&&(e.bottom-t[1])/s;ts[i+16]=s&&(e.left-t[0])/-s;ts[i+20]=c&&(e.top-t[1])/c;ts[i+24]=s&&(e.right-t[0])/-s;ts[i+28]=c&&(e.bottom-t[1])/c;ts[i+32]=c&&(e.left-t[0])/-c;ts[i+36]=s&&(e.top-t[1])/-s;ts[i+40]=c&&(e.right-t[0])/-c;ts[i+44]=s&&(e.bottom-t[1])/-s;ts[i+48]=s&&(e.left-t[0])/s;ts[i+52]=c&&(e.top-t[1])/-c;ts[i+56]=s&&(e.right-t[0])/s;ts[i+60]=c&&(e.bottom-t[1])/-c;});var findPositiveMin=function findPositiveMin(ts,offset,count){var result=0;for(var i=0;i<count;i++){var t=ts[offset++];if(t>0){result=result?Math.min(t,result):t;}}return result;};var boxScale=1+Math.min(Math.abs(c),Math.abs(s));divProperties.paddingLeft=findPositiveMin(ts,32,16)/boxScale;divProperties.paddingTop=findPositiveMin(ts,48,16)/boxScale;divProperties.paddingRight=findPositiveMin(ts,0,16)/boxScale;divProperties.paddingBottom=findPositiveMin(ts,16,16)/boxScale;task._textDivProperties.set(div,divProperties);}}function expandBounds(width,height,boxes){var bounds=boxes.map(function(box,i){return{x1:box.left,y1:box.top,x2:box.right,y2:box.bottom,index:i,x1New:undefined,x2New:undefined};});expandBoundsLTR(width,bounds);var expanded=new Array(boxes.length);bounds.forEach(function(b){var i=b.index;expanded[i]={left:b.x1New,top:0,right:b.x2New,bottom:0};});boxes.map(function(box,i){var e=expanded[i],b=bounds[i];b.x1=box.top;b.y1=width-e.right;b.x2=box.bottom;b.y2=width-e.left;b.index=i;b.x1New=undefined;b.x2New=undefined;});expandBoundsLTR(height,bounds);bounds.forEach(function(b){var i=b.index;expanded[i].top=b.x1New;expanded[i].bottom=b.x2New;});return expanded;}function expandBoundsLTR(width,bounds){bounds.sort(function(a,b){return a.x1-b.x1||a.index-b.index;});var fakeBoundary={x1:-Infinity,y1:-Infinity,x2:0,y2:Infinity,index:-1,x1New:0,x2New:0};var horizon=[{start:-Infinity,end:Infinity,boundary:fakeBoundary}];bounds.forEach(function(boundary){var i=0;while(i<horizon.length&&horizon[i].end<=boundary.y1){i++;}var j=horizon.length-1;while(j>=0&&horizon[j].start>=boundary.y2){j--;}var horizonPart,affectedBoundary;var q,k,maxXNew=-Infinity;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;var xNew;if(affectedBoundary.x2>boundary.x1){xNew=affectedBoundary.index>boundary.index?affectedBoundary.x1New:boundary.x1;}else if(affectedBoundary.x2New===undefined){xNew=(affectedBoundary.x2+boundary.x1)/2;}else{xNew=affectedBoundary.x2New;}if(xNew>maxXNew){maxXNew=xNew;}}boundary.x1New=maxXNew;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;if(affectedBoundary.x2New===undefined){if(affectedBoundary.x2>boundary.x1){if(affectedBoundary.index>boundary.index){affectedBoundary.x2New=affectedBoundary.x2;}}else{affectedBoundary.x2New=maxXNew;}}else if(affectedBoundary.x2New>maxXNew){affectedBoundary.x2New=Math.max(maxXNew,affectedBoundary.x2);}}var changedHorizon=[],lastBoundary=null;for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;var useBoundary=affectedBoundary.x2>boundary.x2?affectedBoundary:boundary;if(lastBoundary===useBoundary){changedHorizon[changedHorizon.length-1].end=horizonPart.end;}else{changedHorizon.push({start:horizonPart.start,end:horizonPart.end,boundary:useBoundary});lastBoundary=useBoundary;}}if(horizon[i].start<boundary.y1){changedHorizon[0].start=boundary.y1;changedHorizon.unshift({start:horizon[i].start,end:boundary.y1,boundary:horizon[i].boundary});}if(boundary.y2<horizon[j].end){changedHorizon[changedHorizon.length-1].end=boundary.y2;changedHorizon.push({start:boundary.y2,end:horizon[j].end,boundary:horizon[j].boundary});}for(q=i;q<=j;q++){horizonPart=horizon[q];affectedBoundary=horizonPart.boundary;if(affectedBoundary.x2New!==undefined){continue;}var used=false;for(k=i-1;!used&&k>=0&&horizon[k].start>=affectedBoundary.y1;k--){used=horizon[k].boundary===affectedBoundary;}for(k=j+1;!used&&k<horizon.length&&horizon[k].end<=affectedBoundary.y2;k++){used=horizon[k].boundary===affectedBoundary;}for(k=0;!used&&k<changedHorizon.length;k++){used=changedHorizon[k].boundary===affectedBoundary;}if(!used){affectedBoundary.x2New=maxXNew;}}Array.prototype.splice.apply(horizon,[i,j-i+1].concat(changedHorizon));});horizon.forEach(function(horizonPart){var affectedBoundary=horizonPart.boundary;if(affectedBoundary.x2New===undefined){affectedBoundary.x2New=Math.max(width,affectedBoundary.x2);}});}function TextLayerRenderTask(_ref){var _this=this;var textContent=_ref.textContent,textContentStream=_ref.textContentStream,container=_ref.container,viewport=_ref.viewport,textDivs=_ref.textDivs,textContentItemsStr=_ref.textContentItemsStr,enhanceTextSelection=_ref.enhanceTextSelection;this._textContent=textContent;this._textContentStream=textContentStream;this._container=container;this._viewport=viewport;this._textDivs=textDivs||[];this._textContentItemsStr=textContentItemsStr||[];this._enhanceTextSelection=!!enhanceTextSelection;this._fontInspectorEnabled=!!(globalThis.FontInspector&&globalThis.FontInspector.enabled);this._reader=null;this._layoutTextLastFontSize=null;this._layoutTextLastFontFamily=null;this._layoutTextCtx=null;this._textDivProperties=new WeakMap();this._renderingDone=false;this._canceled=false;this._capability=(0,_util.createPromiseCapability)();this._renderTimer=null;this._bounds=[];this._capability.promise[\"finally\"](function(){if(_this._layoutTextCtx){_this._layoutTextCtx.canvas.width=0;_this._layoutTextCtx.canvas.height=0;_this._layoutTextCtx=null;}})[\"catch\"](function(){});}TextLayerRenderTask.prototype={get promise(){return this._capability.promise;},cancel:function TextLayer_cancel(){this._canceled=true;if(this._reader){this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));this._reader=null;}if(this._renderTimer!==null){clearTimeout(this._renderTimer);this._renderTimer=null;}this._capability.reject(new Error(\"TextLayer task cancelled.\"));},_processItems:function _processItems(items,styleCache){for(var i=0,len=items.length;i<len;i++){this._textContentItemsStr.push(items[i].str);appendText(this,items[i],styleCache);}},_layoutText:function _layoutText(textDiv){var textDivProperties=this._textDivProperties.get(textDiv);if(textDivProperties.isWhitespace){return;}var transform=\"\";if(textDivProperties.canvasWidth!==0){var _textDiv$style=textDiv.style,fontSize=_textDiv$style.fontSize,fontFamily=_textDiv$style.fontFamily;if(fontSize!==this._layoutTextLastFontSize||fontFamily!==this._layoutTextLastFontFamily){this._layoutTextCtx.font=\"\".concat(fontSize,\" \").concat(fontFamily);this._layoutTextLastFontSize=fontSize;this._layoutTextLastFontFamily=fontFamily;}var _this$_layoutTextCtx$=this._layoutTextCtx.measureText(textDiv.textContent),width=_this$_layoutTextCtx$.width;if(width>0){textDivProperties.scale=textDivProperties.canvasWidth/width;transform=\"scaleX(\".concat(textDivProperties.scale,\")\");}}if(textDivProperties.angle!==0){transform=\"rotate(\".concat(textDivProperties.angle,\"deg) \").concat(transform);}if(transform.length>0){if(this._enhanceTextSelection){textDivProperties.originalTransform=transform;}textDiv.style.transform=transform;}this._textDivProperties.set(textDiv,textDivProperties);this._container.appendChild(textDiv);},_render:function TextLayer_render(timeout){var _this2=this;var capability=(0,_util.createPromiseCapability)();var styleCache=Object.create(null);var canvas=document.createElement(\"canvas\");canvas.mozOpaque=true;this._layoutTextCtx=canvas.getContext(\"2d\",{alpha:false});if(this._textContent){var textItems=this._textContent.items;var textStyles=this._textContent.styles;this._processItems(textItems,textStyles);capability.resolve();}else if(this._textContentStream){var pump=function pump(){_this2._reader.read().then(function(_ref2){var value=_ref2.value,done=_ref2.done;if(done){capability.resolve();return;}Object.assign(styleCache,value.styles);_this2._processItems(value.items,styleCache);pump();},capability.reject);};this._reader=this._textContentStream.getReader();pump();}else{throw new Error('Neither \"textContent\" nor \"textContentStream\"'+\" parameters specified.\");}capability.promise.then(function(){styleCache=null;if(!timeout){render(_this2);}else{_this2._renderTimer=setTimeout(function(){render(_this2);_this2._renderTimer=null;},timeout);}},this._capability.reject);},expandTextDivs:function TextLayer_expandTextDivs(expandDivs){if(!this._enhanceTextSelection||!this._renderingDone){return;}if(this._bounds!==null){expand(this);this._bounds=null;}var transformBuf=[],paddingBuf=[];for(var i=0,ii=this._textDivs.length;i<ii;i++){var div=this._textDivs[i];var divProps=this._textDivProperties.get(div);if(divProps.isWhitespace){continue;}if(expandDivs){transformBuf.length=0;paddingBuf.length=0;if(divProps.originalTransform){transformBuf.push(divProps.originalTransform);}if(divProps.paddingTop>0){paddingBuf.push(\"\".concat(divProps.paddingTop,\"px\"));transformBuf.push(\"translateY(\".concat(-divProps.paddingTop,\"px)\"));}else{paddingBuf.push(0);}if(divProps.paddingRight>0){paddingBuf.push(\"\".concat(divProps.paddingRight/divProps.scale,\"px\"));}else{paddingBuf.push(0);}if(divProps.paddingBottom>0){paddingBuf.push(\"\".concat(divProps.paddingBottom,\"px\"));}else{paddingBuf.push(0);}if(divProps.paddingLeft>0){paddingBuf.push(\"\".concat(divProps.paddingLeft/divProps.scale,\"px\"));transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft/divProps.scale,\"px)\"));}else{paddingBuf.push(0);}div.style.padding=paddingBuf.join(\" \");if(transformBuf.length){div.style.transform=transformBuf.join(\" \");}}else{div.style.padding=null;div.style.transform=divProps.originalTransform;}}}};function renderTextLayer(renderParameters){var task=new TextLayerRenderTask({textContent:renderParameters.textContent,textContentStream:renderParameters.textContentStream,container:renderParameters.container,viewport:renderParameters.viewport,textDivs:renderParameters.textDivs,textContentItemsStr:renderParameters.textContentItemsStr,enhanceTextSelection:renderParameters.enhanceTextSelection});task._render(renderParameters.timeout);return task;}return renderTextLayer;}();exports.renderTextLayer=renderTextLayer;/***/},/* 206 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.AnnotationLayer=void 0;var _display_utils=__w_pdfjs_require__(194);var _util=__w_pdfjs_require__(1);function _get(target,property,receiver){if(typeof Reflect!==\"undefined\"&&Reflect.get){_get=Reflect.get;}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver);}return desc.value;};}return _get(target,property,receiver||target);}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break;}return object;}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var AnnotationElementFactory=/*#__PURE__*/function(){function AnnotationElementFactory(){_classCallCheck(this,AnnotationElementFactory);}_createClass(AnnotationElementFactory,null,[{key:\"create\",value:function create(parameters){var subtype=parameters.data.annotationType;switch(subtype){case _util.AnnotationType.LINK:return new LinkAnnotationElement(parameters);case _util.AnnotationType.TEXT:return new TextAnnotationElement(parameters);case _util.AnnotationType.WIDGET:var fieldType=parameters.data.fieldType;switch(fieldType){case\"Tx\":return new TextWidgetAnnotationElement(parameters);case\"Btn\":if(parameters.data.radioButton){return new RadioButtonWidgetAnnotationElement(parameters);}else if(parameters.data.checkBox){return new CheckboxWidgetAnnotationElement(parameters);}return new PushButtonWidgetAnnotationElement(parameters);case\"Ch\":return new ChoiceWidgetAnnotationElement(parameters);}return new WidgetAnnotationElement(parameters);case _util.AnnotationType.POPUP:return new PopupAnnotationElement(parameters);case _util.AnnotationType.FREETEXT:return new FreeTextAnnotationElement(parameters);case _util.AnnotationType.LINE:return new LineAnnotationElement(parameters);case _util.AnnotationType.SQUARE:return new SquareAnnotationElement(parameters);case _util.AnnotationType.CIRCLE:return new CircleAnnotationElement(parameters);case _util.AnnotationType.POLYLINE:return new PolylineAnnotationElement(parameters);case _util.AnnotationType.CARET:return new CaretAnnotationElement(parameters);case _util.AnnotationType.INK:return new InkAnnotationElement(parameters);case _util.AnnotationType.POLYGON:return new PolygonAnnotationElement(parameters);case _util.AnnotationType.HIGHLIGHT:return new HighlightAnnotationElement(parameters);case _util.AnnotationType.UNDERLINE:return new UnderlineAnnotationElement(parameters);case _util.AnnotationType.SQUIGGLY:return new SquigglyAnnotationElement(parameters);case _util.AnnotationType.STRIKEOUT:return new StrikeOutAnnotationElement(parameters);case _util.AnnotationType.STAMP:return new StampAnnotationElement(parameters);case _util.AnnotationType.FILEATTACHMENT:return new FileAttachmentAnnotationElement(parameters);default:return new AnnotationElement(parameters);}}}]);return AnnotationElementFactory;}();var AnnotationElement=/*#__PURE__*/function(){function AnnotationElement(parameters){var isRenderable=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var ignoreBorder=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;_classCallCheck(this,AnnotationElement);this.isRenderable=isRenderable;this.data=parameters.data;this.layer=parameters.layer;this.page=parameters.page;this.viewport=parameters.viewport;this.linkService=parameters.linkService;this.downloadManager=parameters.downloadManager;this.imageResourcesPath=parameters.imageResourcesPath;this.renderInteractiveForms=parameters.renderInteractiveForms;this.svgFactory=parameters.svgFactory;if(isRenderable){this.container=this._createContainer(ignoreBorder);}}_createClass(AnnotationElement,[{key:\"_createContainer\",value:function _createContainer(){var ignoreBorder=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var data=this.data,page=this.page,viewport=this.viewport;var container=document.createElement(\"section\");var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];container.setAttribute(\"data-annotation-id\",data.id);var rect=_util.Util.normalizeRect([data.rect[0],page.view[3]-data.rect[1]+page.view[1],data.rect[2],page.view[3]-data.rect[3]+page.view[1]]);container.style.transform=\"matrix(\".concat(viewport.transform.join(\",\"),\")\");container.style.transformOrigin=\"-\".concat(rect[0],\"px -\").concat(rect[1],\"px\");if(!ignoreBorder&&data.borderStyle.width>0){container.style.borderWidth=\"\".concat(data.borderStyle.width,\"px\");if(data.borderStyle.style!==_util.AnnotationBorderStyleType.UNDERLINE){width=width-2*data.borderStyle.width;height=height-2*data.borderStyle.width;}var horizontalRadius=data.borderStyle.horizontalCornerRadius;var verticalRadius=data.borderStyle.verticalCornerRadius;if(horizontalRadius>0||verticalRadius>0){var radius=\"\".concat(horizontalRadius,\"px / \").concat(verticalRadius,\"px\");container.style.borderRadius=radius;}switch(data.borderStyle.style){case _util.AnnotationBorderStyleType.SOLID:container.style.borderStyle=\"solid\";break;case _util.AnnotationBorderStyleType.DASHED:container.style.borderStyle=\"dashed\";break;case _util.AnnotationBorderStyleType.BEVELED:(0,_util.warn)(\"Unimplemented border style: beveled\");break;case _util.AnnotationBorderStyleType.INSET:(0,_util.warn)(\"Unimplemented border style: inset\");break;case _util.AnnotationBorderStyleType.UNDERLINE:container.style.borderBottomStyle=\"solid\";break;default:break;}if(data.color){container.style.borderColor=_util.Util.makeCssRgb(data.color[0]|0,data.color[1]|0,data.color[2]|0);}else{container.style.borderWidth=0;}}container.style.left=\"\".concat(rect[0],\"px\");container.style.top=\"\".concat(rect[1],\"px\");container.style.width=\"\".concat(width,\"px\");container.style.height=\"\".concat(height,\"px\");return container;}},{key:\"_createPopup\",value:function _createPopup(container,trigger,data){if(!trigger){trigger=document.createElement(\"div\");trigger.style.height=container.style.height;trigger.style.width=container.style.width;container.appendChild(trigger);}var popupElement=new PopupElement({container:container,trigger:trigger,color:data.color,title:data.title,modificationDate:data.modificationDate,contents:data.contents,hideWrapper:true});var popup=popupElement.render();popup.style.left=container.style.width;container.appendChild(popup);}},{key:\"render\",value:function render(){(0,_util.unreachable)(\"Abstract method `AnnotationElement.render` called\");}}]);return AnnotationElement;}();var LinkAnnotationElement=/*#__PURE__*/function(_AnnotationElement){_inherits(LinkAnnotationElement,_AnnotationElement);function LinkAnnotationElement(parameters){_classCallCheck(this,LinkAnnotationElement);var isRenderable=!!(parameters.data.url||parameters.data.dest||parameters.data.action);return _possibleConstructorReturn(this,_getPrototypeOf(LinkAnnotationElement).call(this,parameters,isRenderable));}_createClass(LinkAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"linkAnnotation\";var data=this.data,linkService=this.linkService;var link=document.createElement(\"a\");if(data.url){(0,_display_utils.addLinkAttributes)(link,{url:data.url,target:data.newWindow?_display_utils.LinkTarget.BLANK:linkService.externalLinkTarget,rel:linkService.externalLinkRel,enabled:linkService.externalLinkEnabled});}else if(data.action){this._bindNamedAction(link,data.action);}else{this._bindLink(link,data.dest);}this.container.appendChild(link);return this.container;}},{key:\"_bindLink\",value:function _bindLink(link,destination){var _this=this;link.href=this.linkService.getDestinationHash(destination);link.onclick=function(){if(destination){_this.linkService.navigateTo(destination);}return false;};if(destination){link.className=\"internalLink\";}}},{key:\"_bindNamedAction\",value:function _bindNamedAction(link,action){var _this2=this;link.href=this.linkService.getAnchorUrl(\"\");link.onclick=function(){_this2.linkService.executeNamedAction(action);return false;};link.className=\"internalLink\";}}]);return LinkAnnotationElement;}(AnnotationElement);var TextAnnotationElement=/*#__PURE__*/function(_AnnotationElement2){_inherits(TextAnnotationElement,_AnnotationElement2);function TextAnnotationElement(parameters){_classCallCheck(this,TextAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(TextAnnotationElement).call(this,parameters,isRenderable));}_createClass(TextAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"textAnnotation\";var image=document.createElement(\"img\");image.style.height=this.container.style.height;image.style.width=this.container.style.width;image.src=this.imageResourcesPath+\"annotation-\"+this.data.name.toLowerCase()+\".svg\";image.alt=\"[{{type}} Annotation]\";image.dataset.l10nId=\"text_annotation_type\";image.dataset.l10nArgs=JSON.stringify({type:this.data.name});if(!this.data.hasPopup){this._createPopup(this.container,image,this.data);}this.container.appendChild(image);return this.container;}}]);return TextAnnotationElement;}(AnnotationElement);var WidgetAnnotationElement=/*#__PURE__*/function(_AnnotationElement3){_inherits(WidgetAnnotationElement,_AnnotationElement3);function WidgetAnnotationElement(){_classCallCheck(this,WidgetAnnotationElement);return _possibleConstructorReturn(this,_getPrototypeOf(WidgetAnnotationElement).apply(this,arguments));}_createClass(WidgetAnnotationElement,[{key:\"render\",value:function render(){return this.container;}}]);return WidgetAnnotationElement;}(AnnotationElement);var TextWidgetAnnotationElement=/*#__PURE__*/function(_WidgetAnnotationElem){_inherits(TextWidgetAnnotationElement,_WidgetAnnotationElem);function TextWidgetAnnotationElement(parameters){_classCallCheck(this,TextWidgetAnnotationElement);var isRenderable=parameters.renderInteractiveForms||!parameters.data.hasAppearance&&!!parameters.data.fieldValue;return _possibleConstructorReturn(this,_getPrototypeOf(TextWidgetAnnotationElement).call(this,parameters,isRenderable));}_createClass(TextWidgetAnnotationElement,[{key:\"render\",value:function render(){var TEXT_ALIGNMENT=[\"left\",\"center\",\"right\"];this.container.className=\"textWidgetAnnotation\";var element=null;if(this.renderInteractiveForms){if(this.data.multiLine){element=document.createElement(\"textarea\");element.textContent=this.data.fieldValue;}else{element=document.createElement(\"input\");element.type=\"text\";element.setAttribute(\"value\",this.data.fieldValue);}element.disabled=this.data.readOnly;if(this.data.maxLen!==null){element.maxLength=this.data.maxLen;}if(this.data.comb){var fieldWidth=this.data.rect[2]-this.data.rect[0];var combWidth=fieldWidth/this.data.maxLen;element.classList.add(\"comb\");element.style.letterSpacing=\"calc(\".concat(combWidth,\"px - 1ch)\");}}else{element=document.createElement(\"div\");element.textContent=this.data.fieldValue;element.style.verticalAlign=\"middle\";element.style.display=\"table-cell\";var font=null;if(this.data.fontRefName&&this.page.commonObjs.has(this.data.fontRefName)){font=this.page.commonObjs.get(this.data.fontRefName);}this._setTextStyle(element,font);}if(this.data.textAlignment!==null){element.style.textAlign=TEXT_ALIGNMENT[this.data.textAlignment];}this.container.appendChild(element);return this.container;}},{key:\"_setTextStyle\",value:function _setTextStyle(element,font){var style=element.style;style.fontSize=\"\".concat(this.data.fontSize,\"px\");style.direction=this.data.fontDirection<0?\"rtl\":\"ltr\";if(!font){return;}var bold=\"normal\";if(font.black){bold=\"900\";}else if(font.bold){bold=\"bold\";}style.fontWeight=bold;style.fontStyle=font.italic?\"italic\":\"normal\";var fontFamily=font.loadedName?\"\\\"\".concat(font.loadedName,\"\\\", \"):\"\";var fallbackName=font.fallbackName||\"Helvetica, sans-serif\";style.fontFamily=fontFamily+fallbackName;}}]);return TextWidgetAnnotationElement;}(WidgetAnnotationElement);var CheckboxWidgetAnnotationElement=/*#__PURE__*/function(_WidgetAnnotationElem2){_inherits(CheckboxWidgetAnnotationElement,_WidgetAnnotationElem2);function CheckboxWidgetAnnotationElement(parameters){_classCallCheck(this,CheckboxWidgetAnnotationElement);return _possibleConstructorReturn(this,_getPrototypeOf(CheckboxWidgetAnnotationElement).call(this,parameters,parameters.renderInteractiveForms));}_createClass(CheckboxWidgetAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"buttonWidgetAnnotation checkBox\";var element=document.createElement(\"input\");element.disabled=this.data.readOnly;element.type=\"checkbox\";if(this.data.fieldValue&&this.data.fieldValue!==\"Off\"){element.setAttribute(\"checked\",true);}this.container.appendChild(element);return this.container;}}]);return CheckboxWidgetAnnotationElement;}(WidgetAnnotationElement);var RadioButtonWidgetAnnotationElement=/*#__PURE__*/function(_WidgetAnnotationElem3){_inherits(RadioButtonWidgetAnnotationElement,_WidgetAnnotationElem3);function RadioButtonWidgetAnnotationElement(parameters){_classCallCheck(this,RadioButtonWidgetAnnotationElement);return _possibleConstructorReturn(this,_getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this,parameters,parameters.renderInteractiveForms));}_createClass(RadioButtonWidgetAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"buttonWidgetAnnotation radioButton\";var element=document.createElement(\"input\");element.disabled=this.data.readOnly;element.type=\"radio\";element.name=this.data.fieldName;if(this.data.fieldValue===this.data.buttonValue){element.setAttribute(\"checked\",true);}this.container.appendChild(element);return this.container;}}]);return RadioButtonWidgetAnnotationElement;}(WidgetAnnotationElement);var PushButtonWidgetAnnotationElement=/*#__PURE__*/function(_LinkAnnotationElemen){_inherits(PushButtonWidgetAnnotationElement,_LinkAnnotationElemen);function PushButtonWidgetAnnotationElement(){_classCallCheck(this,PushButtonWidgetAnnotationElement);return _possibleConstructorReturn(this,_getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this,arguments));}_createClass(PushButtonWidgetAnnotationElement,[{key:\"render\",value:function render(){var container=_get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype),\"render\",this).call(this);container.className=\"buttonWidgetAnnotation pushButton\";return container;}}]);return PushButtonWidgetAnnotationElement;}(LinkAnnotationElement);var ChoiceWidgetAnnotationElement=/*#__PURE__*/function(_WidgetAnnotationElem4){_inherits(ChoiceWidgetAnnotationElement,_WidgetAnnotationElem4);function ChoiceWidgetAnnotationElement(parameters){_classCallCheck(this,ChoiceWidgetAnnotationElement);return _possibleConstructorReturn(this,_getPrototypeOf(ChoiceWidgetAnnotationElement).call(this,parameters,parameters.renderInteractiveForms));}_createClass(ChoiceWidgetAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"choiceWidgetAnnotation\";var selectElement=document.createElement(\"select\");selectElement.disabled=this.data.readOnly;if(!this.data.combo){selectElement.size=this.data.options.length;if(this.data.multiSelect){selectElement.multiple=true;}}var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=this.data.options[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var option=_step.value;var optionElement=document.createElement(\"option\");optionElement.textContent=option.displayValue;optionElement.value=option.exportValue;if(this.data.fieldValue.includes(option.displayValue)){optionElement.setAttribute(\"selected\",true);}selectElement.appendChild(optionElement);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}this.container.appendChild(selectElement);return this.container;}}]);return ChoiceWidgetAnnotationElement;}(WidgetAnnotationElement);var PopupAnnotationElement=/*#__PURE__*/function(_AnnotationElement4){_inherits(PopupAnnotationElement,_AnnotationElement4);function PopupAnnotationElement(parameters){_classCallCheck(this,PopupAnnotationElement);var isRenderable=!!(parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(PopupAnnotationElement).call(this,parameters,isRenderable));}_createClass(PopupAnnotationElement,[{key:\"render\",value:function render(){var IGNORE_TYPES=[\"Line\",\"Square\",\"Circle\",\"PolyLine\",\"Polygon\",\"Ink\"];this.container.className=\"popupAnnotation\";if(IGNORE_TYPES.includes(this.data.parentType)){return this.container;}var selector=\"[data-annotation-id=\\\"\".concat(this.data.parentId,\"\\\"]\");var parentElement=this.layer.querySelector(selector);if(!parentElement){return this.container;}var popup=new PopupElement({container:this.container,trigger:parentElement,color:this.data.color,title:this.data.title,modificationDate:this.data.modificationDate,contents:this.data.contents});var parentLeft=parseFloat(parentElement.style.left);var parentWidth=parseFloat(parentElement.style.width);this.container.style.transformOrigin=\"-\".concat(parentLeft+parentWidth,\"px -\").concat(parentElement.style.top);this.container.style.left=\"\".concat(parentLeft+parentWidth,\"px\");this.container.appendChild(popup.render());return this.container;}}]);return PopupAnnotationElement;}(AnnotationElement);var PopupElement=/*#__PURE__*/function(){function PopupElement(parameters){_classCallCheck(this,PopupElement);this.container=parameters.container;this.trigger=parameters.trigger;this.color=parameters.color;this.title=parameters.title;this.modificationDate=parameters.modificationDate;this.contents=parameters.contents;this.hideWrapper=parameters.hideWrapper||false;this.pinned=false;}_createClass(PopupElement,[{key:\"render\",value:function render(){var BACKGROUND_ENLIGHT=0.7;var wrapper=document.createElement(\"div\");wrapper.className=\"popupWrapper\";this.hideElement=this.hideWrapper?wrapper:this.container;this.hideElement.setAttribute(\"hidden\",true);var popup=document.createElement(\"div\");popup.className=\"popup\";var color=this.color;if(color){var r=BACKGROUND_ENLIGHT*(255-color[0])+color[0];var g=BACKGROUND_ENLIGHT*(255-color[1])+color[1];var b=BACKGROUND_ENLIGHT*(255-color[2])+color[2];popup.style.backgroundColor=_util.Util.makeCssRgb(r|0,g|0,b|0);}var title=document.createElement(\"h1\");title.textContent=this.title;popup.appendChild(title);var dateObject=_display_utils.PDFDateString.toDateObject(this.modificationDate);if(dateObject){var modificationDate=document.createElement(\"span\");modificationDate.textContent=\"{{date}}, {{time}}\";modificationDate.dataset.l10nId=\"annotation_date_string\";modificationDate.dataset.l10nArgs=JSON.stringify({date:dateObject.toLocaleDateString(),time:dateObject.toLocaleTimeString()});popup.appendChild(modificationDate);}var contents=this._formatContents(this.contents);popup.appendChild(contents);this.trigger.addEventListener(\"click\",this._toggle.bind(this));this.trigger.addEventListener(\"mouseover\",this._show.bind(this,false));this.trigger.addEventListener(\"mouseout\",this._hide.bind(this,false));popup.addEventListener(\"click\",this._hide.bind(this,true));wrapper.appendChild(popup);return wrapper;}},{key:\"_formatContents\",value:function _formatContents(contents){var p=document.createElement(\"p\");var lines=contents.split(/(?:\\r\\n?|\\n)/);for(var i=0,ii=lines.length;i<ii;++i){var line=lines[i];p.appendChild(document.createTextNode(line));if(i<ii-1){p.appendChild(document.createElement(\"br\"));}}return p;}},{key:\"_toggle\",value:function _toggle(){if(this.pinned){this._hide(true);}else{this._show(true);}}},{key:\"_show\",value:function _show(){var pin=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(pin){this.pinned=true;}if(this.hideElement.hasAttribute(\"hidden\")){this.hideElement.removeAttribute(\"hidden\");this.container.style.zIndex+=1;}}},{key:\"_hide\",value:function _hide(){var unpin=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;if(unpin){this.pinned=false;}if(!this.hideElement.hasAttribute(\"hidden\")&&!this.pinned){this.hideElement.setAttribute(\"hidden\",true);this.container.style.zIndex-=1;}}}]);return PopupElement;}();var FreeTextAnnotationElement=/*#__PURE__*/function(_AnnotationElement5){_inherits(FreeTextAnnotationElement,_AnnotationElement5);function FreeTextAnnotationElement(parameters){_classCallCheck(this,FreeTextAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(FreeTextAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(FreeTextAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"freeTextAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return FreeTextAnnotationElement;}(AnnotationElement);var LineAnnotationElement=/*#__PURE__*/function(_AnnotationElement6){_inherits(LineAnnotationElement,_AnnotationElement6);function LineAnnotationElement(parameters){_classCallCheck(this,LineAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(LineAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(LineAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"lineAnnotation\";var data=this.data;var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];var svg=this.svgFactory.create(width,height);var line=this.svgFactory.createElement(\"svg:line\");line.setAttribute(\"x1\",data.rect[2]-data.lineCoordinates[0]);line.setAttribute(\"y1\",data.rect[3]-data.lineCoordinates[1]);line.setAttribute(\"x2\",data.rect[2]-data.lineCoordinates[2]);line.setAttribute(\"y2\",data.rect[3]-data.lineCoordinates[3]);line.setAttribute(\"stroke-width\",data.borderStyle.width||1);line.setAttribute(\"stroke\",\"transparent\");svg.appendChild(line);this.container.append(svg);this._createPopup(this.container,line,data);return this.container;}}]);return LineAnnotationElement;}(AnnotationElement);var SquareAnnotationElement=/*#__PURE__*/function(_AnnotationElement7){_inherits(SquareAnnotationElement,_AnnotationElement7);function SquareAnnotationElement(parameters){_classCallCheck(this,SquareAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(SquareAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(SquareAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"squareAnnotation\";var data=this.data;var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];var svg=this.svgFactory.create(width,height);var borderWidth=data.borderStyle.width;var square=this.svgFactory.createElement(\"svg:rect\");square.setAttribute(\"x\",borderWidth/2);square.setAttribute(\"y\",borderWidth/2);square.setAttribute(\"width\",width-borderWidth);square.setAttribute(\"height\",height-borderWidth);square.setAttribute(\"stroke-width\",borderWidth||1);square.setAttribute(\"stroke\",\"transparent\");square.setAttribute(\"fill\",\"none\");svg.appendChild(square);this.container.append(svg);this._createPopup(this.container,square,data);return this.container;}}]);return SquareAnnotationElement;}(AnnotationElement);var CircleAnnotationElement=/*#__PURE__*/function(_AnnotationElement8){_inherits(CircleAnnotationElement,_AnnotationElement8);function CircleAnnotationElement(parameters){_classCallCheck(this,CircleAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(CircleAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(CircleAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"circleAnnotation\";var data=this.data;var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];var svg=this.svgFactory.create(width,height);var borderWidth=data.borderStyle.width;var circle=this.svgFactory.createElement(\"svg:ellipse\");circle.setAttribute(\"cx\",width/2);circle.setAttribute(\"cy\",height/2);circle.setAttribute(\"rx\",width/2-borderWidth/2);circle.setAttribute(\"ry\",height/2-borderWidth/2);circle.setAttribute(\"stroke-width\",borderWidth||1);circle.setAttribute(\"stroke\",\"transparent\");circle.setAttribute(\"fill\",\"none\");svg.appendChild(circle);this.container.append(svg);this._createPopup(this.container,circle,data);return this.container;}}]);return CircleAnnotationElement;}(AnnotationElement);var PolylineAnnotationElement=/*#__PURE__*/function(_AnnotationElement9){_inherits(PolylineAnnotationElement,_AnnotationElement9);function PolylineAnnotationElement(parameters){var _this3;_classCallCheck(this,PolylineAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);_this3=_possibleConstructorReturn(this,_getPrototypeOf(PolylineAnnotationElement).call(this,parameters,isRenderable,true));_this3.containerClassName=\"polylineAnnotation\";_this3.svgElementName=\"svg:polyline\";return _this3;}_createClass(PolylineAnnotationElement,[{key:\"render\",value:function render(){this.container.className=this.containerClassName;var data=this.data;var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];var svg=this.svgFactory.create(width,height);var points=[];var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=data.vertices[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var coordinate=_step2.value;var x=coordinate.x-data.rect[0];var y=data.rect[3]-coordinate.y;points.push(x+\",\"+y);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2[\"return\"]!=null){_iterator2[\"return\"]();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}points=points.join(\" \");var polyline=this.svgFactory.createElement(this.svgElementName);polyline.setAttribute(\"points\",points);polyline.setAttribute(\"stroke-width\",data.borderStyle.width||1);polyline.setAttribute(\"stroke\",\"transparent\");polyline.setAttribute(\"fill\",\"none\");svg.appendChild(polyline);this.container.append(svg);this._createPopup(this.container,polyline,data);return this.container;}}]);return PolylineAnnotationElement;}(AnnotationElement);var PolygonAnnotationElement=/*#__PURE__*/function(_PolylineAnnotationEl){_inherits(PolygonAnnotationElement,_PolylineAnnotationEl);function PolygonAnnotationElement(parameters){var _this4;_classCallCheck(this,PolygonAnnotationElement);_this4=_possibleConstructorReturn(this,_getPrototypeOf(PolygonAnnotationElement).call(this,parameters));_this4.containerClassName=\"polygonAnnotation\";_this4.svgElementName=\"svg:polygon\";return _this4;}return PolygonAnnotationElement;}(PolylineAnnotationElement);var CaretAnnotationElement=/*#__PURE__*/function(_AnnotationElement10){_inherits(CaretAnnotationElement,_AnnotationElement10);function CaretAnnotationElement(parameters){_classCallCheck(this,CaretAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(CaretAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(CaretAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"caretAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return CaretAnnotationElement;}(AnnotationElement);var InkAnnotationElement=/*#__PURE__*/function(_AnnotationElement11){_inherits(InkAnnotationElement,_AnnotationElement11);function InkAnnotationElement(parameters){var _this5;_classCallCheck(this,InkAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);_this5=_possibleConstructorReturn(this,_getPrototypeOf(InkAnnotationElement).call(this,parameters,isRenderable,true));_this5.containerClassName=\"inkAnnotation\";_this5.svgElementName=\"svg:polyline\";return _this5;}_createClass(InkAnnotationElement,[{key:\"render\",value:function render(){this.container.className=this.containerClassName;var data=this.data;var width=data.rect[2]-data.rect[0];var height=data.rect[3]-data.rect[1];var svg=this.svgFactory.create(width,height);var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=data.inkLists[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var inkList=_step3.value;var points=[];var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{for(var _iterator4=inkList[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){var coordinate=_step4.value;var x=coordinate.x-data.rect[0];var y=data.rect[3]-coordinate.y;points.push(\"\".concat(x,\",\").concat(y));}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4[\"return\"]!=null){_iterator4[\"return\"]();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}points=points.join(\" \");var polyline=this.svgFactory.createElement(this.svgElementName);polyline.setAttribute(\"points\",points);polyline.setAttribute(\"stroke-width\",data.borderStyle.width||1);polyline.setAttribute(\"stroke\",\"transparent\");polyline.setAttribute(\"fill\",\"none\");this._createPopup(this.container,polyline,data);svg.appendChild(polyline);}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3[\"return\"]!=null){_iterator3[\"return\"]();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}this.container.append(svg);return this.container;}}]);return InkAnnotationElement;}(AnnotationElement);var HighlightAnnotationElement=/*#__PURE__*/function(_AnnotationElement12){_inherits(HighlightAnnotationElement,_AnnotationElement12);function HighlightAnnotationElement(parameters){_classCallCheck(this,HighlightAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(HighlightAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(HighlightAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"highlightAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return HighlightAnnotationElement;}(AnnotationElement);var UnderlineAnnotationElement=/*#__PURE__*/function(_AnnotationElement13){_inherits(UnderlineAnnotationElement,_AnnotationElement13);function UnderlineAnnotationElement(parameters){_classCallCheck(this,UnderlineAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(UnderlineAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(UnderlineAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"underlineAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return UnderlineAnnotationElement;}(AnnotationElement);var SquigglyAnnotationElement=/*#__PURE__*/function(_AnnotationElement14){_inherits(SquigglyAnnotationElement,_AnnotationElement14);function SquigglyAnnotationElement(parameters){_classCallCheck(this,SquigglyAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(SquigglyAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(SquigglyAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"squigglyAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return SquigglyAnnotationElement;}(AnnotationElement);var StrikeOutAnnotationElement=/*#__PURE__*/function(_AnnotationElement15){_inherits(StrikeOutAnnotationElement,_AnnotationElement15);function StrikeOutAnnotationElement(parameters){_classCallCheck(this,StrikeOutAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(StrikeOutAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(StrikeOutAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"strikeoutAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return StrikeOutAnnotationElement;}(AnnotationElement);var StampAnnotationElement=/*#__PURE__*/function(_AnnotationElement16){_inherits(StampAnnotationElement,_AnnotationElement16);function StampAnnotationElement(parameters){_classCallCheck(this,StampAnnotationElement);var isRenderable=!!(parameters.data.hasPopup||parameters.data.title||parameters.data.contents);return _possibleConstructorReturn(this,_getPrototypeOf(StampAnnotationElement).call(this,parameters,isRenderable,true));}_createClass(StampAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"stampAnnotation\";if(!this.data.hasPopup){this._createPopup(this.container,null,this.data);}return this.container;}}]);return StampAnnotationElement;}(AnnotationElement);var FileAttachmentAnnotationElement=/*#__PURE__*/function(_AnnotationElement17){_inherits(FileAttachmentAnnotationElement,_AnnotationElement17);function FileAttachmentAnnotationElement(parameters){var _this6;_classCallCheck(this,FileAttachmentAnnotationElement);_this6=_possibleConstructorReturn(this,_getPrototypeOf(FileAttachmentAnnotationElement).call(this,parameters,true));var _this6$data$file=_this6.data.file,filename=_this6$data$file.filename,content=_this6$data$file.content;_this6.filename=(0,_display_utils.getFilenameFromUrl)(filename);_this6.content=content;if(_this6.linkService.eventBus){_this6.linkService.eventBus.dispatch(\"fileattachmentannotation\",{source:_assertThisInitialized(_this6),id:(0,_util.stringToPDFString)(filename),filename:filename,content:content});}return _this6;}_createClass(FileAttachmentAnnotationElement,[{key:\"render\",value:function render(){this.container.className=\"fileAttachmentAnnotation\";var trigger=document.createElement(\"div\");trigger.style.height=this.container.style.height;trigger.style.width=this.container.style.width;trigger.addEventListener(\"dblclick\",this._download.bind(this));if(!this.data.hasPopup&&(this.data.title||this.data.contents)){this._createPopup(this.container,trigger,this.data);}this.container.appendChild(trigger);return this.container;}},{key:\"_download\",value:function _download(){if(!this.downloadManager){(0,_util.warn)(\"Download cannot be started due to unavailable download manager\");return;}this.downloadManager.downloadData(this.content,this.filename,\"\");}}]);return FileAttachmentAnnotationElement;}(AnnotationElement);var AnnotationLayer=/*#__PURE__*/function(){function AnnotationLayer(){_classCallCheck(this,AnnotationLayer);}_createClass(AnnotationLayer,null,[{key:\"render\",value:function render(parameters){var sortedAnnotations=[],popupAnnotations=[];var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{for(var _iterator5=parameters.annotations[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){var data=_step5.value;if(!data){continue;}if(data.annotationType===_util.AnnotationType.POPUP){popupAnnotations.push(data);continue;}sortedAnnotations.push(data);}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5[\"return\"]!=null){_iterator5[\"return\"]();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}if(popupAnnotations.length){sortedAnnotations.push.apply(sortedAnnotations,popupAnnotations);}for(var _i=0,_sortedAnnotations=sortedAnnotations;_i<_sortedAnnotations.length;_i++){var _data=_sortedAnnotations[_i];var element=AnnotationElementFactory.create({data:_data,layer:parameters.div,page:parameters.page,viewport:parameters.viewport,linkService:parameters.linkService,downloadManager:parameters.downloadManager,imageResourcesPath:parameters.imageResourcesPath||\"\",renderInteractiveForms:parameters.renderInteractiveForms||false,svgFactory:new _display_utils.DOMSVGFactory()});if(element.isRenderable){parameters.div.appendChild(element.render());}}}},{key:\"update\",value:function update(parameters){var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{for(var _iterator6=parameters.annotations[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){var data=_step6.value;var element=parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id,\"\\\"]\"));if(element){element.style.transform=\"matrix(\".concat(parameters.viewport.transform.join(\",\"),\")\");}}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6[\"return\"]!=null){_iterator6[\"return\"]();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}parameters.div.removeAttribute(\"hidden\");}}]);return AnnotationLayer;}();exports.AnnotationLayer=AnnotationLayer;/***/},/* 207 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.SVGGraphics=void 0;var _util=__w_pdfjs_require__(1);var _display_utils=__w_pdfjs_require__(194);var _is_node=__w_pdfjs_require__(48);function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\");}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)===\"[object Arguments]\")return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===\"[object Arguments]\")){return;}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i[\"return\"]!=null)_i[\"return\"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var SVGGraphics=function SVGGraphics(){throw new Error(\"Not implemented: SVGGraphics\");};exports.SVGGraphics=SVGGraphics;{var opListToTree=function opListToTree(opList){var opTree=[];var tmp=[];var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=opList[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var opListElement=_step.value;if(opListElement.fn===\"save\"){opTree.push({fnId:92,fn:\"group\",items:[]});tmp.push(opTree);opTree=opTree[opTree.length-1].items;continue;}if(opListElement.fn===\"restore\"){opTree=tmp.pop();}else{opTree.push(opListElement);}}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator[\"return\"]!=null){_iterator[\"return\"]();}}finally{if(_didIteratorError){throw _iteratorError;}}}return opTree;};var pf=function pf(value){if(Number.isInteger(value)){return value.toString();}var s=value.toFixed(10);var i=s.length-1;if(s[i]!==\"0\"){return s;}do{i--;}while(s[i]===\"0\");return s.substring(0,s[i]===\".\"?i:i+1);};var pm=function pm(m){if(m[4]===0&&m[5]===0){if(m[1]===0&&m[2]===0){if(m[0]===1&&m[3]===1){return\"\";}return\"scale(\".concat(pf(m[0]),\" \").concat(pf(m[3]),\")\");}if(m[0]===m[3]&&m[1]===-m[2]){var a=Math.acos(m[0])*180/Math.PI;return\"rotate(\".concat(pf(a),\")\");}}else{if(m[0]===1&&m[1]===0&&m[2]===0&&m[3]===1){return\"translate(\".concat(pf(m[4]),\" \").concat(pf(m[5]),\")\");}}return\"matrix(\".concat(pf(m[0]),\" \").concat(pf(m[1]),\" \").concat(pf(m[2]),\" \").concat(pf(m[3]),\" \").concat(pf(m[4]),\" \")+\"\".concat(pf(m[5]),\")\");};var SVG_DEFAULTS={fontStyle:\"normal\",fontWeight:\"normal\",fillColor:\"#000000\"};var XML_NS=\"http://www.w3.org/XML/1998/namespace\";var XLINK_NS=\"http://www.w3.org/1999/xlink\";var LINE_CAP_STYLES=[\"butt\",\"round\",\"square\"];var LINE_JOIN_STYLES=[\"miter\",\"round\",\"bevel\"];var convertImgDataToPng=function(){var PNG_HEADER=new Uint8Array([0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a]);var CHUNK_WRAPPER_SIZE=12;var crcTable=new Int32Array(256);for(var i=0;i<256;i++){var c=i;for(var h=0;h<8;h++){if(c&1){c=0xedb88320^c>>1&0x7fffffff;}else{c=c>>1&0x7fffffff;}}crcTable[i]=c;}function crc32(data,start,end){var crc=-1;for(var _i=start;_i<end;_i++){var a=(crc^data[_i])&0xff;var b=crcTable[a];crc=crc>>>8^b;}return crc^-1;}function writePngChunk(type,body,data,offset){var p=offset;var len=body.length;data[p]=len>>24&0xff;data[p+1]=len>>16&0xff;data[p+2]=len>>8&0xff;data[p+3]=len&0xff;p+=4;data[p]=type.charCodeAt(0)&0xff;data[p+1]=type.charCodeAt(1)&0xff;data[p+2]=type.charCodeAt(2)&0xff;data[p+3]=type.charCodeAt(3)&0xff;p+=4;data.set(body,p);p+=body.length;var crc=crc32(data,offset+4,p);data[p]=crc>>24&0xff;data[p+1]=crc>>16&0xff;data[p+2]=crc>>8&0xff;data[p+3]=crc&0xff;}function adler32(data,start,end){var a=1;var b=0;for(var _i2=start;_i2<end;++_i2){a=(a+(data[_i2]&0xff))%65521;b=(b+a)%65521;}return b<<16|a;}function deflateSync(literals){if(!_is_node.isNodeJS){return deflateSyncUncompressed(literals);}try{var input;if(parseInt(process.versions.node)>=8){input=literals;}else{input=Buffer.from(literals);}var output=__webpack_require__(0).deflateSync(input,{level:9});return output instanceof Uint8Array?output:new Uint8Array(output);}catch(e){(0,_util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \"+e);}return deflateSyncUncompressed(literals);}function deflateSyncUncompressed(literals){var len=literals.length;var maxBlockLength=0xffff;var deflateBlocks=Math.ceil(len/maxBlockLength);var idat=new Uint8Array(2+len+deflateBlocks*5+4);var pi=0;idat[pi++]=0x78;idat[pi++]=0x9c;var pos=0;while(len>maxBlockLength){idat[pi++]=0x00;idat[pi++]=0xff;idat[pi++]=0xff;idat[pi++]=0x00;idat[pi++]=0x00;idat.set(literals.subarray(pos,pos+maxBlockLength),pi);pi+=maxBlockLength;pos+=maxBlockLength;len-=maxBlockLength;}idat[pi++]=0x01;idat[pi++]=len&0xff;idat[pi++]=len>>8&0xff;idat[pi++]=~len&0xffff&0xff;idat[pi++]=(~len&0xffff)>>8&0xff;idat.set(literals.subarray(pos),pi);pi+=literals.length-pos;var adler=adler32(literals,0,literals.length);idat[pi++]=adler>>24&0xff;idat[pi++]=adler>>16&0xff;idat[pi++]=adler>>8&0xff;idat[pi++]=adler&0xff;return idat;}function encode(imgData,kind,forceDataSchema,isMask){var width=imgData.width;var height=imgData.height;var bitDepth,colorType,lineSize;var bytes=imgData.data;switch(kind){case _util.ImageKind.GRAYSCALE_1BPP:colorType=0;bitDepth=1;lineSize=width+7>>3;break;case _util.ImageKind.RGB_24BPP:colorType=2;bitDepth=8;lineSize=width*3;break;case _util.ImageKind.RGBA_32BPP:colorType=6;bitDepth=8;lineSize=width*4;break;default:throw new Error(\"invalid format\");}var literals=new Uint8Array((1+lineSize)*height);var offsetLiterals=0,offsetBytes=0;for(var y=0;y<height;++y){literals[offsetLiterals++]=0;literals.set(bytes.subarray(offsetBytes,offsetBytes+lineSize),offsetLiterals);offsetBytes+=lineSize;offsetLiterals+=lineSize;}if(kind===_util.ImageKind.GRAYSCALE_1BPP&&isMask){offsetLiterals=0;for(var _y=0;_y<height;_y++){offsetLiterals++;for(var _i3=0;_i3<lineSize;_i3++){literals[offsetLiterals++]^=0xff;}}}var ihdr=new Uint8Array([width>>24&0xff,width>>16&0xff,width>>8&0xff,width&0xff,height>>24&0xff,height>>16&0xff,height>>8&0xff,height&0xff,bitDepth,colorType,0x00,0x00,0x00]);var idat=deflateSync(literals);var pngLength=PNG_HEADER.length+CHUNK_WRAPPER_SIZE*3+ihdr.length+idat.length;var data=new Uint8Array(pngLength);var offset=0;data.set(PNG_HEADER,offset);offset+=PNG_HEADER.length;writePngChunk(\"IHDR\",ihdr,data,offset);offset+=CHUNK_WRAPPER_SIZE+ihdr.length;writePngChunk(\"IDATA\",idat,data,offset);offset+=CHUNK_WRAPPER_SIZE+idat.length;writePngChunk(\"IEND\",new Uint8Array(0),data,offset);return(0,_util.createObjectURL)(data,\"image/png\",forceDataSchema);}return function convertImgDataToPng(imgData,forceDataSchema,isMask){var kind=imgData.kind===undefined?_util.ImageKind.GRAYSCALE_1BPP:imgData.kind;return encode(imgData,kind,forceDataSchema,isMask);};}();var SVGExtraState=/*#__PURE__*/function(){function SVGExtraState(){_classCallCheck(this,SVGExtraState);this.fontSizeScale=1;this.fontWeight=SVG_DEFAULTS.fontWeight;this.fontSize=0;this.textMatrix=_util.IDENTITY_MATRIX;this.fontMatrix=_util.FONT_IDENTITY_MATRIX;this.leading=0;this.textRenderingMode=_util.TextRenderingMode.FILL;this.textMatrixScale=1;this.x=0;this.y=0;this.lineX=0;this.lineY=0;this.charSpacing=0;this.wordSpacing=0;this.textHScale=1;this.textRise=0;this.fillColor=SVG_DEFAULTS.fillColor;this.strokeColor=\"#000000\";this.fillAlpha=1;this.strokeAlpha=1;this.lineWidth=1;this.lineJoin=\"\";this.lineCap=\"\";this.miterLimit=0;this.dashArray=[];this.dashPhase=0;this.dependencies=[];this.activeClipUrl=null;this.clipGroup=null;this.maskId=\"\";}_createClass(SVGExtraState,[{key:\"clone\",value:function clone(){return Object.create(this);}},{key:\"setCurrentPoint\",value:function setCurrentPoint(x,y){this.x=x;this.y=y;}}]);return SVGExtraState;}();var clipCount=0;var maskCount=0;var shadingCount=0;exports.SVGGraphics=SVGGraphics=/*#__PURE__*/function(){function SVGGraphics(commonObjs,objs,forceDataSchema){_classCallCheck(this,SVGGraphics);this.svgFactory=new _display_utils.DOMSVGFactory();this.current=new SVGExtraState();this.transformMatrix=_util.IDENTITY_MATRIX;this.transformStack=[];this.extraStack=[];this.commonObjs=commonObjs;this.objs=objs;this.pendingClip=null;this.pendingEOFill=false;this.embedFonts=false;this.embeddedFonts=Object.create(null);this.cssStyle=null;this.forceDataSchema=!!forceDataSchema;this._operatorIdMapping=[];for(var op in _util.OPS){this._operatorIdMapping[_util.OPS[op]]=op;}}_createClass(SVGGraphics,[{key:\"save\",value:function save(){this.transformStack.push(this.transformMatrix);var old=this.current;this.extraStack.push(old);this.current=old.clone();}},{key:\"restore\",value:function restore(){this.transformMatrix=this.transformStack.pop();this.current=this.extraStack.pop();this.pendingClip=null;this.tgrp=null;}},{key:\"group\",value:function group(items){this.save();this.executeOpTree(items);this.restore();}},{key:\"loadDependencies\",value:function loadDependencies(operatorList){var _this=this;var fnArray=operatorList.fnArray;var argsArray=operatorList.argsArray;for(var i=0,ii=fnArray.length;i<ii;i++){if(fnArray[i]!==_util.OPS.dependency){continue;}var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{var _loop=function _loop(){var obj=_step2.value;var objsPool=obj.startsWith(\"g_\")?_this.commonObjs:_this.objs;var promise=new Promise(function(resolve){objsPool.get(obj,resolve);});_this.current.dependencies.push(promise);};for(var _iterator2=argsArray[i][Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){_loop();}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2[\"return\"]!=null){_iterator2[\"return\"]();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}}return Promise.all(this.current.dependencies);}},{key:\"transform\",value:function transform(a,b,c,d,e,f){var transformMatrix=[a,b,c,d,e,f];this.transformMatrix=_util.Util.transform(this.transformMatrix,transformMatrix);this.tgrp=null;}},{key:\"getSVG\",value:function getSVG(operatorList,viewport){var _this2=this;this.viewport=viewport;var svgElement=this._initialize(viewport);return this.loadDependencies(operatorList).then(function(){_this2.transformMatrix=_util.IDENTITY_MATRIX;_this2.executeOpTree(_this2.convertOpList(operatorList));return svgElement;});}},{key:\"convertOpList\",value:function convertOpList(operatorList){var operatorIdMapping=this._operatorIdMapping;var argsArray=operatorList.argsArray;var fnArray=operatorList.fnArray;var opList=[];for(var i=0,ii=fnArray.length;i<ii;i++){var fnId=fnArray[i];opList.push({fnId:fnId,fn:operatorIdMapping[fnId],args:argsArray[i]});}return opListToTree(opList);}},{key:\"executeOpTree\",value:function executeOpTree(opTree){var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=opTree[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var opTreeElement=_step3.value;var fn=opTreeElement.fn;var fnId=opTreeElement.fnId;var args=opTreeElement.args;switch(fnId|0){case _util.OPS.beginText:this.beginText();break;case _util.OPS.dependency:break;case _util.OPS.setLeading:this.setLeading(args);break;case _util.OPS.setLeadingMoveText:this.setLeadingMoveText(args[0],args[1]);break;case _util.OPS.setFont:this.setFont(args);break;case _util.OPS.showText:this.showText(args[0]);break;case _util.OPS.showSpacedText:this.showText(args[0]);break;case _util.OPS.endText:this.endText();break;case _util.OPS.moveText:this.moveText(args[0],args[1]);break;case _util.OPS.setCharSpacing:this.setCharSpacing(args[0]);break;case _util.OPS.setWordSpacing:this.setWordSpacing(args[0]);break;case _util.OPS.setHScale:this.setHScale(args[0]);break;case _util.OPS.setTextMatrix:this.setTextMatrix(args[0],args[1],args[2],args[3],args[4],args[5]);break;case _util.OPS.setTextRise:this.setTextRise(args[0]);break;case _util.OPS.setTextRenderingMode:this.setTextRenderingMode(args[0]);break;case _util.OPS.setLineWidth:this.setLineWidth(args[0]);break;case _util.OPS.setLineJoin:this.setLineJoin(args[0]);break;case _util.OPS.setLineCap:this.setLineCap(args[0]);break;case _util.OPS.setMiterLimit:this.setMiterLimit(args[0]);break;case _util.OPS.setFillRGBColor:this.setFillRGBColor(args[0],args[1],args[2]);break;case _util.OPS.setStrokeRGBColor:this.setStrokeRGBColor(args[0],args[1],args[2]);break;case _util.OPS.setStrokeColorN:this.setStrokeColorN(args);break;case _util.OPS.setFillColorN:this.setFillColorN(args);break;case _util.OPS.shadingFill:this.shadingFill(args[0]);break;case _util.OPS.setDash:this.setDash(args[0],args[1]);break;case _util.OPS.setRenderingIntent:this.setRenderingIntent(args[0]);break;case _util.OPS.setFlatness:this.setFlatness(args[0]);break;case _util.OPS.setGState:this.setGState(args[0]);break;case _util.OPS.fill:this.fill();break;case _util.OPS.eoFill:this.eoFill();break;case _util.OPS.stroke:this.stroke();break;case _util.OPS.fillStroke:this.fillStroke();break;case _util.OPS.eoFillStroke:this.eoFillStroke();break;case _util.OPS.clip:this.clip(\"nonzero\");break;case _util.OPS.eoClip:this.clip(\"evenodd\");break;case _util.OPS.paintSolidColorImageMask:this.paintSolidColorImageMask();break;case _util.OPS.paintJpegXObject:this.paintJpegXObject(args[0],args[1],args[2]);break;case _util.OPS.paintImageXObject:this.paintImageXObject(args[0]);break;case _util.OPS.paintInlineImageXObject:this.paintInlineImageXObject(args[0]);break;case _util.OPS.paintImageMaskXObject:this.paintImageMaskXObject(args[0]);break;case _util.OPS.paintFormXObjectBegin:this.paintFormXObjectBegin(args[0],args[1]);break;case _util.OPS.paintFormXObjectEnd:this.paintFormXObjectEnd();break;case _util.OPS.closePath:this.closePath();break;case _util.OPS.closeStroke:this.closeStroke();break;case _util.OPS.closeFillStroke:this.closeFillStroke();break;case _util.OPS.closeEOFillStroke:this.closeEOFillStroke();break;case _util.OPS.nextLine:this.nextLine();break;case _util.OPS.transform:this.transform(args[0],args[1],args[2],args[3],args[4],args[5]);break;case _util.OPS.constructPath:this.constructPath(args[0],args[1]);break;case _util.OPS.endPath:this.endPath();break;case 92:this.group(opTreeElement.items);break;default:(0,_util.warn)(\"Unimplemented operator \".concat(fn));break;}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3[\"return\"]!=null){_iterator3[\"return\"]();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}}},{key:\"setWordSpacing\",value:function setWordSpacing(wordSpacing){this.current.wordSpacing=wordSpacing;}},{key:\"setCharSpacing\",value:function setCharSpacing(charSpacing){this.current.charSpacing=charSpacing;}},{key:\"nextLine\",value:function nextLine(){this.moveText(0,this.current.leading);}},{key:\"setTextMatrix\",value:function setTextMatrix(a,b,c,d,e,f){var current=this.current;current.textMatrix=current.lineMatrix=[a,b,c,d,e,f];current.textMatrixScale=Math.sqrt(a*a+b*b);current.x=current.lineX=0;current.y=current.lineY=0;current.xcoords=[];current.tspan=this.svgFactory.createElement(\"svg:tspan\");current.tspan.setAttributeNS(null,\"font-family\",current.fontFamily);current.tspan.setAttributeNS(null,\"font-size\",\"\".concat(pf(current.fontSize),\"px\"));current.tspan.setAttributeNS(null,\"y\",pf(-current.y));current.txtElement=this.svgFactory.createElement(\"svg:text\");current.txtElement.appendChild(current.tspan);}},{key:\"beginText\",value:function beginText(){var current=this.current;current.x=current.lineX=0;current.y=current.lineY=0;current.textMatrix=_util.IDENTITY_MATRIX;current.lineMatrix=_util.IDENTITY_MATRIX;current.textMatrixScale=1;current.tspan=this.svgFactory.createElement(\"svg:tspan\");current.txtElement=this.svgFactory.createElement(\"svg:text\");current.txtgrp=this.svgFactory.createElement(\"svg:g\");current.xcoords=[];}},{key:\"moveText\",value:function moveText(x,y){var current=this.current;current.x=current.lineX+=x;current.y=current.lineY+=y;current.xcoords=[];current.tspan=this.svgFactory.createElement(\"svg:tspan\");current.tspan.setAttributeNS(null,\"font-family\",current.fontFamily);current.tspan.setAttributeNS(null,\"font-size\",\"\".concat(pf(current.fontSize),\"px\"));current.tspan.setAttributeNS(null,\"y\",pf(-current.y));}},{key:\"showText\",value:function showText(glyphs){var current=this.current;var font=current.font;var fontSize=current.fontSize;if(fontSize===0){return;}var charSpacing=current.charSpacing;var wordSpacing=current.wordSpacing;var fontDirection=current.fontDirection;var textHScale=current.textHScale*fontDirection;var vertical=font.vertical;var widthAdvanceScale=fontSize*current.fontMatrix[0];var x=0;var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{for(var _iterator4=glyphs[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){var glyph=_step4.value;if(glyph===null){x+=fontDirection*wordSpacing;continue;}else if((0,_util.isNum)(glyph)){x+=-glyph*fontSize*0.001;continue;}var width=glyph.width;var character=glyph.fontChar;var spacing=(glyph.isSpace?wordSpacing:0)+charSpacing;var charWidth=width*widthAdvanceScale+spacing*fontDirection;if(!glyph.isInFont&&!font.missingFile){x+=charWidth;continue;}current.xcoords.push(current.x+x);current.tspan.textContent+=character;x+=charWidth;}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4[\"return\"]!=null){_iterator4[\"return\"]();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}if(vertical){current.y-=x*textHScale;}else{current.x+=x*textHScale;}current.tspan.setAttributeNS(null,\"x\",current.xcoords.map(pf).join(\" \"));current.tspan.setAttributeNS(null,\"y\",pf(-current.y));current.tspan.setAttributeNS(null,\"font-family\",current.fontFamily);current.tspan.setAttributeNS(null,\"font-size\",\"\".concat(pf(current.fontSize),\"px\"));if(current.fontStyle!==SVG_DEFAULTS.fontStyle){current.tspan.setAttributeNS(null,\"font-style\",current.fontStyle);}if(current.fontWeight!==SVG_DEFAULTS.fontWeight){current.tspan.setAttributeNS(null,\"font-weight\",current.fontWeight);}var fillStrokeMode=current.textRenderingMode&_util.TextRenderingMode.FILL_STROKE_MASK;if(fillStrokeMode===_util.TextRenderingMode.FILL||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){if(current.fillColor!==SVG_DEFAULTS.fillColor){current.tspan.setAttributeNS(null,\"fill\",current.fillColor);}if(current.fillAlpha<1){current.tspan.setAttributeNS(null,\"fill-opacity\",current.fillAlpha);}}else if(current.textRenderingMode===_util.TextRenderingMode.ADD_TO_PATH){current.tspan.setAttributeNS(null,\"fill\",\"transparent\");}else{current.tspan.setAttributeNS(null,\"fill\",\"none\");}if(fillStrokeMode===_util.TextRenderingMode.STROKE||fillStrokeMode===_util.TextRenderingMode.FILL_STROKE){var lineWidthScale=1/(current.textMatrixScale||1);this._setStrokeAttributes(current.tspan,lineWidthScale);}var textMatrix=current.textMatrix;if(current.textRise!==0){textMatrix=textMatrix.slice();textMatrix[5]+=current.textRise;}current.txtElement.setAttributeNS(null,\"transform\",\"\".concat(pm(textMatrix),\" scale(\").concat(pf(textHScale),\", -1)\"));current.txtElement.setAttributeNS(XML_NS,\"xml:space\",\"preserve\");current.txtElement.appendChild(current.tspan);current.txtgrp.appendChild(current.txtElement);this._ensureTransformGroup().appendChild(current.txtElement);}},{key:\"setLeadingMoveText\",value:function setLeadingMoveText(x,y){this.setLeading(-y);this.moveText(x,y);}},{key:\"addFontStyle\",value:function addFontStyle(fontObj){if(!this.cssStyle){this.cssStyle=this.svgFactory.createElement(\"svg:style\");this.cssStyle.setAttributeNS(null,\"type\",\"text/css\");this.defs.appendChild(this.cssStyle);}var url=(0,_util.createObjectURL)(fontObj.data,fontObj.mimetype,this.forceDataSchema);this.cssStyle.textContent+=\"@font-face { font-family: \\\"\".concat(fontObj.loadedName,\"\\\";\")+\" src: url(\".concat(url,\"); }\\n\");}},{key:\"setFont\",value:function setFont(details){var current=this.current;var fontObj=this.commonObjs.get(details[0]);var size=details[1];current.font=fontObj;if(this.embedFonts&&fontObj.data&&!this.embeddedFonts[fontObj.loadedName]){this.addFontStyle(fontObj);this.embeddedFonts[fontObj.loadedName]=fontObj;}current.fontMatrix=fontObj.fontMatrix?fontObj.fontMatrix:_util.FONT_IDENTITY_MATRIX;var bold=\"normal\";if(fontObj.black){bold=\"900\";}else if(fontObj.bold){bold=\"bold\";}var italic=fontObj.italic?\"italic\":\"normal\";if(size<0){size=-size;current.fontDirection=-1;}else{current.fontDirection=1;}current.fontSize=size;current.fontFamily=fontObj.loadedName;current.fontWeight=bold;current.fontStyle=italic;current.tspan=this.svgFactory.createElement(\"svg:tspan\");current.tspan.setAttributeNS(null,\"y\",pf(-current.y));current.xcoords=[];}},{key:\"endText\",value:function endText(){var current=this.current;if(current.textRenderingMode&_util.TextRenderingMode.ADD_TO_PATH_FLAG&&current.txtElement&&current.txtElement.hasChildNodes()){current.element=current.txtElement;this.clip(\"nonzero\");this.endPath();}}},{key:\"setLineWidth\",value:function setLineWidth(width){if(width>0){this.current.lineWidth=width;}}},{key:\"setLineCap\",value:function setLineCap(style){this.current.lineCap=LINE_CAP_STYLES[style];}},{key:\"setLineJoin\",value:function setLineJoin(style){this.current.lineJoin=LINE_JOIN_STYLES[style];}},{key:\"setMiterLimit\",value:function setMiterLimit(limit){this.current.miterLimit=limit;}},{key:\"setStrokeAlpha\",value:function setStrokeAlpha(strokeAlpha){this.current.strokeAlpha=strokeAlpha;}},{key:\"setStrokeRGBColor\",value:function setStrokeRGBColor(r,g,b){this.current.strokeColor=_util.Util.makeCssRgb(r,g,b);}},{key:\"setFillAlpha\",value:function setFillAlpha(fillAlpha){this.current.fillAlpha=fillAlpha;}},{key:\"setFillRGBColor\",value:function setFillRGBColor(r,g,b){this.current.fillColor=_util.Util.makeCssRgb(r,g,b);this.current.tspan=this.svgFactory.createElement(\"svg:tspan\");this.current.xcoords=[];}},{key:\"setStrokeColorN\",value:function setStrokeColorN(args){this.current.strokeColor=this._makeColorN_Pattern(args);}},{key:\"setFillColorN\",value:function setFillColorN(args){this.current.fillColor=this._makeColorN_Pattern(args);}},{key:\"shadingFill\",value:function shadingFill(args){var width=this.viewport.width;var height=this.viewport.height;var inv=_util.Util.inverseTransform(this.transformMatrix);var bl=_util.Util.applyTransform([0,0],inv);var br=_util.Util.applyTransform([0,height],inv);var ul=_util.Util.applyTransform([width,0],inv);var ur=_util.Util.applyTransform([width,height],inv);var x0=Math.min(bl[0],br[0],ul[0],ur[0]);var y0=Math.min(bl[1],br[1],ul[1],ur[1]);var x1=Math.max(bl[0],br[0],ul[0],ur[0]);var y1=Math.max(bl[1],br[1],ul[1],ur[1]);var rect=this.svgFactory.createElement(\"svg:rect\");rect.setAttributeNS(null,\"x\",x0);rect.setAttributeNS(null,\"y\",y0);rect.setAttributeNS(null,\"width\",x1-x0);rect.setAttributeNS(null,\"height\",y1-y0);rect.setAttributeNS(null,\"fill\",this._makeShadingPattern(args));this._ensureTransformGroup().appendChild(rect);}},{key:\"_makeColorN_Pattern\",value:function _makeColorN_Pattern(args){if(args[0]===\"TilingPattern\"){return this._makeTilingPattern(args);}return this._makeShadingPattern(args);}},{key:\"_makeTilingPattern\",value:function _makeTilingPattern(args){var color=args[1];var operatorList=args[2];var matrix=args[3]||_util.IDENTITY_MATRIX;var _args$=_slicedToArray(args[4],4),x0=_args$[0],y0=_args$[1],x1=_args$[2],y1=_args$[3];var xstep=args[5];var ystep=args[6];var paintType=args[7];var tilingId=\"shading\".concat(shadingCount++);var _Util$applyTransform=_util.Util.applyTransform([x0,y0],matrix),_Util$applyTransform2=_slicedToArray(_Util$applyTransform,2),tx0=_Util$applyTransform2[0],ty0=_Util$applyTransform2[1];var _Util$applyTransform3=_util.Util.applyTransform([x1,y1],matrix),_Util$applyTransform4=_slicedToArray(_Util$applyTransform3,2),tx1=_Util$applyTransform4[0],ty1=_Util$applyTransform4[1];var _Util$singularValueDe=_util.Util.singularValueDecompose2dScale(matrix),_Util$singularValueDe2=_slicedToArray(_Util$singularValueDe,2),xscale=_Util$singularValueDe2[0],yscale=_Util$singularValueDe2[1];var txstep=xstep*xscale;var tystep=ystep*yscale;var tiling=this.svgFactory.createElement(\"svg:pattern\");tiling.setAttributeNS(null,\"id\",tilingId);tiling.setAttributeNS(null,\"patternUnits\",\"userSpaceOnUse\");tiling.setAttributeNS(null,\"width\",txstep);tiling.setAttributeNS(null,\"height\",tystep);tiling.setAttributeNS(null,\"x\",\"\".concat(tx0));tiling.setAttributeNS(null,\"y\",\"\".concat(ty0));var svg=this.svg;var transformMatrix=this.transformMatrix;var fillColor=this.current.fillColor;var strokeColor=this.current.strokeColor;var bbox=this.svgFactory.create(tx1-tx0,ty1-ty0);this.svg=bbox;this.transformMatrix=matrix;if(paintType===2){var cssColor=_util.Util.makeCssRgb.apply(_util.Util,_toConsumableArray(color));this.current.fillColor=cssColor;this.current.strokeColor=cssColor;}this.executeOpTree(this.convertOpList(operatorList));this.svg=svg;this.transformMatrix=transformMatrix;this.current.fillColor=fillColor;this.current.strokeColor=strokeColor;tiling.appendChild(bbox.childNodes[0]);this.defs.appendChild(tiling);return\"url(#\".concat(tilingId,\")\");}},{key:\"_makeShadingPattern\",value:function _makeShadingPattern(args){switch(args[0]){case\"RadialAxial\":var shadingId=\"shading\".concat(shadingCount++);var colorStops=args[3];var gradient;switch(args[1]){case\"axial\":var point0=args[4];var point1=args[5];gradient=this.svgFactory.createElement(\"svg:linearGradient\");gradient.setAttributeNS(null,\"id\",shadingId);gradient.setAttributeNS(null,\"gradientUnits\",\"userSpaceOnUse\");gradient.setAttributeNS(null,\"x1\",point0[0]);gradient.setAttributeNS(null,\"y1\",point0[1]);gradient.setAttributeNS(null,\"x2\",point1[0]);gradient.setAttributeNS(null,\"y2\",point1[1]);break;case\"radial\":var focalPoint=args[4];var circlePoint=args[5];var focalRadius=args[6];var circleRadius=args[7];gradient=this.svgFactory.createElement(\"svg:radialGradient\");gradient.setAttributeNS(null,\"id\",shadingId);gradient.setAttributeNS(null,\"gradientUnits\",\"userSpaceOnUse\");gradient.setAttributeNS(null,\"cx\",circlePoint[0]);gradient.setAttributeNS(null,\"cy\",circlePoint[1]);gradient.setAttributeNS(null,\"r\",circleRadius);gradient.setAttributeNS(null,\"fx\",focalPoint[0]);gradient.setAttributeNS(null,\"fy\",focalPoint[1]);gradient.setAttributeNS(null,\"fr\",focalRadius);break;default:throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));}var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{for(var _iterator5=colorStops[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){var colorStop=_step5.value;var stop=this.svgFactory.createElement(\"svg:stop\");stop.setAttributeNS(null,\"offset\",colorStop[0]);stop.setAttributeNS(null,\"stop-color\",colorStop[1]);gradient.appendChild(stop);}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5[\"return\"]!=null){_iterator5[\"return\"]();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}this.defs.appendChild(gradient);return\"url(#\".concat(shadingId,\")\");case\"Mesh\":(0,_util.warn)(\"Unimplemented pattern Mesh\");return null;case\"Dummy\":return\"hotpink\";default:throw new Error(\"Unknown IR type: \".concat(args[0]));}}},{key:\"setDash\",value:function setDash(dashArray,dashPhase){this.current.dashArray=dashArray;this.current.dashPhase=dashPhase;}},{key:\"constructPath\",value:function constructPath(ops,args){var current=this.current;var x=current.x,y=current.y;var d=[];var j=0;var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{for(var _iterator6=ops[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){var op=_step6.value;switch(op|0){case _util.OPS.rectangle:x=args[j++];y=args[j++];var width=args[j++];var height=args[j++];var xw=x+width;var yh=y+height;d.push(\"M\",pf(x),pf(y),\"L\",pf(xw),pf(y),\"L\",pf(xw),pf(yh),\"L\",pf(x),pf(yh),\"Z\");break;case _util.OPS.moveTo:x=args[j++];y=args[j++];d.push(\"M\",pf(x),pf(y));break;case _util.OPS.lineTo:x=args[j++];y=args[j++];d.push(\"L\",pf(x),pf(y));break;case _util.OPS.curveTo:x=args[j+4];y=args[j+5];d.push(\"C\",pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3]),pf(x),pf(y));j+=6;break;case _util.OPS.curveTo2:d.push(\"C\",pf(x),pf(y),pf(args[j]),pf(args[j+1]),pf(args[j+2]),pf(args[j+3]));x=args[j+2];y=args[j+3];j+=4;break;case _util.OPS.curveTo3:x=args[j+2];y=args[j+3];d.push(\"C\",pf(args[j]),pf(args[j+1]),pf(x),pf(y),pf(x),pf(y));j+=4;break;case _util.OPS.closePath:d.push(\"Z\");break;}}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6[\"return\"]!=null){_iterator6[\"return\"]();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}d=d.join(\" \");if(current.path&&ops.length>0&&ops[0]!==_util.OPS.rectangle&&ops[0]!==_util.OPS.moveTo){d=current.path.getAttributeNS(null,\"d\")+d;}else{current.path=this.svgFactory.createElement(\"svg:path\");this._ensureTransformGroup().appendChild(current.path);}current.path.setAttributeNS(null,\"d\",d);current.path.setAttributeNS(null,\"fill\",\"none\");current.element=current.path;current.setCurrentPoint(x,y);}},{key:\"endPath\",value:function endPath(){var current=this.current;current.path=null;if(!this.pendingClip){return;}if(!current.element){this.pendingClip=null;return;}var clipId=\"clippath\".concat(clipCount++);var clipPath=this.svgFactory.createElement(\"svg:clipPath\");clipPath.setAttributeNS(null,\"id\",clipId);clipPath.setAttributeNS(null,\"transform\",pm(this.transformMatrix));var clipElement=current.element.cloneNode(true);if(this.pendingClip===\"evenodd\"){clipElement.setAttributeNS(null,\"clip-rule\",\"evenodd\");}else{clipElement.setAttributeNS(null,\"clip-rule\",\"nonzero\");}this.pendingClip=null;clipPath.appendChild(clipElement);this.defs.appendChild(clipPath);if(current.activeClipUrl){current.clipGroup=null;this.extraStack.forEach(function(prev){prev.clipGroup=null;});clipPath.setAttributeNS(null,\"clip-path\",current.activeClipUrl);}current.activeClipUrl=\"url(#\".concat(clipId,\")\");this.tgrp=null;}},{key:\"clip\",value:function clip(type){this.pendingClip=type;}},{key:\"closePath\",value:function closePath(){var current=this.current;if(current.path){var d=\"\".concat(current.path.getAttributeNS(null,\"d\"),\"Z\");current.path.setAttributeNS(null,\"d\",d);}}},{key:\"setLeading\",value:function setLeading(leading){this.current.leading=-leading;}},{key:\"setTextRise\",value:function setTextRise(textRise){this.current.textRise=textRise;}},{key:\"setTextRenderingMode\",value:function setTextRenderingMode(textRenderingMode){this.current.textRenderingMode=textRenderingMode;}},{key:\"setHScale\",value:function setHScale(scale){this.current.textHScale=scale/100;}},{key:\"setRenderingIntent\",value:function setRenderingIntent(intent){}},{key:\"setFlatness\",value:function setFlatness(flatness){}},{key:\"setGState\",value:function setGState(states){var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=states[Symbol.iterator](),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var _step7$value=_slicedToArray(_step7.value,2),key=_step7$value[0],value=_step7$value[1];switch(key){case\"LW\":this.setLineWidth(value);break;case\"LC\":this.setLineCap(value);break;case\"LJ\":this.setLineJoin(value);break;case\"ML\":this.setMiterLimit(value);break;case\"D\":this.setDash(value[0],value[1]);break;case\"RI\":this.setRenderingIntent(value);break;case\"FL\":this.setFlatness(value);break;case\"Font\":this.setFont(value);break;case\"CA\":this.setStrokeAlpha(value);break;case\"ca\":this.setFillAlpha(value);break;default:(0,_util.warn)(\"Unimplemented graphic state operator \".concat(key));break;}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7[\"return\"]!=null){_iterator7[\"return\"]();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}}},{key:\"fill\",value:function fill(){var current=this.current;if(current.element){current.element.setAttributeNS(null,\"fill\",current.fillColor);current.element.setAttributeNS(null,\"fill-opacity\",current.fillAlpha);this.endPath();}}},{key:\"stroke\",value:function stroke(){var current=this.current;if(current.element){this._setStrokeAttributes(current.element);current.element.setAttributeNS(null,\"fill\",\"none\");this.endPath();}}},{key:\"_setStrokeAttributes\",value:function _setStrokeAttributes(element){var lineWidthScale=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var current=this.current;var dashArray=current.dashArray;if(lineWidthScale!==1&&dashArray.length>0){dashArray=dashArray.map(function(value){return lineWidthScale*value;});}element.setAttributeNS(null,\"stroke\",current.strokeColor);element.setAttributeNS(null,\"stroke-opacity\",current.strokeAlpha);element.setAttributeNS(null,\"stroke-miterlimit\",pf(current.miterLimit));element.setAttributeNS(null,\"stroke-linecap\",current.lineCap);element.setAttributeNS(null,\"stroke-linejoin\",current.lineJoin);element.setAttributeNS(null,\"stroke-width\",pf(lineWidthScale*current.lineWidth)+\"px\");element.setAttributeNS(null,\"stroke-dasharray\",dashArray.map(pf).join(\" \"));element.setAttributeNS(null,\"stroke-dashoffset\",pf(lineWidthScale*current.dashPhase)+\"px\");}},{key:\"eoFill\",value:function eoFill(){if(this.current.element){this.current.element.setAttributeNS(null,\"fill-rule\",\"evenodd\");}this.fill();}},{key:\"fillStroke\",value:function fillStroke(){this.stroke();this.fill();}},{key:\"eoFillStroke\",value:function eoFillStroke(){if(this.current.element){this.current.element.setAttributeNS(null,\"fill-rule\",\"evenodd\");}this.fillStroke();}},{key:\"closeStroke\",value:function closeStroke(){this.closePath();this.stroke();}},{key:\"closeFillStroke\",value:function closeFillStroke(){this.closePath();this.fillStroke();}},{key:\"closeEOFillStroke\",value:function closeEOFillStroke(){this.closePath();this.eoFillStroke();}},{key:\"paintSolidColorImageMask\",value:function paintSolidColorImageMask(){var rect=this.svgFactory.createElement(\"svg:rect\");rect.setAttributeNS(null,\"x\",\"0\");rect.setAttributeNS(null,\"y\",\"0\");rect.setAttributeNS(null,\"width\",\"1px\");rect.setAttributeNS(null,\"height\",\"1px\");rect.setAttributeNS(null,\"fill\",this.current.fillColor);this._ensureTransformGroup().appendChild(rect);}},{key:\"paintJpegXObject\",value:function paintJpegXObject(objId,w,h){var imgObj=this.objs.get(objId);var imgEl=this.svgFactory.createElement(\"svg:image\");imgEl.setAttributeNS(XLINK_NS,\"xlink:href\",imgObj.src);imgEl.setAttributeNS(null,\"width\",pf(w));imgEl.setAttributeNS(null,\"height\",pf(h));imgEl.setAttributeNS(null,\"x\",\"0\");imgEl.setAttributeNS(null,\"y\",pf(-h));imgEl.setAttributeNS(null,\"transform\",\"scale(\".concat(pf(1/w),\" \").concat(pf(-1/h),\")\"));this._ensureTransformGroup().appendChild(imgEl);}},{key:\"paintImageXObject\",value:function paintImageXObject(objId){var imgData=this.objs.get(objId);if(!imgData){(0,_util.warn)(\"Dependent image with object ID \".concat(objId,\" is not ready yet\"));return;}this.paintInlineImageXObject(imgData);}},{key:\"paintInlineImageXObject\",value:function paintInlineImageXObject(imgData,mask){var width=imgData.width;var height=imgData.height;var imgSrc=convertImgDataToPng(imgData,this.forceDataSchema,!!mask);var cliprect=this.svgFactory.createElement(\"svg:rect\");cliprect.setAttributeNS(null,\"x\",\"0\");cliprect.setAttributeNS(null,\"y\",\"0\");cliprect.setAttributeNS(null,\"width\",pf(width));cliprect.setAttributeNS(null,\"height\",pf(height));this.current.element=cliprect;this.clip(\"nonzero\");var imgEl=this.svgFactory.createElement(\"svg:image\");imgEl.setAttributeNS(XLINK_NS,\"xlink:href\",imgSrc);imgEl.setAttributeNS(null,\"x\",\"0\");imgEl.setAttributeNS(null,\"y\",pf(-height));imgEl.setAttributeNS(null,\"width\",pf(width)+\"px\");imgEl.setAttributeNS(null,\"height\",pf(height)+\"px\");imgEl.setAttributeNS(null,\"transform\",\"scale(\".concat(pf(1/width),\" \").concat(pf(-1/height),\")\"));if(mask){mask.appendChild(imgEl);}else{this._ensureTransformGroup().appendChild(imgEl);}}},{key:\"paintImageMaskXObject\",value:function paintImageMaskXObject(imgData){var current=this.current;var width=imgData.width;var height=imgData.height;var fillColor=current.fillColor;current.maskId=\"mask\".concat(maskCount++);var mask=this.svgFactory.createElement(\"svg:mask\");mask.setAttributeNS(null,\"id\",current.maskId);var rect=this.svgFactory.createElement(\"svg:rect\");rect.setAttributeNS(null,\"x\",\"0\");rect.setAttributeNS(null,\"y\",\"0\");rect.setAttributeNS(null,\"width\",pf(width));rect.setAttributeNS(null,\"height\",pf(height));rect.setAttributeNS(null,\"fill\",fillColor);rect.setAttributeNS(null,\"mask\",\"url(#\".concat(current.maskId,\")\"));this.defs.appendChild(mask);this._ensureTransformGroup().appendChild(rect);this.paintInlineImageXObject(imgData,mask);}},{key:\"paintFormXObjectBegin\",value:function paintFormXObjectBegin(matrix,bbox){if(Array.isArray(matrix)&&matrix.length===6){this.transform(matrix[0],matrix[1],matrix[2],matrix[3],matrix[4],matrix[5]);}if(bbox){var width=bbox[2]-bbox[0];var height=bbox[3]-bbox[1];var cliprect=this.svgFactory.createElement(\"svg:rect\");cliprect.setAttributeNS(null,\"x\",bbox[0]);cliprect.setAttributeNS(null,\"y\",bbox[1]);cliprect.setAttributeNS(null,\"width\",pf(width));cliprect.setAttributeNS(null,\"height\",pf(height));this.current.element=cliprect;this.clip(\"nonzero\");this.endPath();}}},{key:\"paintFormXObjectEnd\",value:function paintFormXObjectEnd(){}},{key:\"_initialize\",value:function _initialize(viewport){var svg=this.svgFactory.create(viewport.width,viewport.height);var definitions=this.svgFactory.createElement(\"svg:defs\");svg.appendChild(definitions);this.defs=definitions;var rootGroup=this.svgFactory.createElement(\"svg:g\");rootGroup.setAttributeNS(null,\"transform\",pm(viewport.transform));svg.appendChild(rootGroup);this.svg=rootGroup;return svg;}},{key:\"_ensureClipGroup\",value:function _ensureClipGroup(){if(!this.current.clipGroup){var clipGroup=this.svgFactory.createElement(\"svg:g\");clipGroup.setAttributeNS(null,\"clip-path\",this.current.activeClipUrl);this.svg.appendChild(clipGroup);this.current.clipGroup=clipGroup;}return this.current.clipGroup;}},{key:\"_ensureTransformGroup\",value:function _ensureTransformGroup(){if(!this.tgrp){this.tgrp=this.svgFactory.createElement(\"svg:g\");this.tgrp.setAttributeNS(null,\"transform\",pm(this.transformMatrix));if(this.current.activeClipUrl){this._ensureClipGroup().appendChild(this.tgrp);}else{this.svg.appendChild(this.tgrp);}}return this.tgrp;}}]);return SVGGraphics;}();}/***/},/* 208 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFNodeStream=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);var _network_utils=__w_pdfjs_require__(209);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{\"default\":obj};}function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};}return _typeof(obj);}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)===\"object\"||typeof call===\"function\")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function\");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}var fs=__webpack_require__(1);var http=__webpack_require__(2);var https=__webpack_require__(3);var url=__webpack_require__(4);var fileUriRegex=/^file:\\/\\/\\/[a-zA-Z]:\\//;function parseUrl(sourceUrl){var parsedUrl=url.parse(sourceUrl);if(parsedUrl.protocol===\"file:\"||parsedUrl.host){return parsedUrl;}if(/^[a-z]:[/\\\\]/i.test(sourceUrl)){return url.parse(\"file:///\".concat(sourceUrl));}if(!parsedUrl.host){parsedUrl.protocol=\"file:\";}return parsedUrl;}var PDFNodeStream=/*#__PURE__*/function(){function PDFNodeStream(source){_classCallCheck(this,PDFNodeStream);this.source=source;this.url=parseUrl(source.url);this.isHttp=this.url.protocol===\"http:\"||this.url.protocol===\"https:\";this.isFsUrl=this.url.protocol===\"file:\";this.httpHeaders=this.isHttp&&source.httpHeaders||{};this._fullRequestReader=null;this._rangeRequestReaders=[];}_createClass(PDFNodeStream,[{key:\"getFullReader\",value:function getFullReader(){(0,_util.assert)(!this._fullRequestReader);this._fullRequestReader=this.isFsUrl?new PDFNodeStreamFsFullReader(this):new PDFNodeStreamFullReader(this);return this._fullRequestReader;}},{key:\"getRangeReader\",value:function getRangeReader(start,end){if(end<=this._progressiveDataLength){return null;}var rangeReader=this.isFsUrl?new PDFNodeStreamFsRangeReader(this,start,end):new PDFNodeStreamRangeReader(this,start,end);this._rangeRequestReaders.push(rangeReader);return rangeReader;}},{key:\"cancelAllRequests\",value:function cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason);}var readers=this._rangeRequestReaders.slice(0);readers.forEach(function(reader){reader.cancel(reason);});}},{key:\"_progressiveDataLength\",get:function get(){return this._fullRequestReader?this._fullRequestReader._loaded:0;}}]);return PDFNodeStream;}();exports.PDFNodeStream=PDFNodeStream;var BaseFullReader=/*#__PURE__*/function(){function BaseFullReader(stream){_classCallCheck(this,BaseFullReader);this._url=stream.url;this._done=false;this._storedError=null;this.onProgress=null;var source=stream.source;this._contentLength=source.length;this._loaded=0;this._filename=null;this._disableRange=source.disableRange||false;this._rangeChunkSize=source.rangeChunkSize;if(!this._rangeChunkSize&&!this._disableRange){this._disableRange=true;}this._isStreamingSupported=!source.disableStream;this._isRangeSupported=!source.disableRange;this._readableStream=null;this._readCapability=(0,_util.createPromiseCapability)();this._headersCapability=(0,_util.createPromiseCapability)();}_createClass(BaseFullReader,[{key:\"read\",value:function(){var _read=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(){var chunk,buffer;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return this._readCapability.promise;case 2:if(!this._done){_context.next=4;break;}return _context.abrupt(\"return\",{value:undefined,done:true});case 4:if(!this._storedError){_context.next=6;break;}throw this._storedError;case 6:chunk=this._readableStream.read();if(!(chunk===null)){_context.next=10;break;}this._readCapability=(0,_util.createPromiseCapability)();return _context.abrupt(\"return\",this.read());case 10:this._loaded+=chunk.length;if(this.onProgress){this.onProgress({loaded:this._loaded,total:this._contentLength});}buffer=new Uint8Array(chunk).buffer;return _context.abrupt(\"return\",{value:buffer,done:false});case 14:case\"end\":return _context.stop();}}},_callee,this);}));function read(){return _read.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){if(!this._readableStream){this._error(reason);return;}this._readableStream.destroy(reason);}},{key:\"_error\",value:function _error(reason){this._storedError=reason;this._readCapability.resolve();}},{key:\"_setReadableStream\",value:function _setReadableStream(readableStream){var _this=this;this._readableStream=readableStream;readableStream.on(\"readable\",function(){_this._readCapability.resolve();});readableStream.on(\"end\",function(){readableStream.destroy();_this._done=true;_this._readCapability.resolve();});readableStream.on(\"error\",function(reason){_this._error(reason);});if(!this._isStreamingSupported&&this._isRangeSupported){this._error(new _util.AbortException(\"streaming is disabled\"));}if(this._storedError){this._readableStream.destroy(this._storedError);}}},{key:\"headersReady\",get:function get(){return this._headersCapability.promise;}},{key:\"filename\",get:function get(){return this._filename;}},{key:\"contentLength\",get:function get(){return this._contentLength;}},{key:\"isRangeSupported\",get:function get(){return this._isRangeSupported;}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}}]);return BaseFullReader;}();var BaseRangeReader=/*#__PURE__*/function(){function BaseRangeReader(stream){_classCallCheck(this,BaseRangeReader);this._url=stream.url;this._done=false;this._storedError=null;this.onProgress=null;this._loaded=0;this._readableStream=null;this._readCapability=(0,_util.createPromiseCapability)();var source=stream.source;this._isStreamingSupported=!source.disableStream;}_createClass(BaseRangeReader,[{key:\"read\",value:function(){var _read2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(){var chunk,buffer;return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.next=2;return this._readCapability.promise;case 2:if(!this._done){_context2.next=4;break;}return _context2.abrupt(\"return\",{value:undefined,done:true});case 4:if(!this._storedError){_context2.next=6;break;}throw this._storedError;case 6:chunk=this._readableStream.read();if(!(chunk===null)){_context2.next=10;break;}this._readCapability=(0,_util.createPromiseCapability)();return _context2.abrupt(\"return\",this.read());case 10:this._loaded+=chunk.length;if(this.onProgress){this.onProgress({loaded:this._loaded});}buffer=new Uint8Array(chunk).buffer;return _context2.abrupt(\"return\",{value:buffer,done:false});case 14:case\"end\":return _context2.stop();}}},_callee2,this);}));function read(){return _read2.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){if(!this._readableStream){this._error(reason);return;}this._readableStream.destroy(reason);}},{key:\"_error\",value:function _error(reason){this._storedError=reason;this._readCapability.resolve();}},{key:\"_setReadableStream\",value:function _setReadableStream(readableStream){var _this2=this;this._readableStream=readableStream;readableStream.on(\"readable\",function(){_this2._readCapability.resolve();});readableStream.on(\"end\",function(){readableStream.destroy();_this2._done=true;_this2._readCapability.resolve();});readableStream.on(\"error\",function(reason){_this2._error(reason);});if(this._storedError){this._readableStream.destroy(this._storedError);}}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}}]);return BaseRangeReader;}();function createRequestOptions(url,headers){return{protocol:url.protocol,auth:url.auth,host:url.hostname,port:url.port,path:url.path,method:\"GET\",headers:headers};}var PDFNodeStreamFullReader=/*#__PURE__*/function(_BaseFullReader){_inherits(PDFNodeStreamFullReader,_BaseFullReader);function PDFNodeStreamFullReader(stream){var _this3;_classCallCheck(this,PDFNodeStreamFullReader);_this3=_possibleConstructorReturn(this,_getPrototypeOf(PDFNodeStreamFullReader).call(this,stream));var handleResponse=function handleResponse(response){if(response.statusCode===404){var error=new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url,\"\\\".\"));_this3._storedError=error;_this3._headersCapability.reject(error);return;}_this3._headersCapability.resolve();_this3._setReadableStream(response);var getResponseHeader=function getResponseHeader(name){return _this3._readableStream.headers[name.toLowerCase()];};var _validateRangeRequest=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:stream.isHttp,rangeChunkSize:_this3._rangeChunkSize,disableRange:_this3._disableRange}),allowRangeRequests=_validateRangeRequest.allowRangeRequests,suggestedLength=_validateRangeRequest.suggestedLength;_this3._isRangeSupported=allowRangeRequests;_this3._contentLength=suggestedLength||_this3._contentLength;_this3._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader);};_this3._request=null;if(_this3._url.protocol===\"http:\"){_this3._request=http.request(createRequestOptions(_this3._url,stream.httpHeaders),handleResponse);}else{_this3._request=https.request(createRequestOptions(_this3._url,stream.httpHeaders),handleResponse);}_this3._request.on(\"error\",function(reason){_this3._storedError=reason;_this3._headersCapability.reject(reason);});_this3._request.end();return _this3;}return PDFNodeStreamFullReader;}(BaseFullReader);var PDFNodeStreamRangeReader=/*#__PURE__*/function(_BaseRangeReader){_inherits(PDFNodeStreamRangeReader,_BaseRangeReader);function PDFNodeStreamRangeReader(stream,start,end){var _this4;_classCallCheck(this,PDFNodeStreamRangeReader);_this4=_possibleConstructorReturn(this,_getPrototypeOf(PDFNodeStreamRangeReader).call(this,stream));_this4._httpHeaders={};for(var property in stream.httpHeaders){var value=stream.httpHeaders[property];if(typeof value===\"undefined\"){continue;}_this4._httpHeaders[property]=value;}_this4._httpHeaders[\"Range\"]=\"bytes=\".concat(start,\"-\").concat(end-1);var handleResponse=function handleResponse(response){if(response.statusCode===404){var error=new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url,\"\\\".\"));_this4._storedError=error;return;}_this4._setReadableStream(response);};_this4._request=null;if(_this4._url.protocol===\"http:\"){_this4._request=http.request(createRequestOptions(_this4._url,_this4._httpHeaders),handleResponse);}else{_this4._request=https.request(createRequestOptions(_this4._url,_this4._httpHeaders),handleResponse);}_this4._request.on(\"error\",function(reason){_this4._storedError=reason;});_this4._request.end();return _this4;}return PDFNodeStreamRangeReader;}(BaseRangeReader);var PDFNodeStreamFsFullReader=/*#__PURE__*/function(_BaseFullReader2){_inherits(PDFNodeStreamFsFullReader,_BaseFullReader2);function PDFNodeStreamFsFullReader(stream){var _this5;_classCallCheck(this,PDFNodeStreamFsFullReader);_this5=_possibleConstructorReturn(this,_getPrototypeOf(PDFNodeStreamFsFullReader).call(this,stream));var path=decodeURIComponent(_this5._url.path);if(fileUriRegex.test(_this5._url.href)){path=path.replace(/^\\//,\"\");}fs.lstat(path,function(error,stat){if(error){if(error.code===\"ENOENT\"){error=new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path,\"\\\".\"));}_this5._storedError=error;_this5._headersCapability.reject(error);return;}_this5._contentLength=stat.size;_this5._setReadableStream(fs.createReadStream(path));_this5._headersCapability.resolve();});return _this5;}return PDFNodeStreamFsFullReader;}(BaseFullReader);var PDFNodeStreamFsRangeReader=/*#__PURE__*/function(_BaseRangeReader2){_inherits(PDFNodeStreamFsRangeReader,_BaseRangeReader2);function PDFNodeStreamFsRangeReader(stream,start,end){var _this6;_classCallCheck(this,PDFNodeStreamFsRangeReader);_this6=_possibleConstructorReturn(this,_getPrototypeOf(PDFNodeStreamFsRangeReader).call(this,stream));var path=decodeURIComponent(_this6._url.path);if(fileUriRegex.test(_this6._url.href)){path=path.replace(/^\\//,\"\");}_this6._setReadableStream(fs.createReadStream(path,{start:start,end:end-1}));return _this6;}return PDFNodeStreamFsRangeReader;}(BaseRangeReader);/***/},/* 209 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.createResponseStatusError=createResponseStatusError;exports.extractFilenameFromHeader=extractFilenameFromHeader;exports.validateRangeRequestCapabilities=validateRangeRequestCapabilities;exports.validateResponseStatus=validateResponseStatus;var _util=__w_pdfjs_require__(1);var _content_disposition=__w_pdfjs_require__(210);function validateRangeRequestCapabilities(_ref){var getResponseHeader=_ref.getResponseHeader,isHttp=_ref.isHttp,rangeChunkSize=_ref.rangeChunkSize,disableRange=_ref.disableRange;(0,_util.assert)(rangeChunkSize>0,\"Range chunk size must be larger than zero\");var returnValues={allowRangeRequests:false,suggestedLength:undefined};var length=parseInt(getResponseHeader(\"Content-Length\"),10);if(!Number.isInteger(length)){return returnValues;}returnValues.suggestedLength=length;if(length<=2*rangeChunkSize){return returnValues;}if(disableRange||!isHttp){return returnValues;}if(getResponseHeader(\"Accept-Ranges\")!==\"bytes\"){return returnValues;}var contentEncoding=getResponseHeader(\"Content-Encoding\")||\"identity\";if(contentEncoding!==\"identity\"){return returnValues;}returnValues.allowRangeRequests=true;return returnValues;}function extractFilenameFromHeader(getResponseHeader){var contentDisposition=getResponseHeader(\"Content-Disposition\");if(contentDisposition){var filename=(0,_content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);if(filename.includes(\"%\")){try{filename=decodeURIComponent(filename);}catch(ex){}}if(/\\.pdf$/i.test(filename)){return filename;}}return null;}function createResponseStatusError(status,url){if(status===404||status===0&&url.startsWith(\"file:\")){return new _util.MissingPDFException('Missing PDF \"'+url+'\".');}return new _util.UnexpectedResponseException(\"Unexpected server response (\"+status+') while retrieving PDF \"'+url+'\".',status);}function validateResponseStatus(status){return status===200||status===206;}/***/},/* 210 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.getFilenameFromContentDispositionHeader=getFilenameFromContentDispositionHeader;function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)===\"[object Arguments]\")){return;}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i[\"return\"]!=null)_i[\"return\"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function getFilenameFromContentDispositionHeader(contentDisposition){var needsEncodingFixup=true;var tmp=toParamRegExp(\"filename\\\\*\",\"i\").exec(contentDisposition);if(tmp){tmp=tmp[1];var filename=rfc2616unquote(tmp);filename=unescape(filename);filename=rfc5987decode(filename);filename=rfc2047decode(filename);return fixupEncoding(filename);}tmp=rfc2231getparam(contentDisposition);if(tmp){var _filename=rfc2047decode(tmp);return fixupEncoding(_filename);}tmp=toParamRegExp(\"filename\",\"i\").exec(contentDisposition);if(tmp){tmp=tmp[1];var _filename2=rfc2616unquote(tmp);_filename2=rfc2047decode(_filename2);return fixupEncoding(_filename2);}function toParamRegExp(attributePattern,flags){return new RegExp(\"(?:^|;)\\\\s*\"+attributePattern+\"\\\\s*=\\\\s*\"+\"(\"+'[^\";\\\\s][^;\\\\s]*'+\"|\"+'\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?'+\")\",flags);}function textdecode(encoding,value){if(encoding){if(!/^[\\x00-\\xFF]+$/.test(value)){return value;}try{var decoder=new TextDecoder(encoding,{fatal:true});var bytes=Array.from(value,function(ch){return ch.charCodeAt(0)&0xff;});value=decoder.decode(new Uint8Array(bytes));needsEncodingFixup=false;}catch(e){if(/^utf-?8$/i.test(encoding)){try{value=decodeURIComponent(escape(value));needsEncodingFixup=false;}catch(err){}}}}return value;}function fixupEncoding(value){if(needsEncodingFixup&&/[\\x80-\\xff]/.test(value)){value=textdecode(\"utf-8\",value);if(needsEncodingFixup){value=textdecode(\"iso-8859-1\",value);}}return value;}function rfc2231getparam(contentDisposition){var matches=[];var match;var iter=toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\",\"ig\");while((match=iter.exec(contentDisposition))!==null){var _match=match,_match2=_slicedToArray(_match,4),n=_match2[1],quot=_match2[2],part=_match2[3];n=parseInt(n,10);if(n in matches){if(n===0){break;}continue;}matches[n]=[quot,part];}var parts=[];for(var _n2=0;_n2<matches.length;++_n2){if(!(_n2 in matches)){break;}var _matches$_n=_slicedToArray(matches[_n2],2),_quot=_matches$_n[0],_part=_matches$_n[1];_part=rfc2616unquote(_part);if(_quot){_part=unescape(_part);if(_n2===0){_part=rfc5987decode(_part);}}parts.push(_part);}return parts.join(\"\");}function rfc2616unquote(value){if(value.startsWith('\"')){var parts=value.slice(1).split('\\\\\"');for(var i=0;i<parts.length;++i){var quotindex=parts[i].indexOf('\"');if(quotindex!==-1){parts[i]=parts[i].slice(0,quotindex);parts.length=i+1;}parts[i]=parts[i].replace(/\\\\(.)/g,\"$1\");}value=parts.join('\"');}return value;}function rfc5987decode(extvalue){var encodingend=extvalue.indexOf(\"'\");if(encodingend===-1){return extvalue;}var encoding=extvalue.slice(0,encodingend);var langvalue=extvalue.slice(encodingend+1);var value=langvalue.replace(/^[^']*'/,\"\");return textdecode(encoding,value);}function rfc2047decode(value){if(!value.startsWith(\"=?\")||/[\\x00-\\x19\\x80-\\xff]/.test(value)){return value;}return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g,function(_,charset,encoding,text){if(encoding===\"q\"||encoding===\"Q\"){text=text.replace(/_/g,\" \");text=text.replace(/=([0-9a-fA-F]{2})/g,function(_,hex){return String.fromCharCode(parseInt(hex,16));});return textdecode(charset,text);}try{text=atob(text);}catch(e){}return textdecode(charset,text);});}return\"\";}/***/},/* 211 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFNetworkStream=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);var _network_utils=__w_pdfjs_require__(209);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;};var OK_RESPONSE=200;var PARTIAL_CONTENT_RESPONSE=206;function getArrayBuffer(xhr){var data=xhr.response;if(typeof data!==\"string\"){return data;}var array=(0,_util.stringToBytes)(data);return array.buffer;}var NetworkManager=/*#__PURE__*/function(){function NetworkManager(url,args){_classCallCheck(this,NetworkManager);this.url=url;args=args||{};this.isHttp=/^https?:/i.test(url);this.httpHeaders=this.isHttp&&args.httpHeaders||{};this.withCredentials=args.withCredentials||false;this.getXhr=args.getXhr||function NetworkManager_getXhr(){return new XMLHttpRequest();};this.currXhrId=0;this.pendingRequests=Object.create(null);}_createClass(NetworkManager,[{key:\"requestRange\",value:function requestRange(begin,end,listeners){var args={begin:begin,end:end};for(var prop in listeners){args[prop]=listeners[prop];}return this.request(args);}},{key:\"requestFull\",value:function requestFull(listeners){return this.request(listeners);}},{key:\"request\",value:function request(args){var xhr=this.getXhr();var xhrId=this.currXhrId++;var pendingRequest=this.pendingRequests[xhrId]={xhr:xhr};xhr.open(\"GET\",this.url);xhr.withCredentials=this.withCredentials;for(var property in this.httpHeaders){var value=this.httpHeaders[property];if(typeof value===\"undefined\"){continue;}xhr.setRequestHeader(property,value);}if(this.isHttp&&\"begin\"in args&&\"end\"in args){xhr.setRequestHeader(\"Range\",\"bytes=\".concat(args.begin,\"-\").concat(args.end-1));pendingRequest.expectedStatus=PARTIAL_CONTENT_RESPONSE;}else{pendingRequest.expectedStatus=OK_RESPONSE;}xhr.responseType=\"arraybuffer\";if(args.onError){xhr.onerror=function(evt){args.onError(xhr.status);};}xhr.onreadystatechange=this.onStateChange.bind(this,xhrId);xhr.onprogress=this.onProgress.bind(this,xhrId);pendingRequest.onHeadersReceived=args.onHeadersReceived;pendingRequest.onDone=args.onDone;pendingRequest.onError=args.onError;pendingRequest.onProgress=args.onProgress;xhr.send(null);return xhrId;}},{key:\"onProgress\",value:function onProgress(xhrId,evt){var pendingRequest=this.pendingRequests[xhrId];if(!pendingRequest){return;}if(pendingRequest.onProgress){pendingRequest.onProgress(evt);}}},{key:\"onStateChange\",value:function onStateChange(xhrId,evt){var pendingRequest=this.pendingRequests[xhrId];if(!pendingRequest){return;}var xhr=pendingRequest.xhr;if(xhr.readyState>=2&&pendingRequest.onHeadersReceived){pendingRequest.onHeadersReceived();delete pendingRequest.onHeadersReceived;}if(xhr.readyState!==4){return;}if(!(xhrId in this.pendingRequests)){return;}delete this.pendingRequests[xhrId];if(xhr.status===0&&this.isHttp){if(pendingRequest.onError){pendingRequest.onError(xhr.status);}return;}var xhrStatus=xhr.status||OK_RESPONSE;var ok_response_on_range_request=xhrStatus===OK_RESPONSE&&pendingRequest.expectedStatus===PARTIAL_CONTENT_RESPONSE;if(!ok_response_on_range_request&&xhrStatus!==pendingRequest.expectedStatus){if(pendingRequest.onError){pendingRequest.onError(xhr.status);}return;}var chunk=getArrayBuffer(xhr);if(xhrStatus===PARTIAL_CONTENT_RESPONSE){var rangeHeader=xhr.getResponseHeader(\"Content-Range\");var matches=/bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);pendingRequest.onDone({begin:parseInt(matches[1],10),chunk:chunk});}else if(chunk){pendingRequest.onDone({begin:0,chunk:chunk});}else if(pendingRequest.onError){pendingRequest.onError(xhr.status);}}},{key:\"hasPendingRequests\",value:function hasPendingRequests(){for(var xhrId in this.pendingRequests){return true;}return false;}},{key:\"getRequestXhr\",value:function getRequestXhr(xhrId){return this.pendingRequests[xhrId].xhr;}},{key:\"isPendingRequest\",value:function isPendingRequest(xhrId){return xhrId in this.pendingRequests;}},{key:\"abortAllRequests\",value:function abortAllRequests(){for(var xhrId in this.pendingRequests){this.abortRequest(xhrId|0);}}},{key:\"abortRequest\",value:function abortRequest(xhrId){var xhr=this.pendingRequests[xhrId].xhr;delete this.pendingRequests[xhrId];xhr.abort();}}]);return NetworkManager;}();var PDFNetworkStream=/*#__PURE__*/function(){function PDFNetworkStream(source){_classCallCheck(this,PDFNetworkStream);this._source=source;this._manager=new NetworkManager(source.url,{httpHeaders:source.httpHeaders,withCredentials:source.withCredentials});this._rangeChunkSize=source.rangeChunkSize;this._fullRequestReader=null;this._rangeRequestReaders=[];}_createClass(PDFNetworkStream,[{key:\"_onRangeRequestReaderClosed\",value:function _onRangeRequestReaderClosed(reader){var i=this._rangeRequestReaders.indexOf(reader);if(i>=0){this._rangeRequestReaders.splice(i,1);}}},{key:\"getFullReader\",value:function getFullReader(){(0,_util.assert)(!this._fullRequestReader);this._fullRequestReader=new PDFNetworkStreamFullRequestReader(this._manager,this._source);return this._fullRequestReader;}},{key:\"getRangeReader\",value:function getRangeReader(begin,end){var reader=new PDFNetworkStreamRangeRequestReader(this._manager,begin,end);reader.onClosed=this._onRangeRequestReaderClosed.bind(this);this._rangeRequestReaders.push(reader);return reader;}},{key:\"cancelAllRequests\",value:function cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason);}var readers=this._rangeRequestReaders.slice(0);readers.forEach(function(reader){reader.cancel(reason);});}}]);return PDFNetworkStream;}();exports.PDFNetworkStream=PDFNetworkStream;var PDFNetworkStreamFullRequestReader=/*#__PURE__*/function(){function PDFNetworkStreamFullRequestReader(manager,source){_classCallCheck(this,PDFNetworkStreamFullRequestReader);this._manager=manager;var args={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=source.url;this._fullRequestId=manager.requestFull(args);this._headersReceivedCapability=(0,_util.createPromiseCapability)();this._disableRange=source.disableRange||false;this._contentLength=source.length;this._rangeChunkSize=source.rangeChunkSize;if(!this._rangeChunkSize&&!this._disableRange){this._disableRange=true;}this._isStreamingSupported=false;this._isRangeSupported=false;this._cachedChunks=[];this._requests=[];this._done=false;this._storedError=undefined;this._filename=null;this.onProgress=null;}_createClass(PDFNetworkStreamFullRequestReader,[{key:\"_onHeadersReceived\",value:function _onHeadersReceived(){var fullRequestXhrId=this._fullRequestId;var fullRequestXhr=this._manager.getRequestXhr(fullRequestXhrId);var getResponseHeader=function getResponseHeader(name){return fullRequestXhr.getResponseHeader(name);};var _validateRangeRequest=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange}),allowRangeRequests=_validateRangeRequest.allowRangeRequests,suggestedLength=_validateRangeRequest.suggestedLength;if(allowRangeRequests){this._isRangeSupported=true;}this._contentLength=suggestedLength||this._contentLength;this._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader);if(this._isRangeSupported){this._manager.abortRequest(fullRequestXhrId);}this._headersReceivedCapability.resolve();}},{key:\"_onDone\",value:function _onDone(args){if(args){if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:args.chunk,done:false});}else{this._cachedChunks.push(args.chunk);}}this._done=true;if(this._cachedChunks.length>0){return;}this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];}},{key:\"_onError\",value:function _onError(status){var url=this._url;var exception=(0,_network_utils.createResponseStatusError)(status,url);this._storedError=exception;this._headersReceivedCapability.reject(exception);this._requests.forEach(function(requestCapability){requestCapability.reject(exception);});this._requests=[];this._cachedChunks=[];}},{key:\"_onProgress\",value:function _onProgress(data){if(this.onProgress){this.onProgress({loaded:data.loaded,total:data.lengthComputable?data.total:this._contentLength});}}},{key:\"read\",value:function(){var _read=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(){var chunk,requestCapability;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:if(!this._storedError){_context.next=2;break;}throw this._storedError;case 2:if(!(this._cachedChunks.length>0)){_context.next=5;break;}chunk=this._cachedChunks.shift();return _context.abrupt(\"return\",{value:chunk,done:false});case 5:if(!this._done){_context.next=7;break;}return _context.abrupt(\"return\",{value:undefined,done:true});case 7:requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return _context.abrupt(\"return\",requestCapability.promise);case 10:case\"end\":return _context.stop();}}},_callee,this);}));function read(){return _read.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._done=true;this._headersReceivedCapability.reject(reason);this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];if(this._manager.isPendingRequest(this._fullRequestId)){this._manager.abortRequest(this._fullRequestId);}this._fullRequestReader=null;}},{key:\"filename\",get:function get(){return this._filename;}},{key:\"isRangeSupported\",get:function get(){return this._isRangeSupported;}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}},{key:\"contentLength\",get:function get(){return this._contentLength;}},{key:\"headersReady\",get:function get(){return this._headersReceivedCapability.promise;}}]);return PDFNetworkStreamFullRequestReader;}();var PDFNetworkStreamRangeRequestReader=/*#__PURE__*/function(){function PDFNetworkStreamRangeRequestReader(manager,begin,end){_classCallCheck(this,PDFNetworkStreamRangeRequestReader);this._manager=manager;var args={onDone:this._onDone.bind(this),onProgress:this._onProgress.bind(this)};this._requestId=manager.requestRange(begin,end,args);this._requests=[];this._queuedChunk=null;this._done=false;this.onProgress=null;this.onClosed=null;}_createClass(PDFNetworkStreamRangeRequestReader,[{key:\"_close\",value:function _close(){if(this.onClosed){this.onClosed(this);}}},{key:\"_onDone\",value:function _onDone(data){var chunk=data.chunk;if(this._requests.length>0){var requestCapability=this._requests.shift();requestCapability.resolve({value:chunk,done:false});}else{this._queuedChunk=chunk;}this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];this._close();}},{key:\"_onProgress\",value:function _onProgress(evt){if(!this.isStreamingSupported&&this.onProgress){this.onProgress({loaded:evt.loaded});}}},{key:\"read\",value:function(){var _read2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(){var chunk,requestCapability;return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!(this._queuedChunk!==null)){_context2.next=4;break;}chunk=this._queuedChunk;this._queuedChunk=null;return _context2.abrupt(\"return\",{value:chunk,done:false});case 4:if(!this._done){_context2.next=6;break;}return _context2.abrupt(\"return\",{value:undefined,done:true});case 6:requestCapability=(0,_util.createPromiseCapability)();this._requests.push(requestCapability);return _context2.abrupt(\"return\",requestCapability.promise);case 9:case\"end\":return _context2.stop();}}},_callee2,this);}));function read(){return _read2.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){this._done=true;this._requests.forEach(function(requestCapability){requestCapability.resolve({value:undefined,done:true});});this._requests=[];if(this._manager.isPendingRequest(this._requestId)){this._manager.abortRequest(this._requestId);}this._close();}},{key:\"isStreamingSupported\",get:function get(){return false;}}]);return PDFNetworkStreamRangeRequestReader;}();/***/},/* 212 */ /***/function(module,exports,__w_pdfjs_require__){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.PDFFetchStream=void 0;var _regenerator=_interopRequireDefault(__w_pdfjs_require__(191));var _util=__w_pdfjs_require__(1);var _network_utils=__w_pdfjs_require__(209);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"next\",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,\"throw\",err);}_next(undefined);});};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function createFetchOptions(headers,withCredentials,abortController){return{method:\"GET\",headers:headers,signal:abortController&&abortController.signal,mode:\"cors\",credentials:withCredentials?\"include\":\"same-origin\",redirect:\"follow\"};}function createHeaders(httpHeaders){var headers=new Headers();for(var property in httpHeaders){var value=httpHeaders[property];if(typeof value===\"undefined\"){continue;}headers.append(property,value);}return headers;}var PDFFetchStream=/*#__PURE__*/function(){function PDFFetchStream(source){_classCallCheck(this,PDFFetchStream);this.source=source;this.isHttp=/^https?:/i.test(source.url);this.httpHeaders=this.isHttp&&source.httpHeaders||{};this._fullRequestReader=null;this._rangeRequestReaders=[];}_createClass(PDFFetchStream,[{key:\"getFullReader\",value:function getFullReader(){(0,_util.assert)(!this._fullRequestReader);this._fullRequestReader=new PDFFetchStreamReader(this);return this._fullRequestReader;}},{key:\"getRangeReader\",value:function getRangeReader(begin,end){if(end<=this._progressiveDataLength){return null;}var reader=new PDFFetchStreamRangeReader(this,begin,end);this._rangeRequestReaders.push(reader);return reader;}},{key:\"cancelAllRequests\",value:function cancelAllRequests(reason){if(this._fullRequestReader){this._fullRequestReader.cancel(reason);}var readers=this._rangeRequestReaders.slice(0);readers.forEach(function(reader){reader.cancel(reason);});}},{key:\"_progressiveDataLength\",get:function get(){return this._fullRequestReader?this._fullRequestReader._loaded:0;}}]);return PDFFetchStream;}();exports.PDFFetchStream=PDFFetchStream;var PDFFetchStreamReader=/*#__PURE__*/function(){function PDFFetchStreamReader(stream){var _this=this;_classCallCheck(this,PDFFetchStreamReader);this._stream=stream;this._reader=null;this._loaded=0;this._filename=null;var source=stream.source;this._withCredentials=source.withCredentials||false;this._contentLength=source.length;this._headersCapability=(0,_util.createPromiseCapability)();this._disableRange=source.disableRange||false;this._rangeChunkSize=source.rangeChunkSize;if(!this._rangeChunkSize&&!this._disableRange){this._disableRange=true;}if(typeof AbortController!==\"undefined\"){this._abortController=new AbortController();}this._isStreamingSupported=!source.disableStream;this._isRangeSupported=!source.disableRange;this._headers=createHeaders(this._stream.httpHeaders);var url=source.url;fetch(url,createFetchOptions(this._headers,this._withCredentials,this._abortController)).then(function(response){if(!(0,_network_utils.validateResponseStatus)(response.status)){throw(0,_network_utils.createResponseStatusError)(response.status,url);}_this._reader=response.body.getReader();_this._headersCapability.resolve();var getResponseHeader=function getResponseHeader(name){return response.headers.get(name);};var _validateRangeRequest=(0,_network_utils.validateRangeRequestCapabilities)({getResponseHeader:getResponseHeader,isHttp:_this._stream.isHttp,rangeChunkSize:_this._rangeChunkSize,disableRange:_this._disableRange}),allowRangeRequests=_validateRangeRequest.allowRangeRequests,suggestedLength=_validateRangeRequest.suggestedLength;_this._isRangeSupported=allowRangeRequests;_this._contentLength=suggestedLength||_this._contentLength;_this._filename=(0,_network_utils.extractFilenameFromHeader)(getResponseHeader);if(!_this._isStreamingSupported&&_this._isRangeSupported){_this.cancel(new _util.AbortException(\"Streaming is disabled.\"));}})[\"catch\"](this._headersCapability.reject);this.onProgress=null;}_createClass(PDFFetchStreamReader,[{key:\"read\",value:function(){var _read=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee(){var _ref,value,done,buffer;return _regenerator[\"default\"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return this._headersCapability.promise;case 2:_context.next=4;return this._reader.read();case 4:_ref=_context.sent;value=_ref.value;done=_ref.done;if(!done){_context.next=9;break;}return _context.abrupt(\"return\",{value:value,done:done});case 9:this._loaded+=value.byteLength;if(this.onProgress){this.onProgress({loaded:this._loaded,total:this._contentLength});}buffer=new Uint8Array(value).buffer;return _context.abrupt(\"return\",{value:buffer,done:false});case 13:case\"end\":return _context.stop();}}},_callee,this);}));function read(){return _read.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){if(this._reader){this._reader.cancel(reason);}if(this._abortController){this._abortController.abort();}}},{key:\"headersReady\",get:function get(){return this._headersCapability.promise;}},{key:\"filename\",get:function get(){return this._filename;}},{key:\"contentLength\",get:function get(){return this._contentLength;}},{key:\"isRangeSupported\",get:function get(){return this._isRangeSupported;}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}}]);return PDFFetchStreamReader;}();var PDFFetchStreamRangeReader=/*#__PURE__*/function(){function PDFFetchStreamRangeReader(stream,begin,end){var _this2=this;_classCallCheck(this,PDFFetchStreamRangeReader);this._stream=stream;this._reader=null;this._loaded=0;var source=stream.source;this._withCredentials=source.withCredentials||false;this._readCapability=(0,_util.createPromiseCapability)();this._isStreamingSupported=!source.disableStream;if(typeof AbortController!==\"undefined\"){this._abortController=new AbortController();}this._headers=createHeaders(this._stream.httpHeaders);this._headers.append(\"Range\",\"bytes=\".concat(begin,\"-\").concat(end-1));var url=source.url;fetch(url,createFetchOptions(this._headers,this._withCredentials,this._abortController)).then(function(response){if(!(0,_network_utils.validateResponseStatus)(response.status)){throw(0,_network_utils.createResponseStatusError)(response.status,url);}_this2._readCapability.resolve();_this2._reader=response.body.getReader();});this.onProgress=null;}_createClass(PDFFetchStreamRangeReader,[{key:\"read\",value:function(){var _read2=_asyncToGenerator(/*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(){var _ref2,value,done,buffer;return _regenerator[\"default\"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.next=2;return this._readCapability.promise;case 2:_context2.next=4;return this._reader.read();case 4:_ref2=_context2.sent;value=_ref2.value;done=_ref2.done;if(!done){_context2.next=9;break;}return _context2.abrupt(\"return\",{value:value,done:done});case 9:this._loaded+=value.byteLength;if(this.onProgress){this.onProgress({loaded:this._loaded});}buffer=new Uint8Array(value).buffer;return _context2.abrupt(\"return\",{value:buffer,done:false});case 13:case\"end\":return _context2.stop();}}},_callee2,this);}));function read(){return _read2.apply(this,arguments);}return read;}()},{key:\"cancel\",value:function cancel(reason){if(this._reader){this._reader.cancel(reason);}if(this._abortController){this._abortController.abort();}}},{key:\"isStreamingSupported\",get:function get(){return this._isStreamingSupported;}}]);return PDFFetchStreamRangeReader;}();/***/}/******/]));});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"b639\").Buffer, __webpack_require__(\"c8ba\"), __webpack_require__(\"4362\"), __webpack_require__(\"62e4\")(module)))\n\n/***/ }),\n\n/***/ \"8875\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else {}\n}(typeof self !== 'undefined' ? self : this, function () {\n  function getCurrentScript () {\n    var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n    // for chrome\n    if (!descriptor && 'currentScript' in document && document.currentScript) {\n      return document.currentScript\n    }\n\n    // for other browsers with native support for currentScript\n    if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n      return document.currentScript\n    }\n  \n    // IE 8-10 support script readyState\n    // IE 11+ & Firefox support stack trace\n    try {\n      throw new Error();\n    }\n    catch (err) {\n      // Find the second match for the \"at\" string to get file src url from stack.\n      var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n        ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n        stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n        scriptLocation = (stackDetails && stackDetails[1]) || false,\n        line = (stackDetails && stackDetails[2]) || false,\n        currentLocation = document.location.href.replace(document.location.hash, ''),\n        pageSource,\n        inlineScriptSourceRegExp,\n        inlineScriptSource,\n        scripts = document.getElementsByTagName('script'); // Live NodeList collection\n  \n      if (scriptLocation === currentLocation) {\n        pageSource = document.documentElement.outerHTML;\n        inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n        inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n      }\n  \n      for (var i = 0; i < scripts.length; i++) {\n        // If ready state is interactive, return the script tag\n        if (scripts[i].readyState === 'interactive') {\n          return scripts[i];\n        }\n  \n        // If src matches, return the script tag\n        if (scripts[i].src === scriptLocation) {\n          return scripts[i];\n        }\n  \n        // If inline source matches, return the script tag\n        if (\n          scriptLocation === currentLocation &&\n          scripts[i].innerHTML &&\n          scripts[i].innerHTML.trim() === inlineScriptSource\n        ) {\n          return scripts[i];\n        }\n      }\n  \n      // If no match, return null\n      return null;\n    }\n  };\n\n  return getCurrentScript\n}));\n\n\n/***/ }),\n\n/***/ \"88cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _network_utils = __webpack_require__(\"6634\");\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n  var data = xhr.response;\n\n  if (typeof data !== \"string\") {\n    return data;\n  }\n\n  var array = (0, _util.stringToBytes)(data);\n  return array.buffer;\n}\n\nvar NetworkManager = /*#__PURE__*/function () {\n  function NetworkManager(url, args) {\n    _classCallCheck(this, NetworkManager);\n\n    this.url = url;\n    args = args || {};\n    this.isHttp = /^https?:/i.test(url);\n    this.httpHeaders = this.isHttp && args.httpHeaders || {};\n    this.withCredentials = args.withCredentials || false;\n\n    this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n      return new XMLHttpRequest();\n    };\n\n    this.currXhrId = 0;\n    this.pendingRequests = Object.create(null);\n  }\n\n  _createClass(NetworkManager, [{\n    key: \"requestRange\",\n    value: function requestRange(begin, end, listeners) {\n      var args = {\n        begin: begin,\n        end: end\n      };\n\n      for (var prop in listeners) {\n        args[prop] = listeners[prop];\n      }\n\n      return this.request(args);\n    }\n  }, {\n    key: \"requestFull\",\n    value: function requestFull(listeners) {\n      return this.request(listeners);\n    }\n  }, {\n    key: \"request\",\n    value: function request(args) {\n      var xhr = this.getXhr();\n      var xhrId = this.currXhrId++;\n      var pendingRequest = this.pendingRequests[xhrId] = {\n        xhr: xhr\n      };\n      xhr.open(\"GET\", this.url);\n      xhr.withCredentials = this.withCredentials;\n\n      for (var property in this.httpHeaders) {\n        var value = this.httpHeaders[property];\n\n        if (typeof value === \"undefined\") {\n          continue;\n        }\n\n        xhr.setRequestHeader(property, value);\n      }\n\n      if (this.isHttp && \"begin\" in args && \"end\" in args) {\n        xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n        pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n      } else {\n        pendingRequest.expectedStatus = OK_RESPONSE;\n      }\n\n      xhr.responseType = \"arraybuffer\";\n\n      if (args.onError) {\n        xhr.onerror = function (evt) {\n          args.onError(xhr.status);\n        };\n      }\n\n      xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n      xhr.onprogress = this.onProgress.bind(this, xhrId);\n      pendingRequest.onHeadersReceived = args.onHeadersReceived;\n      pendingRequest.onDone = args.onDone;\n      pendingRequest.onError = args.onError;\n      pendingRequest.onProgress = args.onProgress;\n      xhr.send(null);\n      return xhrId;\n    }\n  }, {\n    key: \"onProgress\",\n    value: function onProgress(xhrId, evt) {\n      var pendingRequest = this.pendingRequests[xhrId];\n\n      if (!pendingRequest) {\n        return;\n      }\n\n      if (pendingRequest.onProgress) {\n        pendingRequest.onProgress(evt);\n      }\n    }\n  }, {\n    key: \"onStateChange\",\n    value: function onStateChange(xhrId, evt) {\n      var pendingRequest = this.pendingRequests[xhrId];\n\n      if (!pendingRequest) {\n        return;\n      }\n\n      var xhr = pendingRequest.xhr;\n\n      if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n        pendingRequest.onHeadersReceived();\n        delete pendingRequest.onHeadersReceived;\n      }\n\n      if (xhr.readyState !== 4) {\n        return;\n      }\n\n      if (!(xhrId in this.pendingRequests)) {\n        return;\n      }\n\n      delete this.pendingRequests[xhrId];\n\n      if (xhr.status === 0 && this.isHttp) {\n        if (pendingRequest.onError) {\n          pendingRequest.onError(xhr.status);\n        }\n\n        return;\n      }\n\n      var xhrStatus = xhr.status || OK_RESPONSE;\n      var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n      if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n        if (pendingRequest.onError) {\n          pendingRequest.onError(xhr.status);\n        }\n\n        return;\n      }\n\n      var chunk = getArrayBuffer(xhr);\n\n      if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n        var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n        var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n        pendingRequest.onDone({\n          begin: parseInt(matches[1], 10),\n          chunk: chunk\n        });\n      } else if (chunk) {\n        pendingRequest.onDone({\n          begin: 0,\n          chunk: chunk\n        });\n      } else if (pendingRequest.onError) {\n        pendingRequest.onError(xhr.status);\n      }\n    }\n  }, {\n    key: \"hasPendingRequests\",\n    value: function hasPendingRequests() {\n      for (var xhrId in this.pendingRequests) {\n        return true;\n      }\n\n      return false;\n    }\n  }, {\n    key: \"getRequestXhr\",\n    value: function getRequestXhr(xhrId) {\n      return this.pendingRequests[xhrId].xhr;\n    }\n  }, {\n    key: \"isPendingRequest\",\n    value: function isPendingRequest(xhrId) {\n      return xhrId in this.pendingRequests;\n    }\n  }, {\n    key: \"abortAllRequests\",\n    value: function abortAllRequests() {\n      for (var xhrId in this.pendingRequests) {\n        this.abortRequest(xhrId | 0);\n      }\n    }\n  }, {\n    key: \"abortRequest\",\n    value: function abortRequest(xhrId) {\n      var xhr = this.pendingRequests[xhrId].xhr;\n      delete this.pendingRequests[xhrId];\n      xhr.abort();\n    }\n  }]);\n\n  return NetworkManager;\n}();\n\nvar PDFNetworkStream = /*#__PURE__*/function () {\n  function PDFNetworkStream(source) {\n    _classCallCheck(this, PDFNetworkStream);\n\n    this._source = source;\n    this._manager = new NetworkManager(source.url, {\n      httpHeaders: source.httpHeaders,\n      withCredentials: source.withCredentials\n    });\n    this._rangeChunkSize = source.rangeChunkSize;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFNetworkStream, [{\n    key: \"_onRangeRequestReaderClosed\",\n    value: function _onRangeRequestReaderClosed(reader) {\n      var i = this._rangeRequestReaders.indexOf(reader);\n\n      if (i >= 0) {\n        this._rangeRequestReaders.splice(i, 1);\n      }\n    }\n  }, {\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(begin, end) {\n      var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n      reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n      this._rangeRequestReaders.push(reader);\n\n      return reader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeRequestReaders.slice(0);\n\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }]);\n\n  return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n  function PDFNetworkStreamFullRequestReader(manager, source) {\n    _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n    this._manager = manager;\n    var args = {\n      onHeadersReceived: this._onHeadersReceived.bind(this),\n      onDone: this._onDone.bind(this),\n      onError: this._onError.bind(this),\n      onProgress: this._onProgress.bind(this)\n    };\n    this._url = source.url;\n    this._fullRequestId = manager.requestFull(args);\n    this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n    this._disableRange = source.disableRange || false;\n    this._contentLength = source.length;\n    this._rangeChunkSize = source.rangeChunkSize;\n\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    this._isStreamingSupported = false;\n    this._isRangeSupported = false;\n    this._cachedChunks = [];\n    this._requests = [];\n    this._done = false;\n    this._storedError = undefined;\n    this._filename = null;\n    this.onProgress = null;\n  }\n\n  _createClass(PDFNetworkStreamFullRequestReader, [{\n    key: \"_onHeadersReceived\",\n    value: function _onHeadersReceived() {\n      var fullRequestXhrId = this._fullRequestId;\n\n      var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n      var getResponseHeader = function getResponseHeader(name) {\n        return fullRequestXhr.getResponseHeader(name);\n      };\n\n      var _ref = (0, _network_utils.validateRangeRequestCapabilities)({\n        getResponseHeader: getResponseHeader,\n        isHttp: this._manager.isHttp,\n        rangeChunkSize: this._rangeChunkSize,\n        disableRange: this._disableRange\n      }),\n          allowRangeRequests = _ref.allowRangeRequests,\n          suggestedLength = _ref.suggestedLength;\n\n      if (allowRangeRequests) {\n        this._isRangeSupported = true;\n      }\n\n      this._contentLength = suggestedLength || this._contentLength;\n      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n      if (this._isRangeSupported) {\n        this._manager.abortRequest(fullRequestXhrId);\n      }\n\n      this._headersReceivedCapability.resolve();\n    }\n  }, {\n    key: \"_onDone\",\n    value: function _onDone(args) {\n      if (args) {\n        if (this._requests.length > 0) {\n          var requestCapability = this._requests.shift();\n\n          requestCapability.resolve({\n            value: args.chunk,\n            done: false\n          });\n        } else {\n          this._cachedChunks.push(args.chunk);\n        }\n      }\n\n      this._done = true;\n\n      if (this._cachedChunks.length > 0) {\n        return;\n      }\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n    }\n  }, {\n    key: \"_onError\",\n    value: function _onError(status) {\n      var url = this._url;\n      var exception = (0, _network_utils.createResponseStatusError)(status, url);\n      this._storedError = exception;\n\n      this._headersReceivedCapability.reject(exception);\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.reject(exception);\n      });\n\n      this._requests = [];\n      this._cachedChunks = [];\n    }\n  }, {\n    key: \"_onProgress\",\n    value: function _onProgress(data) {\n      if (this.onProgress) {\n        this.onProgress({\n          loaded: data.loaded,\n          total: data.lengthComputable ? data.total : this._contentLength\n        });\n      }\n    }\n  }, {\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var chunk, requestCapability;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!this._storedError) {\n                  _context.next = 2;\n                  break;\n                }\n\n                throw this._storedError;\n\n              case 2:\n                if (!(this._cachedChunks.length > 0)) {\n                  _context.next = 5;\n                  break;\n                }\n\n                chunk = this._cachedChunks.shift();\n                return _context.abrupt(\"return\", {\n                  value: chunk,\n                  done: false\n                });\n\n              case 5:\n                if (!this._done) {\n                  _context.next = 7;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 7:\n                requestCapability = (0, _util.createPromiseCapability)();\n\n                this._requests.push(requestCapability);\n\n                return _context.abrupt(\"return\", requestCapability.promise);\n\n              case 10:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._done = true;\n\n      this._headersReceivedCapability.reject(reason);\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n\n      if (this._manager.isPendingRequest(this._fullRequestId)) {\n        this._manager.abortRequest(this._fullRequestId);\n      }\n\n      this._fullRequestReader = null;\n    }\n  }, {\n    key: \"filename\",\n    get: function get() {\n      return this._filename;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersReceivedCapability.promise;\n    }\n  }]);\n\n  return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n  function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n    _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n    this._manager = manager;\n    var args = {\n      onDone: this._onDone.bind(this),\n      onProgress: this._onProgress.bind(this)\n    };\n    this._requestId = manager.requestRange(begin, end, args);\n    this._requests = [];\n    this._queuedChunk = null;\n    this._done = false;\n    this.onProgress = null;\n    this.onClosed = null;\n  }\n\n  _createClass(PDFNetworkStreamRangeRequestReader, [{\n    key: \"_close\",\n    value: function _close() {\n      if (this.onClosed) {\n        this.onClosed(this);\n      }\n    }\n  }, {\n    key: \"_onDone\",\n    value: function _onDone(data) {\n      var chunk = data.chunk;\n\n      if (this._requests.length > 0) {\n        var requestCapability = this._requests.shift();\n\n        requestCapability.resolve({\n          value: chunk,\n          done: false\n        });\n      } else {\n        this._queuedChunk = chunk;\n      }\n\n      this._done = true;\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n\n      this._close();\n    }\n  }, {\n    key: \"_onProgress\",\n    value: function _onProgress(evt) {\n      if (!this.isStreamingSupported && this.onProgress) {\n        this.onProgress({\n          loaded: evt.loaded\n        });\n      }\n    }\n  }, {\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var chunk, requestCapability;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                if (!(this._queuedChunk !== null)) {\n                  _context2.next = 4;\n                  break;\n                }\n\n                chunk = this._queuedChunk;\n                this._queuedChunk = null;\n                return _context2.abrupt(\"return\", {\n                  value: chunk,\n                  done: false\n                });\n\n              case 4:\n                if (!this._done) {\n                  _context2.next = 6;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 6:\n                requestCapability = (0, _util.createPromiseCapability)();\n\n                this._requests.push(requestCapability);\n\n                return _context2.abrupt(\"return\", requestCapability.promise);\n\n              case 9:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._done = true;\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n\n      if (this._manager.isPendingRequest(this._requestId)) {\n        this._manager.abortRequest(this._requestId);\n      }\n\n      this._close();\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return false;\n    }\n  }]);\n\n  return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n\n/***/ \"8925\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"c6cd\");\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n\n/***/ \"8962\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"e439\");\n\n__webpack_require__(\"5d41\");\n\nvar superPropBase = __webpack_require__(\"9f70\");\n\nfunction _get(target, property, receiver) {\n  if (typeof Reflect !== \"undefined\" && Reflect.get) {\n    module.exports = _get = Reflect.get;\n  } else {\n    module.exports = _get = function _get(target, property, receiver) {\n      var base = superPropBase(target, property);\n      if (!base) return;\n      var desc = Object.getOwnPropertyDescriptor(base, property);\n\n      if (desc.get) {\n        return desc.get.call(receiver);\n      }\n\n      return desc.value;\n    };\n  }\n\n  return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\n\n/***/ }),\n\n/***/ \"8996\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"e841\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(\"499e\").default\nvar update = add(\"ae064984\", content, true, {\"sourceMap\":false,\"shadowMode\":false});\n\n/***/ }),\n\n/***/ \"8a38\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"841c\");\n\n__webpack_require__(\"1276\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar PDFLinkService = /*#__PURE__*/function () {\n  function PDFLinkService() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        eventBus = _ref.eventBus,\n        _ref$externalLinkTarg = _ref.externalLinkTarget,\n        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n        _ref$externalLinkRel = _ref.externalLinkRel,\n        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n        _ref$externalLinkEnab = _ref.externalLinkEnabled,\n        externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n        _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n        ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n    _classCallCheck(this, PDFLinkService);\n\n    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this.externalLinkTarget = externalLinkTarget;\n    this.externalLinkRel = externalLinkRel;\n    this.externalLinkEnabled = externalLinkEnabled;\n    this._ignoreDestinationZoom = ignoreDestinationZoom;\n    this.baseUrl = null;\n    this.pdfDocument = null;\n    this.pdfViewer = null;\n    this.pdfHistory = null;\n    this._pagesRefCache = null;\n  }\n\n  _createClass(PDFLinkService, [{\n    key: \"setDocument\",\n    value: function setDocument(pdfDocument) {\n      var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      this.baseUrl = baseUrl;\n      this.pdfDocument = pdfDocument;\n      this._pagesRefCache = Object.create(null);\n    }\n  }, {\n    key: \"setViewer\",\n    value: function setViewer(pdfViewer) {\n      this.pdfViewer = pdfViewer;\n    }\n  }, {\n    key: \"setHistory\",\n    value: function setHistory(pdfHistory) {\n      this.pdfHistory = pdfHistory;\n    }\n  }, {\n    key: \"navigateTo\",\n    value: function navigateTo(dest) {\n      var _this = this;\n\n      var goToDestination = function goToDestination(_ref2) {\n        var namedDest = _ref2.namedDest,\n            explicitDest = _ref2.explicitDest;\n        var destRef = explicitDest[0];\n        var pageNumber;\n\n        if (destRef instanceof Object) {\n          pageNumber = _this._cachedPageNumber(destRef);\n\n          if (pageNumber === null) {\n            _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n              _this.cachePageRef(pageIndex + 1, destRef);\n\n              goToDestination({\n                namedDest: namedDest,\n                explicitDest: explicitDest\n              });\n            }).catch(function () {\n              console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n            });\n\n            return;\n          }\n        } else if (Number.isInteger(destRef)) {\n          pageNumber = destRef + 1;\n        } else {\n          console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n          return;\n        }\n\n        if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n          console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n          return;\n        }\n\n        if (_this.pdfHistory) {\n          _this.pdfHistory.pushCurrentPosition();\n\n          _this.pdfHistory.push({\n            namedDest: namedDest,\n            explicitDest: explicitDest,\n            pageNumber: pageNumber\n          });\n        }\n\n        _this.pdfViewer.scrollPageIntoView({\n          pageNumber: pageNumber,\n          destArray: explicitDest,\n          ignoreDestinationZoom: _this._ignoreDestinationZoom\n        });\n      };\n\n      new Promise(function (resolve, reject) {\n        if (typeof dest === \"string\") {\n          _this.pdfDocument.getDestination(dest).then(function (destArray) {\n            resolve({\n              namedDest: dest,\n              explicitDest: destArray\n            });\n          });\n\n          return;\n        }\n\n        resolve({\n          namedDest: \"\",\n          explicitDest: dest\n        });\n      }).then(function (data) {\n        if (!Array.isArray(data.explicitDest)) {\n          console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n          return;\n        }\n\n        goToDestination(data);\n      });\n    }\n  }, {\n    key: \"getDestinationHash\",\n    value: function getDestinationHash(dest) {\n      if (typeof dest === \"string\") {\n        return this.getAnchorUrl(\"#\" + escape(dest));\n      }\n\n      if (Array.isArray(dest)) {\n        var str = JSON.stringify(dest);\n        return this.getAnchorUrl(\"#\" + escape(str));\n      }\n\n      return this.getAnchorUrl(\"\");\n    }\n  }, {\n    key: \"getAnchorUrl\",\n    value: function getAnchorUrl(anchor) {\n      return (this.baseUrl || \"\") + anchor;\n    }\n  }, {\n    key: \"setHash\",\n    value: function setHash(hash) {\n      var pageNumber, dest;\n\n      if (hash.includes(\"=\")) {\n        var params = (0, _ui_utils.parseQueryString)(hash);\n\n        if (\"search\" in params) {\n          this.eventBus.dispatch(\"findfromurlhash\", {\n            source: this,\n            query: params[\"search\"].replace(/\"/g, \"\"),\n            phraseSearch: params[\"phrase\"] === \"true\"\n          });\n        }\n\n        if (\"nameddest\" in params) {\n          this.navigateTo(params.nameddest);\n          return;\n        }\n\n        if (\"page\" in params) {\n          pageNumber = params.page | 0 || 1;\n        }\n\n        if (\"zoom\" in params) {\n          var zoomArgs = params.zoom.split(\",\");\n          var zoomArg = zoomArgs[0];\n          var zoomArgNumber = parseFloat(zoomArg);\n\n          if (!zoomArg.includes(\"Fit\")) {\n            dest = [null, {\n              name: \"XYZ\"\n            }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n          } else {\n            if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n              dest = [null, {\n                name: zoomArg\n              }];\n            } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n              dest = [null, {\n                name: zoomArg\n              }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n            } else if (zoomArg === \"FitR\") {\n              if (zoomArgs.length !== 5) {\n                console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n              } else {\n                dest = [null, {\n                  name: zoomArg\n                }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n              }\n            } else {\n              console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n            }\n          }\n        }\n\n        if (dest) {\n          this.pdfViewer.scrollPageIntoView({\n            pageNumber: pageNumber || this.page,\n            destArray: dest,\n            allowNegativeOffset: true\n          });\n        } else if (pageNumber) {\n          this.page = pageNumber;\n        }\n\n        if (\"pagemode\" in params) {\n          this.eventBus.dispatch(\"pagemode\", {\n            source: this,\n            mode: params.pagemode\n          });\n        }\n      } else {\n        dest = unescape(hash);\n\n        try {\n          dest = JSON.parse(dest);\n\n          if (!Array.isArray(dest)) {\n            dest = dest.toString();\n          }\n        } catch (ex) {}\n\n        if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n          this.navigateTo(dest);\n          return;\n        }\n\n        console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n      }\n    }\n  }, {\n    key: \"executeNamedAction\",\n    value: function executeNamedAction(action) {\n      switch (action) {\n        case \"GoBack\":\n          if (this.pdfHistory) {\n            this.pdfHistory.back();\n          }\n\n          break;\n\n        case \"GoForward\":\n          if (this.pdfHistory) {\n            this.pdfHistory.forward();\n          }\n\n          break;\n\n        case \"NextPage\":\n          if (this.page < this.pagesCount) {\n            this.page++;\n          }\n\n          break;\n\n        case \"PrevPage\":\n          if (this.page > 1) {\n            this.page--;\n          }\n\n          break;\n\n        case \"LastPage\":\n          this.page = this.pagesCount;\n          break;\n\n        case \"FirstPage\":\n          this.page = 1;\n          break;\n\n        default:\n          break;\n      }\n\n      this.eventBus.dispatch(\"namedaction\", {\n        source: this,\n        action: action\n      });\n    }\n  }, {\n    key: \"cachePageRef\",\n    value: function cachePageRef(pageNum, pageRef) {\n      if (!pageRef) {\n        return;\n      }\n\n      var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n      this._pagesRefCache[refStr] = pageNum;\n    }\n  }, {\n    key: \"_cachedPageNumber\",\n    value: function _cachedPageNumber(pageRef) {\n      var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n      return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n    }\n  }, {\n    key: \"isPageVisible\",\n    value: function isPageVisible(pageNumber) {\n      return this.pdfViewer.isPageVisible(pageNumber);\n    }\n  }, {\n    key: \"pagesCount\",\n    get: function get() {\n      return this.pdfDocument ? this.pdfDocument.numPages : 0;\n    }\n  }, {\n    key: \"page\",\n    get: function get() {\n      return this.pdfViewer.currentPageNumber;\n    },\n    set: function set(value) {\n      this.pdfViewer.currentPageNumber = value;\n    }\n  }, {\n    key: \"rotation\",\n    get: function get() {\n      return this.pdfViewer.pagesRotation;\n    },\n    set: function set(value) {\n      this.pdfViewer.pagesRotation = value;\n    }\n  }]);\n\n  return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n  if (!Array.isArray(dest)) {\n    return false;\n  }\n\n  var destLength = dest.length;\n\n  if (destLength < 2) {\n    return false;\n  }\n\n  var page = dest[0];\n\n  if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n    return false;\n  }\n\n  var zoom = dest[1];\n\n  if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n    return false;\n  }\n\n  var allowNull = true;\n\n  switch (zoom.name) {\n    case \"XYZ\":\n      if (destLength !== 5) {\n        return false;\n      }\n\n      break;\n\n    case \"Fit\":\n    case \"FitB\":\n      return destLength === 2;\n\n    case \"FitH\":\n    case \"FitBH\":\n    case \"FitV\":\n    case \"FitBV\":\n      if (destLength !== 3) {\n        return false;\n      }\n\n      break;\n\n    case \"FitR\":\n      if (destLength !== 6) {\n        return false;\n      }\n\n      allowNull = false;\n      break;\n\n    default:\n      return false;\n  }\n\n  for (var i = 2; i < destLength; i++) {\n    var param = dest[i];\n\n    if (!(typeof param === \"number\" || allowNull && param === null)) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n  function SimpleLinkService() {\n    _classCallCheck(this, SimpleLinkService);\n\n    this.externalLinkTarget = null;\n    this.externalLinkRel = null;\n    this.externalLinkEnabled = true;\n    this._ignoreDestinationZoom = false;\n  }\n\n  _createClass(SimpleLinkService, [{\n    key: \"navigateTo\",\n    value: function navigateTo(dest) {}\n  }, {\n    key: \"getDestinationHash\",\n    value: function getDestinationHash(dest) {\n      return \"#\";\n    }\n  }, {\n    key: \"getAnchorUrl\",\n    value: function getAnchorUrl(hash) {\n      return \"#\";\n    }\n  }, {\n    key: \"setHash\",\n    value: function setHash(hash) {}\n  }, {\n    key: \"executeNamedAction\",\n    value: function executeNamedAction(action) {}\n  }, {\n    key: \"cachePageRef\",\n    value: function cachePageRef(pageNum, pageRef) {}\n  }, {\n    key: \"isPageVisible\",\n    value: function isPageVisible(pageNumber) {\n      return true;\n    }\n  }, {\n    key: \"pagesCount\",\n    get: function get() {\n      return 0;\n    }\n  }, {\n    key: \"page\",\n    get: function get() {\n      return 0;\n    },\n    set: function set(value) {}\n  }, {\n    key: \"rotation\",\n    get: function get() {\n      return 0;\n    },\n    set: function set(value) {}\n  }]);\n\n  return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n\n/***/ \"8a59\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Uint8ClampedArray` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n\n\n/***/ }),\n\n/***/ \"8a79\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar toLength = __webpack_require__(\"50c4\");\nvar notARegExp = __webpack_require__(\"5a34\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar correctIsRegExpLogic = __webpack_require__(\"ab13\");\nvar IS_PURE = __webpack_require__(\"c430\");\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n    var search = String(searchString);\n    return nativeEndsWith\n      ? nativeEndsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"8aa5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(\"6547\").charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? charAt(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ \"8aa7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-disable no-new */\nvar global = __webpack_require__(\"da84\");\nvar fails = __webpack_require__(\"d039\");\nvar checkCorrectnessOfIteration = __webpack_require__(\"1c7e\");\nvar NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(\"ebb5\").NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n  Int8Array(1);\n}) || !fails(function () {\n  new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n  new Int8Array();\n  new Int8Array(null);\n  new Int8Array(1.5);\n  new Int8Array(iterable);\n}, true) || fails(function () {\n  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n\n\n/***/ }),\n\n/***/ \"8b09\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Int16Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n  return function Int16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"8ba4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar isInteger = __webpack_require__(\"5e89\");\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n  isInteger: isInteger\n});\n\n\n/***/ }),\n\n/***/ \"8bbf\":\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"9082\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(\"24fb\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(\"1de5\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(\"c2aa\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(\"bdc3\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(\"1db6\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(\"2242\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(\"7637\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(\"4519\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(\"50ba\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = __webpack_require__(\"6d96\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\n// Module\nexports.push([module.i, \".pdf-app .textLayer{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1}.pdf-app .textLayer>span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.pdf-app .textLayer .highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}.pdf-app .textLayer .highlight.begin{border-radius:4px 0 0 4px}.pdf-app .textLayer .highlight.end{border-radius:0 4px 4px 0}.pdf-app .textLayer .highlight.middle{border-radius:0}.pdf-app .textLayer .highlight.selected{background-color:#006400}.pdf-app .textLayer ::-moz-selection{background:#00f}.pdf-app .textLayer ::selection{background:#00f}.pdf-app .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-app .textLayer .endOfContent.active{top:0}.pdf-app .annotationLayer section{position:absolute}.pdf-app .annotationLayer .buttonWidgetAnnotation.pushButton>a,.pdf-app .annotationLayer .linkAnnotation>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.pdf-app .annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,.pdf-app .annotationLayer .linkAnnotation>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.pdf-app .annotationLayer .textAnnotation img{position:absolute;cursor:pointer}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input,.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input,.pdf-app .annotationLayer .choiceWidgetAnnotation select,.pdf-app .annotationLayer .textWidgetAnnotation input,.pdf-app .annotationLayer .textWidgetAnnotation textarea{background-color:rgba(0,54,255,.13);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}.pdf-app .annotationLayer .choiceWidgetAnnotation select option{padding:0}.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.pdf-app .annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],.pdf-app .annotationLayer .choiceWidgetAnnotation select[disabled],.pdf-app .annotationLayer .textWidgetAnnotation input[disabled],.pdf-app .annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input:hover,.pdf-app .annotationLayer .choiceWidgetAnnotation select:hover,.pdf-app .annotationLayer .textWidgetAnnotation input:hover,.pdf-app .annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}.pdf-app .annotationLayer .choiceWidgetAnnotation select:focus,.pdf-app .annotationLayer .textWidgetAnnotation input:focus,.pdf-app .annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:\\\"\\\";display:block;position:absolute}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.pdf-app .annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.pdf-app .annotationLayer .textWidgetAnnotation input.comb:focus{width:115%}.pdf-app .annotationLayer .buttonWidgetAnnotation.checkBox input,.pdf-app .annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}.pdf-app .annotationLayer .popupWrapper{position:absolute;width:20em}.pdf-app .annotationLayer .popup{position:absolute;z-index:200;max-width:20em;background-color:#ff9;box-shadow:0 2px 5px #888;border-radius:2px;padding:6px;margin-left:5px;cursor:pointer;font:message-box;font-size:9px;word-wrap:break-word}.pdf-app .annotationLayer .popup>*{font-size:9px}.pdf-app .annotationLayer .popup h1{display:inline-block}.pdf-app .annotationLayer .popup span{display:inline-block;margin-left:5px}.pdf-app .annotationLayer .popup p{border-top:1px solid #333;margin-top:2px;padding-top:2px}.pdf-app .annotationLayer .caretAnnotation,.pdf-app .annotationLayer .circleAnnotation svg ellipse,.pdf-app .annotationLayer .fileAttachmentAnnotation,.pdf-app .annotationLayer .freeTextAnnotation,.pdf-app .annotationLayer .highlightAnnotation,.pdf-app .annotationLayer .inkAnnotation svg polyline,.pdf-app .annotationLayer .lineAnnotation svg line,.pdf-app .annotationLayer .polygonAnnotation svg polygon,.pdf-app .annotationLayer .polylineAnnotation svg polyline,.pdf-app .annotationLayer .squareAnnotation svg rect,.pdf-app .annotationLayer .squigglyAnnotation,.pdf-app .annotationLayer .stampAnnotation,.pdf-app .annotationLayer .strikeoutAnnotation,.pdf-app .annotationLayer .underlineAnnotation{cursor:pointer}.pdf-app .pdfViewer .canvasWrapper{overflow:hidden}.pdf-app .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:1px auto -8px auto;position:relative;overflow:visible;border:9px solid transparent;background-clip:content-box;-o-border-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 9 9 repeat;border-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") 9 9 repeat;background-color:#fff}.pdf-app .pdfViewer.removePageBorders .page{margin:0 auto 10px auto;border:none}.pdf-app .pdfViewer.singlePageView{display:inline-block}.pdf-app .pdfViewer.singlePageView .page{margin:0;border:none}.pdf-app .pdfViewer.scrollHorizontal,.pdf-app .pdfViewer.scrollWrapped,.pdf-app .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}.pdf-app .pdfViewer.scrollHorizontal,.pdf-app .spread{white-space:nowrap}.pdf-app .pdfViewer.removePageBorders,.pdf-app .pdfViewer.scrollHorizontal .spread,.pdf-app .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}.pdf-app .pdfViewer.scrollHorizontal .page,.pdf-app .pdfViewer.scrollHorizontal .spread,.pdf-app .pdfViewer.scrollWrapped .page,.pdf-app .pdfViewer.scrollWrapped .spread,.pdf-app .spread .page{display:inline-block;vertical-align:middle}.pdf-app .pdfViewer.scrollHorizontal .page,.pdf-app .pdfViewer.scrollWrapped .page,.pdf-app .spread .page{margin-left:-3.5px;margin-right:-3.5px}.pdf-app .pdfViewer.removePageBorders.scrollHorizontal .page,.pdf-app .pdfViewer.removePageBorders.scrollWrapped .page,.pdf-app .pdfViewer.removePageBorders .spread .page{margin-left:5px;margin-right:5px}.pdf-app .pdfViewer .page canvas{margin:0;display:block}.pdf-app .pdfViewer .page canvas[hidden]{display:none}.pdf-app .pdfViewer .page .loadingIcon{position:absolute;display:block;left:0;top:0;right:0;bottom:0;background:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") 50% no-repeat}.pdf-app .pdfPresentationMode .pdfViewer{margin-left:0;margin-right:0}.pdf-app .pdfPresentationMode .pdfViewer .page,.pdf-app .pdfPresentationMode .pdfViewer .spread{display:block}.pdf-app .pdfPresentationMode .pdfViewer .page,.pdf-app .pdfPresentationMode .pdfViewer.removePageBorders .page{margin-left:auto;margin-right:auto}.pdf-app .pdfPresentationMode:-ms-fullscreen .pdfViewer .page{margin-bottom:100%!important}.pdf-app .pdfPresentationMode:-webkit-full-screen .pdfViewer .page{margin-bottom:100%;border:0}.pdf-app .pdfPresentationMode:fullscreen .pdfViewer .page{margin-bottom:100%;border:0}.pdf-app.dark{--pdf-app-background-color:#1d2636;--pdf-sidebar-content-color:rgba(36,54,78,0.5);--pdf-toolbar-sidebar-color:#24364e;--pdf-toolbar-color:#24364e;--pdf-loading-bar-color:#606c88;--pdf-loading-bar-secondary-color:#11ece5;--pdf-find-results-count-color:#d9d9d9;--pdf-find-results-count-font-color:#525252;--pdf-find-message-font-color:#a6b7d0;--pdf-not-found-color:#f66;--pdf-split-toolbar-button-separator-color:#fff;--pdf-toolbar-font-color:#d9d9d9;--pdf-button-hover-font-color:#11ece5;--pdf-button-toggled-color:#606c88;--pdf-horizontal-toolbar-separator-color:#fff;--pdf-input-color:#606c88;--pdf-input-font-color:#d9d9d9;--pdf-find-input-placeholder-font-color:#11ece5;--pdf-thumbnail-selection-ring-color:hsla(0,0%,100%,0.15);--pdf-thumbnail-selection-ring-selected-color:hsla(0,0%,100%,0.3);--pdf-error-wrapper-color:#f55;--pdf-error-more-info-color:#d9d9d9;--pdf-error-more-info-font-color:#000;--pdf-overlay-container-color:rgba(0,0,0,0.2);--pdf-overlay-container-dialog-color:#24364e;--pdf-overlay-container-dialog-font-color:#d9d9d9;--pdf-overlay-container-dialog-separator-color:#fff;--pdf-dialog-button-font-color:#d9d9d9;--pdf-dialog-button-color:#606c88}.pdf-app.light{--pdf-app-background-color:rgba(108,117,125,0.3);--pdf-sidebar-content-color:rgba(108,117,125,0.4);--pdf-toolbar-sidebar-color:rgba(108,117,125,0.7);--pdf-toolbar-color:#6c757d;--pdf-loading-bar-color:#3f4b5b;--pdf-loading-bar-secondary-color:#8dd0ff;--pdf-find-results-count-color:#3f4b5b;--pdf-find-results-count-font-color:hsla(0,0%,100%,0.87);--pdf-find-message-font-color:hsla(0,0%,100%,0.87);--pdf-not-found-color:brown;--pdf-split-toolbar-button-separator-color:#000;--pdf-toolbar-font-color:hsla(0,0%,100%,0.87);--pdf-button-hover-font-color:#8dd0ff;--pdf-button-toggled-color:#3f4b5b;--pdf-horizontal-toolbar-separator-color:#000;--pdf-input-color:#3f4b5b;--pdf-input-font-color:#d9d9d9;--pdf-find-input-placeholder-font-color:#8dd0ff;--pdf-thumbnail-selection-ring-color:rgba(108,117,125,0.7);--pdf-thumbnail-selection-ring-selected-color:#3f4b5b;--pdf-error-wrapper-color:#f55;--pdf-error-more-info-color:#d9d9d9;--pdf-error-more-info-font-color:#000;--pdf-overlay-container-color:rgba(108,117,125,0.7);--pdf-overlay-container-dialog-color:#6c757d;--pdf-overlay-container-dialog-font-color:#d9d9d9;--pdf-overlay-container-dialog-separator-color:#000;--pdf-dialog-button-font-color:#d9d9d9;--pdf-dialog-button-color:#3f4b5b}.pdf-app{background-color:#1d2636}.pdf-app #sidebarContent{background-color:rgba(36,54,78,.5)}.pdf-app #toolbarContainer,.pdf-app #toolbarSidebar,.pdf-app .findbar,.pdf-app .secondaryToolbar{background-color:#24364e}.pdf-app #loadingBar .progress{background-color:#606c88}.pdf-app #loadingBar .progress.indeterminate .glimmer{background:repeating-linear-gradient(135deg,transparent,#11ece5 5px,#11ece5 45px,transparent 55px,transparent 95px,transparent 100px)}.pdf-app #findInput::-moz-placeholder{color:#11ece5}.pdf-app #findInput:-ms-input-placeholder{color:#11ece5}.pdf-app #findInput::placeholder{color:#11ece5}.pdf-app .doorHanger:after,.pdf-app .doorHangerRight:after{border-bottom-color:#24364e}.pdf-app #findResultsCount{background-color:#d9d9d9;color:#525252}.pdf-app #findMsg{color:#a6b7d0}.pdf-app #findInput.notFound{background-color:#f66}.pdf-app .splitToolbarButtonSeparator{background-color:#fff}.pdf-app .dropdownToolbarButton,.pdf-app .overlayButton,.pdf-app .secondaryToolbarButton,.pdf-app .toolbarButton,.vue-pdf-app-icon{color:#d9d9d9}.pdf-app .dialog .overlayButton{background-color:#606c88;color:#d9d9d9}.pdf-app .dropdownToolbarButton:hover,.pdf-app .overlayButton,.pdf-app .secondaryToolbarButton:focus,.pdf-app .secondaryToolbarButton:hover,.pdf-app .toolbarButton:focus,.pdf-app .toolbarButton:hover,.vue-pdf-app-icon:hover{color:#11ece5}.pdf-app .dropdownToolbarButton>select{color:#d9d9d9;background:#24364e}.pdf-app .dropdownToolbarButton>select>option{background:#24364e}.pdf-app .horizontalToolbarSeparator,.pdf-app .verticalToolbarSeparator{background-color:#fff}.pdf-app .toolbarField{background-color:#606c88;color:#d9d9d9}.pdf-app .toolbarLabel{color:#d9d9d9}.pdf-app .thumbnail:hover>.thumbnailSelectionRing,.pdf-app a:focus>.thumbnail>.thumbnailSelectionRing{background-color:hsla(0,0%,100%,.15)}.pdf-app .thumbnail.selected>.thumbnailSelectionRing{background-color:hsla(0,0%,100%,.3)}.pdf-app .attachmentsItem>button,.pdf-app .outlineItem>a{color:#d9d9d9}.pdf-app .attachmentsItem>button:hover,.pdf-app .outlineItem>a:hover,.pdf-app .outlineItemToggler:hover,.pdf-app .outlineItemToggler:hover+a,.pdf-app .outlineItemToggler:hover~.outlineItems{background-color:#606c88}.pdf-app #errorWrapper{background-color:#f55}.pdf-app #errorMoreInfo{background-color:#d9d9d9;color:#000}.pdf-app #overlayContainer{background-color:rgba(0,0,0,.2)}.pdf-app #overlayContainer>.container>.dialog{background-color:#24364e;color:#d9d9d9}.pdf-app .dialog .separator{background-color:#fff}.pdf-app .secondaryToolbarButton.toggled,.pdf-app .splitToolbarButton.toggled>.toolbarButton.toggled,.pdf-app .toolbarButton.toggled{background-color:#606c88}.pdf-app.light{background-color:rgba(108,117,125,.3)}.pdf-app.light #sidebarContent{background-color:rgba(108,117,125,.4)}.pdf-app.light #toolbarSidebar{background-color:rgba(108,117,125,.7)}.pdf-app.light #toolbarContainer,.pdf-app.light .findbar,.pdf-app.light .secondaryToolbar{background-color:#6c757d}.pdf-app.light #loadingBar .progress{background-color:#3f4b5b}.pdf-app.light #loadingBar .progress.indeterminate .glimmer{background:repeating-linear-gradient(135deg,transparent,#8dd0ff 5px,#8dd0ff 45px,transparent 55px,transparent 95px,transparent 100px)}.pdf-app.light #findInput::-moz-placeholder{color:#8dd0ff}.pdf-app.light #findInput:-ms-input-placeholder{color:#8dd0ff}.pdf-app.light #findInput::placeholder{color:#8dd0ff}.pdf-app.light .doorHanger:after,.pdf-app.light .doorHangerRight:after{border-bottom-color:#6c757d}.pdf-app.light #findResultsCount{background-color:#3f4b5b;color:hsla(0,0%,100%,.87)}.pdf-app.light #findMsg{color:hsla(0,0%,100%,.87)}.pdf-app.light #findInput.notFound{background-color:brown}.pdf-app.light .splitToolbarButtonSeparator{background-color:#000}.light .vue-pdf-app-icon,.pdf-app.light .dropdownToolbarButton,.pdf-app.light .overlayButton,.pdf-app.light .secondaryToolbarButton,.pdf-app.light .toolbarButton{color:hsla(0,0%,100%,.87)}.pdf-app.light .dialog .overlayButton{background-color:#3f4b5b;color:#d9d9d9}.light .vue-pdf-app-icon:hover,.pdf-app.light .dropdownToolbarButton:hover,.pdf-app.light .overlayButton,.pdf-app.light .secondaryToolbarButton:focus,.pdf-app.light .secondaryToolbarButton:hover,.pdf-app.light .toolbarButton:focus,.pdf-app.light .toolbarButton:hover{color:#8dd0ff}.pdf-app.light .dropdownToolbarButton>select{color:hsla(0,0%,100%,.87);background:#6c757d}.pdf-app.light .dropdownToolbarButton>select>option{background:#6c757d}.pdf-app.light .horizontalToolbarSeparator,.pdf-app.light .verticalToolbarSeparator{background-color:#000}.pdf-app.light .toolbarField{background-color:#3f4b5b;color:#d9d9d9}.pdf-app.light .toolbarLabel{color:hsla(0,0%,100%,.87)}.pdf-app.light .thumbnail:hover>.thumbnailSelectionRing,.pdf-app.light a:focus>.thumbnail>.thumbnailSelectionRing{background-color:rgba(108,117,125,.7)}.pdf-app.light .thumbnail.selected>.thumbnailSelectionRing{background-color:#3f4b5b}.pdf-app.light .attachmentsItem>button,.pdf-app.light .outlineItem>a{color:hsla(0,0%,100%,.87)}.pdf-app.light .attachmentsItem>button:hover,.pdf-app.light .outlineItem>a:hover,.pdf-app.light .outlineItemToggler:hover,.pdf-app.light .outlineItemToggler:hover+a,.pdf-app.light .outlineItemToggler:hover~.outlineItems{background-color:#3f4b5b}.pdf-app.light #errorWrapper{background-color:#f55}.pdf-app.light #errorMoreInfo{background-color:#d9d9d9;color:#000}.pdf-app.light #overlayContainer{background-color:rgba(108,117,125,.7)}.pdf-app.light #overlayContainer>.container>.dialog{background-color:#6c757d;color:#d9d9d9}.pdf-app.light .dialog .separator{background-color:#000}.pdf-app.light .secondaryToolbarButton.toggled,.pdf-app.light .splitToolbarButton.toggled>.toolbarButton.toggled,.pdf-app.light .toolbarButton.toggled{background-color:#3f4b5b}.pdf-app[class]{background-color:var(--pdf-app-background-color)}.pdf-app[class] #sidebarContent{background-color:var(--pdf-sidebar-content-color)}.pdf-app[class] #toolbarSidebar{background-color:var(--pdf-toolbar-sidebar-color)}.pdf-app[class] #toolbarContainer,.pdf-app[class] .findbar,.pdf-app[class] .secondaryToolbar{background-color:var(--pdf-toolbar-color)}.pdf-app[class] #loadingBar .progress{background-color:var(--pdf-loading-bar-color)}.pdf-app[class] #loadingBar .progress.indeterminate .glimmer{background:repeating-linear-gradient(135deg,transparent,var(--pdf-loading-bar-secondary-color) 5px,var(--pdf-loading-bar-secondary-color) 45px,transparent 55px,transparent 95px,transparent 100px)}.pdf-app[class] #findInput::-moz-placeholder{color:var(--pdf-find-input-placeholder-font-color)}.pdf-app[class] #findInput:-ms-input-placeholder{color:var(--pdf-find-input-placeholder-font-color)}.pdf-app[class] #findInput::placeholder{color:var(--pdf-find-input-placeholder-font-color)}.pdf-app[class] .doorHanger:after,.pdf-app[class] .doorHangerRight:after{border-bottom-color:var(--pdf-toolbar-color)}.pdf-app[class] #findResultsCount{background-color:var(--pdf-find-results-count-color);color:var(--pdf-find-results-count-font-color)}.pdf-app[class] #findMsg{color:var(--pdf-find-message-font-color)}.pdf-app[class] #findInput.notFound{background-color:var(--pdf-not-found-color)}.pdf-app[class] .splitToolbarButtonSeparator{background-color:var(--pdf-split-toolbar-button-separator-color)}.pdf-app[class] .dropdownToolbarButton,.pdf-app[class] .overlayButton,.pdf-app[class] .secondaryToolbarButton,.pdf-app[class] .toolbarButton{color:var(--pdf-toolbar-font-color)}.vue-pdf-app-icon[class]{color:var(--pdf-toolbar-font-color)}.pdf-app[class] .dialog .overlayButton{background-color:var(--pdf-dialog-button-color);color:var(--pdf-dialog-button-font-color)}.pdf-app[class] .dropdownToolbarButton:hover,.pdf-app[class] .overlayButton,.pdf-app[class] .secondaryToolbarButton:focus,.pdf-app[class] .secondaryToolbarButton:hover,.pdf-app[class] .toolbarButton:focus,.pdf-app[class] .toolbarButton:hover,.vue-pdf-app-icon:hover[class]{color:var(--pdf-button-hover-font-color)}.pdf-app[class] .dropdownToolbarButton>select{color:var(--pdf-toolbar-font-color);background:var(--pdf-toolbar-color)}.pdf-app[class] .dropdownToolbarButton>select>option{background:var(--pdf-toolbar-color)}.pdf-app[class] .verticalToolbarSeparator{background-color:var(--pdf-split-toolbar-button-separator-color)}.pdf-app[class] .horizontalToolbarSeparator{background-color:var(--pdf-horizontal-toolbar-separator-color)}.pdf-app[class] .toolbarField{background-color:var(--pdf-input-color);color:var(--pdf-input-font-color)}.pdf-app[class] .toolbarLabel{color:var(--pdf-toolbar-font-color)}.pdf-app[class] .thumbnail:hover>.thumbnailSelectionRing,.pdf-app[class] a:focus>.thumbnail>.thumbnailSelectionRing{background-color:var(--pdf-thumbnail-selection-ring-color)}.pdf-app[class] .thumbnail.selected>.thumbnailSelectionRing{background-color:var(--pdf-thumbnail-selection-ring-selected-color)}.pdf-app[class] .attachmentsItem>button,.pdf-app[class] .outlineItem>a{color:var(--pdf-toolbar-font-color)}.pdf-app[class] .attachmentsItem>button:hover,.pdf-app[class] .outlineItem>a:hover,.pdf-app[class] .outlineItemToggler:hover,.pdf-app[class] .outlineItemToggler:hover+a,.pdf-app[class] .outlineItemToggler:hover~.outlineItems{background-color:var(--pdf-button-toggled-color)}.pdf-app[class] #errorWrapper{background-color:var(--pdf-error-wrapper-color)}.pdf-app[class] #errorMoreInfo{background-color:var(--pdf-error-more-info-color);color:var(--pdf-error-more-info-font-color)}.pdf-app[class] #overlayContainer{background-color:var(--pdf-overlay-container-color)}.pdf-app[class] #overlayContainer>.container>.dialog{background-color:var(--pdf-overlay-container-dialog-color);color:var(--pdf-overlay-container-dialog-font-color)}.pdf-app[class] .dialog .separator{background-color:var(--pdf-overlay-container-dialog-separator-color)}.pdf-app[class] .secondaryToolbarButton.toggled,.pdf-app[class] .splitToolbarButton.toggled>.toolbarButton.toggled,.pdf-app[class] .toolbarButton.toggled{background-color:var(--pdf-button-toggled-color)}:root{--sidebar-width:200px;--sidebar-transition-duration:200ms;--sidebar-transition-timing-function:ease}.pdf-app{height:100%;overflow-x:hidden}.pdf-app *{padding:0;margin:0}.pdf-app #secondaryToolbar button,.pdf-app #sidebarContainer button,.pdf-app #toolbarContainer button{cursor:pointer}.pdf-app #sidebarContainer button[disabled]{cursor:no-drop}.pdf-app #viewBookmark{cursor:pointer}.pdf-app button,.pdf-app input,.pdf-app select{font:message-box;outline:none}.pdf-app .hidden,.pdf-app [hidden]{display:none!important}.pdf-app .pdfViewer.enablePermissions .textLayer>span{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;cursor:not-allowed}.pdf-app #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0!important;overflow:hidden!important}.pdf-app #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop{background-color:#000}.pdf-app #viewerContainer.pdfPresentationMode:-webkit-full-screen{top:0;border-top:2px solid transparent;background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;user-select:none}.pdf-app #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0;border-top:2px solid transparent;background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-ms-user-select:none;user-select:none}.pdf-app #viewerContainer.pdfPresentationMode:fullscreen{top:0;border-top:2px solid transparent;background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-app .pdfPresentationMode:-webkit-full-screen a:not(.internalLink){display:none}.pdf-app .pdfPresentationMode:-ms-fullscreen a:not(.internalLink){display:none}.pdf-app .pdfPresentationMode:fullscreen a:not(.internalLink){display:none}.pdf-app .pdfPresentationMode:-webkit-full-screen .textLayer>span{cursor:none}.pdf-app .pdfPresentationMode:-ms-fullscreen .textLayer>span{cursor:none}.pdf-app .pdfPresentationMode:fullscreen .textLayer>span{cursor:none}.pdf-app .pdfPresentationMode.pdfPresentationModeControls .textLayer>span,.pdf-app .pdfPresentationMode.pdfPresentationModeControls>*{cursor:default}.pdf-app #outerContainer{width:100%;height:100%;position:relative}.pdf-app #sidebarContainer{position:absolute;top:32px;bottom:0;width:200px;width:var(--sidebar-width);visibility:hidden;z-index:100;transition-duration:.2s;transition-duration:var(--sidebar-transition-duration);transition-timing-function:ease;transition-timing-function:var(--sidebar-transition-timing-function)}html[dir=ltr] .pdf-app #sidebarContainer{transition-property:left;left:-200px;left:calc(0px - var(--sidebar-width))}html[dir=rtl] .pdf-app #sidebarContainer{transition-property:right;right:-200px;right:calc(0px - var(--sidebar-width))}.loadingInProgress #sidebarContainer{top:4px}.pdf-app #outerContainer.sidebarResizing #sidebarContainer{transition-duration:0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-app #outerContainer.sidebarMoving #sidebarContainer,.pdf-app #outerContainer.sidebarOpen #sidebarContainer{visibility:visible}html[dir=ltr] .pdf-app #outerContainer.sidebarOpen #sidebarContainer{left:0}html[dir=rtl] .pdf-app #outerContainer.sidebarOpen #sidebarContainer{right:0}.pdf-app #mainContainer{position:absolute;top:0;right:0;bottom:0;left:0}.pdf-app #sidebarContent{top:32px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;width:100%}html[dir=ltr] .pdf-app #sidebarContent{left:0;box-shadow:inset -1px 0 0 rgba(0,0,0,.25)}html[dir=rtl] .pdf-app #sidebarContent{right:0;box-shadow:inset 1px 0 0 rgba(0,0,0,.25)}.pdf-app #viewerContainer{overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;top:32px;right:0;bottom:0;left:0;outline:none}.pdf-app #viewerContainer:not(.pdfPresentationMode){transition-duration:.2s;transition-duration:var(--sidebar-transition-duration);transition-timing-function:ease;transition-timing-function:var(--sidebar-transition-timing-function)}html[dir=ltr] .pdf-app #viewerContainer{box-shadow:inset 1px 0 0 hsla(0,0%,100%,.05)}html[dir=rtl] .pdf-app #viewerContainer{box-shadow:inset -1px 0 0 hsla(0,0%,100%,.05)}.pdf-app #outerContainer.sidebarResizing #viewerContainer{transition-duration:0s}html[dir=ltr] .pdf-app #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:left;left:200px;left:var(--sidebar-width)}html[dir=rtl] .pdf-app #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:right;right:200px;right:var(--sidebar-width)}.pdf-app .toolbar{position:relative;left:0;right:0;z-index:9999;cursor:default}.pdf-app #toolbarContainer{width:100%}.pdf-app #toolbarSidebar{width:100%;height:32px}html[dir=ltr] .pdf-app #toolbarSidebar{box-shadow:inset -1px 0 0 rgba(0,0,0,.25),inset 0 -1px 0 hsla(0,0%,100%,.05),0 1px 0 rgba(0,0,0,.15),0 0 1px rgba(0,0,0,.1)}html[dir=rtl] .pdf-app #toolbarSidebar{box-shadow:inset 1px 0 0 rgba(0,0,0,.25),inset 0 1px 0 hsla(0,0%,100%,.05),0 1px 0 rgba(0,0,0,.15),0 0 1px rgba(0,0,0,.1)}.pdf-app #sidebarResizer{position:absolute;top:0;bottom:0;width:6px;z-index:200;cursor:ew-resize}html[dir=ltr] .pdf-app #sidebarResizer{right:-6px}html[dir=rtl] .pdf-app #sidebarResizer{left:-6px}.pdf-app #toolbarContainer,.pdf-app .findbar,.pdf-app .secondaryToolbar{position:relative;height:32px}.pdf-app .findbar,.pdf-app .secondaryToolbar,html[dir=ltr] .pdf-app #toolbarContainer{box-shadow:inset 0 1px 1px rgba(0,0,0,.15),inset 0 -1px 0 hsla(0,0%,100%,.05),0 1px 0 rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.1)}.pdf-app .findbar,.pdf-app .secondaryToolbar,html[dir=rtl] .pdf-app #toolbarContainer{box-shadow:inset 0 1px 1px rgba(0,0,0,.15),inset 0 -1px 0 hsla(0,0%,100%,.05),0 1px 0 rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.1)}.pdf-app #toolbarViewer{height:32px}.pdf-app #loadingBar{position:relative;width:100%;height:4px}.pdf-app #loadingBar .progress{position:absolute;top:0;left:0;width:0;height:100%;overflow:hidden;transition:width .2s}@-webkit-keyframes progressIndeterminate{0%{left:-142px}to{left:0}}@keyframes progressIndeterminate{0%{left:-142px}to{left:0}}.pdf-app #loadingBar .progress.indeterminate .glimmer{position:absolute;top:0;left:0;height:100%;width:calc(100% + 150px);-webkit-animation:progressIndeterminate .95s linear infinite;animation:progressIndeterminate .95s linear infinite}.pdf-app .findbar,.pdf-app .secondaryToolbar{top:32px;position:absolute;z-index:10000;height:auto;min-width:16px;padding:0 6px 0 6px;margin:4px 2px 4px 2px;font-size:12px;line-height:14px;text-align:left;cursor:default}.pdf-app .findbar{min-width:300px}.pdf-app .findbar>div{height:32px}.pdf-app .findbar.wrapContainers>div{clear:both}.pdf-app .findbar.wrapContainers>div#findbarMessageContainer{height:auto}html[dir=ltr] .pdf-app .findbar{left:68px}html[dir=rtl] .pdf-app .findbar{right:68px}.pdf-app .findbar label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-app #findInput{width:200px}.pdf-app #findInput::-moz-placeholder{font-style:italic}.pdf-app #findInput:-ms-input-placeholder{font-style:italic}.pdf-app #findInput::placeholder{font-style:italic}.pdf-app #findInput[data-status=pending]{background-size:16px;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-repeat:no-repeat;background-position:100%}html[dir=rtl] .pdf-app #findInput[data-status=pending]{background-position:0}.pdf-app .secondaryToolbar{padding:6px;height:auto;z-index:30000}html[dir=ltr] .pdf-app .secondaryToolbar{right:4px}html[dir=rtl] .pdf-app .secondaryToolbar{left:4px}.pdf-app #secondaryToolbarButtonContainer{max-width:200px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-bottom:-4px}.pdf-app #secondaryToolbarButtonContainer.hiddenScrollModeButtons>.scrollModeButtons,.pdf-app #secondaryToolbarButtonContainer.hiddenSpreadModeButtons>.spreadModeButtons{display:none!important}.pdf-app .doorHanger,.pdf-app .doorHangerRight{border:1px solid rgba(0,0,0,.5);border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.3)}.pdf-app .doorHanger:after,.pdf-app .doorHanger:before,.pdf-app .doorHangerRight:after,.pdf-app .doorHangerRight:before{bottom:100%;border:solid transparent;content:\\\" \\\";height:0;width:0;position:absolute;pointer-events:none}.pdf-app .doorHanger:after,.pdf-app .doorHangerRight:after{border-width:8px}.pdf-app .doorHanger:before,.pdf-app .doorHangerRight:before{border-bottom-color:rgba(0,0,0,.5);border-width:9px}html[dir=ltr] .pdf-app .doorHanger:after,html[dir=rtl] .pdf-app .doorHangerRight:after{left:13px;margin-left:-8px}html[dir=ltr] .pdf-app .doorHanger:before,html[dir=rtl] .pdf-app .doorHangerRight:before{left:13px;margin-left:-9px}html[dir=ltr] .pdf-app .doorHangerRight:after,html[dir=rtl] .pdf-app .doorHanger:after{right:13px;margin-right:-8px}html[dir=ltr] .pdf-app .doorHangerRight:before,html[dir=rtl] .pdf-app .doorHanger:before{right:13px;margin-right:-9px}.pdf-app #findResultsCount{text-align:center;padding:3px 4px}.pdf-app #findMsg{font-style:italic}.pdf-app #findMsg:empty{display:none}.pdf-app #toolbarViewerMiddle{position:absolute;left:50%;transform:translateX(-50%)}html[dir=ltr] .pdf-app #toolbarViewerLeft,html[dir=rtl] .pdf-app #toolbarViewerRight{float:left}html[dir=ltr] .pdf-app #toolbarViewerRight,html[dir=rtl] .pdf-app #toolbarViewerLeft{float:right}html[dir=ltr] .pdf-app #toolbarViewerLeft>*,html[dir=ltr] .pdf-app #toolbarViewerMiddle>*,html[dir=ltr] .pdf-app #toolbarViewerRight>*,html[dir=ltr] .pdf-app .findbar *{position:relative;float:left}html[dir=rtl] .pdf-app #toolbarViewerLeft>*,html[dir=rtl] .pdf-app #toolbarViewerMiddle>*,html[dir=rtl] .pdf-app #toolbarViewerRight>*,html[dir=rtl] .pdf-app .findbar *{position:relative;float:right}html[dir=ltr] .pdf-app .splitToolbarButton{margin:3px 2px 4px 0;display:inline-block}html[dir=rtl] .pdf-app .splitToolbarButton{margin:3px 0 4px 2px;display:inline-block}html[dir=ltr] .pdf-app .splitToolbarButton>.toolbarButton{border-radius:0;float:left}html[dir=rtl] .pdf-app .splitToolbarButton>.toolbarButton{border-radius:0;float:right}.pdf-app .overlayButton,.pdf-app .secondaryToolbarButton,.pdf-app .toolbarButton,.vue-pdf-app-icon{border:0 none;background:none}.pdf-app .overlayButton,.pdf-app .secondaryToolbarButton,.pdf-app .toolbarButton{width:32px;height:25px}.pdf-app .toolbarButton>span{display:inline-block;width:0;height:0;overflow:hidden}.pdf-app .overlayButton[disabled],.pdf-app .secondaryToolbarButton[disabled],.pdf-app .toolbarButton[disabled]{opacity:.5}.pdf-app .splitToolbarButton.toggled .toolbarButton{margin:0}.pdf-app .splitToolbarButton>.toolbarButton{position:relative}html[dir=ltr] .pdf-app .splitToolbarButton>.toolbarButton:first-child,html[dir=rtl] .pdf-app .splitToolbarButton>.toolbarButton:last-child{position:relative;margin:0;margin-right:-1px;border-top-left-radius:2px;border-bottom-left-radius:2px;border-right-color:transparent}html[dir=ltr] .pdf-app .splitToolbarButton>.toolbarButton:last-child,html[dir=rtl] .pdf-app .splitToolbarButton>.toolbarButton:first-child{position:relative;margin:0;margin-left:-1px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-left-color:transparent}.pdf-app .splitToolbarButtonSeparator{padding:8px 0;width:1px;z-index:99;display:inline-block;margin:5px 0}html[dir=ltr] .pdf-app .splitToolbarButtonSeparator{float:left}html[dir=rtl] .pdf-app .splitToolbarButtonSeparator{float:right}.pdf-app .splitToolbarButton.toggled>.splitToolbarButtonSeparator,.pdf-app .splitToolbarButton:hover>.splitToolbarButtonSeparator{padding:12px 0;margin:1px 0}.pdf-app .dropdownToolbarButton,.pdf-app .overlayButton,.pdf-app .secondaryToolbarButton,.pdf-app .toolbarButton{min-width:16px;padding:2px 6px 0;font-size:12px;line-height:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pdf-app .findbar .toolbarButton,.vue-pdf-app-icon{cursor:pointer}.pdf-app .dialog .overlayButton{cursor:pointer;border-radius:2px}html[dir=ltr] .pdf-app .dropdownToolbarButton,html[dir=ltr] .pdf-app .overlayButton,html[dir=ltr] .pdf-app .toolbarButton{margin:3px 2px 4px 0}html[dir=rtl] .pdf-app .dropdownToolbarButton,html[dir=rtl] .pdf-app .overlayButton,html[dir=rtl] .pdf-app .toolbarButton{margin:3px 0 4px 2px}.pdf-app .dropdownToolbarButton select:hover{cursor:pointer}.pdf-app .secondaryToolbarButton.toggled,.pdf-app .splitToolbarButton.toggled>.toolbarButton.toggled,.pdf-app .toolbarButton.toggled{border-radius:3px}.pdf-app .dropdownToolbarButton{width:140px;padding:0;overflow:hidden}.pdf-app .dropdownToolbarButton:after{position:absolute;display:inline-block;top:6px}html[dir=ltr] .pdf-app .dropdownToolbarButton:after{right:0}html[dir=rtl] .pdf-app .dropdownToolbarButton:after{left:0}.pdf-app .dropdownToolbarButton>select{width:162px;height:23px;font-size:12px;margin:0;padding:3px 2px 2px;border:none}.pdf-app #customScaleOption{display:none}.pdf-app .toolbarButtonSpacer{width:30px;display:inline-block;height:1px}.pdf-app .secondaryToolbarButton.bookmark,.pdf-app .toolbarButton.bookmark{box-sizing:border-box;outline:none;padding-top:4px;text-decoration:none}.pdf-app .secondaryToolbarButton.bookmark{padding-top:5px}.pdf-app .bookmark[href=\\\"#\\\"]{opacity:.5;pointer-events:none}.pdf-app .toolbarButton.pdfSidebarNotification:after{position:absolute;display:inline-block;top:1px;content:\\\"\\\";background-color:#70db55;height:9px;width:9px;border-radius:50%}html[dir=ltr] .pdf-app .toolbarButton.pdfSidebarNotification:after{left:17px}html[dir=rtl] .pdf-app .toolbarButton.pdfSidebarNotification:after{right:17px}.pdf-app .secondaryToolbarButton{position:relative;margin:0 0 4px 0;padding:3px 0 1px 0;height:auto;min-height:25px;width:auto;min-width:100%;white-space:normal}.pdf-app .secondaryToolbarButton>span{vertical-align:top}html[dir=ltr] .pdf-app .secondaryToolbarButton{padding-left:14px;text-align:left}html[dir=rtl] .pdf-app .secondaryToolbarButton{padding-right:14px;text-align:right}html[dir=ltr] .pdf-app .secondaryToolbarButton>span{padding-left:8px}html[dir=rtl] .pdf-app .secondaryToolbarButton>span{padding-right:8px}html[dir=rtl] .pdf-app .secondaryToolbarButton:before{float:right}.pdf-app .verticalToolbarSeparator{display:block;padding:8px 0;margin:8px 4px;width:1px}html[dir=ltr] .pdf-app .verticalToolbarSeparator{margin-left:2px}html[dir=rtl] .pdf-app .verticalToolbarSeparator{margin-right:2px}.pdf-app .horizontalToolbarSeparator{display:block;margin:0 0 4px 0;height:1px;width:100%}.pdf-app .toolbarField{padding:3px 6px;margin:4px 0 4px 0;border-radius:2px;border-width:1px;border-style:solid;border-color:rgba(0,0,0,.32) rgba(0,0,0,.38) rgba(0,0,0,.42);font-size:12px;line-height:14px;outline-style:none}.pdf-app .toolbarField[type=checkbox]{display:inline-block;margin:8px 0;cursor:pointer}.pdf-app .toolbarField[type=checkbox]+label{cursor:pointer}.pdf-app .toolbarField.pageNumber{-moz-appearance:textfield;min-width:16px;text-align:right;width:40px}.pdf-app .toolbarField.pageNumber.visiblePageIsLoading{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-repeat:no-repeat;background-position:1px;background-size:16px}.pdf-app .toolbarField.pageNumber::-webkit-inner-spin-button,.pdf-app .toolbarField.pageNumber::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdf-app .toolbarLabel{min-width:16px;padding:3px 6px 3px 2px;margin:4px 2px 4px 0;border:1px solid transparent;border-radius:2px;font-size:12px;line-height:14px;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pdf-app #thumbnailView{position:absolute;width:calc(100% - 60px);top:0;bottom:0;padding:10px 30px 0;overflow:auto;-webkit-overflow-scrolling:touch}.pdf-app #thumbnailView>a:active,.pdf-app #thumbnailView>a:focus{outline:0}.pdf-app .thumbnail{margin:0 10px 5px 10px}html[dir=ltr] .pdf-app .thumbnail{float:left}html[dir=rtl] .pdf-app .thumbnail{float:right}.pdf-app #thumbnailView>a:last-of-type>.thumbnail{margin-bottom:10px}.pdf-app #thumbnailView>a:last-of-type>.thumbnail:not([data-loaded]){margin-bottom:9px}.pdf-app .thumbnail:not([data-loaded]){border:1px dashed hsla(0,0%,100%,.5);margin:-1px 9px 4px 9px}.pdf-app .thumbnailImage{border:1px solid transparent;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);opacity:.8;z-index:99;background-color:#fff;background-clip:content-box}.pdf-app .thumbnailSelectionRing{border-radius:2px;padding:7px}.pdf-app .thumbnail:hover>.thumbnailSelectionRing>.thumbnailImage,.pdf-app a:focus>.thumbnail>.thumbnailSelectionRing>.thumbnailImage{opacity:.9}.pdf-app #attachmentsView,.pdf-app #outlineView{position:absolute;width:calc(100% - 8px);top:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-app #outlineView{padding:4px 4px 0}.pdf-app #attachmentsView{padding:3px 4px 0}html[dir=ltr] .pdf-app .outlineItem>.outlineItems,html[dir=ltr] .pdf-app .outlineWithDeepNesting>.outlineItem{margin-left:20px}html[dir=rtl] .pdf-app .outlineItem>.outlineItems,html[dir=rtl] .pdf-app .outlineWithDeepNesting>.outlineItem{margin-right:20px}.pdf-app .attachmentsItem>button,.pdf-app .outlineItem>a{text-decoration:none;display:inline-block;min-width:95%;min-width:calc(100% - 4px);height:auto;margin-bottom:1px;border-radius:2px;font-size:13px;line-height:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal}.pdf-app .attachmentsItem>button{border:0 none;background:none;cursor:pointer;width:100%}html[dir=ltr] .pdf-app .outlineItem>a{padding:2px 0 5px 4px}html[dir=ltr] .pdf-app .attachmentsItem>button{padding:2px 0 3px 7px;text-align:left}html[dir=rtl] .pdf-app .outlineItem>a{padding:2px 4px 5px 0}html[dir=rtl] .pdf-app .attachmentsItem>button{padding:2px 7px 3px 0;text-align:right}.pdf-app .outlineItemToggler{position:relative;height:0;width:0;color:hsla(0,0%,100%,.5)}.pdf-app .outlineItemToggler:before{content:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \");display:inline-block;position:absolute}.pdf-app .outlineItemToggler.outlineItemsHidden:before{content:url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \")}html[dir=rtl] .pdf-app .outlineItemToggler.outlineItemsHidden:before{transform:scaleX(-1)}.pdf-app .outlineItemToggler.outlineItemsHidden~.outlineItems{display:none}html[dir=ltr] .pdf-app .outlineItemToggler{float:left}html[dir=rtl] .pdf-app .outlineItemToggler{float:right}html[dir=ltr] .pdf-app .outlineItemToggler:before{right:4px}html[dir=rtl] .pdf-app .outlineItemToggler:before{left:4px}.pdf-app .attachmentsItem>button:hover,.pdf-app .outlineItem>a:hover,.pdf-app .outlineItemToggler:hover,.pdf-app .outlineItemToggler:hover+a,.pdf-app .outlineItemToggler:hover~.outlineItems{border-radius:2px}.pdf-app .noResults{font-size:12px;color:hsla(0,0%,100%,.8);font-style:italic;cursor:default}.pdf-app ::-moz-selection{background:rgba(0,0,255,.3)}.pdf-app ::selection{background:rgba(0,0,255,.3)}.pdf-app #errorWrapper{color:#fff;left:0;position:absolute;right:0;z-index:1000;padding:3px;font-size:.8em}.loadingInProgress #errorWrapper{top:4px}.pdf-app #errorMessageLeft{float:left}.pdf-app #errorMessageRight{float:right}.pdf-app #errorMoreInfo{padding:3px;margin:3px;width:98%}.pdf-app .overlayButton{width:auto;margin:3px 4px 2px 4px!important;padding:2px 6px 3px 6px}.pdf-app #overlayContainer{display:table;position:absolute;width:100%;height:100%;z-index:40000}.pdf-app #overlayContainer>*{overflow:auto;-webkit-overflow-scrolling:touch}.pdf-app #overlayContainer>.container{display:table-cell;vertical-align:middle;text-align:center}.pdf-app #overlayContainer>.container>.dialog{display:inline-block;padding:15px;border-spacing:4px;font-size:12px;line-height:14px;border:1px solid rgba(0,0,0,.5);border-radius:4px}.pdf-app .dialog>.row{display:table-row}.pdf-app .dialog>.row>*{display:table-cell}.pdf-app .dialog .toolbarField{margin:5px 0}.pdf-app .dialog .separator{display:block;margin:4px 0 4px 0;height:1px;width:100%}.pdf-app .dialog .buttonRow{text-align:center;vertical-align:middle}.pdf-app .dialog :link{color:#fff}.pdf-app #passwordOverlay>.dialog{text-align:center}.pdf-app #passwordOverlay .toolbarField{width:200px}.pdf-app #documentPropertiesOverlay>.dialog{text-align:left}.pdf-app #documentPropertiesOverlay .row>*{min-width:100px}html[dir=ltr] .pdf-app #documentPropertiesOverlay .row>*{text-align:left}html[dir=rtl] .pdf-app #documentPropertiesOverlay .row>*{text-align:right}.pdf-app #documentPropertiesOverlay .row>span{width:125px;word-wrap:break-word}.pdf-app #documentPropertiesOverlay .row>p{max-width:225px;word-wrap:break-word}.pdf-app #documentPropertiesOverlay .buttonRow{margin-top:10px}.pdf-app .clearBoth{clear:both}.fileInput{display:none}.pdf-app #PDFBug{background:none repeat scroll 0 0 #fff;border:1px solid #666;position:fixed;top:32px;right:0;bottom:0;font-size:10px;padding:0;width:300px}.pdf-app #PDFBug .controls{background:#eee;border-bottom:1px solid #666;padding:3px}.pdf-app #PDFBug .panels{bottom:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;right:0;top:27px}.pdf-app #PDFBug .panels>div{padding:5px}.pdf-app #PDFBug button.active{font-weight:700}.pdf-app .debuggerShowText{background:none repeat scroll 0 0 #ff0;color:#00f}.pdf-app .debuggerHideText:hover{background:none repeat scroll 0 0 #ff0}.pdf-app #PDFBug .stats{font-family:courier;font-size:10px;white-space:pre}.pdf-app #PDFBug .stats .title{font-weight:700}.pdf-app #PDFBug table{font-size:10px}.pdf-app #viewer.textLayer-visible .textLayer{opacity:1}.pdf-app #viewer.textLayer-visible .canvasWrapper{background-color:#80ff80}.pdf-app #viewer.textLayer-visible .canvasWrapper canvas{mix-blend-mode:screen}.pdf-app #viewer.textLayer-visible .textLayer>span{background-color:rgba(255,255,0,.1);color:#000;border:1px solid rgba(255,0,0,.5);box-sizing:border-box}.pdf-app #viewer.textLayer-hover .textLayer>span:hover{background-color:#fff;color:#000}.pdf-app #viewer.textLayer-shadow .textLayer>span{background-color:hsla(0,0%,100%,.6);color:#000}.pdf-app .grab-to-pan-grab{cursor:url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \"),move!important;cursor:-webkit-grab!important;cursor:grab!important}.pdf-app .grab-to-pan-grab :not(input):not(textarea):not(button):not(select):not(:link){cursor:inherit!important}.grab-to-pan-grabbing,.pdf-app .grab-to-pan-grab:active{cursor:url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \"),move!important;cursor:-webkit-grabbing!important;cursor:grabbing!important;position:fixed;background:transparent;display:block;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:50000}@page{margin:0}#printContainer{display:none}@media screen and (-webkit-min-device-pixel-ratio:1.1),screen and (min-resolution:1.1dppx){.pdf-app .outlineItemToggler:before{transform:scale(.5);top:-1px;content:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \")}.pdf-app .outlineItemToggler.outlineItemsHidden:before{content:url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \")}html[dir=rtl] .pdf-app .outlineItemToggler.outlineItemsHidden:before{transform:scaleX(-1) scale(.5)}}@media print{body{background:transparent none}.pdf-app #errorWrapper,.pdf-app #loadingBox,.pdf-app #secondaryToolbar,.pdf-app #sidebarContainer,.pdf-app .textLayer,.pdf-app .toolbar{display:none}.pdf-app #viewerContainer{overflow:visible}.pdf-app #mainContainer,.pdf-app #viewerContainer,.pdf-app .page,.pdf-app .page canvas{position:static;padding:0;margin:0}.pdf-app .page{float:left;display:none;border:none;box-shadow:none;background-clip:content-box;background-color:#fff}.pdf-app .page[data-loaded]{display:block}body[data-pdfjsprinting] #outerContainer{display:none}body[data-pdfjsprinting] #printContainer{display:block}#printContainer{height:100%}#printContainer>div{position:relative;top:0;left:0;width:1px;height:1px;overflow:visible;page-break-after:always;page-break-inside:avoid}#printContainer canvas,#printContainer img{display:block}}.pdf-app .visibleLargeView,.pdf-app .visibleMediumView,.pdf-app .visibleSmallView{display:none}@media (max-width:900px){.pdf-app #toolbarViewerMiddle{display:table;margin:auto;left:auto;position:inherit;transform:none}}@media (max-width:840px){html[dir=ltr] .pdf-app #outerContainer.sidebarOpen #viewerContainer{left:0!important}html[dir=rtl] .pdf-app #outerContainer.sidebarOpen #viewerContainer{right:0!important}.pdf-app #outerContainer .hiddenLargeView,.pdf-app #outerContainer .hiddenMediumView{display:inherit}.pdf-app #outerContainer .visibleLargeView,.pdf-app #outerContainer .visibleMediumView{display:none}}@media (max-width:770px){.pdf-app #outerContainer .hiddenLargeView{display:none}.pdf-app #outerContainer .visibleLargeView{display:inherit}}@media (max-width:700px){.pdf-app #outerContainer .hiddenMediumView{display:none}.pdf-app #outerContainer .visibleMediumView{display:inherit}}@media (max-width:640px){.pdf-app .hiddenSmallView,.pdf-app .hiddenSmallView *{display:none}.pdf-app .visibleSmallView{display:inherit}.pdf-app .toolbarButtonSpacer{width:0}html[dir=ltr] .pdf-app .findbar{left:38px}html[dir=rtl] .pdf-app .findbar{right:38px}}@media (max-width:535px){.pdf-app #scaleSelectContainer{display:none}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n/***/ }),\n\n/***/ \"90d7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n  log2: function log2(x) {\n    return log(x) / LN2;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"90e3\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n/***/ }),\n\n/***/ \"9112\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"9129\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"9152\":\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n\n/***/ \"9263\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpFlags = __webpack_require__(\"ad6d\");\nvar stickyHelpers = __webpack_require__(\"9f7f\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n    var sticky = UNSUPPORTED_Y && re.sticky;\n    var flags = regexpFlags.call(re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = flags.replace('y', '');\n      if (flags.indexOf('g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = String(str).slice(re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = match.input.slice(charsAdded);\n        match[0] = match[0].slice(charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"944a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n\n/***/ }),\n\n/***/ \"94ca\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : typeof detection == 'function' ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n\n/***/ \"96cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n   true ? module.exports : undefined\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n\n/***/ }),\n\n/***/ \"970b\":\n/***/ (function(module, exports) {\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nmodule.exports = _classCallCheck;\n\n/***/ }),\n\n/***/ \"97fb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"45fc\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"6c57\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"cca6\");\n\n__webpack_require__(\"e439\");\n\n__webpack_require__(\"3410\");\n\n__webpack_require__(\"b64b\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"07ac\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"a79d\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"8a59\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"10d1\");\n\n__webpack_require__(\"1fe2\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _toConsumableArray = __webpack_require__(\"448a\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _display_utils = __webpack_require__(\"61a8\");\n\nvar _font_loader = __webpack_require__(\"c225\");\n\nvar _api_compatibility = __webpack_require__(\"b3d5\");\n\nvar _canvas = __webpack_require__(\"7a15\");\n\nvar _worker_options = __webpack_require__(\"52f8\");\n\nvar _is_node = __webpack_require__(\"eca3\");\n\nvar _message_handler = __webpack_require__(\"8139\");\n\nvar _metadata = __webpack_require__(\"9974\");\n\nvar _transport_stream = __webpack_require__(\"e02d\");\n\nvar _webgl = __webpack_require__(\"7fc1\");\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n  createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n  var task = new PDFDocumentLoadingTask();\n  var source;\n\n  if (typeof src === \"string\") {\n    source = {\n      url: src\n    };\n  } else if ((0, _util.isArrayBuffer)(src)) {\n    source = {\n      data: src\n    };\n  } else if (src instanceof PDFDataRangeTransport) {\n    source = {\n      range: src\n    };\n  } else {\n    if (_typeof(src) !== \"object\") {\n      throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n    }\n\n    if (!src.url && !src.data && !src.range) {\n      throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n    }\n\n    source = src;\n  }\n\n  var params = Object.create(null);\n  var rangeTransport = null,\n      worker = null;\n\n  for (var key in source) {\n    if (key === \"url\" && typeof window !== \"undefined\") {\n      params[key] = new URL(source[key], window.location).href;\n      continue;\n    } else if (key === \"range\") {\n      rangeTransport = source[key];\n      continue;\n    } else if (key === \"worker\") {\n      worker = source[key];\n      continue;\n    } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n      var pdfBytes = source[key];\n\n      if (typeof pdfBytes === \"string\") {\n        params[key] = (0, _util.stringToBytes)(pdfBytes);\n      } else if (_typeof(pdfBytes) === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else {\n        throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n      }\n\n      continue;\n    }\n\n    params[key] = source[key];\n  }\n\n  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n  params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n  params.ignoreErrors = params.stopAtErrors !== true;\n  params.pdfBug = params.pdfBug === true;\n  var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n  if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n    params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n  }\n\n  if (!Number.isInteger(params.maxImageSize)) {\n    params.maxImageSize = -1;\n  }\n\n  if (typeof params.isEvalSupported !== \"boolean\") {\n    params.isEvalSupported = true;\n  }\n\n  if (typeof params.disableFontFace !== \"boolean\") {\n    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n  }\n\n  if (typeof params.disableRange !== \"boolean\") {\n    params.disableRange = false;\n  }\n\n  if (typeof params.disableStream !== \"boolean\") {\n    params.disableStream = false;\n  }\n\n  if (typeof params.disableAutoFetch !== \"boolean\") {\n    params.disableAutoFetch = false;\n  }\n\n  if (typeof params.disableCreateObjectURL !== \"boolean\") {\n    params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n  }\n\n  (0, _util.setVerbosityLevel)(params.verbosity);\n\n  if (!worker) {\n    var workerParams = {\n      verbosity: params.verbosity,\n      port: _worker_options.GlobalWorkerOptions.workerPort\n    };\n    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n    task._worker = worker;\n  }\n\n  var docId = task.docId;\n  worker.promise.then(function () {\n    if (task.destroyed) {\n      throw new Error(\"Loading aborted\");\n    }\n\n    return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n      if (task.destroyed) {\n        throw new Error(\"Loading aborted\");\n      }\n\n      var networkStream;\n\n      if (rangeTransport) {\n        networkStream = new _transport_stream.PDFDataTransportStream({\n          length: params.length,\n          initialData: params.initialData,\n          progressiveDone: params.progressiveDone,\n          disableRange: params.disableRange,\n          disableStream: params.disableStream\n        }, rangeTransport);\n      } else if (!params.data) {\n        networkStream = createPDFNetworkStream({\n          url: params.url,\n          length: params.length,\n          httpHeaders: params.httpHeaders,\n          withCredentials: params.withCredentials,\n          rangeChunkSize: params.rangeChunkSize,\n          disableRange: params.disableRange,\n          disableStream: params.disableStream\n        });\n      }\n\n      var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n      messageHandler.postMessageTransfers = worker.postMessageTransfers;\n      var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n      task._transport = transport;\n      messageHandler.send(\"Ready\", null);\n    });\n  }).catch(task._capability.reject);\n  return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n  if (worker.destroyed) {\n    return Promise.reject(new Error(\"Worker was destroyed\"));\n  }\n\n  if (pdfDataRangeTransport) {\n    source.length = pdfDataRangeTransport.length;\n    source.initialData = pdfDataRangeTransport.initialData;\n    source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n  }\n\n  return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n    docId: docId,\n    apiVersion: '2.4.456',\n    source: {\n      data: source.data,\n      url: source.url,\n      password: source.password,\n      disableAutoFetch: source.disableAutoFetch,\n      rangeChunkSize: source.rangeChunkSize,\n      length: source.length\n    },\n    maxImageSize: source.maxImageSize,\n    disableFontFace: source.disableFontFace,\n    disableCreateObjectURL: source.disableCreateObjectURL,\n    postMessageTransfers: worker.postMessageTransfers,\n    docBaseUrl: source.docBaseUrl,\n    nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n    ignoreErrors: source.ignoreErrors,\n    isEvalSupported: source.isEvalSupported\n  }).then(function (workerId) {\n    if (worker.destroyed) {\n      throw new Error(\"Worker was destroyed\");\n    }\n\n    return workerId;\n  });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n  var nextDocumentId = 0;\n\n  var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n    function PDFDocumentLoadingTask() {\n      _classCallCheck(this, PDFDocumentLoadingTask);\n\n      this._capability = (0, _util.createPromiseCapability)();\n      this._transport = null;\n      this._worker = null;\n      this.docId = \"d\" + nextDocumentId++;\n      this.destroyed = false;\n      this.onPassword = null;\n      this.onProgress = null;\n      this.onUnsupportedFeature = null;\n    }\n\n    _createClass(PDFDocumentLoadingTask, [{\n      key: \"destroy\",\n      value: function destroy() {\n        var _this = this;\n\n        this.destroyed = true;\n        var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n        return transportDestroyed.then(function () {\n          _this._transport = null;\n\n          if (_this._worker) {\n            _this._worker.destroy();\n\n            _this._worker = null;\n          }\n        });\n      }\n    }, {\n      key: \"then\",\n      value: function then(onFulfilled, onRejected) {\n        throw new Error(\"Removed API method: \" + \"PDFDocumentLoadingTask.then, use the `promise` getter instead.\");\n      }\n    }, {\n      key: \"promise\",\n      get: function get() {\n        return this._capability.promise;\n      }\n    }]);\n\n    return PDFDocumentLoadingTask;\n  }();\n\n  return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = /*#__PURE__*/function () {\n  function PDFDataRangeTransport(length, initialData) {\n    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    _classCallCheck(this, PDFDataRangeTransport);\n\n    this.length = length;\n    this.initialData = initialData;\n    this.progressiveDone = progressiveDone;\n    this._rangeListeners = [];\n    this._progressListeners = [];\n    this._progressiveReadListeners = [];\n    this._progressiveDoneListeners = [];\n    this._readyCapability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(PDFDataRangeTransport, [{\n    key: \"addRangeListener\",\n    value: function addRangeListener(listener) {\n      this._rangeListeners.push(listener);\n    }\n  }, {\n    key: \"addProgressListener\",\n    value: function addProgressListener(listener) {\n      this._progressListeners.push(listener);\n    }\n  }, {\n    key: \"addProgressiveReadListener\",\n    value: function addProgressiveReadListener(listener) {\n      this._progressiveReadListeners.push(listener);\n    }\n  }, {\n    key: \"addProgressiveDoneListener\",\n    value: function addProgressiveDoneListener(listener) {\n      this._progressiveDoneListeners.push(listener);\n    }\n  }, {\n    key: \"onDataRange\",\n    value: function onDataRange(begin, chunk) {\n      var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var listener = _step.value;\n          listener(begin, chunk);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n  }, {\n    key: \"onDataProgress\",\n    value: function onDataProgress(loaded, total) {\n      var _this2 = this;\n\n      this._readyCapability.promise.then(function () {\n        var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var listener = _step2.value;\n            listener(loaded, total);\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n      });\n    }\n  }, {\n    key: \"onDataProgressiveRead\",\n    value: function onDataProgressiveRead(chunk) {\n      var _this3 = this;\n\n      this._readyCapability.promise.then(function () {\n        var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var listener = _step3.value;\n            listener(chunk);\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n      });\n    }\n  }, {\n    key: \"onDataProgressiveDone\",\n    value: function onDataProgressiveDone() {\n      var _this4 = this;\n\n      this._readyCapability.promise.then(function () {\n        var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var listener = _step4.value;\n            listener();\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n      });\n    }\n  }, {\n    key: \"transportReady\",\n    value: function transportReady() {\n      this._readyCapability.resolve();\n    }\n  }, {\n    key: \"requestDataRange\",\n    value: function requestDataRange(begin, end) {\n      (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n    }\n  }, {\n    key: \"abort\",\n    value: function abort() {}\n  }]);\n\n  return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy = /*#__PURE__*/function () {\n  function PDFDocumentProxy(pdfInfo, transport) {\n    _classCallCheck(this, PDFDocumentProxy);\n\n    this._pdfInfo = pdfInfo;\n    this._transport = transport;\n  }\n\n  _createClass(PDFDocumentProxy, [{\n    key: \"getPage\",\n    value: function getPage(pageNumber) {\n      return this._transport.getPage(pageNumber);\n    }\n  }, {\n    key: \"getPageIndex\",\n    value: function getPageIndex(ref) {\n      return this._transport.getPageIndex(ref);\n    }\n  }, {\n    key: \"getDestinations\",\n    value: function getDestinations() {\n      return this._transport.getDestinations();\n    }\n  }, {\n    key: \"getDestination\",\n    value: function getDestination(id) {\n      return this._transport.getDestination(id);\n    }\n  }, {\n    key: \"getPageLabels\",\n    value: function getPageLabels() {\n      return this._transport.getPageLabels();\n    }\n  }, {\n    key: \"getPageLayout\",\n    value: function getPageLayout() {\n      return this._transport.getPageLayout();\n    }\n  }, {\n    key: \"getPageMode\",\n    value: function getPageMode() {\n      return this._transport.getPageMode();\n    }\n  }, {\n    key: \"getViewerPreferences\",\n    value: function getViewerPreferences() {\n      return this._transport.getViewerPreferences();\n    }\n  }, {\n    key: \"getOpenAction\",\n    value: function getOpenAction() {\n      return this._transport.getOpenAction();\n    }\n  }, {\n    key: \"getOpenActionDestination\",\n    value: function getOpenActionDestination() {\n      (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n      return this.getOpenAction().then(function (openAction) {\n        return openAction && openAction.dest ? openAction.dest : null;\n      });\n    }\n  }, {\n    key: \"getAttachments\",\n    value: function getAttachments() {\n      return this._transport.getAttachments();\n    }\n  }, {\n    key: \"getJavaScript\",\n    value: function getJavaScript() {\n      return this._transport.getJavaScript();\n    }\n  }, {\n    key: \"getOutline\",\n    value: function getOutline() {\n      return this._transport.getOutline();\n    }\n  }, {\n    key: \"getPermissions\",\n    value: function getPermissions() {\n      return this._transport.getPermissions();\n    }\n  }, {\n    key: \"getMetadata\",\n    value: function getMetadata() {\n      return this._transport.getMetadata();\n    }\n  }, {\n    key: \"getData\",\n    value: function getData() {\n      return this._transport.getData();\n    }\n  }, {\n    key: \"getDownloadInfo\",\n    value: function getDownloadInfo() {\n      return this._transport.downloadInfoCapability.promise;\n    }\n  }, {\n    key: \"getStats\",\n    value: function getStats() {\n      return this._transport.getStats();\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      return this._transport.startCleanup();\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy() {\n      return this.loadingTask.destroy();\n    }\n  }, {\n    key: \"numPages\",\n    get: function get() {\n      return this._pdfInfo.numPages;\n    }\n  }, {\n    key: \"fingerprint\",\n    get: function get() {\n      return this._pdfInfo.fingerprint;\n    }\n  }, {\n    key: \"loadingParams\",\n    get: function get() {\n      return this._transport.loadingParams;\n    }\n  }, {\n    key: \"loadingTask\",\n    get: function get() {\n      return this._transport.loadingTask;\n    }\n  }]);\n\n  return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n  function PDFPageProxy(pageIndex, pageInfo, transport) {\n    var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n    _classCallCheck(this, PDFPageProxy);\n\n    this._pageIndex = pageIndex;\n    this._pageInfo = pageInfo;\n    this._transport = transport;\n    this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n    this._pdfBug = pdfBug;\n    this.commonObjs = transport.commonObjs;\n    this.objs = new PDFObjects();\n    this.cleanupAfterRender = false;\n    this.pendingCleanup = false;\n    this.intentStates = Object.create(null);\n    this.destroyed = false;\n  }\n\n  _createClass(PDFPageProxy, [{\n    key: \"getViewport\",\n    value: function getViewport() {\n      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          scale = _ref.scale,\n          _ref$rotation = _ref.rotation,\n          rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n          _ref$offsetX = _ref.offsetX,\n          offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,\n          _ref$offsetY = _ref.offsetY,\n          offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY,\n          _ref$dontFlip = _ref.dontFlip,\n          dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n      if (arguments.length > 1 || typeof arguments[0] === \"number\") {\n        throw new Error(\"PDFPageProxy.getViewport is called with obsolete arguments.\");\n      }\n\n      return new _display_utils.PageViewport({\n        viewBox: this.view,\n        scale: scale,\n        rotation: rotation,\n        offsetX: offsetX,\n        offsetY: offsetY,\n        dontFlip: dontFlip\n      });\n    }\n  }, {\n    key: \"getAnnotations\",\n    value: function getAnnotations() {\n      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref2$intent = _ref2.intent,\n          intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n      if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n        this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n        this.annotationsIntent = intent;\n      }\n\n      return this.annotationsPromise;\n    }\n  }, {\n    key: \"render\",\n    value: function render(_ref3) {\n      var _this5 = this;\n\n      var canvasContext = _ref3.canvasContext,\n          viewport = _ref3.viewport,\n          _ref3$intent = _ref3.intent,\n          intent = _ref3$intent === void 0 ? \"display\" : _ref3$intent,\n          _ref3$enableWebGL = _ref3.enableWebGL,\n          enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n          _ref3$renderInteracti = _ref3.renderInteractiveForms,\n          renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n          _ref3$transform = _ref3.transform,\n          transform = _ref3$transform === void 0 ? null : _ref3$transform,\n          _ref3$imageLayer = _ref3.imageLayer,\n          imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n          _ref3$canvasFactory = _ref3.canvasFactory,\n          canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n          _ref3$background = _ref3.background,\n          background = _ref3$background === void 0 ? null : _ref3$background;\n\n      if (this._stats) {\n        this._stats.time(\"Overall\");\n      }\n\n      var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n      this.pendingCleanup = false;\n\n      if (!this.intentStates[renderingIntent]) {\n        this.intentStates[renderingIntent] = Object.create(null);\n      }\n\n      var intentState = this.intentStates[renderingIntent];\n\n      if (intentState.streamReaderCancelTimeout) {\n        clearTimeout(intentState.streamReaderCancelTimeout);\n        intentState.streamReaderCancelTimeout = null;\n      }\n\n      var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n      var webGLContext = new _webgl.WebGLContext({\n        enable: enableWebGL\n      });\n\n      if (!intentState.displayReadyCapability) {\n        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n        intentState.operatorList = {\n          fnArray: [],\n          argsArray: [],\n          lastChunk: false\n        };\n\n        if (this._stats) {\n          this._stats.time(\"Page Request\");\n        }\n\n        this._pumpOperatorList({\n          pageIndex: this._pageIndex,\n          intent: renderingIntent,\n          renderInteractiveForms: renderInteractiveForms === true\n        });\n      }\n\n      var complete = function complete(error) {\n        var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n        if (i >= 0) {\n          intentState.renderTasks.splice(i, 1);\n        }\n\n        if (_this5.cleanupAfterRender || renderingIntent === \"print\") {\n          _this5.pendingCleanup = true;\n        }\n\n        _this5._tryCleanup();\n\n        if (error) {\n          internalRenderTask.capability.reject(error);\n\n          _this5._abortOperatorList({\n            intentState: intentState,\n            reason: error\n          });\n        } else {\n          internalRenderTask.capability.resolve();\n        }\n\n        if (_this5._stats) {\n          _this5._stats.timeEnd(\"Rendering\");\n\n          _this5._stats.timeEnd(\"Overall\");\n        }\n      };\n\n      var internalRenderTask = new InternalRenderTask({\n        callback: complete,\n        params: {\n          canvasContext: canvasContext,\n          viewport: viewport,\n          transform: transform,\n          imageLayer: imageLayer,\n          background: background\n        },\n        objs: this.objs,\n        commonObjs: this.commonObjs,\n        operatorList: intentState.operatorList,\n        pageIndex: this._pageIndex,\n        canvasFactory: canvasFactoryInstance,\n        webGLContext: webGLContext,\n        useRequestAnimationFrame: renderingIntent !== \"print\",\n        pdfBug: this._pdfBug\n      });\n\n      if (!intentState.renderTasks) {\n        intentState.renderTasks = [];\n      }\n\n      intentState.renderTasks.push(internalRenderTask);\n      var renderTask = internalRenderTask.task;\n      intentState.displayReadyCapability.promise.then(function (transparency) {\n        if (_this5.pendingCleanup) {\n          complete();\n          return;\n        }\n\n        if (_this5._stats) {\n          _this5._stats.time(\"Rendering\");\n        }\n\n        internalRenderTask.initializeGraphics(transparency);\n        internalRenderTask.operatorListChanged();\n      }).catch(complete);\n      return renderTask;\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList() {\n      function operatorListChanged() {\n        if (intentState.operatorList.lastChunk) {\n          intentState.opListReadCapability.resolve(intentState.operatorList);\n          var i = intentState.renderTasks.indexOf(opListTask);\n\n          if (i >= 0) {\n            intentState.renderTasks.splice(i, 1);\n          }\n        }\n      }\n\n      var renderingIntent = \"oplist\";\n\n      if (!this.intentStates[renderingIntent]) {\n        this.intentStates[renderingIntent] = Object.create(null);\n      }\n\n      var intentState = this.intentStates[renderingIntent];\n      var opListTask;\n\n      if (!intentState.opListReadCapability) {\n        opListTask = {};\n        opListTask.operatorListChanged = operatorListChanged;\n        intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n        intentState.renderTasks = [];\n        intentState.renderTasks.push(opListTask);\n        intentState.operatorList = {\n          fnArray: [],\n          argsArray: [],\n          lastChunk: false\n        };\n\n        if (this._stats) {\n          this._stats.time(\"Page Request\");\n        }\n\n        this._pumpOperatorList({\n          pageIndex: this._pageIndex,\n          intent: renderingIntent\n        });\n      }\n\n      return intentState.opListReadCapability.promise;\n    }\n  }, {\n    key: \"streamTextContent\",\n    value: function streamTextContent() {\n      var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n          normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n          _ref4$disableCombineT = _ref4.disableCombineTextItems,\n          disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n      var TEXT_CONTENT_CHUNK_SIZE = 100;\n      return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n        pageIndex: this._pageIndex,\n        normalizeWhitespace: normalizeWhitespace === true,\n        combineTextItems: disableCombineTextItems !== true\n      }, {\n        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n        size: function size(textContent) {\n          return textContent.items.length;\n        }\n      });\n    }\n  }, {\n    key: \"getTextContent\",\n    value: function getTextContent() {\n      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var readableStream = this.streamTextContent(params);\n      return new Promise(function (resolve, reject) {\n        function pump() {\n          reader.read().then(function (_ref5) {\n            var _textContent$items;\n\n            var value = _ref5.value,\n                done = _ref5.done;\n\n            if (done) {\n              resolve(textContent);\n              return;\n            }\n\n            Object.assign(textContent.styles, value.styles);\n\n            (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n            pump();\n          }, reject);\n        }\n\n        var reader = readableStream.getReader();\n        var textContent = {\n          items: [],\n          styles: Object.create(null)\n        };\n        pump();\n      });\n    }\n  }, {\n    key: \"_destroy\",\n    value: function _destroy() {\n      var _this6 = this;\n\n      this.destroyed = true;\n      this._transport.pageCache[this._pageIndex] = null;\n      var waitOn = [];\n      Object.keys(this.intentStates).forEach(function (intent) {\n        var intentState = _this6.intentStates[intent];\n\n        _this6._abortOperatorList({\n          intentState: intentState,\n          reason: new Error(\"Page was destroyed.\"),\n          force: true\n        });\n\n        if (intent === \"oplist\") {\n          return;\n        }\n\n        intentState.renderTasks.forEach(function (renderTask) {\n          var renderCompleted = renderTask.capability.promise.catch(function () {});\n          waitOn.push(renderCompleted);\n          renderTask.cancel();\n        });\n      });\n      this.objs.clear();\n      this.annotationsPromise = null;\n      this.pendingCleanup = false;\n      return Promise.all(waitOn);\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      this.pendingCleanup = true;\n      return this._tryCleanup(resetStats);\n    }\n  }, {\n    key: \"_tryCleanup\",\n    value: function _tryCleanup() {\n      var _this7 = this;\n\n      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n        var intentState = _this7.intentStates[intent];\n        return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n      })) {\n        return false;\n      }\n\n      Object.keys(this.intentStates).forEach(function (intent) {\n        delete _this7.intentStates[intent];\n      });\n      this.objs.clear();\n      this.annotationsPromise = null;\n\n      if (resetStats && this._stats) {\n        this._stats = new _display_utils.StatTimer();\n      }\n\n      this.pendingCleanup = false;\n      return true;\n    }\n  }, {\n    key: \"_startRenderPage\",\n    value: function _startRenderPage(transparency, intent) {\n      var intentState = this.intentStates[intent];\n\n      if (!intentState) {\n        return;\n      }\n\n      if (this._stats) {\n        this._stats.timeEnd(\"Page Request\");\n      }\n\n      if (intentState.displayReadyCapability) {\n        intentState.displayReadyCapability.resolve(transparency);\n      }\n    }\n  }, {\n    key: \"_renderPageChunk\",\n    value: function _renderPageChunk(operatorListChunk, intentState) {\n      for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n      }\n\n      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n      for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n        intentState.renderTasks[_i].operatorListChanged();\n      }\n\n      if (operatorListChunk.lastChunk) {\n        this._tryCleanup();\n      }\n    }\n  }, {\n    key: \"_pumpOperatorList\",\n    value: function _pumpOperatorList(args) {\n      var _this8 = this;\n\n      (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n      var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n      var reader = readableStream.getReader();\n      var intentState = this.intentStates[args.intent];\n      intentState.streamReader = reader;\n\n      var pump = function pump() {\n        reader.read().then(function (_ref6) {\n          var value = _ref6.value,\n              done = _ref6.done;\n\n          if (done) {\n            intentState.streamReader = null;\n            return;\n          }\n\n          if (_this8._transport.destroyed) {\n            return;\n          }\n\n          _this8._renderPageChunk(value, intentState);\n\n          pump();\n        }, function (reason) {\n          intentState.streamReader = null;\n\n          if (_this8._transport.destroyed) {\n            return;\n          }\n\n          if (intentState.operatorList) {\n            intentState.operatorList.lastChunk = true;\n\n            for (var i = 0; i < intentState.renderTasks.length; i++) {\n              intentState.renderTasks[i].operatorListChanged();\n            }\n\n            _this8._tryCleanup();\n          }\n\n          if (intentState.displayReadyCapability) {\n            intentState.displayReadyCapability.reject(reason);\n          } else if (intentState.opListReadCapability) {\n            intentState.opListReadCapability.reject(reason);\n          } else {\n            throw reason;\n          }\n        });\n      };\n\n      pump();\n    }\n  }, {\n    key: \"_abortOperatorList\",\n    value: function _abortOperatorList(_ref7) {\n      var _this9 = this;\n\n      var intentState = _ref7.intentState,\n          reason = _ref7.reason,\n          _ref7$force = _ref7.force,\n          force = _ref7$force === void 0 ? false : _ref7$force;\n      (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n      if (!intentState.streamReader) {\n        return;\n      }\n\n      if (!force) {\n        if (intentState.renderTasks.length !== 0) {\n          return;\n        }\n\n        if (reason instanceof _display_utils.RenderingCancelledException) {\n          intentState.streamReaderCancelTimeout = setTimeout(function () {\n            _this9._abortOperatorList({\n              intentState: intentState,\n              reason: reason,\n              force: true\n            });\n\n            intentState.streamReaderCancelTimeout = null;\n          }, RENDERING_CANCELLED_TIMEOUT);\n          return;\n        }\n      }\n\n      intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n      intentState.streamReader = null;\n\n      if (this._transport.destroyed) {\n        return;\n      }\n\n      Object.keys(this.intentStates).some(function (intent) {\n        if (_this9.intentStates[intent] === intentState) {\n          delete _this9.intentStates[intent];\n          return true;\n        }\n\n        return false;\n      });\n      this.cleanup();\n    }\n  }, {\n    key: \"pageNumber\",\n    get: function get() {\n      return this._pageIndex + 1;\n    }\n  }, {\n    key: \"rotate\",\n    get: function get() {\n      return this._pageInfo.rotate;\n    }\n  }, {\n    key: \"ref\",\n    get: function get() {\n      return this._pageInfo.ref;\n    }\n  }, {\n    key: \"userUnit\",\n    get: function get() {\n      return this._pageInfo.userUnit;\n    }\n  }, {\n    key: \"view\",\n    get: function get() {\n      return this._pageInfo.view;\n    }\n  }, {\n    key: \"stats\",\n    get: function get() {\n      return this._stats;\n    }\n  }]);\n\n  return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n  function LoopbackPort() {\n    var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n    _classCallCheck(this, LoopbackPort);\n\n    this._listeners = [];\n    this._defer = defer;\n    this._deferred = Promise.resolve(undefined);\n  }\n\n  _createClass(LoopbackPort, [{\n    key: \"postMessage\",\n    value: function postMessage(obj, transfers) {\n      var _this10 = this;\n\n      function cloneValue(value) {\n        if (_typeof(value) !== \"object\" || value === null) {\n          return value;\n        }\n\n        if (cloned.has(value)) {\n          return cloned.get(value);\n        }\n\n        var buffer, result;\n\n        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n          var transferable = transfers && transfers.includes(buffer);\n\n          if (transferable) {\n            result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n          } else {\n            result = new value.constructor(value);\n          }\n\n          cloned.set(value, result);\n          return result;\n        }\n\n        result = Array.isArray(value) ? [] : {};\n        cloned.set(value, result);\n\n        for (var i in value) {\n          var desc = void 0,\n              p = value;\n\n          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n            p = Object.getPrototypeOf(p);\n          }\n\n          if (typeof desc.value === \"undefined\") {\n            continue;\n          }\n\n          if (typeof desc.value === \"function\") {\n            if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n              throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n            }\n\n            continue;\n          }\n\n          result[i] = cloneValue(desc.value);\n        }\n\n        return result;\n      }\n\n      if (!this._defer) {\n        this._listeners.forEach(function (listener) {\n          listener.call(_this10, {\n            data: obj\n          });\n        });\n\n        return;\n      }\n\n      var cloned = new WeakMap();\n      var e = {\n        data: cloneValue(obj)\n      };\n\n      this._deferred.then(function () {\n        _this10._listeners.forEach(function (listener) {\n          listener.call(_this10, e);\n        });\n      });\n    }\n  }, {\n    key: \"addEventListener\",\n    value: function addEventListener(name, listener) {\n      this._listeners.push(listener);\n    }\n  }, {\n    key: \"removeEventListener\",\n    value: function removeEventListener(name, listener) {\n      var i = this._listeners.indexOf(listener);\n\n      this._listeners.splice(i, 1);\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate() {\n      this._listeners.length = 0;\n    }\n  }]);\n\n  return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n  var pdfWorkerPorts = new WeakMap();\n  var isWorkerDisabled = false;\n  var fallbackWorkerSrc;\n  var nextFakeWorkerId = 0;\n  var fakeWorkerCapability;\n\n  if (_is_node.isNodeJS && \"function\" === \"function\") {\n    isWorkerDisabled = true;\n    fallbackWorkerSrc = \"../pdf.worker.js\";\n  } else if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\" && \"currentScript\" in document) {\n    var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n    if (pdfjsFilePath) {\n      fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n    }\n  }\n\n  function _getWorkerSrc() {\n    if (_worker_options.GlobalWorkerOptions.workerSrc) {\n      return _worker_options.GlobalWorkerOptions.workerSrc;\n    }\n\n    if (typeof fallbackWorkerSrc !== \"undefined\") {\n      if (!_is_node.isNodeJS) {\n        (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n      }\n\n      return fallbackWorkerSrc;\n    }\n\n    throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n  }\n\n  function getMainThreadWorkerMessageHandler() {\n    var mainWorkerMessageHandler;\n\n    try {\n      mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n    } catch (ex) {}\n\n    return mainWorkerMessageHandler || null;\n  }\n\n  function setupFakeWorkerGlobal() {\n    if (fakeWorkerCapability) {\n      return fakeWorkerCapability.promise;\n    }\n\n    fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n    var loader = /*#__PURE__*/function () {\n      var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var mainWorkerMessageHandler, worker;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n                if (!mainWorkerMessageHandler) {\n                  _context.next = 3;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n              case 3:\n                if (!(_is_node.isNodeJS && \"function\" === \"function\")) {\n                  _context.next = 6;\n                  break;\n                }\n\n                worker = eval(\"require\")(_getWorkerSrc());\n                return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n              case 6:\n                _context.next = 8;\n                return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n              case 8:\n                return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n              case 9:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      return function loader() {\n        return _ref8.apply(this, arguments);\n      };\n    }();\n\n    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n    return fakeWorkerCapability.promise;\n  }\n\n  function createCDNWrapper(url) {\n    var wrapper = \"importScripts('\" + url + \"');\";\n    return URL.createObjectURL(new Blob([wrapper]));\n  }\n\n  var PDFWorker = /*#__PURE__*/function () {\n    function PDFWorker() {\n      var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref9$name = _ref9.name,\n          name = _ref9$name === void 0 ? null : _ref9$name,\n          _ref9$port = _ref9.port,\n          port = _ref9$port === void 0 ? null : _ref9$port,\n          _ref9$verbosity = _ref9.verbosity,\n          verbosity = _ref9$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref9$verbosity;\n\n      _classCallCheck(this, PDFWorker);\n\n      if (port && pdfWorkerPorts.has(port)) {\n        throw new Error(\"Cannot use more than one PDFWorker per port\");\n      }\n\n      this.name = name;\n      this.destroyed = false;\n      this.postMessageTransfers = true;\n      this.verbosity = verbosity;\n      this._readyCapability = (0, _util.createPromiseCapability)();\n      this._port = null;\n      this._webWorker = null;\n      this._messageHandler = null;\n\n      if (port) {\n        pdfWorkerPorts.set(port, this);\n\n        this._initializeFromPort(port);\n\n        return;\n      }\n\n      this._initialize();\n    }\n\n    _createClass(PDFWorker, [{\n      key: \"_initializeFromPort\",\n      value: function _initializeFromPort(port) {\n        this._port = port;\n        this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n        this._messageHandler.on(\"ready\", function () {});\n\n        this._readyCapability.resolve();\n      }\n    }, {\n      key: \"_initialize\",\n      value: function _initialize() {\n        var _this11 = this;\n\n        if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n          var workerSrc = _getWorkerSrc();\n\n          try {\n            if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n              workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n            }\n\n            var worker = new Worker(workerSrc);\n            var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n            var terminateEarly = function terminateEarly() {\n              worker.removeEventListener(\"error\", onWorkerError);\n              messageHandler.destroy();\n              worker.terminate();\n\n              if (_this11.destroyed) {\n                _this11._readyCapability.reject(new Error(\"Worker was destroyed\"));\n              } else {\n                _this11._setupFakeWorker();\n              }\n            };\n\n            var onWorkerError = function onWorkerError() {\n              if (!_this11._webWorker) {\n                terminateEarly();\n              }\n            };\n\n            worker.addEventListener(\"error\", onWorkerError);\n            messageHandler.on(\"test\", function (data) {\n              worker.removeEventListener(\"error\", onWorkerError);\n\n              if (_this11.destroyed) {\n                terminateEarly();\n                return;\n              }\n\n              if (data) {\n                _this11._messageHandler = messageHandler;\n                _this11._port = worker;\n                _this11._webWorker = worker;\n\n                if (!data.supportTransfers) {\n                  _this11.postMessageTransfers = false;\n                }\n\n                _this11._readyCapability.resolve();\n\n                messageHandler.send(\"configure\", {\n                  verbosity: _this11.verbosity\n                });\n              } else {\n                _this11._setupFakeWorker();\n\n                messageHandler.destroy();\n                worker.terminate();\n              }\n            });\n            messageHandler.on(\"ready\", function (data) {\n              worker.removeEventListener(\"error\", onWorkerError);\n\n              if (_this11.destroyed) {\n                terminateEarly();\n                return;\n              }\n\n              try {\n                sendTest();\n              } catch (e) {\n                _this11._setupFakeWorker();\n              }\n            });\n\n            var sendTest = function sendTest() {\n              var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);\n\n              try {\n                messageHandler.send(\"test\", testObj, [testObj.buffer]);\n              } catch (ex) {\n                (0, _util.warn)(\"Cannot use postMessage transfers.\");\n                testObj[0] = 0;\n                messageHandler.send(\"test\", testObj);\n              }\n            };\n\n            sendTest();\n            return;\n          } catch (e) {\n            (0, _util.info)(\"The worker has been disabled.\");\n          }\n        }\n\n        this._setupFakeWorker();\n      }\n    }, {\n      key: \"_setupFakeWorker\",\n      value: function _setupFakeWorker() {\n        var _this12 = this;\n\n        if (!isWorkerDisabled) {\n          (0, _util.warn)(\"Setting up fake worker.\");\n          isWorkerDisabled = true;\n        }\n\n        setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n          if (_this12.destroyed) {\n            _this12._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n            return;\n          }\n\n          var port = new LoopbackPort();\n          _this12._port = port;\n          var id = \"fake\" + nextFakeWorkerId++;\n          var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n          WorkerMessageHandler.setup(workerHandler, port);\n          var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n          _this12._messageHandler = messageHandler;\n\n          _this12._readyCapability.resolve();\n\n          messageHandler.send(\"configure\", {\n            verbosity: _this12.verbosity\n          });\n        }).catch(function (reason) {\n          _this12._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n        });\n      }\n    }, {\n      key: \"destroy\",\n      value: function destroy() {\n        this.destroyed = true;\n\n        if (this._webWorker) {\n          this._webWorker.terminate();\n\n          this._webWorker = null;\n        }\n\n        pdfWorkerPorts.delete(this._port);\n        this._port = null;\n\n        if (this._messageHandler) {\n          this._messageHandler.destroy();\n\n          this._messageHandler = null;\n        }\n      }\n    }, {\n      key: \"promise\",\n      get: function get() {\n        return this._readyCapability.promise;\n      }\n    }, {\n      key: \"port\",\n      get: function get() {\n        return this._port;\n      }\n    }, {\n      key: \"messageHandler\",\n      get: function get() {\n        return this._messageHandler;\n      }\n    }], [{\n      key: \"fromPort\",\n      value: function fromPort(params) {\n        if (!params || !params.port) {\n          throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n        }\n\n        if (pdfWorkerPorts.has(params.port)) {\n          return pdfWorkerPorts.get(params.port);\n        }\n\n        return new PDFWorker(params);\n      }\n    }, {\n      key: \"getWorkerSrc\",\n      value: function getWorkerSrc() {\n        return _getWorkerSrc();\n      }\n    }]);\n\n    return PDFWorker;\n  }();\n\n  return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport = /*#__PURE__*/function () {\n  function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n    _classCallCheck(this, WorkerTransport);\n\n    this.messageHandler = messageHandler;\n    this.loadingTask = loadingTask;\n    this.commonObjs = new PDFObjects();\n    this.fontLoader = new _font_loader.FontLoader({\n      docId: loadingTask.docId,\n      onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n    });\n    this._params = params;\n    this.CMapReaderFactory = new params.CMapReaderFactory({\n      baseUrl: params.cMapUrl,\n      isCompressed: params.cMapPacked\n    });\n    this.destroyed = false;\n    this.destroyCapability = null;\n    this._passwordCapability = null;\n    this._networkStream = networkStream;\n    this._fullReader = null;\n    this._lastProgress = null;\n    this.pageCache = [];\n    this.pagePromises = [];\n    this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n    this.setupMessageHandler();\n  }\n\n  _createClass(WorkerTransport, [{\n    key: \"destroy\",\n    value: function destroy() {\n      var _this13 = this;\n\n      if (this.destroyCapability) {\n        return this.destroyCapability.promise;\n      }\n\n      this.destroyed = true;\n      this.destroyCapability = (0, _util.createPromiseCapability)();\n\n      if (this._passwordCapability) {\n        this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n      }\n\n      var waitOn = [];\n      this.pageCache.forEach(function (page) {\n        if (page) {\n          waitOn.push(page._destroy());\n        }\n      });\n      this.pageCache.length = 0;\n      this.pagePromises.length = 0;\n      var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n      waitOn.push(terminated);\n      Promise.all(waitOn).then(function () {\n        _this13.fontLoader.clear();\n\n        if (_this13._networkStream) {\n          _this13._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n        }\n\n        if (_this13.messageHandler) {\n          _this13.messageHandler.destroy();\n\n          _this13.messageHandler = null;\n        }\n\n        _this13.destroyCapability.resolve();\n      }, this.destroyCapability.reject);\n      return this.destroyCapability.promise;\n    }\n  }, {\n    key: \"setupMessageHandler\",\n    value: function setupMessageHandler() {\n      var _this14 = this;\n\n      var messageHandler = this.messageHandler,\n          loadingTask = this.loadingTask;\n      messageHandler.on(\"GetReader\", function (data, sink) {\n        (0, _util.assert)(_this14._networkStream);\n        _this14._fullReader = _this14._networkStream.getFullReader();\n\n        _this14._fullReader.onProgress = function (evt) {\n          _this14._lastProgress = {\n            loaded: evt.loaded,\n            total: evt.total\n          };\n        };\n\n        sink.onPull = function () {\n          _this14._fullReader.read().then(function (_ref10) {\n            var value = _ref10.value,\n                done = _ref10.done;\n\n            if (done) {\n              sink.close();\n              return;\n            }\n\n            (0, _util.assert)((0, _util.isArrayBuffer)(value));\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          }).catch(function (reason) {\n            sink.error(reason);\n          });\n        };\n\n        sink.onCancel = function (reason) {\n          _this14._fullReader.cancel(reason);\n        };\n      });\n      messageHandler.on(\"ReaderHeadersReady\", function (data) {\n        var headersCapability = (0, _util.createPromiseCapability)();\n        var fullReader = _this14._fullReader;\n        fullReader.headersReady.then(function () {\n          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n            if (_this14._lastProgress && loadingTask.onProgress) {\n              loadingTask.onProgress(_this14._lastProgress);\n            }\n\n            fullReader.onProgress = function (evt) {\n              if (loadingTask.onProgress) {\n                loadingTask.onProgress({\n                  loaded: evt.loaded,\n                  total: evt.total\n                });\n              }\n            };\n          }\n\n          headersCapability.resolve({\n            isStreamingSupported: fullReader.isStreamingSupported,\n            isRangeSupported: fullReader.isRangeSupported,\n            contentLength: fullReader.contentLength\n          });\n        }, headersCapability.reject);\n        return headersCapability.promise;\n      });\n      messageHandler.on(\"GetRangeReader\", function (data, sink) {\n        (0, _util.assert)(_this14._networkStream);\n\n        var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);\n\n        if (!rangeReader) {\n          sink.close();\n          return;\n        }\n\n        sink.onPull = function () {\n          rangeReader.read().then(function (_ref11) {\n            var value = _ref11.value,\n                done = _ref11.done;\n\n            if (done) {\n              sink.close();\n              return;\n            }\n\n            (0, _util.assert)((0, _util.isArrayBuffer)(value));\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          }).catch(function (reason) {\n            sink.error(reason);\n          });\n        };\n\n        sink.onCancel = function (reason) {\n          rangeReader.cancel(reason);\n        };\n      });\n      messageHandler.on(\"GetDoc\", function (_ref12) {\n        var pdfInfo = _ref12.pdfInfo;\n        _this14._numPages = pdfInfo.numPages;\n\n        loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));\n      });\n      messageHandler.on(\"DocException\", function (ex) {\n        var reason;\n\n        switch (ex.name) {\n          case \"PasswordException\":\n            reason = new _util.PasswordException(ex.message, ex.code);\n            break;\n\n          case \"InvalidPDFException\":\n            reason = new _util.InvalidPDFException(ex.message);\n            break;\n\n          case \"MissingPDFException\":\n            reason = new _util.MissingPDFException(ex.message);\n            break;\n\n          case \"UnexpectedResponseException\":\n            reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n            break;\n\n          case \"UnknownErrorException\":\n            reason = new _util.UnknownErrorException(ex.message, ex.details);\n            break;\n        }\n\n        loadingTask._capability.reject(reason);\n      });\n      messageHandler.on(\"PasswordRequest\", function (exception) {\n        _this14._passwordCapability = (0, _util.createPromiseCapability)();\n\n        if (loadingTask.onPassword) {\n          var updatePassword = function updatePassword(password) {\n            _this14._passwordCapability.resolve({\n              password: password\n            });\n          };\n\n          try {\n            loadingTask.onPassword(updatePassword, exception.code);\n          } catch (ex) {\n            _this14._passwordCapability.reject(ex);\n          }\n        } else {\n          _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n        }\n\n        return _this14._passwordCapability.promise;\n      });\n      messageHandler.on(\"DataLoaded\", function (data) {\n        if (loadingTask.onProgress) {\n          loadingTask.onProgress({\n            loaded: data.length,\n            total: data.length\n          });\n        }\n\n        _this14.downloadInfoCapability.resolve(data);\n      });\n      messageHandler.on(\"StartRenderPage\", function (data) {\n        if (_this14.destroyed) {\n          return;\n        }\n\n        var page = _this14.pageCache[data.pageIndex];\n\n        page._startRenderPage(data.transparency, data.intent);\n      });\n      messageHandler.on(\"commonobj\", function (data) {\n        if (_this14.destroyed) {\n          return;\n        }\n\n        var _data = _slicedToArray(data, 3),\n            id = _data[0],\n            type = _data[1],\n            exportedData = _data[2];\n\n        if (_this14.commonObjs.has(id)) {\n          return;\n        }\n\n        switch (type) {\n          case \"Font\":\n            var params = _this14._params;\n\n            if (\"error\" in exportedData) {\n              var exportedError = exportedData.error;\n              (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n              _this14.commonObjs.resolve(id, exportedError);\n\n              break;\n            }\n\n            var fontRegistry = null;\n\n            if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n              fontRegistry = {\n                registerFont: function registerFont(font, url) {\n                  globalThis.FontInspector.fontAdded(font, url);\n                }\n              };\n            }\n\n            var font = new _font_loader.FontFaceObject(exportedData, {\n              isEvalSupported: params.isEvalSupported,\n              disableFontFace: params.disableFontFace,\n              ignoreErrors: params.ignoreErrors,\n              onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),\n              fontRegistry: fontRegistry\n            });\n\n            _this14.fontLoader.bind(font).then(function () {\n              _this14.commonObjs.resolve(id, font);\n            }, function (reason) {\n              messageHandler.sendWithPromise(\"FontFallback\", {\n                id: id\n              }).finally(function () {\n                _this14.commonObjs.resolve(id, font);\n              });\n            });\n\n            break;\n\n          case \"FontPath\":\n          case \"FontType3Res\":\n            _this14.commonObjs.resolve(id, exportedData);\n\n            break;\n\n          default:\n            throw new Error(\"Got unknown common object type \".concat(type));\n        }\n      });\n      messageHandler.on(\"obj\", function (data) {\n        if (_this14.destroyed) {\n          return undefined;\n        }\n\n        var _data2 = _slicedToArray(data, 4),\n            id = _data2[0],\n            pageIndex = _data2[1],\n            type = _data2[2],\n            imageData = _data2[3];\n\n        var pageProxy = _this14.pageCache[pageIndex];\n\n        if (pageProxy.objs.has(id)) {\n          return undefined;\n        }\n\n        switch (type) {\n          case \"JpegStream\":\n            return new Promise(function (resolve, reject) {\n              var img = new Image();\n\n              img.onload = function () {\n                resolve(img);\n              };\n\n              img.onerror = function () {\n                reject(new Error(\"Error during JPEG image loading\"));\n                (0, _display_utils.releaseImageResources)(img);\n              };\n\n              img.src = imageData;\n            }).then(function (img) {\n              pageProxy.objs.resolve(id, img);\n            });\n\n          case \"Image\":\n            pageProxy.objs.resolve(id, imageData);\n            var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n            if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n              pageProxy.cleanupAfterRender = true;\n            }\n\n            break;\n\n          default:\n            throw new Error(\"Got unknown object type \".concat(type));\n        }\n\n        return undefined;\n      });\n      messageHandler.on(\"DocProgress\", function (data) {\n        if (_this14.destroyed) {\n          return;\n        }\n\n        if (loadingTask.onProgress) {\n          loadingTask.onProgress({\n            loaded: data.loaded,\n            total: data.total\n          });\n        }\n      });\n      messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n      messageHandler.on(\"JpegDecode\", function (data) {\n        if (_this14.destroyed) {\n          return Promise.reject(new Error(\"Worker was destroyed\"));\n        }\n\n        if (typeof document === \"undefined\") {\n          return Promise.reject(new Error('\"document\" is not defined.'));\n        }\n\n        var _data3 = _slicedToArray(data, 2),\n            imageUrl = _data3[0],\n            components = _data3[1];\n\n        if (components !== 3 && components !== 1) {\n          return Promise.reject(new Error(\"Only 3 components or 1 component can be returned\"));\n        }\n\n        return new Promise(function (resolve, reject) {\n          var img = new Image();\n\n          img.onload = function () {\n            var width = img.width,\n                height = img.height;\n            var size = width * height;\n            var rgbaLength = size * 4;\n            var buf = new Uint8ClampedArray(size * components);\n            var tmpCanvas = document.createElement(\"canvas\");\n            tmpCanvas.width = width;\n            tmpCanvas.height = height;\n            var tmpCtx = tmpCanvas.getContext(\"2d\");\n            tmpCtx.drawImage(img, 0, 0);\n            var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n            if (components === 3) {\n              for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n                buf[j] = data[i];\n                buf[j + 1] = data[i + 1];\n                buf[j + 2] = data[i + 2];\n              }\n            } else if (components === 1) {\n              for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n                buf[_j] = data[_i2];\n              }\n            }\n\n            resolve({\n              data: buf,\n              width: width,\n              height: height\n            });\n            (0, _display_utils.releaseImageResources)(img);\n            tmpCanvas.width = 0;\n            tmpCanvas.height = 0;\n            tmpCanvas = null;\n            tmpCtx = null;\n          };\n\n          img.onerror = function () {\n            reject(new Error(\"JpegDecode failed to load image\"));\n            (0, _display_utils.releaseImageResources)(img);\n          };\n\n          img.src = imageUrl;\n        });\n      });\n      messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n        if (_this14.destroyed) {\n          sink.error(new Error(\"Worker was destroyed\"));\n          return;\n        }\n\n        var fetched = false;\n\n        sink.onPull = function () {\n          if (fetched) {\n            sink.close();\n            return;\n          }\n\n          fetched = true;\n\n          _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n          }).catch(function (reason) {\n            sink.error(reason);\n          });\n        };\n      });\n    }\n  }, {\n    key: \"_onUnsupportedFeature\",\n    value: function _onUnsupportedFeature(_ref13) {\n      var featureId = _ref13.featureId;\n\n      if (this.destroyed) {\n        return;\n      }\n\n      if (this.loadingTask.onUnsupportedFeature) {\n        this.loadingTask.onUnsupportedFeature(featureId);\n      }\n    }\n  }, {\n    key: \"getData\",\n    value: function getData() {\n      return this.messageHandler.sendWithPromise(\"GetData\", null);\n    }\n  }, {\n    key: \"getPage\",\n    value: function getPage(pageNumber) {\n      var _this15 = this;\n\n      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n        return Promise.reject(new Error(\"Invalid page request\"));\n      }\n\n      var pageIndex = pageNumber - 1;\n\n      if (pageIndex in this.pagePromises) {\n        return this.pagePromises[pageIndex];\n      }\n\n      var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n        pageIndex: pageIndex\n      }).then(function (pageInfo) {\n        if (_this15.destroyed) {\n          throw new Error(\"Transport destroyed\");\n        }\n\n        var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);\n        _this15.pageCache[pageIndex] = page;\n        return page;\n      });\n      this.pagePromises[pageIndex] = promise;\n      return promise;\n    }\n  }, {\n    key: \"getPageIndex\",\n    value: function getPageIndex(ref) {\n      return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n        ref: ref\n      }).catch(function (reason) {\n        return Promise.reject(new Error(reason));\n      });\n    }\n  }, {\n    key: \"getAnnotations\",\n    value: function getAnnotations(pageIndex, intent) {\n      return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n        pageIndex: pageIndex,\n        intent: intent\n      });\n    }\n  }, {\n    key: \"getDestinations\",\n    value: function getDestinations() {\n      return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n    }\n  }, {\n    key: \"getDestination\",\n    value: function getDestination(id) {\n      if (typeof id !== \"string\") {\n        return Promise.reject(new Error(\"Invalid destination request.\"));\n      }\n\n      return this.messageHandler.sendWithPromise(\"GetDestination\", {\n        id: id\n      });\n    }\n  }, {\n    key: \"getPageLabels\",\n    value: function getPageLabels() {\n      return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n    }\n  }, {\n    key: \"getPageLayout\",\n    value: function getPageLayout() {\n      return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n    }\n  }, {\n    key: \"getPageMode\",\n    value: function getPageMode() {\n      return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n    }\n  }, {\n    key: \"getViewerPreferences\",\n    value: function getViewerPreferences() {\n      return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n    }\n  }, {\n    key: \"getOpenAction\",\n    value: function getOpenAction() {\n      return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n    }\n  }, {\n    key: \"getAttachments\",\n    value: function getAttachments() {\n      return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n    }\n  }, {\n    key: \"getJavaScript\",\n    value: function getJavaScript() {\n      return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n    }\n  }, {\n    key: \"getOutline\",\n    value: function getOutline() {\n      return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n    }\n  }, {\n    key: \"getPermissions\",\n    value: function getPermissions() {\n      return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n    }\n  }, {\n    key: \"getMetadata\",\n    value: function getMetadata() {\n      var _this16 = this;\n\n      return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n        return {\n          info: results[0],\n          metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n          contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null\n        };\n      });\n    }\n  }, {\n    key: \"getStats\",\n    value: function getStats() {\n      return this.messageHandler.sendWithPromise(\"GetStats\", null);\n    }\n  }, {\n    key: \"startCleanup\",\n    value: function startCleanup() {\n      var _this17 = this;\n\n      return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n        for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {\n          var page = _this17.pageCache[i];\n\n          if (page) {\n            var cleanupSuccessful = page.cleanup();\n\n            if (!cleanupSuccessful) {\n              throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n            }\n          }\n        }\n\n        _this17.commonObjs.clear();\n\n        _this17.fontLoader.clear();\n      });\n    }\n  }, {\n    key: \"loadingParams\",\n    get: function get() {\n      var params = this._params;\n      return (0, _util.shadow)(this, \"loadingParams\", {\n        disableAutoFetch: params.disableAutoFetch,\n        disableCreateObjectURL: params.disableCreateObjectURL,\n        disableFontFace: params.disableFontFace,\n        nativeImageDecoderSupport: params.nativeImageDecoderSupport\n      });\n    }\n  }]);\n\n  return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n  function PDFObjects() {\n    _classCallCheck(this, PDFObjects);\n\n    this._objs = Object.create(null);\n  }\n\n  _createClass(PDFObjects, [{\n    key: \"_ensureObj\",\n    value: function _ensureObj(objId) {\n      if (this._objs[objId]) {\n        return this._objs[objId];\n      }\n\n      return this._objs[objId] = {\n        capability: (0, _util.createPromiseCapability)(),\n        data: null,\n        resolved: false\n      };\n    }\n  }, {\n    key: \"get\",\n    value: function get(objId) {\n      var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      if (callback) {\n        this._ensureObj(objId).capability.promise.then(callback);\n\n        return null;\n      }\n\n      var obj = this._objs[objId];\n\n      if (!obj || !obj.resolved) {\n        throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n      }\n\n      return obj.data;\n    }\n  }, {\n    key: \"has\",\n    value: function has(objId) {\n      var obj = this._objs[objId];\n      return obj ? obj.resolved : false;\n    }\n  }, {\n    key: \"resolve\",\n    value: function resolve(objId, data) {\n      var obj = this._ensureObj(objId);\n\n      obj.resolved = true;\n      obj.data = data;\n      obj.capability.resolve(data);\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      for (var objId in this._objs) {\n        var data = this._objs[objId].data;\n\n        if (typeof Image !== \"undefined\" && data instanceof Image) {\n          (0, _display_utils.releaseImageResources)(data);\n        }\n      }\n\n      this._objs = Object.create(null);\n    }\n  }]);\n\n  return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n  function RenderTask(internalRenderTask) {\n    _classCallCheck(this, RenderTask);\n\n    this._internalRenderTask = internalRenderTask;\n    this.onContinue = null;\n  }\n\n  _createClass(RenderTask, [{\n    key: \"cancel\",\n    value: function cancel() {\n      this._internalRenderTask.cancel();\n    }\n  }, {\n    key: \"then\",\n    value: function then(onFulfilled, onRejected) {\n      throw new Error(\"Removed API method: \" + \"RenderTask.then, use the `promise` getter instead.\");\n    }\n  }, {\n    key: \"promise\",\n    get: function get() {\n      return this._internalRenderTask.capability.promise;\n    }\n  }]);\n\n  return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n  var canvasInRendering = new WeakSet();\n\n  var InternalRenderTask = /*#__PURE__*/function () {\n    function InternalRenderTask(_ref14) {\n      var callback = _ref14.callback,\n          params = _ref14.params,\n          objs = _ref14.objs,\n          commonObjs = _ref14.commonObjs,\n          operatorList = _ref14.operatorList,\n          pageIndex = _ref14.pageIndex,\n          canvasFactory = _ref14.canvasFactory,\n          webGLContext = _ref14.webGLContext,\n          _ref14$useRequestAnim = _ref14.useRequestAnimationFrame,\n          useRequestAnimationFrame = _ref14$useRequestAnim === void 0 ? false : _ref14$useRequestAnim,\n          _ref14$pdfBug = _ref14.pdfBug,\n          pdfBug = _ref14$pdfBug === void 0 ? false : _ref14$pdfBug;\n\n      _classCallCheck(this, InternalRenderTask);\n\n      this.callback = callback;\n      this.params = params;\n      this.objs = objs;\n      this.commonObjs = commonObjs;\n      this.operatorListIdx = null;\n      this.operatorList = operatorList;\n      this._pageIndex = pageIndex;\n      this.canvasFactory = canvasFactory;\n      this.webGLContext = webGLContext;\n      this._pdfBug = pdfBug;\n      this.running = false;\n      this.graphicsReadyCallback = null;\n      this.graphicsReady = false;\n      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n      this.cancelled = false;\n      this.capability = (0, _util.createPromiseCapability)();\n      this.task = new RenderTask(this);\n      this._continueBound = this._continue.bind(this);\n      this._scheduleNextBound = this._scheduleNext.bind(this);\n      this._nextBound = this._next.bind(this);\n      this._canvas = params.canvasContext.canvas;\n    }\n\n    _createClass(InternalRenderTask, [{\n      key: \"initializeGraphics\",\n      value: function initializeGraphics() {\n        var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n        if (this.cancelled) {\n          return;\n        }\n\n        if (this._canvas) {\n          if (canvasInRendering.has(this._canvas)) {\n            throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n          }\n\n          canvasInRendering.add(this._canvas);\n        }\n\n        if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n          this.stepper = globalThis.StepperManager.create(this._pageIndex);\n          this.stepper.init(this.operatorList);\n          this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n        }\n\n        var _this$params = this.params,\n            canvasContext = _this$params.canvasContext,\n            viewport = _this$params.viewport,\n            transform = _this$params.transform,\n            imageLayer = _this$params.imageLayer,\n            background = _this$params.background;\n        this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n        this.gfx.beginDrawing({\n          transform: transform,\n          viewport: viewport,\n          transparency: transparency,\n          background: background\n        });\n        this.operatorListIdx = 0;\n        this.graphicsReady = true;\n\n        if (this.graphicsReadyCallback) {\n          this.graphicsReadyCallback();\n        }\n      }\n    }, {\n      key: \"cancel\",\n      value: function cancel() {\n        var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n        this.running = false;\n        this.cancelled = true;\n\n        if (this.gfx) {\n          this.gfx.endDrawing();\n        }\n\n        if (this._canvas) {\n          canvasInRendering.delete(this._canvas);\n        }\n\n        this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n      }\n    }, {\n      key: \"operatorListChanged\",\n      value: function operatorListChanged() {\n        if (!this.graphicsReady) {\n          if (!this.graphicsReadyCallback) {\n            this.graphicsReadyCallback = this._continueBound;\n          }\n\n          return;\n        }\n\n        if (this.stepper) {\n          this.stepper.updateOperatorList(this.operatorList);\n        }\n\n        if (this.running) {\n          return;\n        }\n\n        this._continue();\n      }\n    }, {\n      key: \"_continue\",\n      value: function _continue() {\n        this.running = true;\n\n        if (this.cancelled) {\n          return;\n        }\n\n        if (this.task.onContinue) {\n          this.task.onContinue(this._scheduleNextBound);\n        } else {\n          this._scheduleNext();\n        }\n      }\n    }, {\n      key: \"_scheduleNext\",\n      value: function _scheduleNext() {\n        var _this18 = this;\n\n        if (this._useRequestAnimationFrame) {\n          window.requestAnimationFrame(function () {\n            _this18._nextBound().catch(_this18.cancel.bind(_this18));\n          });\n        } else {\n          Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n        }\n      }\n    }, {\n      key: \"_next\",\n      value: function () {\n        var _next2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n          return regeneratorRuntime.wrap(function _callee2$(_context2) {\n            while (1) {\n              switch (_context2.prev = _context2.next) {\n                case 0:\n                  if (!this.cancelled) {\n                    _context2.next = 2;\n                    break;\n                  }\n\n                  return _context2.abrupt(\"return\");\n\n                case 2:\n                  this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n                  if (this.operatorListIdx === this.operatorList.argsArray.length) {\n                    this.running = false;\n\n                    if (this.operatorList.lastChunk) {\n                      this.gfx.endDrawing();\n\n                      if (this._canvas) {\n                        canvasInRendering.delete(this._canvas);\n                      }\n\n                      this.callback();\n                    }\n                  }\n\n                case 4:\n                case \"end\":\n                  return _context2.stop();\n              }\n            }\n          }, _callee2, this);\n        }));\n\n        function _next() {\n          return _next2.apply(this, arguments);\n        }\n\n        return _next;\n      }()\n    }]);\n\n    return InternalRenderTask;\n  }();\n\n  return InternalRenderTask;\n}();\n\nvar version = '2.4.456';\nexports.version = version;\nvar build = '228a591c';\nexports.build = build;\n\n/***/ }),\n\n/***/ \"9861\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\n__webpack_require__(\"e260\");\nvar $ = __webpack_require__(\"23e7\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar USE_NATIVE_URL = __webpack_require__(\"0d3b\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar createIteratorConstructor = __webpack_require__(\"9ed3\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar hasOwn = __webpack_require__(\"5135\");\nvar bind = __webpack_require__(\"0366\");\nvar classof = __webpack_require__(\"f5df\");\nvar anObject = __webpack_require__(\"825a\");\nvar isObject = __webpack_require__(\"861d\");\nvar create = __webpack_require__(\"7c73\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar getIterator = __webpack_require__(\"9a1f\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n  try {\n    return decodeURIComponent(sequence);\n  } catch (error) {\n    return sequence;\n  }\n};\n\nvar deserialize = function (it) {\n  var result = it.replace(plus, ' ');\n  var bytes = 4;\n  try {\n    return decodeURIComponent(result);\n  } catch (error) {\n    while (bytes) {\n      result = result.replace(percentSequence(bytes--), percentDecode);\n    }\n    return result;\n  }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n  '!': '%21',\n  \"'\": '%27',\n  '(': '%28',\n  ')': '%29',\n  '~': '%7E',\n  '%20': '+'\n};\n\nvar replacer = function (match) {\n  return replace[match];\n};\n\nvar serialize = function (it) {\n  return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n  if (query) {\n    var attributes = query.split('&');\n    var index = 0;\n    var attribute, entry;\n    while (index < attributes.length) {\n      attribute = attributes[index++];\n      if (attribute.length) {\n        entry = attribute.split('=');\n        result.push({\n          key: deserialize(entry.shift()),\n          value: deserialize(entry.join('='))\n        });\n      }\n    }\n  }\n};\n\nvar updateSearchParams = function (query) {\n  this.entries.length = 0;\n  parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n  if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n  setInternalState(this, {\n    type: URL_SEARCH_PARAMS_ITERATOR,\n    iterator: getIterator(getInternalParamsState(params).entries),\n    kind: kind\n  });\n}, 'Iterator', function next() {\n  var state = getInternalIteratorState(this);\n  var kind = state.kind;\n  var step = state.iterator.next();\n  var entry = step.value;\n  if (!step.done) {\n    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n  } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n  var init = arguments.length > 0 ? arguments[0] : undefined;\n  var that = this;\n  var entries = [];\n  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n  setInternalState(that, {\n    type: URL_SEARCH_PARAMS,\n    entries: entries,\n    updateURL: function () { /* empty */ },\n    updateSearchParams: updateSearchParams\n  });\n\n  if (init !== undefined) {\n    if (isObject(init)) {\n      iteratorMethod = getIteratorMethod(init);\n      if (typeof iteratorMethod === 'function') {\n        iterator = iteratorMethod.call(init);\n        next = iterator.next;\n        while (!(step = next.call(iterator)).done) {\n          entryIterator = getIterator(anObject(step.value));\n          entryNext = entryIterator.next;\n          if (\n            (first = entryNext.call(entryIterator)).done ||\n            (second = entryNext.call(entryIterator)).done ||\n            !entryNext.call(entryIterator).done\n          ) throw TypeError('Expected sequence with length 2');\n          entries.push({ key: first.value + '', value: second.value + '' });\n        }\n      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n    } else {\n      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n    }\n  }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n  // `URLSearchParams.prototype.appent` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n  append: function append(name, value) {\n    validateArgumentsLength(arguments.length, 2);\n    var state = getInternalParamsState(this);\n    state.entries.push({ key: name + '', value: value + '' });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.delete` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n  'delete': function (name) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index].key === key) entries.splice(index, 1);\n      else index++;\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.get` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n  get: function get(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) return entries[index].value;\n    }\n    return null;\n  },\n  // `URLSearchParams.prototype.getAll` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n  getAll: function getAll(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var result = [];\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) result.push(entries[index].value);\n    }\n    return result;\n  },\n  // `URLSearchParams.prototype.has` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n  has: function has(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index++].key === key) return true;\n    }\n    return false;\n  },\n  // `URLSearchParams.prototype.set` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n  set: function set(name, value) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var found = false;\n    var key = name + '';\n    var val = value + '';\n    var index = 0;\n    var entry;\n    for (; index < entries.length; index++) {\n      entry = entries[index];\n      if (entry.key === key) {\n        if (found) entries.splice(index--, 1);\n        else {\n          found = true;\n          entry.value = val;\n        }\n      }\n    }\n    if (!found) entries.push({ key: key, value: val });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.sort` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n  sort: function sort() {\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    // Array#sort is not stable in some engines\n    var slice = entries.slice();\n    var entry, entriesIndex, sliceIndex;\n    entries.length = 0;\n    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n      entry = slice[sliceIndex];\n      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n        if (entries[entriesIndex].key > entry.key) {\n          entries.splice(entriesIndex, 0, entry);\n          break;\n        }\n      }\n      if (entriesIndex === sliceIndex) entries.push(entry);\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.forEach` method\n  forEach: function forEach(callback /* , thisArg */) {\n    var entries = getInternalParamsState(this).entries;\n    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      boundFunction(entry.value, entry.key, this);\n    }\n  },\n  // `URLSearchParams.prototype.keys` method\n  keys: function keys() {\n    return new URLSearchParamsIterator(this, 'keys');\n  },\n  // `URLSearchParams.prototype.values` method\n  values: function values() {\n    return new URLSearchParamsIterator(this, 'values');\n  },\n  // `URLSearchParams.prototype.entries` method\n  entries: function entries() {\n    return new URLSearchParamsIterator(this, 'entries');\n  }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n  var entries = getInternalParamsState(this).entries;\n  var result = [];\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n    entry = entries[index++];\n    result.push(serialize(entry.key) + '=' + serialize(entry.value));\n  } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n  URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n  $({ global: true, enumerable: true, forced: true }, {\n    fetch: function fetch(input /* , init */) {\n      var args = [input];\n      var init, body, headers;\n      if (arguments.length > 1) {\n        init = arguments[1];\n        if (isObject(init)) {\n          body = init.body;\n          if (classof(body) === URL_SEARCH_PARAMS) {\n            headers = init.headers ? new Headers(init.headers) : new Headers();\n            if (!headers.has('content-type')) {\n              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n            }\n            init = create(init, {\n              body: createPropertyDescriptor(0, String(body)),\n              headers: createPropertyDescriptor(0, headers)\n            });\n          }\n        }\n        args.push(init);\n      } return $fetch.apply(this, args);\n    }\n  });\n}\n\nmodule.exports = {\n  URLSearchParams: URLSearchParamsConstructor,\n  getState: getInternalParamsState\n};\n\n\n/***/ }),\n\n/***/ \"9974\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"4ec9\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"498a\");\n\n__webpack_require__(\"ddb0\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar _xml_parser = __webpack_require__(\"74f1\");\n\nvar Metadata = /*#__PURE__*/function () {\n  function Metadata(data) {\n    _classCallCheck(this, Metadata);\n\n    (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n    data = this._repair(data);\n    var parser = new _xml_parser.SimpleXMLParser();\n    var xmlDocument = parser.parseFromString(data);\n    this._metadataMap = new Map();\n\n    if (xmlDocument) {\n      this._parse(xmlDocument);\n    }\n  }\n\n  _createClass(Metadata, [{\n    key: \"_repair\",\n    value: function _repair(data) {\n      return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n        var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n        }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n          switch (name) {\n            case \"amp\":\n              return \"&\";\n\n            case \"apos\":\n              return \"'\";\n\n            case \"gt\":\n              return \">\";\n\n            case \"lt\":\n              return \"<\";\n\n            case \"quot\":\n              return '\"';\n          }\n\n          throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n        });\n        var chars = \"\";\n\n        for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n            chars += String.fromCharCode(code);\n          } else {\n            chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n          }\n        }\n\n        return \">\" + chars;\n      });\n    }\n  }, {\n    key: \"_parse\",\n    value: function _parse(xmlDocument) {\n      var rdf = xmlDocument.documentElement;\n\n      if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n        rdf = rdf.firstChild;\n\n        while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n          rdf = rdf.nextSibling;\n        }\n      }\n\n      var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n      if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n        return;\n      }\n\n      var children = rdf.childNodes;\n\n      for (var i = 0, ii = children.length; i < ii; i++) {\n        var desc = children[i];\n\n        if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n          continue;\n        }\n\n        for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n          if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n            var entry = desc.childNodes[j];\n            var name = entry.nodeName.toLowerCase();\n\n            this._metadataMap.set(name, entry.textContent.trim());\n          }\n        }\n      }\n    }\n  }, {\n    key: \"get\",\n    value: function get(name) {\n      return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n    }\n  }, {\n    key: \"getAll\",\n    value: function getAll() {\n      var obj = Object.create(null);\n\n      var _iterator = _createForOfIteratorHelper(this._metadataMap),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var _step$value = _slicedToArray(_step.value, 2),\n              key = _step$value[0],\n              value = _step$value[1];\n\n          obj[key] = value;\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      return obj;\n    }\n  }, {\n    key: \"has\",\n    value: function has(name) {\n      return this._metadataMap.has(name);\n    }\n  }]);\n\n  return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n\n/***/ \"99af\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar isObject = __webpack_require__(\"861d\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar createProperty = __webpack_require__(\"8418\");\nvar arraySpeciesCreate = __webpack_require__(\"65f0\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  concat: function concat(arg) { // eslint-disable-line no-unused-vars\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = toLength(E.length);\n        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"9a0c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/zloirock/core-js/issues/280\nvar userAgent = __webpack_require__(\"342f\");\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n\n/***/ }),\n\n/***/ \"9a1f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\n\nmodule.exports = function (it) {\n  var iteratorMethod = getIteratorMethod(it);\n  if (typeof iteratorMethod != 'function') {\n    throw TypeError(String(it) + ' is not iterable');\n  } return anObject(iteratorMethod.call(it));\n};\n\n\n/***/ }),\n\n/***/ \"9a29\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.OverlayManager = void 0;\n\nvar OverlayManager = /*#__PURE__*/function () {\n  function OverlayManager() {\n    _classCallCheck(this, OverlayManager);\n\n    this._overlays = {};\n    this._active = null;\n    this._keyDownBound = this._keyDown.bind(this);\n  }\n\n  _createClass(OverlayManager, [{\n    key: \"register\",\n    value: function () {\n      var _register = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(name, element) {\n        var callerCloseMethod,\n            canForceClose,\n            container,\n            _args = arguments;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n                canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;\n\n                if (!(!name || !element || !(container = element.parentNode))) {\n                  _context.next = 6;\n                  break;\n                }\n\n                throw new Error(\"Not enough parameters.\");\n\n              case 6:\n                if (!this._overlays[name]) {\n                  _context.next = 8;\n                  break;\n                }\n\n                throw new Error(\"The overlay is already registered.\");\n\n              case 8:\n                this._overlays[name] = {\n                  element: element,\n                  container: container,\n                  callerCloseMethod: callerCloseMethod,\n                  canForceClose: canForceClose\n                };\n\n              case 9:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function register(_x, _x2) {\n        return _register.apply(this, arguments);\n      }\n\n      return register;\n    }()\n  }, {\n    key: \"unregister\",\n    value: function () {\n      var _unregister = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(name) {\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                if (this._overlays[name]) {\n                  _context2.next = 4;\n                  break;\n                }\n\n                throw new Error(\"The overlay does not exist.\");\n\n              case 4:\n                if (!(this._active === name)) {\n                  _context2.next = 6;\n                  break;\n                }\n\n                throw new Error(\"The overlay cannot be removed while it is active.\");\n\n              case 6:\n                delete this._overlays[name];\n\n              case 7:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function unregister(_x3) {\n        return _unregister.apply(this, arguments);\n      }\n\n      return unregister;\n    }()\n  }, {\n    key: \"open\",\n    value: function () {\n      var _open = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(name) {\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                if (this._overlays[name]) {\n                  _context3.next = 4;\n                  break;\n                }\n\n                throw new Error(\"The overlay does not exist.\");\n\n              case 4:\n                if (!this._active) {\n                  _context3.next = 14;\n                  break;\n                }\n\n                if (!this._overlays[name].canForceClose) {\n                  _context3.next = 9;\n                  break;\n                }\n\n                this._closeThroughCaller();\n\n                _context3.next = 14;\n                break;\n\n              case 9:\n                if (!(this._active === name)) {\n                  _context3.next = 13;\n                  break;\n                }\n\n                throw new Error(\"The overlay is already active.\");\n\n              case 13:\n                throw new Error(\"Another overlay is currently active.\");\n\n              case 14:\n                this._active = name;\n\n                this._overlays[this._active].element.classList.remove(\"hidden\");\n\n                this._overlays[this._active].container.classList.remove(\"hidden\");\n\n                window.addEventListener(\"keydown\", this._keyDownBound);\n\n              case 18:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function open(_x4) {\n        return _open.apply(this, arguments);\n      }\n\n      return open;\n    }()\n  }, {\n    key: \"close\",\n    value: function () {\n      var _close = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(name) {\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                if (this._overlays[name]) {\n                  _context4.next = 4;\n                  break;\n                }\n\n                throw new Error(\"The overlay does not exist.\");\n\n              case 4:\n                if (this._active) {\n                  _context4.next = 8;\n                  break;\n                }\n\n                throw new Error(\"The overlay is currently not active.\");\n\n              case 8:\n                if (!(this._active !== name)) {\n                  _context4.next = 10;\n                  break;\n                }\n\n                throw new Error(\"Another overlay is currently active.\");\n\n              case 10:\n                this._overlays[this._active].container.classList.add(\"hidden\");\n\n                this._overlays[this._active].element.classList.add(\"hidden\");\n\n                this._active = null;\n                window.removeEventListener(\"keydown\", this._keyDownBound);\n\n              case 14:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, this);\n      }));\n\n      function close(_x5) {\n        return _close.apply(this, arguments);\n      }\n\n      return close;\n    }()\n  }, {\n    key: \"_keyDown\",\n    value: function _keyDown(evt) {\n      if (this._active && evt.keyCode === 27) {\n        this._closeThroughCaller();\n\n        evt.preventDefault();\n      }\n    }\n  }, {\n    key: \"_closeThroughCaller\",\n    value: function _closeThroughCaller() {\n      if (this._overlays[this._active].callerCloseMethod) {\n        this._overlays[this._active].callerCloseMethod();\n      }\n\n      if (this._active) {\n        this.close(this._active);\n      }\n    }\n  }, {\n    key: \"active\",\n    get: function get() {\n      return this._active;\n    }\n  }]);\n\n  return OverlayManager;\n}();\n\nexports.OverlayManager = OverlayManager;\n\n/***/ }),\n\n/***/ \"9a8c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $copyWithin = __webpack_require__(\"145e\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n  return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"9b42\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"a4d3\");\n\n__webpack_require__(\"e01a\");\n\n__webpack_require__(\"d28b\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\nfunction _iterableToArrayLimit(arr, i) {\n  if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\n\n/***/ }),\n\n/***/ \"9bdd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (error) {\n    var returnMethod = iterator['return'];\n    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n    throw error;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"9bf2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\nvar anObject = __webpack_require__(\"825a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return nativeDefineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"9e3b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"b680\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n  function TextLayerBuilder(_ref) {\n    var textLayerDiv = _ref.textLayerDiv,\n        eventBus = _ref.eventBus,\n        pageIndex = _ref.pageIndex,\n        viewport = _ref.viewport,\n        _ref$findController = _ref.findController,\n        findController = _ref$findController === void 0 ? null : _ref$findController,\n        _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n    _classCallCheck(this, TextLayerBuilder);\n\n    this.textLayerDiv = textLayerDiv;\n    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this.textContent = null;\n    this.textContentItemsStr = [];\n    this.textContentStream = null;\n    this.renderingDone = false;\n    this.pageIdx = pageIndex;\n    this.pageNumber = this.pageIdx + 1;\n    this.matches = [];\n    this.viewport = viewport;\n    this.textDivs = [];\n    this.findController = findController;\n    this.textLayerRenderTask = null;\n    this.enhanceTextSelection = enhanceTextSelection;\n    this._onUpdateTextLayerMatches = null;\n\n    this._bindMouse();\n  }\n\n  _createClass(TextLayerBuilder, [{\n    key: \"_finishRendering\",\n    value: function _finishRendering() {\n      this.renderingDone = true;\n\n      if (!this.enhanceTextSelection) {\n        var endOfContent = document.createElement(\"div\");\n        endOfContent.className = \"endOfContent\";\n        this.textLayerDiv.appendChild(endOfContent);\n      }\n\n      this.eventBus.dispatch(\"textlayerrendered\", {\n        source: this,\n        pageNumber: this.pageNumber,\n        numTextDivs: this.textDivs.length\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this = this;\n\n      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n      if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n        return;\n      }\n\n      this.cancel();\n      this.textDivs = [];\n      var textLayerFrag = document.createDocumentFragment();\n      this.textLayerRenderTask = (0, _pdf.renderTextLayer)({\n        textContent: this.textContent,\n        textContentStream: this.textContentStream,\n        container: textLayerFrag,\n        viewport: this.viewport,\n        textDivs: this.textDivs,\n        textContentItemsStr: this.textContentItemsStr,\n        timeout: timeout,\n        enhanceTextSelection: this.enhanceTextSelection\n      });\n      this.textLayerRenderTask.promise.then(function () {\n        _this.textLayerDiv.appendChild(textLayerFrag);\n\n        _this._finishRendering();\n\n        _this._updateMatches();\n      }, function (reason) {});\n\n      if (!this._onUpdateTextLayerMatches) {\n        this._onUpdateTextLayerMatches = function (evt) {\n          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n            _this._updateMatches();\n          }\n        };\n\n        this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n      }\n    }\n  }, {\n    key: \"cancel\",\n    value: function cancel() {\n      if (this.textLayerRenderTask) {\n        this.textLayerRenderTask.cancel();\n        this.textLayerRenderTask = null;\n      }\n\n      if (this._onUpdateTextLayerMatches) {\n        this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n        this._onUpdateTextLayerMatches = null;\n      }\n    }\n  }, {\n    key: \"setTextContentStream\",\n    value: function setTextContentStream(readableStream) {\n      this.cancel();\n      this.textContentStream = readableStream;\n    }\n  }, {\n    key: \"setTextContent\",\n    value: function setTextContent(textContent) {\n      this.cancel();\n      this.textContent = textContent;\n    }\n  }, {\n    key: \"_convertMatches\",\n    value: function _convertMatches(matches, matchesLength) {\n      if (!matches) {\n        return [];\n      }\n\n      var findController = this.findController,\n          textContentItemsStr = this.textContentItemsStr;\n      var i = 0,\n          iIndex = 0;\n      var end = textContentItemsStr.length - 1;\n      var queryLen = findController.state.query.length;\n      var result = [];\n\n      for (var m = 0, mm = matches.length; m < mm; m++) {\n        var matchIdx = matches[m];\n\n        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n          iIndex += textContentItemsStr[i].length;\n          i++;\n        }\n\n        if (i === textContentItemsStr.length) {\n          console.error(\"Could not find a matching mapping\");\n        }\n\n        var match = {\n          begin: {\n            divIdx: i,\n            offset: matchIdx - iIndex\n          }\n        };\n\n        if (matchesLength) {\n          matchIdx += matchesLength[m];\n        } else {\n          matchIdx += queryLen;\n        }\n\n        while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n          iIndex += textContentItemsStr[i].length;\n          i++;\n        }\n\n        match.end = {\n          divIdx: i,\n          offset: matchIdx - iIndex\n        };\n        result.push(match);\n      }\n\n      return result;\n    }\n  }, {\n    key: \"_renderMatches\",\n    value: function _renderMatches(matches) {\n      if (matches.length === 0) {\n        return;\n      }\n\n      var findController = this.findController,\n          pageIdx = this.pageIdx,\n          textContentItemsStr = this.textContentItemsStr,\n          textDivs = this.textDivs;\n      var isSelectedPage = pageIdx === findController.selected.pageIdx;\n      var selectedMatchIdx = findController.selected.matchIdx;\n      var highlightAll = findController.state.highlightAll;\n      var prevEnd = null;\n      var infinity = {\n        divIdx: -1,\n        offset: undefined\n      };\n\n      function beginText(begin, className) {\n        var divIdx = begin.divIdx;\n        textDivs[divIdx].textContent = \"\";\n        appendTextToDiv(divIdx, 0, begin.offset, className);\n      }\n\n      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n        var div = textDivs[divIdx];\n        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n        var node = document.createTextNode(content);\n\n        if (className) {\n          var span = document.createElement(\"span\");\n          span.className = className;\n          span.appendChild(node);\n          div.appendChild(span);\n          return;\n        }\n\n        div.appendChild(node);\n      }\n\n      var i0 = selectedMatchIdx,\n          i1 = i0 + 1;\n\n      if (highlightAll) {\n        i0 = 0;\n        i1 = matches.length;\n      } else if (!isSelectedPage) {\n        return;\n      }\n\n      for (var i = i0; i < i1; i++) {\n        var match = matches[i];\n        var begin = match.begin;\n        var end = match.end;\n        var isSelected = isSelectedPage && i === selectedMatchIdx;\n        var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n        if (isSelected) {\n          findController.scrollMatchIntoView({\n            element: textDivs[begin.divIdx],\n            pageIndex: pageIdx,\n            matchIndex: selectedMatchIdx\n          });\n        }\n\n        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n          if (prevEnd !== null) {\n            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n          }\n\n          beginText(begin);\n        } else {\n          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n        }\n\n        if (begin.divIdx === end.divIdx) {\n          appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n        } else {\n          appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n            textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n          }\n\n          beginText(end, \"highlight end\" + highlightSuffix);\n        }\n\n        prevEnd = end;\n      }\n\n      if (prevEnd) {\n        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n      }\n    }\n  }, {\n    key: \"_updateMatches\",\n    value: function _updateMatches() {\n      if (!this.renderingDone) {\n        return;\n      }\n\n      var findController = this.findController,\n          matches = this.matches,\n          pageIdx = this.pageIdx,\n          textContentItemsStr = this.textContentItemsStr,\n          textDivs = this.textDivs;\n      var clearedUntilDivIdx = -1;\n\n      for (var i = 0, ii = matches.length; i < ii; i++) {\n        var match = matches[i];\n        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n        for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n          var div = textDivs[n];\n          div.textContent = textContentItemsStr[n];\n          div.className = \"\";\n        }\n\n        clearedUntilDivIdx = match.end.divIdx + 1;\n      }\n\n      if (!findController || !findController.highlightMatches) {\n        return;\n      }\n\n      var pageMatches = findController.pageMatches[pageIdx] || null;\n      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n      this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n      this._renderMatches(this.matches);\n    }\n  }, {\n    key: \"_bindMouse\",\n    value: function _bindMouse() {\n      var _this2 = this;\n\n      var div = this.textLayerDiv;\n      var expandDivsTimer = null;\n      div.addEventListener(\"mousedown\", function (evt) {\n        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n          _this2.textLayerRenderTask.expandTextDivs(true);\n\n          if (expandDivsTimer) {\n            clearTimeout(expandDivsTimer);\n            expandDivsTimer = null;\n          }\n\n          return;\n        }\n\n        var end = div.querySelector(\".endOfContent\");\n\n        if (!end) {\n          return;\n        }\n\n        var adjustTop = evt.target !== div;\n        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n        if (adjustTop) {\n          var divBounds = div.getBoundingClientRect();\n          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n          end.style.top = (r * 100).toFixed(2) + \"%\";\n        }\n\n        end.classList.add(\"active\");\n      });\n      div.addEventListener(\"mouseup\", function () {\n        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n          expandDivsTimer = setTimeout(function () {\n            if (_this2.textLayerRenderTask) {\n              _this2.textLayerRenderTask.expandTextDivs(false);\n            }\n\n            expandDivsTimer = null;\n          }, EXPAND_DIVS_TIMEOUT);\n          return;\n        }\n\n        var end = div.querySelector(\".endOfContent\");\n\n        if (!end) {\n          return;\n        }\n\n        end.style.top = \"\";\n        end.classList.remove(\"active\");\n      });\n    }\n  }]);\n\n  return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n  function DefaultTextLayerFactory() {\n    _classCallCheck(this, DefaultTextLayerFactory);\n  }\n\n  _createClass(DefaultTextLayerFactory, [{\n    key: \"createTextLayerBuilder\",\n    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n      return new TextLayerBuilder({\n        textLayerDiv: textLayerDiv,\n        pageIndex: pageIndex,\n        viewport: viewport,\n        enhanceTextSelection: enhanceTextSelection,\n        eventBus: eventBus\n      });\n    }\n  }]);\n\n  return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n\n/***/ \"9e56\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.GenericL10n = void 0;\n\n__webpack_require__(\"b87b\");\n\nvar webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n  function GenericL10n(lang) {\n    _classCallCheck(this, GenericL10n);\n\n    this._lang = lang;\n    this._ready = new Promise(function (resolve, reject) {\n      webL10n.setLanguage(lang, function () {\n        resolve(webL10n);\n      });\n    });\n  }\n\n  _createClass(GenericL10n, [{\n    key: \"getLanguage\",\n    value: function () {\n      var _getLanguage = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var l10n;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return this._ready;\n\n              case 2:\n                l10n = _context.sent;\n                return _context.abrupt(\"return\", l10n.getLanguage());\n\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function getLanguage() {\n        return _getLanguage.apply(this, arguments);\n      }\n\n      return getLanguage;\n    }()\n  }, {\n    key: \"getDirection\",\n    value: function () {\n      var _getDirection = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var l10n;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this._ready;\n\n              case 2:\n                l10n = _context2.sent;\n                return _context2.abrupt(\"return\", l10n.getDirection());\n\n              case 4:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function getDirection() {\n        return _getDirection.apply(this, arguments);\n      }\n\n      return getDirection;\n    }()\n  }, {\n    key: \"get\",\n    value: function () {\n      var _get = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(property, args, fallback) {\n        var l10n;\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.next = 2;\n                return this._ready;\n\n              case 2:\n                l10n = _context3.sent;\n                return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n              case 4:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function get(_x, _x2, _x3) {\n        return _get.apply(this, arguments);\n      }\n\n      return get;\n    }()\n  }, {\n    key: \"translate\",\n    value: function () {\n      var _translate = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(element) {\n        var l10n;\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                _context4.next = 2;\n                return this._ready;\n\n              case 2:\n                l10n = _context4.sent;\n                return _context4.abrupt(\"return\", l10n.translate(element));\n\n              case 4:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, this);\n      }));\n\n      function translate(_x4) {\n        return _translate.apply(this, arguments);\n      }\n\n      return translate;\n    }()\n  }]);\n\n  return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n\n/***/ \"9ed3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(\"ae93\").IteratorPrototype;\nvar create = __webpack_require__(\"7c73\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar Iterators = __webpack_require__(\"3f8c\");\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n\n\n/***/ }),\n\n/***/ \"9eea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"9129\");\n\n__webpack_require__(\"cca6\");\n\n__webpack_require__(\"b64b\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"1276\");\n\n__webpack_require__(\"2ca0\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n  return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n  function PDFHistory(_ref) {\n    var _this = this;\n\n    var linkService = _ref.linkService,\n        eventBus = _ref.eventBus;\n\n    _classCallCheck(this, PDFHistory);\n\n    this.linkService = linkService;\n    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this._initialized = false;\n    this._fingerprint = \"\";\n    this.reset();\n    this._boundEvents = null;\n    this._isViewerInPresentationMode = false;\n\n    this.eventBus._on(\"presentationmodechanged\", function (evt) {\n      _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n    });\n\n    this.eventBus._on(\"pagesinit\", function () {\n      _this._isPagesLoaded = false;\n\n      var onPagesLoaded = function onPagesLoaded(evt) {\n        _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n        _this._isPagesLoaded = !!evt.pagesCount;\n      };\n\n      _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n    });\n  }\n\n  _createClass(PDFHistory, [{\n    key: \"initialize\",\n    value: function initialize(_ref2) {\n      var fingerprint = _ref2.fingerprint,\n          _ref2$resetHistory = _ref2.resetHistory,\n          resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n          _ref2$updateUrl = _ref2.updateUrl,\n          updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n      if (!fingerprint || typeof fingerprint !== \"string\") {\n        console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n        return;\n      }\n\n      if (this._initialized) {\n        this.reset();\n      }\n\n      var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n      this._fingerprint = fingerprint;\n      this._updateUrl = updateUrl === true;\n      this._initialized = true;\n\n      this._bindEvents();\n\n      var state = window.history.state;\n      this._popStateInProgress = false;\n      this._blockHashChange = 0;\n      this._currentHash = getCurrentHash();\n      this._numPositionUpdates = 0;\n      this._uid = this._maxUid = 0;\n      this._destination = null;\n      this._position = null;\n\n      if (!this._isValidState(state, true) || resetHistory) {\n        var _this$_parseCurrentHa = this._parseCurrentHash(),\n            hash = _this$_parseCurrentHa.hash,\n            page = _this$_parseCurrentHa.page,\n            rotation = _this$_parseCurrentHa.rotation;\n\n        if (!hash || reInitialized || resetHistory) {\n          this._pushOrReplaceState(null, true);\n\n          return;\n        }\n\n        this._pushOrReplaceState({\n          hash: hash,\n          page: page,\n          rotation: rotation\n        }, true);\n\n        return;\n      }\n\n      var destination = state.destination;\n\n      this._updateInternalState(destination, state.uid, true);\n\n      if (this._uid > this._maxUid) {\n        this._maxUid = this._uid;\n      }\n\n      if (destination.rotation !== undefined) {\n        this._initialRotation = destination.rotation;\n      }\n\n      if (destination.dest) {\n        this._initialBookmark = JSON.stringify(destination.dest);\n        this._destination.page = null;\n      } else if (destination.hash) {\n        this._initialBookmark = destination.hash;\n      } else if (destination.page) {\n        this._initialBookmark = \"page=\".concat(destination.page);\n      }\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      if (this._initialized) {\n        this._pageHide();\n\n        this._initialized = false;\n\n        this._unbindEvents();\n      }\n\n      if (this._updateViewareaTimeout) {\n        clearTimeout(this._updateViewareaTimeout);\n        this._updateViewareaTimeout = null;\n      }\n\n      this._initialBookmark = null;\n      this._initialRotation = null;\n    }\n  }, {\n    key: \"push\",\n    value: function push(_ref3) {\n      var _this2 = this;\n\n      var _ref3$namedDest = _ref3.namedDest,\n          namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n          explicitDest = _ref3.explicitDest,\n          pageNumber = _ref3.pageNumber;\n\n      if (!this._initialized) {\n        return;\n      }\n\n      if (namedDest && typeof namedDest !== \"string\") {\n        console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n        return;\n      } else if (!Array.isArray(explicitDest)) {\n        console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n        return;\n      } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n        if (pageNumber !== null || this._destination) {\n          console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n          return;\n        }\n      }\n\n      var hash = namedDest || JSON.stringify(explicitDest);\n\n      if (!hash) {\n        return;\n      }\n\n      var forceReplace = false;\n\n      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n        if (this._destination.page) {\n          return;\n        }\n\n        forceReplace = true;\n      }\n\n      if (this._popStateInProgress && !forceReplace) {\n        return;\n      }\n\n      this._pushOrReplaceState({\n        dest: explicitDest,\n        hash: hash,\n        page: pageNumber,\n        rotation: this.linkService.rotation\n      }, forceReplace);\n\n      if (!this._popStateInProgress) {\n        this._popStateInProgress = true;\n        Promise.resolve().then(function () {\n          _this2._popStateInProgress = false;\n        });\n      }\n    }\n  }, {\n    key: \"pushCurrentPosition\",\n    value: function pushCurrentPosition() {\n      if (!this._initialized || this._popStateInProgress) {\n        return;\n      }\n\n      this._tryPushCurrentPosition();\n    }\n  }, {\n    key: \"back\",\n    value: function back() {\n      if (!this._initialized || this._popStateInProgress) {\n        return;\n      }\n\n      var state = window.history.state;\n\n      if (this._isValidState(state) && state.uid > 0) {\n        window.history.back();\n      }\n    }\n  }, {\n    key: \"forward\",\n    value: function forward() {\n      if (!this._initialized || this._popStateInProgress) {\n        return;\n      }\n\n      var state = window.history.state;\n\n      if (this._isValidState(state) && state.uid < this._maxUid) {\n        window.history.forward();\n      }\n    }\n  }, {\n    key: \"_pushOrReplaceState\",\n    value: function _pushOrReplaceState(destination) {\n      var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var shouldReplace = forceReplace || !this._destination;\n      var newState = {\n        fingerprint: this._fingerprint,\n        uid: shouldReplace ? this._uid : this._uid + 1,\n        destination: destination\n      };\n\n      this._updateInternalState(destination, newState.uid);\n\n      var newUrl;\n\n      if (this._updateUrl && destination && destination.hash) {\n        var baseUrl = document.location.href.split(\"#\")[0];\n\n        if (!baseUrl.startsWith(\"file://\")) {\n          newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n        }\n      }\n\n      if (shouldReplace) {\n        window.history.replaceState(newState, \"\", newUrl);\n      } else {\n        this._maxUid = this._uid;\n        window.history.pushState(newState, \"\", newUrl);\n      }\n    }\n  }, {\n    key: \"_tryPushCurrentPosition\",\n    value: function _tryPushCurrentPosition() {\n      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!this._position) {\n        return;\n      }\n\n      var position = this._position;\n\n      if (temporary) {\n        position = Object.assign(Object.create(null), this._position);\n        position.temporary = true;\n      }\n\n      if (!this._destination) {\n        this._pushOrReplaceState(position);\n\n        return;\n      }\n\n      if (this._destination.temporary) {\n        this._pushOrReplaceState(position, true);\n\n        return;\n      }\n\n      if (this._destination.hash === position.hash) {\n        return;\n      }\n\n      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n        return;\n      }\n\n      var forceReplace = false;\n\n      if (this._destination.page >= position.first && this._destination.page <= position.page) {\n        if (this._destination.dest || !this._destination.first) {\n          return;\n        }\n\n        forceReplace = true;\n      }\n\n      this._pushOrReplaceState(position, forceReplace);\n    }\n  }, {\n    key: \"_isValidState\",\n    value: function _isValidState(state) {\n      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (!state) {\n        return false;\n      }\n\n      if (state.fingerprint !== this._fingerprint) {\n        if (checkReload) {\n          if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n            return false;\n          }\n\n          var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n              perfEntry = _performance$getEntri2[0];\n\n          if (!perfEntry || perfEntry.type !== \"reload\") {\n            return false;\n          }\n        } else {\n          return false;\n        }\n      }\n\n      if (!Number.isInteger(state.uid) || state.uid < 0) {\n        return false;\n      }\n\n      if (state.destination === null || _typeof(state.destination) !== \"object\") {\n        return false;\n      }\n\n      return true;\n    }\n  }, {\n    key: \"_updateInternalState\",\n    value: function _updateInternalState(destination, uid) {\n      var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n      if (this._updateViewareaTimeout) {\n        clearTimeout(this._updateViewareaTimeout);\n        this._updateViewareaTimeout = null;\n      }\n\n      if (removeTemporary && destination && destination.temporary) {\n        delete destination.temporary;\n      }\n\n      this._destination = destination;\n      this._uid = uid;\n      this._numPositionUpdates = 0;\n    }\n  }, {\n    key: \"_parseCurrentHash\",\n    value: function _parseCurrentHash() {\n      var hash = unescape(getCurrentHash()).substring(1);\n      var page = (0, _ui_utils.parseQueryString)(hash).page | 0;\n\n      if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount)) {\n        page = null;\n      }\n\n      return {\n        hash: hash,\n        page: page,\n        rotation: this.linkService.rotation\n      };\n    }\n  }, {\n    key: \"_updateViewarea\",\n    value: function _updateViewarea(_ref4) {\n      var _this3 = this;\n\n      var location = _ref4.location;\n\n      if (this._updateViewareaTimeout) {\n        clearTimeout(this._updateViewareaTimeout);\n        this._updateViewareaTimeout = null;\n      }\n\n      this._position = {\n        hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n        page: this.linkService.page,\n        first: location.pageNumber,\n        rotation: location.rotation\n      };\n\n      if (this._popStateInProgress) {\n        return;\n      }\n\n      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n        this._numPositionUpdates++;\n      }\n\n      if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n        this._updateViewareaTimeout = setTimeout(function () {\n          if (!_this3._popStateInProgress) {\n            _this3._tryPushCurrentPosition(true);\n          }\n\n          _this3._updateViewareaTimeout = null;\n        }, UPDATE_VIEWAREA_TIMEOUT);\n      }\n    }\n  }, {\n    key: \"_popState\",\n    value: function _popState(_ref5) {\n      var _this4 = this;\n\n      var state = _ref5.state;\n      var newHash = getCurrentHash(),\n          hashChanged = this._currentHash !== newHash;\n      this._currentHash = newHash;\n\n      if (!state) {\n        this._uid++;\n\n        var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n            hash = _this$_parseCurrentHa2.hash,\n            page = _this$_parseCurrentHa2.page,\n            rotation = _this$_parseCurrentHa2.rotation;\n\n        this._pushOrReplaceState({\n          hash: hash,\n          page: page,\n          rotation: rotation\n        }, true);\n\n        return;\n      }\n\n      if (!this._isValidState(state)) {\n        return;\n      }\n\n      this._popStateInProgress = true;\n\n      if (hashChanged) {\n        this._blockHashChange++;\n        (0, _ui_utils.waitOnEventOrTimeout)({\n          target: window,\n          name: \"hashchange\",\n          delay: HASH_CHANGE_TIMEOUT\n        }).then(function () {\n          _this4._blockHashChange--;\n        });\n      }\n\n      var destination = state.destination;\n\n      this._updateInternalState(destination, state.uid, true);\n\n      if (this._uid > this._maxUid) {\n        this._maxUid = this._uid;\n      }\n\n      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n        this.linkService.rotation = destination.rotation;\n      }\n\n      if (destination.dest) {\n        this.linkService.navigateTo(destination.dest);\n      } else if (destination.hash) {\n        this.linkService.setHash(destination.hash);\n      } else if (destination.page) {\n        this.linkService.page = destination.page;\n      }\n\n      Promise.resolve().then(function () {\n        _this4._popStateInProgress = false;\n      });\n    }\n  }, {\n    key: \"_pageHide\",\n    value: function _pageHide() {\n      if (!this._destination || this._destination.temporary) {\n        this._tryPushCurrentPosition();\n      }\n    }\n  }, {\n    key: \"_bindEvents\",\n    value: function _bindEvents() {\n      if (this._boundEvents) {\n        return;\n      }\n\n      this._boundEvents = {\n        updateViewarea: this._updateViewarea.bind(this),\n        popState: this._popState.bind(this),\n        pageHide: this._pageHide.bind(this)\n      };\n\n      this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n      window.addEventListener(\"popstate\", this._boundEvents.popState);\n      window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n    }\n  }, {\n    key: \"_unbindEvents\",\n    value: function _unbindEvents() {\n      if (!this._boundEvents) {\n        return;\n      }\n\n      this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n      window.removeEventListener(\"popstate\", this._boundEvents.popState);\n      window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n      this._boundEvents = null;\n    }\n  }, {\n    key: \"popStateInProgress\",\n    get: function get() {\n      return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n    }\n  }, {\n    key: \"initialBookmark\",\n    get: function get() {\n      return this._initialized ? this._initialBookmark : null;\n    }\n  }, {\n    key: \"initialRotation\",\n    get: function get() {\n      return this._initialized ? this._initialRotation : null;\n    }\n  }]);\n\n  return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n  if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n    return false;\n  }\n\n  if (destHash === pushHash) {\n    return true;\n  }\n\n  var _ref6 = (0, _ui_utils.parseQueryString)(destHash),\n      nameddest = _ref6.nameddest;\n\n  if (nameddest === pushHash) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n  function isEntryEqual(first, second) {\n    if (_typeof(first) !== _typeof(second)) {\n      return false;\n    }\n\n    if (Array.isArray(first) || Array.isArray(second)) {\n      return false;\n    }\n\n    if (first !== null && _typeof(first) === \"object\" && second !== null) {\n      if (Object.keys(first).length !== Object.keys(second).length) {\n        return false;\n      }\n\n      for (var key in first) {\n        if (!isEntryEqual(first[key], second[key])) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    return first === second || Number.isNaN(first) && Number.isNaN(second);\n  }\n\n  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n    return false;\n  }\n\n  if (firstDest.length !== secondDest.length) {\n    return false;\n  }\n\n  for (var i = 0, ii = firstDest.length; i < ii; i++) {\n    if (!isEntryEqual(firstDest[i], secondDest[i])) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\n/***/ }),\n\n/***/ \"9f70\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getPrototypeOf = __webpack_require__(\"36c6\");\n\nfunction _superPropBase(object, property) {\n  while (!Object.prototype.hasOwnProperty.call(object, property)) {\n    object = getPrototypeOf(object);\n    if (object === null) break;\n  }\n\n  return object;\n}\n\nmodule.exports = _superPropBase;\n\n/***/ }),\n\n/***/ \"9f7f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar fails = __webpack_require__(\"d039\");\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n  return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n  var re = RE('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = RE('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') != null;\n});\n\n\n/***/ }),\n\n/***/ \"9fbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"a630\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"4d63\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"1276\");\n\n__webpack_require__(\"2ca0\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n  var needsEncodingFixup = true;\n  var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n  if (tmp) {\n    tmp = tmp[1];\n    var filename = rfc2616unquote(tmp);\n    filename = unescape(filename);\n    filename = rfc5987decode(filename);\n    filename = rfc2047decode(filename);\n    return fixupEncoding(filename);\n  }\n\n  tmp = rfc2231getparam(contentDisposition);\n\n  if (tmp) {\n    var _filename = rfc2047decode(tmp);\n\n    return fixupEncoding(_filename);\n  }\n\n  tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n  if (tmp) {\n    tmp = tmp[1];\n\n    var _filename2 = rfc2616unquote(tmp);\n\n    _filename2 = rfc2047decode(_filename2);\n    return fixupEncoding(_filename2);\n  }\n\n  function toParamRegExp(attributePattern, flags) {\n    return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n  }\n\n  function textdecode(encoding, value) {\n    if (encoding) {\n      if (!/^[\\x00-\\xFF]+$/.test(value)) {\n        return value;\n      }\n\n      try {\n        var decoder = new TextDecoder(encoding, {\n          fatal: true\n        });\n        var bytes = Array.from(value, function (ch) {\n          return ch.charCodeAt(0) & 0xff;\n        });\n        value = decoder.decode(new Uint8Array(bytes));\n        needsEncodingFixup = false;\n      } catch (e) {\n        if (/^utf-?8$/i.test(encoding)) {\n          try {\n            value = decodeURIComponent(escape(value));\n            needsEncodingFixup = false;\n          } catch (err) {}\n        }\n      }\n    }\n\n    return value;\n  }\n\n  function fixupEncoding(value) {\n    if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n      value = textdecode(\"utf-8\", value);\n\n      if (needsEncodingFixup) {\n        value = textdecode(\"iso-8859-1\", value);\n      }\n    }\n\n    return value;\n  }\n\n  function rfc2231getparam(contentDisposition) {\n    var matches = [];\n    var match;\n    var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n    while ((match = iter.exec(contentDisposition)) !== null) {\n      var _match = match,\n          _match2 = _slicedToArray(_match, 4),\n          n = _match2[1],\n          quot = _match2[2],\n          part = _match2[3];\n\n      n = parseInt(n, 10);\n\n      if (n in matches) {\n        if (n === 0) {\n          break;\n        }\n\n        continue;\n      }\n\n      matches[n] = [quot, part];\n    }\n\n    var parts = [];\n\n    for (var _n = 0; _n < matches.length; ++_n) {\n      if (!(_n in matches)) {\n        break;\n      }\n\n      var _matches$_n = _slicedToArray(matches[_n], 2),\n          _quot = _matches$_n[0],\n          _part = _matches$_n[1];\n\n      _part = rfc2616unquote(_part);\n\n      if (_quot) {\n        _part = unescape(_part);\n\n        if (_n === 0) {\n          _part = rfc5987decode(_part);\n        }\n      }\n\n      parts.push(_part);\n    }\n\n    return parts.join(\"\");\n  }\n\n  function rfc2616unquote(value) {\n    if (value.startsWith('\"')) {\n      var parts = value.slice(1).split('\\\\\"');\n\n      for (var i = 0; i < parts.length; ++i) {\n        var quotindex = parts[i].indexOf('\"');\n\n        if (quotindex !== -1) {\n          parts[i] = parts[i].slice(0, quotindex);\n          parts.length = i + 1;\n        }\n\n        parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n      }\n\n      value = parts.join('\"');\n    }\n\n    return value;\n  }\n\n  function rfc5987decode(extvalue) {\n    var encodingend = extvalue.indexOf(\"'\");\n\n    if (encodingend === -1) {\n      return extvalue;\n    }\n\n    var encoding = extvalue.slice(0, encodingend);\n    var langvalue = extvalue.slice(encodingend + 1);\n    var value = langvalue.replace(/^[^']*'/, \"\");\n    return textdecode(encoding, value);\n  }\n\n  function rfc2047decode(value) {\n    if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n      return value;\n    }\n\n    return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n      if (encoding === \"q\" || encoding === \"Q\") {\n        text = text.replace(/_/g, \" \");\n        text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n          return String.fromCharCode(parseInt(hex, 16));\n        });\n        return textdecode(charset, text);\n      }\n\n      try {\n        text = atob(text);\n      } catch (e) {}\n\n      return textdecode(charset, text);\n    });\n  }\n\n  return \"\";\n}\n\n/***/ }),\n\n/***/ \"a078\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\nvar isArrayIteratorMethod = __webpack_require__(\"e95a\");\nvar bind = __webpack_require__(\"0366\");\nvar aTypedArrayConstructor = __webpack_require__(\"ebb5\").aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n  var O = toObject(source);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  var iteratorMethod = getIteratorMethod(O);\n  var i, length, result, step, iterator, next;\n  if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n    iterator = iteratorMethod.call(O);\n    next = iterator.next;\n    O = [];\n    while (!(step = next.call(iterator)).done) {\n      O.push(step.value);\n    }\n  }\n  if (mapping && argumentsLength > 2) {\n    mapfn = bind(mapfn, arguments[2], 2);\n  }\n  length = toLength(O.length);\n  result = new (aTypedArrayConstructor(this))(length);\n  for (i = 0; length > i; i++) {\n    result[i] = mapping ? mapfn(O[i], i) : O[i];\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"a15b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n  join: function join(separator) {\n    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"a176\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(\"24fb\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"#sidebarContainer.zero-top[data-v-4aaa9b0d],#sidebarContent.zero-top[data-v-4aaa9b0d],#viewerContainer.zero-top[data-v-4aaa9b0d]{top:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n/***/ }),\n\n/***/ \"a3cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar pdfjsVersion = '2.4.456';\nvar pdfjsBuild = '228a591c';\n\nvar pdfjsSharedUtil = __webpack_require__(\"dacc\");\n\nvar pdfjsDisplayAPI = __webpack_require__(\"97fb\");\n\nvar pdfjsDisplayTextLayer = __webpack_require__(\"a765\");\n\nvar pdfjsDisplayAnnotationLayer = __webpack_require__(\"ad4c\");\n\nvar pdfjsDisplayDisplayUtils = __webpack_require__(\"61a8\");\n\nvar pdfjsDisplaySVG = __webpack_require__(\"02c5\");\n\nvar pdfjsDisplayWorkerOptions = __webpack_require__(\"52f8\");\n\nvar pdfjsDisplayAPICompatibility = __webpack_require__(\"b3d5\");\n\n{\n  var _require = __webpack_require__(\"eca3\"),\n      isNodeJS = _require.isNodeJS;\n\n  if (isNodeJS) {\n    var PDFNodeStream = __webpack_require__(\"458c\").PDFNodeStream;\n\n    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n      return new PDFNodeStream(params);\n    });\n  } else {\n    var PDFNetworkStream = __webpack_require__(\"88cc\").PDFNetworkStream;\n\n    var PDFFetchStream;\n\n    if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n      PDFFetchStream = __webpack_require__(\"3f9c\").PDFFetchStream;\n    }\n\n    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n      if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n        return new PDFFetchStream(params);\n      }\n\n      return new PDFNetworkStream(params);\n    });\n  }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n\n/***/ \"a434\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar toInteger = __webpack_require__(\"a691\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar arraySpeciesCreate = __webpack_require__(\"65f0\");\nvar createProperty = __webpack_require__(\"8418\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n  splice: function splice(start, deleteCount /* , ...items */) {\n    var O = toObject(this);\n    var len = toLength(O.length);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var insertCount, actualDeleteCount, A, k, from, to;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n    }\n    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n    }\n    A = arraySpeciesCreate(O, actualDeleteCount);\n    for (k = 0; k < actualDeleteCount; k++) {\n      from = actualStart + k;\n      if (from in O) createProperty(A, k, O[from]);\n    }\n    A.length = actualDeleteCount;\n    if (insertCount < actualDeleteCount) {\n      for (k = actualStart; k < len - actualDeleteCount; k++) {\n        from = k + actualDeleteCount;\n        to = k + insertCount;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n    } else if (insertCount > actualDeleteCount) {\n      for (k = len - actualDeleteCount; k > actualStart; k--) {\n        from = k + actualDeleteCount - 1;\n        to = k + insertCount - 1;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n    }\n    for (k = 0; k < insertCount; k++) {\n      O[k + actualStart] = arguments[k + 2];\n    }\n    O.length = len - actualDeleteCount + insertCount;\n    return A;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"a4d3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(\"fdbf\");\nvar fails = __webpack_require__(\"d039\");\nvar has = __webpack_require__(\"5135\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar isObject = __webpack_require__(\"861d\");\nvar anObject = __webpack_require__(\"825a\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar nativeObjectCreate = __webpack_require__(\"7c73\");\nvar objectKeys = __webpack_require__(\"df75\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertyNamesExternal = __webpack_require__(\"057f\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar shared = __webpack_require__(\"5692\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar uid = __webpack_require__(\"90e3\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar $forEach = __webpack_require__(\"b727\").forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPrimitive(P, true);\n  anObject(Attributes);\n  if (has(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n      O[HIDDEN][key] = true;\n    } else {\n      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPrimitive(V, true);\n  var enumerable = nativePropertyIsEnumerable.call(this, P);\n  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPrimitive(P, true);\n  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n      result.push(AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  redefine($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://github.com/tc39/proposal-Symbol-description\n    nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Symbol.for` method\n  // https://tc39.github.io/ecma262/#sec-symbol.for\n  'for': function (key) {\n    var string = String(key);\n    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = $Symbol(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  },\n  // `Symbol.keyFor` method\n  // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  },\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.github.io/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // `Object.getOwnPropertySymbols` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return getOwnPropertySymbolsModule.f(toObject(it));\n  }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n  var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n    var symbol = $Symbol();\n    // MS Edge converts symbol values to JSON as {}\n    return $stringify([symbol]) != '[null]'\n      // WebKit converts symbol values to JSON as null\n      || $stringify({ a: symbol }) != '{}'\n      // V8 throws on boxed symbols\n      || $stringify(Object(symbol)) != '{}';\n  });\n\n  $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n    // eslint-disable-next-line no-unused-vars\n    stringify: function stringify(it, replacer, space) {\n      var args = [it];\n      var index = 1;\n      var $replacer;\n      while (arguments.length > index) args.push(arguments[index++]);\n      $replacer = replacer;\n      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n      if (!isArray(replacer)) replacer = function (key, value) {\n        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n        if (!isSymbol(value)) return value;\n      };\n      args[1] = replacer;\n      return $stringify.apply(null, args);\n    }\n  });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n  createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n\n\n/***/ }),\n\n/***/ \"a623\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $every = __webpack_require__(\"b727\").every;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n  every: function every(callbackfn /* , thisArg */) {\n    return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"a630\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar from = __webpack_require__(\"4df4\");\nvar checkCorrectnessOfIteration = __webpack_require__(\"1c7e\");\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n\n\n/***/ }),\n\n/***/ \"a640\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call,no-throw-literal\n    method.call(null, argument || function () { throw 1; }, 1);\n  });\n};\n\n\n/***/ }),\n\n/***/ \"a691\":\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n\n/***/ \"a6d9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"a176\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(\"499e\").default\nvar update = add(\"ffab1974\", content, true, {\"sourceMap\":false,\"shadowMode\":false});\n\n/***/ }),\n\n/***/ \"a765\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"d81d\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"6c57\");\n\n__webpack_require__(\"cca6\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"a79d\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"4a9b\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"10d1\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"ddb0\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar renderTextLayer = function renderTextLayerClosure() {\n  var MAX_TEXT_DIVS_TO_RENDER = 100000;\n  var NonWhitespaceRegexp = /\\S/;\n\n  function isAllWhitespace(str) {\n    return !NonWhitespaceRegexp.test(str);\n  }\n\n  function appendText(task, geom, styles) {\n    var textDiv = document.createElement(\"span\");\n    var textDivProperties = {\n      angle: 0,\n      canvasWidth: 0,\n      isWhitespace: false,\n      originalTransform: null,\n      paddingBottom: 0,\n      paddingLeft: 0,\n      paddingRight: 0,\n      paddingTop: 0,\n      scale: 1\n    };\n\n    task._textDivs.push(textDiv);\n\n    if (isAllWhitespace(geom.str)) {\n      textDivProperties.isWhitespace = true;\n\n      task._textDivProperties.set(textDiv, textDivProperties);\n\n      return;\n    }\n\n    var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n    var angle = Math.atan2(tx[1], tx[0]);\n    var style = styles[geom.fontName];\n\n    if (style.vertical) {\n      angle += Math.PI / 2;\n    }\n\n    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n    var fontAscent = fontHeight;\n\n    if (style.ascent) {\n      fontAscent = style.ascent * fontAscent;\n    } else if (style.descent) {\n      fontAscent = (1 + style.descent) * fontAscent;\n    }\n\n    var left, top;\n\n    if (angle === 0) {\n      left = tx[4];\n      top = tx[5] - fontAscent;\n    } else {\n      left = tx[4] + fontAscent * Math.sin(angle);\n      top = tx[5] - fontAscent * Math.cos(angle);\n    }\n\n    textDiv.style.left = \"\".concat(left, \"px\");\n    textDiv.style.top = \"\".concat(top, \"px\");\n    textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n    textDiv.style.fontFamily = style.fontFamily;\n    textDiv.textContent = geom.str;\n\n    if (task._fontInspectorEnabled) {\n      textDiv.dataset.fontName = geom.fontName;\n    }\n\n    if (angle !== 0) {\n      textDivProperties.angle = angle * (180 / Math.PI);\n    }\n\n    if (geom.str.length > 1) {\n      if (style.vertical) {\n        textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n      } else {\n        textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n      }\n    }\n\n    task._textDivProperties.set(textDiv, textDivProperties);\n\n    if (task._textContentStream) {\n      task._layoutText(textDiv);\n    }\n\n    if (task._enhanceTextSelection) {\n      var angleCos = 1,\n          angleSin = 0;\n\n      if (angle !== 0) {\n        angleCos = Math.cos(angle);\n        angleSin = Math.sin(angle);\n      }\n\n      var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n      var divHeight = fontHeight;\n      var m, b;\n\n      if (angle !== 0) {\n        m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n        b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n      } else {\n        b = [left, top, left + divWidth, top + divHeight];\n      }\n\n      task._bounds.push({\n        left: b[0],\n        top: b[1],\n        right: b[2],\n        bottom: b[3],\n        div: textDiv,\n        size: [divWidth, divHeight],\n        m: m\n      });\n    }\n  }\n\n  function render(task) {\n    if (task._canceled) {\n      return;\n    }\n\n    var textDivs = task._textDivs;\n    var capability = task._capability;\n    var textDivsLength = textDivs.length;\n\n    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n      task._renderingDone = true;\n      capability.resolve();\n      return;\n    }\n\n    if (!task._textContentStream) {\n      for (var i = 0; i < textDivsLength; i++) {\n        task._layoutText(textDivs[i]);\n      }\n    }\n\n    task._renderingDone = true;\n    capability.resolve();\n  }\n\n  function expand(task) {\n    var bounds = task._bounds;\n    var viewport = task._viewport;\n    var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n    for (var i = 0; i < expanded.length; i++) {\n      var div = bounds[i].div;\n\n      var divProperties = task._textDivProperties.get(div);\n\n      if (divProperties.angle === 0) {\n        divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n        divProperties.paddingTop = bounds[i].top - expanded[i].top;\n        divProperties.paddingRight = expanded[i].right - bounds[i].right;\n        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n        task._textDivProperties.set(div, divProperties);\n\n        continue;\n      }\n\n      var e = expanded[i],\n          b = bounds[i];\n      var m = b.m,\n          c = m[0],\n          s = m[1];\n      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n      var ts = new Float64Array(64);\n      points.forEach(function (p, i) {\n        var t = _util.Util.applyTransform(p, m);\n\n        ts[i + 0] = c && (e.left - t[0]) / c;\n        ts[i + 4] = s && (e.top - t[1]) / s;\n        ts[i + 8] = c && (e.right - t[0]) / c;\n        ts[i + 12] = s && (e.bottom - t[1]) / s;\n        ts[i + 16] = s && (e.left - t[0]) / -s;\n        ts[i + 20] = c && (e.top - t[1]) / c;\n        ts[i + 24] = s && (e.right - t[0]) / -s;\n        ts[i + 28] = c && (e.bottom - t[1]) / c;\n        ts[i + 32] = c && (e.left - t[0]) / -c;\n        ts[i + 36] = s && (e.top - t[1]) / -s;\n        ts[i + 40] = c && (e.right - t[0]) / -c;\n        ts[i + 44] = s && (e.bottom - t[1]) / -s;\n        ts[i + 48] = s && (e.left - t[0]) / s;\n        ts[i + 52] = c && (e.top - t[1]) / -c;\n        ts[i + 56] = s && (e.right - t[0]) / s;\n        ts[i + 60] = c && (e.bottom - t[1]) / -c;\n      });\n\n      var findPositiveMin = function findPositiveMin(ts, offset, count) {\n        var result = 0;\n\n        for (var i = 0; i < count; i++) {\n          var t = ts[offset++];\n\n          if (t > 0) {\n            result = result ? Math.min(t, result) : t;\n          }\n        }\n\n        return result;\n      };\n\n      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n      task._textDivProperties.set(div, divProperties);\n    }\n  }\n\n  function expandBounds(width, height, boxes) {\n    var bounds = boxes.map(function (box, i) {\n      return {\n        x1: box.left,\n        y1: box.top,\n        x2: box.right,\n        y2: box.bottom,\n        index: i,\n        x1New: undefined,\n        x2New: undefined\n      };\n    });\n    expandBoundsLTR(width, bounds);\n    var expanded = new Array(boxes.length);\n    bounds.forEach(function (b) {\n      var i = b.index;\n      expanded[i] = {\n        left: b.x1New,\n        top: 0,\n        right: b.x2New,\n        bottom: 0\n      };\n    });\n    boxes.map(function (box, i) {\n      var e = expanded[i],\n          b = bounds[i];\n      b.x1 = box.top;\n      b.y1 = width - e.right;\n      b.x2 = box.bottom;\n      b.y2 = width - e.left;\n      b.index = i;\n      b.x1New = undefined;\n      b.x2New = undefined;\n    });\n    expandBoundsLTR(height, bounds);\n    bounds.forEach(function (b) {\n      var i = b.index;\n      expanded[i].top = b.x1New;\n      expanded[i].bottom = b.x2New;\n    });\n    return expanded;\n  }\n\n  function expandBoundsLTR(width, bounds) {\n    bounds.sort(function (a, b) {\n      return a.x1 - b.x1 || a.index - b.index;\n    });\n    var fakeBoundary = {\n      x1: -Infinity,\n      y1: -Infinity,\n      x2: 0,\n      y2: Infinity,\n      index: -1,\n      x1New: 0,\n      x2New: 0\n    };\n    var horizon = [{\n      start: -Infinity,\n      end: Infinity,\n      boundary: fakeBoundary\n    }];\n    bounds.forEach(function (boundary) {\n      var i = 0;\n\n      while (i < horizon.length && horizon[i].end <= boundary.y1) {\n        i++;\n      }\n\n      var j = horizon.length - 1;\n\n      while (j >= 0 && horizon[j].start >= boundary.y2) {\n        j--;\n      }\n\n      var horizonPart, affectedBoundary;\n      var q,\n          k,\n          maxXNew = -Infinity;\n\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        var xNew;\n\n        if (affectedBoundary.x2 > boundary.x1) {\n          xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n        } else if (affectedBoundary.x2New === undefined) {\n          xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n        } else {\n          xNew = affectedBoundary.x2New;\n        }\n\n        if (xNew > maxXNew) {\n          maxXNew = xNew;\n        }\n      }\n\n      boundary.x1New = maxXNew;\n\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n\n        if (affectedBoundary.x2New === undefined) {\n          if (affectedBoundary.x2 > boundary.x1) {\n            if (affectedBoundary.index > boundary.index) {\n              affectedBoundary.x2New = affectedBoundary.x2;\n            }\n          } else {\n            affectedBoundary.x2New = maxXNew;\n          }\n        } else if (affectedBoundary.x2New > maxXNew) {\n          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n        }\n      }\n\n      var changedHorizon = [],\n          lastBoundary = null;\n\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n        if (lastBoundary === useBoundary) {\n          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n        } else {\n          changedHorizon.push({\n            start: horizonPart.start,\n            end: horizonPart.end,\n            boundary: useBoundary\n          });\n          lastBoundary = useBoundary;\n        }\n      }\n\n      if (horizon[i].start < boundary.y1) {\n        changedHorizon[0].start = boundary.y1;\n        changedHorizon.unshift({\n          start: horizon[i].start,\n          end: boundary.y1,\n          boundary: horizon[i].boundary\n        });\n      }\n\n      if (boundary.y2 < horizon[j].end) {\n        changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n        changedHorizon.push({\n          start: boundary.y2,\n          end: horizon[j].end,\n          boundary: horizon[j].boundary\n        });\n      }\n\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n\n        if (affectedBoundary.x2New !== undefined) {\n          continue;\n        }\n\n        var used = false;\n\n        for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n\n        for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n\n        for (k = 0; !used && k < changedHorizon.length; k++) {\n          used = changedHorizon[k].boundary === affectedBoundary;\n        }\n\n        if (!used) {\n          affectedBoundary.x2New = maxXNew;\n        }\n      }\n\n      Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n    });\n    horizon.forEach(function (horizonPart) {\n      var affectedBoundary = horizonPart.boundary;\n\n      if (affectedBoundary.x2New === undefined) {\n        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n      }\n    });\n  }\n\n  function TextLayerRenderTask(_ref) {\n    var _this = this;\n\n    var textContent = _ref.textContent,\n        textContentStream = _ref.textContentStream,\n        container = _ref.container,\n        viewport = _ref.viewport,\n        textDivs = _ref.textDivs,\n        textContentItemsStr = _ref.textContentItemsStr,\n        enhanceTextSelection = _ref.enhanceTextSelection;\n    this._textContent = textContent;\n    this._textContentStream = textContentStream;\n    this._container = container;\n    this._viewport = viewport;\n    this._textDivs = textDivs || [];\n    this._textContentItemsStr = textContentItemsStr || [];\n    this._enhanceTextSelection = !!enhanceTextSelection;\n    this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n    this._reader = null;\n    this._layoutTextLastFontSize = null;\n    this._layoutTextLastFontFamily = null;\n    this._layoutTextCtx = null;\n    this._textDivProperties = new WeakMap();\n    this._renderingDone = false;\n    this._canceled = false;\n    this._capability = (0, _util.createPromiseCapability)();\n    this._renderTimer = null;\n    this._bounds = [];\n\n    this._capability.promise.finally(function () {\n      if (_this._layoutTextCtx) {\n        _this._layoutTextCtx.canvas.width = 0;\n        _this._layoutTextCtx.canvas.height = 0;\n        _this._layoutTextCtx = null;\n      }\n    }).catch(function () {});\n  }\n\n  TextLayerRenderTask.prototype = {\n    get promise() {\n      return this._capability.promise;\n    },\n\n    cancel: function TextLayer_cancel() {\n      this._canceled = true;\n\n      if (this._reader) {\n        this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n        this._reader = null;\n      }\n\n      if (this._renderTimer !== null) {\n        clearTimeout(this._renderTimer);\n        this._renderTimer = null;\n      }\n\n      this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n    },\n    _processItems: function _processItems(items, styleCache) {\n      for (var i = 0, len = items.length; i < len; i++) {\n        this._textContentItemsStr.push(items[i].str);\n\n        appendText(this, items[i], styleCache);\n      }\n    },\n    _layoutText: function _layoutText(textDiv) {\n      var textDivProperties = this._textDivProperties.get(textDiv);\n\n      if (textDivProperties.isWhitespace) {\n        return;\n      }\n\n      var transform = \"\";\n\n      if (textDivProperties.canvasWidth !== 0) {\n        var _textDiv$style = textDiv.style,\n            fontSize = _textDiv$style.fontSize,\n            fontFamily = _textDiv$style.fontFamily;\n\n        if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n          this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n          this._layoutTextLastFontSize = fontSize;\n          this._layoutTextLastFontFamily = fontFamily;\n        }\n\n        var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n            width = _this$_layoutTextCtx$.width;\n\n        if (width > 0) {\n          textDivProperties.scale = textDivProperties.canvasWidth / width;\n          transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n        }\n      }\n\n      if (textDivProperties.angle !== 0) {\n        transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n      }\n\n      if (transform.length > 0) {\n        if (this._enhanceTextSelection) {\n          textDivProperties.originalTransform = transform;\n        }\n\n        textDiv.style.transform = transform;\n      }\n\n      this._textDivProperties.set(textDiv, textDivProperties);\n\n      this._container.appendChild(textDiv);\n    },\n    _render: function TextLayer_render(timeout) {\n      var _this2 = this;\n\n      var capability = (0, _util.createPromiseCapability)();\n      var styleCache = Object.create(null);\n      var canvas = document.createElement(\"canvas\");\n      canvas.mozOpaque = true;\n      this._layoutTextCtx = canvas.getContext(\"2d\", {\n        alpha: false\n      });\n\n      if (this._textContent) {\n        var textItems = this._textContent.items;\n        var textStyles = this._textContent.styles;\n\n        this._processItems(textItems, textStyles);\n\n        capability.resolve();\n      } else if (this._textContentStream) {\n        var pump = function pump() {\n          _this2._reader.read().then(function (_ref2) {\n            var value = _ref2.value,\n                done = _ref2.done;\n\n            if (done) {\n              capability.resolve();\n              return;\n            }\n\n            Object.assign(styleCache, value.styles);\n\n            _this2._processItems(value.items, styleCache);\n\n            pump();\n          }, capability.reject);\n        };\n\n        this._reader = this._textContentStream.getReader();\n        pump();\n      } else {\n        throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n      }\n\n      capability.promise.then(function () {\n        styleCache = null;\n\n        if (!timeout) {\n          render(_this2);\n        } else {\n          _this2._renderTimer = setTimeout(function () {\n            render(_this2);\n            _this2._renderTimer = null;\n          }, timeout);\n        }\n      }, this._capability.reject);\n    },\n    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n      if (!this._enhanceTextSelection || !this._renderingDone) {\n        return;\n      }\n\n      if (this._bounds !== null) {\n        expand(this);\n        this._bounds = null;\n      }\n\n      var transformBuf = [],\n          paddingBuf = [];\n\n      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n        var div = this._textDivs[i];\n\n        var divProps = this._textDivProperties.get(div);\n\n        if (divProps.isWhitespace) {\n          continue;\n        }\n\n        if (expandDivs) {\n          transformBuf.length = 0;\n          paddingBuf.length = 0;\n\n          if (divProps.originalTransform) {\n            transformBuf.push(divProps.originalTransform);\n          }\n\n          if (divProps.paddingTop > 0) {\n            paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n            transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n          } else {\n            paddingBuf.push(0);\n          }\n\n          if (divProps.paddingRight > 0) {\n            paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n          } else {\n            paddingBuf.push(0);\n          }\n\n          if (divProps.paddingBottom > 0) {\n            paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n          } else {\n            paddingBuf.push(0);\n          }\n\n          if (divProps.paddingLeft > 0) {\n            paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n            transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n          } else {\n            paddingBuf.push(0);\n          }\n\n          div.style.padding = paddingBuf.join(\" \");\n\n          if (transformBuf.length) {\n            div.style.transform = transformBuf.join(\" \");\n          }\n        } else {\n          div.style.padding = null;\n          div.style.transform = divProps.originalTransform;\n        }\n      }\n    }\n  };\n\n  function renderTextLayer(renderParameters) {\n    var task = new TextLayerRenderTask({\n      textContent: renderParameters.textContent,\n      textContentStream: renderParameters.textContentStream,\n      container: renderParameters.container,\n      viewport: renderParameters.viewport,\n      textDivs: renderParameters.textDivs,\n      textContentItemsStr: renderParameters.textContentItemsStr,\n      enhanceTextSelection: renderParameters.enhanceTextSelection\n    });\n\n    task._render(renderParameters.timeout);\n\n    return task;\n  }\n\n  return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n\n/***/ \"a79d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar NativePromise = __webpack_require__(\"fea9\");\nvar fails = __webpack_require__(\"d039\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar speciesConstructor = __webpack_require__(\"4840\");\nvar promiseResolve = __webpack_require__(\"cdf9\");\nvar redefine = __webpack_require__(\"6eeb\");\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n  'finally': function (onFinally) {\n    var C = speciesConstructor(this, getBuiltIn('Promise'));\n    var isFunction = typeof onFinally == 'function';\n    return this.then(\n      isFunction ? function (x) {\n        return promiseResolve(C, onFinally()).then(function () { return x; });\n      } : onFinally,\n      isFunction ? function (e) {\n        return promiseResolve(C, onFinally()).then(function () { throw e; });\n      } : onFinally\n    );\n  }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n  redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n\n/***/ }),\n\n/***/ \"a975\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $every = __webpack_require__(\"b727\").every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"a981\":\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n\n/***/ }),\n\n/***/ \"a9e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar isForced = __webpack_require__(\"94ca\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar has = __webpack_require__(\"5135\");\nvar classof = __webpack_require__(\"c6b6\");\nvar inheritIfRequired = __webpack_require__(\"7156\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar fails = __webpack_require__(\"d039\");\nvar create = __webpack_require__(\"7c73\");\nvar getOwnPropertyNames = __webpack_require__(\"241c\").f;\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar trim = __webpack_require__(\"58a8\").trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = it.charCodeAt(0);\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = it.slice(2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = digits.charCodeAt(index);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var dummy = this;\n    return dummy instanceof NumberWrapper\n      // check on 1..constructor(foo) case\n      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n  };\n  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  redefine(global, NUMBER, NumberWrapper);\n}\n\n\n/***/ }),\n\n/***/ \"ab13\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (e) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (f) { /* empty */ }\n  } return false;\n};\n\n\n/***/ }),\n\n/***/ \"ac1f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar exec = __webpack_require__(\"9263\");\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n  exec: exec\n});\n\n\n/***/ }),\n\n/***/ \"acac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar getWeakData = __webpack_require__(\"f183\").getWeakData;\nvar anObject = __webpack_require__(\"825a\");\nvar isObject = __webpack_require__(\"861d\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar iterate = __webpack_require__(\"2266\");\nvar ArrayIterationModule = __webpack_require__(\"b727\");\nvar $has = __webpack_require__(\"5135\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n  return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.entries.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: undefined\n      });\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && $has(data, state.id) && delete data[state.id];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && $has(data, state.id);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.3.3.3 WeakMap.prototype.get(key)\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          return data ? data[state.id] : undefined;\n        }\n      },\n      // 23.3.3.5 WeakMap.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // 23.4.3.1 WeakSet.prototype.add(value)\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return C;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"ad4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"1276\");\n\n__webpack_require__(\"cc71\");\n\nvar _assertThisInitialized = __webpack_require__(\"3c96\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _get = __webpack_require__(\"8962\");\n\nvar _getPrototypeOf = __webpack_require__(\"36c6\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __webpack_require__(\"61a8\");\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar AnnotationElementFactory = /*#__PURE__*/function () {\n  function AnnotationElementFactory() {\n    _classCallCheck(this, AnnotationElementFactory);\n  }\n\n  _createClass(AnnotationElementFactory, null, [{\n    key: \"create\",\n    value: function create(parameters) {\n      var subtype = parameters.data.annotationType;\n\n      switch (subtype) {\n        case _util.AnnotationType.LINK:\n          return new LinkAnnotationElement(parameters);\n\n        case _util.AnnotationType.TEXT:\n          return new TextAnnotationElement(parameters);\n\n        case _util.AnnotationType.WIDGET:\n          var fieldType = parameters.data.fieldType;\n\n          switch (fieldType) {\n            case \"Tx\":\n              return new TextWidgetAnnotationElement(parameters);\n\n            case \"Btn\":\n              if (parameters.data.radioButton) {\n                return new RadioButtonWidgetAnnotationElement(parameters);\n              } else if (parameters.data.checkBox) {\n                return new CheckboxWidgetAnnotationElement(parameters);\n              }\n\n              return new PushButtonWidgetAnnotationElement(parameters);\n\n            case \"Ch\":\n              return new ChoiceWidgetAnnotationElement(parameters);\n          }\n\n          return new WidgetAnnotationElement(parameters);\n\n        case _util.AnnotationType.POPUP:\n          return new PopupAnnotationElement(parameters);\n\n        case _util.AnnotationType.FREETEXT:\n          return new FreeTextAnnotationElement(parameters);\n\n        case _util.AnnotationType.LINE:\n          return new LineAnnotationElement(parameters);\n\n        case _util.AnnotationType.SQUARE:\n          return new SquareAnnotationElement(parameters);\n\n        case _util.AnnotationType.CIRCLE:\n          return new CircleAnnotationElement(parameters);\n\n        case _util.AnnotationType.POLYLINE:\n          return new PolylineAnnotationElement(parameters);\n\n        case _util.AnnotationType.CARET:\n          return new CaretAnnotationElement(parameters);\n\n        case _util.AnnotationType.INK:\n          return new InkAnnotationElement(parameters);\n\n        case _util.AnnotationType.POLYGON:\n          return new PolygonAnnotationElement(parameters);\n\n        case _util.AnnotationType.HIGHLIGHT:\n          return new HighlightAnnotationElement(parameters);\n\n        case _util.AnnotationType.UNDERLINE:\n          return new UnderlineAnnotationElement(parameters);\n\n        case _util.AnnotationType.SQUIGGLY:\n          return new SquigglyAnnotationElement(parameters);\n\n        case _util.AnnotationType.STRIKEOUT:\n          return new StrikeOutAnnotationElement(parameters);\n\n        case _util.AnnotationType.STAMP:\n          return new StampAnnotationElement(parameters);\n\n        case _util.AnnotationType.FILEATTACHMENT:\n          return new FileAttachmentAnnotationElement(parameters);\n\n        default:\n          return new AnnotationElement(parameters);\n      }\n    }\n  }]);\n\n  return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n  function AnnotationElement(parameters) {\n    var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n    var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    _classCallCheck(this, AnnotationElement);\n\n    this.isRenderable = isRenderable;\n    this.data = parameters.data;\n    this.layer = parameters.layer;\n    this.page = parameters.page;\n    this.viewport = parameters.viewport;\n    this.linkService = parameters.linkService;\n    this.downloadManager = parameters.downloadManager;\n    this.imageResourcesPath = parameters.imageResourcesPath;\n    this.renderInteractiveForms = parameters.renderInteractiveForms;\n    this.svgFactory = parameters.svgFactory;\n\n    if (isRenderable) {\n      this.container = this._createContainer(ignoreBorder);\n    }\n  }\n\n  _createClass(AnnotationElement, [{\n    key: \"_createContainer\",\n    value: function _createContainer() {\n      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var data = this.data,\n          page = this.page,\n          viewport = this.viewport;\n      var container = document.createElement(\"section\");\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      container.setAttribute(\"data-annotation-id\", data.id);\n\n      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n      container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n      container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n      if (!ignoreBorder && data.borderStyle.width > 0) {\n        container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n          width = width - 2 * data.borderStyle.width;\n          height = height - 2 * data.borderStyle.width;\n        }\n\n        var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n        var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n        if (horizontalRadius > 0 || verticalRadius > 0) {\n          var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n          container.style.borderRadius = radius;\n        }\n\n        switch (data.borderStyle.style) {\n          case _util.AnnotationBorderStyleType.SOLID:\n            container.style.borderStyle = \"solid\";\n            break;\n\n          case _util.AnnotationBorderStyleType.DASHED:\n            container.style.borderStyle = \"dashed\";\n            break;\n\n          case _util.AnnotationBorderStyleType.BEVELED:\n            (0, _util.warn)(\"Unimplemented border style: beveled\");\n            break;\n\n          case _util.AnnotationBorderStyleType.INSET:\n            (0, _util.warn)(\"Unimplemented border style: inset\");\n            break;\n\n          case _util.AnnotationBorderStyleType.UNDERLINE:\n            container.style.borderBottomStyle = \"solid\";\n            break;\n\n          default:\n            break;\n        }\n\n        if (data.color) {\n          container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n        } else {\n          container.style.borderWidth = 0;\n        }\n      }\n\n      container.style.left = \"\".concat(rect[0], \"px\");\n      container.style.top = \"\".concat(rect[1], \"px\");\n      container.style.width = \"\".concat(width, \"px\");\n      container.style.height = \"\".concat(height, \"px\");\n      return container;\n    }\n  }, {\n    key: \"_createPopup\",\n    value: function _createPopup(container, trigger, data) {\n      if (!trigger) {\n        trigger = document.createElement(\"div\");\n        trigger.style.height = container.style.height;\n        trigger.style.width = container.style.width;\n        container.appendChild(trigger);\n      }\n\n      var popupElement = new PopupElement({\n        container: container,\n        trigger: trigger,\n        color: data.color,\n        title: data.title,\n        modificationDate: data.modificationDate,\n        contents: data.contents,\n        hideWrapper: true\n      });\n      var popup = popupElement.render();\n      popup.style.left = container.style.width;\n      container.appendChild(popup);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n    }\n  }]);\n\n  return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n  _inherits(LinkAnnotationElement, _AnnotationElement);\n\n  var _super = _createSuper(LinkAnnotationElement);\n\n  function LinkAnnotationElement(parameters) {\n    _classCallCheck(this, LinkAnnotationElement);\n\n    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n    return _super.call(this, parameters, isRenderable);\n  }\n\n  _createClass(LinkAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"linkAnnotation\";\n      var data = this.data,\n          linkService = this.linkService;\n      var link = document.createElement(\"a\");\n\n      if (data.url) {\n        (0, _display_utils.addLinkAttributes)(link, {\n          url: data.url,\n          target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n          rel: linkService.externalLinkRel,\n          enabled: linkService.externalLinkEnabled\n        });\n      } else if (data.action) {\n        this._bindNamedAction(link, data.action);\n      } else {\n        this._bindLink(link, data.dest);\n      }\n\n      this.container.appendChild(link);\n      return this.container;\n    }\n  }, {\n    key: \"_bindLink\",\n    value: function _bindLink(link, destination) {\n      var _this = this;\n\n      link.href = this.linkService.getDestinationHash(destination);\n\n      link.onclick = function () {\n        if (destination) {\n          _this.linkService.navigateTo(destination);\n        }\n\n        return false;\n      };\n\n      if (destination) {\n        link.className = \"internalLink\";\n      }\n    }\n  }, {\n    key: \"_bindNamedAction\",\n    value: function _bindNamedAction(link, action) {\n      var _this2 = this;\n\n      link.href = this.linkService.getAnchorUrl(\"\");\n\n      link.onclick = function () {\n        _this2.linkService.executeNamedAction(action);\n\n        return false;\n      };\n\n      link.className = \"internalLink\";\n    }\n  }]);\n\n  return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n  _inherits(TextAnnotationElement, _AnnotationElement2);\n\n  var _super2 = _createSuper(TextAnnotationElement);\n\n  function TextAnnotationElement(parameters) {\n    _classCallCheck(this, TextAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super2.call(this, parameters, isRenderable);\n  }\n\n  _createClass(TextAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"textAnnotation\";\n      var image = document.createElement(\"img\");\n      image.style.height = this.container.style.height;\n      image.style.width = this.container.style.width;\n      image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n      image.alt = \"[{{type}} Annotation]\";\n      image.dataset.l10nId = \"text_annotation_type\";\n      image.dataset.l10nArgs = JSON.stringify({\n        type: this.data.name\n      });\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, image, this.data);\n      }\n\n      this.container.appendChild(image);\n      return this.container;\n    }\n  }]);\n\n  return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n  _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n  var _super3 = _createSuper(WidgetAnnotationElement);\n\n  function WidgetAnnotationElement() {\n    _classCallCheck(this, WidgetAnnotationElement);\n\n    return _super3.apply(this, arguments);\n  }\n\n  _createClass(WidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      return this.container;\n    }\n  }]);\n\n  return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n  var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n  function TextWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, TextWidgetAnnotationElement);\n\n    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n    return _super4.call(this, parameters, isRenderable);\n  }\n\n  _createClass(TextWidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n      this.container.className = \"textWidgetAnnotation\";\n      var element = null;\n\n      if (this.renderInteractiveForms) {\n        if (this.data.multiLine) {\n          element = document.createElement(\"textarea\");\n          element.textContent = this.data.fieldValue;\n        } else {\n          element = document.createElement(\"input\");\n          element.type = \"text\";\n          element.setAttribute(\"value\", this.data.fieldValue);\n        }\n\n        element.disabled = this.data.readOnly;\n\n        if (this.data.maxLen !== null) {\n          element.maxLength = this.data.maxLen;\n        }\n\n        if (this.data.comb) {\n          var fieldWidth = this.data.rect[2] - this.data.rect[0];\n          var combWidth = fieldWidth / this.data.maxLen;\n          element.classList.add(\"comb\");\n          element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n        }\n      } else {\n        element = document.createElement(\"div\");\n        element.textContent = this.data.fieldValue;\n        element.style.verticalAlign = \"middle\";\n        element.style.display = \"table-cell\";\n        var font = null;\n\n        if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n          font = this.page.commonObjs.get(this.data.fontRefName);\n        }\n\n        this._setTextStyle(element, font);\n      }\n\n      if (this.data.textAlignment !== null) {\n        element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n      }\n\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }, {\n    key: \"_setTextStyle\",\n    value: function _setTextStyle(element, font) {\n      var style = element.style;\n      style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n      style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n      if (!font) {\n        return;\n      }\n\n      var bold = \"normal\";\n\n      if (font.black) {\n        bold = \"900\";\n      } else if (font.bold) {\n        bold = \"bold\";\n      }\n\n      style.fontWeight = bold;\n      style.fontStyle = font.italic ? \"italic\" : \"normal\";\n      var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n      var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n      style.fontFamily = fontFamily + fallbackName;\n    }\n  }]);\n\n  return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n  var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n  function CheckboxWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n    return _super5.call(this, parameters, parameters.renderInteractiveForms);\n  }\n\n  _createClass(CheckboxWidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"buttonWidgetAnnotation checkBox\";\n      var element = document.createElement(\"input\");\n      element.disabled = this.data.readOnly;\n      element.type = \"checkbox\";\n\n      if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n        element.setAttribute(\"checked\", true);\n      }\n\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }]);\n\n  return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n  var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n  function RadioButtonWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n    return _super6.call(this, parameters, parameters.renderInteractiveForms);\n  }\n\n  _createClass(RadioButtonWidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"buttonWidgetAnnotation radioButton\";\n      var element = document.createElement(\"input\");\n      element.disabled = this.data.readOnly;\n      element.type = \"radio\";\n      element.name = this.data.fieldName;\n\n      if (this.data.fieldValue === this.data.buttonValue) {\n        element.setAttribute(\"checked\", true);\n      }\n\n      this.container.appendChild(element);\n      return this.container;\n    }\n  }]);\n\n  return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n  _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n  var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n  function PushButtonWidgetAnnotationElement() {\n    _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n    return _super7.apply(this, arguments);\n  }\n\n  _createClass(PushButtonWidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n      container.className = \"buttonWidgetAnnotation pushButton\";\n      return container;\n    }\n  }]);\n\n  return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n  var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n  function ChoiceWidgetAnnotationElement(parameters) {\n    _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n    return _super8.call(this, parameters, parameters.renderInteractiveForms);\n  }\n\n  _createClass(ChoiceWidgetAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"choiceWidgetAnnotation\";\n      var selectElement = document.createElement(\"select\");\n      selectElement.disabled = this.data.readOnly;\n\n      if (!this.data.combo) {\n        selectElement.size = this.data.options.length;\n\n        if (this.data.multiSelect) {\n          selectElement.multiple = true;\n        }\n      }\n\n      var _iterator = _createForOfIteratorHelper(this.data.options),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var option = _step.value;\n          var optionElement = document.createElement(\"option\");\n          optionElement.textContent = option.displayValue;\n          optionElement.value = option.exportValue;\n\n          if (this.data.fieldValue.includes(option.displayValue)) {\n            optionElement.setAttribute(\"selected\", true);\n          }\n\n          selectElement.appendChild(optionElement);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      this.container.appendChild(selectElement);\n      return this.container;\n    }\n  }]);\n\n  return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n  _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n  var _super9 = _createSuper(PopupAnnotationElement);\n\n  function PopupAnnotationElement(parameters) {\n    _classCallCheck(this, PopupAnnotationElement);\n\n    var isRenderable = !!(parameters.data.title || parameters.data.contents);\n    return _super9.call(this, parameters, isRenderable);\n  }\n\n  _createClass(PopupAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n      this.container.className = \"popupAnnotation\";\n\n      if (IGNORE_TYPES.includes(this.data.parentType)) {\n        return this.container;\n      }\n\n      var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n      var parentElement = this.layer.querySelector(selector);\n\n      if (!parentElement) {\n        return this.container;\n      }\n\n      var popup = new PopupElement({\n        container: this.container,\n        trigger: parentElement,\n        color: this.data.color,\n        title: this.data.title,\n        modificationDate: this.data.modificationDate,\n        contents: this.data.contents\n      });\n      var parentLeft = parseFloat(parentElement.style.left);\n      var parentWidth = parseFloat(parentElement.style.width);\n      this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n      this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n      this.container.appendChild(popup.render());\n      return this.container;\n    }\n  }]);\n\n  return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n  function PopupElement(parameters) {\n    _classCallCheck(this, PopupElement);\n\n    this.container = parameters.container;\n    this.trigger = parameters.trigger;\n    this.color = parameters.color;\n    this.title = parameters.title;\n    this.modificationDate = parameters.modificationDate;\n    this.contents = parameters.contents;\n    this.hideWrapper = parameters.hideWrapper || false;\n    this.pinned = false;\n  }\n\n  _createClass(PopupElement, [{\n    key: \"render\",\n    value: function render() {\n      var BACKGROUND_ENLIGHT = 0.7;\n      var wrapper = document.createElement(\"div\");\n      wrapper.className = \"popupWrapper\";\n      this.hideElement = this.hideWrapper ? wrapper : this.container;\n      this.hideElement.setAttribute(\"hidden\", true);\n      var popup = document.createElement(\"div\");\n      popup.className = \"popup\";\n      var color = this.color;\n\n      if (color) {\n        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n        popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n      }\n\n      var title = document.createElement(\"h1\");\n      title.textContent = this.title;\n      popup.appendChild(title);\n\n      var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n      if (dateObject) {\n        var modificationDate = document.createElement(\"span\");\n        modificationDate.textContent = \"{{date}}, {{time}}\";\n        modificationDate.dataset.l10nId = \"annotation_date_string\";\n        modificationDate.dataset.l10nArgs = JSON.stringify({\n          date: dateObject.toLocaleDateString(),\n          time: dateObject.toLocaleTimeString()\n        });\n        popup.appendChild(modificationDate);\n      }\n\n      var contents = this._formatContents(this.contents);\n\n      popup.appendChild(contents);\n      this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n      this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n      this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n      popup.addEventListener(\"click\", this._hide.bind(this, true));\n      wrapper.appendChild(popup);\n      return wrapper;\n    }\n  }, {\n    key: \"_formatContents\",\n    value: function _formatContents(contents) {\n      var p = document.createElement(\"p\");\n      var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n      for (var i = 0, ii = lines.length; i < ii; ++i) {\n        var line = lines[i];\n        p.appendChild(document.createTextNode(line));\n\n        if (i < ii - 1) {\n          p.appendChild(document.createElement(\"br\"));\n        }\n      }\n\n      return p;\n    }\n  }, {\n    key: \"_toggle\",\n    value: function _toggle() {\n      if (this.pinned) {\n        this._hide(true);\n      } else {\n        this._show(true);\n      }\n    }\n  }, {\n    key: \"_show\",\n    value: function _show() {\n      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (pin) {\n        this.pinned = true;\n      }\n\n      if (this.hideElement.hasAttribute(\"hidden\")) {\n        this.hideElement.removeAttribute(\"hidden\");\n        this.container.style.zIndex += 1;\n      }\n    }\n  }, {\n    key: \"_hide\",\n    value: function _hide() {\n      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      if (unpin) {\n        this.pinned = false;\n      }\n\n      if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n        this.hideElement.setAttribute(\"hidden\", true);\n        this.container.style.zIndex -= 1;\n      }\n    }\n  }]);\n\n  return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n  _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n  var _super10 = _createSuper(FreeTextAnnotationElement);\n\n  function FreeTextAnnotationElement(parameters) {\n    _classCallCheck(this, FreeTextAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super10.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(FreeTextAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"freeTextAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n  _inherits(LineAnnotationElement, _AnnotationElement6);\n\n  var _super11 = _createSuper(LineAnnotationElement);\n\n  function LineAnnotationElement(parameters) {\n    _classCallCheck(this, LineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super11.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(LineAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"lineAnnotation\";\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var line = this.svgFactory.createElement(\"svg:line\");\n      line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n      line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n      line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n      line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n      line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n      line.setAttribute(\"stroke\", \"transparent\");\n      svg.appendChild(line);\n      this.container.append(svg);\n\n      this._createPopup(this.container, line, data);\n\n      return this.container;\n    }\n  }]);\n\n  return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n  _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n  var _super12 = _createSuper(SquareAnnotationElement);\n\n  function SquareAnnotationElement(parameters) {\n    _classCallCheck(this, SquareAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super12.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(SquareAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"squareAnnotation\";\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var borderWidth = data.borderStyle.width;\n      var square = this.svgFactory.createElement(\"svg:rect\");\n      square.setAttribute(\"x\", borderWidth / 2);\n      square.setAttribute(\"y\", borderWidth / 2);\n      square.setAttribute(\"width\", width - borderWidth);\n      square.setAttribute(\"height\", height - borderWidth);\n      square.setAttribute(\"stroke-width\", borderWidth || 1);\n      square.setAttribute(\"stroke\", \"transparent\");\n      square.setAttribute(\"fill\", \"none\");\n      svg.appendChild(square);\n      this.container.append(svg);\n\n      this._createPopup(this.container, square, data);\n\n      return this.container;\n    }\n  }]);\n\n  return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n  _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n  var _super13 = _createSuper(CircleAnnotationElement);\n\n  function CircleAnnotationElement(parameters) {\n    _classCallCheck(this, CircleAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super13.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(CircleAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"circleAnnotation\";\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var borderWidth = data.borderStyle.width;\n      var circle = this.svgFactory.createElement(\"svg:ellipse\");\n      circle.setAttribute(\"cx\", width / 2);\n      circle.setAttribute(\"cy\", height / 2);\n      circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n      circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n      circle.setAttribute(\"stroke-width\", borderWidth || 1);\n      circle.setAttribute(\"stroke\", \"transparent\");\n      circle.setAttribute(\"fill\", \"none\");\n      svg.appendChild(circle);\n      this.container.append(svg);\n\n      this._createPopup(this.container, circle, data);\n\n      return this.container;\n    }\n  }]);\n\n  return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n  _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n  var _super14 = _createSuper(PolylineAnnotationElement);\n\n  function PolylineAnnotationElement(parameters) {\n    var _this3;\n\n    _classCallCheck(this, PolylineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    _this3 = _super14.call(this, parameters, isRenderable, true);\n    _this3.containerClassName = \"polylineAnnotation\";\n    _this3.svgElementName = \"svg:polyline\";\n    return _this3;\n  }\n\n  _createClass(PolylineAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = this.containerClassName;\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n      var points = [];\n\n      var _iterator2 = _createForOfIteratorHelper(data.vertices),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var coordinate = _step2.value;\n          var x = coordinate.x - data.rect[0];\n          var y = data.rect[3] - coordinate.y;\n          points.push(x + \",\" + y);\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      points = points.join(\" \");\n      var polyline = this.svgFactory.createElement(this.svgElementName);\n      polyline.setAttribute(\"points\", points);\n      polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n      polyline.setAttribute(\"stroke\", \"transparent\");\n      polyline.setAttribute(\"fill\", \"none\");\n      svg.appendChild(polyline);\n      this.container.append(svg);\n\n      this._createPopup(this.container, polyline, data);\n\n      return this.container;\n    }\n  }]);\n\n  return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n  var _super15 = _createSuper(PolygonAnnotationElement);\n\n  function PolygonAnnotationElement(parameters) {\n    var _this4;\n\n    _classCallCheck(this, PolygonAnnotationElement);\n\n    _this4 = _super15.call(this, parameters);\n    _this4.containerClassName = \"polygonAnnotation\";\n    _this4.svgElementName = \"svg:polygon\";\n    return _this4;\n  }\n\n  return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n  _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n  var _super16 = _createSuper(CaretAnnotationElement);\n\n  function CaretAnnotationElement(parameters) {\n    _classCallCheck(this, CaretAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super16.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(CaretAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"caretAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n  _inherits(InkAnnotationElement, _AnnotationElement11);\n\n  var _super17 = _createSuper(InkAnnotationElement);\n\n  function InkAnnotationElement(parameters) {\n    var _this5;\n\n    _classCallCheck(this, InkAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    _this5 = _super17.call(this, parameters, isRenderable, true);\n    _this5.containerClassName = \"inkAnnotation\";\n    _this5.svgElementName = \"svg:polyline\";\n    return _this5;\n  }\n\n  _createClass(InkAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = this.containerClassName;\n      var data = this.data;\n      var width = data.rect[2] - data.rect[0];\n      var height = data.rect[3] - data.rect[1];\n      var svg = this.svgFactory.create(width, height);\n\n      var _iterator3 = _createForOfIteratorHelper(data.inkLists),\n          _step3;\n\n      try {\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          var inkList = _step3.value;\n          var points = [];\n\n          var _iterator4 = _createForOfIteratorHelper(inkList),\n              _step4;\n\n          try {\n            for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n              var coordinate = _step4.value;\n              var x = coordinate.x - data.rect[0];\n              var y = data.rect[3] - coordinate.y;\n              points.push(\"\".concat(x, \",\").concat(y));\n            }\n          } catch (err) {\n            _iterator4.e(err);\n          } finally {\n            _iterator4.f();\n          }\n\n          points = points.join(\" \");\n          var polyline = this.svgFactory.createElement(this.svgElementName);\n          polyline.setAttribute(\"points\", points);\n          polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n          polyline.setAttribute(\"stroke\", \"transparent\");\n          polyline.setAttribute(\"fill\", \"none\");\n\n          this._createPopup(this.container, polyline, data);\n\n          svg.appendChild(polyline);\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n\n      this.container.append(svg);\n      return this.container;\n    }\n  }]);\n\n  return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n  _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n  var _super18 = _createSuper(HighlightAnnotationElement);\n\n  function HighlightAnnotationElement(parameters) {\n    _classCallCheck(this, HighlightAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super18.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(HighlightAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"highlightAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n  _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n  var _super19 = _createSuper(UnderlineAnnotationElement);\n\n  function UnderlineAnnotationElement(parameters) {\n    _classCallCheck(this, UnderlineAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super19.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(UnderlineAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"underlineAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n  _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n  var _super20 = _createSuper(SquigglyAnnotationElement);\n\n  function SquigglyAnnotationElement(parameters) {\n    _classCallCheck(this, SquigglyAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super20.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(SquigglyAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"squigglyAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n  _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n  var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n  function StrikeOutAnnotationElement(parameters) {\n    _classCallCheck(this, StrikeOutAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super21.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(StrikeOutAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"strikeoutAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n  _inherits(StampAnnotationElement, _AnnotationElement16);\n\n  var _super22 = _createSuper(StampAnnotationElement);\n\n  function StampAnnotationElement(parameters) {\n    _classCallCheck(this, StampAnnotationElement);\n\n    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n    return _super22.call(this, parameters, isRenderable, true);\n  }\n\n  _createClass(StampAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"stampAnnotation\";\n\n      if (!this.data.hasPopup) {\n        this._createPopup(this.container, null, this.data);\n      }\n\n      return this.container;\n    }\n  }]);\n\n  return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n  _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n  var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n  function FileAttachmentAnnotationElement(parameters) {\n    var _this6;\n\n    _classCallCheck(this, FileAttachmentAnnotationElement);\n\n    _this6 = _super23.call(this, parameters, true);\n    var _this6$data$file = _this6.data.file,\n        filename = _this6$data$file.filename,\n        content = _this6$data$file.content;\n    _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n    _this6.content = content;\n\n    if (_this6.linkService.eventBus) {\n      _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n        source: _assertThisInitialized(_this6),\n        id: (0, _util.stringToPDFString)(filename),\n        filename: filename,\n        content: content\n      });\n    }\n\n    return _this6;\n  }\n\n  _createClass(FileAttachmentAnnotationElement, [{\n    key: \"render\",\n    value: function render() {\n      this.container.className = \"fileAttachmentAnnotation\";\n      var trigger = document.createElement(\"div\");\n      trigger.style.height = this.container.style.height;\n      trigger.style.width = this.container.style.width;\n      trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n        this._createPopup(this.container, trigger, this.data);\n      }\n\n      this.container.appendChild(trigger);\n      return this.container;\n    }\n  }, {\n    key: \"_download\",\n    value: function _download() {\n      if (!this.downloadManager) {\n        (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n        return;\n      }\n\n      this.downloadManager.downloadData(this.content, this.filename, \"\");\n    }\n  }]);\n\n  return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n  function AnnotationLayer() {\n    _classCallCheck(this, AnnotationLayer);\n  }\n\n  _createClass(AnnotationLayer, null, [{\n    key: \"render\",\n    value: function render(parameters) {\n      var sortedAnnotations = [],\n          popupAnnotations = [];\n\n      var _iterator5 = _createForOfIteratorHelper(parameters.annotations),\n          _step5;\n\n      try {\n        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n          var _data = _step5.value;\n\n          if (!_data) {\n            continue;\n          }\n\n          if (_data.annotationType === _util.AnnotationType.POPUP) {\n            popupAnnotations.push(_data);\n            continue;\n          }\n\n          sortedAnnotations.push(_data);\n        }\n      } catch (err) {\n        _iterator5.e(err);\n      } finally {\n        _iterator5.f();\n      }\n\n      if (popupAnnotations.length) {\n        sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n      }\n\n      for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n        var data = _sortedAnnotations[_i];\n        var element = AnnotationElementFactory.create({\n          data: data,\n          layer: parameters.div,\n          page: parameters.page,\n          viewport: parameters.viewport,\n          linkService: parameters.linkService,\n          downloadManager: parameters.downloadManager,\n          imageResourcesPath: parameters.imageResourcesPath || \"\",\n          renderInteractiveForms: parameters.renderInteractiveForms || false,\n          svgFactory: new _display_utils.DOMSVGFactory()\n        });\n\n        if (element.isRenderable) {\n          parameters.div.appendChild(element.render());\n        }\n      }\n    }\n  }, {\n    key: \"update\",\n    value: function update(parameters) {\n      var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n          _step6;\n\n      try {\n        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n          var data = _step6.value;\n          var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n          if (element) {\n            element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n          }\n        }\n      } catch (err) {\n        _iterator6.e(err);\n      } finally {\n        _iterator6.f();\n      }\n\n      parameters.div.removeAttribute(\"hidden\");\n    }\n  }]);\n\n  return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n\n/***/ \"ad6d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(\"825a\");\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"ae40\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar has = __webpack_require__(\"5135\");\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n  if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n  if (!options) options = {};\n  var method = [][METHOD_NAME];\n  var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n  var argument0 = has(options, 0) ? options[0] : thrower;\n  var argument1 = has(options, 1) ? options[1] : undefined;\n\n  return cache[METHOD_NAME] = !!method && !fails(function () {\n    if (ACCESSORS && !DESCRIPTORS) return true;\n    var O = { length: -1 };\n\n    if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n    else O[1] = 1;\n\n    method.call(O, argument0, argument1);\n  });\n};\n\n\n/***/ }),\n\n/***/ \"ae93\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar IS_PURE = __webpack_require__(\"c430\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n\n/***/ \"af03\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    var test = ''[METHOD_NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  });\n};\n\n\n/***/ }),\n\n/***/ \"b041\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar classof = __webpack_require__(\"f5df\");\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n\n\n/***/ }),\n\n/***/ \"b0c0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n  defineProperty(FunctionPrototype, NAME, {\n    configurable: true,\n    get: function () {\n      try {\n        return FunctionPrototypeToString.call(this).match(nameRE)[1];\n      } catch (error) {\n        return '';\n      }\n    }\n  });\n}\n\n\n/***/ }),\n\n/***/ \"b39a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(\"da84\");\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar fails = __webpack_require__(\"d039\");\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n  $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n  Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n  return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n\n\n/***/ }),\n\n/***/ \"b3d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"dca8\");\n\nvar compatibilityParams = Object.create(null);\n{\n  var _require = __webpack_require__(\"eca3\"),\n      isNodeJS = _require.isNodeJS;\n\n  var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n  var isIE = /Trident/.test(userAgent);\n  var isIOSChrome = /CriOS/.test(userAgent);\n\n  (function checkOnBlobSupport() {\n    if (isIE || isIOSChrome) {\n      compatibilityParams.disableCreateObjectURL = true;\n    }\n  })();\n\n  (function checkFontFaceAndImage() {\n    if (isNodeJS) {\n      compatibilityParams.disableFontFace = true;\n      compatibilityParams.nativeImageDecoderSupport = \"none\";\n    }\n  })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n\n/***/ \"b3fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_link_service = __webpack_require__(\"8a38\");\n\nvar AnnotationLayerBuilder = /*#__PURE__*/function () {\n  function AnnotationLayerBuilder(_ref) {\n    var pageDiv = _ref.pageDiv,\n        pdfPage = _ref.pdfPage,\n        linkService = _ref.linkService,\n        downloadManager = _ref.downloadManager,\n        _ref$imageResourcesPa = _ref.imageResourcesPath,\n        imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n        _ref$renderInteractiv = _ref.renderInteractiveForms,\n        renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,\n        _ref$l10n = _ref.l10n,\n        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n    _classCallCheck(this, AnnotationLayerBuilder);\n\n    this.pageDiv = pageDiv;\n    this.pdfPage = pdfPage;\n    this.linkService = linkService;\n    this.downloadManager = downloadManager;\n    this.imageResourcesPath = imageResourcesPath;\n    this.renderInteractiveForms = renderInteractiveForms;\n    this.l10n = l10n;\n    this.div = null;\n    this._cancelled = false;\n  }\n\n  _createClass(AnnotationLayerBuilder, [{\n    key: \"render\",\n    value: function render(viewport) {\n      var _this = this;\n\n      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n      this.pdfPage.getAnnotations({\n        intent: intent\n      }).then(function (annotations) {\n        if (_this._cancelled) {\n          return;\n        }\n\n        var parameters = {\n          viewport: viewport.clone({\n            dontFlip: true\n          }),\n          div: _this.div,\n          annotations: annotations,\n          page: _this.pdfPage,\n          imageResourcesPath: _this.imageResourcesPath,\n          renderInteractiveForms: _this.renderInteractiveForms,\n          linkService: _this.linkService,\n          downloadManager: _this.downloadManager\n        };\n\n        if (_this.div) {\n          _pdf.AnnotationLayer.update(parameters);\n        } else {\n          if (annotations.length === 0) {\n            return;\n          }\n\n          _this.div = document.createElement(\"div\");\n          _this.div.className = \"annotationLayer\";\n\n          _this.pageDiv.appendChild(_this.div);\n\n          parameters.div = _this.div;\n\n          _pdf.AnnotationLayer.render(parameters);\n\n          _this.l10n.translate(_this.div);\n        }\n      });\n    }\n  }, {\n    key: \"cancel\",\n    value: function cancel() {\n      this._cancelled = true;\n    }\n  }, {\n    key: \"hide\",\n    value: function hide() {\n      if (!this.div) {\n        return;\n      }\n\n      this.div.setAttribute(\"hidden\", \"true\");\n    }\n  }]);\n\n  return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n  function DefaultAnnotationLayerFactory() {\n    _classCallCheck(this, DefaultAnnotationLayerFactory);\n  }\n\n  _createClass(DefaultAnnotationLayerFactory, [{\n    key: \"createAnnotationLayerBuilder\",\n    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;\n      return new AnnotationLayerBuilder({\n        pageDiv: pageDiv,\n        pdfPage: pdfPage,\n        imageResourcesPath: imageResourcesPath,\n        renderInteractiveForms: renderInteractiveForms,\n        linkService: new _pdf_link_service.SimpleLinkService(),\n        l10n: l10n\n      });\n    }\n  }]);\n\n  return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n\n/***/ \"b575\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar classof = __webpack_require__(\"c6b6\");\nvar macrotask = __webpack_require__(\"2cf4\").set;\nvar IS_IOS = __webpack_require__(\"1cdc\");\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n  flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (error) {\n        if (head) notify();\n        else last = undefined;\n        throw error;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  } else if (MutationObserver && !IS_IOS) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    then = promise.then;\n    notify = function () {\n      then.call(promise, flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n  var task = { fn: fn, next: undefined };\n  if (last) last.next = task;\n  if (!head) {\n    head = task;\n    notify();\n  } last = task;\n};\n\n\n/***/ }),\n\n/***/ \"b622\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar shared = __webpack_require__(\"5692\");\nvar has = __webpack_require__(\"5135\");\nvar uid = __webpack_require__(\"90e3\");\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(\"fdbf\");\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!has(WellKnownSymbolsStore, name)) {\n    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n\n/***/ \"b636\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n\n\n/***/ }),\n\n/***/ \"b639\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(\"1fb5\")\nvar ieee754 = __webpack_require__(\"9152\")\nvar isArray = __webpack_require__(\"e3db\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"b64b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar nativeKeys = __webpack_require__(\"df75\");\nvar fails = __webpack_require__(\"d039\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  keys: function keys(it) {\n    return nativeKeys(toObject(it));\n  }\n});\n\n\n/***/ }),\n\n/***/ \"b680\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar toInteger = __webpack_require__(\"a691\");\nvar thisNumberValue = __webpack_require__(\"408a\");\nvar repeat = __webpack_require__(\"1148\");\nvar fails = __webpack_require__(\"d039\");\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\nvar FORCED = nativeToFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n  // V8 ~ Android 4.3-\n  nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n  // eslint-disable-next-line max-statements\n  toFixed: function toFixed(fractionDigits) {\n    var number = thisNumberValue(this);\n    var fractDigits = toInteger(fractionDigits);\n    var data = [0, 0, 0, 0, 0, 0];\n    var sign = '';\n    var result = '0';\n    var e, z, j, k;\n\n    var multiply = function (n, c) {\n      var index = -1;\n      var c2 = c;\n      while (++index < 6) {\n        c2 += n * data[index];\n        data[index] = c2 % 1e7;\n        c2 = floor(c2 / 1e7);\n      }\n    };\n\n    var divide = function (n) {\n      var index = 6;\n      var c = 0;\n      while (--index >= 0) {\n        c += data[index];\n        data[index] = floor(c / n);\n        c = (c % n) * 1e7;\n      }\n    };\n\n    var dataToString = function () {\n      var index = 6;\n      var s = '';\n      while (--index >= 0) {\n        if (s !== '' || index === 0 || data[index] !== 0) {\n          var t = String(data[index]);\n          s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n        }\n      } return s;\n    };\n\n    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n    // eslint-disable-next-line no-self-compare\n    if (number != number) return 'NaN';\n    if (number <= -1e21 || number >= 1e21) return String(number);\n    if (number < 0) {\n      sign = '-';\n      number = -number;\n    }\n    if (number > 1e-21) {\n      e = log(number * pow(2, 69, 1)) - 69;\n      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = fractDigits;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        result = dataToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        result = dataToString() + repeat.call('0', fractDigits);\n      }\n    }\n    if (fractDigits > 0) {\n      k = result.length;\n      result = sign + (k <= fractDigits\n        ? '0.' + repeat.call('0', fractDigits - k) + result\n        : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n    } else {\n      result = sign + result;\n    } return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"b727\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar bind = __webpack_require__(\"0366\");\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar arraySpeciesCreate = __webpack_require__(\"65f0\");\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var boundFunction = bind(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push.call(target, value); // filter\n        } else if (IS_EVERY) return false;  // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6)\n};\n\n\n/***/ }),\n\n/***/ \"b781\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\n;\nvar DISABLE_CREATE_OBJECT_URL = _pdf.apiCompatibilityParams.disableCreateObjectURL || false;\n\nfunction _download(blobUrl, filename) {\n  var a = document.createElement(\"a\");\n\n  if (!a.click) {\n    throw new Error('DownloadManager: \"a.click()\" is not supported.');\n  }\n\n  a.href = blobUrl;\n  a.target = \"_parent\";\n\n  if (\"download\" in a) {\n    a.download = filename;\n  }\n\n  (document.body || document.documentElement).appendChild(a);\n  a.click();\n  a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n  function DownloadManager(_ref) {\n    var _ref$disableCreateObj = _ref.disableCreateObjectURL,\n        disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj;\n\n    _classCallCheck(this, DownloadManager);\n\n    this.disableCreateObjectURL = disableCreateObjectURL;\n  }\n\n  _createClass(DownloadManager, [{\n    key: \"downloadUrl\",\n    value: function downloadUrl(url, filename) {\n      if (!(0, _pdf.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n        return;\n      }\n\n      _download(url + \"#pdfjs.action=download\", filename);\n    }\n  }, {\n    key: \"downloadData\",\n    value: function downloadData(data, filename, contentType) {\n      if (navigator.msSaveBlob) {\n        navigator.msSaveBlob(new Blob([data], {\n          type: contentType\n        }), filename);\n        return;\n      }\n\n      var blobUrl = (0, _pdf.createObjectURL)(data, contentType, this.disableCreateObjectURL);\n\n      _download(blobUrl, filename);\n    }\n  }, {\n    key: \"download\",\n    value: function download(blob, url, filename) {\n      if (navigator.msSaveBlob) {\n        if (!navigator.msSaveBlob(blob, filename)) {\n          this.downloadUrl(url, filename);\n        }\n\n        return;\n      }\n\n      if (this.disableCreateObjectURL) {\n        this.downloadUrl(url, filename);\n        return;\n      }\n\n      var blobUrl = URL.createObjectURL(blob);\n\n      _download(blobUrl, filename);\n    }\n  }]);\n\n  return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n\n/***/ \"b87b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Copyright (c) 2011-2013 Fabien Cazenave, Mozilla.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to\r\n * deal in the Software without restriction, including without limitation the\r\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\r\n * sell copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\r\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\r\n * IN THE SOFTWARE.\r\n */\n\n/*\r\n  Additional modifications for PDF.js project:\r\n    - Disables language initialization on page loading.\r\n    - Disables document translation on page loading.\r\n    - Removes consoleWarn and consoleLog and use console.log/warn directly.\r\n    - Removes window._ assignment.\r\n    - Remove compatibility code for OldIE.\r\n    - Replaces `String.prototype.substr()` with `String.prototype.substring()`.\r\n    - Removes `fireL10nReadyEvent` since the \"localized\" event it dispatches\r\n      is unused and may clash with an identically named event in the viewer.\r\n*/\n\n/*jshint browser: true, devel: true, es5: true, globalstrict: true */\n\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"baa5\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"466d\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"1276\");\n\ndocument.webL10n = function (window, document, undefined) {\n  var gL10nData = {};\n  var gTextData = '';\n  var gTextProp = 'textContent';\n  var gLanguage = '';\n  var gMacros = {};\n  var gReadyState = 'loading';\n  /**\r\n   * Synchronously loading l10n resources significantly minimizes flickering\r\n   * from displaying the app with non-localized strings and then updating the\r\n   * strings. Although this will block all script execution on this page, we\r\n   * expect that the l10n resources are available locally on flash-storage.\r\n   *\r\n   * As synchronous XHR is generally considered as a bad idea, we're still\r\n   * loading l10n resources asynchronously -- but we keep this in a setting,\r\n   * just in case... and applications using this library should hide their\r\n   * content until the `localized' event happens.\r\n   */\n\n  var gAsyncResourceLoading = true; // read-only\n\n  /**\r\n   * DOM helpers for the so-called \"HTML API\".\r\n   *\r\n   * These functions are written for modern browsers. For old versions of IE,\r\n   * they're overridden in the 'startup' section at the end of this file.\r\n   */\n\n  function getL10nResourceLinks() {\n    return document.querySelectorAll('link[type=\"application/l10n\"]');\n  }\n\n  function getL10nDictionary() {\n    var script = document.querySelector('script[type=\"application/l10n\"]'); // TODO: support multiple and external JSON dictionaries\n\n    return script ? JSON.parse(script.innerHTML) : null;\n  }\n\n  function getTranslatableChildren(element) {\n    return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n  }\n\n  function getL10nAttributes(element) {\n    if (!element) return {};\n    var l10nId = element.getAttribute('data-l10n-id');\n    var l10nArgs = element.getAttribute('data-l10n-args');\n    var args = {};\n\n    if (l10nArgs) {\n      try {\n        args = JSON.parse(l10nArgs);\n      } catch (e) {\n        console.warn('could not parse arguments for #' + l10nId);\n      }\n    }\n\n    return {\n      id: l10nId,\n      args: args\n    };\n  }\n\n  function xhrLoadText(url, onSuccess, onFailure) {\n    onSuccess = onSuccess || function _onSuccess(data) {};\n\n    onFailure = onFailure || function _onFailure() {};\n\n    var xhr = new XMLHttpRequest();\n    xhr.open('GET', url, gAsyncResourceLoading);\n\n    if (xhr.overrideMimeType) {\n      xhr.overrideMimeType('text/plain; charset=utf-8');\n    }\n\n    xhr.onreadystatechange = function () {\n      if (xhr.readyState == 4) {\n        if (xhr.status == 200 || xhr.status === 0) {\n          onSuccess(xhr.responseText);\n        } else {\n          onFailure();\n        }\n      }\n    };\n\n    xhr.onerror = onFailure;\n    xhr.ontimeout = onFailure; // in Firefox OS with the app:// protocol, trying to XHR a non-existing\n    // URL will raise an exception here -- hence this ugly try...catch.\n\n    try {\n      xhr.send(null);\n    } catch (e) {\n      onFailure();\n    }\n  }\n  /**\r\n   * l10n resource parser:\r\n   *  - reads (async XHR) the l10n resource matching `lang';\r\n   *  - imports linked resources (synchronously) when specified;\r\n   *  - parses the text data (fills `gL10nData' and `gTextData');\r\n   *  - triggers success/failure callbacks when done.\r\n   *\r\n   * @param {string} href\r\n   *    URL of the l10n resource to parse.\r\n   *\r\n   * @param {string} lang\r\n   *    locale (language) to parse. Must be a lowercase string.\r\n   *\r\n   * @param {Function} successCallback\r\n   *    triggered when the l10n resource has been successfully parsed.\r\n   *\r\n   * @param {Function} failureCallback\r\n   *    triggered when the an error has occurred.\r\n   *\r\n   * @return {void}\r\n   *    uses the following global variables: gL10nData, gTextData, gTextProp.\r\n   */\n\n\n  function parseResource(href, lang, successCallback, failureCallback) {\n    var baseURL = href.replace(/[^\\/]*$/, '') || './'; // handle escaped characters (backslashes) in a string\n\n    function evalString(text) {\n      if (text.lastIndexOf('\\\\') < 0) return text;\n      return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n    } // parse *.properties text data into an l10n dictionary\n    // If gAsyncResourceLoading is false, then the callback will be called\n    // synchronously. Otherwise it is called asynchronously.\n\n\n    function parseProperties(text, parsedPropertiesCallback) {\n      var dictionary = {}; // token expressions\n\n      var reBlank = /^\\s*|\\s*$/;\n      var reComment = /^\\s*#|^\\s*$/;\n      var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n      var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n      var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/; // TODO: escape EOLs with '\\'\n      // parse the *.properties file into an associative array\n\n      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n        var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n        var currentLang = '*';\n        var genericLang = lang.split('-', 1)[0];\n        var skipLang = false;\n        var match = '';\n\n        function nextEntry() {\n          // Use infinite loop instead of recursion to avoid reaching the\n          // maximum recursion limit for content with many lines.\n          while (true) {\n            if (!entries.length) {\n              parsedRawLinesCallback();\n              return;\n            }\n\n            var line = entries.shift(); // comment or blank line?\n\n            if (reComment.test(line)) continue; // the extended syntax supports [lang] sections and @import rules\n\n            if (extendedSyntax) {\n              match = reSection.exec(line);\n\n              if (match) {\n                // section start?\n                // RFC 4646, section 4.4, \"All comparisons MUST be performed\n                // in a case-insensitive manner.\"\n                currentLang = match[1].toLowerCase();\n                skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n                continue;\n              } else if (skipLang) {\n                continue;\n              }\n\n              match = reImport.exec(line);\n\n              if (match) {\n                // @import rule?\n                loadImport(baseURL + match[1], nextEntry);\n                return;\n              }\n            } // key-value pair\n\n\n            var tmp = line.match(reSplit);\n\n            if (tmp && tmp.length == 3) {\n              dictionary[tmp[1]] = evalString(tmp[2]);\n            }\n          }\n        }\n\n        nextEntry();\n      } // import another *.properties file\n\n\n      function loadImport(url, callback) {\n        xhrLoadText(url, function (content) {\n          parseRawLines(content, false, callback); // don't allow recursive imports\n        }, function () {\n          console.warn(url + ' not found.');\n          callback();\n        });\n      } // fill the dictionary\n\n\n      parseRawLines(text, true, function () {\n        parsedPropertiesCallback(dictionary);\n      });\n    } // load and parse l10n data (warning: global variables are used here)\n\n\n    xhrLoadText(href, function (response) {\n      gTextData += response; // mostly for debug\n      // parse *.properties text data into an l10n dictionary\n\n      parseProperties(response, function (data) {\n        // find attribute descriptions, if any\n        for (var key in data) {\n          var id,\n              prop,\n              index = key.lastIndexOf('.');\n\n          if (index > 0) {\n            // an attribute has been specified\n            id = key.substring(0, index);\n            prop = key.substring(index + 1);\n          } else {\n            // no attribute: assuming text content by default\n            id = key;\n            prop = gTextProp;\n          }\n\n          if (!gL10nData[id]) {\n            gL10nData[id] = {};\n          }\n\n          gL10nData[id][prop] = data[key];\n        } // trigger callback\n\n\n        if (successCallback) {\n          successCallback();\n        }\n      });\n    }, failureCallback);\n  } // load and parse all resources for the specified locale\n\n\n  function loadLocale(lang, callback) {\n    // RFC 4646, section 2.1 states that language tags have to be treated as\n    // case-insensitive. Convert to lowercase for case-insensitive comparisons.\n    if (lang) {\n      lang = lang.toLowerCase();\n    }\n\n    callback = callback || function _callback() {};\n\n    clear();\n    gLanguage = lang; // check all <link type=\"application/l10n\" href=\"...\" /> nodes\n    // and load the resource files\n\n    var langLinks = getL10nResourceLinks();\n    var langCount = langLinks.length;\n\n    if (langCount === 0) {\n      // we might have a pre-compiled dictionary instead\n      var dict = getL10nDictionary();\n\n      if (dict && dict.locales && dict.default_locale) {\n        console.log('using the embedded JSON directory, early way out');\n        gL10nData = dict.locales[lang];\n\n        if (!gL10nData) {\n          var defaultLocale = dict.default_locale.toLowerCase();\n\n          for (var anyCaseLang in dict.locales) {\n            anyCaseLang = anyCaseLang.toLowerCase();\n\n            if (anyCaseLang === lang) {\n              gL10nData = dict.locales[lang];\n              break;\n            } else if (anyCaseLang === defaultLocale) {\n              gL10nData = dict.locales[defaultLocale];\n            }\n          }\n        }\n\n        callback();\n      } else {\n        console.log('no resource to load, early way out');\n      } // early way out\n\n\n      gReadyState = 'complete';\n      return;\n    } // start the callback when all resources are loaded\n\n\n    var onResourceLoaded = null;\n    var gResourceCount = 0;\n\n    onResourceLoaded = function onResourceLoaded() {\n      gResourceCount++;\n\n      if (gResourceCount >= langCount) {\n        callback();\n        gReadyState = 'complete';\n      }\n    }; // load all resource files\n\n\n    function L10nResourceLink(link) {\n      var href = link.href; // Note: If |gAsyncResourceLoading| is false, then the following callbacks\n      // are synchronously called.\n\n      this.load = function (lang, callback) {\n        parseResource(href, lang, callback, function () {\n          console.warn(href + ' not found.'); // lang not found, used default resource instead\n\n          console.warn('\"' + lang + '\" resource not found');\n          gLanguage = ''; // Resource not loaded, but we still need to call the callback.\n\n          callback();\n        });\n      };\n    }\n\n    for (var i = 0; i < langCount; i++) {\n      var resource = new L10nResourceLink(langLinks[i]);\n      resource.load(lang, onResourceLoaded);\n    }\n  } // clear all l10n data\n\n\n  function clear() {\n    gL10nData = {};\n    gTextData = '';\n    gLanguage = ''; // TODO: clear all non predefined macros.\n    // There's no such macro /yet/ but we're planning to have some...\n  }\n  /**\r\n   * Get rules for plural forms (shared with JetPack), see:\r\n   * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html\r\n   * https://github.com/mozilla/addon-sdk/blob/master/python-lib/plural-rules-generator.p\r\n   *\r\n   * @param {string} lang\r\n   *    locale (language) used.\r\n   *\r\n   * @return {Function}\r\n   *    returns a function that gives the plural form name for a given integer:\r\n   *       var fun = getPluralRules('en');\r\n   *       fun(1)    -> 'one'\r\n   *       fun(0)    -> 'other'\r\n   *       fun(1000) -> 'other'.\r\n   */\n\n\n  function getPluralRules(lang) {\n    var locales2rules = {\n      'af': 3,\n      'ak': 4,\n      'am': 4,\n      'ar': 1,\n      'asa': 3,\n      'az': 0,\n      'be': 11,\n      'bem': 3,\n      'bez': 3,\n      'bg': 3,\n      'bh': 4,\n      'bm': 0,\n      'bn': 3,\n      'bo': 0,\n      'br': 20,\n      'brx': 3,\n      'bs': 11,\n      'ca': 3,\n      'cgg': 3,\n      'chr': 3,\n      'cs': 12,\n      'cy': 17,\n      'da': 3,\n      'de': 3,\n      'dv': 3,\n      'dz': 0,\n      'ee': 3,\n      'el': 3,\n      'en': 3,\n      'eo': 3,\n      'es': 3,\n      'et': 3,\n      'eu': 3,\n      'fa': 0,\n      'ff': 5,\n      'fi': 3,\n      'fil': 4,\n      'fo': 3,\n      'fr': 5,\n      'fur': 3,\n      'fy': 3,\n      'ga': 8,\n      'gd': 24,\n      'gl': 3,\n      'gsw': 3,\n      'gu': 3,\n      'guw': 4,\n      'gv': 23,\n      'ha': 3,\n      'haw': 3,\n      'he': 2,\n      'hi': 4,\n      'hr': 11,\n      'hu': 0,\n      'id': 0,\n      'ig': 0,\n      'ii': 0,\n      'is': 3,\n      'it': 3,\n      'iu': 7,\n      'ja': 0,\n      'jmc': 3,\n      'jv': 0,\n      'ka': 0,\n      'kab': 5,\n      'kaj': 3,\n      'kcg': 3,\n      'kde': 0,\n      'kea': 0,\n      'kk': 3,\n      'kl': 3,\n      'km': 0,\n      'kn': 0,\n      'ko': 0,\n      'ksb': 3,\n      'ksh': 21,\n      'ku': 3,\n      'kw': 7,\n      'lag': 18,\n      'lb': 3,\n      'lg': 3,\n      'ln': 4,\n      'lo': 0,\n      'lt': 10,\n      'lv': 6,\n      'mas': 3,\n      'mg': 4,\n      'mk': 16,\n      'ml': 3,\n      'mn': 3,\n      'mo': 9,\n      'mr': 3,\n      'ms': 0,\n      'mt': 15,\n      'my': 0,\n      'nah': 3,\n      'naq': 7,\n      'nb': 3,\n      'nd': 3,\n      'ne': 3,\n      'nl': 3,\n      'nn': 3,\n      'no': 3,\n      'nr': 3,\n      'nso': 4,\n      'ny': 3,\n      'nyn': 3,\n      'om': 3,\n      'or': 3,\n      'pa': 3,\n      'pap': 3,\n      'pl': 13,\n      'ps': 3,\n      'pt': 3,\n      'rm': 3,\n      'ro': 9,\n      'rof': 3,\n      'ru': 11,\n      'rwk': 3,\n      'sah': 0,\n      'saq': 3,\n      'se': 7,\n      'seh': 3,\n      'ses': 0,\n      'sg': 0,\n      'sh': 11,\n      'shi': 19,\n      'sk': 12,\n      'sl': 14,\n      'sma': 7,\n      'smi': 7,\n      'smj': 7,\n      'smn': 7,\n      'sms': 7,\n      'sn': 3,\n      'so': 3,\n      'sq': 3,\n      'sr': 11,\n      'ss': 3,\n      'ssy': 3,\n      'st': 3,\n      'sv': 3,\n      'sw': 3,\n      'syr': 3,\n      'ta': 3,\n      'te': 3,\n      'teo': 3,\n      'th': 0,\n      'ti': 4,\n      'tig': 3,\n      'tk': 3,\n      'tl': 4,\n      'tn': 3,\n      'to': 0,\n      'tr': 0,\n      'ts': 3,\n      'tzm': 22,\n      'uk': 11,\n      'ur': 3,\n      've': 3,\n      'vi': 0,\n      'vun': 3,\n      'wa': 4,\n      'wae': 3,\n      'wo': 0,\n      'xh': 3,\n      'xog': 3,\n      'yo': 0,\n      'zh': 0,\n      'zu': 3\n    }; // utility functions for plural rules methods\n\n    function isIn(n, list) {\n      return list.indexOf(n) !== -1;\n    }\n\n    function isBetween(n, start, end) {\n      return start <= n && n <= end;\n    } // list of all plural rules methods:\n    // map an integer to the plural form name to use\n\n\n    var pluralRules = {\n      '0': function _(n) {\n        return 'other';\n      },\n      '1': function _(n) {\n        if (isBetween(n % 100, 3, 10)) return 'few';\n        if (n === 0) return 'zero';\n        if (isBetween(n % 100, 11, 99)) return 'many';\n        if (n == 2) return 'two';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '2': function _(n) {\n        if (n !== 0 && n % 10 === 0) return 'many';\n        if (n == 2) return 'two';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '3': function _(n) {\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '4': function _(n) {\n        if (isBetween(n, 0, 1)) return 'one';\n        return 'other';\n      },\n      '5': function _(n) {\n        if (isBetween(n, 0, 2) && n != 2) return 'one';\n        return 'other';\n      },\n      '6': function _(n) {\n        if (n === 0) return 'zero';\n        if (n % 10 == 1 && n % 100 != 11) return 'one';\n        return 'other';\n      },\n      '7': function _(n) {\n        if (n == 2) return 'two';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '8': function _(n) {\n        if (isBetween(n, 3, 6)) return 'few';\n        if (isBetween(n, 7, 10)) return 'many';\n        if (n == 2) return 'two';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '9': function _(n) {\n        if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '10': function _(n) {\n        if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n        if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n        return 'other';\n      },\n      '11': function _(n) {\n        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n        if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n        if (n % 10 == 1 && n % 100 != 11) return 'one';\n        return 'other';\n      },\n      '12': function _(n) {\n        if (isBetween(n, 2, 4)) return 'few';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '13': function _(n) {\n        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n        if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '14': function _(n) {\n        if (isBetween(n % 100, 3, 4)) return 'few';\n        if (n % 100 == 2) return 'two';\n        if (n % 100 == 1) return 'one';\n        return 'other';\n      },\n      '15': function _(n) {\n        if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n        if (isBetween(n % 100, 11, 19)) return 'many';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '16': function _(n) {\n        if (n % 10 == 1 && n != 11) return 'one';\n        return 'other';\n      },\n      '17': function _(n) {\n        if (n == 3) return 'few';\n        if (n === 0) return 'zero';\n        if (n == 6) return 'many';\n        if (n == 2) return 'two';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '18': function _(n) {\n        if (n === 0) return 'zero';\n        if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n        return 'other';\n      },\n      '19': function _(n) {\n        if (isBetween(n, 2, 10)) return 'few';\n        if (isBetween(n, 0, 1)) return 'one';\n        return 'other';\n      },\n      '20': function _(n) {\n        if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n        if (n % 1000000 === 0 && n !== 0) return 'many';\n        if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n        if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n        return 'other';\n      },\n      '21': function _(n) {\n        if (n === 0) return 'zero';\n        if (n == 1) return 'one';\n        return 'other';\n      },\n      '22': function _(n) {\n        if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n        return 'other';\n      },\n      '23': function _(n) {\n        if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n        return 'other';\n      },\n      '24': function _(n) {\n        if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n        if (isIn(n, [2, 12])) return 'two';\n        if (isIn(n, [1, 11])) return 'one';\n        return 'other';\n      }\n    }; // return a function that gives the plural form name for a given integer\n\n    var index = locales2rules[lang.replace(/-.*$/, '')];\n\n    if (!(index in pluralRules)) {\n      console.warn('plural form unknown for [' + lang + ']');\n      return function () {\n        return 'other';\n      };\n    }\n\n    return pluralRules[index];\n  } // pre-defined 'plural' macro\n\n\n  gMacros.plural = function (str, param, key, prop) {\n    var n = parseFloat(param);\n    if (isNaN(n)) return str; // TODO: support other properties (l20n still doesn't...)\n\n    if (prop != gTextProp) return str; // initialize _pluralRules\n\n    if (!gMacros._pluralRules) {\n      gMacros._pluralRules = getPluralRules(gLanguage);\n    }\n\n    var index = '[' + gMacros._pluralRules(n) + ']'; // try to find a [zero|one|two] key if it's defined\n\n    if (n === 0 && key + '[zero]' in gL10nData) {\n      str = gL10nData[key + '[zero]'][prop];\n    } else if (n == 1 && key + '[one]' in gL10nData) {\n      str = gL10nData[key + '[one]'][prop];\n    } else if (n == 2 && key + '[two]' in gL10nData) {\n      str = gL10nData[key + '[two]'][prop];\n    } else if (key + index in gL10nData) {\n      str = gL10nData[key + index][prop];\n    } else if (key + '[other]' in gL10nData) {\n      str = gL10nData[key + '[other]'][prop];\n    }\n\n    return str;\n  };\n  /**\r\n   * l10n dictionary functions\r\n   */\n  // fetch an l10n object, warn if not found, apply `args' if possible\n\n\n  function getL10nData(key, args, fallback) {\n    var data = gL10nData[key];\n\n    if (!data) {\n      console.warn('#' + key + ' is undefined.');\n\n      if (!fallback) {\n        return null;\n      }\n\n      data = fallback;\n    }\n    /** This is where l10n expressions should be processed.\r\n      * The plan is to support C-style expressions from the l20n project;\r\n      * until then, only two kinds of simple expressions are supported:\r\n      *   {[ index ]} and {{ arguments }}.\r\n      */\n\n\n    var rv = {};\n\n    for (var prop in data) {\n      var str = data[prop];\n      str = substIndexes(str, args, key, prop);\n      str = substArguments(str, args, key);\n      rv[prop] = str;\n    }\n\n    return rv;\n  } // replace {[macros]} with their values\n\n\n  function substIndexes(str, args, key, prop) {\n    var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n    var reMatch = reIndex.exec(str);\n    if (!reMatch || !reMatch.length) return str; // an index/macro has been found\n    // Note: at the moment, only one parameter is supported\n\n    var macroName = reMatch[1];\n    var paramName = reMatch[2];\n    var param;\n\n    if (args && paramName in args) {\n      param = args[paramName];\n    } else if (paramName in gL10nData) {\n      param = gL10nData[paramName];\n    } // there's no macro parser yet: it has to be defined in gMacros\n\n\n    if (macroName in gMacros) {\n      var macro = gMacros[macroName];\n      str = macro(str, param, key, prop);\n    }\n\n    return str;\n  } // replace {{arguments}} with their values\n\n\n  function substArguments(str, args, key) {\n    var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n    return str.replace(reArgs, function (matched_text, arg) {\n      if (args && arg in args) {\n        return args[arg];\n      }\n\n      if (arg in gL10nData) {\n        return gL10nData[arg];\n      }\n\n      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n      return matched_text;\n    });\n  } // translate an HTML element\n\n\n  function translateElement(element) {\n    var l10n = getL10nAttributes(element);\n    if (!l10n.id) return; // get the related l10n object\n\n    var data = getL10nData(l10n.id, l10n.args);\n\n    if (!data) {\n      console.warn('#' + l10n.id + ' is undefined.');\n      return;\n    } // translate element (TODO: security checks?)\n\n\n    if (data[gTextProp]) {\n      // XXX\n      if (getChildElementCount(element) === 0) {\n        element[gTextProp] = data[gTextProp];\n      } else {\n        // this element has element children: replace the content of the first\n        // (non-empty) child textNode and clear other child textNodes\n        var children = element.childNodes;\n        var found = false;\n\n        for (var i = 0, l = children.length; i < l; i++) {\n          if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n            if (found) {\n              children[i].nodeValue = '';\n            } else {\n              children[i].nodeValue = data[gTextProp];\n              found = true;\n            }\n          }\n        } // if no (non-empty) textNode is found, insert a textNode before the\n        // first element child.\n\n\n        if (!found) {\n          var textNode = document.createTextNode(data[gTextProp]);\n          element.insertBefore(textNode, element.firstChild);\n        }\n      }\n\n      delete data[gTextProp];\n    }\n\n    for (var k in data) {\n      element[k] = data[k];\n    }\n  } // webkit browsers don't currently support 'children' on SVG elements...\n\n\n  function getChildElementCount(element) {\n    if (element.children) {\n      return element.children.length;\n    }\n\n    if (typeof element.childElementCount !== 'undefined') {\n      return element.childElementCount;\n    }\n\n    var count = 0;\n\n    for (var i = 0; i < element.childNodes.length; i++) {\n      count += element.nodeType === 1 ? 1 : 0;\n    }\n\n    return count;\n  } // translate an HTML subtree\n\n\n  function translateFragment(element) {\n    element = element || document.documentElement; // check all translatable children (= w/ a `data-l10n-id' attribute)\n\n    var children = getTranslatableChildren(element);\n    var elementCount = children.length;\n\n    for (var i = 0; i < elementCount; i++) {\n      translateElement(children[i]);\n    } // translate element itself if necessary\n\n\n    translateElement(element);\n  }\n\n  return {\n    // get a localized string\n    get: function get(key, args, fallbackString) {\n      var index = key.lastIndexOf('.');\n      var prop = gTextProp;\n\n      if (index > 0) {\n        // An attribute has been specified\n        prop = key.substring(index + 1);\n        key = key.substring(0, index);\n      }\n\n      var fallback;\n\n      if (fallbackString) {\n        fallback = {};\n        fallback[prop] = fallbackString;\n      }\n\n      var data = getL10nData(key, args, fallback);\n\n      if (data && prop in data) {\n        return data[prop];\n      }\n\n      return '{{' + key + '}}';\n    },\n    // debug\n    getData: function getData() {\n      return gL10nData;\n    },\n    getText: function getText() {\n      return gTextData;\n    },\n    // get|set the document language\n    getLanguage: function getLanguage() {\n      return gLanguage;\n    },\n    setLanguage: function setLanguage(lang, callback) {\n      loadLocale(lang, function () {\n        if (callback) callback();\n      });\n    },\n    // get the direction (ltr|rtl) of the current language\n    getDirection: function getDirection() {\n      // http://www.w3.org/International/questions/qa-scripts\n      // Arabic, Hebrew, Farsi, Pashto, Urdu\n      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n      var shortCode = gLanguage.split('-', 1)[0];\n      return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n    },\n    // translate an element or document fragment\n    translate: translateFragment,\n    // this can be used to prevent race conditions\n    getReadyState: function getReadyState() {\n      return gReadyState;\n    },\n    ready: function ready(callback) {\n      if (!callback) {\n        return;\n      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n        window.setTimeout(function () {\n          callback();\n        });\n      } else if (document.addEventListener) {\n        document.addEventListener('localized', function once() {\n          document.removeEventListener('localized', once);\n          callback();\n        });\n      }\n    }\n  };\n}(window, document);\n\n/***/ }),\n\n/***/ \"baa5\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar lastIndexOf = __webpack_require__(\"e58c\");\n\n// `Array.prototype.lastIndexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\n$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {\n  lastIndexOf: lastIndexOf\n});\n\n\n/***/ }),\n\n/***/ \"bb2f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = !fails(function () {\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n\n\n/***/ }),\n\n/***/ \"bdc3\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/svg+xml,%3csvg xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.0' width='50px' height='50px' viewBox='-3 -3 54 54' xml:space='preserve'%3e %3cg%3e %3cpath d='M25 0 A 26 26 0 0 0 0 25' stroke='%23606c88' stroke-width='3' fill='transparent'%3e %3canimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='1s' repeatCount='indefinite'%3e %3c/animateTransform%3e %3c/path%3e %3cpath d='M25 8 A 18 18 0 0 0 8 25' stroke='%2311ece5' stroke-width='3' fill='transparent'%3e %3canimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='1.5s' repeatCount='indefinite'%3e %3c/animateTransform%3e %3c/path%3e %3cpath d='M25 16 A 10 10 0 0 0 16 25' stroke='%23606c88' stroke-width='3' fill='transparent'%3e %3canimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.5s' repeatCount='indefinite'%3e %3c/animateTransform%3e %3c/path%3e %3c/g%3e %3c/svg%3e\"\n\n/***/ }),\n\n/***/ \"bf19\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n  toJSON: function toJSON() {\n    return URL.prototype.toString.call(this);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"bfa5\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"8996\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* unused harmony reexport * */\n /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); \n\n/***/ }),\n\n/***/ \"c04e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"c135\":\n/***/ (function(module, exports) {\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\n\n/***/ }),\n\n/***/ \"c19f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar arrayBufferModule = __webpack_require__(\"621a\");\nvar setSpecies = __webpack_require__(\"2626\");\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor\n$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n  ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n\n\n/***/ }),\n\n/***/ \"c1ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $filter = __webpack_require__(\"b727\").filter;\nvar speciesConstructor = __webpack_require__(\"4840\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  var C = speciesConstructor(this, this.constructor);\n  var index = 0;\n  var length = list.length;\n  var result = new (aTypedArrayConstructor(C))(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n});\n\n\n/***/ }),\n\n/***/ \"c225\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"159b\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar BaseFontLoader = /*#__PURE__*/function () {\n  function BaseFontLoader(_ref) {\n    var docId = _ref.docId,\n        onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n    _classCallCheck(this, BaseFontLoader);\n\n    if (this.constructor === BaseFontLoader) {\n      (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n    }\n\n    this.docId = docId;\n    this._onUnsupportedFeature = onUnsupportedFeature;\n    this.nativeFontFaces = [];\n    this.styleElement = null;\n  }\n\n  _createClass(BaseFontLoader, [{\n    key: \"addNativeFontFace\",\n    value: function addNativeFontFace(nativeFontFace) {\n      this.nativeFontFaces.push(nativeFontFace);\n      document.fonts.add(nativeFontFace);\n    }\n  }, {\n    key: \"insertRule\",\n    value: function insertRule(rule) {\n      var styleElement = this.styleElement;\n\n      if (!styleElement) {\n        styleElement = this.styleElement = document.createElement(\"style\");\n        styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n        document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n      }\n\n      var styleSheet = styleElement.sheet;\n      styleSheet.insertRule(rule, styleSheet.cssRules.length);\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this.nativeFontFaces.forEach(function (nativeFontFace) {\n        document.fonts.delete(nativeFontFace);\n      });\n      this.nativeFontFaces.length = 0;\n\n      if (this.styleElement) {\n        this.styleElement.remove();\n        this.styleElement = null;\n      }\n    }\n  }, {\n    key: \"bind\",\n    value: function () {\n      var _bind = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(font) {\n        var _this = this;\n\n        var nativeFontFace, rule;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(font.attached || font.missingFile)) {\n                  _context.next = 2;\n                  break;\n                }\n\n                return _context.abrupt(\"return\");\n\n              case 2:\n                font.attached = true;\n\n                if (!this.isFontLoadingAPISupported) {\n                  _context.next = 19;\n                  break;\n                }\n\n                nativeFontFace = font.createNativeFontFace();\n\n                if (!nativeFontFace) {\n                  _context.next = 18;\n                  break;\n                }\n\n                this.addNativeFontFace(nativeFontFace);\n                _context.prev = 7;\n                _context.next = 10;\n                return nativeFontFace.loaded;\n\n              case 10:\n                _context.next = 18;\n                break;\n\n              case 12:\n                _context.prev = 12;\n                _context.t0 = _context[\"catch\"](7);\n\n                this._onUnsupportedFeature({\n                  featureId: _util.UNSUPPORTED_FEATURES.font\n                });\n\n                (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n                font.disableFontFace = true;\n                throw _context.t0;\n\n              case 18:\n                return _context.abrupt(\"return\");\n\n              case 19:\n                rule = font.createFontFaceRule();\n\n                if (!rule) {\n                  _context.next = 26;\n                  break;\n                }\n\n                this.insertRule(rule);\n\n                if (!this.isSyncFontLoadingSupported) {\n                  _context.next = 24;\n                  break;\n                }\n\n                return _context.abrupt(\"return\");\n\n              case 24:\n                _context.next = 26;\n                return new Promise(function (resolve) {\n                  var request = _this._queueLoadingCallback(resolve);\n\n                  _this._prepareFontLoadEvent([rule], [font], request);\n                });\n\n              case 26:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this, [[7, 12]]);\n      }));\n\n      function bind(_x) {\n        return _bind.apply(this, arguments);\n      }\n\n      return bind;\n    }()\n  }, {\n    key: \"_queueLoadingCallback\",\n    value: function _queueLoadingCallback(callback) {\n      (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n    }\n  }, {\n    key: \"_prepareFontLoadEvent\",\n    value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n      (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n    }\n  }, {\n    key: \"isFontLoadingAPISupported\",\n    get: function get() {\n      var supported = typeof document !== \"undefined\" && !!document.fonts;\n      return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n    }\n  }, {\n    key: \"isSyncFontLoadingSupported\",\n    get: function get() {\n      (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n    }\n  }, {\n    key: \"_loadTestFont\",\n    get: function get() {\n      (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n    }\n  }]);\n\n  return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n  exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n    _inherits(GenericFontLoader, _BaseFontLoader);\n\n    var _super = _createSuper(GenericFontLoader);\n\n    function GenericFontLoader(docId) {\n      var _this2;\n\n      _classCallCheck(this, GenericFontLoader);\n\n      _this2 = _super.call(this, docId);\n      _this2.loadingContext = {\n        requests: [],\n        nextRequestId: 0\n      };\n      _this2.loadTestFontId = 0;\n      return _this2;\n    }\n\n    _createClass(GenericFontLoader, [{\n      key: \"_queueLoadingCallback\",\n      value: function _queueLoadingCallback(callback) {\n        function completeRequest() {\n          (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n          request.done = true;\n\n          while (context.requests.length > 0 && context.requests[0].done) {\n            var otherRequest = context.requests.shift();\n            setTimeout(otherRequest.callback, 0);\n          }\n        }\n\n        var context = this.loadingContext;\n        var request = {\n          id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n          done: false,\n          complete: completeRequest,\n          callback: callback\n        };\n        context.requests.push(request);\n        return request;\n      }\n    }, {\n      key: \"_prepareFontLoadEvent\",\n      value: function _prepareFontLoadEvent(rules, fonts, request) {\n        function int32(data, offset) {\n          return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n        }\n\n        function spliceString(s, offset, remove, insert) {\n          var chunk1 = s.substring(0, offset);\n          var chunk2 = s.substring(offset + remove);\n          return chunk1 + insert + chunk2;\n        }\n\n        var i, ii;\n        var canvas = document.createElement(\"canvas\");\n        canvas.width = 1;\n        canvas.height = 1;\n        var ctx = canvas.getContext(\"2d\");\n        var called = 0;\n\n        function isFontReady(name, callback) {\n          called++;\n\n          if (called > 30) {\n            (0, _util.warn)(\"Load test font never loaded.\");\n            callback();\n            return;\n          }\n\n          ctx.font = \"30px \" + name;\n          ctx.fillText(\".\", 0, 20);\n          var imageData = ctx.getImageData(0, 0, 1, 1);\n\n          if (imageData.data[3] > 0) {\n            callback();\n            return;\n          }\n\n          setTimeout(isFontReady.bind(null, name, callback));\n        }\n\n        var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n        var data = this._loadTestFont;\n        var COMMENT_OFFSET = 976;\n        data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n        var CFF_CHECKSUM_OFFSET = 16;\n        var XXXX_VALUE = 0x58585858;\n        var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n        for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n          checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n        }\n\n        if (i < loadTestFontId.length) {\n          checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n        }\n\n        data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n        var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n        var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n        this.insertRule(rule);\n        var names = [];\n\n        for (i = 0, ii = fonts.length; i < ii; i++) {\n          names.push(fonts[i].loadedName);\n        }\n\n        names.push(loadTestFontId);\n        var div = document.createElement(\"div\");\n        div.style.visibility = \"hidden\";\n        div.style.width = div.style.height = \"10px\";\n        div.style.position = \"absolute\";\n        div.style.top = div.style.left = \"0px\";\n\n        for (i = 0, ii = names.length; i < ii; ++i) {\n          var span = document.createElement(\"span\");\n          span.textContent = \"Hi\";\n          span.style.fontFamily = names[i];\n          div.appendChild(span);\n        }\n\n        document.body.appendChild(div);\n        isFontReady(loadTestFontId, function () {\n          document.body.removeChild(div);\n          request.complete();\n        });\n      }\n    }, {\n      key: \"isSyncFontLoadingSupported\",\n      get: function get() {\n        var supported = false;\n\n        if (typeof navigator === \"undefined\") {\n          supported = true;\n        } else {\n          var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n          if (m && m[1] >= 14) {\n            supported = true;\n          }\n        }\n\n        return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n      }\n    }, {\n      key: \"_loadTestFont\",\n      get: function get() {\n        var getLoadTestFont = function getLoadTestFont() {\n          return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n        };\n\n        return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n      }\n    }]);\n\n    return GenericFontLoader;\n  }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n  function FontFaceObject(translatedData, _ref2) {\n    var _ref2$isEvalSupported = _ref2.isEvalSupported,\n        isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n        _ref2$disableFontFace = _ref2.disableFontFace,\n        disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n        _ref2$ignoreErrors = _ref2.ignoreErrors,\n        ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n        _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n        onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n        _ref2$fontRegistry = _ref2.fontRegistry,\n        fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n    _classCallCheck(this, FontFaceObject);\n\n    this.compiledGlyphs = Object.create(null);\n\n    for (var i in translatedData) {\n      this[i] = translatedData[i];\n    }\n\n    this.isEvalSupported = isEvalSupported !== false;\n    this.disableFontFace = disableFontFace === true;\n    this.ignoreErrors = ignoreErrors === true;\n    this._onUnsupportedFeature = onUnsupportedFeature;\n    this.fontRegistry = fontRegistry;\n  }\n\n  _createClass(FontFaceObject, [{\n    key: \"createNativeFontFace\",\n    value: function createNativeFontFace() {\n      if (!this.data || this.disableFontFace) {\n        return null;\n      }\n\n      var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n      if (this.fontRegistry) {\n        this.fontRegistry.registerFont(this);\n      }\n\n      return nativeFontFace;\n    }\n  }, {\n    key: \"createFontFaceRule\",\n    value: function createFontFaceRule() {\n      if (!this.data || this.disableFontFace) {\n        return null;\n      }\n\n      var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n      var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n      var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n      if (this.fontRegistry) {\n        this.fontRegistry.registerFont(this, url);\n      }\n\n      return rule;\n    }\n  }, {\n    key: \"getPathGenerator\",\n    value: function getPathGenerator(objs, character) {\n      if (this.compiledGlyphs[character] !== undefined) {\n        return this.compiledGlyphs[character];\n      }\n\n      var cmds, current;\n\n      try {\n        cmds = objs.get(this.loadedName + \"_path_\" + character);\n      } catch (ex) {\n        if (!this.ignoreErrors) {\n          throw ex;\n        }\n\n        if (this._onUnsupportedFeature) {\n          this._onUnsupportedFeature({\n            featureId: _util.UNSUPPORTED_FEATURES.font\n          });\n        }\n\n        (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n        return this.compiledGlyphs[character] = function (c, size) {};\n      }\n\n      if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n        var args,\n            js = \"\";\n\n        for (var i = 0, ii = cmds.length; i < ii; i++) {\n          current = cmds[i];\n\n          if (current.args !== undefined) {\n            args = current.args.join(\",\");\n          } else {\n            args = \"\";\n          }\n\n          js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n        }\n\n        return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n      }\n\n      return this.compiledGlyphs[character] = function (c, size) {\n        for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n          current = cmds[_i];\n\n          if (current.cmd === \"scale\") {\n            current.args = [size, -size];\n          }\n\n          c[current.cmd].apply(c, current.args);\n        }\n      };\n    }\n  }]);\n\n  return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n\n/***/ \"c240\":\n/***/ (function(module, exports) {\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\n\n/***/ }),\n\n/***/ \"c2aa\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"c430\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"c6b6\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"c6cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar setGlobal = __webpack_require__(\"ce4e\");\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n\n/***/ \"c740\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $findIndex = __webpack_require__(\"b727\").findIndex;\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"c8d2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar whitespaces = __webpack_require__(\"5899\");\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n  });\n};\n\n\n/***/ }),\n\n/***/ \"c906\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar isObject = __webpack_require__(\"861d\");\n\nvar nativeIsExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.github.io/ecma262/#sec-object.isextensible\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  isExtensible: function isExtensible(it) {\n    return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"c973\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n  try {\n    var info = gen[key](arg);\n    var value = info.value;\n  } catch (error) {\n    reject(error);\n    return;\n  }\n\n  if (info.done) {\n    resolve(value);\n  } else {\n    Promise.resolve(value).then(_next, _throw);\n  }\n}\n\nfunction _asyncToGenerator(fn) {\n  return function () {\n    var self = this,\n        args = arguments;\n    return new Promise(function (resolve, reject) {\n      var gen = fn.apply(self, args);\n\n      function _next(value) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n      }\n\n      function _throw(err) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n      }\n\n      _next(undefined);\n    });\n  };\n}\n\nmodule.exports = _asyncToGenerator;\n\n/***/ }),\n\n/***/ \"c975\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $indexOf = __webpack_require__(\"4d64\").indexOf;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n    return NEGATIVE_ZERO\n      // convert -0 to +0\n      ? nativeIndexOf.apply(this, arguments) || 0\n      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"ca84\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar indexOf = __webpack_require__(\"4d64\").indexOf;\nvar hiddenKeys = __webpack_require__(\"d012\");\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"ca91\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $reduce = __webpack_require__(\"d58f\").left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n  return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"caad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $includes = __webpack_require__(\"4d64\").includes;\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n\n\n/***/ }),\n\n/***/ \"cb29\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fill = __webpack_require__(\"81d5\");\nvar addToUnscopables = __webpack_require__(\"44d2\");\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n  fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n\n\n/***/ }),\n\n/***/ \"cc12\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"cc71\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar createHTML = __webpack_require__(\"857a\");\nvar forcedStringHTMLMethod = __webpack_require__(\"af03\");\n\n// `String.prototype.bold` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.bold\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {\n  bold: function bold() {\n    return createHTML(this, 'b', '', '');\n  }\n});\n\n\n/***/ }),\n\n/***/ \"cca6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar assign = __webpack_require__(\"60da\");\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n\n\n/***/ }),\n\n/***/ \"cd26\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n  var that = this;\n  var length = aTypedArray(that).length;\n  var middle = floor(length / 2);\n  var index = 0;\n  var value;\n  while (index < middle) {\n    value = that[index];\n    that[index++] = that[--length];\n    that[length] = value;\n  } return that;\n});\n\n\n/***/ }),\n\n/***/ \"cdf9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar isObject = __webpack_require__(\"861d\");\nvar newPromiseCapability = __webpack_require__(\"f069\");\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n\n\n/***/ }),\n\n/***/ \"ce4e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\n\nmodule.exports = function (key, value) {\n  try {\n    createNonEnumerableProperty(global, key, value);\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n\n\n/***/ }),\n\n/***/ \"ced1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"a623\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nwindow.__nativePrint__ = window.print.bind(window);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFPrintService = PDFPrintService;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _app = __webpack_require__(\"ead8\");\n\nvar _app_options = __webpack_require__(\"04d0\");\n\nvar activeService = null;\nvar overlayManager = null;\n\nfunction renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {\n  var scratchCanvas = activeService.scratchCanvas;\n  var PRINT_RESOLUTION = _app_options.AppOptions.get(\"printResolution\") || 150;\n  var PRINT_UNITS = PRINT_RESOLUTION / 72.0;\n  scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);\n  scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);\n  var width = Math.floor(size.width * _ui_utils.CSS_UNITS) + \"px\";\n  var height = Math.floor(size.height * _ui_utils.CSS_UNITS) + \"px\";\n  var ctx = scratchCanvas.getContext(\"2d\");\n  ctx.save();\n  ctx.fillStyle = \"rgb(255, 255, 255)\";\n  ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);\n  ctx.restore();\n  return pdfDocument.getPage(pageNumber).then(function (pdfPage) {\n    var renderContext = {\n      canvasContext: ctx,\n      transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],\n      viewport: pdfPage.getViewport({\n        scale: 1,\n        rotation: size.rotation\n      }),\n      intent: \"print\"\n    };\n    return pdfPage.render(renderContext).promise;\n  }).then(function () {\n    return {\n      width: width,\n      height: height\n    };\n  });\n}\n\nfunction PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {\n  this.pdfDocument = pdfDocument;\n  this.pagesOverview = pagesOverview;\n  this.printContainer = printContainer;\n  this.l10n = l10n || _ui_utils.NullL10n;\n  this.disableCreateObjectURL = pdfDocument.loadingParams[\"disableCreateObjectURL\"];\n  this.currentPage = -1;\n  this.scratchCanvas = document.createElement(\"canvas\");\n}\n\nPDFPrintService.prototype = {\n  layout: function layout() {\n    this.throwIfInactive();\n    var body = document.querySelector(\"body\");\n    body.setAttribute(\"data-pdfjsprinting\", true);\n    var hasEqualPageSizes = this.pagesOverview.every(function (size) {\n      return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;\n    }, this);\n\n    if (!hasEqualPageSizes) {\n      console.warn(\"Not all pages have the same size. The printed \" + \"result may be incorrect!\");\n    }\n\n    this.pageStyleSheet = document.createElement(\"style\");\n    var pageSize = this.pagesOverview[0];\n    this.pageStyleSheet.textContent = \"@supports ((size:A4) and (size:1pt 1pt)) {\" + \"@page { size: \" + pageSize.width + \"pt \" + pageSize.height + \"pt;}\" + \"}\";\n    body.appendChild(this.pageStyleSheet);\n  },\n  destroy: function destroy() {\n    if (activeService !== this) {\n      return;\n    }\n\n    this.printContainer.textContent = \"\";\n    var body = document.querySelector(\"body\");\n    body.removeAttribute(\"data-pdfjsprinting\");\n\n    if (this.pageStyleSheet) {\n      this.pageStyleSheet.remove();\n      this.pageStyleSheet = null;\n    }\n\n    this.scratchCanvas.width = this.scratchCanvas.height = 0;\n    this.scratchCanvas = null;\n    activeService = null;\n    ensureOverlay().then(function () {\n      if (overlayManager.active !== \"printServiceOverlay\") {\n        return;\n      }\n\n      overlayManager.close(\"printServiceOverlay\");\n    });\n  },\n  renderPages: function renderPages() {\n    var _this = this;\n\n    var pageCount = this.pagesOverview.length;\n\n    var renderNextPage = function renderNextPage(resolve, reject) {\n      _this.throwIfInactive();\n\n      if (++_this.currentPage >= pageCount) {\n        renderProgress(pageCount, pageCount, _this.l10n);\n        resolve();\n        return;\n      }\n\n      var index = _this.currentPage;\n      renderProgress(index, pageCount, _this.l10n);\n      renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {\n        renderNextPage(resolve, reject);\n      }, reject);\n    };\n\n    return new Promise(renderNextPage);\n  },\n  useRenderedPage: function useRenderedPage(printItem) {\n    this.throwIfInactive();\n    var img = document.createElement(\"img\");\n    img.style.width = printItem.width;\n    img.style.height = printItem.height;\n    var scratchCanvas = this.scratchCanvas;\n\n    if (\"toBlob\" in scratchCanvas && !this.disableCreateObjectURL) {\n      scratchCanvas.toBlob(function (blob) {\n        img.src = URL.createObjectURL(blob);\n      });\n    } else {\n      img.src = scratchCanvas.toDataURL();\n    }\n\n    var wrapper = document.createElement(\"div\");\n    wrapper.appendChild(img);\n    this.printContainer.appendChild(wrapper);\n    return new Promise(function (resolve, reject) {\n      img.onload = resolve;\n      img.onerror = reject;\n    });\n  },\n  performPrint: function performPrint() {\n    var _this2 = this;\n\n    this.throwIfInactive();\n    return new Promise(function (resolve) {\n      setTimeout(function () {\n        if (!_this2.active) {\n          resolve();\n          return;\n        }\n\n        print.call(window);\n        setTimeout(resolve, 20);\n      }, 0);\n    });\n  },\n\n  get active() {\n    return this === activeService;\n  },\n\n  throwIfInactive: function throwIfInactive() {\n    if (!this.active) {\n      throw new Error(\"This print request was cancelled or completed.\");\n    }\n  }\n};\nvar print = window.print;\n\nwindow.print = function () {\n  if (activeService) {\n    console.warn(\"Ignored window.print() because of a pending print job.\");\n    return;\n  }\n\n  ensureOverlay().then(function () {\n    if (activeService) {\n      overlayManager.open(\"printServiceOverlay\");\n    }\n  });\n\n  try {\n    dispatchEvent(\"beforeprint\");\n  } finally {\n    if (!activeService) {\n      console.error(\"Expected print service to be initialized.\");\n      ensureOverlay().then(function () {\n        if (overlayManager.active === \"printServiceOverlay\") {\n          overlayManager.close(\"printServiceOverlay\");\n        }\n      });\n      return;\n    }\n\n    var activeServiceOnEntry = activeService;\n    activeService.renderPages().then(function () {\n      return activeServiceOnEntry.performPrint();\n    }).catch(function () {}).then(function () {\n      if (activeServiceOnEntry.active) {\n        abort();\n      }\n    });\n  }\n};\n\nfunction dispatchEvent(eventType) {\n  var event = document.createEvent(\"CustomEvent\");\n  event.initCustomEvent(eventType, false, false, \"custom\");\n  window.dispatchEvent(event);\n}\n\nfunction abort() {\n  if (activeService) {\n    activeService.destroy();\n    dispatchEvent(\"afterprint\");\n  }\n}\n\nfunction renderProgress(index, total, l10n) {\n  var progressContainer = document.getElementById(\"printServiceOverlay\");\n  var progress = Math.round(100 * index / total);\n  var progressBar = progressContainer.querySelector(\"progress\");\n  var progressPerc = progressContainer.querySelector(\".relative-progress\");\n  progressBar.value = progress;\n  l10n.get(\"print_progress_percent\", {\n    progress: progress\n  }, progress + \"%\").then(function (msg) {\n    progressPerc.textContent = msg;\n  });\n}\n\nwindow.addEventListener(\"keydown\", function (event) {\n  if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {\n    window.print();\n    event.preventDefault();\n\n    if (event.stopImmediatePropagation) {\n      event.stopImmediatePropagation();\n    } else {\n      event.stopPropagation();\n    }\n  }\n}, true);\n\nif (\"onbeforeprint\" in window) {\n  var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {\n    if (event.detail !== \"custom\" && event.stopImmediatePropagation) {\n      event.stopImmediatePropagation();\n    }\n  };\n\n  window.addEventListener(\"beforeprint\", stopPropagationIfNeeded);\n  window.addEventListener(\"afterprint\", stopPropagationIfNeeded);\n}\n\nvar overlayPromise;\n\nfunction ensureOverlay() {\n  if (!overlayPromise) {\n    overlayManager = _app.PDFViewerApplication.overlayManager;\n\n    if (!overlayManager) {\n      throw new Error(\"The overlay manager has not yet been initialized.\");\n    }\n\n    overlayPromise = overlayManager.register(\"printServiceOverlay\", document.getElementById(\"printServiceOverlay\"), abort, true);\n    document.getElementById(\"printCancel\").onclick = abort;\n  }\n\n  return overlayPromise;\n}\n\n_app.PDFPrintServiceFactory.instance = {\n  supportsPrinting: true,\n  createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {\n    if (activeService) {\n      throw new Error(\"The print service is created and active.\");\n    }\n\n    activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);\n    return activeService;\n  }\n};\n\n/***/ }),\n\n/***/ \"cee8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar isObject = __webpack_require__(\"861d\");\nvar onFreeze = __webpack_require__(\"f183\").onFreeze;\nvar FREEZING = __webpack_require__(\"bb2f\");\nvar fails = __webpack_require__(\"d039\");\n\nvar nativePreventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.github.io/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n  preventExtensions: function preventExtensions(it) {\n    return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"cf01\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Toolbar = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar PAGE_NUMBER_LOADING_INDICATOR = \"visiblePageIsLoading\";\nvar SCALE_SELECT_CONTAINER_WIDTH = 140;\nvar SCALE_SELECT_WIDTH = 162;\n\nvar Toolbar = /*#__PURE__*/function () {\n  function Toolbar(options, eventBus) {\n    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;\n\n    _classCallCheck(this, Toolbar);\n\n    this.toolbar = options.container;\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n    this.buttons = [{\n      element: options.previous,\n      eventName: \"previouspage\"\n    }, {\n      element: options.next,\n      eventName: \"nextpage\"\n    }, {\n      element: options.zoomIn,\n      eventName: \"zoomin\"\n    }, {\n      element: options.zoomOut,\n      eventName: \"zoomout\"\n    }, {\n      element: options.openFile,\n      eventName: \"openfile\"\n    }, {\n      element: options.print,\n      eventName: \"print\"\n    }, {\n      element: options.presentationModeButton,\n      eventName: \"presentationmode\"\n    }, {\n      element: options.download,\n      eventName: \"download\"\n    }, {\n      element: options.viewBookmark,\n      eventName: null\n    }];\n    this.items = {\n      numPages: options.numPages,\n      pageNumber: options.pageNumber,\n      scaleSelectContainer: options.scaleSelectContainer,\n      scaleSelect: options.scaleSelect,\n      customScaleOption: options.customScaleOption,\n      previous: options.previous,\n      next: options.next,\n      zoomIn: options.zoomIn,\n      zoomOut: options.zoomOut\n    };\n    this._wasLocalized = false;\n    this.reset();\n\n    this._bindListeners();\n  }\n\n  _createClass(Toolbar, [{\n    key: \"setPageNumber\",\n    value: function setPageNumber(pageNumber, pageLabel) {\n      this.pageNumber = pageNumber;\n      this.pageLabel = pageLabel;\n\n      this._updateUIState(false);\n    }\n  }, {\n    key: \"setPagesCount\",\n    value: function setPagesCount(pagesCount, hasPageLabels) {\n      this.pagesCount = pagesCount;\n      this.hasPageLabels = hasPageLabels;\n\n      this._updateUIState(true);\n    }\n  }, {\n    key: \"setPageScale\",\n    value: function setPageScale(pageScaleValue, pageScale) {\n      this.pageScaleValue = (pageScaleValue || pageScale).toString();\n      this.pageScale = pageScale;\n\n      this._updateUIState(false);\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.pageNumber = 0;\n      this.pageLabel = null;\n      this.hasPageLabels = false;\n      this.pagesCount = 0;\n      this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n      this.pageScale = _ui_utils.DEFAULT_SCALE;\n\n      this._updateUIState(true);\n\n      this.updateLoadingIndicatorState();\n    }\n  }, {\n    key: \"_bindListeners\",\n    value: function _bindListeners() {\n      var _this = this;\n\n      var _this$items = this.items,\n          pageNumber = _this$items.pageNumber,\n          scaleSelect = _this$items.scaleSelect;\n      var self = this;\n\n      var _iterator = _createForOfIteratorHelper(this.buttons),\n          _step;\n\n      try {\n        var _loop = function _loop() {\n          var _step$value = _step.value,\n              element = _step$value.element,\n              eventName = _step$value.eventName;\n          element.addEventListener(\"click\", function (evt) {\n            if (eventName !== null) {\n              _this.eventBus.dispatch(eventName, {\n                source: _this\n              });\n            }\n          });\n        };\n\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      pageNumber.addEventListener(\"click\", function () {\n        this.select();\n      });\n      pageNumber.addEventListener(\"change\", function () {\n        self.eventBus.dispatch(\"pagenumberchanged\", {\n          source: self,\n          value: this.value\n        });\n      });\n      scaleSelect.addEventListener(\"change\", function () {\n        if (this.value === \"custom\") {\n          return;\n        }\n\n        self.eventBus.dispatch(\"scalechanged\", {\n          source: self,\n          value: this.value\n        });\n      });\n      scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;\n\n      this.eventBus._on(\"localized\", function () {\n        _this._wasLocalized = true;\n\n        _this._adjustScaleWidth();\n\n        _this._updateUIState(true);\n      });\n    }\n  }, {\n    key: \"_updateUIState\",\n    value: function _updateUIState() {\n      var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!this._wasLocalized) {\n        return;\n      }\n\n      var pageNumber = this.pageNumber,\n          pagesCount = this.pagesCount,\n          pageScaleValue = this.pageScaleValue,\n          pageScale = this.pageScale,\n          items = this.items;\n\n      if (resetNumPages) {\n        if (this.hasPageLabels) {\n          items.pageNumber.type = \"text\";\n        } else {\n          items.pageNumber.type = \"number\";\n          this.l10n.get(\"of_pages\", {\n            pagesCount: pagesCount\n          }, \"of {{pagesCount}}\").then(function (msg) {\n            items.numPages.textContent = msg;\n          });\n        }\n\n        items.pageNumber.max = pagesCount;\n      }\n\n      if (this.hasPageLabels) {\n        items.pageNumber.value = this.pageLabel;\n        this.l10n.get(\"page_of_pages\", {\n          pageNumber: pageNumber,\n          pagesCount: pagesCount\n        }, \"({{pageNumber}} of {{pagesCount}})\").then(function (msg) {\n          items.numPages.textContent = msg;\n        });\n      } else {\n        items.pageNumber.value = pageNumber;\n      }\n\n      items.previous.disabled = pageNumber <= 1;\n      items.next.disabled = pageNumber >= pagesCount;\n      items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;\n      items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;\n      var customScale = Math.round(pageScale * 10000) / 100;\n      this.l10n.get(\"page_scale_percent\", {\n        scale: customScale\n      }, \"{{scale}}%\").then(function (msg) {\n        var predefinedValueFound = false;\n\n        var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var option = _step2.value;\n\n            if (option.value !== pageScaleValue) {\n              option.selected = false;\n              continue;\n            }\n\n            option.selected = true;\n            predefinedValueFound = true;\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        if (!predefinedValueFound) {\n          items.customScaleOption.textContent = msg;\n          items.customScaleOption.selected = true;\n        }\n      });\n    }\n  }, {\n    key: \"updateLoadingIndicatorState\",\n    value: function updateLoadingIndicatorState() {\n      var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var pageNumberInput = this.items.pageNumber;\n      pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);\n    }\n  }, {\n    key: \"_adjustScaleWidth\",\n    value: function () {\n      var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var items, l10n, predefinedValuesPromise, canvas, ctx, _getComputedStyle, fontSize, fontFamily, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, overflow;\n\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                items = this.items, l10n = this.l10n;\n                predefinedValuesPromise = Promise.all([l10n.get(\"page_scale_auto\", null, \"Automatic Zoom\"), l10n.get(\"page_scale_actual\", null, \"Actual Size\"), l10n.get(\"page_scale_fit\", null, \"Page Fit\"), l10n.get(\"page_scale_width\", null, \"Page Width\")]);\n                canvas = document.createElement(\"canvas\");\n                canvas.mozOpaque = true;\n                ctx = canvas.getContext(\"2d\", {\n                  alpha: false\n                });\n                _context.next = 7;\n                return _ui_utils.animationStarted;\n\n              case 7:\n                _getComputedStyle = getComputedStyle(items.scaleSelect), fontSize = _getComputedStyle.fontSize, fontFamily = _getComputedStyle.fontFamily;\n                ctx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n                maxWidth = 0;\n                _context.t0 = _createForOfIteratorHelper;\n                _context.next = 13;\n                return predefinedValuesPromise;\n\n              case 13:\n                _context.t1 = _context.sent;\n                _iterator3 = (0, _context.t0)(_context.t1);\n\n                try {\n                  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n                    predefinedValue = _step3.value;\n                    _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width;\n\n                    if (width > maxWidth) {\n                      maxWidth = width;\n                    }\n                  }\n                } catch (err) {\n                  _iterator3.e(err);\n                } finally {\n                  _iterator3.f();\n                }\n\n                overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;\n                maxWidth += 1.5 * overflow;\n\n                if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {\n                  items.scaleSelect.style.width = \"\".concat(maxWidth + overflow, \"px\");\n                  items.scaleSelectContainer.style.width = \"\".concat(maxWidth, \"px\");\n                }\n\n                canvas.width = 0;\n                canvas.height = 0;\n                canvas = ctx = null;\n\n              case 22:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _adjustScaleWidth() {\n        return _adjustScaleWidth2.apply(this, arguments);\n      }\n\n      return _adjustScaleWidth;\n    }()\n  }]);\n\n  return Toolbar;\n}();\n\nexports.Toolbar = Toolbar;\n\n/***/ }),\n\n/***/ \"cfc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Float32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n  return function Float32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"d012\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"d039\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"d066\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar global = __webpack_require__(\"da84\");\n\nvar aFunction = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n\n/***/ \"d139\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $find = __webpack_require__(\"b727\").find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"d1e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"d28b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n\n\n/***/ }),\n\n/***/ \"d2bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar aPossiblePrototype = __webpack_require__(\"3bbe\");\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n    setter.call(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter.call(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n\n\n/***/ }),\n\n/***/ \"d3b7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar toString = __webpack_require__(\"b041\");\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ \"d44e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar has = __webpack_require__(\"5135\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n\n\n/***/ }),\n\n/***/ \"d58f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(\"1c0b\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar toLength = __webpack_require__(\"50c4\");\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n  return function (that, callbackfn, argumentsLength, memo) {\n    aFunction(callbackfn);\n    var O = toObject(that);\n    var self = IndexedObject(O);\n    var length = toLength(O.length);\n    var index = IS_RIGHT ? length - 1 : 0;\n    var i = IS_RIGHT ? -1 : 1;\n    if (argumentsLength < 2) while (true) {\n      if (index in self) {\n        memo = self[index];\n        index += i;\n        break;\n      }\n      index += i;\n      if (IS_RIGHT ? index < 0 : length <= index) {\n        throw TypeError('Reduce of empty array with no initial value');\n      }\n    }\n    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n      memo = callbackfn(memo, self[index], index, O);\n    }\n    return memo;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.reduce` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n  left: createMethod(false),\n  // `Array.prototype.reduceRight` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n  right: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ \"d5d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $forEach = __webpack_require__(\"b727\").forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"d784\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n__webpack_require__(\"ac1f\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar regexpExec = __webpack_require__(\"9263\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () { execCalled = true; return null; };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !(\n      REPLACE_SUPPORTS_NAMED_GROUPS &&\n      REPLACE_KEEPS_$0 &&\n      !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n    )) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      if (regexp.exec === regexpExec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n        }\n        return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n      }\n      return { done: false };\n    }, {\n      REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n      REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n    });\n    var stringMethod = methods[0];\n    var regexMethod = methods[1];\n\n    redefine(String.prototype, KEY, stringMethod);\n    redefine(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return regexMethod.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return regexMethod.call(string, this); }\n    );\n  }\n\n  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n\n/***/ }),\n\n/***/ \"d81d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $map = __webpack_require__(\"b727\").map;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"da3a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFSidebarResizer = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar SIDEBAR_WIDTH_VAR = \"--sidebar-width\";\nvar SIDEBAR_MIN_WIDTH = 200;\nvar SIDEBAR_RESIZING_CLASS = \"sidebarResizing\";\n\nvar PDFSidebarResizer = /*#__PURE__*/function () {\n  function PDFSidebarResizer(options, eventBus) {\n    var _this = this;\n\n    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;\n\n    _classCallCheck(this, PDFSidebarResizer);\n\n    this.enabled = false;\n    this.isRTL = false;\n    this.sidebarOpen = false;\n    this.doc = document.documentElement;\n    this._width = null;\n    this._outerContainerWidth = null;\n    this._boundEvents = Object.create(null);\n    this.outerContainer = options.outerContainer;\n    this.resizer = options.resizer;\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n\n    if (typeof CSS === \"undefined\" || typeof CSS.supports !== \"function\" || !CSS.supports(SIDEBAR_WIDTH_VAR, \"calc(-1 * \".concat(SIDEBAR_MIN_WIDTH, \"px)\"))) {\n      console.warn(\"PDFSidebarResizer: \" + \"The browser does not support resizing of the sidebar.\");\n      return;\n    }\n\n    this.enabled = true;\n    this.resizer.classList.remove(\"hidden\");\n    this.l10n.getDirection().then(function (dir) {\n      _this.isRTL = dir === \"rtl\";\n    });\n\n    this._addEventListeners();\n  }\n\n  _createClass(PDFSidebarResizer, [{\n    key: \"_updateWidth\",\n    value: function _updateWidth() {\n      var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n      if (!this.enabled) {\n        return false;\n      }\n\n      var newWidth = (0, _ui_utils.clamp)(width, SIDEBAR_MIN_WIDTH, Math.floor(this.outerContainerWidth / 2));\n\n      if (newWidth === this._width) {\n        return false;\n      }\n\n      this._width = newWidth;\n      this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, \"\".concat(newWidth, \"px\"));\n      return true;\n    }\n  }, {\n    key: \"_mouseMove\",\n    value: function _mouseMove(evt) {\n      var width = evt.clientX;\n\n      if (this.isRTL) {\n        width = this.outerContainerWidth - width;\n      }\n\n      this._updateWidth(width);\n    }\n  }, {\n    key: \"_mouseUp\",\n    value: function _mouseUp(evt) {\n      this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);\n      this.eventBus.dispatch(\"resize\", {\n        source: this\n      });\n      var _boundEvents = this._boundEvents;\n      window.removeEventListener(\"mousemove\", _boundEvents.mouseMove);\n      window.removeEventListener(\"mouseup\", _boundEvents.mouseUp);\n    }\n  }, {\n    key: \"_addEventListeners\",\n    value: function _addEventListeners() {\n      var _this2 = this;\n\n      if (!this.enabled) {\n        return;\n      }\n\n      var _boundEvents = this._boundEvents;\n      _boundEvents.mouseMove = this._mouseMove.bind(this);\n      _boundEvents.mouseUp = this._mouseUp.bind(this);\n      this.resizer.addEventListener(\"mousedown\", function (evt) {\n        if (evt.button !== 0) {\n          return;\n        }\n\n        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);\n\n        window.addEventListener(\"mousemove\", _boundEvents.mouseMove);\n        window.addEventListener(\"mouseup\", _boundEvents.mouseUp);\n      });\n\n      this.eventBus._on(\"sidebarviewchanged\", function (evt) {\n        _this2.sidebarOpen = !!(evt && evt.view);\n      });\n\n      this.eventBus._on(\"resize\", function (evt) {\n        if (!evt || evt.source !== window) {\n          return;\n        }\n\n        _this2._outerContainerWidth = null;\n\n        if (!_this2._width) {\n          return;\n        }\n\n        if (!_this2.sidebarOpen) {\n          _this2._updateWidth(_this2._width);\n\n          return;\n        }\n\n        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);\n\n        var updated = _this2._updateWidth(_this2._width);\n\n        Promise.resolve().then(function () {\n          _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);\n\n          if (updated) {\n            _this2.eventBus.dispatch(\"resize\", {\n              source: _this2\n            });\n          }\n        });\n      });\n    }\n  }, {\n    key: \"outerContainerWidth\",\n    get: function get() {\n      if (!this._outerContainerWidth) {\n        this._outerContainerWidth = this.outerContainer.clientWidth;\n      }\n\n      return this._outerContainerWidth;\n    }\n  }]);\n\n  return PDFSidebarResizer;\n}();\n\nexports.PDFSidebarResizer = PDFSidebarResizer;\n\n/***/ }),\n\n/***/ \"da84\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"dacc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"a623\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"a9e3\");\n\n__webpack_require__(\"8ba4\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"fb2c\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _typeof = __webpack_require__(\"7037\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__webpack_require__(\"6329\");\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n  NONE: \"none\",\n  DECODE: \"decode\",\n  DISPLAY: \"display\"\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar PermissionFlag = {\n  PRINT: 0x04,\n  MODIFY_CONTENTS: 0x08,\n  COPY: 0x10,\n  MODIFY_ANNOTATIONS: 0x20,\n  FILL_INTERACTIVE_FORMS: 0x100,\n  COPY_FOR_ACCESSIBILITY: 0x200,\n  ASSEMBLE: 0x400,\n  PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n  MARKED: \"Marked\",\n  REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n  MARKED: \"Marked\",\n  UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n  ACCEPTED: \"Accepted\",\n  REJECTED: \"Rejected\",\n  CANCELLED: \"Cancelled\",\n  COMPLETED: \"Completed\",\n  NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n  GROUP: \"Group\",\n  REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n  UNKNOWN: \"UNKNOWN\",\n  FLATE: \"FLATE\",\n  LZW: \"LZW\",\n  DCT: \"DCT\",\n  JPX: \"JPX\",\n  JBIG: \"JBIG\",\n  A85: \"A85\",\n  AHX: \"AHX\",\n  CCF: \"CCF\",\n  RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n  UNKNOWN: \"UNKNOWN\",\n  TYPE1: \"TYPE1\",\n  TYPE1C: \"TYPE1C\",\n  CIDFONTTYPE0: \"CIDFONTTYPE0\",\n  CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n  TRUETYPE: \"TRUETYPE\",\n  CIDFONTTYPE2: \"CIDFONTTYPE2\",\n  TYPE3: \"TYPE3\",\n  OPENTYPE: \"OPENTYPE\",\n  TYPE0: \"TYPE0\",\n  MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n  ERRORS: 0,\n  WARNINGS: 1,\n  INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n  unknown: \"unknown\",\n  forms: \"forms\",\n  javaScript: \"javaScript\",\n  smask: \"smask\",\n  shadingPattern: \"shadingPattern\",\n  font: \"font\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n  if (Number.isInteger(level)) {\n    verbosity = level;\n  }\n}\n\nfunction getVerbosityLevel() {\n  return verbosity;\n}\n\nfunction info(msg) {\n  if (verbosity >= VerbosityLevel.INFOS) {\n    console.log(\"Info: \".concat(msg));\n  }\n}\n\nfunction warn(msg) {\n  if (verbosity >= VerbosityLevel.WARNINGS) {\n    console.log(\"Warning: \".concat(msg));\n  }\n}\n\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n  var base;\n\n  try {\n    base = new URL(baseUrl);\n\n    if (!base.origin || base.origin === \"null\") {\n      return false;\n    }\n  } catch (e) {\n    return false;\n  }\n\n  var other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n\n  switch (url.protocol) {\n    case \"http:\":\n    case \"https:\":\n    case \"ftp:\":\n    case \"mailto:\":\n    case \"tel:\":\n      return true;\n\n    default:\n      return false;\n  }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n\n  try {\n    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n    if (_isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {}\n\n  return null;\n}\n\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value: value,\n    enumerable: true,\n    configurable: true,\n    writable: false\n  });\n  return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n  function BaseException(message) {\n    if (this.constructor === BaseException) {\n      unreachable(\"Cannot initialize BaseException.\");\n    }\n\n    this.message = message;\n    this.name = this.constructor.name;\n  }\n\n  BaseException.prototype = new Error();\n  BaseException.constructor = BaseException;\n  return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n  _inherits(PasswordException, _BaseException);\n\n  var _super = _createSuper(PasswordException);\n\n  function PasswordException(msg, code) {\n    var _this;\n\n    _classCallCheck(this, PasswordException);\n\n    _this = _super.call(this, msg);\n    _this.code = code;\n    return _this;\n  }\n\n  return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n  _inherits(UnknownErrorException, _BaseException2);\n\n  var _super2 = _createSuper(UnknownErrorException);\n\n  function UnknownErrorException(msg, details) {\n    var _this2;\n\n    _classCallCheck(this, UnknownErrorException);\n\n    _this2 = _super2.call(this, msg);\n    _this2.details = details;\n    return _this2;\n  }\n\n  return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n  _inherits(InvalidPDFException, _BaseException3);\n\n  var _super3 = _createSuper(InvalidPDFException);\n\n  function InvalidPDFException() {\n    _classCallCheck(this, InvalidPDFException);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n  _inherits(MissingPDFException, _BaseException4);\n\n  var _super4 = _createSuper(MissingPDFException);\n\n  function MissingPDFException() {\n    _classCallCheck(this, MissingPDFException);\n\n    return _super4.apply(this, arguments);\n  }\n\n  return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n  _inherits(UnexpectedResponseException, _BaseException5);\n\n  var _super5 = _createSuper(UnexpectedResponseException);\n\n  function UnexpectedResponseException(msg, status) {\n    var _this3;\n\n    _classCallCheck(this, UnexpectedResponseException);\n\n    _this3 = _super5.call(this, msg);\n    _this3.status = status;\n    return _this3;\n  }\n\n  return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n  _inherits(FormatError, _BaseException6);\n\n  var _super6 = _createSuper(FormatError);\n\n  function FormatError() {\n    _classCallCheck(this, FormatError);\n\n    return _super6.apply(this, arguments);\n  }\n\n  return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n  _inherits(AbortException, _BaseException7);\n\n  var _super7 = _createSuper(AbortException);\n\n  function AbortException() {\n    _classCallCheck(this, AbortException);\n\n    return _super7.apply(this, arguments);\n  }\n\n  return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n  if (typeof str !== \"string\") {\n    warn(\"The argument for removeNullCharacters must be a string.\");\n    return str;\n  }\n\n  return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n  assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n  var length = bytes.length;\n  var MAX_ARGUMENT_COUNT = 8192;\n\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n\n  var strBuf = [];\n\n  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    var chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n  assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n  var length = str.length;\n  var bytes = new Uint8Array(length);\n\n  for (var i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xff;\n  }\n\n  return bytes;\n}\n\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n\n  assert(arr.byteLength !== undefined);\n  return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n  var length = arr.length;\n\n  if (length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n\n  var resultLength = 0;\n\n  for (var i = 0; i < length; i++) {\n    resultLength += arrayByteLength(arr[i]);\n  }\n\n  var pos = 0;\n  var data = new Uint8Array(resultLength);\n\n  for (var _i = 0; _i < length; _i++) {\n    var item = arr[_i];\n\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === \"string\") {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n\n    var itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n\n  return data;\n}\n\nfunction string32(value) {\n  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n  var buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n  get value() {\n    return shadow(this, \"value\", isLittleEndian());\n  }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n  try {\n    new Function(\"\");\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nvar IsEvalSupportedCached = {\n  get value() {\n    return shadow(this, \"value\", isEvalSupported());\n  }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n  function Util() {\n    _classCallCheck(this, Util);\n  }\n\n  _createClass(Util, null, [{\n    key: \"makeCssRgb\",\n    value: function makeCssRgb(r, g, b) {\n      rgbBuf[1] = r;\n      rgbBuf[3] = g;\n      rgbBuf[5] = b;\n      return rgbBuf.join(\"\");\n    }\n  }, {\n    key: \"transform\",\n    value: function transform(m1, m2) {\n      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n    }\n  }, {\n    key: \"applyTransform\",\n    value: function applyTransform(p, m) {\n      var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n      var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n      return [xt, yt];\n    }\n  }, {\n    key: \"applyInverseTransform\",\n    value: function applyInverseTransform(p, m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n      return [xt, yt];\n    }\n  }, {\n    key: \"getAxialAlignedBoundingBox\",\n    value: function getAxialAlignedBoundingBox(r, m) {\n      var p1 = Util.applyTransform(r, m);\n      var p2 = Util.applyTransform(r.slice(2, 4), m);\n      var p3 = Util.applyTransform([r[0], r[3]], m);\n      var p4 = Util.applyTransform([r[2], r[1]], m);\n      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n    }\n  }, {\n    key: \"inverseTransform\",\n    value: function inverseTransform(m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n    }\n  }, {\n    key: \"apply3dTransform\",\n    value: function apply3dTransform(m, v) {\n      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n    }\n  }, {\n    key: \"singularValueDecompose2dScale\",\n    value: function singularValueDecompose2dScale(m) {\n      var transpose = [m[0], m[2], m[1], m[3]];\n      var a = m[0] * transpose[0] + m[1] * transpose[2];\n      var b = m[0] * transpose[1] + m[1] * transpose[3];\n      var c = m[2] * transpose[0] + m[3] * transpose[2];\n      var d = m[2] * transpose[1] + m[3] * transpose[3];\n      var first = (a + d) / 2;\n      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n      var sx = first + second || 1;\n      var sy = first - second || 1;\n      return [Math.sqrt(sx), Math.sqrt(sy)];\n    }\n  }, {\n    key: \"normalizeRect\",\n    value: function normalizeRect(rect) {\n      var r = rect.slice(0);\n\n      if (rect[0] > rect[2]) {\n        r[0] = rect[2];\n        r[2] = rect[0];\n      }\n\n      if (rect[1] > rect[3]) {\n        r[1] = rect[3];\n        r[3] = rect[1];\n      }\n\n      return r;\n    }\n  }, {\n    key: \"intersect\",\n    value: function intersect(rect1, rect2) {\n      function compare(a, b) {\n        return a - b;\n      }\n\n      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n      var result = [];\n      rect1 = Util.normalizeRect(rect1);\n      rect2 = Util.normalizeRect(rect2);\n\n      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n        result[0] = orderedX[1];\n        result[2] = orderedX[2];\n      } else {\n        return null;\n      }\n\n      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n        result[1] = orderedY[1];\n        result[3] = orderedY[2];\n      } else {\n        return null;\n      }\n\n      return result;\n    }\n  }]);\n\n  return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n  var length = str.length,\n      strBuf = [];\n\n  if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n    for (var i = 2; i < length; i += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n    }\n  } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n    for (var _i2 = 2; _i2 < length; _i2 += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n    }\n  } else {\n    for (var _i3 = 0; _i3 < length; ++_i3) {\n      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n    }\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n  for (var key in obj) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction isBool(v) {\n  return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n  return typeof v === \"number\";\n}\n\nfunction isString(v) {\n  return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n  return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n  if (arr1.length !== arr2.length) {\n    return false;\n  }\n\n  return arr1.every(function (element, index) {\n    return element === arr2[index];\n  });\n}\n\nfunction createPromiseCapability() {\n  var capability = Object.create(null);\n  var isSettled = false;\n  Object.defineProperty(capability, \"settled\", {\n    get: function get() {\n      return isSettled;\n    }\n  });\n  capability.promise = new Promise(function (resolve, reject) {\n    capability.resolve = function (data) {\n      isSettled = true;\n      resolve(data);\n    };\n\n    capability.reject = function (reason) {\n      isSettled = true;\n      reject(reason);\n    };\n  });\n  return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n  var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n  return function createObjectURL(data, contentType) {\n    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    if (!forceDataSchema && URL.createObjectURL) {\n      var blob = new Blob([data], {\n        type: contentType\n      });\n      return URL.createObjectURL(blob);\n    }\n\n    var buffer = \"data:\".concat(contentType, \";base64,\");\n\n    for (var i = 0, ii = data.length; i < ii; i += 3) {\n      var b1 = data[i] & 0xff;\n      var b2 = data[i + 1] & 0xff;\n      var b3 = data[i + 2] & 0xff;\n      var d1 = b1 >> 2,\n          d2 = (b1 & 3) << 4 | b2 >> 4;\n      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n      var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n\n    return buffer;\n  };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n\n/***/ \"dca8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar FREEZING = __webpack_require__(\"bb2f\");\nvar fails = __webpack_require__(\"d039\");\nvar isObject = __webpack_require__(\"861d\");\nvar onFreeze = __webpack_require__(\"f183\").onFreeze;\n\nvar nativeFreeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });\n\n// `Object.freeze` method\n// https://tc39.github.io/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n  freeze: function freeze(it) {\n    return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"ddb0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar DOMIterables = __webpack_require__(\"fdbc\");\nvar ArrayIteratorMethods = __webpack_require__(\"e260\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    if (!CollectionPrototype[TO_STRING_TAG]) {\n      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n    }\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n}\n\n\n/***/ }),\n\n/***/ \"df75\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"df7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = parts.length - 1; i >= 0; i--) {\n    var last = parts[i];\n    if (last === '.') {\n      parts.splice(i, 1);\n    } else if (last === '..') {\n      parts.splice(i, 1);\n      up++;\n    } else if (up) {\n      parts.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (allowAboveRoot) {\n    for (; up--; up) {\n      parts.unshift('..');\n    }\n  }\n\n  return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (typeof path !== 'string') {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n    return !!p;\n  }), !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n  var isAbsolute = exports.isAbsolute(path),\n      trailingSlash = substr(path, -1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(filter(path.split('/'), function(p) {\n    return !!p;\n  }), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n  var paths = Array.prototype.slice.call(arguments, 0);\n  return exports.normalize(filter(paths, function(p, index) {\n    if (typeof p !== 'string') {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    return p;\n  }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n  from = exports.resolve(from).substr(1);\n  to = exports.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end - start + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  if (path.length === 0) return '.';\n  var code = path.charCodeAt(0);\n  var hasRoot = code === 47 /*/*/;\n  var end = -1;\n  var matchedSlash = true;\n  for (var i = path.length - 1; i >= 1; --i) {\n    code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        if (!matchedSlash) {\n          end = i;\n          break;\n        }\n      } else {\n      // We saw the first non-path separator\n      matchedSlash = false;\n    }\n  }\n\n  if (end === -1) return hasRoot ? '/' : '.';\n  if (hasRoot && end === 1) {\n    // return '//';\n    // Backwards-compat fix:\n    return '/';\n  }\n  return path.slice(0, end);\n};\n\nfunction basename(path) {\n  if (typeof path !== 'string') path = path + '';\n\n  var start = 0;\n  var end = -1;\n  var matchedSlash = true;\n  var i;\n\n  for (i = path.length - 1; i >= 0; --i) {\n    if (path.charCodeAt(i) === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          start = i + 1;\n          break;\n        }\n      } else if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // path component\n      matchedSlash = false;\n      end = i + 1;\n    }\n  }\n\n  if (end === -1) return '';\n  return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n  var f = basename(path);\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\nexports.extname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  var startDot = -1;\n  var startPart = 0;\n  var end = -1;\n  var matchedSlash = true;\n  // Track the state of characters (if any) we see before our first dot and\n  // after any path separator we find\n  var preDotState = 0;\n  for (var i = path.length - 1; i >= 0; --i) {\n    var code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          startPart = i + 1;\n          break;\n        }\n        continue;\n      }\n    if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // extension\n      matchedSlash = false;\n      end = i + 1;\n    }\n    if (code === 46 /*.*/) {\n        // If this is our first dot, mark it as the start of our extension\n        if (startDot === -1)\n          startDot = i;\n        else if (preDotState !== 1)\n          preDotState = 1;\n    } else if (startDot !== -1) {\n      // We saw a non-dot and non-path separator before our dot, so we should\n      // have a good chance at having a non-empty extension\n      preDotState = -1;\n    }\n  }\n\n  if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n    return '';\n  }\n  return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n    if (xs.filter) return xs.filter(f);\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        if (f(xs[i], i, xs)) res.push(xs[i]);\n    }\n    return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n    ? function (str, start, len) { return str.substr(start, len) }\n    : function (str, start, len) {\n        if (start < 0) start = str.length + start;\n        return str.substr(start, len);\n    }\n;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"e01a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar has = __webpack_require__(\"5135\");\nvar isObject = __webpack_require__(\"861d\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar copyConstructorProperties = __webpack_require__(\"e893\");\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n  // Safari 12 bug\n  NativeSymbol().description !== undefined\n)) {\n  var EmptyStringDescriptionStore = {};\n  // wrap Symbol constructor for correct work with undefined description\n  var SymbolWrapper = function Symbol() {\n    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n    var result = this instanceof SymbolWrapper\n      ? new NativeSymbol(description)\n      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n      : description === undefined ? NativeSymbol() : NativeSymbol(description);\n    if (description === '') EmptyStringDescriptionStore[result] = true;\n    return result;\n  };\n  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n  symbolPrototype.constructor = SymbolWrapper;\n\n  var symbolToString = symbolPrototype.toString;\n  var native = String(NativeSymbol('test')) == 'Symbol(test)';\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  defineProperty(symbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = isObject(this) ? this.valueOf() : this;\n      var string = symbolToString.call(symbol);\n      if (has(EmptyStringDescriptionStore, symbol)) return '';\n      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n      return desc === '' ? undefined : desc;\n    }\n  });\n\n  $({ global: true, forced: true }, {\n    Symbol: SymbolWrapper\n  });\n}\n\n\n/***/ }),\n\n/***/ \"e02d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"4160\");\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"fb6a\");\n\n__webpack_require__(\"45fc\");\n\n__webpack_require__(\"a434\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"159b\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __webpack_require__(\"dacc\");\n\nvar PDFDataTransportStream = /*#__PURE__*/function () {\n  function PDFDataTransportStream(params, pdfDataRangeTransport) {\n    var _this = this;\n\n    _classCallCheck(this, PDFDataTransportStream);\n\n    (0, _util.assert)(pdfDataRangeTransport);\n    this._queuedChunks = [];\n    this._progressiveDone = params.progressiveDone || false;\n    var initialData = params.initialData;\n\n    if (initialData && initialData.length > 0) {\n      var buffer = new Uint8Array(initialData).buffer;\n\n      this._queuedChunks.push(buffer);\n    }\n\n    this._pdfDataRangeTransport = pdfDataRangeTransport;\n    this._isStreamingSupported = !params.disableStream;\n    this._isRangeSupported = !params.disableRange;\n    this._contentLength = params.length;\n    this._fullRequestReader = null;\n    this._rangeReaders = [];\n\n    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n      _this._onReceiveData({\n        begin: begin,\n        chunk: chunk\n      });\n    });\n\n    this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n      _this._onProgress({\n        loaded: loaded,\n        total: total\n      });\n    });\n\n    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n      _this._onReceiveData({\n        chunk: chunk\n      });\n    });\n\n    this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n      _this._onProgressiveDone();\n    });\n\n    this._pdfDataRangeTransport.transportReady();\n  }\n\n  _createClass(PDFDataTransportStream, [{\n    key: \"_onReceiveData\",\n    value: function _onReceiveData(args) {\n      var buffer = new Uint8Array(args.chunk).buffer;\n\n      if (args.begin === undefined) {\n        if (this._fullRequestReader) {\n          this._fullRequestReader._enqueue(buffer);\n        } else {\n          this._queuedChunks.push(buffer);\n        }\n      } else {\n        var found = this._rangeReaders.some(function (rangeReader) {\n          if (rangeReader._begin !== args.begin) {\n            return false;\n          }\n\n          rangeReader._enqueue(buffer);\n\n          return true;\n        });\n\n        (0, _util.assert)(found);\n      }\n    }\n  }, {\n    key: \"_onProgress\",\n    value: function _onProgress(evt) {\n      if (evt.total === undefined) {\n        var firstReader = this._rangeReaders[0];\n\n        if (firstReader && firstReader.onProgress) {\n          firstReader.onProgress({\n            loaded: evt.loaded\n          });\n        }\n      } else {\n        var fullReader = this._fullRequestReader;\n\n        if (fullReader && fullReader.onProgress) {\n          fullReader.onProgress({\n            loaded: evt.loaded,\n            total: evt.total\n          });\n        }\n      }\n    }\n  }, {\n    key: \"_onProgressiveDone\",\n    value: function _onProgressiveDone() {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.progressiveDone();\n      }\n\n      this._progressiveDone = true;\n    }\n  }, {\n    key: \"_removeRangeReader\",\n    value: function _removeRangeReader(reader) {\n      var i = this._rangeReaders.indexOf(reader);\n\n      if (i >= 0) {\n        this._rangeReaders.splice(i, 1);\n      }\n    }\n  }, {\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader);\n      var queuedChunks = this._queuedChunks;\n      this._queuedChunks = null;\n      return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(begin, end) {\n      if (end <= this._progressiveDataLength) {\n        return null;\n      }\n\n      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n      this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n      this._rangeReaders.push(reader);\n\n      return reader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeReaders.slice(0);\n\n      readers.forEach(function (rangeReader) {\n        rangeReader.cancel(reason);\n      });\n\n      this._pdfDataRangeTransport.abort();\n    }\n  }, {\n    key: \"_progressiveDataLength\",\n    get: function get() {\n      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n    }\n  }]);\n\n  return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n  function PDFDataTransportStreamReader(stream, queuedChunks) {\n    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    _classCallCheck(this, PDFDataTransportStreamReader);\n\n    this._stream = stream;\n    this._done = progressiveDone || false;\n    this._filename = null;\n    this._queuedChunks = queuedChunks || [];\n    this._loaded = 0;\n\n    var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var chunk = _step.value;\n        this._loaded += chunk.byteLength;\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n\n    this._requests = [];\n    this._headersReady = Promise.resolve();\n    stream._fullRequestReader = this;\n    this.onProgress = null;\n  }\n\n  _createClass(PDFDataTransportStreamReader, [{\n    key: \"_enqueue\",\n    value: function _enqueue(chunk) {\n      if (this._done) {\n        return;\n      }\n\n      if (this._requests.length > 0) {\n        var requestCapability = this._requests.shift();\n\n        requestCapability.resolve({\n          value: chunk,\n          done: false\n        });\n      } else {\n        this._queuedChunks.push(chunk);\n      }\n\n      this._loaded += chunk.byteLength;\n    }\n  }, {\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var chunk, requestCapability;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(this._queuedChunks.length > 0)) {\n                  _context.next = 3;\n                  break;\n                }\n\n                chunk = this._queuedChunks.shift();\n                return _context.abrupt(\"return\", {\n                  value: chunk,\n                  done: false\n                });\n\n              case 3:\n                if (!this._done) {\n                  _context.next = 5;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 5:\n                requestCapability = (0, _util.createPromiseCapability)();\n\n                this._requests.push(requestCapability);\n\n                return _context.abrupt(\"return\", requestCapability.promise);\n\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._done = true;\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n    }\n  }, {\n    key: \"progressiveDone\",\n    value: function progressiveDone() {\n      if (this._done) {\n        return;\n      }\n\n      this._done = true;\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersReady;\n    }\n  }, {\n    key: \"filename\",\n    get: function get() {\n      return this._filename;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._stream._isRangeSupported;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._stream._isStreamingSupported;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._stream._contentLength;\n    }\n  }]);\n\n  return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n  function PDFDataTransportStreamRangeReader(stream, begin, end) {\n    _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n    this._stream = stream;\n    this._begin = begin;\n    this._end = end;\n    this._queuedChunk = null;\n    this._requests = [];\n    this._done = false;\n    this.onProgress = null;\n  }\n\n  _createClass(PDFDataTransportStreamRangeReader, [{\n    key: \"_enqueue\",\n    value: function _enqueue(chunk) {\n      if (this._done) {\n        return;\n      }\n\n      if (this._requests.length === 0) {\n        this._queuedChunk = chunk;\n      } else {\n        var requestsCapability = this._requests.shift();\n\n        requestsCapability.resolve({\n          value: chunk,\n          done: false\n        });\n\n        this._requests.forEach(function (requestCapability) {\n          requestCapability.resolve({\n            value: undefined,\n            done: true\n          });\n        });\n\n        this._requests = [];\n      }\n\n      this._done = true;\n\n      this._stream._removeRangeReader(this);\n    }\n  }, {\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var chunk, requestCapability;\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                if (!this._queuedChunk) {\n                  _context2.next = 4;\n                  break;\n                }\n\n                chunk = this._queuedChunk;\n                this._queuedChunk = null;\n                return _context2.abrupt(\"return\", {\n                  value: chunk,\n                  done: false\n                });\n\n              case 4:\n                if (!this._done) {\n                  _context2.next = 6;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 6:\n                requestCapability = (0, _util.createPromiseCapability)();\n\n                this._requests.push(requestCapability);\n\n                return _context2.abrupt(\"return\", requestCapability.promise);\n\n              case 9:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._done = true;\n\n      this._requests.forEach(function (requestCapability) {\n        requestCapability.resolve({\n          value: undefined,\n          done: true\n        });\n      });\n\n      this._requests = [];\n\n      this._stream._removeRangeReader(this);\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return false;\n    }\n  }]);\n\n  return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n\n/***/ \"e163\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(\"e177\");\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n\n/***/ \"e177\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n\n/***/ \"e200\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"18a5\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFThumbnailView = void 0;\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_rendering_queue = __webpack_require__(\"ef24\");\n\nvar MAX_NUM_SCALING_STEPS = 3;\nvar THUMBNAIL_CANVAS_BORDER_WIDTH = 1;\nvar THUMBNAIL_WIDTH = 98;\n\nvar TempImageFactory = function TempImageFactoryClosure() {\n  var tempCanvasCache = null;\n  return {\n    getCanvas: function getCanvas(width, height) {\n      var tempCanvas = tempCanvasCache;\n\n      if (!tempCanvas) {\n        tempCanvas = document.createElement(\"canvas\");\n        tempCanvasCache = tempCanvas;\n      }\n\n      tempCanvas.width = width;\n      tempCanvas.height = height;\n      tempCanvas.mozOpaque = true;\n      var ctx = tempCanvas.getContext(\"2d\", {\n        alpha: false\n      });\n      ctx.save();\n      ctx.fillStyle = \"rgb(255, 255, 255)\";\n      ctx.fillRect(0, 0, width, height);\n      ctx.restore();\n      return tempCanvas;\n    },\n    destroyCanvas: function destroyCanvas() {\n      var tempCanvas = tempCanvasCache;\n\n      if (tempCanvas) {\n        tempCanvas.width = 0;\n        tempCanvas.height = 0;\n      }\n\n      tempCanvasCache = null;\n    }\n  };\n}();\n\nvar PDFThumbnailView = /*#__PURE__*/function () {\n  function PDFThumbnailView(_ref) {\n    var container = _ref.container,\n        id = _ref.id,\n        defaultViewport = _ref.defaultViewport,\n        linkService = _ref.linkService,\n        renderingQueue = _ref.renderingQueue,\n        _ref$disableCanvasToI = _ref.disableCanvasToImageConversion,\n        disableCanvasToImageConversion = _ref$disableCanvasToI === void 0 ? false : _ref$disableCanvasToI,\n        _ref$l10n = _ref.l10n,\n        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n    _classCallCheck(this, PDFThumbnailView);\n\n    this.id = id;\n    this.renderingId = \"thumbnail\" + id;\n    this.pageLabel = null;\n    this.pdfPage = null;\n    this.rotation = 0;\n    this.viewport = defaultViewport;\n    this.pdfPageRotate = defaultViewport.rotation;\n    this.linkService = linkService;\n    this.renderingQueue = renderingQueue;\n    this.renderTask = null;\n    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n    this.resume = null;\n    this.disableCanvasToImageConversion = disableCanvasToImageConversion;\n    this.pageWidth = this.viewport.width;\n    this.pageHeight = this.viewport.height;\n    this.pageRatio = this.pageWidth / this.pageHeight;\n    this.canvasWidth = THUMBNAIL_WIDTH;\n    this.canvasHeight = this.canvasWidth / this.pageRatio | 0;\n    this.scale = this.canvasWidth / this.pageWidth;\n    this.l10n = l10n;\n    var anchor = document.createElement(\"a\");\n    anchor.href = linkService.getAnchorUrl(\"#page=\" + id);\n\n    this._thumbPageTitle.then(function (msg) {\n      anchor.title = msg;\n    });\n\n    anchor.onclick = function () {\n      linkService.page = id;\n      return false;\n    };\n\n    this.anchor = anchor;\n    var div = document.createElement(\"div\");\n    div.className = \"thumbnail\";\n    div.setAttribute(\"data-page-number\", this.id);\n    this.div = div;\n    var ring = document.createElement(\"div\");\n    ring.className = \"thumbnailSelectionRing\";\n    var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;\n    ring.style.width = this.canvasWidth + borderAdjustment + \"px\";\n    ring.style.height = this.canvasHeight + borderAdjustment + \"px\";\n    this.ring = ring;\n    div.appendChild(ring);\n    anchor.appendChild(div);\n    container.appendChild(anchor);\n  }\n\n  _createClass(PDFThumbnailView, [{\n    key: \"setPdfPage\",\n    value: function setPdfPage(pdfPage) {\n      this.pdfPage = pdfPage;\n      this.pdfPageRotate = pdfPage.rotate;\n      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n      this.viewport = pdfPage.getViewport({\n        scale: 1,\n        rotation: totalRotation\n      });\n      this.reset();\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.cancelRendering();\n      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n      this.pageWidth = this.viewport.width;\n      this.pageHeight = this.viewport.height;\n      this.pageRatio = this.pageWidth / this.pageHeight;\n      this.canvasHeight = this.canvasWidth / this.pageRatio | 0;\n      this.scale = this.canvasWidth / this.pageWidth;\n      this.div.removeAttribute(\"data-loaded\");\n      var ring = this.ring;\n      var childNodes = ring.childNodes;\n\n      for (var i = childNodes.length - 1; i >= 0; i--) {\n        ring.removeChild(childNodes[i]);\n      }\n\n      var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;\n      ring.style.width = this.canvasWidth + borderAdjustment + \"px\";\n      ring.style.height = this.canvasHeight + borderAdjustment + \"px\";\n\n      if (this.canvas) {\n        this.canvas.width = 0;\n        this.canvas.height = 0;\n        delete this.canvas;\n      }\n\n      if (this.image) {\n        this.image.removeAttribute(\"src\");\n        delete this.image;\n      }\n    }\n  }, {\n    key: \"update\",\n    value: function update(rotation) {\n      if (typeof rotation !== \"undefined\") {\n        this.rotation = rotation;\n      }\n\n      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n      this.viewport = this.viewport.clone({\n        scale: 1,\n        rotation: totalRotation\n      });\n      this.reset();\n    }\n  }, {\n    key: \"cancelRendering\",\n    value: function cancelRendering() {\n      if (this.renderTask) {\n        this.renderTask.cancel();\n        this.renderTask = null;\n      }\n\n      this.resume = null;\n    }\n  }, {\n    key: \"_getPageDrawContext\",\n    value: function _getPageDrawContext() {\n      var noCtxScale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var canvas = document.createElement(\"canvas\");\n      this.canvas = canvas;\n      canvas.mozOpaque = true;\n      var ctx = canvas.getContext(\"2d\", {\n        alpha: false\n      });\n      var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n      canvas.width = this.canvasWidth * outputScale.sx | 0;\n      canvas.height = this.canvasHeight * outputScale.sy | 0;\n      canvas.style.width = this.canvasWidth + \"px\";\n      canvas.style.height = this.canvasHeight + \"px\";\n\n      if (!noCtxScale && outputScale.scaled) {\n        ctx.scale(outputScale.sx, outputScale.sy);\n      }\n\n      return ctx;\n    }\n  }, {\n    key: \"_convertCanvasToImage\",\n    value: function _convertCanvasToImage() {\n      var _this = this;\n\n      if (!this.canvas) {\n        return;\n      }\n\n      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n        return;\n      }\n\n      var className = \"thumbnailImage\";\n\n      if (this.disableCanvasToImageConversion) {\n        this.canvas.className = className;\n\n        this._thumbPageCanvas.then(function (msg) {\n          _this.canvas.setAttribute(\"aria-label\", msg);\n        });\n\n        this.div.setAttribute(\"data-loaded\", true);\n        this.ring.appendChild(this.canvas);\n        return;\n      }\n\n      var image = document.createElement(\"img\");\n      image.className = className;\n\n      this._thumbPageCanvas.then(function (msg) {\n        image.setAttribute(\"aria-label\", msg);\n      });\n\n      image.style.width = this.canvasWidth + \"px\";\n      image.style.height = this.canvasHeight + \"px\";\n      image.src = this.canvas.toDataURL();\n      this.image = image;\n      this.div.setAttribute(\"data-loaded\", true);\n      this.ring.appendChild(image);\n      this.canvas.width = 0;\n      this.canvas.height = 0;\n      delete this.canvas;\n    }\n  }, {\n    key: \"draw\",\n    value: function draw() {\n      var _this2 = this;\n\n      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n        console.error(\"Must be in new state before drawing\");\n        return Promise.resolve(undefined);\n      }\n\n      var pdfPage = this.pdfPage;\n\n      if (!pdfPage) {\n        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n        return Promise.reject(new Error(\"pdfPage is not loaded\"));\n      }\n\n      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n      var renderCapability = (0, _pdf.createPromiseCapability)();\n\n      var finishRenderTask = function finishRenderTask(error) {\n        if (renderTask === _this2.renderTask) {\n          _this2.renderTask = null;\n        }\n\n        if (error instanceof _pdf.RenderingCancelledException) {\n          renderCapability.resolve(undefined);\n          return;\n        }\n\n        _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n        _this2._convertCanvasToImage();\n\n        if (!error) {\n          renderCapability.resolve(undefined);\n        } else {\n          renderCapability.reject(error);\n        }\n      };\n\n      var ctx = this._getPageDrawContext();\n\n      var drawViewport = this.viewport.clone({\n        scale: this.scale\n      });\n\n      var renderContinueCallback = function renderContinueCallback(cont) {\n        if (!_this2.renderingQueue.isHighestPriority(_this2)) {\n          _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n          _this2.resume = function () {\n            _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n            cont();\n          };\n\n          return;\n        }\n\n        cont();\n      };\n\n      var renderContext = {\n        canvasContext: ctx,\n        viewport: drawViewport\n      };\n      var renderTask = this.renderTask = pdfPage.render(renderContext);\n      renderTask.onContinue = renderContinueCallback;\n      renderTask.promise.then(function () {\n        finishRenderTask(null);\n      }, function (error) {\n        finishRenderTask(error);\n      });\n      return renderCapability.promise;\n    }\n  }, {\n    key: \"setImage\",\n    value: function setImage(pageView) {\n      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n        return;\n      }\n\n      var img = pageView.canvas;\n\n      if (!img) {\n        return;\n      }\n\n      if (!this.pdfPage) {\n        this.setPdfPage(pageView.pdfPage);\n      }\n\n      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n      var ctx = this._getPageDrawContext(true);\n\n      var canvas = ctx.canvas;\n\n      if (img.width <= 2 * canvas.width) {\n        ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);\n\n        this._convertCanvasToImage();\n\n        return;\n      }\n\n      var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;\n      var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;\n      var reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight);\n      var reducedImageCtx = reducedImage.getContext(\"2d\");\n\n      while (reducedWidth > img.width || reducedHeight > img.height) {\n        reducedWidth >>= 1;\n        reducedHeight >>= 1;\n      }\n\n      reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);\n\n      while (reducedWidth > 2 * canvas.width) {\n        reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1);\n        reducedWidth >>= 1;\n        reducedHeight >>= 1;\n      }\n\n      ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);\n\n      this._convertCanvasToImage();\n    }\n  }, {\n    key: \"setPageLabel\",\n    value: function setPageLabel(label) {\n      var _this3 = this;\n\n      this.pageLabel = typeof label === \"string\" ? label : null;\n\n      this._thumbPageTitle.then(function (msg) {\n        _this3.anchor.title = msg;\n      });\n\n      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n        return;\n      }\n\n      this._thumbPageCanvas.then(function (msg) {\n        if (_this3.image) {\n          _this3.image.setAttribute(\"aria-label\", msg);\n        } else if (_this3.disableCanvasToImageConversion && _this3.canvas) {\n          _this3.canvas.setAttribute(\"aria-label\", msg);\n        }\n      });\n    }\n  }, {\n    key: \"_thumbPageTitle\",\n    get: function get() {\n      return this.l10n.get(\"thumb_page_title\", {\n        page: this.pageLabel !== null ? this.pageLabel : this.id\n      }, \"Page {{page}}\");\n    }\n  }, {\n    key: \"_thumbPageCanvas\",\n    get: function get() {\n      return this.l10n.get(\"thumb_page_canvas\", {\n        page: this.pageLabel !== null ? this.pageLabel : this.id\n      }, \"Thumbnail of Page {{page}}\");\n    }\n  }], [{\n    key: \"cleanup\",\n    value: function cleanup() {\n      TempImageFactory.destroyCanvas();\n    }\n  }]);\n\n  return PDFThumbnailView;\n}();\n\nexports.PDFThumbnailView = PDFThumbnailView;\n\n/***/ }),\n\n/***/ \"e260\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar defineIterator = __webpack_require__(\"7dd0\");\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var kind = state.kind;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = undefined;\n    return { value: undefined, done: true };\n  }\n  if (kind == 'keys') return { value: index, done: false };\n  if (kind == 'values') return { value: target[index], done: false };\n  return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"e2c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nvar _inherits = __webpack_require__(\"ed6d\");\n\nvar _createSuper = __webpack_require__(\"2d0d\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.GenericCom = void 0;\n\nvar _app = __webpack_require__(\"ead8\");\n\nvar _preferences = __webpack_require__(\"872e\");\n\nvar _download_manager = __webpack_require__(\"b781\");\n\nvar _genericl10n = __webpack_require__(\"9e56\");\n\n;\nvar GenericCom = {};\nexports.GenericCom = GenericCom;\n\nvar GenericPreferences = /*#__PURE__*/function (_preferences$BasePref) {\n  _inherits(GenericPreferences, _preferences$BasePref);\n\n  var _super = _createSuper(GenericPreferences);\n\n  function GenericPreferences() {\n    _classCallCheck(this, GenericPreferences);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(GenericPreferences, [{\n    key: \"_writeToStorage\",\n    value: function () {\n      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(prefObj) {\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                localStorage.setItem(\"pdfjs.preferences\", JSON.stringify(prefObj));\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function _writeToStorage(_x) {\n        return _writeToStorage2.apply(this, arguments);\n      }\n\n      return _writeToStorage;\n    }()\n  }, {\n    key: \"_readFromStorage\",\n    value: function () {\n      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(prefObj) {\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                return _context2.abrupt(\"return\", JSON.parse(localStorage.getItem(\"pdfjs.preferences\")));\n\n              case 1:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }));\n\n      function _readFromStorage(_x2) {\n        return _readFromStorage2.apply(this, arguments);\n      }\n\n      return _readFromStorage;\n    }()\n  }]);\n\n  return GenericPreferences;\n}(_preferences.BasePreferences);\n\nvar GenericExternalServices = /*#__PURE__*/function (_app$DefaultExternalS) {\n  _inherits(GenericExternalServices, _app$DefaultExternalS);\n\n  var _super2 = _createSuper(GenericExternalServices);\n\n  function GenericExternalServices() {\n    _classCallCheck(this, GenericExternalServices);\n\n    return _super2.apply(this, arguments);\n  }\n\n  _createClass(GenericExternalServices, null, [{\n    key: \"createDownloadManager\",\n    value: function createDownloadManager(options) {\n      return new _download_manager.DownloadManager(options);\n    }\n  }, {\n    key: \"createPreferences\",\n    value: function createPreferences() {\n      return new GenericPreferences();\n    }\n  }, {\n    key: \"createL10n\",\n    value: function createL10n(_ref) {\n      var _ref$locale = _ref.locale,\n          locale = _ref$locale === void 0 ? \"en-US\" : _ref$locale;\n      return new _genericl10n.GenericL10n(locale);\n    }\n  }]);\n\n  return GenericExternalServices;\n}(_app.DefaultExternalServices);\n\n_app.PDFViewerApplication.externalServices = GenericExternalServices;\n\n/***/ }),\n\n/***/ \"e2cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(\"6eeb\");\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) redefine(target, key, src[key], options);\n  return target;\n};\n\n\n/***/ }),\n\n/***/ \"e2f6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFFindBar = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf_find_controller = __webpack_require__(\"f39c\");\n\nvar MATCHES_COUNT_LIMIT = 1000;\n\nvar PDFFindBar = /*#__PURE__*/function () {\n  function PDFFindBar(options, eventBus) {\n    var _this = this;\n\n    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;\n\n    _classCallCheck(this, PDFFindBar);\n\n    this.opened = false;\n    this.bar = options.bar || null;\n    this.toggleButton = options.toggleButton || null;\n    this.findField = options.findField || null;\n    this.highlightAll = options.highlightAllCheckbox || null;\n    this.caseSensitive = options.caseSensitiveCheckbox || null;\n    this.entireWord = options.entireWordCheckbox || null;\n    this.findMsg = options.findMsg || null;\n    this.findResultsCount = options.findResultsCount || null;\n    this.findPreviousButton = options.findPreviousButton || null;\n    this.findNextButton = options.findNextButton || null;\n    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n    this.l10n = l10n;\n    this.toggleButton.addEventListener(\"click\", function () {\n      _this.toggle();\n    });\n    this.findField.addEventListener(\"input\", function () {\n      _this.dispatchEvent(\"\");\n    });\n    this.bar.addEventListener(\"keydown\", function (e) {\n      switch (e.keyCode) {\n        case 13:\n          if (e.target === _this.findField) {\n            _this.dispatchEvent(\"again\", e.shiftKey);\n          }\n\n          break;\n\n        case 27:\n          _this.close();\n\n          break;\n      }\n    });\n    this.findPreviousButton.addEventListener(\"click\", function () {\n      _this.dispatchEvent(\"again\", true);\n    });\n    this.findNextButton.addEventListener(\"click\", function () {\n      _this.dispatchEvent(\"again\", false);\n    });\n    this.highlightAll.addEventListener(\"click\", function () {\n      _this.dispatchEvent(\"highlightallchange\");\n    });\n    this.caseSensitive.addEventListener(\"click\", function () {\n      _this.dispatchEvent(\"casesensitivitychange\");\n    });\n    this.entireWord.addEventListener(\"click\", function () {\n      _this.dispatchEvent(\"entirewordchange\");\n    });\n\n    this.eventBus._on(\"resize\", this._adjustWidth.bind(this));\n  }\n\n  _createClass(PDFFindBar, [{\n    key: \"reset\",\n    value: function reset() {\n      this.updateUIState();\n    }\n  }, {\n    key: \"dispatchEvent\",\n    value: function dispatchEvent(type, findPrev) {\n      this.eventBus.dispatch(\"find\", {\n        source: this,\n        type: type,\n        query: this.findField.value,\n        phraseSearch: true,\n        caseSensitive: this.caseSensitive.checked,\n        entireWord: this.entireWord.checked,\n        highlightAll: this.highlightAll.checked,\n        findPrevious: findPrev\n      });\n    }\n  }, {\n    key: \"updateUIState\",\n    value: function updateUIState(state, previous, matchesCount) {\n      var _this2 = this;\n\n      var notFound = false;\n      var findMsg = \"\";\n      var status = \"\";\n\n      switch (state) {\n        case _pdf_find_controller.FindState.FOUND:\n          break;\n\n        case _pdf_find_controller.FindState.PENDING:\n          status = \"pending\";\n          break;\n\n        case _pdf_find_controller.FindState.NOT_FOUND:\n          findMsg = this.l10n.get(\"find_not_found\", null, \"Phrase not found\");\n          notFound = true;\n          break;\n\n        case _pdf_find_controller.FindState.WRAPPED:\n          if (previous) {\n            findMsg = this.l10n.get(\"find_reached_top\", null, \"Reached top of document, continued from bottom\");\n          } else {\n            findMsg = this.l10n.get(\"find_reached_bottom\", null, \"Reached end of document, continued from top\");\n          }\n\n          break;\n      }\n\n      this.findField.classList.toggle(\"notFound\", notFound);\n      this.findField.setAttribute(\"data-status\", status);\n      Promise.resolve(findMsg).then(function (msg) {\n        _this2.findMsg.textContent = msg;\n\n        _this2._adjustWidth();\n      });\n      this.updateResultsCount(matchesCount);\n    }\n  }, {\n    key: \"updateResultsCount\",\n    value: function updateResultsCount() {\n      var _this3 = this;\n\n      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n          _ref$current = _ref.current,\n          current = _ref$current === void 0 ? 0 : _ref$current,\n          _ref$total = _ref.total,\n          total = _ref$total === void 0 ? 0 : _ref$total;\n\n      if (!this.findResultsCount) {\n        return;\n      }\n\n      var limit = MATCHES_COUNT_LIMIT;\n      var matchesCountMsg = \"\";\n\n      if (total > 0) {\n        if (total > limit) {\n          matchesCountMsg = this.l10n.get(\"find_match_count_limit\", {\n            limit: limit\n          }, \"More than {{limit}} match\" + (limit !== 1 ? \"es\" : \"\"));\n        } else {\n          matchesCountMsg = this.l10n.get(\"find_match_count\", {\n            current: current,\n            total: total\n          }, \"{{current}} of {{total}} match\" + (total !== 1 ? \"es\" : \"\"));\n        }\n      }\n\n      Promise.resolve(matchesCountMsg).then(function (msg) {\n        _this3.findResultsCount.textContent = msg;\n\n        _this3.findResultsCount.classList.toggle(\"hidden\", !total);\n\n        _this3._adjustWidth();\n      });\n    }\n  }, {\n    key: \"open\",\n    value: function open() {\n      if (!this.opened) {\n        this.opened = true;\n        this.toggleButton.classList.add(\"toggled\");\n        this.bar.classList.remove(\"hidden\");\n      }\n\n      this.findField.select();\n      this.findField.focus();\n\n      this._adjustWidth();\n    }\n  }, {\n    key: \"close\",\n    value: function close() {\n      if (!this.opened) {\n        return;\n      }\n\n      this.opened = false;\n      this.toggleButton.classList.remove(\"toggled\");\n      this.bar.classList.add(\"hidden\");\n      this.eventBus.dispatch(\"findbarclose\", {\n        source: this\n      });\n    }\n  }, {\n    key: \"toggle\",\n    value: function toggle() {\n      if (this.opened) {\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n  }, {\n    key: \"_adjustWidth\",\n    value: function _adjustWidth() {\n      if (!this.opened) {\n        return;\n      }\n\n      this.bar.classList.remove(\"wrapContainers\");\n      var findbarHeight = this.bar.clientHeight;\n      var inputContainerHeight = this.bar.firstElementChild.clientHeight;\n\n      if (findbarHeight > inputContainerHeight) {\n        this.bar.classList.add(\"wrapContainers\");\n      }\n    }\n  }]);\n\n  return PDFFindBar;\n}();\n\nexports.PDFFindBar = PDFFindBar;\n\n/***/ }),\n\n/***/ \"e3db\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"e439\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar nativeGetOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"e538\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nexports.f = wellKnownSymbol;\n\n\n/***/ }),\n\n/***/ \"e553\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ViewHistory = void 0;\nvar DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;\n\nvar ViewHistory = /*#__PURE__*/function () {\n  function ViewHistory(fingerprint) {\n    var _this = this;\n\n    var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE;\n\n    _classCallCheck(this, ViewHistory);\n\n    this.fingerprint = fingerprint;\n    this.cacheSize = cacheSize;\n    this._initializedPromise = this._readFromStorage().then(function (databaseStr) {\n      var database = JSON.parse(databaseStr || \"{}\");\n\n      if (!(\"files\" in database)) {\n        database.files = [];\n      } else {\n        while (database.files.length >= _this.cacheSize) {\n          database.files.shift();\n        }\n      }\n\n      var index = -1;\n\n      for (var i = 0, length = database.files.length; i < length; i++) {\n        var branch = database.files[i];\n\n        if (branch.fingerprint === _this.fingerprint) {\n          index = i;\n          break;\n        }\n      }\n\n      if (index === -1) {\n        index = database.files.push({\n          fingerprint: _this.fingerprint\n        }) - 1;\n      }\n\n      _this.file = database.files[index];\n      _this.database = database;\n    });\n  }\n\n  _createClass(ViewHistory, [{\n    key: \"_writeToStorage\",\n    value: function () {\n      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var databaseStr;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                databaseStr = JSON.stringify(this.database);\n                localStorage.setItem(\"pdfjs.history\", databaseStr);\n\n              case 2:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _writeToStorage() {\n        return _writeToStorage2.apply(this, arguments);\n      }\n\n      return _writeToStorage;\n    }()\n  }, {\n    key: \"_readFromStorage\",\n    value: function () {\n      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                return _context2.abrupt(\"return\", localStorage.getItem(\"pdfjs.history\"));\n\n              case 1:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }));\n\n      function _readFromStorage() {\n        return _readFromStorage2.apply(this, arguments);\n      }\n\n      return _readFromStorage;\n    }()\n  }, {\n    key: \"set\",\n    value: function () {\n      var _set = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(name, val) {\n        return regeneratorRuntime.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                this.file[name] = val;\n                return _context3.abrupt(\"return\", this._writeToStorage());\n\n              case 4:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function set(_x, _x2) {\n        return _set.apply(this, arguments);\n      }\n\n      return set;\n    }()\n  }, {\n    key: \"setMultiple\",\n    value: function () {\n      var _setMultiple = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(properties) {\n        var name;\n        return regeneratorRuntime.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                _context4.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                for (name in properties) {\n                  this.file[name] = properties[name];\n                }\n\n                return _context4.abrupt(\"return\", this._writeToStorage());\n\n              case 4:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, this);\n      }));\n\n      function setMultiple(_x3) {\n        return _setMultiple.apply(this, arguments);\n      }\n\n      return setMultiple;\n    }()\n  }, {\n    key: \"get\",\n    value: function () {\n      var _get = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(name, defaultValue) {\n        var val;\n        return regeneratorRuntime.wrap(function _callee5$(_context5) {\n          while (1) {\n            switch (_context5.prev = _context5.next) {\n              case 0:\n                _context5.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                val = this.file[name];\n                return _context5.abrupt(\"return\", val !== undefined ? val : defaultValue);\n\n              case 4:\n              case \"end\":\n                return _context5.stop();\n            }\n          }\n        }, _callee5, this);\n      }));\n\n      function get(_x4, _x5) {\n        return _get.apply(this, arguments);\n      }\n\n      return get;\n    }()\n  }, {\n    key: \"getMultiple\",\n    value: function () {\n      var _getMultiple = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(properties) {\n        var values, name, val;\n        return regeneratorRuntime.wrap(function _callee6$(_context6) {\n          while (1) {\n            switch (_context6.prev = _context6.next) {\n              case 0:\n                _context6.next = 2;\n                return this._initializedPromise;\n\n              case 2:\n                values = Object.create(null);\n\n                for (name in properties) {\n                  val = this.file[name];\n                  values[name] = val !== undefined ? val : properties[name];\n                }\n\n                return _context6.abrupt(\"return\", values);\n\n              case 5:\n              case \"end\":\n                return _context6.stop();\n            }\n          }\n        }, _callee6, this);\n      }));\n\n      function getMultiple(_x6) {\n        return _getMultiple.apply(this, arguments);\n      }\n\n      return getMultiple;\n    }()\n  }]);\n\n  return ViewHistory;\n}();\n\nexports.ViewHistory = ViewHistory;\n\n/***/ }),\n\n/***/ \"e58c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toInteger = __webpack_require__(\"a691\");\nvar toLength = __webpack_require__(\"50c4\");\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar min = Math.min;\nvar nativeLastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\n// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n  // convert -0 to +0\n  if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;\n  var O = toIndexedObject(this);\n  var length = toLength(O.length);\n  var index = length - 1;\n  if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n  if (index < 0) index = length + index;\n  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n  return -1;\n} : nativeLastIndexOf;\n\n\n/***/ }),\n\n/***/ \"e667\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n\n\n/***/ }),\n\n/***/ \"e6cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar global = __webpack_require__(\"da84\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar NativePromise = __webpack_require__(\"fea9\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar redefineAll = __webpack_require__(\"e2cc\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar setSpecies = __webpack_require__(\"2626\");\nvar isObject = __webpack_require__(\"861d\");\nvar aFunction = __webpack_require__(\"1c0b\");\nvar anInstance = __webpack_require__(\"19aa\");\nvar classof = __webpack_require__(\"c6b6\");\nvar inspectSource = __webpack_require__(\"8925\");\nvar iterate = __webpack_require__(\"2266\");\nvar checkCorrectnessOfIteration = __webpack_require__(\"1c7e\");\nvar speciesConstructor = __webpack_require__(\"4840\");\nvar task = __webpack_require__(\"2cf4\").set;\nvar microtask = __webpack_require__(\"b575\");\nvar promiseResolve = __webpack_require__(\"cdf9\");\nvar hostReportErrors = __webpack_require__(\"44de\");\nvar newPromiseCapabilityModule = __webpack_require__(\"f069\");\nvar perform = __webpack_require__(\"e667\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar isForced = __webpack_require__(\"94ca\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n  if (!GLOBAL_CORE_JS_PROMISE) {\n    // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n    // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n    // We can't detect it synchronously, so just check versions\n    if (V8_VERSION === 66) return true;\n    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n  }\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = PromiseConstructor.resolve(1);\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  var chain = state.reactions;\n  microtask(function () {\n    var value = state.value;\n    var ok = state.state == FULFILLED;\n    var index = 0;\n    // variable length - can't use forEach\n    while (chain.length > index) {\n      var reaction = chain[index++];\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n            state.rejection = HANDLED;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // can throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (error) {\n        if (domain && !exited) domain.exit();\n        reject(error);\n      }\n    }\n    state.reactions = [];\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(promise, state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    global.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (handler = global['on' + name]) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n  task.call(global, function () {\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n  task.call(global, function () {\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n  return function (value) {\n    fn(promise, state, value, unwrap);\n  };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          then.call(value,\n            bind(internalResolve, promise, wrapper, state),\n            bind(internalReject, promise, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(promise, wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(promise, state, false);\n    }\n  } catch (error) {\n    internalReject(promise, { done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromiseConstructor, PROMISE);\n    aFunction(executor);\n    Internal.call(this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n    } catch (error) {\n      internalReject(this, state, error);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: [],\n      rejection: false,\n      state: PENDING,\n      value: undefined\n    });\n  };\n  Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      state.reactions.push(reaction);\n      if (state.state != PENDING) notify(this, state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, promise, state);\n    this.reject = bind(internalReject, promise, state);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && typeof NativePromise == 'function') {\n    nativeThen = NativePromise.prototype.then;\n\n    // wrap native Promise#then for native async functions\n    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n      var that = this;\n      return new PromiseConstructor(function (resolve, reject) {\n        nativeThen.call(that, resolve, reject);\n      }).then(onFulfilled, onRejected);\n    // https://github.com/zloirock/core-js/issues/640\n    }, { unsafe: true });\n\n    // wrap fetch result\n    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n      // eslint-disable-next-line no-unused-vars\n      fetch: function fetch(input /* , init */) {\n        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n      }\n    });\n  }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n  // `Promise.reject` method\n  // https://tc39.github.io/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    capability.reject.call(undefined, r);\n    return capability.promise;\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n  // `Promise.resolve` method\n  // https://tc39.github.io/ecma262/#sec-promise.resolve\n  resolve: function resolve(x) {\n    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n  // `Promise.all` method\n  // https://tc39.github.io/ecma262/#sec-promise.all\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        $promiseResolve.call(C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  },\n  // `Promise.race` method\n  // https://tc39.github.io/ecma262/#sec-promise.race\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aFunction(C.resolve);\n      iterate(iterable, function (promise) {\n        $promiseResolve.call(C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"e841\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(\"24fb\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"html{content:\\\"\\\"}@media (prefers-color-scheme:light){html{content:\\\"light\\\"}}@media (prefers-color-scheme:dark){html{content:\\\"dark\\\"}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n/***/ }),\n\n/***/ \"e893\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar ownKeys = __webpack_require__(\"56ef\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\n\nmodule.exports = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n\n\n/***/ }),\n\n/***/ \"e8b5\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n  return classof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ \"e91f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __webpack_require__(\"ebb5\");\nvar $indexOf = __webpack_require__(\"4d64\").indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n\n\n/***/ }),\n\n/***/ \"e95a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar Iterators = __webpack_require__(\"3f8c\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"ead8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"99af\");\n\n__webpack_require__(\"caad\");\n\n__webpack_require__(\"e260\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"baa5\");\n\n__webpack_require__(\"45fc\");\n\n__webpack_require__(\"b0c0\");\n\n__webpack_require__(\"b680\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"2532\");\n\n__webpack_require__(\"3ca3\");\n\n__webpack_require__(\"5319\");\n\n__webpack_require__(\"841c\");\n\n__webpack_require__(\"1276\");\n\n__webpack_require__(\"5cc6\");\n\n__webpack_require__(\"9a8c\");\n\n__webpack_require__(\"a975\");\n\n__webpack_require__(\"735e\");\n\n__webpack_require__(\"c1ac\");\n\n__webpack_require__(\"d139\");\n\n__webpack_require__(\"3a7b\");\n\n__webpack_require__(\"d5d6\");\n\n__webpack_require__(\"82f8\");\n\n__webpack_require__(\"e91f\");\n\n__webpack_require__(\"60bd\");\n\n__webpack_require__(\"5f96\");\n\n__webpack_require__(\"3280\");\n\n__webpack_require__(\"3fcc\");\n\n__webpack_require__(\"ca91\");\n\n__webpack_require__(\"25a1\");\n\n__webpack_require__(\"cd26\");\n\n__webpack_require__(\"3c5d\");\n\n__webpack_require__(\"2954\");\n\n__webpack_require__(\"649e\");\n\n__webpack_require__(\"219c\");\n\n__webpack_require__(\"170b\");\n\n__webpack_require__(\"b39a\");\n\n__webpack_require__(\"72f7\");\n\n__webpack_require__(\"ddb0\");\n\n__webpack_require__(\"2b3d\");\n\nvar _createForOfIteratorHelper = __webpack_require__(\"6374\");\n\nvar _slicedToArray = __webpack_require__(\"278c\");\n\n__webpack_require__(\"96cf\");\n\nvar _asyncToGenerator = __webpack_require__(\"c973\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFPrintServiceFactory = exports.DefaultExternalServices = exports.PDFViewerApplication = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _app_options = __webpack_require__(\"04d0\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _pdf_cursor_tools = __webpack_require__(\"6ee0\");\n\nvar _pdf_rendering_queue = __webpack_require__(\"ef24\");\n\nvar _pdf_sidebar = __webpack_require__(\"7122\");\n\nvar _overlay_manager = __webpack_require__(\"9a29\");\n\nvar _password_prompt = __webpack_require__(\"7086\");\n\nvar _pdf_attachment_viewer = __webpack_require__(\"6ea4\");\n\nvar _pdf_document_properties = __webpack_require__(\"16ba\");\n\nvar _pdf_find_bar = __webpack_require__(\"e2f6\");\n\nvar _pdf_find_controller = __webpack_require__(\"f39c\");\n\nvar _pdf_history = __webpack_require__(\"9eea\");\n\nvar _pdf_link_service = __webpack_require__(\"8a38\");\n\nvar _pdf_outline_viewer = __webpack_require__(\"345d\");\n\nvar _pdf_presentation_mode = __webpack_require__(\"fe36\");\n\nvar _pdf_sidebar_resizer = __webpack_require__(\"da3a\");\n\nvar _pdf_thumbnail_viewer = __webpack_require__(\"80b1\");\n\nvar _pdf_viewer = __webpack_require__(\"2a8b\");\n\nvar _secondary_toolbar = __webpack_require__(\"761b\");\n\nvar _toolbar = __webpack_require__(\"cf01\");\n\nvar _view_history = __webpack_require__(\"e553\");\n\nvar DEFAULT_SCALE_DELTA = 1.1;\nvar DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;\nvar FORCE_PAGES_LOADED_TIMEOUT = 10000;\nvar WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;\nvar ViewOnLoad = {\n  UNKNOWN: -1,\n  PREVIOUS: 0,\n  INITIAL: 1\n};\n\nvar DefaultExternalServices = /*#__PURE__*/function () {\n  function DefaultExternalServices() {\n    _classCallCheck(this, DefaultExternalServices);\n\n    throw new Error(\"Cannot initialize DefaultExternalServices.\");\n  }\n\n  _createClass(DefaultExternalServices, null, [{\n    key: \"updateFindControlState\",\n    value: function updateFindControlState(data) {}\n  }, {\n    key: \"updateFindMatchesCount\",\n    value: function updateFindMatchesCount(data) {}\n  }, {\n    key: \"initPassiveLoading\",\n    value: function initPassiveLoading(callbacks) {}\n  }, {\n    key: \"fallback\",\n    value: function fallback(data, callback) {}\n  }, {\n    key: \"reportTelemetry\",\n    value: function reportTelemetry(data) {}\n  }, {\n    key: \"createDownloadManager\",\n    value: function createDownloadManager(options) {\n      throw new Error(\"Not implemented: createDownloadManager\");\n    }\n  }, {\n    key: \"createPreferences\",\n    value: function createPreferences() {\n      throw new Error(\"Not implemented: createPreferences\");\n    }\n  }, {\n    key: \"createL10n\",\n    value: function createL10n(options) {\n      throw new Error(\"Not implemented: createL10n\");\n    }\n  }, {\n    key: \"supportsIntegratedFind\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"supportsIntegratedFind\", false);\n    }\n  }, {\n    key: \"supportsDocumentFonts\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"supportsDocumentFonts\", true);\n    }\n  }, {\n    key: \"supportedMouseWheelZoomModifierKeys\",\n    get: function get() {\n      return (0, _pdf.shadow)(this, \"supportedMouseWheelZoomModifierKeys\", {\n        ctrlKey: true,\n        metaKey: true\n      });\n    }\n  }]);\n\n  return DefaultExternalServices;\n}();\n\nexports.DefaultExternalServices = DefaultExternalServices;\nvar PDFViewerApplication = {\n  initialBookmark: document.location.hash.substring(1),\n  _initializedCapability: (0, _pdf.createPromiseCapability)(),\n  fellback: false,\n  appConfig: null,\n  pdfDocument: null,\n  pdfLoadingTask: null,\n  printService: null,\n  pdfViewer: null,\n  pdfThumbnailViewer: null,\n  pdfRenderingQueue: null,\n  pdfPresentationMode: null,\n  pdfDocumentProperties: null,\n  pdfLinkService: null,\n  pdfHistory: null,\n  pdfSidebar: null,\n  pdfSidebarResizer: null,\n  pdfOutlineViewer: null,\n  pdfAttachmentViewer: null,\n  pdfCursorTools: null,\n  store: null,\n  downloadManager: null,\n  overlayManager: null,\n  preferences: null,\n  toolbar: null,\n  secondaryToolbar: null,\n  eventBus: null,\n  l10n: null,\n  isInitialViewSet: false,\n  downloadComplete: false,\n  isViewerEmbedded: window.parent !== window,\n  url: \"\",\n  baseUrl: \"\",\n  externalServices: DefaultExternalServices,\n  _boundEvents: {},\n  contentDispositionFilename: null,\n  initialize: function initialize(appConfig) {\n    var _this = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n      var appContainer;\n      return regeneratorRuntime.wrap(function _callee$(_context) {\n        while (1) {\n          switch (_context.prev = _context.next) {\n            case 0:\n              _this.preferences = _this.externalServices.createPreferences();\n              _this.appConfig = appConfig;\n              _context.next = 4;\n              return _this._readPreferences();\n\n            case 4:\n              _context.next = 6;\n              return _this._parseHashParameters();\n\n            case 6:\n              _context.next = 8;\n              return _this._initializeL10n();\n\n            case 8:\n              if (_this.isViewerEmbedded && _app_options.AppOptions.get(\"externalLinkTarget\") === _pdf.LinkTarget.NONE) {\n                _app_options.AppOptions.set(\"externalLinkTarget\", _pdf.LinkTarget.TOP);\n              }\n\n              _context.next = 11;\n              return _this._initializeViewerComponents();\n\n            case 11:\n              _this.bindEvents();\n\n              _this.bindWindowEvents();\n\n              appContainer = appConfig.appContainer || document.documentElement;\n\n              _this.l10n.translate(appContainer).then(function () {\n                _this.eventBus.dispatch(\"localized\", {\n                  source: _this\n                });\n              });\n\n              _this._initializedCapability.resolve();\n\n            case 16:\n            case \"end\":\n              return _context.stop();\n          }\n        }\n      }, _callee);\n    }))();\n  },\n  _readPreferences: function _readPreferences() {\n    var _this2 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n      var prefs, name;\n      return regeneratorRuntime.wrap(function _callee2$(_context2) {\n        while (1) {\n          switch (_context2.prev = _context2.next) {\n            case 0:\n              if (!(_app_options.AppOptions.get(\"disablePreferences\") === true)) {\n                _context2.next = 2;\n                break;\n              }\n\n              return _context2.abrupt(\"return\");\n\n            case 2:\n              _context2.prev = 2;\n              _context2.next = 5;\n              return _this2.preferences.getAll();\n\n            case 5:\n              prefs = _context2.sent;\n\n              for (name in prefs) {\n                _app_options.AppOptions.set(name, prefs[name]);\n              }\n\n              _context2.next = 12;\n              break;\n\n            case 9:\n              _context2.prev = 9;\n              _context2.t0 = _context2[\"catch\"](2);\n              console.error(\"_readPreferences: \\\"\".concat(_context2.t0.message, \"\\\".\"));\n\n            case 12:\n            case \"end\":\n              return _context2.stop();\n          }\n        }\n      }, _callee2, null, [[2, 9]]);\n    }))();\n  },\n  _parseHashParameters: function _parseHashParameters() {\n    var _this3 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n      var hash, hashParams, waitOn, viewer, enabled;\n      return regeneratorRuntime.wrap(function _callee3$(_context3) {\n        while (1) {\n          switch (_context3.prev = _context3.next) {\n            case 0:\n              if (_app_options.AppOptions.get(\"pdfBugEnabled\")) {\n                _context3.next = 2;\n                break;\n              }\n\n              return _context3.abrupt(\"return\", undefined);\n\n            case 2:\n              hash = document.location.hash.substring(1);\n\n              if (hash) {\n                _context3.next = 5;\n                break;\n              }\n\n              return _context3.abrupt(\"return\", undefined);\n\n            case 5:\n              hashParams = (0, _ui_utils.parseQueryString)(hash), waitOn = [];\n\n              if (\"disableworker\" in hashParams && hashParams[\"disableworker\"] === \"true\") {\n                waitOn.push(loadFakeWorker());\n              }\n\n              if (\"disablerange\" in hashParams) {\n                _app_options.AppOptions.set(\"disableRange\", hashParams[\"disablerange\"] === \"true\");\n              }\n\n              if (\"disablestream\" in hashParams) {\n                _app_options.AppOptions.set(\"disableStream\", hashParams[\"disablestream\"] === \"true\");\n              }\n\n              if (\"disableautofetch\" in hashParams) {\n                _app_options.AppOptions.set(\"disableAutoFetch\", hashParams[\"disableautofetch\"] === \"true\");\n              }\n\n              if (\"disablefontface\" in hashParams) {\n                _app_options.AppOptions.set(\"disableFontFace\", hashParams[\"disablefontface\"] === \"true\");\n              }\n\n              if (\"disablehistory\" in hashParams) {\n                _app_options.AppOptions.set(\"disableHistory\", hashParams[\"disablehistory\"] === \"true\");\n              }\n\n              if (\"webgl\" in hashParams) {\n                _app_options.AppOptions.set(\"enableWebGL\", hashParams[\"webgl\"] === \"true\");\n              }\n\n              if (\"verbosity\" in hashParams) {\n                _app_options.AppOptions.set(\"verbosity\", hashParams[\"verbosity\"] | 0);\n              }\n\n              if (!(\"textlayer\" in hashParams)) {\n                _context3.next = 23;\n                break;\n              }\n\n              _context3.t0 = hashParams[\"textlayer\"];\n              _context3.next = _context3.t0 === \"off\" ? 18 : _context3.t0 === \"visible\" ? 20 : _context3.t0 === \"shadow\" ? 20 : _context3.t0 === \"hover\" ? 20 : 23;\n              break;\n\n            case 18:\n              _app_options.AppOptions.set(\"textLayerMode\", _ui_utils.TextLayerMode.DISABLE);\n\n              return _context3.abrupt(\"break\", 23);\n\n            case 20:\n              viewer = _this3.appConfig.viewerContainer;\n              viewer.classList.add(\"textLayer-\" + hashParams[\"textlayer\"]);\n              return _context3.abrupt(\"break\", 23);\n\n            case 23:\n              if (\"pdfbug\" in hashParams) {\n                _app_options.AppOptions.set(\"pdfBug\", true);\n\n                enabled = hashParams[\"pdfbug\"].split(\",\");\n                waitOn.push(loadAndEnablePDFBug(enabled));\n              }\n\n              if (\"locale\" in hashParams) {\n                _app_options.AppOptions.set(\"locale\", hashParams[\"locale\"]);\n              }\n\n              return _context3.abrupt(\"return\", Promise.all(waitOn).catch(function (reason) {\n                console.error(\"_parseHashParameters: \\\"\".concat(reason.message, \"\\\".\"));\n              }));\n\n            case 26:\n            case \"end\":\n              return _context3.stop();\n          }\n        }\n      }, _callee3);\n    }))();\n  },\n  _initializeL10n: function _initializeL10n() {\n    var _this4 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n      var dir;\n      return regeneratorRuntime.wrap(function _callee4$(_context4) {\n        while (1) {\n          switch (_context4.prev = _context4.next) {\n            case 0:\n              _this4.l10n = _this4.externalServices.createL10n({\n                locale: _app_options.AppOptions.get(\"locale\")\n              });\n              _context4.next = 3;\n              return _this4.l10n.getDirection();\n\n            case 3:\n              dir = _context4.sent;\n              document.getElementsByTagName(\"html\")[0].dir = dir;\n\n            case 5:\n            case \"end\":\n              return _context4.stop();\n          }\n        }\n      }, _callee4);\n    }))();\n  },\n  _initializeViewerComponents: function _initializeViewerComponents() {\n    var _this5 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n      var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, container, viewer;\n      return regeneratorRuntime.wrap(function _callee5$(_context5) {\n        while (1) {\n          switch (_context5.prev = _context5.next) {\n            case 0:\n              appConfig = _this5.appConfig;\n              _this5.overlayManager = new _overlay_manager.OverlayManager();\n              eventBus = appConfig.eventBus || new _ui_utils.EventBus({\n                dispatchToDOM: _app_options.AppOptions.get(\"eventBusDispatchToDOM\")\n              });\n              _this5.eventBus = eventBus;\n              pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n              pdfRenderingQueue.onIdle = _this5.cleanup.bind(_this5);\n              _this5.pdfRenderingQueue = pdfRenderingQueue;\n              pdfLinkService = new _pdf_link_service.PDFLinkService({\n                eventBus: eventBus,\n                externalLinkTarget: _app_options.AppOptions.get(\"externalLinkTarget\"),\n                externalLinkRel: _app_options.AppOptions.get(\"externalLinkRel\"),\n                ignoreDestinationZoom: _app_options.AppOptions.get(\"ignoreDestinationZoom\")\n              });\n              _this5.pdfLinkService = pdfLinkService;\n              downloadManager = _this5.externalServices.createDownloadManager({\n                disableCreateObjectURL: _app_options.AppOptions.get(\"disableCreateObjectURL\")\n              });\n              _this5.downloadManager = downloadManager;\n              findController = new _pdf_find_controller.PDFFindController({\n                linkService: pdfLinkService,\n                eventBus: eventBus\n              });\n              _this5.findController = findController;\n              container = appConfig.mainContainer;\n              viewer = appConfig.viewerContainer;\n              _this5.pdfViewer = new _pdf_viewer.PDFViewer({\n                container: container,\n                viewer: viewer,\n                eventBus: eventBus,\n                renderingQueue: pdfRenderingQueue,\n                linkService: pdfLinkService,\n                downloadManager: downloadManager,\n                findController: findController,\n                renderer: _app_options.AppOptions.get(\"renderer\"),\n                enableWebGL: _app_options.AppOptions.get(\"enableWebGL\"),\n                l10n: _this5.l10n,\n                textLayerMode: _app_options.AppOptions.get(\"textLayerMode\"),\n                imageResourcesPath: _app_options.AppOptions.get(\"imageResourcesPath\"),\n                renderInteractiveForms: _app_options.AppOptions.get(\"renderInteractiveForms\"),\n                enablePrintAutoRotate: _app_options.AppOptions.get(\"enablePrintAutoRotate\"),\n                useOnlyCssZoom: _app_options.AppOptions.get(\"useOnlyCssZoom\"),\n                maxCanvasPixels: _app_options.AppOptions.get(\"maxCanvasPixels\")\n              });\n              pdfRenderingQueue.setViewer(_this5.pdfViewer);\n              pdfLinkService.setViewer(_this5.pdfViewer);\n              _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({\n                container: appConfig.sidebar.thumbnailView,\n                renderingQueue: pdfRenderingQueue,\n                linkService: pdfLinkService,\n                l10n: _this5.l10n\n              });\n              pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer);\n              _this5.pdfHistory = new _pdf_history.PDFHistory({\n                linkService: pdfLinkService,\n                eventBus: eventBus\n              });\n              pdfLinkService.setHistory(_this5.pdfHistory);\n\n              if (!_this5.supportsIntegratedFind) {\n                _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n);\n              }\n\n              _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n);\n              _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({\n                container: container,\n                eventBus: eventBus,\n                cursorToolOnLoad: _app_options.AppOptions.get(\"cursorToolOnLoad\")\n              });\n              _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n);\n              _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);\n\n              if (_this5.supportsFullscreen) {\n                _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({\n                  container: container,\n                  pdfViewer: _this5.pdfViewer,\n                  eventBus: eventBus,\n                  contextMenuItems: appConfig.fullscreen\n                });\n              }\n\n              _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n);\n              _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({\n                container: appConfig.sidebar.outlineView,\n                eventBus: eventBus,\n                linkService: pdfLinkService\n              });\n              _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({\n                container: appConfig.sidebar.attachmentsView,\n                eventBus: eventBus,\n                downloadManager: downloadManager\n              });\n              _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({\n                elements: appConfig.sidebar,\n                pdfViewer: _this5.pdfViewer,\n                pdfThumbnailViewer: _this5.pdfThumbnailViewer,\n                eventBus: eventBus,\n                l10n: _this5.l10n\n              });\n              _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5);\n              _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n);\n\n            case 34:\n            case \"end\":\n              return _context5.stop();\n          }\n        }\n      }, _callee5);\n    }))();\n  },\n  run: function run(config) {\n    this.initialize(config).then(webViewerInitialized);\n  },\n\n  get initialized() {\n    return this._initializedCapability.settled;\n  },\n\n  get initializedPromise() {\n    return this._initializedCapability.promise;\n  },\n\n  zoomIn: function zoomIn(ticks) {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n\n    var newScale = this.pdfViewer.currentScale;\n\n    do {\n      newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);\n      newScale = Math.ceil(newScale * 10) / 10;\n      newScale = Math.min(_ui_utils.MAX_SCALE, newScale);\n    } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE);\n\n    this.pdfViewer.currentScaleValue = newScale;\n  },\n  zoomOut: function zoomOut(ticks) {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n\n    var newScale = this.pdfViewer.currentScale;\n\n    do {\n      newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);\n      newScale = Math.floor(newScale * 10) / 10;\n      newScale = Math.max(_ui_utils.MIN_SCALE, newScale);\n    } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE);\n\n    this.pdfViewer.currentScaleValue = newScale;\n  },\n  zoomReset: function zoomReset() {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n\n    this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n  },\n\n  get pagesCount() {\n    return this.pdfDocument ? this.pdfDocument.numPages : 0;\n  },\n\n  set page(val) {\n    this.pdfViewer.currentPageNumber = val;\n  },\n\n  get page() {\n    return this.pdfViewer.currentPageNumber;\n  },\n\n  get printing() {\n    return !!this.printService;\n  },\n\n  get supportsPrinting() {\n    return PDFPrintServiceFactory.instance.supportsPrinting;\n  },\n\n  get supportsFullscreen() {\n    var support;\n    var doc = document.documentElement;\n    support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen || doc.msRequestFullscreen);\n\n    if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false || document.msFullscreenEnabled === false) {\n      support = false;\n    }\n\n    return (0, _pdf.shadow)(this, \"supportsFullscreen\", support);\n  },\n\n  get supportsIntegratedFind() {\n    return this.externalServices.supportsIntegratedFind;\n  },\n\n  get supportsDocumentFonts() {\n    return this.externalServices.supportsDocumentFonts;\n  },\n\n  get loadingBar() {\n    var bar = new _ui_utils.ProgressBar(\"#loadingBar\");\n    return (0, _pdf.shadow)(this, \"loadingBar\", bar);\n  },\n\n  get supportedMouseWheelZoomModifierKeys() {\n    return this.externalServices.supportedMouseWheelZoomModifierKeys;\n  },\n\n  initPassiveLoading: function initPassiveLoading() {\n    throw new Error(\"Not implemented: initPassiveLoading\");\n  },\n  setTitleUsingUrl: function setTitleUsingUrl() {\n    var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n    this.url = url;\n    this.baseUrl = url.split(\"#\")[0];\n    var title = (0, _ui_utils.getPDFFileNameFromURL)(url, \"\");\n\n    if (!title) {\n      try {\n        title = decodeURIComponent((0, _pdf.getFilenameFromUrl)(url)) || url;\n      } catch (ex) {\n        title = url;\n      }\n    }\n\n    this.setTitle(title);\n  },\n  setTitle: function setTitle(title) {\n    if (this.isViewerEmbedded) {\n      return;\n    }\n\n    document.title = title;\n  },\n  close: function close() {\n    var _this6 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n      var errorWrapper, promise;\n      return regeneratorRuntime.wrap(function _callee6$(_context6) {\n        while (1) {\n          switch (_context6.prev = _context6.next) {\n            case 0:\n              errorWrapper = _this6.appConfig.errorWrapper.container;\n              errorWrapper.setAttribute(\"hidden\", \"true\");\n\n              if (_this6.pdfLoadingTask) {\n                _context6.next = 4;\n                break;\n              }\n\n              return _context6.abrupt(\"return\", undefined);\n\n            case 4:\n              promise = _this6.pdfLoadingTask.destroy();\n              _this6.pdfLoadingTask = null;\n\n              if (_this6.pdfDocument) {\n                _this6.pdfDocument = null;\n\n                _this6.pdfThumbnailViewer.setDocument(null);\n\n                _this6.pdfViewer.setDocument(null);\n\n                _this6.pdfLinkService.setDocument(null);\n\n                _this6.pdfDocumentProperties.setDocument(null);\n              }\n\n              _this6.store = null;\n              _this6.isInitialViewSet = false;\n              _this6.downloadComplete = false;\n              _this6.url = \"\";\n              _this6.baseUrl = \"\";\n              _this6.contentDispositionFilename = null;\n\n              _this6.pdfSidebar.reset();\n\n              _this6.pdfOutlineViewer.reset();\n\n              _this6.pdfAttachmentViewer.reset();\n\n              if (_this6.pdfHistory) {\n                _this6.pdfHistory.reset();\n              }\n\n              if (_this6.findBar) {\n                _this6.findBar.reset();\n              }\n\n              _this6.toolbar.reset();\n\n              _this6.secondaryToolbar.reset();\n\n              if (typeof PDFBug !== \"undefined\") {\n                PDFBug.cleanup();\n              }\n\n              return _context6.abrupt(\"return\", promise);\n\n            case 22:\n            case \"end\":\n              return _context6.stop();\n          }\n        }\n      }, _callee6);\n    }))();\n  },\n  open: function open(file, args) {\n    var _this7 = this;\n\n    return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n      var workerParameters, key, parameters, apiParameters, _key, value, _key2, _value, loadingTask;\n\n      return regeneratorRuntime.wrap(function _callee7$(_context7) {\n        while (1) {\n          switch (_context7.prev = _context7.next) {\n            case 0:\n              if (!_this7.pdfLoadingTask) {\n                _context7.next = 3;\n                break;\n              }\n\n              _context7.next = 3;\n              return _this7.close();\n\n            case 3:\n              workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);\n\n              for (key in workerParameters) {\n                _pdf.GlobalWorkerOptions[key] = workerParameters[key];\n              }\n\n              parameters = Object.create(null);\n\n              if (typeof file === \"string\") {\n                _this7.setTitleUsingUrl(file);\n\n                parameters.url = file;\n              } else if (file && \"byteLength\" in file) {\n                parameters.data = file;\n              } else if (file.url && file.originalUrl) {\n                _this7.setTitleUsingUrl(file.originalUrl);\n\n                parameters.url = file.url;\n              }\n\n              apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);\n\n              for (_key in apiParameters) {\n                value = apiParameters[_key];\n\n                if (_key === \"docBaseUrl\" && !value) {}\n\n                parameters[_key] = value;\n              }\n\n              if (args) {\n                for (_key2 in args) {\n                  _value = args[_key2];\n\n                  if (_key2 === \"length\") {\n                    _this7.pdfDocumentProperties.setFileSize(_value);\n                  }\n\n                  parameters[_key2] = _value;\n                }\n              }\n\n              loadingTask = (0, _pdf.getDocument)(parameters);\n              _this7.pdfLoadingTask = loadingTask;\n\n              loadingTask.onPassword = function (updateCallback, reason) {\n                _this7.pdfLinkService.externalLinkEnabled = false;\n\n                _this7.passwordPrompt.setUpdateCallback(updateCallback, reason);\n\n                _this7.passwordPrompt.open();\n              };\n\n              loadingTask.onProgress = function (_ref) {\n                var loaded = _ref.loaded,\n                    total = _ref.total;\n\n                _this7.progress(loaded / total);\n              };\n\n              loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7);\n              return _context7.abrupt(\"return\", loadingTask.promise.then(function (pdfDocument) {\n                _this7.load(pdfDocument);\n              }, function (exception) {\n                if (loadingTask !== _this7.pdfLoadingTask) {\n                  return undefined;\n                }\n\n                var message = exception && exception.message;\n                var loadingErrorMessage;\n\n                if (exception instanceof _pdf.InvalidPDFException) {\n                  loadingErrorMessage = _this7.l10n.get(\"invalid_file_error\", null, \"Invalid or corrupted PDF file.\");\n                } else if (exception instanceof _pdf.MissingPDFException) {\n                  loadingErrorMessage = _this7.l10n.get(\"missing_file_error\", null, \"Missing PDF file.\");\n                } else if (exception instanceof _pdf.UnexpectedResponseException) {\n                  loadingErrorMessage = _this7.l10n.get(\"unexpected_response_error\", null, \"Unexpected server response.\");\n                } else {\n                  loadingErrorMessage = _this7.l10n.get(\"loading_error\", null, \"An error occurred while loading the PDF.\");\n                }\n\n                return loadingErrorMessage.then(function (msg) {\n                  _this7.error(msg, {\n                    message: message\n                  });\n\n                  throw new Error(msg);\n                });\n              }));\n\n            case 16:\n            case \"end\":\n              return _context7.stop();\n          }\n        }\n      }, _callee7);\n    }))();\n  },\n  download: function download() {\n    var _this8 = this;\n\n    function downloadByUrl() {\n      downloadManager.downloadUrl(url, filename);\n    }\n\n    var url = this.baseUrl;\n    var filename = this.contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url);\n    var downloadManager = this.downloadManager;\n\n    downloadManager.onerror = function (err) {\n      _this8.error(\"PDF failed to download: \".concat(err));\n    };\n\n    if (!this.pdfDocument || !this.downloadComplete) {\n      downloadByUrl();\n      return;\n    }\n\n    this.pdfDocument.getData().then(function (data) {\n      var blob = new Blob([data], {\n        type: \"application/pdf\"\n      });\n      downloadManager.download(blob, url, filename);\n    }).catch(downloadByUrl);\n  },\n  fallback: function fallback(featureId) {\n    if (this.fellback) {\n      return;\n    }\n\n    this.fellback = true;\n    this.externalServices.fallback({\n      featureId: featureId,\n      url: this.baseUrl\n    }, function response(download) {\n      if (!download) {\n        return;\n      }\n\n      PDFViewerApplication.download();\n    });\n  },\n  error: function error(message, moreInfo) {\n    var moreInfoText = [this.l10n.get(\"error_version_info\", {\n      version: _pdf.version || \"?\",\n      build: _pdf.build || \"?\"\n    }, \"PDF.js v{{version}} (build: {{build}})\")];\n\n    if (moreInfo) {\n      moreInfoText.push(this.l10n.get(\"error_message\", {\n        message: moreInfo.message\n      }, \"Message: {{message}}\"));\n\n      if (moreInfo.stack) {\n        moreInfoText.push(this.l10n.get(\"error_stack\", {\n          stack: moreInfo.stack\n        }, \"Stack: {{stack}}\"));\n      } else {\n        if (moreInfo.filename) {\n          moreInfoText.push(this.l10n.get(\"error_file\", {\n            file: moreInfo.filename\n          }, \"File: {{file}}\"));\n        }\n\n        if (moreInfo.lineNumber) {\n          moreInfoText.push(this.l10n.get(\"error_line\", {\n            line: moreInfo.lineNumber\n          }, \"Line: {{line}}\"));\n        }\n      }\n    }\n\n    var errorWrapperConfig = this.appConfig.errorWrapper;\n    var errorWrapper = errorWrapperConfig.container;\n    errorWrapper.removeAttribute(\"hidden\");\n    var errorMessage = errorWrapperConfig.errorMessage;\n    errorMessage.textContent = message;\n    var closeButton = errorWrapperConfig.closeButton;\n\n    closeButton.onclick = function () {\n      errorWrapper.setAttribute(\"hidden\", \"true\");\n    };\n\n    var errorMoreInfo = errorWrapperConfig.errorMoreInfo;\n    var moreInfoButton = errorWrapperConfig.moreInfoButton;\n    var lessInfoButton = errorWrapperConfig.lessInfoButton;\n\n    moreInfoButton.onclick = function () {\n      errorMoreInfo.removeAttribute(\"hidden\");\n      moreInfoButton.setAttribute(\"hidden\", \"true\");\n      lessInfoButton.removeAttribute(\"hidden\");\n      errorMoreInfo.style.height = errorMoreInfo.scrollHeight + \"px\";\n    };\n\n    lessInfoButton.onclick = function () {\n      errorMoreInfo.setAttribute(\"hidden\", \"true\");\n      moreInfoButton.removeAttribute(\"hidden\");\n      lessInfoButton.setAttribute(\"hidden\", \"true\");\n    };\n\n    moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;\n    lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;\n    closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;\n    moreInfoButton.removeAttribute(\"hidden\");\n    lessInfoButton.setAttribute(\"hidden\", \"true\");\n    Promise.all(moreInfoText).then(function (parts) {\n      errorMoreInfo.value = parts.join(\"\\n\");\n    });\n  },\n  progress: function progress(level) {\n    var _this9 = this;\n\n    if (this.downloadComplete) {\n      return;\n    }\n\n    var percent = Math.round(level * 100);\n\n    if (percent > this.loadingBar.percent || isNaN(percent)) {\n      this.loadingBar.percent = percent;\n      var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams[\"disableAutoFetch\"] : _app_options.AppOptions.get(\"disableAutoFetch\");\n\n      if (disableAutoFetch && percent) {\n        if (this.disableAutoFetchLoadingBarTimeout) {\n          clearTimeout(this.disableAutoFetchLoadingBarTimeout);\n          this.disableAutoFetchLoadingBarTimeout = null;\n        }\n\n        this.loadingBar.show();\n        this.disableAutoFetchLoadingBarTimeout = setTimeout(function () {\n          _this9.loadingBar.hide();\n\n          _this9.disableAutoFetchLoadingBarTimeout = null;\n        }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);\n      }\n    }\n  },\n  load: function load(pdfDocument) {\n    var _this10 = this;\n\n    this.pdfDocument = pdfDocument;\n    pdfDocument.getDownloadInfo().then(function () {\n      _this10.downloadComplete = true;\n\n      _this10.loadingBar.hide();\n\n      firstPagePromise.then(function () {\n        _this10.eventBus.dispatch(\"documentloaded\", {\n          source: _this10\n        });\n      });\n    });\n    var pageLayoutPromise = pdfDocument.getPageLayout().catch(function () {});\n    var pageModePromise = pdfDocument.getPageMode().catch(function () {});\n    var openActionPromise = pdfDocument.getOpenAction().catch(function () {});\n    this.toolbar.setPagesCount(pdfDocument.numPages, false);\n    this.secondaryToolbar.setPagesCount(pdfDocument.numPages);\n    var store = this.store = new _view_history.ViewHistory(pdfDocument.fingerprint);\n    var baseDocumentUrl;\n    baseDocumentUrl = null;\n    this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);\n    this.pdfDocumentProperties.setDocument(pdfDocument, this.url);\n    var pdfViewer = this.pdfViewer;\n    pdfViewer.setDocument(pdfDocument);\n    var firstPagePromise = pdfViewer.firstPagePromise,\n        onePageRendered = pdfViewer.onePageRendered,\n        pagesPromise = pdfViewer.pagesPromise;\n    var pdfThumbnailViewer = this.pdfThumbnailViewer;\n    pdfThumbnailViewer.setDocument(pdfDocument);\n    firstPagePromise.then(function (pdfPage) {\n      _this10.loadingBar.setWidth(_this10.appConfig.viewerContainer);\n\n      var storePromise = store.getMultiple({\n        page: null,\n        zoom: _ui_utils.DEFAULT_SCALE_VALUE,\n        scrollLeft: \"0\",\n        scrollTop: \"0\",\n        rotation: null,\n        sidebarView: _pdf_sidebar.SidebarView.UNKNOWN,\n        scrollMode: _ui_utils.ScrollMode.UNKNOWN,\n        spreadMode: _ui_utils.SpreadMode.UNKNOWN\n      }).catch(function () {});\n      Promise.all([_ui_utils.animationStarted, storePromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () {\n        var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(_ref2) {\n          var _ref4, timeStamp, _ref4$, values, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode;\n\n          return regeneratorRuntime.wrap(function _callee8$(_context8) {\n            while (1) {\n              switch (_context8.prev = _context8.next) {\n                case 0:\n                  _ref4 = _slicedToArray(_ref2, 5), timeStamp = _ref4[0], _ref4$ = _ref4[1], values = _ref4$ === void 0 ? {} : _ref4$, pageLayout = _ref4[2], pageMode = _ref4[3], openAction = _ref4[4];\n                  viewOnLoad = _app_options.AppOptions.get(\"viewOnLoad\");\n\n                  _this10._initializePdfHistory({\n                    fingerprint: pdfDocument.fingerprint,\n                    viewOnLoad: viewOnLoad,\n                    initialDest: openAction && openAction.dest\n                  });\n\n                  initialBookmark = _this10.initialBookmark;\n                  zoom = _app_options.AppOptions.get(\"defaultZoomValue\");\n                  hash = zoom ? \"zoom=\".concat(zoom) : null;\n                  rotation = null;\n                  sidebarView = _app_options.AppOptions.get(\"sidebarViewOnLoad\");\n                  scrollMode = _app_options.AppOptions.get(\"scrollModeOnLoad\");\n                  spreadMode = _app_options.AppOptions.get(\"spreadModeOnLoad\");\n\n                  if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) {\n                    hash = \"page=\".concat(values.page, \"&zoom=\").concat(zoom || values.zoom, \",\") + \"\".concat(values.scrollLeft, \",\").concat(values.scrollTop);\n                    rotation = parseInt(values.rotation, 10);\n\n                    if (sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {\n                      sidebarView = values.sidebarView | 0;\n                    }\n\n                    if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {\n                      scrollMode = values.scrollMode | 0;\n                    }\n\n                    if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {\n                      spreadMode = values.spreadMode | 0;\n                    }\n                  }\n\n                  if (pageMode && sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {\n                    sidebarView = apiPageModeToSidebarView(pageMode);\n                  }\n\n                  if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {\n                    spreadMode = apiPageLayoutToSpreadMode(pageLayout);\n                  }\n\n                  _this10.setInitialView(hash, {\n                    rotation: rotation,\n                    sidebarView: sidebarView,\n                    scrollMode: scrollMode,\n                    spreadMode: spreadMode\n                  });\n\n                  _this10.eventBus.dispatch(\"documentinit\", {\n                    source: _this10\n                  });\n\n                  if (!_this10.isViewerEmbedded) {\n                    pdfViewer.focus();\n                  }\n\n                  _context8.next = 18;\n                  return Promise.race([pagesPromise, new Promise(function (resolve) {\n                    setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);\n                  })]);\n\n                case 18:\n                  if (!(!initialBookmark && !hash)) {\n                    _context8.next = 20;\n                    break;\n                  }\n\n                  return _context8.abrupt(\"return\");\n\n                case 20:\n                  if (!pdfViewer.hasEqualPageSizes) {\n                    _context8.next = 22;\n                    break;\n                  }\n\n                  return _context8.abrupt(\"return\");\n\n                case 22:\n                  _this10.initialBookmark = initialBookmark;\n                  pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;\n\n                  _this10.setInitialView(hash);\n\n                case 25:\n                case \"end\":\n                  return _context8.stop();\n              }\n            }\n          }, _callee8);\n        }));\n\n        return function (_x) {\n          return _ref3.apply(this, arguments);\n        };\n      }()).catch(function () {\n        _this10.setInitialView();\n      }).then(function () {\n        pdfViewer.update();\n      });\n    });\n    pdfDocument.getPageLabels().then(function (labels) {\n      if (!labels || _app_options.AppOptions.get(\"disablePageLabels\")) {\n        return;\n      }\n\n      var numLabels = labels.length;\n\n      if (numLabels !== _this10.pagesCount) {\n        console.error(\"The number of Page Labels does not match \" + \"the number of pages in the document.\");\n        return;\n      }\n\n      var i = 0;\n\n      while (i < numLabels && labels[i] === (i + 1).toString()) {\n        i++;\n      }\n\n      if (i === numLabels) {\n        return;\n      }\n\n      pdfViewer.setPageLabels(labels);\n      pdfThumbnailViewer.setPageLabels(labels);\n\n      _this10.toolbar.setPagesCount(pdfDocument.numPages, true);\n\n      _this10.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);\n    });\n    pagesPromise.then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {\n      var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator, _step, js;\n\n      return regeneratorRuntime.wrap(function _callee9$(_context9) {\n        while (1) {\n          switch (_context9.prev = _context9.next) {\n            case 0:\n              _context9.next = 2;\n              return Promise.all([openActionPromise, pdfDocument.getJavaScript()]);\n\n            case 2:\n              _yield$Promise$all = _context9.sent;\n              _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n              openAction = _yield$Promise$all2[0];\n              javaScript = _yield$Promise$all2[1];\n              triggerAutoPrint = false;\n\n              if (openAction && openAction.action === \"Print\") {\n                triggerAutoPrint = true;\n              }\n\n              if (!javaScript) {\n                _context9.next = 29;\n                break;\n              }\n\n              javaScript.some(function (js) {\n                if (!js) {\n                  return false;\n                }\n\n                console.warn(\"Warning: JavaScript is not supported\");\n\n                _this10.fallback(_pdf.UNSUPPORTED_FEATURES.javaScript);\n\n                return true;\n              });\n\n              if (triggerAutoPrint) {\n                _context9.next = 29;\n                break;\n              }\n\n              _iterator = _createForOfIteratorHelper(javaScript);\n              _context9.prev = 12;\n\n              _iterator.s();\n\n            case 14:\n              if ((_step = _iterator.n()).done) {\n                _context9.next = 21;\n                break;\n              }\n\n              js = _step.value;\n\n              if (!(js && _ui_utils.AutoPrintRegExp.test(js))) {\n                _context9.next = 19;\n                break;\n              }\n\n              triggerAutoPrint = true;\n              return _context9.abrupt(\"break\", 21);\n\n            case 19:\n              _context9.next = 14;\n              break;\n\n            case 21:\n              _context9.next = 26;\n              break;\n\n            case 23:\n              _context9.prev = 23;\n              _context9.t0 = _context9[\"catch\"](12);\n\n              _iterator.e(_context9.t0);\n\n            case 26:\n              _context9.prev = 26;\n\n              _iterator.f();\n\n              return _context9.finish(26);\n\n            case 29:\n              if (_this10.supportsPrinting) {\n                _context9.next = 31;\n                break;\n              }\n\n              return _context9.abrupt(\"return\");\n\n            case 31:\n              if (triggerAutoPrint) {\n                setTimeout(function () {\n                  window.print();\n                });\n              }\n\n            case 32:\n            case \"end\":\n              return _context9.stop();\n          }\n        }\n      }, _callee9, null, [[12, 23, 26, 29]]);\n    })));\n    onePageRendered.then(function () {\n      pdfDocument.getOutline().then(function (outline) {\n        _this10.pdfOutlineViewer.render({\n          outline: outline\n        });\n      });\n      pdfDocument.getAttachments().then(function (attachments) {\n        _this10.pdfAttachmentViewer.render({\n          attachments: attachments\n        });\n      });\n    });\n    pdfDocument.getMetadata().then(function (_ref6) {\n      var info = _ref6.info,\n          metadata = _ref6.metadata,\n          contentDispositionFilename = _ref6.contentDispositionFilename;\n      _this10.documentInfo = info;\n      _this10.metadata = metadata;\n      _this10.contentDispositionFilename = contentDispositionFilename; // https://github.com/sandanat/vue-pdf-app/issues/42\n      // console.log(\"PDF \" + pdfDocument.fingerprint + \" [\" + info.PDFFormatVersion + \" \" + (info.Producer || \"-\").trim() + \" / \" + (info.Creator || \"-\").trim() + \"]\" + \" (PDF.js: \" + (_pdf.version || \"-\") + (_app_options.AppOptions.get(\"enableWebGL\") ? \" [WebGL]\" : \"\") + \")\");\n\n      var pdfTitle;\n      var infoTitle = info && info[\"Title\"];\n\n      if (infoTitle) {\n        pdfTitle = infoTitle;\n      }\n\n      var metadataTitle = metadata && metadata.get(\"dc:title\");\n\n      if (metadataTitle) {\n        if (metadataTitle !== \"Untitled\" && !/[\\uFFF0-\\uFFFF]/g.test(metadataTitle)) {\n          pdfTitle = metadataTitle;\n        }\n      }\n\n      if (pdfTitle) {\n        _this10.setTitle(\"\".concat(pdfTitle, \" - \").concat(contentDispositionFilename || document.title));\n      } else if (contentDispositionFilename) {\n        _this10.setTitle(contentDispositionFilename);\n      }\n\n      if (info.IsAcroFormPresent) {\n        console.warn(\"Warning: AcroForm/XFA is not supported\");\n\n        _this10.fallback(_pdf.UNSUPPORTED_FEATURES.forms);\n      }\n\n      var versionId = \"other\";\n      var KNOWN_VERSIONS = [\"1.0\", \"1.1\", \"1.2\", \"1.3\", \"1.4\", \"1.5\", \"1.6\", \"1.7\", \"1.8\", \"1.9\", \"2.0\", \"2.1\", \"2.2\", \"2.3\"];\n\n      if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {\n        versionId = \"v\".concat(info.PDFFormatVersion.replace(\".\", \"_\"));\n      }\n\n      var generatorId = \"other\";\n      var KNOWN_GENERATORS = [\"acrobat distiller\", \"acrobat pdfwriter\", \"adobe livecycle\", \"adobe pdf library\", \"adobe photoshop\", \"ghostscript\", \"tcpdf\", \"cairo\", \"dvipdfm\", \"dvips\", \"pdftex\", \"pdfkit\", \"itext\", \"prince\", \"quarkxpress\", \"mac os x\", \"microsoft\", \"openoffice\", \"oracle\", \"luradocument\", \"pdf-xchange\", \"antenna house\", \"aspose.cells\", \"fpdf\"];\n\n      if (info.Producer) {\n        var producer = info.Producer.toLowerCase();\n        KNOWN_GENERATORS.some(function (generator) {\n          if (!producer.includes(generator)) {\n            return false;\n          }\n\n          generatorId = generator.replace(/[ .\\-]/g, \"_\");\n          return true;\n        });\n      }\n\n      var formType = null;\n\n      if (info.IsAcroFormPresent) {\n        formType = info.IsXFAPresent ? \"xfa\" : \"acroform\";\n      }\n\n      _this10.externalServices.reportTelemetry({\n        type: \"documentInfo\",\n        version: versionId,\n        generator: generatorId,\n        formType: formType\n      });\n    });\n  },\n  _initializePdfHistory: function _initializePdfHistory(_ref7) {\n    var fingerprint = _ref7.fingerprint,\n        viewOnLoad = _ref7.viewOnLoad,\n        _ref7$initialDest = _ref7.initialDest,\n        initialDest = _ref7$initialDest === void 0 ? null : _ref7$initialDest;\n\n    if (_app_options.AppOptions.get(\"disableHistory\") || this.isViewerEmbedded) {\n      return;\n    }\n\n    this.pdfHistory.initialize({\n      fingerprint: fingerprint,\n      resetHistory: viewOnLoad === ViewOnLoad.INITIAL,\n      updateUrl: _app_options.AppOptions.get(\"historyUpdateUrl\")\n    });\n\n    if (this.pdfHistory.initialBookmark) {\n      this.initialBookmark = this.pdfHistory.initialBookmark;\n      this.initialRotation = this.pdfHistory.initialRotation;\n    }\n\n    if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) {\n      this.initialBookmark = JSON.stringify(initialDest);\n      this.pdfHistory.push({\n        explicitDest: initialDest,\n        pageNumber: null\n      });\n    }\n  },\n  setInitialView: function setInitialView(storedHash) {\n    var _this11 = this;\n\n    var _ref8 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        rotation = _ref8.rotation,\n        sidebarView = _ref8.sidebarView,\n        scrollMode = _ref8.scrollMode,\n        spreadMode = _ref8.spreadMode;\n\n    var setRotation = function setRotation(angle) {\n      if ((0, _ui_utils.isValidRotation)(angle)) {\n        _this11.pdfViewer.pagesRotation = angle;\n      }\n    };\n\n    var setViewerModes = function setViewerModes(scroll, spread) {\n      if ((0, _ui_utils.isValidScrollMode)(scroll)) {\n        _this11.pdfViewer.scrollMode = scroll;\n      }\n\n      if ((0, _ui_utils.isValidSpreadMode)(spread)) {\n        _this11.pdfViewer.spreadMode = spread;\n      }\n    };\n\n    this.isInitialViewSet = true;\n    this.pdfSidebar.setInitialView(sidebarView);\n    setViewerModes(scrollMode, spreadMode);\n\n    if (this.initialBookmark) {\n      setRotation(this.initialRotation);\n      delete this.initialRotation;\n      this.pdfLinkService.setHash(this.initialBookmark);\n      this.initialBookmark = null;\n    } else if (storedHash) {\n      setRotation(rotation);\n      this.pdfLinkService.setHash(storedHash);\n    }\n\n    this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel);\n    this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);\n\n    if (!this.pdfViewer.currentScaleValue) {\n      this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n    }\n  },\n  cleanup: function cleanup() {\n    if (!this.pdfDocument) {\n      return;\n    }\n\n    this.pdfViewer.cleanup();\n    this.pdfThumbnailViewer.cleanup();\n\n    if (this.pdfViewer.renderer !== _ui_utils.RendererType.SVG) {\n      this.pdfDocument.cleanup();\n    }\n  },\n  forceRendering: function forceRendering() {\n    this.pdfRenderingQueue.printing = this.printing;\n    this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;\n    this.pdfRenderingQueue.renderHighestPriority();\n  },\n  beforePrint: function beforePrint() {\n    var _this12 = this;\n\n    if (this.printService) {\n      return;\n    }\n\n    if (!this.supportsPrinting) {\n      this.l10n.get(\"printing_not_supported\", null, \"Warning: Printing is not fully supported by this browser.\").then(function (printMessage) {\n        _this12.error(printMessage);\n      });\n      return;\n    }\n\n    if (!this.pdfViewer.pageViewsReady) {\n      this.l10n.get(\"printing_not_ready\", null, \"Warning: The PDF is not fully loaded for printing.\").then(function (notReadyMessage) {\n        window.alert(notReadyMessage);\n      });\n      return;\n    }\n\n    var pagesOverview = this.pdfViewer.getPagesOverview();\n    var printContainer = this.appConfig.printContainer;\n    var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, this.l10n);\n    this.printService = printService;\n    this.forceRendering();\n    printService.layout();\n    this.externalServices.reportTelemetry({\n      type: \"print\"\n    });\n  },\n  afterPrint: function afterPrint() {\n    if (this.printService) {\n      this.printService.destroy();\n      this.printService = null;\n    }\n\n    this.forceRendering();\n  },\n  rotatePages: function rotatePages(delta) {\n    if (!this.pdfDocument) {\n      return;\n    }\n\n    var newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360;\n    this.pdfViewer.pagesRotation = newRotation;\n  },\n  requestPresentationMode: function requestPresentationMode() {\n    if (!this.pdfPresentationMode) {\n      return;\n    }\n\n    this.pdfPresentationMode.request();\n  },\n  bindEvents: function bindEvents() {\n    var eventBus = this.eventBus,\n        _boundEvents = this._boundEvents;\n    _boundEvents.beforePrint = this.beforePrint.bind(this);\n    _boundEvents.afterPrint = this.afterPrint.bind(this);\n\n    eventBus._on(\"resize\", webViewerResize);\n\n    eventBus._on(\"hashchange\", webViewerHashchange);\n\n    eventBus._on(\"beforeprint\", _boundEvents.beforePrint);\n\n    eventBus._on(\"afterprint\", _boundEvents.afterPrint);\n\n    eventBus._on(\"pagerendered\", webViewerPageRendered);\n\n    eventBus._on(\"updateviewarea\", webViewerUpdateViewarea);\n\n    eventBus._on(\"pagechanging\", webViewerPageChanging);\n\n    eventBus._on(\"scalechanging\", webViewerScaleChanging);\n\n    eventBus._on(\"rotationchanging\", webViewerRotationChanging);\n\n    eventBus._on(\"sidebarviewchanged\", webViewerSidebarViewChanged);\n\n    eventBus._on(\"pagemode\", webViewerPageMode);\n\n    eventBus._on(\"namedaction\", webViewerNamedAction);\n\n    eventBus._on(\"presentationmodechanged\", webViewerPresentationModeChanged);\n\n    eventBus._on(\"presentationmode\", webViewerPresentationMode);\n\n    eventBus._on(\"print\", webViewerPrint);\n\n    eventBus._on(\"download\", webViewerDownload);\n\n    eventBus._on(\"firstpage\", webViewerFirstPage);\n\n    eventBus._on(\"lastpage\", webViewerLastPage);\n\n    eventBus._on(\"nextpage\", webViewerNextPage);\n\n    eventBus._on(\"previouspage\", webViewerPreviousPage);\n\n    eventBus._on(\"zoomin\", webViewerZoomIn);\n\n    eventBus._on(\"zoomout\", webViewerZoomOut);\n\n    eventBus._on(\"zoomreset\", webViewerZoomReset);\n\n    eventBus._on(\"pagenumberchanged\", webViewerPageNumberChanged);\n\n    eventBus._on(\"scalechanged\", webViewerScaleChanged);\n\n    eventBus._on(\"rotatecw\", webViewerRotateCw);\n\n    eventBus._on(\"rotateccw\", webViewerRotateCcw);\n\n    eventBus._on(\"switchscrollmode\", webViewerSwitchScrollMode);\n\n    eventBus._on(\"scrollmodechanged\", webViewerScrollModeChanged);\n\n    eventBus._on(\"switchspreadmode\", webViewerSwitchSpreadMode);\n\n    eventBus._on(\"spreadmodechanged\", webViewerSpreadModeChanged);\n\n    eventBus._on(\"documentproperties\", webViewerDocumentProperties);\n\n    eventBus._on(\"find\", webViewerFind);\n\n    eventBus._on(\"findfromurlhash\", webViewerFindFromUrlHash);\n\n    eventBus._on(\"updatefindmatchescount\", webViewerUpdateFindMatchesCount);\n\n    eventBus._on(\"updatefindcontrolstate\", webViewerUpdateFindControlState);\n\n    eventBus._on(\"fileinputchange\", webViewerFileInputChange);\n\n    eventBus._on(\"openfile\", webViewerOpenFile);\n  },\n  bindWindowEvents: function bindWindowEvents() {\n    var eventBus = this.eventBus,\n        _boundEvents = this._boundEvents;\n\n    _boundEvents.windowResize = function () {\n      eventBus.dispatch(\"resize\", {\n        source: window\n      });\n    };\n\n    _boundEvents.windowHashChange = function () {\n      eventBus.dispatch(\"hashchange\", {\n        source: window,\n        hash: document.location.hash.substring(1)\n      });\n    };\n\n    _boundEvents.windowBeforePrint = function () {\n      eventBus.dispatch(\"beforeprint\", {\n        source: window\n      });\n    };\n\n    _boundEvents.windowAfterPrint = function () {\n      eventBus.dispatch(\"afterprint\", {\n        source: window\n      });\n    };\n\n    window.addEventListener(\"visibilitychange\", webViewerVisibilityChange);\n    window.addEventListener(\"wheel\", webViewerWheel, {\n      passive: false\n    });\n    window.addEventListener(\"click\", webViewerClick);\n    window.addEventListener(\"keydown\", webViewerKeyDown);\n    window.addEventListener(\"resize\", _boundEvents.windowResize);\n    window.addEventListener(\"hashchange\", _boundEvents.windowHashChange);\n    window.addEventListener(\"beforeprint\", _boundEvents.windowBeforePrint);\n    window.addEventListener(\"afterprint\", _boundEvents.windowAfterPrint);\n  },\n  unbindEvents: function unbindEvents() {\n    var eventBus = this.eventBus,\n        _boundEvents = this._boundEvents;\n\n    eventBus._off(\"resize\", webViewerResize);\n\n    eventBus._off(\"hashchange\", webViewerHashchange);\n\n    eventBus._off(\"beforeprint\", _boundEvents.beforePrint);\n\n    eventBus._off(\"afterprint\", _boundEvents.afterPrint);\n\n    eventBus._off(\"pagerendered\", webViewerPageRendered);\n\n    eventBus._off(\"updateviewarea\", webViewerUpdateViewarea);\n\n    eventBus._off(\"pagechanging\", webViewerPageChanging);\n\n    eventBus._off(\"scalechanging\", webViewerScaleChanging);\n\n    eventBus._off(\"rotationchanging\", webViewerRotationChanging);\n\n    eventBus._off(\"sidebarviewchanged\", webViewerSidebarViewChanged);\n\n    eventBus._off(\"pagemode\", webViewerPageMode);\n\n    eventBus._off(\"namedaction\", webViewerNamedAction);\n\n    eventBus._off(\"presentationmodechanged\", webViewerPresentationModeChanged);\n\n    eventBus._off(\"presentationmode\", webViewerPresentationMode);\n\n    eventBus._off(\"print\", webViewerPrint);\n\n    eventBus._off(\"download\", webViewerDownload);\n\n    eventBus._off(\"firstpage\", webViewerFirstPage);\n\n    eventBus._off(\"lastpage\", webViewerLastPage);\n\n    eventBus._off(\"nextpage\", webViewerNextPage);\n\n    eventBus._off(\"previouspage\", webViewerPreviousPage);\n\n    eventBus._off(\"zoomin\", webViewerZoomIn);\n\n    eventBus._off(\"zoomout\", webViewerZoomOut);\n\n    eventBus._off(\"zoomreset\", webViewerZoomReset);\n\n    eventBus._off(\"pagenumberchanged\", webViewerPageNumberChanged);\n\n    eventBus._off(\"scalechanged\", webViewerScaleChanged);\n\n    eventBus._off(\"rotatecw\", webViewerRotateCw);\n\n    eventBus._off(\"rotateccw\", webViewerRotateCcw);\n\n    eventBus._off(\"switchscrollmode\", webViewerSwitchScrollMode);\n\n    eventBus._off(\"scrollmodechanged\", webViewerScrollModeChanged);\n\n    eventBus._off(\"switchspreadmode\", webViewerSwitchSpreadMode);\n\n    eventBus._off(\"spreadmodechanged\", webViewerSpreadModeChanged);\n\n    eventBus._off(\"documentproperties\", webViewerDocumentProperties);\n\n    eventBus._off(\"find\", webViewerFind);\n\n    eventBus._off(\"findfromurlhash\", webViewerFindFromUrlHash);\n\n    eventBus._off(\"updatefindmatchescount\", webViewerUpdateFindMatchesCount);\n\n    eventBus._off(\"updatefindcontrolstate\", webViewerUpdateFindControlState);\n\n    eventBus._off(\"fileinputchange\", webViewerFileInputChange);\n\n    eventBus._off(\"openfile\", webViewerOpenFile);\n\n    _boundEvents.beforePrint = null;\n    _boundEvents.afterPrint = null;\n  },\n  unbindWindowEvents: function unbindWindowEvents() {\n    var _boundEvents = this._boundEvents;\n    window.removeEventListener(\"visibilitychange\", webViewerVisibilityChange);\n    window.removeEventListener(\"wheel\", webViewerWheel);\n    window.removeEventListener(\"click\", webViewerClick);\n    window.removeEventListener(\"keydown\", webViewerKeyDown);\n    window.removeEventListener(\"resize\", _boundEvents.windowResize);\n    window.removeEventListener(\"hashchange\", _boundEvents.windowHashChange);\n    window.removeEventListener(\"beforeprint\", _boundEvents.windowBeforePrint);\n    window.removeEventListener(\"afterprint\", _boundEvents.windowAfterPrint);\n    _boundEvents.windowResize = null;\n    _boundEvents.windowHashChange = null;\n    _boundEvents.windowBeforePrint = null;\n    _boundEvents.windowAfterPrint = null;\n  }\n};\nexports.PDFViewerApplication = PDFViewerApplication;\nvar validateFileURL;\n{\n  var HOSTED_VIEWER_ORIGINS = [\"null\", \"http://mozilla.github.io\", \"https://mozilla.github.io\"];\n\n  validateFileURL = function validateFileURL(file) {\n    if (file === undefined) {\n      return;\n    }\n\n    try {\n      var viewerOrigin = new URL(window.location.href).origin || \"null\";\n\n      if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {\n        return;\n      }\n\n      var _URL = new URL(file, window.location.href),\n          origin = _URL.origin,\n          protocol = _URL.protocol;\n\n      if (origin !== viewerOrigin && protocol !== \"blob:\") {\n        throw new Error(\"file origin does not match viewer's\");\n      }\n    } catch (ex) {\n      var message = ex && ex.message;\n      PDFViewerApplication.l10n.get(\"loading_error\", null, \"An error occurred while loading the PDF.\").then(function (loadingErrorMessage) {\n        PDFViewerApplication.error(loadingErrorMessage, {\n          message: message\n        });\n      });\n      throw ex;\n    }\n  };\n}\n\nfunction loadFakeWorker() {\n  return _loadFakeWorker.apply(this, arguments);\n}\n\nfunction _loadFakeWorker() {\n  _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {\n    return regeneratorRuntime.wrap(function _callee10$(_context10) {\n      while (1) {\n        switch (_context10.prev = _context10.next) {\n          case 0:\n            if (!_pdf.GlobalWorkerOptions.workerSrc) {\n              _pdf.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get(\"workerSrc\");\n            }\n\n            return _context10.abrupt(\"return\", (0, _pdf.loadScript)(_pdf.PDFWorker.getWorkerSrc()));\n\n          case 2:\n          case \"end\":\n            return _context10.stop();\n        }\n      }\n    }, _callee10);\n  }));\n  return _loadFakeWorker.apply(this, arguments);\n}\n\nfunction loadAndEnablePDFBug(enabledTabs) {\n  var appConfig = PDFViewerApplication.appConfig;\n  return (0, _pdf.loadScript)(appConfig.debuggerScriptPath).then(function () {\n    PDFBug.enable(enabledTabs);\n    PDFBug.init({\n      OPS: _pdf.OPS\n    }, appConfig.mainContainer);\n  });\n}\n\nfunction webViewerInitialized() {\n  var appConfig = PDFViewerApplication.appConfig;\n  var file;\n  var queryString = document.location.search.substring(1);\n  var params = (0, _ui_utils.parseQueryString)(queryString);\n  file = \"file\" in params ? params.file : _app_options.AppOptions.get(\"defaultUrl\");\n  validateFileURL(file);\n  var fileInput = document.createElement(\"input\");\n  fileInput.id = appConfig.openFileInputName;\n  fileInput.className = \"fileInput\";\n  fileInput.setAttribute(\"type\", \"file\");\n  fileInput.oncontextmenu = _ui_utils.noContextMenuHandler;\n  document.body.appendChild(fileInput);\n\n  if (!window.File || !window.FileReader || !window.FileList || !window.Blob) {\n    appConfig.toolbar.openFile.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.openFileButton.setAttribute(\"hidden\", \"true\");\n  } else {\n    fileInput.value = null;\n  }\n\n  fileInput.addEventListener(\"change\", function (evt) {\n    var files = evt.target.files;\n\n    if (!files || files.length === 0) {\n      return;\n    }\n\n    PDFViewerApplication.eventBus.dispatch(\"fileinputchange\", {\n      source: this,\n      fileInput: evt.target\n    });\n  });\n  appConfig.mainContainer.addEventListener(\"dragover\", function (evt) {\n    evt.preventDefault();\n    evt.dataTransfer.dropEffect = \"move\";\n  });\n  appConfig.mainContainer.addEventListener(\"drop\", function (evt) {\n    evt.preventDefault();\n    var files = evt.dataTransfer.files;\n\n    if (!files || files.length === 0) {\n      return;\n    }\n\n    PDFViewerApplication.eventBus.dispatch(\"fileinputchange\", {\n      source: this,\n      fileInput: evt.dataTransfer\n    });\n  });\n\n  if (!PDFViewerApplication.supportsDocumentFonts) {\n    _app_options.AppOptions.set(\"disableFontFace\", true);\n\n    PDFViewerApplication.l10n.get(\"web_fonts_disabled\", null, \"Web fonts are disabled: unable to use embedded PDF fonts.\").then(function (msg) {\n      console.warn(msg);\n    });\n  }\n\n  if (!PDFViewerApplication.supportsPrinting) {\n    appConfig.toolbar.print.classList.add(\"hidden\");\n    appConfig.secondaryToolbar.printButton.classList.add(\"hidden\");\n  }\n\n  if (!PDFViewerApplication.supportsFullscreen) {\n    appConfig.toolbar.presentationModeButton.classList.add(\"hidden\");\n    appConfig.secondaryToolbar.presentationModeButton.classList.add(\"hidden\");\n  }\n\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    appConfig.toolbar.viewFind.classList.add(\"hidden\");\n  }\n\n  appConfig.mainContainer.addEventListener(\"transitionend\", function (evt) {\n    if (evt.target === this) {\n      PDFViewerApplication.eventBus.dispatch(\"resize\", {\n        source: this\n      });\n    }\n  }, true);\n\n  try {\n    webViewerOpenFileViaURL(file);\n  } catch (reason) {\n    PDFViewerApplication.l10n.get(\"loading_error\", null, \"An error occurred while loading the PDF.\").then(function (msg) {\n      PDFViewerApplication.error(msg, reason);\n    });\n  }\n}\n\nvar webViewerOpenFileViaURL;\n{\n  webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) {\n    if (file && file.lastIndexOf(\"file:\", 0) === 0) {\n      PDFViewerApplication.setTitleUsingUrl(file);\n      var xhr = new XMLHttpRequest();\n\n      xhr.onload = function () {\n        PDFViewerApplication.open(new Uint8Array(xhr.response));\n      };\n\n      xhr.open(\"GET\", file);\n      xhr.responseType = \"arraybuffer\";\n      xhr.send();\n      return;\n    }\n\n    if (file) {\n      PDFViewerApplication.open(file);\n    }\n  };\n}\n\nfunction webViewerPageRendered(evt) {\n  var pageNumber = evt.pageNumber;\n  var pageIndex = pageNumber - 1;\n  var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);\n\n  if (pageNumber === PDFViewerApplication.page) {\n    PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);\n  }\n\n  if (!pageView) {\n    return;\n  }\n\n  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {\n    var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageIndex);\n    thumbnailView.setImage(pageView);\n  }\n\n  if (typeof Stats !== \"undefined\" && Stats.enabled && pageView.stats) {\n    Stats.add(pageNumber, pageView.stats);\n  }\n\n  if (pageView.error) {\n    PDFViewerApplication.l10n.get(\"rendering_error\", null, \"An error occurred while rendering the page.\").then(function (msg) {\n      PDFViewerApplication.error(msg, pageView.error);\n    });\n  }\n\n  PDFViewerApplication.externalServices.reportTelemetry({\n    type: \"pageInfo\",\n    timestamp: evt.timestamp\n  });\n  PDFViewerApplication.pdfDocument.getStats().then(function (stats) {\n    PDFViewerApplication.externalServices.reportTelemetry({\n      type: \"documentStats\",\n      stats: stats\n    });\n  });\n}\n\nfunction webViewerPageMode(_ref9) {\n  var mode = _ref9.mode;\n  var view;\n\n  switch (mode) {\n    case \"thumbs\":\n      view = _pdf_sidebar.SidebarView.THUMBS;\n      break;\n\n    case \"bookmarks\":\n    case \"outline\":\n      view = _pdf_sidebar.SidebarView.OUTLINE;\n      break;\n\n    case \"attachments\":\n      view = _pdf_sidebar.SidebarView.ATTACHMENTS;\n      break;\n\n    case \"none\":\n      view = _pdf_sidebar.SidebarView.NONE;\n      break;\n\n    default:\n      console.error('Invalid \"pagemode\" hash parameter: ' + mode);\n      return;\n  }\n\n  PDFViewerApplication.pdfSidebar.switchView(view, true);\n}\n\nfunction webViewerNamedAction(evt) {\n  var action = evt.action;\n\n  switch (action) {\n    case \"GoToPage\":\n      PDFViewerApplication.appConfig.toolbar.pageNumber.select();\n      break;\n\n    case \"Find\":\n      if (!PDFViewerApplication.supportsIntegratedFind) {\n        PDFViewerApplication.findBar.toggle();\n      }\n\n      break;\n  }\n}\n\nfunction webViewerPresentationModeChanged(_ref10) {\n  var active = _ref10.active,\n      switchInProgress = _ref10.switchInProgress;\n  var state = _ui_utils.PresentationModeState.NORMAL;\n\n  if (switchInProgress) {\n    state = _ui_utils.PresentationModeState.CHANGING;\n  } else if (active) {\n    state = _ui_utils.PresentationModeState.FULLSCREEN;\n  }\n\n  PDFViewerApplication.pdfViewer.presentationModeState = state;\n}\n\nfunction webViewerSidebarViewChanged(evt) {\n  PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;\n  var store = PDFViewerApplication.store;\n\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    store.set(\"sidebarView\", evt.view).catch(function () {});\n  }\n}\n\nfunction webViewerUpdateViewarea(evt) {\n  var location = evt.location,\n      store = PDFViewerApplication.store;\n\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    store.setMultiple({\n      page: location.pageNumber,\n      zoom: location.scale,\n      scrollLeft: location.left,\n      scrollTop: location.top,\n      rotation: location.rotation\n    }).catch(function () {});\n  }\n\n  var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);\n  PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;\n  PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;\n  var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);\n  var loading = currentPage.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED;\n  PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);\n}\n\nfunction webViewerScrollModeChanged(evt) {\n  var store = PDFViewerApplication.store;\n\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    store.set(\"scrollMode\", evt.mode).catch(function () {});\n  }\n}\n\nfunction webViewerSpreadModeChanged(evt) {\n  var store = PDFViewerApplication.store;\n\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    store.set(\"spreadMode\", evt.mode).catch(function () {});\n  }\n}\n\nfunction webViewerResize() {\n  var pdfDocument = PDFViewerApplication.pdfDocument,\n      pdfViewer = PDFViewerApplication.pdfViewer;\n\n  if (!pdfDocument) {\n    return;\n  }\n\n  var currentScaleValue = pdfViewer.currentScaleValue;\n\n  if (currentScaleValue === \"auto\" || currentScaleValue === \"page-fit\" || currentScaleValue === \"page-width\") {\n    pdfViewer.currentScaleValue = currentScaleValue;\n  }\n\n  pdfViewer.update();\n}\n\nfunction webViewerHashchange(evt) {\n  var hash = evt.hash;\n\n  if (!hash) {\n    return;\n  }\n\n  if (!PDFViewerApplication.isInitialViewSet) {\n    PDFViewerApplication.initialBookmark = hash;\n  } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) {\n    PDFViewerApplication.pdfLinkService.setHash(hash);\n  }\n}\n\nvar webViewerFileInputChange, webViewerOpenFile;\n{\n  webViewerFileInputChange = function webViewerFileInputChange(evt) {\n    if (PDFViewerApplication.pdfViewer && PDFViewerApplication.pdfViewer.isInPresentationMode) {\n      return;\n    }\n\n    var file = evt.fileInput.files[0];\n\n    if (URL.createObjectURL && !_app_options.AppOptions.get(\"disableCreateObjectURL\")) {\n      var url = URL.createObjectURL(file);\n\n      if (file.name) {\n        url = {\n          url: url,\n          originalUrl: file.name\n        };\n      }\n\n      PDFViewerApplication.open(url);\n    } else {\n      PDFViewerApplication.setTitleUsingUrl(file.name);\n      var fileReader = new FileReader();\n\n      fileReader.onload = function webViewerChangeFileReaderOnload(event) {\n        var buffer = event.target.result;\n        PDFViewerApplication.open(new Uint8Array(buffer));\n      };\n\n      fileReader.readAsArrayBuffer(file);\n    }\n\n    var appConfig = PDFViewerApplication.appConfig;\n    appConfig.toolbar.viewBookmark.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.viewBookmarkButton.setAttribute(\"hidden\", \"true\");\n    appConfig.toolbar.download.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.downloadButton.setAttribute(\"hidden\", \"true\");\n  };\n\n  webViewerOpenFile = function webViewerOpenFile(evt) {\n    var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;\n    document.getElementById(openFileInputName).click();\n  };\n}\n\nfunction webViewerPresentationMode() {\n  PDFViewerApplication.requestPresentationMode();\n}\n\nfunction webViewerPrint() {\n  window.print();\n}\n\nfunction webViewerDownload() {\n  PDFViewerApplication.download();\n}\n\nfunction webViewerFirstPage() {\n  if (PDFViewerApplication.pdfDocument) {\n    PDFViewerApplication.page = 1;\n  }\n}\n\nfunction webViewerLastPage() {\n  if (PDFViewerApplication.pdfDocument) {\n    PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n  }\n}\n\nfunction webViewerNextPage() {\n  PDFViewerApplication.page++;\n}\n\nfunction webViewerPreviousPage() {\n  PDFViewerApplication.page--;\n}\n\nfunction webViewerZoomIn() {\n  PDFViewerApplication.zoomIn();\n}\n\nfunction webViewerZoomOut() {\n  PDFViewerApplication.zoomOut();\n}\n\nfunction webViewerZoomReset() {\n  PDFViewerApplication.zoomReset();\n}\n\nfunction webViewerPageNumberChanged(evt) {\n  var pdfViewer = PDFViewerApplication.pdfViewer;\n\n  if (evt.value !== \"\") {\n    pdfViewer.currentPageLabel = evt.value;\n  }\n\n  if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) {\n    PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);\n  }\n}\n\nfunction webViewerScaleChanged(evt) {\n  PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;\n}\n\nfunction webViewerRotateCw() {\n  PDFViewerApplication.rotatePages(90);\n}\n\nfunction webViewerRotateCcw() {\n  PDFViewerApplication.rotatePages(-90);\n}\n\nfunction webViewerSwitchScrollMode(evt) {\n  PDFViewerApplication.pdfViewer.scrollMode = evt.mode;\n}\n\nfunction webViewerSwitchSpreadMode(evt) {\n  PDFViewerApplication.pdfViewer.spreadMode = evt.mode;\n}\n\nfunction webViewerDocumentProperties() {\n  PDFViewerApplication.pdfDocumentProperties.open();\n}\n\nfunction webViewerFind(evt) {\n  PDFViewerApplication.findController.executeCommand(\"find\" + evt.type, {\n    query: evt.query,\n    phraseSearch: evt.phraseSearch,\n    caseSensitive: evt.caseSensitive,\n    entireWord: evt.entireWord,\n    highlightAll: evt.highlightAll,\n    findPrevious: evt.findPrevious\n  });\n}\n\nfunction webViewerFindFromUrlHash(evt) {\n  PDFViewerApplication.findController.executeCommand(\"find\", {\n    query: evt.query,\n    phraseSearch: evt.phraseSearch,\n    caseSensitive: false,\n    entireWord: false,\n    highlightAll: true,\n    findPrevious: false\n  });\n}\n\nfunction webViewerUpdateFindMatchesCount(_ref11) {\n  var matchesCount = _ref11.matchesCount;\n\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);\n  } else {\n    PDFViewerApplication.findBar.updateResultsCount(matchesCount);\n  }\n}\n\nfunction webViewerUpdateFindControlState(_ref12) {\n  var state = _ref12.state,\n      previous = _ref12.previous,\n      matchesCount = _ref12.matchesCount;\n\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    PDFViewerApplication.externalServices.updateFindControlState({\n      result: state,\n      findPrevious: previous,\n      matchesCount: matchesCount\n    });\n  } else {\n    PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);\n  }\n}\n\nfunction webViewerScaleChanging(evt) {\n  PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);\n  PDFViewerApplication.pdfViewer.update();\n}\n\nfunction webViewerRotationChanging(evt) {\n  PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;\n  PDFViewerApplication.forceRendering();\n  PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;\n}\n\nfunction webViewerPageChanging(evt) {\n  var page = evt.pageNumber;\n  PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null);\n  PDFViewerApplication.secondaryToolbar.setPageNumber(page);\n\n  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {\n    PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(page);\n  }\n\n  if (typeof Stats !== \"undefined\" && Stats.enabled) {\n    var pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);\n\n    if (pageView && pageView.stats) {\n      Stats.add(page, pageView.stats);\n    }\n  }\n}\n\nfunction webViewerVisibilityChange(evt) {\n  if (document.visibilityState === \"visible\") {\n    setZoomDisabledTimeout();\n  }\n}\n\nvar zoomDisabledTimeout = null;\n\nfunction setZoomDisabledTimeout() {\n  if (zoomDisabledTimeout) {\n    clearTimeout(zoomDisabledTimeout);\n  }\n\n  zoomDisabledTimeout = setTimeout(function () {\n    zoomDisabledTimeout = null;\n  }, WHEEL_ZOOM_DISABLED_TIMEOUT);\n}\n\nfunction webViewerWheel(evt) {\n  var pdfViewer = PDFViewerApplication.pdfViewer,\n      supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;\n\n  if (pdfViewer.isInPresentationMode) {\n    return;\n  }\n\n  if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) {\n    evt.preventDefault();\n\n    if (zoomDisabledTimeout || document.visibilityState === \"hidden\") {\n      return;\n    }\n\n    var previousScale = pdfViewer.currentScale;\n    var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);\n    var MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;\n    var ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;\n\n    if (ticks < 0) {\n      PDFViewerApplication.zoomOut(-ticks);\n    } else {\n      PDFViewerApplication.zoomIn(ticks);\n    }\n\n    var currentScale = pdfViewer.currentScale;\n\n    if (previousScale !== currentScale) {\n      var scaleCorrectionFactor = currentScale / previousScale - 1;\n      var rect = pdfViewer.container.getBoundingClientRect();\n      var dx = evt.clientX - rect.left;\n      var dy = evt.clientY - rect.top;\n      pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;\n      pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;\n    }\n  } else {\n    setZoomDisabledTimeout();\n  }\n}\n\nfunction webViewerClick(evt) {\n  if (!PDFViewerApplication.secondaryToolbar.isOpen) {\n    return;\n  }\n\n  var appConfig = PDFViewerApplication.appConfig;\n\n  if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {\n    PDFViewerApplication.secondaryToolbar.close();\n  }\n}\n\nfunction webViewerKeyDown(evt) {\n  if (PDFViewerApplication.overlayManager.active) {\n    return;\n  }\n\n  var handled = false,\n      ensureViewerFocused = false;\n  var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);\n  var pdfViewer = PDFViewerApplication.pdfViewer;\n  var isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;\n\n  if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {\n    switch (evt.keyCode) {\n      case 70:\n        if (!PDFViewerApplication.supportsIntegratedFind) {\n          PDFViewerApplication.findBar.open();\n          handled = true;\n        }\n\n        break;\n\n      case 71:\n        if (!PDFViewerApplication.supportsIntegratedFind) {\n          var findState = PDFViewerApplication.findController.state;\n\n          if (findState) {\n            PDFViewerApplication.findController.executeCommand(\"findagain\", {\n              query: findState.query,\n              phraseSearch: findState.phraseSearch,\n              caseSensitive: findState.caseSensitive,\n              entireWord: findState.entireWord,\n              highlightAll: findState.highlightAll,\n              findPrevious: cmd === 5 || cmd === 12\n            });\n          }\n\n          handled = true;\n        }\n\n        break;\n\n      case 61:\n      case 107:\n      case 187:\n      case 171:\n        if (!isViewerInPresentationMode) {\n          PDFViewerApplication.zoomIn();\n        }\n\n        handled = true;\n        break;\n\n      case 173:\n      case 109:\n      case 189:\n        if (!isViewerInPresentationMode) {\n          PDFViewerApplication.zoomOut();\n        }\n\n        handled = true;\n        break;\n\n      case 48:\n      case 96:\n        if (!isViewerInPresentationMode) {\n          setTimeout(function () {\n            PDFViewerApplication.zoomReset();\n          });\n          handled = false;\n        }\n\n        break;\n\n      case 38:\n        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page = 1;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n\n        break;\n\n      case 40:\n        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {\n          PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n\n        break;\n    }\n  }\n\n  if (cmd === 1 || cmd === 8) {\n    switch (evt.keyCode) {\n      case 83:\n        PDFViewerApplication.download();\n        handled = true;\n        break;\n    }\n  }\n\n  if (cmd === 3 || cmd === 10) {\n    switch (evt.keyCode) {\n      case 80:\n        PDFViewerApplication.requestPresentationMode();\n        handled = true;\n        break;\n\n      case 71:\n        PDFViewerApplication.appConfig.toolbar.pageNumber.select();\n        handled = true;\n        break;\n    }\n  }\n\n  if (handled) {\n    if (ensureViewerFocused && !isViewerInPresentationMode) {\n      pdfViewer.focus();\n    }\n\n    evt.preventDefault();\n    return;\n  }\n\n  var curElement = document.activeElement || document.querySelector(\":focus\");\n  var curElementTagName = curElement && curElement.tagName.toUpperCase();\n\n  if (curElementTagName === \"INPUT\" || curElementTagName === \"TEXTAREA\" || curElementTagName === \"SELECT\" || curElement && curElement.isContentEditable) {\n    if (evt.keyCode !== 27) {\n      return;\n    }\n  }\n\n  if (cmd === 0) {\n    var turnPage = 0,\n        turnOnlyIfPageFit = false;\n\n    switch (evt.keyCode) {\n      case 38:\n      case 33:\n        if (pdfViewer.isVerticalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n\n        turnPage = -1;\n        break;\n\n      case 8:\n        if (!isViewerInPresentationMode) {\n          turnOnlyIfPageFit = true;\n        }\n\n        turnPage = -1;\n        break;\n\n      case 37:\n        if (pdfViewer.isHorizontalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n\n      case 75:\n      case 80:\n        turnPage = -1;\n        break;\n\n      case 27:\n        if (PDFViewerApplication.secondaryToolbar.isOpen) {\n          PDFViewerApplication.secondaryToolbar.close();\n          handled = true;\n        }\n\n        if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) {\n          PDFViewerApplication.findBar.close();\n          handled = true;\n        }\n\n        break;\n\n      case 40:\n      case 34:\n        if (pdfViewer.isVerticalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n\n        turnPage = 1;\n        break;\n\n      case 13:\n      case 32:\n        if (!isViewerInPresentationMode) {\n          turnOnlyIfPageFit = true;\n        }\n\n        turnPage = 1;\n        break;\n\n      case 39:\n        if (pdfViewer.isHorizontalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n\n      case 74:\n      case 78:\n        turnPage = 1;\n        break;\n\n      case 36:\n        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page = 1;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n\n        break;\n\n      case 35:\n        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {\n          PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n\n        break;\n\n      case 83:\n        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT);\n        break;\n\n      case 72:\n        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND);\n        break;\n\n      case 82:\n        PDFViewerApplication.rotatePages(90);\n        break;\n\n      case 115:\n        PDFViewerApplication.pdfSidebar.toggle();\n        break;\n    }\n\n    if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === \"page-fit\")) {\n      if (turnPage > 0) {\n        if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) {\n          PDFViewerApplication.page++;\n        }\n      } else {\n        if (PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page--;\n        }\n      }\n\n      handled = true;\n    }\n  }\n\n  if (cmd === 4) {\n    switch (evt.keyCode) {\n      case 13:\n      case 32:\n        if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== \"page-fit\") {\n          break;\n        }\n\n        if (PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page--;\n        }\n\n        handled = true;\n        break;\n\n      case 82:\n        PDFViewerApplication.rotatePages(-90);\n        break;\n    }\n  }\n\n  if (!handled && !isViewerInPresentationMode) {\n    if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== \"BUTTON\") {\n      ensureViewerFocused = true;\n    }\n  }\n\n  if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {\n    pdfViewer.focus();\n  }\n\n  if (handled) {\n    evt.preventDefault();\n  }\n}\n\nfunction apiPageLayoutToSpreadMode(layout) {\n  switch (layout) {\n    case \"SinglePage\":\n    case \"OneColumn\":\n      return _ui_utils.SpreadMode.NONE;\n\n    case \"TwoColumnLeft\":\n    case \"TwoPageLeft\":\n      return _ui_utils.SpreadMode.ODD;\n\n    case \"TwoColumnRight\":\n    case \"TwoPageRight\":\n      return _ui_utils.SpreadMode.EVEN;\n  }\n\n  return _ui_utils.SpreadMode.NONE;\n}\n\nfunction apiPageModeToSidebarView(mode) {\n  switch (mode) {\n    case \"UseNone\":\n      return _pdf_sidebar.SidebarView.NONE;\n\n    case \"UseThumbs\":\n      return _pdf_sidebar.SidebarView.THUMBS;\n\n    case \"UseOutlines\":\n      return _pdf_sidebar.SidebarView.OUTLINE;\n\n    case \"UseAttachments\":\n      return _pdf_sidebar.SidebarView.ATTACHMENTS;\n\n    case \"UseOC\":\n  }\n\n  return _pdf_sidebar.SidebarView.NONE;\n}\n\nvar PDFPrintServiceFactory = {\n  instance: {\n    supportsPrinting: false,\n    createPrintService: function createPrintService() {\n      throw new Error(\"Not implemented: createPrintService\");\n    }\n  }\n};\nexports.PDFPrintServiceFactory = PDFPrintServiceFactory;\n\n/***/ }),\n\n/***/ \"ebb5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __webpack_require__(\"a981\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\nvar has = __webpack_require__(\"5135\");\nvar classof = __webpack_require__(\"f5df\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar uid = __webpack_require__(\"90e3\");\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n  Int8Array: 1,\n  Uint8Array: 1,\n  Uint8ClampedArray: 1,\n  Int16Array: 2,\n  Uint16Array: 2,\n  Int32Array: 4,\n  Uint32Array: 4,\n  Float32Array: 4,\n  Float64Array: 8\n};\n\nvar isView = function isView(it) {\n  var klass = classof(it);\n  return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n  return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n  if (isTypedArray(it)) return it;\n  throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n  if (setPrototypeOf) {\n    if (isPrototypeOf.call(TypedArray, C)) return C;\n  } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n    var TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n      return C;\n    }\n  } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n  if (!DESCRIPTORS) return;\n  if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n    var TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n      delete TypedArrayConstructor.prototype[KEY];\n    }\n  }\n  if (!TypedArrayPrototype[KEY] || forced) {\n    redefine(TypedArrayPrototype, KEY, forced ? property\n      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n  }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n  var ARRAY, TypedArrayConstructor;\n  if (!DESCRIPTORS) return;\n  if (setPrototypeOf) {\n    if (forced) for (ARRAY in TypedArrayConstructorsList) {\n      TypedArrayConstructor = global[ARRAY];\n      if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n        delete TypedArrayConstructor[KEY];\n      }\n    }\n    if (!TypedArray[KEY] || forced) {\n      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n      try {\n        return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n      } catch (error) { /* empty */ }\n    } else return;\n  }\n  for (ARRAY in TypedArrayConstructorsList) {\n    TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n      redefine(TypedArrayConstructor, KEY, property);\n    }\n  }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n  if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n  // eslint-disable-next-line no-shadow\n  TypedArray = function TypedArray() {\n    throw TypeError('Incorrect invocation');\n  };\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n  }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n  TypedArrayPrototype = TypedArray.prototype;\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n  }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n  TYPED_ARRAY_TAG_REQIRED = true;\n  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n  } });\n  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n  }\n}\n\nmodule.exports = {\n  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n  aTypedArray: aTypedArray,\n  aTypedArrayConstructor: aTypedArrayConstructor,\n  exportTypedArrayMethod: exportTypedArrayMethod,\n  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n  isView: isView,\n  isTypedArray: isTypedArray,\n  TypedArray: TypedArray,\n  TypedArrayPrototype: TypedArrayPrototype\n};\n\n\n/***/ }),\n\n/***/ \"eca3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _typeof = __webpack_require__(\"7037\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.isNodeJS = void 0;\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions[\"nw\"] && !process.versions[\"electron\"];\nexports.isNodeJS = isNodeJS;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"ed6d\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar setPrototypeOf = __webpack_require__(\"4a4b\");\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\n\n/***/ }),\n\n/***/ \"ef24\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"a79d\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\nvar CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n  INITIAL: 0,\n  RUNNING: 1,\n  PAUSED: 2,\n  FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n  function PDFRenderingQueue() {\n    _classCallCheck(this, PDFRenderingQueue);\n\n    this.pdfViewer = null;\n    this.pdfThumbnailViewer = null;\n    this.onIdle = null;\n    this.highestPriorityPage = null;\n    this.idleTimeout = null;\n    this.printing = false;\n    this.isThumbnailViewEnabled = false;\n  }\n\n  _createClass(PDFRenderingQueue, [{\n    key: \"setViewer\",\n    value: function setViewer(pdfViewer) {\n      this.pdfViewer = pdfViewer;\n    }\n  }, {\n    key: \"setThumbnailViewer\",\n    value: function setThumbnailViewer(pdfThumbnailViewer) {\n      this.pdfThumbnailViewer = pdfThumbnailViewer;\n    }\n  }, {\n    key: \"isHighestPriority\",\n    value: function isHighestPriority(view) {\n      return this.highestPriorityPage === view.renderingId;\n    }\n  }, {\n    key: \"renderHighestPriority\",\n    value: function renderHighestPriority(currentlyVisiblePages) {\n      if (this.idleTimeout) {\n        clearTimeout(this.idleTimeout);\n        this.idleTimeout = null;\n      }\n\n      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n        return;\n      }\n\n      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n        if (this.pdfThumbnailViewer.forceRendering()) {\n          return;\n        }\n      }\n\n      if (this.printing) {\n        return;\n      }\n\n      if (this.onIdle) {\n        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n      }\n    }\n  }, {\n    key: \"getHighestPriority\",\n    value: function getHighestPriority(visible, views, scrolledDown) {\n      var visibleViews = visible.views;\n      var numVisible = visibleViews.length;\n\n      if (numVisible === 0) {\n        return null;\n      }\n\n      for (var i = 0; i < numVisible; ++i) {\n        var view = visibleViews[i].view;\n\n        if (!this.isViewFinished(view)) {\n          return view;\n        }\n      }\n\n      if (scrolledDown) {\n        var nextPageIndex = visible.last.id;\n\n        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n          return views[nextPageIndex];\n        }\n      } else {\n        var previousPageIndex = visible.first.id - 2;\n\n        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n          return views[previousPageIndex];\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"isViewFinished\",\n    value: function isViewFinished(view) {\n      return view.renderingState === RenderingStates.FINISHED;\n    }\n  }, {\n    key: \"renderView\",\n    value: function renderView(view) {\n      var _this = this;\n\n      switch (view.renderingState) {\n        case RenderingStates.FINISHED:\n          return false;\n\n        case RenderingStates.PAUSED:\n          this.highestPriorityPage = view.renderingId;\n          view.resume();\n          break;\n\n        case RenderingStates.RUNNING:\n          this.highestPriorityPage = view.renderingId;\n          break;\n\n        case RenderingStates.INITIAL:\n          this.highestPriorityPage = view.renderingId;\n          view.draw().finally(function () {\n            _this.renderHighestPriority();\n          }).catch(function (reason) {\n            console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n          });\n          break;\n      }\n\n      return true;\n    }\n  }]);\n\n  return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n\n/***/ \"f069\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(\"1c0b\");\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n\n/***/ \"f183\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar isObject = __webpack_require__(\"861d\");\nvar has = __webpack_require__(\"5135\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar uid = __webpack_require__(\"90e3\");\nvar FREEZING = __webpack_require__(\"bb2f\");\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + ++id, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!has(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar meta = module.exports = {\n  REQUIRED: false,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n\n\n/***/ }),\n\n/***/ \"f39c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\n__webpack_require__(\"c975\");\n\n__webpack_require__(\"a15b\");\n\n__webpack_require__(\"b64b\");\n\n__webpack_require__(\"d3b7\");\n\n__webpack_require__(\"e6cf\");\n\n__webpack_require__(\"4d63\");\n\n__webpack_require__(\"ac1f\");\n\n__webpack_require__(\"25f0\");\n\n__webpack_require__(\"466d\");\n\n__webpack_require__(\"5319\");\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar _pdf = __webpack_require__(\"a3cd\");\n\nvar _pdf_find_utils = __webpack_require__(\"3db6\");\n\nvar FindState = {\n  FOUND: 0,\n  NOT_FOUND: 1,\n  WRAPPED: 2,\n  PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n  \"\\u2018\": \"'\",\n  \"\\u2019\": \"'\",\n  \"\\u201A\": \"'\",\n  \"\\u201B\": \"'\",\n  \"\\u201C\": '\"',\n  \"\\u201D\": '\"',\n  \"\\u201E\": '\"',\n  \"\\u201F\": '\"',\n  \"\\xBC\": \"1/4\",\n  \"\\xBD\": \"1/2\",\n  \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n  if (!normalizationRegex) {\n    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n    normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n  }\n\n  return text.replace(normalizationRegex, function (ch) {\n    return CHARACTERS_TO_NORMALIZE[ch];\n  });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n  function PDFFindController(_ref) {\n    var linkService = _ref.linkService,\n        eventBus = _ref.eventBus;\n\n    _classCallCheck(this, PDFFindController);\n\n    this._linkService = linkService;\n    this._eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n\n    this._reset();\n\n    eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n  }\n\n  _createClass(PDFFindController, [{\n    key: \"setDocument\",\n    value: function setDocument(pdfDocument) {\n      if (this._pdfDocument) {\n        this._reset();\n      }\n\n      if (!pdfDocument) {\n        return;\n      }\n\n      this._pdfDocument = pdfDocument;\n\n      this._firstPageCapability.resolve();\n    }\n  }, {\n    key: \"executeCommand\",\n    value: function executeCommand(cmd, state) {\n      var _this = this;\n\n      if (!state) {\n        return;\n      }\n\n      var pdfDocument = this._pdfDocument;\n\n      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n        this._dirtyMatch = true;\n      }\n\n      this._state = state;\n\n      if (cmd !== \"findhighlightallchange\") {\n        this._updateUIState(FindState.PENDING);\n      }\n\n      this._firstPageCapability.promise.then(function () {\n        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n          return;\n        }\n\n        _this._extractText();\n\n        var findbarClosed = !_this._highlightMatches;\n        var pendingTimeout = !!_this._findTimeout;\n\n        if (_this._findTimeout) {\n          clearTimeout(_this._findTimeout);\n          _this._findTimeout = null;\n        }\n\n        if (cmd === \"find\") {\n          _this._findTimeout = setTimeout(function () {\n            _this._nextMatch();\n\n            _this._findTimeout = null;\n          }, FIND_TIMEOUT);\n        } else if (_this._dirtyMatch) {\n          _this._nextMatch();\n        } else if (cmd === \"findagain\") {\n          _this._nextMatch();\n\n          if (findbarClosed && _this._state.highlightAll) {\n            _this._updateAllPages();\n          }\n        } else if (cmd === \"findhighlightallchange\") {\n          if (pendingTimeout) {\n            _this._nextMatch();\n          } else {\n            _this._highlightMatches = true;\n          }\n\n          _this._updateAllPages();\n        } else {\n          _this._nextMatch();\n        }\n      });\n    }\n  }, {\n    key: \"scrollMatchIntoView\",\n    value: function scrollMatchIntoView(_ref2) {\n      var _ref2$element = _ref2.element,\n          element = _ref2$element === void 0 ? null : _ref2$element,\n          _ref2$pageIndex = _ref2.pageIndex,\n          pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n          _ref2$matchIndex = _ref2.matchIndex,\n          matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n      if (!this._scrollMatches || !element) {\n        return;\n      } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n        return;\n      } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n        return;\n      }\n\n      this._scrollMatches = false;\n      var spot = {\n        top: MATCH_SCROLL_OFFSET_TOP,\n        left: MATCH_SCROLL_OFFSET_LEFT\n      };\n      (0, _ui_utils.scrollIntoView)(element, spot, true);\n    }\n  }, {\n    key: \"_reset\",\n    value: function _reset() {\n      this._highlightMatches = false;\n      this._scrollMatches = false;\n      this._pdfDocument = null;\n      this._pageMatches = [];\n      this._pageMatchesLength = [];\n      this._state = null;\n      this._selected = {\n        pageIdx: -1,\n        matchIdx: -1\n      };\n      this._offset = {\n        pageIdx: null,\n        matchIdx: null,\n        wrapped: false\n      };\n      this._extractTextPromises = [];\n      this._pageContents = [];\n      this._matchesCountTotal = 0;\n      this._pagesToSearch = null;\n      this._pendingFindMatches = Object.create(null);\n      this._resumePageIdx = null;\n      this._dirtyMatch = false;\n      clearTimeout(this._findTimeout);\n      this._findTimeout = null;\n      this._firstPageCapability = (0, _pdf.createPromiseCapability)();\n    }\n  }, {\n    key: \"_shouldDirtyMatch\",\n    value: function _shouldDirtyMatch(cmd, state) {\n      if (state.query !== this._state.query) {\n        return true;\n      }\n\n      switch (cmd) {\n        case \"findagain\":\n          var pageNumber = this._selected.pageIdx + 1;\n          var linkService = this._linkService;\n\n          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n            return true;\n          }\n\n          return false;\n\n        case \"findhighlightallchange\":\n          return false;\n      }\n\n      return true;\n    }\n  }, {\n    key: \"_prepareMatches\",\n    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n      function isSubTerm(currentIndex) {\n        var currentElem = matchesWithLength[currentIndex];\n        var nextElem = matchesWithLength[currentIndex + 1];\n\n        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n          currentElem.skipped = true;\n          return true;\n        }\n\n        for (var i = currentIndex - 1; i >= 0; i--) {\n          var prevElem = matchesWithLength[i];\n\n          if (prevElem.skipped) {\n            continue;\n          }\n\n          if (prevElem.match + prevElem.matchLength < currentElem.match) {\n            break;\n          }\n\n          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n            currentElem.skipped = true;\n            return true;\n          }\n        }\n\n        return false;\n      }\n\n      matchesWithLength.sort(function (a, b) {\n        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n      });\n\n      for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n        if (isSubTerm(i)) {\n          continue;\n        }\n\n        matches.push(matchesWithLength[i].match);\n        matchesLength.push(matchesWithLength[i].matchLength);\n      }\n    }\n  }, {\n    key: \"_isEntireWord\",\n    value: function _isEntireWord(content, startIdx, length) {\n      if (startIdx > 0) {\n        var first = content.charCodeAt(startIdx);\n        var limit = content.charCodeAt(startIdx - 1);\n\n        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n          return false;\n        }\n      }\n\n      var endIdx = startIdx + length - 1;\n\n      if (endIdx < content.length - 1) {\n        var last = content.charCodeAt(endIdx);\n\n        var _limit = content.charCodeAt(endIdx + 1);\n\n        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: \"_calculatePhraseMatch\",\n    value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n      var matches = [];\n      var queryLen = query.length;\n      var matchIdx = -queryLen;\n\n      while (true) {\n        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n        if (matchIdx === -1) {\n          break;\n        }\n\n        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n          continue;\n        }\n\n        matches.push(matchIdx);\n      }\n\n      this._pageMatches[pageIndex] = matches;\n    }\n  }, {\n    key: \"_calculateWordMatch\",\n    value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n      var matchesWithLength = [];\n      var queryArray = query.match(/\\S+/g);\n\n      for (var i = 0, len = queryArray.length; i < len; i++) {\n        var subquery = queryArray[i];\n        var subqueryLen = subquery.length;\n        var matchIdx = -subqueryLen;\n\n        while (true) {\n          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n          if (matchIdx === -1) {\n            break;\n          }\n\n          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n            continue;\n          }\n\n          matchesWithLength.push({\n            match: matchIdx,\n            matchLength: subqueryLen,\n            skipped: false\n          });\n        }\n      }\n\n      this._pageMatchesLength[pageIndex] = [];\n      this._pageMatches[pageIndex] = [];\n\n      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n    }\n  }, {\n    key: \"_calculateMatch\",\n    value: function _calculateMatch(pageIndex) {\n      var pageContent = this._pageContents[pageIndex];\n      var query = this._query;\n      var _this$_state = this._state,\n          caseSensitive = _this$_state.caseSensitive,\n          entireWord = _this$_state.entireWord,\n          phraseSearch = _this$_state.phraseSearch;\n\n      if (query.length === 0) {\n        return;\n      }\n\n      if (!caseSensitive) {\n        pageContent = pageContent.toLowerCase();\n        query = query.toLowerCase();\n      }\n\n      if (phraseSearch) {\n        this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n      } else {\n        this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n      }\n\n      if (this._state.highlightAll) {\n        this._updatePage(pageIndex);\n      }\n\n      if (this._resumePageIdx === pageIndex) {\n        this._resumePageIdx = null;\n\n        this._nextPageMatch();\n      }\n\n      var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n      if (pageMatchesCount > 0) {\n        this._matchesCountTotal += pageMatchesCount;\n\n        this._updateUIResultsCount();\n      }\n    }\n  }, {\n    key: \"_extractText\",\n    value: function _extractText() {\n      var _this2 = this;\n\n      if (this._extractTextPromises.length > 0) {\n        return;\n      }\n\n      var promise = Promise.resolve();\n\n      var _loop = function _loop(i, ii) {\n        var extractTextCapability = (0, _pdf.createPromiseCapability)();\n        _this2._extractTextPromises[i] = extractTextCapability.promise;\n        promise = promise.then(function () {\n          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n            return pdfPage.getTextContent({\n              normalizeWhitespace: true\n            });\n          }).then(function (textContent) {\n            var textItems = textContent.items;\n            var strBuf = [];\n\n            for (var j = 0, jj = textItems.length; j < jj; j++) {\n              strBuf.push(textItems[j].str);\n            }\n\n            _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n            extractTextCapability.resolve(i);\n          }, function (reason) {\n            console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n            _this2._pageContents[i] = \"\";\n            extractTextCapability.resolve(i);\n          });\n        });\n      };\n\n      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n        _loop(i, ii);\n      }\n    }\n  }, {\n    key: \"_updatePage\",\n    value: function _updatePage(index) {\n      if (this._scrollMatches && this._selected.pageIdx === index) {\n        this._linkService.page = index + 1;\n      }\n\n      this._eventBus.dispatch(\"updatetextlayermatches\", {\n        source: this,\n        pageIndex: index\n      });\n    }\n  }, {\n    key: \"_updateAllPages\",\n    value: function _updateAllPages() {\n      this._eventBus.dispatch(\"updatetextlayermatches\", {\n        source: this,\n        pageIndex: -1\n      });\n    }\n  }, {\n    key: \"_nextMatch\",\n    value: function _nextMatch() {\n      var _this3 = this;\n\n      var previous = this._state.findPrevious;\n      var currentPageIndex = this._linkService.page - 1;\n      var numPages = this._linkService.pagesCount;\n      this._highlightMatches = true;\n\n      if (this._dirtyMatch) {\n        this._dirtyMatch = false;\n        this._selected.pageIdx = this._selected.matchIdx = -1;\n        this._offset.pageIdx = currentPageIndex;\n        this._offset.matchIdx = null;\n        this._offset.wrapped = false;\n        this._resumePageIdx = null;\n        this._pageMatches.length = 0;\n        this._pageMatchesLength.length = 0;\n        this._matchesCountTotal = 0;\n\n        this._updateAllPages();\n\n        for (var i = 0; i < numPages; i++) {\n          if (this._pendingFindMatches[i] === true) {\n            continue;\n          }\n\n          this._pendingFindMatches[i] = true;\n\n          this._extractTextPromises[i].then(function (pageIdx) {\n            delete _this3._pendingFindMatches[pageIdx];\n\n            _this3._calculateMatch(pageIdx);\n          });\n        }\n      }\n\n      if (this._query === \"\") {\n        this._updateUIState(FindState.FOUND);\n\n        return;\n      }\n\n      if (this._resumePageIdx) {\n        return;\n      }\n\n      var offset = this._offset;\n      this._pagesToSearch = numPages;\n\n      if (offset.matchIdx !== null) {\n        var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n        if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n          offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n          this._updateMatch(true);\n\n          return;\n        }\n\n        this._advanceOffsetPage(previous);\n      }\n\n      this._nextPageMatch();\n    }\n  }, {\n    key: \"_matchesReady\",\n    value: function _matchesReady(matches) {\n      var offset = this._offset;\n      var numMatches = matches.length;\n      var previous = this._state.findPrevious;\n\n      if (numMatches) {\n        offset.matchIdx = previous ? numMatches - 1 : 0;\n\n        this._updateMatch(true);\n\n        return true;\n      }\n\n      this._advanceOffsetPage(previous);\n\n      if (offset.wrapped) {\n        offset.matchIdx = null;\n\n        if (this._pagesToSearch < 0) {\n          this._updateMatch(false);\n\n          return true;\n        }\n      }\n\n      return false;\n    }\n  }, {\n    key: \"_nextPageMatch\",\n    value: function _nextPageMatch() {\n      if (this._resumePageIdx !== null) {\n        console.error(\"There can only be one pending page.\");\n      }\n\n      var matches = null;\n\n      do {\n        var pageIdx = this._offset.pageIdx;\n        matches = this._pageMatches[pageIdx];\n\n        if (!matches) {\n          this._resumePageIdx = pageIdx;\n          break;\n        }\n      } while (!this._matchesReady(matches));\n    }\n  }, {\n    key: \"_advanceOffsetPage\",\n    value: function _advanceOffsetPage(previous) {\n      var offset = this._offset;\n      var numPages = this._linkService.pagesCount;\n      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n      offset.matchIdx = null;\n      this._pagesToSearch--;\n\n      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n        offset.pageIdx = previous ? numPages - 1 : 0;\n        offset.wrapped = true;\n      }\n    }\n  }, {\n    key: \"_updateMatch\",\n    value: function _updateMatch() {\n      var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var state = FindState.NOT_FOUND;\n      var wrapped = this._offset.wrapped;\n      this._offset.wrapped = false;\n\n      if (found) {\n        var previousPage = this._selected.pageIdx;\n        this._selected.pageIdx = this._offset.pageIdx;\n        this._selected.matchIdx = this._offset.matchIdx;\n        state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n          this._updatePage(previousPage);\n        }\n      }\n\n      this._updateUIState(state, this._state.findPrevious);\n\n      if (this._selected.pageIdx !== -1) {\n        this._scrollMatches = true;\n\n        this._updatePage(this._selected.pageIdx);\n      }\n    }\n  }, {\n    key: \"_onFindBarClose\",\n    value: function _onFindBarClose(evt) {\n      var _this4 = this;\n\n      var pdfDocument = this._pdfDocument;\n\n      this._firstPageCapability.promise.then(function () {\n        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n          return;\n        }\n\n        if (_this4._findTimeout) {\n          clearTimeout(_this4._findTimeout);\n          _this4._findTimeout = null;\n        }\n\n        if (_this4._resumePageIdx) {\n          _this4._resumePageIdx = null;\n          _this4._dirtyMatch = true;\n        }\n\n        _this4._updateUIState(FindState.FOUND);\n\n        _this4._highlightMatches = false;\n\n        _this4._updateAllPages();\n      });\n    }\n  }, {\n    key: \"_requestMatchesCount\",\n    value: function _requestMatchesCount() {\n      var _this$_selected = this._selected,\n          pageIdx = _this$_selected.pageIdx,\n          matchIdx = _this$_selected.matchIdx;\n      var current = 0,\n          total = this._matchesCountTotal;\n\n      if (matchIdx !== -1) {\n        for (var i = 0; i < pageIdx; i++) {\n          current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n        }\n\n        current += matchIdx + 1;\n      }\n\n      if (current < 1 || current > total) {\n        current = total = 0;\n      }\n\n      return {\n        current: current,\n        total: total\n      };\n    }\n  }, {\n    key: \"_updateUIResultsCount\",\n    value: function _updateUIResultsCount() {\n      this._eventBus.dispatch(\"updatefindmatchescount\", {\n        source: this,\n        matchesCount: this._requestMatchesCount()\n      });\n    }\n  }, {\n    key: \"_updateUIState\",\n    value: function _updateUIState(state, previous) {\n      this._eventBus.dispatch(\"updatefindcontrolstate\", {\n        source: this,\n        state: state,\n        previous: previous,\n        matchesCount: this._requestMatchesCount()\n      });\n    }\n  }, {\n    key: \"highlightMatches\",\n    get: function get() {\n      return this._highlightMatches;\n    }\n  }, {\n    key: \"pageMatches\",\n    get: function get() {\n      return this._pageMatches;\n    }\n  }, {\n    key: \"pageMatchesLength\",\n    get: function get() {\n      return this._pageMatchesLength;\n    }\n  }, {\n    key: \"selected\",\n    get: function get() {\n      return this._selected;\n    }\n  }, {\n    key: \"state\",\n    get: function get() {\n      return this._state;\n    }\n  }, {\n    key: \"_query\",\n    get: function get() {\n      if (this._state.query !== this._rawQuery) {\n        this._rawQuery = this._state.query;\n        this._normalizedQuery = normalize(this._state.query);\n      }\n\n      return this._normalizedQuery;\n    }\n  }]);\n\n  return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n\n/***/ \"f5b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar codeAt = __webpack_require__(\"6547\").codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n  codePointAt: function codePointAt(pos) {\n    return codeAt(this, pos);\n  }\n});\n\n\n/***/ }),\n\n/***/ \"f5df\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar classofRaw = __webpack_require__(\"c6b6\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n\n/***/ \"f6d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n    var elements = [];\n    var length = arguments.length;\n    var i = 0;\n    var code;\n    while (length > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n      elements.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n      );\n    } return elements.join('');\n  }\n});\n\n\n/***/ }),\n\n/***/ \"f772\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5692\");\nvar uid = __webpack_require__(\"90e3\");\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"f8cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nmodule.exports = function (it) {\n  var result = toInteger(it);\n  if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n  var currentScript = window.document.currentScript\n  if (true) {\n    var getCurrentScript = __webpack_require__(\"8875\")\n    currentScript = getCurrentScript()\n\n    // for backward compatibility, because previously we directly included the polyfill\n    if (!('currentScript' in document)) {\n      Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n    }\n  }\n\n  var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n  if (src) {\n    __webpack_require__.p = src[1] // eslint-disable-line\n  }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"11721a44-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/pdf-viewer.vue?vue&type=template&id=4aaa9b0d&scoped=true&\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdf-app\",class:[_vm.localTheme],attrs:{\"id\":\"vuePdfApp\"}},[_c('script',{attrs:{\"type\":\"application/l10n\"}},[_vm._v(\" \"+_vm._s(_vm.defaultLocale)+\" \")]),_c('div',{attrs:{\"id\":\"outerContainer\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar')),expression:\"showElem('sidebar')\"}],class:[_vm.isToolbarHidden],attrs:{\"id\":\"sidebarContainer\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isSidebarToolbarHidden),expression:\"!isSidebarToolbarHidden\"}],attrs:{\"id\":\"toolbarSidebar\"}},[_vm._t(\"toolbar-sidebar-prepend\",null,null,_vm.slotProps),_c('div',{staticClass:\"splitToolbarButton toggled\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewThumbnail', 'viewThumbnail')),expression:\"showElem('sidebar.viewThumbnail', 'viewThumbnail')\"}],staticClass:\"toolbarButton toggled vue-pdf-app-icon view-thumbnail\",attrs:{\"id\":\"viewThumbnail\",\"title\":\"Show Thumbnails\",\"tabindex\":\"2\",\"data-l10n-id\":\"thumbs\"}},[_c('span',{attrs:{\"data-l10n-id\":\"thumbs_label\"}},[_vm._v(\"Thumbnails\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewOutline', 'viewOutline')),expression:\"showElem('sidebar.viewOutline', 'viewOutline')\"}],staticClass:\"toolbarButton vue-pdf-app-icon view-outline\",attrs:{\"id\":\"viewOutline\",\"title\":\"Show Document Outline (double-click to expand/collapse all items)\",\"tabindex\":\"3\",\"data-l10n-id\":\"document_outline\"}},[_c('span',{attrs:{\"data-l10n-id\":\"document_outline_label\"}},[_vm._v(\"Document Outline\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewAttachments', 'viewAttachments')),expression:\"showElem('sidebar.viewAttachments', 'viewAttachments')\"}],staticClass:\"toolbarButton vue-pdf-app-icon view-attachments\",attrs:{\"id\":\"viewAttachments\",\"title\":\"Show Attachments\",\"tabindex\":\"4\",\"data-l10n-id\":\"attachments\"}},[_c('span',{attrs:{\"data-l10n-id\":\"attachments_label\"}},[_vm._v(\"Attachments\")])])]),_vm._t(\"toolbar-sidebar-append\",null,null,_vm.slotProps)],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar')),expression:\"showElem('sidebar')\"}],class:{ 'zero-top': _vm.isSidebarToolbarHidden },attrs:{\"id\":\"sidebarContent\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewThumbnail')),expression:\"showElem('sidebar.viewThumbnail')\"}],attrs:{\"id\":\"thumbnailView\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewOutline')),expression:\"showElem('sidebar.viewOutline')\"}],staticClass:\"hidden\",attrs:{\"id\":\"outlineView\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar.viewAttachments')),expression:\"showElem('sidebar.viewAttachments')\"}],staticClass:\"hidden\",attrs:{\"id\":\"attachmentsView\"}})]),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"sidebarResizer\"}})]),_c('div',{attrs:{\"id\":\"mainContainer\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('toolbar.toolbarViewerLeft.findbar', 'findbar')),expression:\"showElem('toolbar.toolbarViewerLeft.findbar', 'findbar')\"}],staticClass:\"findbar hidden doorHanger\",attrs:{\"id\":\"findbar\"}},[_vm._m(0),_vm._m(1),_vm._m(2),_vm._m(3)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar')),expression:\"showElem('secondaryToolbar')\"}],staticClass:\"secondaryToolbar hidden doorHangerRight\",attrs:{\"id\":\"secondaryToolbar\"}},[_c('div',{attrs:{\"id\":\"secondaryToolbarButtonContainer\"}},[_vm._t(\"secondary-toolbar-prepend\",null,null,_vm.slotProps),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.secondaryPresentationMode')),expression:\"showElem('secondaryToolbar.secondaryPresentationMode')\"}],staticClass:\"secondaryToolbarButton presentationMode visibleLargeView vue-pdf-app-icon presentation-mode\",attrs:{\"id\":\"secondaryPresentationMode\",\"title\":\"Switch to Presentation Mode\",\"tabindex\":\"51\",\"data-l10n-id\":\"presentation_mode\"}},[_c('span',{attrs:{\"data-l10n-id\":\"presentation_mode_label\"}},[_vm._v(\"Presentation Mode\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.secondaryOpenFile')),expression:\"showElem('secondaryToolbar.secondaryOpenFile')\"}],staticClass:\"secondaryToolbarButton openFile visibleLargeView vue-pdf-app-icon open-file\",attrs:{\"id\":\"secondaryOpenFile\",\"title\":\"Open File\",\"tabindex\":\"52\",\"data-l10n-id\":\"open_file\"},on:{\"~click\":function($event){return _vm.bindOpenHandler($event)}}},[_c('span',{attrs:{\"data-l10n-id\":\"open_file_label\"}},[_vm._v(\"Open\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.secondaryPrint')),expression:\"showElem('secondaryToolbar.secondaryPrint')\"}],staticClass:\"secondaryToolbarButton print visibleMediumView vue-pdf-app-icon print-button\",attrs:{\"id\":\"secondaryPrint\",\"title\":\"Print\",\"tabindex\":\"53\",\"data-l10n-id\":\"print\"}},[_c('span',{attrs:{\"data-l10n-id\":\"print_label\"}},[_vm._v(\"Print\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.secondaryDownload')),expression:\"showElem('secondaryToolbar.secondaryDownload')\"}],staticClass:\"secondaryToolbarButton download visibleMediumView vue-pdf-app-icon download-button\",attrs:{\"id\":\"secondaryDownload\",\"title\":\"Download\",\"tabindex\":\"54\",\"data-l10n-id\":\"download\"}},[_c('span',{attrs:{\"data-l10n-id\":\"download_label\"}},[_vm._v(\"Download\")])]),_c('a',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.secondaryViewBookmark')),expression:\"showElem('secondaryToolbar.secondaryViewBookmark')\"}],staticClass:\"secondaryToolbarButton bookmark visibleSmallView vue-pdf-app-icon bookmark-button\",attrs:{\"href\":\"#\",\"id\":\"secondaryViewBookmark\",\"title\":\"Current view (copy or open in new window)\",\"tabindex\":\"55\",\"data-l10n-id\":\"bookmark\"}},[_c('span',{attrs:{\"data-l10n-id\":\"bookmark_label\"}},[_vm._v(\"Current View\")])]),(\n              _vm.showElem('secondaryToolbar.secondaryPresentationMode') ||\n              _vm.showElem('secondaryToolbar.secondaryOpenFile') ||\n              _vm.showElem('secondaryToolbar.secondaryPrint') ||\n              _vm.showElem('secondaryToolbar.secondaryDownload') ||\n              _vm.showElem('secondaryToolbar.secondaryViewBookmark')\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator visibleLargeView\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.firstPage', 'firstPage')),expression:\"showElem('secondaryToolbar.firstPage', 'firstPage')\"}],staticClass:\"secondaryToolbarButton firstPage vue-pdf-app-icon first-page\",attrs:{\"id\":\"firstPage\",\"title\":\"Go to First Page\",\"tabindex\":\"56\",\"data-l10n-id\":\"first_page\"}},[_c('span',{attrs:{\"data-l10n-id\":\"first_page_label\"}},[_vm._v(\"Go to First Page\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.lastPage', 'lastPage')),expression:\"showElem('secondaryToolbar.lastPage', 'lastPage')\"}],staticClass:\"secondaryToolbarButton lastPage vue-pdf-app-icon last-page\",attrs:{\"id\":\"lastPage\",\"title\":\"Go to Last Page\",\"tabindex\":\"57\",\"data-l10n-id\":\"last_page\"}},[_c('span',{attrs:{\"data-l10n-id\":\"last_page_label\"}},[_vm._v(\"Go to Last Page\")])]),(\n              _vm.showElem('secondaryToolbar.lastPage', 'lastPage') ||\n              _vm.showElem('secondaryToolbar.firstPage', 'firstPage')\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.pageRotateCw', 'pageRotateCw')),expression:\"showElem('secondaryToolbar.pageRotateCw', 'pageRotateCw')\"}],staticClass:\"secondaryToolbarButton rotateCw vue-pdf-app-icon rotate-clockwise\",attrs:{\"id\":\"pageRotateCw\",\"title\":\"Rotate Clockwise\",\"tabindex\":\"58\",\"data-l10n-id\":\"page_rotate_cw\"}},[_c('span',{attrs:{\"data-l10n-id\":\"page_rotate_cw_label\"}},[_vm._v(\"Rotate Clockwise\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem('secondaryToolbar.pageRotateCcw', 'pageRotateCcw')\n            ),expression:\"\\n              showElem('secondaryToolbar.pageRotateCcw', 'pageRotateCcw')\\n            \"}],staticClass:\"secondaryToolbarButton rotateCcw vue-pdf-app-icon rotate-counter-clockwise\",attrs:{\"id\":\"pageRotateCcw\",\"title\":\"Rotate Counterclockwise\",\"tabindex\":\"59\",\"data-l10n-id\":\"page_rotate_ccw\"}},[_c('span',{attrs:{\"data-l10n-id\":\"page_rotate_ccw_label\"}},[_vm._v(\"Rotate Counterclockwise\")])]),(\n              _vm.showElem('secondaryToolbar.pageRotateCcw', 'pageRotateCcw') ||\n              _vm.showElem('secondaryToolbar.pageRotateCw', 'pageRotateCw')\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem(\n                'secondaryToolbar.cursorSelectTool',\n                'cursorSelectTool'\n              )\n            ),expression:\"\\n              showElem(\\n                'secondaryToolbar.cursorSelectTool',\\n                'cursorSelectTool'\\n              )\\n            \"}],staticClass:\"secondaryToolbarButton selectTool toggled vue-pdf-app-icon select-tool\",attrs:{\"id\":\"cursorSelectTool\",\"title\":\"Enable Text Selection Tool\",\"tabindex\":\"60\",\"data-l10n-id\":\"cursor_text_select_tool\"}},[_c('span',{attrs:{\"data-l10n-id\":\"cursor_text_select_tool_label\"}},[_vm._v(\"Text Selection Tool\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem('secondaryToolbar.cursorHandTool', 'cursorHandTool')\n            ),expression:\"\\n              showElem('secondaryToolbar.cursorHandTool', 'cursorHandTool')\\n            \"}],staticClass:\"secondaryToolbarButton handTool vue-pdf-app-icon hand-tool\",attrs:{\"id\":\"cursorHandTool\",\"title\":\"Enable Hand Tool\",\"tabindex\":\"61\",\"data-l10n-id\":\"cursor_hand_tool\"}},[_c('span',{attrs:{\"data-l10n-id\":\"cursor_hand_tool_label\"}},[_vm._v(\"Hand Tool\")])]),(\n              _vm.showElem('secondaryToolbar.cursorHandTool', 'cursorHandTool') ||\n              _vm.showElem(\n                'secondaryToolbar.cursorSelectTool',\n                'cursorSelectTool'\n              )\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem('secondaryToolbar.scrollVertical', 'scrollVertical')\n            ),expression:\"\\n              showElem('secondaryToolbar.scrollVertical', 'scrollVertical')\\n            \"}],staticClass:\"secondaryToolbarButton scrollModeButtons scrollVertical toggled vue-pdf-app-icon scroll-vertical\",attrs:{\"id\":\"scrollVertical\",\"title\":\"Use Vertical Scrolling\",\"tabindex\":\"62\",\"data-l10n-id\":\"scroll_vertical\"}},[_c('span',{attrs:{\"data-l10n-id\":\"scroll_vertical_label\"}},[_vm._v(\"Vertical Scrolling\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem(\n                'secondaryToolbar.scrollHorizontal',\n                'scrollHorizontal'\n              )\n            ),expression:\"\\n              showElem(\\n                'secondaryToolbar.scrollHorizontal',\\n                'scrollHorizontal'\\n              )\\n            \"}],staticClass:\"secondaryToolbarButton scrollModeButtons scrollHorizontal vue-pdf-app-icon scroll-horizontal\",attrs:{\"id\":\"scrollHorizontal\",\"title\":\"Use Horizontal Scrolling\",\"tabindex\":\"63\",\"data-l10n-id\":\"scroll_horizontal\"}},[_c('span',{attrs:{\"data-l10n-id\":\"scroll_horizontal_label\"}},[_vm._v(\"Horizontal Scrolling\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem('secondaryToolbar.scrollWrapped', 'scrollWrapped')\n            ),expression:\"\\n              showElem('secondaryToolbar.scrollWrapped', 'scrollWrapped')\\n            \"}],staticClass:\"secondaryToolbarButton scrollModeButtons scrollWrapped vue-pdf-app-icon scroll-wrapped\",attrs:{\"id\":\"scrollWrapped\",\"title\":\"Use Wrapped Scrolling\",\"tabindex\":\"64\",\"data-l10n-id\":\"scroll_wrapped\"}},[_c('span',{attrs:{\"data-l10n-id\":\"scroll_wrapped_label\"}},[_vm._v(\"Wrapped Scrolling\")])]),(\n              _vm.showElem('secondaryToolbar.scrollWrapped', 'scrollWrapped') ||\n              _vm.showElem(\n                'secondaryToolbar.scrollHorizontal',\n                'scrollHorizontal'\n              ) ||\n              _vm.showElem('secondaryToolbar.scrollVertical', 'scrollVertical')\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator scrollModeButtons\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.spreadNone', 'spreadNone')),expression:\"showElem('secondaryToolbar.spreadNone', 'spreadNone')\"}],staticClass:\"secondaryToolbarButton spreadModeButtons spreadNone toggled vue-pdf-app-icon spread-none\",attrs:{\"id\":\"spreadNone\",\"title\":\"Do not join page spreads\",\"tabindex\":\"65\",\"data-l10n-id\":\"spread_none\"}},[_c('span',{attrs:{\"data-l10n-id\":\"spread_none_label\"}},[_vm._v(\"No Spreads\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.spreadOdd', 'spreadOdd')),expression:\"showElem('secondaryToolbar.spreadOdd', 'spreadOdd')\"}],staticClass:\"secondaryToolbarButton spreadModeButtons vue-pdf-app-icon spread-odd\",attrs:{\"id\":\"spreadOdd\",\"title\":\"Join page spreads starting with odd-numbered pages\",\"tabindex\":\"66\",\"data-l10n-id\":\"spread_odd\"}},[_c('span',{attrs:{\"data-l10n-id\":\"spread_odd_label\"}},[_vm._v(\"Odd Spreads\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar.spreadEven', 'spreadEven')),expression:\"showElem('secondaryToolbar.spreadEven', 'spreadEven')\"}],staticClass:\"secondaryToolbarButton spreadModeButtons spreadEven vue-pdf-app-icon spread-even\",attrs:{\"id\":\"spreadEven\",\"title\":\"Join page spreads starting with even-numbered pages\",\"tabindex\":\"67\",\"data-l10n-id\":\"spread_even\"}},[_c('span',{attrs:{\"data-l10n-id\":\"spread_even_label\"}},[_vm._v(\"Even Spreads\")])]),(\n              _vm.showElem('secondaryToolbar.spreadEven', 'spreadEven') ||\n              _vm.showElem('secondaryToolbar.spreadOdd', 'spreadOdd') ||\n              _vm.showElem('secondaryToolbar.spreadNone', 'spreadNone')\n            )?_c('div',{staticClass:\"horizontalToolbarSeparator spreadModeButtons\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n              _vm.showElem(\n                'secondaryToolbar.documentProperties',\n                'documentProperties'\n              )\n            ),expression:\"\\n              showElem(\\n                'secondaryToolbar.documentProperties',\\n                'documentProperties'\\n              )\\n            \"}],staticClass:\"secondaryToolbarButton documentProperties vue-pdf-app-icon document-properties\",attrs:{\"id\":\"documentProperties\",\"title\":\"Document Properties…\",\"tabindex\":\"68\",\"data-l10n-id\":\"document_properties\"}},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_label\"}},[_vm._v(\"Document Properties…\")])]),_vm._t(\"secondary-toolbar-append\",null,null,_vm.slotProps)],2)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('toolbar')),expression:\"showElem('toolbar')\"}],staticClass:\"toolbar\"},[_c('div',{attrs:{\"id\":\"toolbarContainer\"}},[_c('div',{attrs:{\"id\":\"toolbarViewer\"}},[_c('div',{attrs:{\"id\":\"toolbarViewerLeft\"}},[_vm._t(\"toolbar-left-prepend\",null,null,_vm.slotProps),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('sidebar', 'sidebarToggle')),expression:\"showElem('sidebar', 'sidebarToggle')\"}],staticClass:\"toolbarButton vue-pdf-app-icon sidebar-toggle\",attrs:{\"id\":\"sidebarToggle\",\"title\":\"Toggle Sidebar\",\"tabindex\":\"11\",\"data-l10n-id\":\"toggle_sidebar\"}},[_c('span',{attrs:{\"data-l10n-id\":\"toggle_sidebar_label\"}},[_vm._v(\"Toggle Sidebar\")])]),(_vm.showElem('sidebar'))?_c('div',{staticClass:\"toolbarButtonSpacer\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem(\n                    'toolbar.toolbarViewerLeft.findbar',\n                    'toggleFindbar'\n                  )\n                ),expression:\"\\n                  showElem(\\n                    'toolbar.toolbarViewerLeft.findbar',\\n                    'toggleFindbar'\\n                  )\\n                \"}],staticClass:\"toolbarButton vue-pdf-app-icon view-find\",attrs:{\"id\":\"viewFind\",\"title\":\"Find in Document\",\"tabindex\":\"12\",\"data-l10n-id\":\"findbar\"}},[_c('span',{attrs:{\"data-l10n-id\":\"findbar_label\"}},[_vm._v(\"Find\")])]),_c('div',{staticClass:\"splitToolbarButton hiddenSmallView\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                    _vm.showElem(\n                      'toolbar.toolbarViewerLeft.previous',\n                      'previousPage'\n                    )\n                  ),expression:\"\\n                    showElem(\\n                      'toolbar.toolbarViewerLeft.previous',\\n                      'previousPage'\\n                    )\\n                  \"}],staticClass:\"toolbarButton pageUp vue-pdf-app-icon page-up\",attrs:{\"title\":\"Previous Page\",\"id\":\"previous\",\"tabindex\":\"13\",\"data-l10n-id\":\"previous\"}},[_c('span',{attrs:{\"data-l10n-id\":\"previous_label\"}},[_vm._v(\"Previous\")])]),(\n                    _vm.showElem('toolbar.toolbarViewerLeft.next', 'nextPage') &&\n                    _vm.showElem(\n                      'toolbar.toolbarViewerLeft.previous',\n                      'previousPage'\n                    )\n                  )?_c('div',{staticClass:\"splitToolbarButtonSeparator\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                    _vm.showElem('toolbar.toolbarViewerLeft.next', 'nextPage')\n                  ),expression:\"\\n                    showElem('toolbar.toolbarViewerLeft.next', 'nextPage')\\n                  \"}],staticClass:\"toolbarButton pageDown vue-pdf-app-icon page-down\",attrs:{\"title\":\"Next Page\",\"id\":\"next\",\"tabindex\":\"14\",\"data-l10n-id\":\"next\"}},[_c('span',{attrs:{\"data-l10n-id\":\"next_label\"}},[_vm._v(\"Next\")])])]),_c('input',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem(\n                    'toolbar.toolbarViewerLeft.pageNumber',\n                    'pageNumber'\n                  )\n                ),expression:\"\\n                  showElem(\\n                    'toolbar.toolbarViewerLeft.pageNumber',\\n                    'pageNumber'\\n                  )\\n                \"}],staticClass:\"toolbarField pageNumber\",attrs:{\"type\":\"number\",\"id\":\"pageNumber\",\"title\":\"Page\",\"value\":\"1\",\"size\":\"4\",\"min\":\"1\",\"tabindex\":\"15\",\"data-l10n-id\":\"page\",\"autocomplete\":\"off\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem('toolbar.toolbarViewerLeft.pageNumber', 'numPages')\n                ),expression:\"\\n                  showElem('toolbar.toolbarViewerLeft.pageNumber', 'numPages')\\n                \"}],staticClass:\"toolbarLabel\",attrs:{\"id\":\"numPages\"}}),_vm._t(\"toolbar-left-append\",null,null,_vm.slotProps)],2),_c('div',{attrs:{\"id\":\"toolbarViewerRight\"}},[_vm._t(\"toolbar-right-prepend\",null,null,_vm.slotProps),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem(\n                    'toolbar.toolbarViewerRight.presentationMode',\n                    'presentationMode'\n                  )\n                ),expression:\"\\n                  showElem(\\n                    'toolbar.toolbarViewerRight.presentationMode',\\n                    'presentationMode'\\n                  )\\n                \"}],staticClass:\"toolbarButton presentationMode hiddenLargeView vue-pdf-app-icon presentation-mode\",attrs:{\"id\":\"presentationMode\",\"title\":\"Switch to Presentation Mode\",\"tabindex\":\"31\",\"data-l10n-id\":\"presentation_mode\"}},[_c('span',{attrs:{\"data-l10n-id\":\"presentation_mode_label\"}},[_vm._v(\"Presentation Mode\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem('toolbar.toolbarViewerRight.openFile', 'openFile')\n                ),expression:\"\\n                  showElem('toolbar.toolbarViewerRight.openFile', 'openFile')\\n                \"}],staticClass:\"toolbarButton openFile hiddenLargeView vue-pdf-app-icon open-file\",attrs:{\"id\":\"openFile\",\"title\":\"Open File\",\"tabindex\":\"32\",\"data-l10n-id\":\"open_file\"},on:{\"~click\":function($event){return _vm.bindOpenHandler($event)}}},[_c('span',{attrs:{\"data-l10n-id\":\"open_file_label\"}},[_vm._v(\"Open\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('toolbar.toolbarViewerRight.print', 'print')),expression:\"showElem('toolbar.toolbarViewerRight.print', 'print')\"}],staticClass:\"toolbarButton print hiddenMediumView vue-pdf-app-icon print-button\",attrs:{\"id\":\"print\",\"title\":\"Print\",\"tabindex\":\"33\",\"data-l10n-id\":\"print\"}},[_c('span',{attrs:{\"data-l10n-id\":\"print_label\"}},[_vm._v(\"Print\")])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem('toolbar.toolbarViewerRight.download', 'download')\n                ),expression:\"\\n                  showElem('toolbar.toolbarViewerRight.download', 'download')\\n                \"}],staticClass:\"toolbarButton download hiddenMediumView vue-pdf-app-icon download-button\",attrs:{\"id\":\"download\",\"title\":\"Download\",\"tabindex\":\"34\",\"data-l10n-id\":\"download\"}},[_c('span',{attrs:{\"data-l10n-id\":\"download_label\"}},[_vm._v(\"Download\")])]),_c('a',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem(\n                    'toolbar.toolbarViewerRight.viewBookmark',\n                    'viewBookmark'\n                  )\n                ),expression:\"\\n                  showElem(\\n                    'toolbar.toolbarViewerRight.viewBookmark',\\n                    'viewBookmark'\\n                  )\\n                \"}],staticClass:\"toolbarButton bookmark hiddenSmallView vue-pdf-app-icon bookmark-button\",attrs:{\"href\":\"#\",\"id\":\"viewBookmark\",\"title\":\"Current view (copy or open in new window)\",\"tabindex\":\"35\",\"data-l10n-id\":\"bookmark\"}},[_c('span',{attrs:{\"data-l10n-id\":\"bookmark_label\"}},[_vm._v(\"Current View\")])]),(_vm.showElem('secondaryToolbar'))?_c('div',{staticClass:\"verticalToolbarSeparator hiddenSmallView\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('secondaryToolbar')),expression:\"showElem('secondaryToolbar')\"}],staticClass:\"toolbarButton vue-pdf-app-icon secondary-toolbar-toggle\",attrs:{\"id\":\"secondaryToolbarToggle\",\"title\":\"Tools\",\"tabindex\":\"36\",\"data-l10n-id\":\"tools\"}},[_c('span',{attrs:{\"data-l10n-id\":\"tools_label\"}},[_vm._v(\"Tools\")])]),_vm._t(\"toolbar-right-append\",null,null,_vm.slotProps)],2),_c('div',{attrs:{\"id\":\"toolbarViewerMiddle\"}},[_vm._t(\"toolbar-middle-prepend\",null,null,_vm.slotProps),_c('div',{staticClass:\"splitToolbarButton\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                    _vm.showElem('toolbar.toolbarViewerMiddle.zoomOut', 'zoomOut')\n                  ),expression:\"\\n                    showElem('toolbar.toolbarViewerMiddle.zoomOut', 'zoomOut')\\n                  \"}],staticClass:\"toolbarButton zoomOut vue-pdf-app-icon zoom-out\",attrs:{\"id\":\"zoomOut\",\"title\":\"Zoom Out\",\"tabindex\":\"21\",\"data-l10n-id\":\"zoom_out\"}},[_c('span',{attrs:{\"data-l10n-id\":\"zoom_out_label\"}},[_vm._v(\"Zoom Out\")])]),(\n                    _vm.showElem(\n                      'toolbar.toolbarViewerMiddle.zoomIn',\n                      'zoomIn'\n                    ) &&\n                    _vm.showElem('toolbar.toolbarViewerMiddle.zoomOut', 'zoomOut')\n                  )?_c('div',{staticClass:\"splitToolbarButtonSeparator\"}):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                    _vm.showElem('toolbar.toolbarViewerMiddle.zoomIn', 'zoomIn')\n                  ),expression:\"\\n                    showElem('toolbar.toolbarViewerMiddle.zoomIn', 'zoomIn')\\n                  \"}],staticClass:\"toolbarButton zoomIn vue-pdf-app-icon zoom-in\",attrs:{\"id\":\"zoomIn\",\"title\":\"Zoom In\",\"tabindex\":\"22\",\"data-l10n-id\":\"zoom_in\"}},[_c('span',{attrs:{\"data-l10n-id\":\"zoom_in_label\"}},[_vm._v(\"Zoom In\")])])]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n                  _vm.showElem('toolbar.toolbarViewerMiddle.scaleSelectContainer')\n                ),expression:\"\\n                  showElem('toolbar.toolbarViewerMiddle.scaleSelectContainer')\\n                \"}],staticClass:\"dropdownToolbarButton vue-pdf-app-icon dropdown-toolbar-button\",attrs:{\"id\":\"scaleSelectContainer\"}},[_c('select',{attrs:{\"id\":\"scaleSelect\",\"title\":\"Zoom\",\"tabindex\":\"23\",\"data-l10n-id\":\"zoom\"}},[_c('option',{attrs:{\"id\":\"pageAutoOption\",\"title\":\"\",\"value\":\"auto\",\"selected\":\"selected\",\"data-l10n-id\":\"page_scale_auto\"}},[_vm._v(\" Automatic Zoom \")]),_c('option',{attrs:{\"id\":\"pageActualOption\",\"title\":\"\",\"value\":\"page-actual\",\"data-l10n-id\":\"page_scale_actual\"}},[_vm._v(\" Actual Size \")]),_c('option',{attrs:{\"id\":\"pageFitOption\",\"title\":\"\",\"value\":\"page-fit\",\"data-l10n-id\":\"page_scale_fit\"}},[_vm._v(\" Page Fit \")]),_c('option',{attrs:{\"id\":\"pageWidthOption\",\"title\":\"\",\"value\":\"page-width\",\"data-l10n-id\":\"page_scale_width\"}},[_vm._v(\" Page Width \")]),_c('option',{attrs:{\"id\":\"customScaleOption\",\"title\":\"\",\"value\":\"custom\",\"disabled\":\"disabled\",\"hidden\":\"true\"}}),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(50),\"value\":\"0.5\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 50% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(75),\"value\":\"0.75\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 75% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(100),\"value\":\"1\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 100% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(125),\"value\":\"1.25\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 125% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(150),\"value\":\"1.5\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 150% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(200),\"value\":\"2\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 200% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(300),\"value\":\"3\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 300% \")]),_c('option',{attrs:{\"data-l10n-args\":_vm.getScale(400),\"value\":\"4\",\"data-l10n-id\":\"page_scale_percent\",\"title\":\"\"}},[_vm._v(\" 400% \")])])]),_vm._t(\"toolbar-middle-append\",null,null,_vm.slotProps)],2)])])]),_vm._m(4),_c('menu',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"type\":\"context\",\"id\":\"viewerContextMenu\"}},[_c('menuitem',{attrs:{\"id\":\"contextFirstPage\",\"label\":\"First Page\",\"data-l10n-id\":\"first_page\"}}),_c('menuitem',{attrs:{\"id\":\"contextLastPage\",\"label\":\"Last Page\",\"data-l10n-id\":\"last_page\"}}),_c('menuitem',{attrs:{\"id\":\"contextPageRotateCw\",\"label\":\"Rotate Clockwise\",\"data-l10n-id\":\"page_rotate_cw\"}}),_c('menuitem',{attrs:{\"id\":\"contextPageRotateCcw\",\"label\":\"Rotate Counter-Clockwise\",\"data-l10n-id\":\"page_rotate_ccw\"}})]),_vm._t(\"viewer-header\",null,null,_vm.slotProps),_vm._t(\"viewer-prepend\",null,null,_vm.slotProps),_c('div',{class:[_vm.isToolbarHidden],attrs:{\"id\":\"viewerContainer\",\"tabindex\":\"0\"}},[_c('div',{staticClass:\"pdfViewer\",attrs:{\"id\":\"viewer\"}})]),_vm._t(\"viewer-append\",null,null,_vm.slotProps),_vm._t(\"viewer-footer\",null,null,_vm.slotProps),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showElem('errorWrapper')),expression:\"showElem('errorWrapper')\"}],attrs:{\"id\":\"errorWrapper\",\"hidden\":\"true\"}},[_vm._m(5),_vm._m(6),_c('div',{staticClass:\"clearBoth\"}),_c('textarea',{attrs:{\"id\":\"errorMoreInfo\",\"hidden\":\"true\",\"readonly\":\"readonly\"}})])],2),_vm._m(7)]),_vm._t(\"footer\",null,null,_vm.slotProps)],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"findbarInputContainer\"}},[_c('input',{staticClass:\"toolbarField\",attrs:{\"id\":\"findInput\",\"title\":\"Find\",\"placeholder\":\"Find in document…\",\"tabindex\":\"91\",\"data-l10n-id\":\"find_input\"}}),_c('div',{staticClass:\"splitToolbarButton\"},[_c('button',{staticClass:\"toolbarButton findPrevious vue-pdf-app-icon find-previous\",attrs:{\"id\":\"findPrevious\",\"title\":\"Find the previous occurrence of the phrase\",\"tabindex\":\"92\",\"data-l10n-id\":\"find_previous\"}},[_c('span',{attrs:{\"data-l10n-id\":\"find_previous_label\"}},[_vm._v(\"Previous\")])]),_c('div',{staticClass:\"splitToolbarButtonSeparator\"}),_c('button',{staticClass:\"toolbarButton findNext vue-pdf-app-icon find-next\",attrs:{\"id\":\"findNext\",\"title\":\"Find the next occurrence of the phrase\",\"tabindex\":\"93\",\"data-l10n-id\":\"find_next\"}},[_c('span',{attrs:{\"data-l10n-id\":\"find_next_label\"}},[_vm._v(\"Next\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"findbarOptionsOneContainer\"}},[_c('input',{staticClass:\"toolbarField\",attrs:{\"type\":\"checkbox\",\"id\":\"findHighlightAll\",\"tabindex\":\"94\"}}),_c('label',{staticClass:\"toolbarLabel\",attrs:{\"for\":\"findHighlightAll\",\"data-l10n-id\":\"find_highlight\"}},[_vm._v(\"Highlight all\")]),_c('input',{staticClass:\"toolbarField\",attrs:{\"type\":\"checkbox\",\"id\":\"findMatchCase\",\"tabindex\":\"95\"}}),_c('label',{staticClass:\"toolbarLabel\",attrs:{\"for\":\"findMatchCase\",\"data-l10n-id\":\"find_match_case_label\"}},[_vm._v(\"Match case\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"findbarOptionsTwoContainer\"}},[_c('input',{staticClass:\"toolbarField\",attrs:{\"type\":\"checkbox\",\"id\":\"findEntireWord\",\"tabindex\":\"96\"}}),_c('label',{staticClass:\"toolbarLabel\",attrs:{\"for\":\"findEntireWord\",\"data-l10n-id\":\"find_entire_word_label\"}},[_vm._v(\"Whole words\")]),_c('span',{staticClass:\"toolbarLabel hidden\",attrs:{\"id\":\"findResultsCount\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"findbarMessageContainer\"}},[_c('span',{staticClass:\"toolbarLabel\",attrs:{\"id\":\"findMsg\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"loadingBar\"}},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"glimmer\"})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"errorMessageLeft\"}},[_c('span',{attrs:{\"id\":\"errorMessage\"}}),_c('button',{attrs:{\"id\":\"errorShowMore\",\"data-l10n-id\":\"error_more_info\"}},[_vm._v(\" More Information \")]),_c('button',{attrs:{\"id\":\"errorShowLess\",\"data-l10n-id\":\"error_less_info\",\"hidden\":\"true\"}},[_vm._v(\" Less Information \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"errorMessageRight\"}},[_c('button',{attrs:{\"id\":\"errorClose\",\"data-l10n-id\":\"error_close\"}},[_vm._v(\"Close\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hidden\",attrs:{\"id\":\"overlayContainer\"}},[_c('div',{staticClass:\"container hidden\",attrs:{\"id\":\"passwordOverlay\"}},[_c('div',{staticClass:\"dialog\"},[_c('div',{staticClass:\"row\"},[_c('p',{attrs:{\"id\":\"passwordText\",\"data-l10n-id\":\"password_label\"}},[_vm._v(\" Enter the password to open this PDF file: \")])]),_c('div',{staticClass:\"row\"},[_c('input',{staticClass:\"toolbarField\",attrs:{\"type\":\"password\",\"id\":\"password\"}})]),_c('div',{staticClass:\"buttonRow\"},[_c('button',{staticClass:\"overlayButton\",attrs:{\"id\":\"passwordCancel\"}},[_c('span',{attrs:{\"data-l10n-id\":\"password_cancel\"}},[_vm._v(\"Cancel\")])]),_c('button',{staticClass:\"overlayButton\",attrs:{\"id\":\"passwordSubmit\"}},[_c('span',{attrs:{\"data-l10n-id\":\"password_ok\"}},[_vm._v(\"OK\")])])])])]),_c('div',{staticClass:\"container hidden\",attrs:{\"id\":\"documentPropertiesOverlay\"}},[_c('div',{staticClass:\"dialog\"},[_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_file_name\"}},[_vm._v(\"File name:\")]),_c('p',{attrs:{\"id\":\"fileNameField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_file_size\"}},[_vm._v(\"File size:\")]),_c('p',{attrs:{\"id\":\"fileSizeField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"separator\"}),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_title\"}},[_vm._v(\"Title:\")]),_c('p',{attrs:{\"id\":\"titleField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_author\"}},[_vm._v(\"Author:\")]),_c('p',{attrs:{\"id\":\"authorField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_subject\"}},[_vm._v(\"Subject:\")]),_c('p',{attrs:{\"id\":\"subjectField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_keywords\"}},[_vm._v(\"Keywords:\")]),_c('p',{attrs:{\"id\":\"keywordsField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_creation_date\"}},[_vm._v(\"Creation Date:\")]),_c('p',{attrs:{\"id\":\"creationDateField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_modification_date\"}},[_vm._v(\"Modification Date:\")]),_c('p',{attrs:{\"id\":\"modificationDateField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_creator\"}},[_vm._v(\"Creator:\")]),_c('p',{attrs:{\"id\":\"creatorField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"separator\"}),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_producer\"}},[_vm._v(\"PDF Producer:\")]),_c('p',{attrs:{\"id\":\"producerField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_version\"}},[_vm._v(\"PDF Version:\")]),_c('p',{attrs:{\"id\":\"versionField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_page_count\"}},[_vm._v(\"Page Count:\")]),_c('p',{attrs:{\"id\":\"pageCountField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_page_size\"}},[_vm._v(\"Page Size:\")]),_c('p',{attrs:{\"id\":\"pageSizeField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"separator\"}),_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_linearized\"}},[_vm._v(\"Fast Web View:\")]),_c('p',{attrs:{\"id\":\"linearizedField\"}},[_vm._v(\"-\")])]),_c('div',{staticClass:\"buttonRow\"},[_c('button',{staticClass:\"overlayButton\",attrs:{\"id\":\"documentPropertiesClose\"}},[_c('span',{attrs:{\"data-l10n-id\":\"document_properties_close\"}},[_vm._v(\"Close\")])])])])]),_c('div',{staticClass:\"container hidden\",attrs:{\"id\":\"printServiceOverlay\"}},[_c('div',{staticClass:\"dialog\"},[_c('div',{staticClass:\"row\"},[_c('span',{attrs:{\"data-l10n-id\":\"print_progress_message\"}},[_vm._v(\"Preparing document for printing…\")])]),_c('div',{staticClass:\"row\"},[_c('progress',{attrs:{\"value\":\"0\",\"max\":\"100\"}}),_c('span',{staticClass:\"relative-progress\",attrs:{\"data-l10n-id\":\"print_progress_percent\",\"data-l10n-args\":\"{ \\\"progress\\\": 0 }\"}},[_vm._v(\"0%\")])]),_c('div',{staticClass:\"buttonRow\"},[_c('button',{staticClass:\"overlayButton\",attrs:{\"id\":\"printCancel\"}},[_c('span',{attrs:{\"data-l10n-id\":\"print_progress_close\"}},[_vm._v(\"Cancel\")])])])])])])}]\n\n\n// CONCATENATED MODULE: ./src/components/pdf-viewer.vue?vue&type=template&id=4aaa9b0d&scoped=true&\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js\nvar es_array_includes = __webpack_require__(\"caad\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.constructor.js\nvar es_array_buffer_constructor = __webpack_require__(\"c19f\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js\nvar es_number_constructor = __webpack_require__(\"a9e3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js\nvar es_object_to_string = __webpack_require__(\"d3b7\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js\nvar es_regexp_exec = __webpack_require__(\"ac1f\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js\nvar es_string_replace = __webpack_require__(\"5319\");\n\n// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js\nvar runtime = __webpack_require__(\"96cf\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js\nvar es_promise = __webpack_require__(\"e6cf\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\n\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n  try {\n    var info = gen[key](arg);\n    var value = info.value;\n  } catch (error) {\n    reject(error);\n    return;\n  }\n\n  if (info.done) {\n    resolve(value);\n  } else {\n    Promise.resolve(value).then(_next, _throw);\n  }\n}\n\nfunction _asyncToGenerator(fn) {\n  return function () {\n    var self = this,\n        args = arguments;\n    return new Promise(function (resolve, reject) {\n      var gen = fn.apply(self, args);\n\n      function _next(value) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n      }\n\n      function _throw(err) {\n        asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n      }\n\n      _next(undefined);\n    });\n  };\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.reflect.construct.js\nvar es_reflect_construct = __webpack_require__(\"4ae1\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-prototype-of.js\nvar es_object_get_prototype_of = __webpack_require__(\"3410\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js\nvar es_regexp_to_string = __webpack_require__(\"25f0\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\n\n\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js\nvar es_symbol = __webpack_require__(\"a4d3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js\nvar es_symbol_description = __webpack_require__(\"e01a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js\nvar es_symbol_iterator = __webpack_require__(\"d28b\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js\nvar es_array_iterator = __webpack_require__(\"e260\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js\nvar es_string_iterator = __webpack_require__(\"3ca3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js\nvar web_dom_collections_iterator = __webpack_require__(\"ddb0\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js\n\n\n\n\n\n\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\n\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createSuper.js\n\n\n\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = _isNativeReflectConstruct();\n  return function _createSuperInternal() {\n    var Super = _getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = _getPrototypeOf(this).constructor;\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return _possibleConstructorReturn(this, result);\n  };\n}\n// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nfunction __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nfunction __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nfunction __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n\n// EXTERNAL MODULE: external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}\nvar external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(\"8bbf\");\nvar external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);\n\n// CONCATENATED MODULE: ./node_modules/vue-class-component/dist/vue-class-component.esm.js\n/**\n  * vue-class-component v7.2.5\n  * (c) 2015-present Evan You\n  * @license MIT\n  */\n\n\nfunction vue_class_component_esm_typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    vue_class_component_esm_typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    vue_class_component_esm_typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return vue_class_component_esm_typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n  return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n  forwardMetadata(to, from);\n  Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n    forwardMetadata(to.prototype, from.prototype, key);\n  });\n  Object.getOwnPropertyNames(from).forEach(function (key) {\n    forwardMetadata(to, from, key);\n  });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n  var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n  metaKeys.forEach(function (metaKey) {\n    var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n    if (propertyKey) {\n      Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n    } else {\n      Reflect.defineMetadata(metaKey, metadata, to);\n    }\n  });\n}\n\nvar fakeArray = {\n  __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n  return function (target, key, index) {\n    var Ctor = typeof target === 'function' ? target : target.constructor;\n\n    if (!Ctor.__decorators__) {\n      Ctor.__decorators__ = [];\n    }\n\n    if (typeof index !== 'number') {\n      index = undefined;\n    }\n\n    Ctor.__decorators__.push(function (options) {\n      return factory(options, key, index);\n    });\n  };\n}\nfunction mixins() {\n  for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n    Ctors[_key] = arguments[_key];\n  }\n\n  return external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({\n    mixins: Ctors\n  });\n}\nfunction isPrimitive(value) {\n  var type = vue_class_component_esm_typeof(value);\n\n  return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n  if (typeof console !== 'undefined') {\n    console.warn('[vue-class-component] ' + message);\n  }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n  // override _init to prevent to init as Vue instance\n  var originalInit = Component.prototype._init;\n\n  Component.prototype._init = function () {\n    var _this = this;\n\n    // proxy to actual vm\n    var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n    if (vm.$options.props) {\n      for (var key in vm.$options.props) {\n        if (!vm.hasOwnProperty(key)) {\n          keys.push(key);\n        }\n      }\n    }\n\n    keys.forEach(function (key) {\n      Object.defineProperty(_this, key, {\n        get: function get() {\n          return vm[key];\n        },\n        set: function set(value) {\n          vm[key] = value;\n        },\n        configurable: true\n      });\n    });\n  }; // should be acquired class property values\n\n\n  var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n  Component.prototype._init = originalInit; // create plain data object\n\n  var plainData = {};\n  Object.keys(data).forEach(function (key) {\n    if (data[key] !== undefined) {\n      plainData[key] = data[key];\n    }\n  });\n\n  if (false) {}\n\n  return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n  var proto = Component.prototype;\n  Object.getOwnPropertyNames(proto).forEach(function (key) {\n    if (key === 'constructor') {\n      return;\n    } // hooks\n\n\n    if ($internalHooks.indexOf(key) > -1) {\n      options[key] = proto[key];\n      return;\n    }\n\n    var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n    if (descriptor.value !== void 0) {\n      // methods\n      if (typeof descriptor.value === 'function') {\n        (options.methods || (options.methods = {}))[key] = descriptor.value;\n      } else {\n        // typescript decorated data\n        (options.mixins || (options.mixins = [])).push({\n          data: function data() {\n            return _defineProperty({}, key, descriptor.value);\n          }\n        });\n      }\n    } else if (descriptor.get || descriptor.set) {\n      // computed properties\n      (options.computed || (options.computed = {}))[key] = {\n        get: descriptor.get,\n        set: descriptor.set\n      };\n    }\n  });\n  (options.mixins || (options.mixins = [])).push({\n    data: function data() {\n      return collectDataFromConstructor(this, Component);\n    }\n  }); // decorate options\n\n  var decorators = Component.__decorators__;\n\n  if (decorators) {\n    decorators.forEach(function (fn) {\n      return fn(options);\n    });\n    delete Component.__decorators__;\n  } // find super\n\n\n  var superProto = Object.getPrototypeOf(Component.prototype);\n  var Super = superProto instanceof external_commonjs_vue_commonjs2_vue_root_Vue_default.a ? superProto.constructor : external_commonjs_vue_commonjs2_vue_root_Vue_default.a;\n  var Extended = Super.extend(options);\n  forwardStaticMembers(Extended, Component, Super);\n\n  if (reflectionIsSupported()) {\n    copyReflectionMetadata(Extended, Component);\n  }\n\n  return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n  prototype: true,\n  arguments: true,\n  callee: true,\n  caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n  // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n  Object.getOwnPropertyNames(Original).forEach(function (key) {\n    // Skip the properties that should not be overwritten\n    if (shouldIgnore[key]) {\n      return;\n    } // Some browsers does not allow reconfigure built-in properties\n\n\n    var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n    if (extendedDescriptor && !extendedDescriptor.configurable) {\n      return;\n    }\n\n    var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n    // the sub class properties may be inherited properties from the super class in TypeScript.\n    // We need to exclude such properties to prevent to overwrite\n    // the component options object which stored on the extended constructor (See #192).\n    // If the value is a referenced value (object or function),\n    // we can check equality of them and exclude it if they have the same reference.\n    // If it is a primitive value, it will be forwarded for safety.\n\n    if (!hasProto) {\n      // Only `cid` is explicitly exluded from property forwarding\n      // because we cannot detect whether it is a inherited property or not\n      // on the no `__proto__` environment even though the property is reserved.\n      if (key === 'cid') {\n        return;\n      }\n\n      var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n      if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n        return;\n      }\n    } // Warn if the users manually declare reserved properties\n\n\n    if (false) {}\n\n    Object.defineProperty(Extended, key, descriptor);\n  });\n}\n\nfunction vue_class_component_esm_Component(options) {\n  if (typeof options === 'function') {\n    return componentFactory(options);\n  }\n\n  return function (Component) {\n    return componentFactory(Component, options);\n  };\n}\n\nvue_class_component_esm_Component.registerHooks = function registerHooks(keys) {\n  $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\n/* harmony default export */ var vue_class_component_esm = (vue_class_component_esm_Component);\n\n\n// CONCATENATED MODULE: ./node_modules/vue-property-decorator/lib/vue-property-decorator.js\n/** vue-property-decorator verson 8.5.1 MIT LICENSE copyright 2020 kaorun343 */\n/// <reference types='reflect-metadata'/>\n\n\n\n\n/** Used for keying reactive provide/inject properties */\nvar reactiveInjectKey = '__reactiveInject__';\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nfunction Inject(options) {\n    return createDecorator(function (componentOptions, key) {\n        if (typeof componentOptions.inject === 'undefined') {\n            componentOptions.inject = {};\n        }\n        if (!Array.isArray(componentOptions.inject)) {\n            componentOptions.inject[key] = options || key;\n        }\n    });\n}\n/**\n * decorator of a reactive inject\n * @param from key\n * @return PropertyDecorator\n */\nfunction InjectReactive(options) {\n    return createDecorator(function (componentOptions, key) {\n        if (typeof componentOptions.inject === 'undefined') {\n            componentOptions.inject = {};\n        }\n        if (!Array.isArray(componentOptions.inject)) {\n            var fromKey_1 = !!options ? options.from || options : key;\n            var defaultVal_1 = (!!options && options.default) || undefined;\n            if (!componentOptions.computed)\n                componentOptions.computed = {};\n            componentOptions.computed[key] = function () {\n                var obj = this[reactiveInjectKey];\n                return obj ? obj[fromKey_1] : defaultVal_1;\n            };\n            componentOptions.inject[reactiveInjectKey] = reactiveInjectKey;\n        }\n    });\n}\nfunction produceProvide(original) {\n    var provide = function () {\n        var _this = this;\n        var rv = typeof original === 'function' ? original.call(this) : original;\n        rv = Object.create(rv || null);\n        // set reactive services (propagates previous services if necessary)\n        rv[reactiveInjectKey] = this[reactiveInjectKey] || {};\n        for (var i in provide.managed) {\n            rv[provide.managed[i]] = this[i];\n        }\n        var _loop_1 = function (i) {\n            rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide`\n            Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], {\n                enumerable: true,\n                get: function () { return _this[i]; },\n            });\n        };\n        var this_1 = this;\n        for (var i in provide.managedReactive) {\n            _loop_1(i);\n        }\n        return rv;\n    };\n    provide.managed = {};\n    provide.managedReactive = {};\n    return provide;\n}\nfunction needToProduceProvide(original) {\n    return (typeof original !== 'function' ||\n        (!original.managed && !original.managedReactive));\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n    return createDecorator(function (componentOptions, k) {\n        var provide = componentOptions.provide;\n        if (needToProduceProvide(provide)) {\n            provide = componentOptions.provide = produceProvide(provide);\n        }\n        provide.managed[k] = key || k;\n    });\n}\n/**\n * decorator of a reactive provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction ProvideReactive(key) {\n    return createDecorator(function (componentOptions, k) {\n        var provide = componentOptions.provide;\n        // inject parent reactive services (if any)\n        if (!Array.isArray(componentOptions.inject)) {\n            componentOptions.inject = componentOptions.inject || {};\n            componentOptions.inject[reactiveInjectKey] = {\n                from: reactiveInjectKey,\n                default: {},\n            };\n        }\n        if (needToProduceProvide(provide)) {\n            provide = componentOptions.provide = produceProvide(provide);\n        }\n        provide.managedReactive[k] = key || k;\n    });\n}\n/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nfunction applyMetadata(options, target, key) {\n    if (reflectMetadataIsSupported) {\n        if (!Array.isArray(options) &&\n            typeof options !== 'function' &&\n            typeof options.type === 'undefined') {\n            var type = Reflect.getMetadata('design:type', target, key);\n            if (type !== Object) {\n                options.type = type;\n            }\n        }\n    }\n}\n/**\n * decorator of model\n * @param  event event name\n * @param options options\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n    if (options === void 0) { options = {}; }\n    return function (target, key) {\n        applyMetadata(options, target, key);\n        createDecorator(function (componentOptions, k) {\n            ;\n            (componentOptions.props || (componentOptions.props = {}))[k] = options;\n            componentOptions.model = { prop: k, event: event || k };\n        })(target, key);\n    };\n}\n/**\n * decorator of a prop\n * @param  options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n    if (options === void 0) { options = {}; }\n    return function (target, key) {\n        applyMetadata(options, target, key);\n        createDecorator(function (componentOptions, k) {\n            ;\n            (componentOptions.props || (componentOptions.props = {}))[k] = options;\n        })(target, key);\n    };\n}\n/**\n * decorator of a synced prop\n * @param propName the name to interface with from outside, must be different from decorated property\n * @param options the options for the synced prop\n * @return PropertyDecorator | void\n */\nfunction PropSync(propName, options) {\n    if (options === void 0) { options = {}; }\n    // @ts-ignore\n    return function (target, key) {\n        applyMetadata(options, target, key);\n        createDecorator(function (componentOptions, k) {\n            ;\n            (componentOptions.props || (componentOptions.props = {}))[propName] = options;\n            (componentOptions.computed || (componentOptions.computed = {}))[k] = {\n                get: function () {\n                    return this[propName];\n                },\n                set: function (value) {\n                    // @ts-ignore\n                    this.$emit(\"update:\" + propName, value);\n                },\n            };\n        })(target, key);\n    };\n}\n/**\n * decorator of a watch function\n * @param  path the path or the expression to observe\n * @param  WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n    if (options === void 0) { options = {}; }\n    var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n    return createDecorator(function (componentOptions, handler) {\n        if (typeof componentOptions.watch !== 'object') {\n            componentOptions.watch = Object.create(null);\n        }\n        var watch = componentOptions.watch;\n        if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n            watch[path] = [watch[path]];\n        }\n        else if (typeof watch[path] === 'undefined') {\n            watch[path] = [];\n        }\n        watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n    });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param  event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n    return function (_target, propertyKey, descriptor) {\n        var key = hyphenate(propertyKey);\n        var original = descriptor.value;\n        descriptor.value = function emitter() {\n            var _this = this;\n            var args = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                args[_i] = arguments[_i];\n            }\n            var emit = function (returnValue) {\n                var emitName = event || key;\n                if (returnValue === undefined) {\n                    if (args.length === 0) {\n                        _this.$emit(emitName);\n                    }\n                    else if (args.length === 1) {\n                        _this.$emit(emitName, args[0]);\n                    }\n                    else {\n                        _this.$emit.apply(_this, [emitName].concat(args));\n                    }\n                }\n                else {\n                    if (args.length === 0) {\n                        _this.$emit(emitName, returnValue);\n                    }\n                    else if (args.length === 1) {\n                        _this.$emit(emitName, returnValue, args[0]);\n                    }\n                    else {\n                        _this.$emit.apply(_this, [emitName, returnValue].concat(args));\n                    }\n                }\n            };\n            var returnValue = original.apply(this, args);\n            if (isPromise(returnValue)) {\n                returnValue.then(emit);\n            }\n            else {\n                emit(returnValue);\n            }\n            return returnValue;\n        };\n    };\n}\n/**\n * decorator of a ref prop\n * @param refKey the ref key defined in template\n */\nfunction Ref(refKey) {\n    return createDecorator(function (options, key) {\n        options.computed = options.computed || {};\n        options.computed[key] = {\n            cache: false,\n            get: function () {\n                return this.$refs[refKey || key];\n            },\n        };\n    });\n}\nfunction isPromise(obj) {\n    return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/es5/build/pdf.js\nvar pdf = __webpack_require__(\"8750\");\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/lib/web/app.js\nvar app = __webpack_require__(\"ead8\");\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/lib/web/app_options.js\nvar app_options = __webpack_require__(\"04d0\");\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/lib/web/genericcom.js\nvar genericcom = __webpack_require__(\"e2c3\");\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/lib/web/pdf_print_service.js\nvar pdf_print_service = __webpack_require__(\"ced1\");\n\n// EXTERNAL MODULE: ./src/pdfjs-dist/build/pdf.worker.entry.js\nvar pdf_worker_entry = __webpack_require__(\"6d7c\");\n\n// EXTERNAL MODULE: ./src/sass/index.scss\nvar sass = __webpack_require__(\"85c3\");\n\n// CONCATENATED MODULE: ./src/utils/constants.ts\nvar PDF_FILE_INPUT_ID = \"pdfFileInput\";\n// CONCATENATED MODULE: ./src/utils/pdf-config.ts\n\nvar getEl = document.getElementById.bind(document);\n/* harmony default export */ var pdf_config = (function () {\n  var idConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  return {\n    appContainer: getEl(\"pdf\"),\n    mainContainer: getEl(\"viewerContainer\"),\n    viewerContainer: getEl(\"viewer\"),\n    eventBus: null,\n    toolbar: {\n      container: getEl(\"toolbarViewer\"),\n      numPages: getEl(idConfig.numPages || \"numPages\"),\n      pageNumber: getEl(idConfig.pageNumber || \"pageNumber\"),\n      // TODO make scale select customizable\n      scaleSelectContainer: getEl(\"scaleSelectContainer\"),\n      scaleSelect: getEl(\"scaleSelect\"),\n      customScaleOption: getEl(\"customScaleOption\"),\n      previous: getEl(idConfig.previousPage || \"previous\"),\n      next: getEl(idConfig.nextPage || \"next\"),\n      zoomIn: getEl(idConfig.zoomIn || \"zoomIn\"),\n      zoomOut: getEl(idConfig.zoomOut || \"zoomOut\"),\n      viewFind: getEl(idConfig.toggleFindbar || \"viewFind\"),\n      openFile: getEl(idConfig.openFile || \"openFile\"),\n      print: getEl(idConfig.print || \"print\"),\n      presentationModeButton: getEl(idConfig.presentationMode || \"presentationMode\"),\n      download: getEl(idConfig.download || \"download\"),\n      viewBookmark: getEl(idConfig.viewBookmark || \"viewBookmark\")\n    },\n    secondaryToolbar: {\n      toolbar: getEl(\"secondaryToolbar\"),\n      toggleButton: getEl(\"secondaryToolbarToggle\"),\n      toolbarButtonContainer: getEl(\"secondaryToolbarButtonContainer\"),\n      presentationModeButton: getEl(\"secondaryPresentationMode\"),\n      openFileButton: getEl(\"secondaryOpenFile\"),\n      printButton: getEl(\"secondaryPrint\"),\n      downloadButton: getEl(\"secondaryDownload\"),\n      viewBookmarkButton: getEl(\"secondaryViewBookmark\"),\n      firstPageButton: getEl(idConfig.firstPage || \"firstPage\"),\n      lastPageButton: getEl(idConfig.lastPage || \"lastPage\"),\n      pageRotateCwButton: getEl(idConfig.pageRotateCw || \"pageRotateCw\"),\n      pageRotateCcwButton: getEl(idConfig.pageRotateCcw || \"pageRotateCcw\"),\n      cursorSelectToolButton: getEl(idConfig.cursorSelectTool || \"cursorSelectTool\"),\n      cursorHandToolButton: getEl(idConfig.cursorHandTool || \"cursorHandTool\"),\n      scrollVerticalButton: getEl(idConfig.scrollVertical || \"scrollVertical\"),\n      scrollHorizontalButton: getEl(idConfig.scrollHorizontal || \"scrollHorizontal\"),\n      scrollWrappedButton: getEl(idConfig.scrollWrapped || \"scrollWrapped\"),\n      spreadNoneButton: getEl(idConfig.spreadNone || \"spreadNone\"),\n      spreadOddButton: getEl(idConfig.spreadOdd || \"spreadOdd\"),\n      spreadEvenButton: getEl(idConfig.spreadEven || \"spreadEven\"),\n      documentPropertiesButton: getEl(idConfig.documentProperties || \"documentProperties\")\n    },\n    fullscreen: {\n      contextFirstPage: getEl(\"contextFirstPage\"),\n      contextLastPage: getEl(\"contextLastPage\"),\n      contextPageRotateCw: getEl(\"contextPageRotateCw\"),\n      contextPageRotateCcw: getEl(\"contextPageRotateCcw\")\n    },\n    sidebar: {\n      // Divs (and sidebar button)\n      outerContainer: getEl(\"outerContainer\"),\n      viewerContainer: getEl(\"viewerContainer\"),\n      toggleButton: getEl(idConfig.sidebarToggle || \"sidebarToggle\"),\n      // Buttons\n      thumbnailButton: getEl(idConfig.viewThumbnail || \"viewThumbnail\"),\n      outlineButton: getEl(idConfig.viewOutline || \"viewOutline\"),\n      attachmentsButton: getEl(idConfig.viewAttachments || \"viewAttachments\"),\n      // Views\n      thumbnailView: getEl(\"thumbnailView\"),\n      outlineView: getEl(\"outlineView\"),\n      attachmentsView: getEl(\"attachmentsView\")\n    },\n    sidebarResizer: {\n      outerContainer: getEl(\"outerContainer\"),\n      resizer: getEl(\"sidebarResizer\")\n    },\n    findBar: {\n      bar: getEl(idConfig.findbar || \"findbar\"),\n      toggleButton: getEl(idConfig.toggleFindbar || \"viewFind\"),\n      findField: getEl(idConfig.findInput || \"findInput\"),\n      highlightAllCheckbox: getEl(idConfig.findHighlightAll || \"findHighlightAll\"),\n      caseSensitiveCheckbox: getEl(idConfig.findMatchCase || \"findMatchCase\"),\n      entireWordCheckbox: getEl(idConfig.findEntireWord || \"findEntireWord\"),\n      findMsg: getEl(idConfig.findMessage || \"findMsg\"),\n      findResultsCount: getEl(idConfig.findResultsCount || \"findResultsCount\"),\n      findPreviousButton: getEl(idConfig.findPrevious || \"findPrevious\"),\n      findNextButton: getEl(idConfig.findNext || \"findNext\")\n    },\n    passwordOverlay: {\n      overlayName: \"passwordOverlay\",\n      container: getEl(\"passwordOverlay\"),\n      label: getEl(\"passwordText\"),\n      input: getEl(\"password\"),\n      submitButton: getEl(\"passwordSubmit\"),\n      cancelButton: getEl(\"passwordCancel\")\n    },\n    documentProperties: {\n      overlayName: \"documentPropertiesOverlay\",\n      container: getEl(\"documentPropertiesOverlay\"),\n      closeButton: getEl(\"documentPropertiesClose\"),\n      fields: {\n        fileName: getEl(\"fileNameField\"),\n        fileSize: getEl(\"fileSizeField\"),\n        title: getEl(\"titleField\"),\n        author: getEl(\"authorField\"),\n        subject: getEl(\"subjectField\"),\n        keywords: getEl(\"keywordsField\"),\n        creationDate: getEl(\"creationDateField\"),\n        modificationDate: getEl(\"modificationDateField\"),\n        creator: getEl(\"creatorField\"),\n        producer: getEl(\"producerField\"),\n        version: getEl(\"versionField\"),\n        pageCount: getEl(\"pageCountField\"),\n        pageSize: getEl(\"pageSizeField\"),\n        linearized: getEl(\"linearizedField\")\n      }\n    },\n    errorWrapper: {\n      container: getEl(\"errorWrapper\"),\n      errorMessage: getEl(\"errorMessage\"),\n      closeButton: getEl(\"errorClose\"),\n      errorMoreInfo: getEl(\"errorMoreInfo\"),\n      moreInfoButton: getEl(\"errorShowMore\"),\n      lessInfoButton: getEl(\"errorShowLess\")\n    },\n    printContainer: getEl(\"printContainer\"),\n    openFileInputName: PDF_FILE_INPUT_ID\n  };\n});\n// CONCATENATED MODULE: ./src/utils/locale.ts\n/* eslint-disable @typescript-eslint/camelcase */\n/* harmony default export */ var locale = ({\n  default_locale: \"en\",\n  locales: {\n    en: {\n      annotation_date_string: {\n        textContent: \"{{date}}, {{time}}\"\n      },\n      attachments_label: {\n        textContent: \"Attachments\"\n      },\n      attachments: {\n        title: \"Show Attachments\"\n      },\n      bookmark_label: {\n        textContent: \"Current View\"\n      },\n      bookmark: {\n        title: \"Current view (copy or open in new window)\"\n      },\n      cursor_hand_tool_label: {\n        textContent: \"Hand Tool\"\n      },\n      cursor_hand_tool: {\n        title: \"Enable Hand Tool\"\n      },\n      cursor_text_select_tool_label: {\n        textContent: \"Text Selection Tool\"\n      },\n      cursor_text_select_tool: {\n        title: \"Enable Text Selection Tool\"\n      },\n      document_outline_label: {\n        textContent: \"Document Outline\"\n      },\n      document_outline: {\n        title: \"Show Document Outline (double-click to expand/collapse all items)\"\n      },\n      document_properties_author: {\n        textContent: \"Author:\"\n      },\n      document_properties_close: {\n        textContent: \"Close\"\n      },\n      document_properties_creation_date: {\n        textContent: \"Creation Date:\"\n      },\n      document_properties_creator: {\n        textContent: \"Creator:\"\n      },\n      document_properties_date_string: {\n        textContent: \"{{date}}, {{time}}\"\n      },\n      document_properties_file_name: {\n        textContent: \"File name:\"\n      },\n      document_properties_file_size: {\n        textContent: \"File size:\"\n      },\n      document_properties_kb: {\n        textContent: \"{{size_kb}} KB ({{size_b}} bytes)\"\n      },\n      document_properties_keywords: {\n        textContent: \"Keywords:\"\n      },\n      document_properties_label: {\n        textContent: \"Document Properties…\"\n      },\n      document_properties_linearized_no: {\n        textContent: \"No\"\n      },\n      document_properties_linearized_yes: {\n        textContent: \"Yes\"\n      },\n      document_properties_linearized: {\n        textContent: \"Fast Web View:\"\n      },\n      document_properties_mb: {\n        textContent: \"{{size_mb}} MB ({{size_b}} bytes)\"\n      },\n      document_properties_modification_date: {\n        textContent: \"Modification Date:\"\n      },\n      document_properties_page_count: {\n        textContent: \"Page Count:\"\n      },\n      document_properties_page_size_dimension_name_string: {\n        textContent: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\"\n      },\n      document_properties_page_size_dimension_string: {\n        textContent: \"{{width}} × {{height}} {{unit}} ({{orientation}})\"\n      },\n      document_properties_page_size_name_a3: {\n        textContent: \"A3\"\n      },\n      document_properties_page_size_name_a4: {\n        textContent: \"A4\"\n      },\n      document_properties_page_size_name_legal: {\n        textContent: \"Legal\"\n      },\n      document_properties_page_size_name_letter: {\n        textContent: \"Letter\"\n      },\n      document_properties_page_size_orientation_landscape: {\n        textContent: \"landscape\"\n      },\n      document_properties_page_size_orientation_portrait: {\n        textContent: \"portrait\"\n      },\n      document_properties_page_size_unit_inches: {\n        textContent: \"in\"\n      },\n      document_properties_page_size_unit_millimeters: {\n        textContent: \"mm\"\n      },\n      document_properties_page_size: {\n        textContent: \"Page Size:\"\n      },\n      document_properties_producer: {\n        textContent: \"PDF Producer:\"\n      },\n      document_properties_subject: {\n        textContent: \"Subject:\"\n      },\n      document_properties_title: {\n        textContent: \"Title:\"\n      },\n      document_properties_version: {\n        textContent: \"PDF Version:\"\n      },\n      document_properties: {\n        title: \"Document Properties…\"\n      },\n      download_label: {\n        textContent: \"Download\"\n      },\n      download: {\n        title: \"Download\"\n      },\n      error_close: {\n        textContent: \"Close\"\n      },\n      error_file: {\n        textContent: \"File: {{file}}\"\n      },\n      error_less_info: {\n        textContent: \"Less Information\"\n      },\n      error_line: {\n        textContent: \"Line: {{line}}\"\n      },\n      error_message: {\n        textContent: \"Message: {{message}}\"\n      },\n      error_more_info: {\n        textContent: \"More Information\"\n      },\n      error_stack: {\n        textContent: \"Stack: {{stack}}\"\n      },\n      error_version_info: {\n        textContent: \"PDF.js v{{version}} (build: {{build}})\"\n      },\n      find_entire_word_label: {\n        textContent: \"Whole words\"\n      },\n      find_highlight: {\n        textContent: \"Highlight all\"\n      },\n      find_input: {\n        placeholder: \"Find in document…\",\n        title: \"Find\"\n      },\n      find_match_case_label: {\n        textContent: \"Match case\"\n      },\n      \"find_match_count_limit[few]\": {\n        textContent: \"More than {{limit}} matches\"\n      },\n      \"find_match_count_limit[many]\": {\n        textContent: \"More than {{limit}} matches\"\n      },\n      \"find_match_count_limit[one]\": {\n        textContent: \"More than {{limit}} match\"\n      },\n      \"find_match_count_limit[other]\": {\n        textContent: \"More than {{limit}} matches\"\n      },\n      \"find_match_count_limit[two]\": {\n        textContent: \"More than {{limit}} matches\"\n      },\n      \"find_match_count_limit[zero]\": {\n        textContent: \"More than {{limit}} matches\"\n      },\n      find_match_count_limit: {\n        textContent: \"{[ plural(limit) ]}\"\n      },\n      \"find_match_count[few]\": {\n        textContent: \"{{current}} of {{total}} matches\"\n      },\n      \"find_match_count[many]\": {\n        textContent: \"{{current}} of {{total}} matches\"\n      },\n      \"find_match_count[one]\": {\n        textContent: \"{{current}} of {{total}} match\"\n      },\n      \"find_match_count[other]\": {\n        textContent: \"{{current}} of {{total}} matches\"\n      },\n      \"find_match_count[two]\": {\n        textContent: \"{{current}} of {{total}} matches\"\n      },\n      find_match_count: {\n        textContent: \"{[ plural(total) ]}\"\n      },\n      find_next_label: {\n        textContent: \"Next\"\n      },\n      find_next: {\n        title: \"Find the next occurrence of the phrase\"\n      },\n      find_not_found: {\n        textContent: \"Phrase not found\"\n      },\n      find_previous_label: {\n        textContent: \"Previous\"\n      },\n      find_previous: {\n        title: \"Find the previous occurrence of the phrase\"\n      },\n      find_reached_bottom: {\n        textContent: \"Reached end of document, continued from top\"\n      },\n      find_reached_top: {\n        textContent: \"Reached top of document, continued from bottom\"\n      },\n      findbar_label: {\n        textContent: \"Find\"\n      },\n      findbar: {\n        title: \"Find in Document\"\n      },\n      first_page_label: {\n        textContent: \"Go to First Page\"\n      },\n      first_page: {\n        label: \"Go to First Page\",\n        title: \"Go to First Page\"\n      },\n      invalid_file_error: {\n        textContent: \"Invalid or corrupted PDF file.\"\n      },\n      last_page_label: {\n        textContent: \"Go to Last Page\"\n      },\n      last_page: {\n        title: \"Go to Last Page\"\n      },\n      loading_error_indicator: {\n        textContent: \"Error\"\n      },\n      loading_error: {\n        textContent: \"An error occurred while loading the PDF.\"\n      },\n      missing_file_error: {\n        textContent: \"Missing PDF file.\"\n      },\n      next_label: {\n        textContent: \"Next\"\n      },\n      next: {\n        title: \"Next Page\"\n      },\n      of_pages: {\n        textContent: \"of {{pagesCount}}\"\n      },\n      open_file_label: {\n        textContent: \"Open\"\n      },\n      open_file: {\n        title: \"Open File\"\n      },\n      page_canvas: {\n        textContent: \"Page {{page}}\"\n      },\n      page_of_pages: {\n        textContent: \"({{pageNumber}} of {{pagesCount}})\"\n      },\n      page_rotate_ccw_label: {\n        textContent: \"Rotate Counterclockwise\"\n      },\n      page_rotate_ccw: {\n        label: \"Rotate Counterclockwise\",\n        title: \"Rotate Counterclockwise\"\n      },\n      page_rotate_cw_label: {\n        textContent: \"Rotate Clockwise\"\n      },\n      page_rotate_cw: {\n        label: \"Rotate Clockwise\",\n        title: \"Rotate Clockwise\"\n      },\n      page_scale_actual: {\n        textContent: \"Actual Size\"\n      },\n      page_scale_auto: {\n        textContent: \"Automatic Zoom\"\n      },\n      page_scale_fit: {\n        textContent: \"Page Fit\"\n      },\n      page_scale_percent: {\n        textContent: \"{{scale}}%\"\n      },\n      page_scale_width: {\n        textContent: \"Page Width\"\n      },\n      page: {\n        title: \"Page\"\n      },\n      password_cancel: {\n        textContent: \"Cancel\"\n      },\n      password_invalid: {\n        textContent: \"Invalid password. Please try again.\"\n      },\n      password_label: {\n        textContent: \"Enter the password to open this PDF file.\"\n      },\n      password_ok: {\n        textContent: \"OK\"\n      },\n      presentation_mode_label: {\n        textContent: \"Presentation Mode\"\n      },\n      presentation_mode: {\n        title: \"Switch to Presentation Mode\"\n      },\n      previous_label: {\n        textContent: \"Previous\"\n      },\n      previous: {\n        title: \"Previous Page\"\n      },\n      print_label: {\n        textContent: \"Print\"\n      },\n      print_progress_close: {\n        textContent: \"Cancel\"\n      },\n      print_progress_message: {\n        textContent: \"Preparing document for printing…\"\n      },\n      print_progress_percent: {\n        textContent: \"{{progress}}%\"\n      },\n      print: {\n        title: \"Print\"\n      },\n      printing_not_ready: {\n        textContent: \"Warning: The PDF is not fully loaded for printing.\"\n      },\n      printing_not_supported: {\n        textContent: \"Warning: Printing is not fully supported by this browser.\"\n      },\n      rendering_error: {\n        textContent: \"An error occurred while rendering the page.\"\n      },\n      scroll_horizontal_label: {\n        textContent: \"Horizontal Scrolling\"\n      },\n      scroll_horizontal: {\n        title: \"Use Horizontal Scrolling\"\n      },\n      scroll_vertical_label: {\n        textContent: \"Vertical Scrolling\"\n      },\n      scroll_vertical: {\n        title: \"Use Vertical Scrolling\"\n      },\n      scroll_wrapped_label: {\n        textContent: \"Wrapped Scrolling\"\n      },\n      scroll_wrapped: {\n        title: \"Use Wrapped Scrolling\"\n      },\n      spread_even_label: {\n        textContent: \"Even Spreads\"\n      },\n      spread_even: {\n        title: \"Join page spreads starting with even-numbered pages\"\n      },\n      spread_none_label: {\n        textContent: \"No Spreads\"\n      },\n      spread_none: {\n        title: \"Do not join page spreads\"\n      },\n      spread_odd_label: {\n        textContent: \"Odd Spreads\"\n      },\n      spread_odd: {\n        title: \"Join page spreads starting with odd-numbered pages\"\n      },\n      text_annotation_type: {\n        alt: \"[{{type}} Annotation]\"\n      },\n      thumb_page_canvas: {\n        textContent: \"Thumbnail of Page {{page}}\"\n      },\n      thumb_page_title: {\n        textContent: \"Page {{page}}\"\n      },\n      thumbs_label: {\n        textContent: \"Thumbnails\"\n      },\n      thumbs: {\n        title: \"Show Thumbnails\"\n      },\n      toggle_sidebar_label: {\n        textContent: \"Toggle Sidebar\"\n      },\n      toggle_sidebar_notification: {\n        title: \"Toggle Sidebar (document contains outline/attachments)\"\n      },\n      toggle_sidebar: {\n        title: \"Toggle Sidebar\"\n      },\n      tools_label: {\n        textContent: \"Tools\"\n      },\n      tools: {\n        title: \"Tools\"\n      },\n      unexpected_response_error: {\n        textContent: \"Unexpected server response.\"\n      },\n      web_fonts_disabled: {\n        textContent: \"Web fonts are disabled: unable to use embedded PDF fonts.\"\n      },\n      zoom_in_label: {\n        textContent: \"Zoom In\"\n      },\n      zoom_in: {\n        title: \"Zoom In\"\n      },\n      zoom_out_label: {\n        textContent: \"Zoom Out\"\n      },\n      zoom_out: {\n        title: \"Zoom Out\"\n      },\n      zoom: {\n        title: \"Zoom\"\n      }\n    }\n  }\n});\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js\nvar es_string_split = __webpack_require__(\"1276\");\n\n// CONCATENATED MODULE: ./src/utils/toolbar-config.ts\n\n\n\nvar toolbarConfig = {\n  sidebar: {\n    viewThumbnail: true,\n    viewOutline: true,\n    viewAttachments: true\n  },\n  secondaryToolbar: {\n    secondaryPresentationMode: true,\n    secondaryOpenFile: true,\n    secondaryPrint: true,\n    secondaryDownload: true,\n    secondaryViewBookmark: true,\n    firstPage: true,\n    lastPage: true,\n    pageRotateCw: true,\n    pageRotateCcw: true,\n    cursorSelectTool: true,\n    cursorHandTool: true,\n    scrollVertical: true,\n    scrollHorizontal: true,\n    scrollWrapped: true,\n    spreadNone: true,\n    spreadOdd: true,\n    spreadEven: true,\n    documentProperties: true\n  },\n  toolbar: {\n    toolbarViewerLeft: {\n      findbar: true,\n      previous: true,\n      next: true,\n      pageNumber: true\n    },\n    toolbarViewerRight: {\n      presentationMode: true,\n      openFile: true,\n      print: true,\n      download: true,\n      viewBookmark: true\n    },\n    toolbarViewerMiddle: {\n      zoomOut: true,\n      zoomIn: true,\n      scaleSelectContainer: true\n    }\n  },\n  errorWrapper: true\n};\nvar toolbar_config_getToolbarConfigValue = function getToolbarConfigValue(config, path) {\n  var props = path.split(\".\");\n  var currValue = config[props[0]];\n\n  for (var i = 1; i < props.length; i++) {\n    if (_typeof(currValue) === \"object\") {\n      currValue = currValue[props[i]];\n    } else break;\n  }\n\n  return currValue;\n};\n// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--13-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/pdf-viewer.vue?vue&type=script&lang=ts&\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // FIX typings\n// @ts-ignore\n\n // @ts-ignore\n\n\n\n\n\n\n\n\n\n\n\nif (app_options[\"AppOptions\"]) {\n  app_options[\"AppOptions\"].set(\"defaultUrl\", null);\n}\n\nvar themeCacheKey = \"vue-pdf-app-theme\";\nvar errorHandler = console.error.bind(console); // pdf_print_service reassigns window.print.\n// Assign original window.print on component destroy.\n// Once pdf is opened again assign window.print = pdfjs.print\n\nvar pdfPrint = window.print.bind(window);\nwindow.print = window.__nativePrint__ || pdfPrint;\n\nvar pdf_viewervue_type_script_lang_ts_PdfViewer = /*#__PURE__*/function (_Vue) {\n  _inherits(PdfViewer, _Vue);\n\n  var _super = _createSuper(PdfViewer);\n\n  function PdfViewer() {\n    var _this;\n\n    _classCallCheck(this, PdfViewer);\n\n    _this = _super.apply(this, arguments);\n    _this.defaultLocale = JSON.stringify(locale);\n    _this.isOpenHandlerBinded = false;\n    _this.isSidebarHidden = true;\n    _this.isFindbarHidden = true;\n    _this.cacheTheme = window.localStorage.getItem(themeCacheKey);\n    return _this;\n  }\n\n  _createClass(PdfViewer, [{\n    key: \"beforeDestroy\",\n    value: function beforeDestroy() {\n      this.destroyPdf();\n    }\n  }, {\n    key: \"created\",\n    value: function created() {\n      window.print = pdfPrint;\n      app[\"PDFViewerApplication\"].isViewerEmbedded = !this.title;\n      this.$emit(\"after-created\", app[\"PDFViewerApplication\"]);\n    }\n  }, {\n    key: \"mounted\",\n    value: function mounted() {\n      this.addPrintContainer();\n      var config = pdf_config(this.idConfig);\n\n      if (app[\"PDFViewerApplication\"]) {\n        app[\"PDFViewerApplication\"].run(config);\n        app[\"PDFViewerApplication\"].initializedPromise.then(this.setDefaultPageScale.bind(this)).then(this.open.bind(this)).then(this.bindSidebarToggleEvents.bind(this)).then(this.bindFindbarToggleEvents.bind(this)).catch(errorHandler);\n      }\n    }\n  }, {\n    key: \"bindSidebarToggleEvents\",\n    value: function bindSidebarToggleEvents() {\n      var config = pdf_config(this.idConfig);\n      var toggleButton = config.sidebar.toggleButton;\n      var handler = this.checkSidebarVisibility.bind(this);\n      toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.addEventListener(\"click\", handler);\n      this.$once(\"hook:beforeDestroy\", function () {\n        toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.removeEventListener(\"click\", handler);\n      });\n    }\n  }, {\n    key: \"bindFindbarToggleEvents\",\n    value: function bindFindbarToggleEvents() {\n      var config = pdf_config(this.idConfig);\n      var toggleButton = config.findBar.toggleButton;\n      var handler = this.checkFindbarVisibility.bind(this);\n      toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.addEventListener(\"click\", handler);\n      this.$once(\"hook:beforeDestroy\", function () {\n        toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.removeEventListener(\"click\", handler);\n      });\n    }\n  }, {\n    key: \"bindOpenHandler\",\n    value: function bindOpenHandler() {\n      var _this2 = this;\n\n      if (this.isOpenHandlerBinded) return;\n      var fileInput = document.getElementById(PDF_FILE_INPUT_ID);\n\n      var fileInputHandler = /*#__PURE__*/function () {\n        var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n          var _pdfApp$PDFViewerAppl;\n\n          return regeneratorRuntime.wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  _context.next = 2;\n                  return (_pdfApp$PDFViewerAppl = app[\"PDFViewerApplication\"].pdfLoadingTask) === null || _pdfApp$PDFViewerAppl === void 0 ? void 0 : _pdfApp$PDFViewerAppl.promise;\n\n                case 2:\n                  _this2.openDocument();\n\n                case 3:\n                case \"end\":\n                  return _context.stop();\n              }\n            }\n          }, _callee);\n        }));\n\n        return function fileInputHandler() {\n          return _ref.apply(this, arguments);\n        };\n      }();\n\n      fileInput === null || fileInput === void 0 ? void 0 : fileInput.addEventListener(\"change\", fileInputHandler);\n      this.$once(\"hook:beforeDestroy\", function () {\n        fileInput === null || fileInput === void 0 ? void 0 : fileInput.removeEventListener(\"change\", fileInputHandler);\n      });\n      this.isOpenHandlerBinded = true;\n    }\n  }, {\n    key: \"open\",\n    value: function open() {\n      var _this3 = this;\n\n      this.clearCacheTimeout();\n      if (!app[\"PDFViewerApplication\"]) return;\n\n      if (!this.pdf) {\n        app[\"PDFViewerApplication\"].close();\n      } else {\n        app[\"PDFViewerApplication\"].open(this.pdf).then(function () {\n          var _pdfApp$PDFViewerAppl2;\n\n          // @ts-ignore\n          return (_pdfApp$PDFViewerAppl2 = app[\"PDFViewerApplication\"].pdfDocument) === null || _pdfApp$PDFViewerAppl2 === void 0 ? void 0 : _pdfApp$PDFViewerAppl2.getMetadata();\n        }).then(function (fileMetadata) {\n          // @ts-ignore\n          app[\"PDFViewerApplication\"].contentDispositionFilename = _this3.fileName || fileMetadata.contentDispositionFilename;\n        }).then(this.openDocument.bind(this)).catch(errorHandler);\n      }\n    }\n  }, {\n    key: \"openDocument\",\n    value: function () {\n      var _openDocument = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n        var _pdfApp$PDFViewerAppl3,\n            _pdfApp$PDFViewerAppl4,\n            _this4 = this;\n\n        return regeneratorRuntime.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                this.resetLoadingBar();\n                this.$emit(\"open\", app[\"PDFViewerApplication\"]); // @ts-ignore\n\n                if (!((_pdfApp$PDFViewerAppl3 = app[\"PDFViewerApplication\"]) === null || _pdfApp$PDFViewerAppl3 === void 0 ? void 0 : (_pdfApp$PDFViewerAppl4 = _pdfApp$PDFViewerAppl3.pdfViewer) === null || _pdfApp$PDFViewerAppl4 === void 0 ? void 0 : _pdfApp$PDFViewerAppl4.pagesPromise)) {\n                  _context2.next = 9;\n                  break;\n                }\n\n                _context2.next = 5;\n                return app[\"PDFViewerApplication\"].pdfViewer.pagesPromise.catch(errorHandler);\n\n              case 5:\n                if (this.pageNumber) {\n                  setTimeout(function () {\n                    return app[\"PDFViewerApplication\"].page = _this4.pageNumber;\n                  });\n                }\n\n                this.checkSidebarVisibility();\n                this.checkFindbarVisibility();\n                this.$emit(\"pages-rendered\", app[\"PDFViewerApplication\"]);\n\n              case 9:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function openDocument() {\n        return _openDocument.apply(this, arguments);\n      }\n\n      return openDocument;\n    }()\n  }, {\n    key: \"checkSidebarVisibility\",\n    value: function checkSidebarVisibility() {\n      var _pdfApp$PDFViewerAppl5;\n\n      var sidebar = (_pdfApp$PDFViewerAppl5 = app[\"PDFViewerApplication\"]) === null || _pdfApp$PDFViewerAppl5 === void 0 ? void 0 : _pdfApp$PDFViewerAppl5.pdfSidebar; // @ts-ignore\n\n      this.isSidebarHidden = !(sidebar && sidebar.isOpen);\n    }\n  }, {\n    key: \"checkFindbarVisibility\",\n    value: function checkFindbarVisibility() {\n      var _pdfApp$PDFViewerAppl6;\n\n      // @ts-ignore\n      var findbar = (_pdfApp$PDFViewerAppl6 = app[\"PDFViewerApplication\"]) === null || _pdfApp$PDFViewerAppl6 === void 0 ? void 0 : _pdfApp$PDFViewerAppl6.findBar;\n      this.isFindbarHidden = !(findbar && findbar.opened);\n    }\n  }, {\n    key: \"addPrintContainer\",\n    value: function addPrintContainer() {\n      var printElId = \"printContainer\";\n      var el = document.createElement(\"div\");\n      el.id = printElId;\n      document.body.appendChild(el);\n      var styleEl = document.createElement(\"style\");\n      styleEl.type = \"text/css\";\n      styleEl.innerHTML = \"\\n        @media print {\\n          body > *:not(#printContainer) {\\n            display: none !important; \\n        }\\n      }\";\n      document.head.appendChild(styleEl);\n      this.$once(\"hook:beforeDestroy\", function () {\n        document.body.removeChild(el);\n        document.head.removeChild(styleEl);\n      });\n    }\n  }, {\n    key: \"destroyPdf\",\n    value: function destroyPdf() {\n      var _pdfApp$PDFViewerAppl7;\n\n      this.clearCacheTimeout();\n      app[\"PDFViewerApplication\"].unbindEvents();\n      app[\"PDFViewerApplication\"].unbindWindowEvents(); // @ts-ignore\n\n      (_pdfApp$PDFViewerAppl7 = app[\"PDFViewerApplication\"].pdfDocument) === null || _pdfApp$PDFViewerAppl7 === void 0 ? void 0 : _pdfApp$PDFViewerAppl7.destroy();\n      var el = document.getElementById(PDF_FILE_INPUT_ID);\n      el && el.remove(); // __nativePrint__ is assigned in pdf_print_service.js\n\n      window.print = window.__nativePrint__ || window.print;\n    }\n  }, {\n    key: \"toggleTheme\",\n    value: function toggleTheme() {\n      var newTheme = this.localTheme === \"dark\" ? \"light\" : \"dark\";\n      this.$emit(\"update:theme\", newTheme);\n      this.cacheTheme = newTheme;\n      window.localStorage.setItem(themeCacheKey, newTheme);\n    }\n  }, {\n    key: \"clearCacheTimeout\",\n    value: function clearCacheTimeout() {\n      var _pdfApp$PDFViewerAppl8;\n\n      var cacheTimeoutId = // @ts-ignore\n      (_pdfApp$PDFViewerAppl8 = app[\"PDFViewerApplication\"].pdfRenderingQueue) === null || _pdfApp$PDFViewerAppl8 === void 0 ? void 0 : _pdfApp$PDFViewerAppl8.idleTimeout;\n      clearTimeout(cacheTimeoutId);\n    }\n  }, {\n    key: \"getScale\",\n    value: function getScale(value) {\n      return \"{ \\\"scale\\\": \".concat(value, \" }\");\n    }\n  }, {\n    key: \"showElem\",\n    value: function showElem(defaultToolbarPath, customToolbarElem) {\n      if (customToolbarElem && this.idConfig) {\n        return !this.idConfig[customToolbarElem];\n      }\n\n      return !(toolbar_config_getToolbarConfigValue(this.config, defaultToolbarPath) === false);\n    }\n  }, {\n    key: \"setDefaultPageScale\",\n    value: function setDefaultPageScale() {\n      this.pageScale && app_options[\"AppOptions\"].set(\"defaultZoomValue\", this.pageScale);\n    }\n  }, {\n    key: \"resetLoadingBar\",\n    value: function resetLoadingBar() {\n      app[\"PDFViewerApplication\"].loadingBar.show();\n      app[\"PDFViewerApplication\"].loadingBar.percent = 0;\n    }\n  }, {\n    key: \"pdfChangeHandler\",\n    value: function pdfChangeHandler() {\n      this.open();\n    }\n  }, {\n    key: \"isSidebarToolbarHidden\",\n    get: function get() {\n      var _this$idConfig, _this$idConfig2, _this$idConfig3;\n\n      var isCustomToolbar = ((_this$idConfig = this.idConfig) === null || _this$idConfig === void 0 ? void 0 : _this$idConfig.viewAttachments) && ((_this$idConfig2 = this.idConfig) === null || _this$idConfig2 === void 0 ? void 0 : _this$idConfig2.viewOutline) && ((_this$idConfig3 = this.idConfig) === null || _this$idConfig3 === void 0 ? void 0 : _this$idConfig3.viewThumbnail);\n      return isCustomToolbar || !this.config.sidebar;\n    }\n  }, {\n    key: \"isToolbarHidden\",\n    get: function get() {\n      if (this.config.toolbar === false) return \"zero-top\";\n      return \"\";\n    }\n  }, {\n    key: \"localTheme\",\n    get: function get() {\n      if (this.theme) return this.theme;\n      if (this.cacheTheme) return this.cacheTheme;\n      var prefersTheme = window.getComputedStyle(document.documentElement).getPropertyValue(\"content\").replace(/\"/g, \"\");\n      if ([\"light\", \"dark\"].includes(prefersTheme)) return prefersTheme;\n      return \"dark\";\n    }\n  }, {\n    key: \"slotProps\",\n    get: function get() {\n      return {\n        toggleTheme: this.toggleTheme,\n        isSidebarHidden: this.isSidebarHidden,\n        isFindbarHidden: this.isFindbarHidden\n      };\n    }\n  }]);\n\n  return PdfViewer;\n}(external_commonjs_vue_commonjs2_vue_root_Vue_default.a);\n\n__decorate([Prop({\n  required: false,\n  default: function _default() {\n    return toolbarConfig;\n  },\n  type: Object\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"config\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: Boolean,\n  default: function _default() {\n    return false;\n  }\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"title\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: [String, ArrayBuffer]\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"pdf\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: String\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"theme\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: String\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"fileName\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: Object\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"idConfig\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: [Number, String]\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"pageScale\", void 0);\n\n__decorate([Prop({\n  required: false,\n  type: Number\n})], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"pageNumber\", void 0);\n\n__decorate([Watch(\"pdf\")], pdf_viewervue_type_script_lang_ts_PdfViewer.prototype, \"pdfChangeHandler\", null);\n\npdf_viewervue_type_script_lang_ts_PdfViewer = __decorate([vue_class_component_esm], pdf_viewervue_type_script_lang_ts_PdfViewer);\n/* harmony default export */ var pdf_viewervue_type_script_lang_ts_ = (pdf_viewervue_type_script_lang_ts_PdfViewer);\n// CONCATENATED MODULE: ./src/components/pdf-viewer.vue?vue&type=script&lang=ts&\n /* harmony default export */ var components_pdf_viewervue_type_script_lang_ts_ = (pdf_viewervue_type_script_lang_ts_); \n// EXTERNAL MODULE: ./src/components/pdf-viewer.vue?vue&type=style&index=0&lang=css&\nvar pdf_viewervue_type_style_index_0_lang_css_ = __webpack_require__(\"bfa5\");\n\n// EXTERNAL MODULE: ./src/components/pdf-viewer.vue?vue&type=style&index=1&id=4aaa9b0d&lang=scss&scoped=true&\nvar pdf_viewervue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true_ = __webpack_require__(\"317c\");\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n\n// CONCATENATED MODULE: ./src/components/pdf-viewer.vue\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n  components_pdf_viewervue_type_script_lang_ts_,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4aaa9b0d\",\n  null\n  \n)\n\n/* harmony default export */ var pdf_viewer = (component.exports);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (pdf_viewer);\n\n\n\n/***/ }),\n\n/***/ \"fb2c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Uint32Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n  return function Uint32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"fb6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar createProperty = __webpack_require__(\"8418\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n  slice: function slice(start, end) {\n    var O = toIndexedObject(this);\n    var length = toLength(O.length);\n    var k = toAbsoluteIndex(start, length);\n    var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n    var Constructor, result, n;\n    if (isArray(O)) {\n      Constructor = O.constructor;\n      // cross-realm fallback\n      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n        Constructor = undefined;\n      } else if (isObject(Constructor)) {\n        Constructor = Constructor[SPECIES];\n        if (Constructor === null) Constructor = undefined;\n      }\n      if (Constructor === Array || Constructor === undefined) {\n        return nativeSlice.call(O, k, fin);\n      }\n    }\n    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n    result.length = n;\n    return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"fc6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ \"fd87\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createTypedArrayConstructor = __webpack_require__(\"74e8\");\n\n// `Int8Array` constructor\n// https://tc39.github.io/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n\n\n/***/ }),\n\n/***/ \"fdbc\":\n/***/ (function(module, exports) {\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n\n\n/***/ }),\n\n/***/ \"fdbf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\n\nmodule.exports = NATIVE_SYMBOL\n  // eslint-disable-next-line no-undef\n  && !Symbol.sham\n  // eslint-disable-next-line no-undef\n  && typeof Symbol.iterator == 'symbol';\n\n\n/***/ }),\n\n/***/ \"fe36\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @licstart The following is the entire license notice for the\r\n * Javascript code in this page\r\n *\r\n * Copyright 2020 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n * @licend The above is the entire license notice for the\r\n * Javascript code in this page\r\n */\n\n\nvar _classCallCheck = __webpack_require__(\"970b\");\n\nvar _createClass = __webpack_require__(\"5bc3\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PDFPresentationMode = void 0;\n\nvar _ui_utils = __webpack_require__(\"0496\");\n\nvar DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;\nvar DELAY_BEFORE_HIDING_CONTROLS = 3000;\nvar ACTIVE_SELECTOR = \"pdfPresentationMode\";\nvar CONTROLS_SELECTOR = \"pdfPresentationModeControls\";\nvar MOUSE_SCROLL_COOLDOWN_TIME = 50;\nvar PAGE_SWITCH_THRESHOLD = 0.1;\nvar SWIPE_MIN_DISTANCE_THRESHOLD = 50;\nvar SWIPE_ANGLE_THRESHOLD = Math.PI / 6;\n\nvar PDFPresentationMode = /*#__PURE__*/function () {\n  function PDFPresentationMode(_ref) {\n    var _this = this;\n\n    var container = _ref.container,\n        pdfViewer = _ref.pdfViewer,\n        eventBus = _ref.eventBus,\n        _ref$contextMenuItems = _ref.contextMenuItems,\n        contextMenuItems = _ref$contextMenuItems === void 0 ? null : _ref$contextMenuItems;\n\n    _classCallCheck(this, PDFPresentationMode);\n\n    this.container = container;\n    this.pdfViewer = pdfViewer;\n    this.eventBus = eventBus;\n    this.active = false;\n    this.args = null;\n    this.contextMenuOpen = false;\n    this.mouseScrollTimeStamp = 0;\n    this.mouseScrollDelta = 0;\n    this.touchSwipeState = null;\n\n    if (contextMenuItems) {\n      contextMenuItems.contextFirstPage.addEventListener(\"click\", function () {\n        _this.contextMenuOpen = false;\n\n        _this.eventBus.dispatch(\"firstpage\", {\n          source: _this\n        });\n      });\n      contextMenuItems.contextLastPage.addEventListener(\"click\", function () {\n        _this.contextMenuOpen = false;\n\n        _this.eventBus.dispatch(\"lastpage\", {\n          source: _this\n        });\n      });\n      contextMenuItems.contextPageRotateCw.addEventListener(\"click\", function () {\n        _this.contextMenuOpen = false;\n\n        _this.eventBus.dispatch(\"rotatecw\", {\n          source: _this\n        });\n      });\n      contextMenuItems.contextPageRotateCcw.addEventListener(\"click\", function () {\n        _this.contextMenuOpen = false;\n\n        _this.eventBus.dispatch(\"rotateccw\", {\n          source: _this\n        });\n      });\n    }\n  }\n\n  _createClass(PDFPresentationMode, [{\n    key: \"request\",\n    value: function request() {\n      if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {\n        return false;\n      }\n\n      this._addFullscreenChangeListeners();\n\n      this._setSwitchInProgress();\n\n      this._notifyStateChange();\n\n      if (this.container.requestFullscreen) {\n        this.container.requestFullscreen();\n      } else if (this.container.mozRequestFullScreen) {\n        this.container.mozRequestFullScreen();\n      } else if (this.container.webkitRequestFullscreen) {\n        this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);\n      } else if (this.container.msRequestFullscreen) {\n        this.container.msRequestFullscreen();\n      } else {\n        return false;\n      }\n\n      this.args = {\n        page: this.pdfViewer.currentPageNumber,\n        previousScale: this.pdfViewer.currentScaleValue\n      };\n      return true;\n    }\n  }, {\n    key: \"_mouseWheel\",\n    value: function _mouseWheel(evt) {\n      if (!this.active) {\n        return;\n      }\n\n      evt.preventDefault();\n      var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);\n      var currentTime = new Date().getTime();\n      var storedTime = this.mouseScrollTimeStamp;\n\n      if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {\n        return;\n      }\n\n      if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {\n        this._resetMouseScrollState();\n      }\n\n      this.mouseScrollDelta += delta;\n\n      if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {\n        var totalDelta = this.mouseScrollDelta;\n\n        this._resetMouseScrollState();\n\n        var success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();\n\n        if (success) {\n          this.mouseScrollTimeStamp = currentTime;\n        }\n      }\n    }\n  }, {\n    key: \"_goToPreviousPage\",\n    value: function _goToPreviousPage() {\n      var page = this.pdfViewer.currentPageNumber;\n\n      if (page <= 1) {\n        return false;\n      }\n\n      this.pdfViewer.currentPageNumber = page - 1;\n      return true;\n    }\n  }, {\n    key: \"_goToNextPage\",\n    value: function _goToNextPage() {\n      var page = this.pdfViewer.currentPageNumber;\n\n      if (page >= this.pdfViewer.pagesCount) {\n        return false;\n      }\n\n      this.pdfViewer.currentPageNumber = page + 1;\n      return true;\n    }\n  }, {\n    key: \"_notifyStateChange\",\n    value: function _notifyStateChange() {\n      this.eventBus.dispatch(\"presentationmodechanged\", {\n        source: this,\n        active: this.active,\n        switchInProgress: !!this.switchInProgress\n      });\n    }\n  }, {\n    key: \"_setSwitchInProgress\",\n    value: function _setSwitchInProgress() {\n      var _this2 = this;\n\n      if (this.switchInProgress) {\n        clearTimeout(this.switchInProgress);\n      }\n\n      this.switchInProgress = setTimeout(function () {\n        _this2._removeFullscreenChangeListeners();\n\n        delete _this2.switchInProgress;\n\n        _this2._notifyStateChange();\n      }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);\n    }\n  }, {\n    key: \"_resetSwitchInProgress\",\n    value: function _resetSwitchInProgress() {\n      if (this.switchInProgress) {\n        clearTimeout(this.switchInProgress);\n        delete this.switchInProgress;\n      }\n    }\n  }, {\n    key: \"_enter\",\n    value: function _enter() {\n      var _this3 = this;\n\n      this.active = true;\n\n      this._resetSwitchInProgress();\n\n      this._notifyStateChange();\n\n      this.container.classList.add(ACTIVE_SELECTOR);\n      setTimeout(function () {\n        _this3.pdfViewer.currentPageNumber = _this3.args.page;\n        _this3.pdfViewer.currentScaleValue = \"page-fit\";\n      }, 0);\n\n      this._addWindowListeners();\n\n      this._showControls();\n\n      this.contextMenuOpen = false;\n      this.container.setAttribute(\"contextmenu\", \"viewerContextMenu\");\n      window.getSelection().removeAllRanges();\n    }\n  }, {\n    key: \"_exit\",\n    value: function _exit() {\n      var _this4 = this;\n\n      var page = this.pdfViewer.currentPageNumber;\n      this.container.classList.remove(ACTIVE_SELECTOR);\n      setTimeout(function () {\n        _this4.active = false;\n\n        _this4._removeFullscreenChangeListeners();\n\n        _this4._notifyStateChange();\n\n        _this4.pdfViewer.currentScaleValue = _this4.args.previousScale;\n        _this4.pdfViewer.currentPageNumber = page;\n        _this4.args = null;\n      }, 0);\n\n      this._removeWindowListeners();\n\n      this._hideControls();\n\n      this._resetMouseScrollState();\n\n      this.container.removeAttribute(\"contextmenu\");\n      this.contextMenuOpen = false;\n    }\n  }, {\n    key: \"_mouseDown\",\n    value: function _mouseDown(evt) {\n      if (this.contextMenuOpen) {\n        this.contextMenuOpen = false;\n        evt.preventDefault();\n        return;\n      }\n\n      if (evt.button === 0) {\n        var isInternalLink = evt.target.href && evt.target.classList.contains(\"internalLink\");\n\n        if (!isInternalLink) {\n          evt.preventDefault();\n\n          if (evt.shiftKey) {\n            this._goToPreviousPage();\n          } else {\n            this._goToNextPage();\n          }\n        }\n      }\n    }\n  }, {\n    key: \"_contextMenu\",\n    value: function _contextMenu() {\n      this.contextMenuOpen = true;\n    }\n  }, {\n    key: \"_showControls\",\n    value: function _showControls() {\n      var _this5 = this;\n\n      if (this.controlsTimeout) {\n        clearTimeout(this.controlsTimeout);\n      } else {\n        this.container.classList.add(CONTROLS_SELECTOR);\n      }\n\n      this.controlsTimeout = setTimeout(function () {\n        _this5.container.classList.remove(CONTROLS_SELECTOR);\n\n        delete _this5.controlsTimeout;\n      }, DELAY_BEFORE_HIDING_CONTROLS);\n    }\n  }, {\n    key: \"_hideControls\",\n    value: function _hideControls() {\n      if (!this.controlsTimeout) {\n        return;\n      }\n\n      clearTimeout(this.controlsTimeout);\n      this.container.classList.remove(CONTROLS_SELECTOR);\n      delete this.controlsTimeout;\n    }\n  }, {\n    key: \"_resetMouseScrollState\",\n    value: function _resetMouseScrollState() {\n      this.mouseScrollTimeStamp = 0;\n      this.mouseScrollDelta = 0;\n    }\n  }, {\n    key: \"_touchSwipe\",\n    value: function _touchSwipe(evt) {\n      if (!this.active) {\n        return;\n      }\n\n      if (evt.touches.length > 1) {\n        this.touchSwipeState = null;\n        return;\n      }\n\n      switch (evt.type) {\n        case \"touchstart\":\n          this.touchSwipeState = {\n            startX: evt.touches[0].pageX,\n            startY: evt.touches[0].pageY,\n            endX: evt.touches[0].pageX,\n            endY: evt.touches[0].pageY\n          };\n          break;\n\n        case \"touchmove\":\n          if (this.touchSwipeState === null) {\n            return;\n          }\n\n          this.touchSwipeState.endX = evt.touches[0].pageX;\n          this.touchSwipeState.endY = evt.touches[0].pageY;\n          evt.preventDefault();\n          break;\n\n        case \"touchend\":\n          if (this.touchSwipeState === null) {\n            return;\n          }\n\n          var delta = 0;\n          var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;\n          var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;\n          var absAngle = Math.abs(Math.atan2(dy, dx));\n\n          if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {\n            delta = dx;\n          } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {\n            delta = dy;\n          }\n\n          if (delta > 0) {\n            this._goToPreviousPage();\n          } else if (delta < 0) {\n            this._goToNextPage();\n          }\n\n          break;\n      }\n    }\n  }, {\n    key: \"_addWindowListeners\",\n    value: function _addWindowListeners() {\n      this.showControlsBind = this._showControls.bind(this);\n      this.mouseDownBind = this._mouseDown.bind(this);\n      this.mouseWheelBind = this._mouseWheel.bind(this);\n      this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);\n      this.contextMenuBind = this._contextMenu.bind(this);\n      this.touchSwipeBind = this._touchSwipe.bind(this);\n      window.addEventListener(\"mousemove\", this.showControlsBind);\n      window.addEventListener(\"mousedown\", this.mouseDownBind);\n      window.addEventListener(\"wheel\", this.mouseWheelBind);\n      window.addEventListener(\"keydown\", this.resetMouseScrollStateBind);\n      window.addEventListener(\"contextmenu\", this.contextMenuBind);\n      window.addEventListener(\"touchstart\", this.touchSwipeBind);\n      window.addEventListener(\"touchmove\", this.touchSwipeBind);\n      window.addEventListener(\"touchend\", this.touchSwipeBind);\n    }\n  }, {\n    key: \"_removeWindowListeners\",\n    value: function _removeWindowListeners() {\n      window.removeEventListener(\"mousemove\", this.showControlsBind);\n      window.removeEventListener(\"mousedown\", this.mouseDownBind);\n      window.removeEventListener(\"wheel\", this.mouseWheelBind);\n      window.removeEventListener(\"keydown\", this.resetMouseScrollStateBind);\n      window.removeEventListener(\"contextmenu\", this.contextMenuBind);\n      window.removeEventListener(\"touchstart\", this.touchSwipeBind);\n      window.removeEventListener(\"touchmove\", this.touchSwipeBind);\n      window.removeEventListener(\"touchend\", this.touchSwipeBind);\n      delete this.showControlsBind;\n      delete this.mouseDownBind;\n      delete this.mouseWheelBind;\n      delete this.resetMouseScrollStateBind;\n      delete this.contextMenuBind;\n      delete this.touchSwipeBind;\n    }\n  }, {\n    key: \"_fullscreenChange\",\n    value: function _fullscreenChange() {\n      if (this.isFullscreen) {\n        this._enter();\n      } else {\n        this._exit();\n      }\n    }\n  }, {\n    key: \"_addFullscreenChangeListeners\",\n    value: function _addFullscreenChangeListeners() {\n      this.fullscreenChangeBind = this._fullscreenChange.bind(this);\n      window.addEventListener(\"fullscreenchange\", this.fullscreenChangeBind);\n      window.addEventListener(\"mozfullscreenchange\", this.fullscreenChangeBind);\n      window.addEventListener(\"webkitfullscreenchange\", this.fullscreenChangeBind);\n      window.addEventListener(\"MSFullscreenChange\", this.fullscreenChangeBind);\n    }\n  }, {\n    key: \"_removeFullscreenChangeListeners\",\n    value: function _removeFullscreenChangeListeners() {\n      window.removeEventListener(\"fullscreenchange\", this.fullscreenChangeBind);\n      window.removeEventListener(\"mozfullscreenchange\", this.fullscreenChangeBind);\n      window.removeEventListener(\"webkitfullscreenchange\", this.fullscreenChangeBind);\n      window.removeEventListener(\"MSFullscreenChange\", this.fullscreenChangeBind);\n      delete this.fullscreenChangeBind;\n    }\n  }, {\n    key: \"isFullscreen\",\n    get: function get() {\n      return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement);\n    }\n  }]);\n\n  return PDFPresentationMode;\n}();\n\nexports.PDFPresentationMode = PDFPresentationMode;\n\n/***/ }),\n\n/***/ \"fea9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\n\nmodule.exports = global.Promise;\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=vue-pdf-app.umd.js.map","/**\n  * vue-class-component v7.2.6\n  * (c) 2015-present Evan You\n  * @license MIT\n  */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n}\n\nfunction _iterableToArray(iter) {\n  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n  return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n  forwardMetadata(to, from);\n  Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n    forwardMetadata(to.prototype, from.prototype, key);\n  });\n  Object.getOwnPropertyNames(from).forEach(function (key) {\n    forwardMetadata(to, from, key);\n  });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n  var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n  metaKeys.forEach(function (metaKey) {\n    var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n    if (propertyKey) {\n      Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n    } else {\n      Reflect.defineMetadata(metaKey, metadata, to);\n    }\n  });\n}\n\nvar fakeArray = {\n  __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n  return function (target, key, index) {\n    var Ctor = typeof target === 'function' ? target : target.constructor;\n\n    if (!Ctor.__decorators__) {\n      Ctor.__decorators__ = [];\n    }\n\n    if (typeof index !== 'number') {\n      index = undefined;\n    }\n\n    Ctor.__decorators__.push(function (options) {\n      return factory(options, key, index);\n    });\n  };\n}\nfunction mixins() {\n  for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n    Ctors[_key] = arguments[_key];\n  }\n\n  return Vue.extend({\n    mixins: Ctors\n  });\n}\nfunction isPrimitive(value) {\n  var type = _typeof(value);\n\n  return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n  if (typeof console !== 'undefined') {\n    console.warn('[vue-class-component] ' + message);\n  }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n  // override _init to prevent to init as Vue instance\n  var originalInit = Component.prototype._init;\n\n  Component.prototype._init = function () {\n    var _this = this;\n\n    // proxy to actual vm\n    var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n    if (vm.$options.props) {\n      for (var key in vm.$options.props) {\n        if (!vm.hasOwnProperty(key)) {\n          keys.push(key);\n        }\n      }\n    }\n\n    keys.forEach(function (key) {\n      Object.defineProperty(_this, key, {\n        get: function get() {\n          return vm[key];\n        },\n        set: function set(value) {\n          vm[key] = value;\n        },\n        configurable: true\n      });\n    });\n  }; // should be acquired class property values\n\n\n  var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n  Component.prototype._init = originalInit; // create plain data object\n\n  var plainData = {};\n  Object.keys(data).forEach(function (key) {\n    if (data[key] !== undefined) {\n      plainData[key] = data[key];\n    }\n  });\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n      warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n    }\n  }\n\n  return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n  var proto = Component.prototype;\n  Object.getOwnPropertyNames(proto).forEach(function (key) {\n    if (key === 'constructor') {\n      return;\n    } // hooks\n\n\n    if ($internalHooks.indexOf(key) > -1) {\n      options[key] = proto[key];\n      return;\n    }\n\n    var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n    if (descriptor.value !== void 0) {\n      // methods\n      if (typeof descriptor.value === 'function') {\n        (options.methods || (options.methods = {}))[key] = descriptor.value;\n      } else {\n        // typescript decorated data\n        (options.mixins || (options.mixins = [])).push({\n          data: function data() {\n            return _defineProperty({}, key, descriptor.value);\n          }\n        });\n      }\n    } else if (descriptor.get || descriptor.set) {\n      // computed properties\n      (options.computed || (options.computed = {}))[key] = {\n        get: descriptor.get,\n        set: descriptor.set\n      };\n    }\n  });\n  (options.mixins || (options.mixins = [])).push({\n    data: function data() {\n      return collectDataFromConstructor(this, Component);\n    }\n  }); // decorate options\n\n  var decorators = Component.__decorators__;\n\n  if (decorators) {\n    decorators.forEach(function (fn) {\n      return fn(options);\n    });\n    delete Component.__decorators__;\n  } // find super\n\n\n  var superProto = Object.getPrototypeOf(Component.prototype);\n  var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n  var Extended = Super.extend(options);\n  forwardStaticMembers(Extended, Component, Super);\n\n  if (reflectionIsSupported()) {\n    copyReflectionMetadata(Extended, Component);\n  }\n\n  return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n  prototype: true,\n  arguments: true,\n  callee: true,\n  caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n  // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n  Object.getOwnPropertyNames(Original).forEach(function (key) {\n    // Skip the properties that should not be overwritten\n    if (shouldIgnore[key]) {\n      return;\n    } // Some browsers does not allow reconfigure built-in properties\n\n\n    var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n    if (extendedDescriptor && !extendedDescriptor.configurable) {\n      return;\n    }\n\n    var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n    // the sub class properties may be inherited properties from the super class in TypeScript.\n    // We need to exclude such properties to prevent to overwrite\n    // the component options object which stored on the extended constructor (See #192).\n    // If the value is a referenced value (object or function),\n    // we can check equality of them and exclude it if they have the same reference.\n    // If it is a primitive value, it will be forwarded for safety.\n\n    if (!hasProto) {\n      // Only `cid` is explicitly exluded from property forwarding\n      // because we cannot detect whether it is a inherited property or not\n      // on the no `__proto__` environment even though the property is reserved.\n      if (key === 'cid') {\n        return;\n      }\n\n      var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n      if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n        return;\n      }\n    } // Warn if the users manually declare reserved properties\n\n\n    if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n      warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n    }\n\n    Object.defineProperty(Extended, key, descriptor);\n  });\n}\n\nfunction Component(options) {\n  if (typeof options === 'function') {\n    return componentFactory(options);\n  }\n\n  return function (Component) {\n    return componentFactory(Component, options);\n  };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n  $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nexport function applyMetadata(options, target, key) {\n    if (reflectMetadataIsSupported) {\n        if (!Array.isArray(options) &&\n            typeof options !== 'function' &&\n            !options.hasOwnProperty('type') &&\n            typeof options.type === 'undefined') {\n            var type = Reflect.getMetadata('design:type', target, key);\n            if (type !== Object) {\n                options.type = type;\n            }\n        }\n    }\n}\n","import { createDecorator } from 'vue-class-component';\nimport { applyMetadata } from '../helpers/metadata';\n/**\n * decorator of a prop\n * @param  options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n    if (options === void 0) { options = {}; }\n    return function (target, key) {\n        applyMetadata(options, target, key);\n        createDecorator(function (componentOptions, k) {\n            ;\n            (componentOptions.props || (componentOptions.props = {}))[k] = options;\n        })(target, key);\n    };\n}\n","import { createDecorator } from 'vue-class-component';\n/**\n * decorator of a watch function\n * @param  path the path or the expression to observe\n * @param  WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n    if (options === void 0) { options = {}; }\n    var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n    return createDecorator(function (componentOptions, handler) {\n        if (typeof componentOptions.watch !== 'object') {\n            componentOptions.watch = Object.create(null);\n        }\n        var watch = componentOptions.watch;\n        if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n            watch[path] = [watch[path]];\n        }\n        else if (typeof watch[path] === 'undefined') {\n            watch[path] = [];\n        }\n        watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n    });\n}\n","/*!\n  * vue-router v3.5.4\n  * (c) 2022 Evan You\n  * @license MIT\n  */\n/*  */\n\nfunction assert (condition, message) {\n  if (!condition) {\n    throw new Error((\"[vue-router] \" + message))\n  }\n}\n\nfunction warn (condition, message) {\n  if (!condition) {\n    typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n  }\n}\n\nfunction extend (a, b) {\n  for (var key in b) {\n    a[key] = b[key];\n  }\n  return a\n}\n\n/*  */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n    .replace(encodeReserveRE, encodeReserveReplacer)\n    .replace(commaRE, ','); };\n\nfunction decode (str) {\n  try {\n    return decodeURIComponent(str)\n  } catch (err) {\n    if (process.env.NODE_ENV !== 'production') {\n      warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n    }\n  }\n  return str\n}\n\nfunction resolveQuery (\n  query,\n  extraQuery,\n  _parseQuery\n) {\n  if ( extraQuery === void 0 ) extraQuery = {};\n\n  var parse = _parseQuery || parseQuery;\n  var parsedQuery;\n  try {\n    parsedQuery = parse(query || '');\n  } catch (e) {\n    process.env.NODE_ENV !== 'production' && warn(false, e.message);\n    parsedQuery = {};\n  }\n  for (var key in extraQuery) {\n    var value = extraQuery[key];\n    parsedQuery[key] = Array.isArray(value)\n      ? value.map(castQueryParamValue)\n      : castQueryParamValue(value);\n  }\n  return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n  var res = {};\n\n  query = query.trim().replace(/^(\\?|#|&)/, '');\n\n  if (!query) {\n    return res\n  }\n\n  query.split('&').forEach(function (param) {\n    var parts = param.replace(/\\+/g, ' ').split('=');\n    var key = decode(parts.shift());\n    var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n    if (res[key] === undefined) {\n      res[key] = val;\n    } else if (Array.isArray(res[key])) {\n      res[key].push(val);\n    } else {\n      res[key] = [res[key], val];\n    }\n  });\n\n  return res\n}\n\nfunction stringifyQuery (obj) {\n  var res = obj\n    ? Object.keys(obj)\n      .map(function (key) {\n        var val = obj[key];\n\n        if (val === undefined) {\n          return ''\n        }\n\n        if (val === null) {\n          return encode(key)\n        }\n\n        if (Array.isArray(val)) {\n          var result = [];\n          val.forEach(function (val2) {\n            if (val2 === undefined) {\n              return\n            }\n            if (val2 === null) {\n              result.push(encode(key));\n            } else {\n              result.push(encode(key) + '=' + encode(val2));\n            }\n          });\n          return result.join('&')\n        }\n\n        return encode(key) + '=' + encode(val)\n      })\n      .filter(function (x) { return x.length > 0; })\n      .join('&')\n    : null;\n  return res ? (\"?\" + res) : ''\n}\n\n/*  */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n  record,\n  location,\n  redirectedFrom,\n  router\n) {\n  var stringifyQuery = router && router.options.stringifyQuery;\n\n  var query = location.query || {};\n  try {\n    query = clone(query);\n  } catch (e) {}\n\n  var route = {\n    name: location.name || (record && record.name),\n    meta: (record && record.meta) || {},\n    path: location.path || '/',\n    hash: location.hash || '',\n    query: query,\n    params: location.params || {},\n    fullPath: getFullPath(location, stringifyQuery),\n    matched: record ? formatMatch(record) : []\n  };\n  if (redirectedFrom) {\n    route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n  }\n  return Object.freeze(route)\n}\n\nfunction clone (value) {\n  if (Array.isArray(value)) {\n    return value.map(clone)\n  } else if (value && typeof value === 'object') {\n    var res = {};\n    for (var key in value) {\n      res[key] = clone(value[key]);\n    }\n    return res\n  } else {\n    return value\n  }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n  path: '/'\n});\n\nfunction formatMatch (record) {\n  var res = [];\n  while (record) {\n    res.unshift(record);\n    record = record.parent;\n  }\n  return res\n}\n\nfunction getFullPath (\n  ref,\n  _stringifyQuery\n) {\n  var path = ref.path;\n  var query = ref.query; if ( query === void 0 ) query = {};\n  var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n  var stringify = _stringifyQuery || stringifyQuery;\n  return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n  if (b === START) {\n    return a === b\n  } else if (!b) {\n    return false\n  } else if (a.path && b.path) {\n    return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n      a.hash === b.hash &&\n      isObjectEqual(a.query, b.query))\n  } else if (a.name && b.name) {\n    return (\n      a.name === b.name &&\n      (onlyPath || (\n        a.hash === b.hash &&\n      isObjectEqual(a.query, b.query) &&\n      isObjectEqual(a.params, b.params))\n      )\n    )\n  } else {\n    return false\n  }\n}\n\nfunction isObjectEqual (a, b) {\n  if ( a === void 0 ) a = {};\n  if ( b === void 0 ) b = {};\n\n  // handle null value #1566\n  if (!a || !b) { return a === b }\n  var aKeys = Object.keys(a).sort();\n  var bKeys = Object.keys(b).sort();\n  if (aKeys.length !== bKeys.length) {\n    return false\n  }\n  return aKeys.every(function (key, i) {\n    var aVal = a[key];\n    var bKey = bKeys[i];\n    if (bKey !== key) { return false }\n    var bVal = b[key];\n    // query values can be null and undefined\n    if (aVal == null || bVal == null) { return aVal === bVal }\n    // check nested equality\n    if (typeof aVal === 'object' && typeof bVal === 'object') {\n      return isObjectEqual(aVal, bVal)\n    }\n    return String(aVal) === String(bVal)\n  })\n}\n\nfunction isIncludedRoute (current, target) {\n  return (\n    current.path.replace(trailingSlashRE, '/').indexOf(\n      target.path.replace(trailingSlashRE, '/')\n    ) === 0 &&\n    (!target.hash || current.hash === target.hash) &&\n    queryIncludes(current.query, target.query)\n  )\n}\n\nfunction queryIncludes (current, target) {\n  for (var key in target) {\n    if (!(key in current)) {\n      return false\n    }\n  }\n  return true\n}\n\nfunction handleRouteEntered (route) {\n  for (var i = 0; i < route.matched.length; i++) {\n    var record = route.matched[i];\n    for (var name in record.instances) {\n      var instance = record.instances[name];\n      var cbs = record.enteredCbs[name];\n      if (!instance || !cbs) { continue }\n      delete record.enteredCbs[name];\n      for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n        if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n      }\n    }\n  }\n}\n\nvar View = {\n  name: 'RouterView',\n  functional: true,\n  props: {\n    name: {\n      type: String,\n      default: 'default'\n    }\n  },\n  render: function render (_, ref) {\n    var props = ref.props;\n    var children = ref.children;\n    var parent = ref.parent;\n    var data = ref.data;\n\n    // used by devtools to display a router-view badge\n    data.routerView = true;\n\n    // directly use parent context's createElement() function\n    // so that components rendered by router-view can resolve named slots\n    var h = parent.$createElement;\n    var name = props.name;\n    var route = parent.$route;\n    var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n    // determine current view depth, also check to see if the tree\n    // has been toggled inactive but kept-alive.\n    var depth = 0;\n    var inactive = false;\n    while (parent && parent._routerRoot !== parent) {\n      var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n      if (vnodeData.routerView) {\n        depth++;\n      }\n      if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n        inactive = true;\n      }\n      parent = parent.$parent;\n    }\n    data.routerViewDepth = depth;\n\n    // render previous view if the tree is inactive and kept-alive\n    if (inactive) {\n      var cachedData = cache[name];\n      var cachedComponent = cachedData && cachedData.component;\n      if (cachedComponent) {\n        // #2301\n        // pass props\n        if (cachedData.configProps) {\n          fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n        }\n        return h(cachedComponent, data, children)\n      } else {\n        // render previous empty view\n        return h()\n      }\n    }\n\n    var matched = route.matched[depth];\n    var component = matched && matched.components[name];\n\n    // render empty node if no matched route or no config component\n    if (!matched || !component) {\n      cache[name] = null;\n      return h()\n    }\n\n    // cache component\n    cache[name] = { component: component };\n\n    // attach instance registration hook\n    // this will be called in the instance's injected lifecycle hooks\n    data.registerRouteInstance = function (vm, val) {\n      // val could be undefined for unregistration\n      var current = matched.instances[name];\n      if (\n        (val && current !== vm) ||\n        (!val && current === vm)\n      ) {\n        matched.instances[name] = val;\n      }\n    }\n\n    // also register instance in prepatch hook\n    // in case the same component instance is reused across different routes\n    ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n      matched.instances[name] = vnode.componentInstance;\n    };\n\n    // register instance in init hook\n    // in case kept-alive component be actived when routes changed\n    data.hook.init = function (vnode) {\n      if (vnode.data.keepAlive &&\n        vnode.componentInstance &&\n        vnode.componentInstance !== matched.instances[name]\n      ) {\n        matched.instances[name] = vnode.componentInstance;\n      }\n\n      // if the route transition has already been confirmed then we weren't\n      // able to call the cbs during confirmation as the component was not\n      // registered yet, so we call it here.\n      handleRouteEntered(route);\n    };\n\n    var configProps = matched.props && matched.props[name];\n    // save route and configProps in cache\n    if (configProps) {\n      extend(cache[name], {\n        route: route,\n        configProps: configProps\n      });\n      fillPropsinData(component, data, route, configProps);\n    }\n\n    return h(component, data, children)\n  }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n  // resolve props\n  var propsToPass = data.props = resolveProps(route, configProps);\n  if (propsToPass) {\n    // clone to prevent mutation\n    propsToPass = data.props = extend({}, propsToPass);\n    // pass non-declared props as attrs\n    var attrs = data.attrs = data.attrs || {};\n    for (var key in propsToPass) {\n      if (!component.props || !(key in component.props)) {\n        attrs[key] = propsToPass[key];\n        delete propsToPass[key];\n      }\n    }\n  }\n}\n\nfunction resolveProps (route, config) {\n  switch (typeof config) {\n    case 'undefined':\n      return\n    case 'object':\n      return config\n    case 'function':\n      return config(route)\n    case 'boolean':\n      return config ? route.params : undefined\n    default:\n      if (process.env.NODE_ENV !== 'production') {\n        warn(\n          false,\n          \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n          \"expecting an object, function or boolean.\"\n        );\n      }\n  }\n}\n\n/*  */\n\nfunction resolvePath (\n  relative,\n  base,\n  append\n) {\n  var firstChar = relative.charAt(0);\n  if (firstChar === '/') {\n    return relative\n  }\n\n  if (firstChar === '?' || firstChar === '#') {\n    return base + relative\n  }\n\n  var stack = base.split('/');\n\n  // remove trailing segment if:\n  // - not appending\n  // - appending to trailing slash (last segment is empty)\n  if (!append || !stack[stack.length - 1]) {\n    stack.pop();\n  }\n\n  // resolve relative path\n  var segments = relative.replace(/^\\//, '').split('/');\n  for (var i = 0; i < segments.length; i++) {\n    var segment = segments[i];\n    if (segment === '..') {\n      stack.pop();\n    } else if (segment !== '.') {\n      stack.push(segment);\n    }\n  }\n\n  // ensure leading slash\n  if (stack[0] !== '') {\n    stack.unshift('');\n  }\n\n  return stack.join('/')\n}\n\nfunction parsePath (path) {\n  var hash = '';\n  var query = '';\n\n  var hashIndex = path.indexOf('#');\n  if (hashIndex >= 0) {\n    hash = path.slice(hashIndex);\n    path = path.slice(0, hashIndex);\n  }\n\n  var queryIndex = path.indexOf('?');\n  if (queryIndex >= 0) {\n    query = path.slice(queryIndex + 1);\n    path = path.slice(0, queryIndex);\n  }\n\n  return {\n    path: path,\n    query: query,\n    hash: hash\n  }\n}\n\nfunction cleanPath (path) {\n  return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n  return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n  // Match escaped characters that would otherwise appear in future matches.\n  // This allows the user to escape special characters that won't transform.\n  '(\\\\\\\\.)',\n  // Match Express-style parameters and un-named parameters with a prefix\n  // and optional suffixes. Matches appear as:\n  //\n  // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n  // \"/route(\\\\d+)\"  => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n  // \"/*\"            => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n  '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param  {string}  str\n * @param  {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n  var tokens = [];\n  var key = 0;\n  var index = 0;\n  var path = '';\n  var defaultDelimiter = options && options.delimiter || '/';\n  var res;\n\n  while ((res = PATH_REGEXP.exec(str)) != null) {\n    var m = res[0];\n    var escaped = res[1];\n    var offset = res.index;\n    path += str.slice(index, offset);\n    index = offset + m.length;\n\n    // Ignore already escaped sequences.\n    if (escaped) {\n      path += escaped[1];\n      continue\n    }\n\n    var next = str[index];\n    var prefix = res[2];\n    var name = res[3];\n    var capture = res[4];\n    var group = res[5];\n    var modifier = res[6];\n    var asterisk = res[7];\n\n    // Push the current path onto the tokens.\n    if (path) {\n      tokens.push(path);\n      path = '';\n    }\n\n    var partial = prefix != null && next != null && next !== prefix;\n    var repeat = modifier === '+' || modifier === '*';\n    var optional = modifier === '?' || modifier === '*';\n    var delimiter = res[2] || defaultDelimiter;\n    var pattern = capture || group;\n\n    tokens.push({\n      name: name || key++,\n      prefix: prefix || '',\n      delimiter: delimiter,\n      optional: optional,\n      repeat: repeat,\n      partial: partial,\n      asterisk: !!asterisk,\n      pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n    });\n  }\n\n  // Match any characters still remaining.\n  if (index < str.length) {\n    path += str.substr(index);\n  }\n\n  // If the path exists, push it onto the end.\n  if (path) {\n    tokens.push(path);\n  }\n\n  return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param  {string}             str\n * @param  {Object=}            options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n  return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n  return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n  return encodeURI(str).replace(/[?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n  // Compile all the tokens into regexps.\n  var matches = new Array(tokens.length);\n\n  // Compile all the patterns before compilation.\n  for (var i = 0; i < tokens.length; i++) {\n    if (typeof tokens[i] === 'object') {\n      matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n    }\n  }\n\n  return function (obj, opts) {\n    var path = '';\n    var data = obj || {};\n    var options = opts || {};\n    var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n    for (var i = 0; i < tokens.length; i++) {\n      var token = tokens[i];\n\n      if (typeof token === 'string') {\n        path += token;\n\n        continue\n      }\n\n      var value = data[token.name];\n      var segment;\n\n      if (value == null) {\n        if (token.optional) {\n          // Prepend partial segment prefixes.\n          if (token.partial) {\n            path += token.prefix;\n          }\n\n          continue\n        } else {\n          throw new TypeError('Expected \"' + token.name + '\" to be defined')\n        }\n      }\n\n      if (isarray(value)) {\n        if (!token.repeat) {\n          throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n        }\n\n        if (value.length === 0) {\n          if (token.optional) {\n            continue\n          } else {\n            throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n          }\n        }\n\n        for (var j = 0; j < value.length; j++) {\n          segment = encode(value[j]);\n\n          if (!matches[i].test(segment)) {\n            throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n          }\n\n          path += (j === 0 ? token.prefix : token.delimiter) + segment;\n        }\n\n        continue\n      }\n\n      segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n      if (!matches[i].test(segment)) {\n        throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n      }\n\n      path += token.prefix + segment;\n    }\n\n    return path\n  }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param  {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n  return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param  {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n  return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param  {!RegExp} re\n * @param  {Array}   keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n  re.keys = keys;\n  return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param  {Object} options\n * @return {string}\n */\nfunction flags (options) {\n  return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param  {!RegExp} path\n * @param  {!Array}  keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n  // Use a negative lookahead to match only capturing groups.\n  var groups = path.source.match(/\\((?!\\?)/g);\n\n  if (groups) {\n    for (var i = 0; i < groups.length; i++) {\n      keys.push({\n        name: i,\n        prefix: null,\n        delimiter: null,\n        optional: false,\n        repeat: false,\n        partial: false,\n        asterisk: false,\n        pattern: null\n      });\n    }\n  }\n\n  return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param  {!Array}  path\n * @param  {Array}   keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n  var parts = [];\n\n  for (var i = 0; i < path.length; i++) {\n    parts.push(pathToRegexp(path[i], keys, options).source);\n  }\n\n  var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n  return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param  {string}  path\n * @param  {!Array}  keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n  return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param  {!Array}          tokens\n * @param  {(Array|Object)=} keys\n * @param  {Object=}         options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options);\n    keys = [];\n  }\n\n  options = options || {};\n\n  var strict = options.strict;\n  var end = options.end !== false;\n  var route = '';\n\n  // Iterate over the tokens and create our regexp string.\n  for (var i = 0; i < tokens.length; i++) {\n    var token = tokens[i];\n\n    if (typeof token === 'string') {\n      route += escapeString(token);\n    } else {\n      var prefix = escapeString(token.prefix);\n      var capture = '(?:' + token.pattern + ')';\n\n      keys.push(token);\n\n      if (token.repeat) {\n        capture += '(?:' + prefix + capture + ')*';\n      }\n\n      if (token.optional) {\n        if (!token.partial) {\n          capture = '(?:' + prefix + '(' + capture + '))?';\n        } else {\n          capture = prefix + '(' + capture + ')?';\n        }\n      } else {\n        capture = prefix + '(' + capture + ')';\n      }\n\n      route += capture;\n    }\n  }\n\n  var delimiter = escapeString(options.delimiter || '/');\n  var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n  // In non-strict mode we allow a slash at the end of match. If the path to\n  // match already ends with a slash, we remove it for consistency. The slash\n  // is valid at the end of a path match, not in the middle. This is important\n  // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n  if (!strict) {\n    route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n  }\n\n  if (end) {\n    route += '$';\n  } else {\n    // In non-ending mode, we need the capturing groups to match as much as\n    // possible by using a positive lookahead to the end or next path segment.\n    route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n  }\n\n  return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param  {(string|RegExp|Array)} path\n * @param  {(Array|Object)=}       keys\n * @param  {Object=}               options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options);\n    keys = [];\n  }\n\n  options = options || {};\n\n  if (path instanceof RegExp) {\n    return regexpToRegexp(path, /** @type {!Array} */ (keys))\n  }\n\n  if (isarray(path)) {\n    return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n  }\n\n  return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/*  */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n  path,\n  params,\n  routeMsg\n) {\n  params = params || {};\n  try {\n    var filler =\n      regexpCompileCache[path] ||\n      (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n    // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n    // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n    if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n    return filler(params, { pretty: true })\n  } catch (e) {\n    if (process.env.NODE_ENV !== 'production') {\n      // Fix #3072 no warn if `pathMatch` is string\n      warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n    }\n    return ''\n  } finally {\n    // delete the 0 if it was added\n    delete params[0];\n  }\n}\n\n/*  */\n\nfunction normalizeLocation (\n  raw,\n  current,\n  append,\n  router\n) {\n  var next = typeof raw === 'string' ? { path: raw } : raw;\n  // named target\n  if (next._normalized) {\n    return next\n  } else if (next.name) {\n    next = extend({}, raw);\n    var params = next.params;\n    if (params && typeof params === 'object') {\n      next.params = extend({}, params);\n    }\n    return next\n  }\n\n  // relative params\n  if (!next.path && next.params && current) {\n    next = extend({}, next);\n    next._normalized = true;\n    var params$1 = extend(extend({}, current.params), next.params);\n    if (current.name) {\n      next.name = current.name;\n      next.params = params$1;\n    } else if (current.matched.length) {\n      var rawPath = current.matched[current.matched.length - 1].path;\n      next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n    } else if (process.env.NODE_ENV !== 'production') {\n      warn(false, \"relative params navigation requires a current route.\");\n    }\n    return next\n  }\n\n  var parsedPath = parsePath(next.path || '');\n  var basePath = (current && current.path) || '/';\n  var path = parsedPath.path\n    ? resolvePath(parsedPath.path, basePath, append || next.append)\n    : basePath;\n\n  var query = resolveQuery(\n    parsedPath.query,\n    next.query,\n    router && router.options.parseQuery\n  );\n\n  var hash = next.hash || parsedPath.hash;\n  if (hash && hash.charAt(0) !== '#') {\n    hash = \"#\" + hash;\n  }\n\n  return {\n    _normalized: true,\n    path: path,\n    query: query,\n    hash: hash\n  }\n}\n\n/*  */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n  name: 'RouterLink',\n  props: {\n    to: {\n      type: toTypes,\n      required: true\n    },\n    tag: {\n      type: String,\n      default: 'a'\n    },\n    custom: Boolean,\n    exact: Boolean,\n    exactPath: Boolean,\n    append: Boolean,\n    replace: Boolean,\n    activeClass: String,\n    exactActiveClass: String,\n    ariaCurrentValue: {\n      type: String,\n      default: 'page'\n    },\n    event: {\n      type: eventTypes,\n      default: 'click'\n    }\n  },\n  render: function render (h) {\n    var this$1 = this;\n\n    var router = this.$router;\n    var current = this.$route;\n    var ref = router.resolve(\n      this.to,\n      current,\n      this.append\n    );\n    var location = ref.location;\n    var route = ref.route;\n    var href = ref.href;\n\n    var classes = {};\n    var globalActiveClass = router.options.linkActiveClass;\n    var globalExactActiveClass = router.options.linkExactActiveClass;\n    // Support global empty active class\n    var activeClassFallback =\n      globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n    var exactActiveClassFallback =\n      globalExactActiveClass == null\n        ? 'router-link-exact-active'\n        : globalExactActiveClass;\n    var activeClass =\n      this.activeClass == null ? activeClassFallback : this.activeClass;\n    var exactActiveClass =\n      this.exactActiveClass == null\n        ? exactActiveClassFallback\n        : this.exactActiveClass;\n\n    var compareTarget = route.redirectedFrom\n      ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n      : route;\n\n    classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n    classes[activeClass] = this.exact || this.exactPath\n      ? classes[exactActiveClass]\n      : isIncludedRoute(current, compareTarget);\n\n    var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n    var handler = function (e) {\n      if (guardEvent(e)) {\n        if (this$1.replace) {\n          router.replace(location, noop);\n        } else {\n          router.push(location, noop);\n        }\n      }\n    };\n\n    var on = { click: guardEvent };\n    if (Array.isArray(this.event)) {\n      this.event.forEach(function (e) {\n        on[e] = handler;\n      });\n    } else {\n      on[this.event] = handler;\n    }\n\n    var data = { class: classes };\n\n    var scopedSlot =\n      !this.$scopedSlots.$hasNormal &&\n      this.$scopedSlots.default &&\n      this.$scopedSlots.default({\n        href: href,\n        route: route,\n        navigate: handler,\n        isActive: classes[activeClass],\n        isExactActive: classes[exactActiveClass]\n      });\n\n    if (scopedSlot) {\n      if (process.env.NODE_ENV !== 'production' && !this.custom) {\n        !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n        warnedCustomSlot = true;\n      }\n      if (scopedSlot.length === 1) {\n        return scopedSlot[0]\n      } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\n            false,\n            (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n          );\n        }\n        return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n      }\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      if ('tag' in this.$options.propsData && !warnedTagProp) {\n        warn(\n          false,\n          \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n        );\n        warnedTagProp = true;\n      }\n      if ('event' in this.$options.propsData && !warnedEventProp) {\n        warn(\n          false,\n          \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n        );\n        warnedEventProp = true;\n      }\n    }\n\n    if (this.tag === 'a') {\n      data.on = on;\n      data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n    } else {\n      // find the first <a> child and apply listener and href\n      var a = findAnchor(this.$slots.default);\n      if (a) {\n        // in case the <a> is a static node\n        a.isStatic = false;\n        var aData = (a.data = extend({}, a.data));\n        aData.on = aData.on || {};\n        // transform existing events in both objects into arrays so we can push later\n        for (var event in aData.on) {\n          var handler$1 = aData.on[event];\n          if (event in on) {\n            aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n          }\n        }\n        // append new listeners for router-link\n        for (var event$1 in on) {\n          if (event$1 in aData.on) {\n            // on[event] is always a function\n            aData.on[event$1].push(on[event$1]);\n          } else {\n            aData.on[event$1] = handler;\n          }\n        }\n\n        var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n        aAttrs.href = href;\n        aAttrs['aria-current'] = ariaCurrentValue;\n      } else {\n        // doesn't have <a> child, apply listener to self\n        data.on = on;\n      }\n    }\n\n    return h(this.tag, data, this.$slots.default)\n  }\n};\n\nfunction guardEvent (e) {\n  // don't redirect with control keys\n  if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n  // don't redirect when preventDefault called\n  if (e.defaultPrevented) { return }\n  // don't redirect on right click\n  if (e.button !== undefined && e.button !== 0) { return }\n  // don't redirect if `target=\"_blank\"`\n  if (e.currentTarget && e.currentTarget.getAttribute) {\n    var target = e.currentTarget.getAttribute('target');\n    if (/\\b_blank\\b/i.test(target)) { return }\n  }\n  // this may be a Weex event which doesn't have this method\n  if (e.preventDefault) {\n    e.preventDefault();\n  }\n  return true\n}\n\nfunction findAnchor (children) {\n  if (children) {\n    var child;\n    for (var i = 0; i < children.length; i++) {\n      child = children[i];\n      if (child.tag === 'a') {\n        return child\n      }\n      if (child.children && (child = findAnchor(child.children))) {\n        return child\n      }\n    }\n  }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n  if (install.installed && _Vue === Vue) { return }\n  install.installed = true;\n\n  _Vue = Vue;\n\n  var isDef = function (v) { return v !== undefined; };\n\n  var registerInstance = function (vm, callVal) {\n    var i = vm.$options._parentVnode;\n    if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n      i(vm, callVal);\n    }\n  };\n\n  Vue.mixin({\n    beforeCreate: function beforeCreate () {\n      if (isDef(this.$options.router)) {\n        this._routerRoot = this;\n        this._router = this.$options.router;\n        this._router.init(this);\n        Vue.util.defineReactive(this, '_route', this._router.history.current);\n      } else {\n        this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n      }\n      registerInstance(this, this);\n    },\n    destroyed: function destroyed () {\n      registerInstance(this);\n    }\n  });\n\n  Object.defineProperty(Vue.prototype, '$router', {\n    get: function get () { return this._routerRoot._router }\n  });\n\n  Object.defineProperty(Vue.prototype, '$route', {\n    get: function get () { return this._routerRoot._route }\n  });\n\n  Vue.component('RouterView', View);\n  Vue.component('RouterLink', Link);\n\n  var strats = Vue.config.optionMergeStrategies;\n  // use the same hook merging strategy for route hooks\n  strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/*  */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/*  */\n\nfunction createRouteMap (\n  routes,\n  oldPathList,\n  oldPathMap,\n  oldNameMap,\n  parentRoute\n) {\n  // the path list is used to control path matching priority\n  var pathList = oldPathList || [];\n  // $flow-disable-line\n  var pathMap = oldPathMap || Object.create(null);\n  // $flow-disable-line\n  var nameMap = oldNameMap || Object.create(null);\n\n  routes.forEach(function (route) {\n    addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n  });\n\n  // ensure wildcard routes are always at the end\n  for (var i = 0, l = pathList.length; i < l; i++) {\n    if (pathList[i] === '*') {\n      pathList.push(pathList.splice(i, 1)[0]);\n      l--;\n      i--;\n    }\n  }\n\n  if (process.env.NODE_ENV === 'development') {\n    // warn if routes do not include leading slashes\n    var found = pathList\n    // check for missing leading slash\n      .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n    if (found.length > 0) {\n      var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n      warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n    }\n  }\n\n  return {\n    pathList: pathList,\n    pathMap: pathMap,\n    nameMap: nameMap\n  }\n}\n\nfunction addRouteRecord (\n  pathList,\n  pathMap,\n  nameMap,\n  route,\n  parent,\n  matchAs\n) {\n  var path = route.path;\n  var name = route.name;\n  if (process.env.NODE_ENV !== 'production') {\n    assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n    assert(\n      typeof route.component !== 'string',\n      \"route config \\\"component\\\" for path: \" + (String(\n        path || name\n      )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n    );\n\n    warn(\n      // eslint-disable-next-line no-control-regex\n      !/[^\\u0000-\\u007F]+/.test(path),\n      \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n        \"your path is correctly encoded before passing it to the router. Use \" +\n        \"encodeURI to encode static segments of your path.\"\n    );\n  }\n\n  var pathToRegexpOptions =\n    route.pathToRegexpOptions || {};\n  var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n  if (typeof route.caseSensitive === 'boolean') {\n    pathToRegexpOptions.sensitive = route.caseSensitive;\n  }\n\n  var record = {\n    path: normalizedPath,\n    regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n    components: route.components || { default: route.component },\n    alias: route.alias\n      ? typeof route.alias === 'string'\n        ? [route.alias]\n        : route.alias\n      : [],\n    instances: {},\n    enteredCbs: {},\n    name: name,\n    parent: parent,\n    matchAs: matchAs,\n    redirect: route.redirect,\n    beforeEnter: route.beforeEnter,\n    meta: route.meta || {},\n    props:\n      route.props == null\n        ? {}\n        : route.components\n          ? route.props\n          : { default: route.props }\n  };\n\n  if (route.children) {\n    // Warn if route is named, does not redirect and has a default child route.\n    // If users navigate to this route by name, the default child will\n    // not be rendered (GH Issue #629)\n    if (process.env.NODE_ENV !== 'production') {\n      if (\n        route.name &&\n        !route.redirect &&\n        route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n      ) {\n        warn(\n          false,\n          \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n            \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n            \"the default child route will not be rendered. Remove the name from \" +\n            \"this route and use the name of the default child route for named \" +\n            \"links instead.\"\n        );\n      }\n    }\n    route.children.forEach(function (child) {\n      var childMatchAs = matchAs\n        ? cleanPath((matchAs + \"/\" + (child.path)))\n        : undefined;\n      addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n    });\n  }\n\n  if (!pathMap[record.path]) {\n    pathList.push(record.path);\n    pathMap[record.path] = record;\n  }\n\n  if (route.alias !== undefined) {\n    var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n    for (var i = 0; i < aliases.length; ++i) {\n      var alias = aliases[i];\n      if (process.env.NODE_ENV !== 'production' && alias === path) {\n        warn(\n          false,\n          (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n        );\n        // skip in dev to make it work\n        continue\n      }\n\n      var aliasRoute = {\n        path: alias,\n        children: route.children\n      };\n      addRouteRecord(\n        pathList,\n        pathMap,\n        nameMap,\n        aliasRoute,\n        parent,\n        record.path || '/' // matchAs\n      );\n    }\n  }\n\n  if (name) {\n    if (!nameMap[name]) {\n      nameMap[name] = record;\n    } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n      warn(\n        false,\n        \"Duplicate named routes definition: \" +\n          \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n      );\n    }\n  }\n}\n\nfunction compileRouteRegex (\n  path,\n  pathToRegexpOptions\n) {\n  var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n  if (process.env.NODE_ENV !== 'production') {\n    var keys = Object.create(null);\n    regex.keys.forEach(function (key) {\n      warn(\n        !keys[key.name],\n        (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n      );\n      keys[key.name] = true;\n    });\n  }\n  return regex\n}\n\nfunction normalizePath (\n  path,\n  parent,\n  strict\n) {\n  if (!strict) { path = path.replace(/\\/$/, ''); }\n  if (path[0] === '/') { return path }\n  if (parent == null) { return path }\n  return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/*  */\n\n\n\nfunction createMatcher (\n  routes,\n  router\n) {\n  var ref = createRouteMap(routes);\n  var pathList = ref.pathList;\n  var pathMap = ref.pathMap;\n  var nameMap = ref.nameMap;\n\n  function addRoutes (routes) {\n    createRouteMap(routes, pathList, pathMap, nameMap);\n  }\n\n  function addRoute (parentOrRoute, route) {\n    var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n    // $flow-disable-line\n    createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n    // add aliases of parent\n    if (parent && parent.alias.length) {\n      createRouteMap(\n        // $flow-disable-line route is defined if parent is\n        parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n        pathList,\n        pathMap,\n        nameMap,\n        parent\n      );\n    }\n  }\n\n  function getRoutes () {\n    return pathList.map(function (path) { return pathMap[path]; })\n  }\n\n  function match (\n    raw,\n    currentRoute,\n    redirectedFrom\n  ) {\n    var location = normalizeLocation(raw, currentRoute, false, router);\n    var name = location.name;\n\n    if (name) {\n      var record = nameMap[name];\n      if (process.env.NODE_ENV !== 'production') {\n        warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n      }\n      if (!record) { return _createRoute(null, location) }\n      var paramNames = record.regex.keys\n        .filter(function (key) { return !key.optional; })\n        .map(function (key) { return key.name; });\n\n      if (typeof location.params !== 'object') {\n        location.params = {};\n      }\n\n      if (currentRoute && typeof currentRoute.params === 'object') {\n        for (var key in currentRoute.params) {\n          if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n            location.params[key] = currentRoute.params[key];\n          }\n        }\n      }\n\n      location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n      return _createRoute(record, location, redirectedFrom)\n    } else if (location.path) {\n      location.params = {};\n      for (var i = 0; i < pathList.length; i++) {\n        var path = pathList[i];\n        var record$1 = pathMap[path];\n        if (matchRoute(record$1.regex, location.path, location.params)) {\n          return _createRoute(record$1, location, redirectedFrom)\n        }\n      }\n    }\n    // no match\n    return _createRoute(null, location)\n  }\n\n  function redirect (\n    record,\n    location\n  ) {\n    var originalRedirect = record.redirect;\n    var redirect = typeof originalRedirect === 'function'\n      ? originalRedirect(createRoute(record, location, null, router))\n      : originalRedirect;\n\n    if (typeof redirect === 'string') {\n      redirect = { path: redirect };\n    }\n\n    if (!redirect || typeof redirect !== 'object') {\n      if (process.env.NODE_ENV !== 'production') {\n        warn(\n          false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n        );\n      }\n      return _createRoute(null, location)\n    }\n\n    var re = redirect;\n    var name = re.name;\n    var path = re.path;\n    var query = location.query;\n    var hash = location.hash;\n    var params = location.params;\n    query = re.hasOwnProperty('query') ? re.query : query;\n    hash = re.hasOwnProperty('hash') ? re.hash : hash;\n    params = re.hasOwnProperty('params') ? re.params : params;\n\n    if (name) {\n      // resolved named direct\n      var targetRecord = nameMap[name];\n      if (process.env.NODE_ENV !== 'production') {\n        assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n      }\n      return match({\n        _normalized: true,\n        name: name,\n        query: query,\n        hash: hash,\n        params: params\n      }, undefined, location)\n    } else if (path) {\n      // 1. resolve relative redirect\n      var rawPath = resolveRecordPath(path, record);\n      // 2. resolve params\n      var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n      // 3. rematch with existing query and hash\n      return match({\n        _normalized: true,\n        path: resolvedPath,\n        query: query,\n        hash: hash\n      }, undefined, location)\n    } else {\n      if (process.env.NODE_ENV !== 'production') {\n        warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n      }\n      return _createRoute(null, location)\n    }\n  }\n\n  function alias (\n    record,\n    location,\n    matchAs\n  ) {\n    var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n    var aliasedMatch = match({\n      _normalized: true,\n      path: aliasedPath\n    });\n    if (aliasedMatch) {\n      var matched = aliasedMatch.matched;\n      var aliasedRecord = matched[matched.length - 1];\n      location.params = aliasedMatch.params;\n      return _createRoute(aliasedRecord, location)\n    }\n    return _createRoute(null, location)\n  }\n\n  function _createRoute (\n    record,\n    location,\n    redirectedFrom\n  ) {\n    if (record && record.redirect) {\n      return redirect(record, redirectedFrom || location)\n    }\n    if (record && record.matchAs) {\n      return alias(record, location, record.matchAs)\n    }\n    return createRoute(record, location, redirectedFrom, router)\n  }\n\n  return {\n    match: match,\n    addRoute: addRoute,\n    getRoutes: getRoutes,\n    addRoutes: addRoutes\n  }\n}\n\nfunction matchRoute (\n  regex,\n  path,\n  params\n) {\n  var m = path.match(regex);\n\n  if (!m) {\n    return false\n  } else if (!params) {\n    return true\n  }\n\n  for (var i = 1, len = m.length; i < len; ++i) {\n    var key = regex.keys[i - 1];\n    if (key) {\n      // Fix #1994: using * with props: true generates a param named 0\n      params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n    }\n  }\n\n  return true\n}\n\nfunction resolveRecordPath (path, record) {\n  return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/*  */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n  inBrowser && window.performance && window.performance.now\n    ? window.performance\n    : Date;\n\nfunction genStateKey () {\n  return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n  return _key\n}\n\nfunction setStateKey (key) {\n  return (_key = key)\n}\n\n/*  */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n  // Prevent browser scroll behavior on History popstate\n  if ('scrollRestoration' in window.history) {\n    window.history.scrollRestoration = 'manual';\n  }\n  // Fix for #1585 for Firefox\n  // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n  // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n  // window.location.protocol + '//' + window.location.host\n  // location.host contains the port and location.hostname doesn't\n  var protocolAndPath = window.location.protocol + '//' + window.location.host;\n  var absolutePath = window.location.href.replace(protocolAndPath, '');\n  // preserve existing history state as it could be overriden by the user\n  var stateCopy = extend({}, window.history.state);\n  stateCopy.key = getStateKey();\n  window.history.replaceState(stateCopy, '', absolutePath);\n  window.addEventListener('popstate', handlePopState);\n  return function () {\n    window.removeEventListener('popstate', handlePopState);\n  }\n}\n\nfunction handleScroll (\n  router,\n  to,\n  from,\n  isPop\n) {\n  if (!router.app) {\n    return\n  }\n\n  var behavior = router.options.scrollBehavior;\n  if (!behavior) {\n    return\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n  }\n\n  // wait until re-render finishes before scrolling\n  router.app.$nextTick(function () {\n    var position = getScrollPosition();\n    var shouldScroll = behavior.call(\n      router,\n      to,\n      from,\n      isPop ? position : null\n    );\n\n    if (!shouldScroll) {\n      return\n    }\n\n    if (typeof shouldScroll.then === 'function') {\n      shouldScroll\n        .then(function (shouldScroll) {\n          scrollToPosition((shouldScroll), position);\n        })\n        .catch(function (err) {\n          if (process.env.NODE_ENV !== 'production') {\n            assert(false, err.toString());\n          }\n        });\n    } else {\n      scrollToPosition(shouldScroll, position);\n    }\n  });\n}\n\nfunction saveScrollPosition () {\n  var key = getStateKey();\n  if (key) {\n    positionStore[key] = {\n      x: window.pageXOffset,\n      y: window.pageYOffset\n    };\n  }\n}\n\nfunction handlePopState (e) {\n  saveScrollPosition();\n  if (e.state && e.state.key) {\n    setStateKey(e.state.key);\n  }\n}\n\nfunction getScrollPosition () {\n  var key = getStateKey();\n  if (key) {\n    return positionStore[key]\n  }\n}\n\nfunction getElementPosition (el, offset) {\n  var docEl = document.documentElement;\n  var docRect = docEl.getBoundingClientRect();\n  var elRect = el.getBoundingClientRect();\n  return {\n    x: elRect.left - docRect.left - offset.x,\n    y: elRect.top - docRect.top - offset.y\n  }\n}\n\nfunction isValidPosition (obj) {\n  return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n  return {\n    x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n    y: isNumber(obj.y) ? obj.y : window.pageYOffset\n  }\n}\n\nfunction normalizeOffset (obj) {\n  return {\n    x: isNumber(obj.x) ? obj.x : 0,\n    y: isNumber(obj.y) ? obj.y : 0\n  }\n}\n\nfunction isNumber (v) {\n  return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n  var isObject = typeof shouldScroll === 'object';\n  if (isObject && typeof shouldScroll.selector === 'string') {\n    // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n    // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n    var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n      ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n      : document.querySelector(shouldScroll.selector);\n\n    if (el) {\n      var offset =\n        shouldScroll.offset && typeof shouldScroll.offset === 'object'\n          ? shouldScroll.offset\n          : {};\n      offset = normalizeOffset(offset);\n      position = getElementPosition(el, offset);\n    } else if (isValidPosition(shouldScroll)) {\n      position = normalizePosition(shouldScroll);\n    }\n  } else if (isObject && isValidPosition(shouldScroll)) {\n    position = normalizePosition(shouldScroll);\n  }\n\n  if (position) {\n    // $flow-disable-line\n    if ('scrollBehavior' in document.documentElement.style) {\n      window.scrollTo({\n        left: position.x,\n        top: position.y,\n        // $flow-disable-line\n        behavior: shouldScroll.behavior\n      });\n    } else {\n      window.scrollTo(position.x, position.y);\n    }\n  }\n}\n\n/*  */\n\nvar supportsPushState =\n  inBrowser &&\n  (function () {\n    var ua = window.navigator.userAgent;\n\n    if (\n      (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n      ua.indexOf('Mobile Safari') !== -1 &&\n      ua.indexOf('Chrome') === -1 &&\n      ua.indexOf('Windows Phone') === -1\n    ) {\n      return false\n    }\n\n    return window.history && typeof window.history.pushState === 'function'\n  })();\n\nfunction pushState (url, replace) {\n  saveScrollPosition();\n  // try...catch the pushState call to get around Safari\n  // DOM Exception 18 where it limits to 100 pushState calls\n  var history = window.history;\n  try {\n    if (replace) {\n      // preserve existing history state as it could be overriden by the user\n      var stateCopy = extend({}, history.state);\n      stateCopy.key = getStateKey();\n      history.replaceState(stateCopy, '', url);\n    } else {\n      history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n    }\n  } catch (e) {\n    window.location[replace ? 'replace' : 'assign'](url);\n  }\n}\n\nfunction replaceState (url) {\n  pushState(url, true);\n}\n\n/*  */\n\nfunction runQueue (queue, fn, cb) {\n  var step = function (index) {\n    if (index >= queue.length) {\n      cb();\n    } else {\n      if (queue[index]) {\n        fn(queue[index], function () {\n          step(index + 1);\n        });\n      } else {\n        step(index + 1);\n      }\n    }\n  };\n  step(0);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n  redirected: 2,\n  aborted: 4,\n  cancelled: 8,\n  duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.redirected,\n    (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n      to\n    )) + \"\\\" via a navigation guard.\")\n  )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n  var error = createRouterError(\n    from,\n    to,\n    NavigationFailureType.duplicated,\n    (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n  );\n  // backwards compatible with the first introduction of Errors\n  error.name = 'NavigationDuplicated';\n  return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.cancelled,\n    (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n  )\n}\n\nfunction createNavigationAbortedError (from, to) {\n  return createRouterError(\n    from,\n    to,\n    NavigationFailureType.aborted,\n    (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n  )\n}\n\nfunction createRouterError (from, to, type, message) {\n  var error = new Error(message);\n  error._isRouter = true;\n  error.from = from;\n  error.to = to;\n  error.type = type;\n\n  return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n  if (typeof to === 'string') { return to }\n  if ('path' in to) { return to.path }\n  var location = {};\n  propertiesToLog.forEach(function (key) {\n    if (key in to) { location[key] = to[key]; }\n  });\n  return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n  return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n  return (\n    isError(err) &&\n    err._isRouter &&\n    (errorType == null || err.type === errorType)\n  )\n}\n\n/*  */\n\nfunction resolveAsyncComponents (matched) {\n  return function (to, from, next) {\n    var hasAsync = false;\n    var pending = 0;\n    var error = null;\n\n    flatMapComponents(matched, function (def, _, match, key) {\n      // if it's a function and doesn't have cid attached,\n      // assume it's an async component resolve function.\n      // we are not using Vue's default async resolving mechanism because\n      // we want to halt the navigation until the incoming component has been\n      // resolved.\n      if (typeof def === 'function' && def.cid === undefined) {\n        hasAsync = true;\n        pending++;\n\n        var resolve = once(function (resolvedDef) {\n          if (isESModule(resolvedDef)) {\n            resolvedDef = resolvedDef.default;\n          }\n          // save resolved on async factory in case it's used elsewhere\n          def.resolved = typeof resolvedDef === 'function'\n            ? resolvedDef\n            : _Vue.extend(resolvedDef);\n          match.components[key] = resolvedDef;\n          pending--;\n          if (pending <= 0) {\n            next();\n          }\n        });\n\n        var reject = once(function (reason) {\n          var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n          process.env.NODE_ENV !== 'production' && warn(false, msg);\n          if (!error) {\n            error = isError(reason)\n              ? reason\n              : new Error(msg);\n            next(error);\n          }\n        });\n\n        var res;\n        try {\n          res = def(resolve, reject);\n        } catch (e) {\n          reject(e);\n        }\n        if (res) {\n          if (typeof res.then === 'function') {\n            res.then(resolve, reject);\n          } else {\n            // new syntax in Vue 2.3\n            var comp = res.component;\n            if (comp && typeof comp.then === 'function') {\n              comp.then(resolve, reject);\n            }\n          }\n        }\n      }\n    });\n\n    if (!hasAsync) { next(); }\n  }\n}\n\nfunction flatMapComponents (\n  matched,\n  fn\n) {\n  return flatten(matched.map(function (m) {\n    return Object.keys(m.components).map(function (key) { return fn(\n      m.components[key],\n      m.instances[key],\n      m, key\n    ); })\n  }))\n}\n\nfunction flatten (arr) {\n  return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n  typeof Symbol === 'function' &&\n  typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n  return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n  var called = false;\n  return function () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    if (called) { return }\n    called = true;\n    return fn.apply(this, args)\n  }\n}\n\n/*  */\n\nvar History = function History (router, base) {\n  this.router = router;\n  this.base = normalizeBase(base);\n  // start with a route object that stands for \"nowhere\"\n  this.current = START;\n  this.pending = null;\n  this.ready = false;\n  this.readyCbs = [];\n  this.readyErrorCbs = [];\n  this.errorCbs = [];\n  this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n  this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n  if (this.ready) {\n    cb();\n  } else {\n    this.readyCbs.push(cb);\n    if (errorCb) {\n      this.readyErrorCbs.push(errorCb);\n    }\n  }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n  this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n  location,\n  onComplete,\n  onAbort\n) {\n    var this$1 = this;\n\n  var route;\n  // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n  try {\n    route = this.router.match(location, this.current);\n  } catch (e) {\n    this.errorCbs.forEach(function (cb) {\n      cb(e);\n    });\n    // Exception should still be thrown\n    throw e\n  }\n  var prev = this.current;\n  this.confirmTransition(\n    route,\n    function () {\n      this$1.updateRoute(route);\n      onComplete && onComplete(route);\n      this$1.ensureURL();\n      this$1.router.afterHooks.forEach(function (hook) {\n        hook && hook(route, prev);\n      });\n\n      // fire ready cbs once\n      if (!this$1.ready) {\n        this$1.ready = true;\n        this$1.readyCbs.forEach(function (cb) {\n          cb(route);\n        });\n      }\n    },\n    function (err) {\n      if (onAbort) {\n        onAbort(err);\n      }\n      if (err && !this$1.ready) {\n        // Initial redirection should not mark the history as ready yet\n        // because it's triggered by the redirection instead\n        // https://github.com/vuejs/vue-router/issues/3225\n        // https://github.com/vuejs/vue-router/issues/3331\n        if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n          this$1.ready = true;\n          this$1.readyErrorCbs.forEach(function (cb) {\n            cb(err);\n          });\n        }\n      }\n    }\n  );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n    var this$1 = this;\n\n  var current = this.current;\n  this.pending = route;\n  var abort = function (err) {\n    // changed after adding errors with\n    // https://github.com/vuejs/vue-router/pull/3047 before that change,\n    // redirect and aborted navigation would produce an err == null\n    if (!isNavigationFailure(err) && isError(err)) {\n      if (this$1.errorCbs.length) {\n        this$1.errorCbs.forEach(function (cb) {\n          cb(err);\n        });\n      } else {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(false, 'uncaught error during route navigation:');\n        }\n        console.error(err);\n      }\n    }\n    onAbort && onAbort(err);\n  };\n  var lastRouteIndex = route.matched.length - 1;\n  var lastCurrentIndex = current.matched.length - 1;\n  if (\n    isSameRoute(route, current) &&\n    // in the case the route map has been dynamically appended to\n    lastRouteIndex === lastCurrentIndex &&\n    route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n  ) {\n    this.ensureURL();\n    if (route.hash) {\n      handleScroll(this.router, current, route, false);\n    }\n    return abort(createNavigationDuplicatedError(current, route))\n  }\n\n  var ref = resolveQueue(\n    this.current.matched,\n    route.matched\n  );\n    var updated = ref.updated;\n    var deactivated = ref.deactivated;\n    var activated = ref.activated;\n\n  var queue = [].concat(\n    // in-component leave guards\n    extractLeaveGuards(deactivated),\n    // global before hooks\n    this.router.beforeHooks,\n    // in-component update hooks\n    extractUpdateHooks(updated),\n    // in-config enter guards\n    activated.map(function (m) { return m.beforeEnter; }),\n    // async components\n    resolveAsyncComponents(activated)\n  );\n\n  var iterator = function (hook, next) {\n    if (this$1.pending !== route) {\n      return abort(createNavigationCancelledError(current, route))\n    }\n    try {\n      hook(route, current, function (to) {\n        if (to === false) {\n          // next(false) -> abort navigation, ensure current URL\n          this$1.ensureURL(true);\n          abort(createNavigationAbortedError(current, route));\n        } else if (isError(to)) {\n          this$1.ensureURL(true);\n          abort(to);\n        } else if (\n          typeof to === 'string' ||\n          (typeof to === 'object' &&\n            (typeof to.path === 'string' || typeof to.name === 'string'))\n        ) {\n          // next('/') or next({ path: '/' }) -> redirect\n          abort(createNavigationRedirectedError(current, route));\n          if (typeof to === 'object' && to.replace) {\n            this$1.replace(to);\n          } else {\n            this$1.push(to);\n          }\n        } else {\n          // confirm transition and pass on the value\n          next(to);\n        }\n      });\n    } catch (e) {\n      abort(e);\n    }\n  };\n\n  runQueue(queue, iterator, function () {\n    // wait until async components are resolved before\n    // extracting in-component enter guards\n    var enterGuards = extractEnterGuards(activated);\n    var queue = enterGuards.concat(this$1.router.resolveHooks);\n    runQueue(queue, iterator, function () {\n      if (this$1.pending !== route) {\n        return abort(createNavigationCancelledError(current, route))\n      }\n      this$1.pending = null;\n      onComplete(route);\n      if (this$1.router.app) {\n        this$1.router.app.$nextTick(function () {\n          handleRouteEntered(route);\n        });\n      }\n    });\n  });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n  this.current = route;\n  this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n  // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n  // clean up event listeners\n  // https://github.com/vuejs/vue-router/issues/2341\n  this.listeners.forEach(function (cleanupListener) {\n    cleanupListener();\n  });\n  this.listeners = [];\n\n  // reset current history route\n  // https://github.com/vuejs/vue-router/issues/3294\n  this.current = START;\n  this.pending = null;\n};\n\nfunction normalizeBase (base) {\n  if (!base) {\n    if (inBrowser) {\n      // respect <base> tag\n      var baseEl = document.querySelector('base');\n      base = (baseEl && baseEl.getAttribute('href')) || '/';\n      // strip full URL origin\n      base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n    } else {\n      base = '/';\n    }\n  }\n  // make sure there's the starting slash\n  if (base.charAt(0) !== '/') {\n    base = '/' + base;\n  }\n  // remove trailing slash\n  return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n  current,\n  next\n) {\n  var i;\n  var max = Math.max(current.length, next.length);\n  for (i = 0; i < max; i++) {\n    if (current[i] !== next[i]) {\n      break\n    }\n  }\n  return {\n    updated: next.slice(0, i),\n    activated: next.slice(i),\n    deactivated: current.slice(i)\n  }\n}\n\nfunction extractGuards (\n  records,\n  name,\n  bind,\n  reverse\n) {\n  var guards = flatMapComponents(records, function (def, instance, match, key) {\n    var guard = extractGuard(def, name);\n    if (guard) {\n      return Array.isArray(guard)\n        ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n        : bind(guard, instance, match, key)\n    }\n  });\n  return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n  def,\n  key\n) {\n  if (typeof def !== 'function') {\n    // extend now so that global mixins are applied.\n    def = _Vue.extend(def);\n  }\n  return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n  return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n  return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n  if (instance) {\n    return function boundRouteGuard () {\n      return guard.apply(instance, arguments)\n    }\n  }\n}\n\nfunction extractEnterGuards (\n  activated\n) {\n  return extractGuards(\n    activated,\n    'beforeRouteEnter',\n    function (guard, _, match, key) {\n      return bindEnterGuard(guard, match, key)\n    }\n  )\n}\n\nfunction bindEnterGuard (\n  guard,\n  match,\n  key\n) {\n  return function routeEnterGuard (to, from, next) {\n    return guard(to, from, function (cb) {\n      if (typeof cb === 'function') {\n        if (!match.enteredCbs[key]) {\n          match.enteredCbs[key] = [];\n        }\n        match.enteredCbs[key].push(cb);\n      }\n      next(cb);\n    })\n  }\n}\n\n/*  */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n  function HTML5History (router, base) {\n    History.call(this, router, base);\n\n    this._startLocation = getLocation(this.base);\n  }\n\n  if ( History ) HTML5History.__proto__ = History;\n  HTML5History.prototype = Object.create( History && History.prototype );\n  HTML5History.prototype.constructor = HTML5History;\n\n  HTML5History.prototype.setupListeners = function setupListeners () {\n    var this$1 = this;\n\n    if (this.listeners.length > 0) {\n      return\n    }\n\n    var router = this.router;\n    var expectScroll = router.options.scrollBehavior;\n    var supportsScroll = supportsPushState && expectScroll;\n\n    if (supportsScroll) {\n      this.listeners.push(setupScroll());\n    }\n\n    var handleRoutingEvent = function () {\n      var current = this$1.current;\n\n      // Avoiding first `popstate` event dispatched in some browsers but first\n      // history route not updated since async guard at the same time.\n      var location = getLocation(this$1.base);\n      if (this$1.current === START && location === this$1._startLocation) {\n        return\n      }\n\n      this$1.transitionTo(location, function (route) {\n        if (supportsScroll) {\n          handleScroll(router, route, current, true);\n        }\n      });\n    };\n    window.addEventListener('popstate', handleRoutingEvent);\n    this.listeners.push(function () {\n      window.removeEventListener('popstate', handleRoutingEvent);\n    });\n  };\n\n  HTML5History.prototype.go = function go (n) {\n    window.history.go(n);\n  };\n\n  HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(location, function (route) {\n      pushState(cleanPath(this$1.base + route.fullPath));\n      handleScroll(this$1.router, route, fromRoute, false);\n      onComplete && onComplete(route);\n    }, onAbort);\n  };\n\n  HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(location, function (route) {\n      replaceState(cleanPath(this$1.base + route.fullPath));\n      handleScroll(this$1.router, route, fromRoute, false);\n      onComplete && onComplete(route);\n    }, onAbort);\n  };\n\n  HTML5History.prototype.ensureURL = function ensureURL (push) {\n    if (getLocation(this.base) !== this.current.fullPath) {\n      var current = cleanPath(this.base + this.current.fullPath);\n      push ? pushState(current) : replaceState(current);\n    }\n  };\n\n  HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n    return getLocation(this.base)\n  };\n\n  return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n  var path = window.location.pathname;\n  var pathLowerCase = path.toLowerCase();\n  var baseLowerCase = base.toLowerCase();\n  // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n  // https://github.com/vuejs/vue-router/issues/3555\n  // so we ensure the trailing slash in the base\n  if (base && ((pathLowerCase === baseLowerCase) ||\n    (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n    path = path.slice(base.length);\n  }\n  return (path || '/') + window.location.search + window.location.hash\n}\n\n/*  */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n  function HashHistory (router, base, fallback) {\n    History.call(this, router, base);\n    // check history fallback deeplinking\n    if (fallback && checkFallback(this.base)) {\n      return\n    }\n    ensureSlash();\n  }\n\n  if ( History ) HashHistory.__proto__ = History;\n  HashHistory.prototype = Object.create( History && History.prototype );\n  HashHistory.prototype.constructor = HashHistory;\n\n  // this is delayed until the app mounts\n  // to avoid the hashchange listener being fired too early\n  HashHistory.prototype.setupListeners = function setupListeners () {\n    var this$1 = this;\n\n    if (this.listeners.length > 0) {\n      return\n    }\n\n    var router = this.router;\n    var expectScroll = router.options.scrollBehavior;\n    var supportsScroll = supportsPushState && expectScroll;\n\n    if (supportsScroll) {\n      this.listeners.push(setupScroll());\n    }\n\n    var handleRoutingEvent = function () {\n      var current = this$1.current;\n      if (!ensureSlash()) {\n        return\n      }\n      this$1.transitionTo(getHash(), function (route) {\n        if (supportsScroll) {\n          handleScroll(this$1.router, route, current, true);\n        }\n        if (!supportsPushState) {\n          replaceHash(route.fullPath);\n        }\n      });\n    };\n    var eventType = supportsPushState ? 'popstate' : 'hashchange';\n    window.addEventListener(\n      eventType,\n      handleRoutingEvent\n    );\n    this.listeners.push(function () {\n      window.removeEventListener(eventType, handleRoutingEvent);\n    });\n  };\n\n  HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(\n      location,\n      function (route) {\n        pushHash(route.fullPath);\n        handleScroll(this$1.router, route, fromRoute, false);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    var ref = this;\n    var fromRoute = ref.current;\n    this.transitionTo(\n      location,\n      function (route) {\n        replaceHash(route.fullPath);\n        handleScroll(this$1.router, route, fromRoute, false);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  HashHistory.prototype.go = function go (n) {\n    window.history.go(n);\n  };\n\n  HashHistory.prototype.ensureURL = function ensureURL (push) {\n    var current = this.current.fullPath;\n    if (getHash() !== current) {\n      push ? pushHash(current) : replaceHash(current);\n    }\n  };\n\n  HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n    return getHash()\n  };\n\n  return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n  var location = getLocation(base);\n  if (!/^\\/#/.test(location)) {\n    window.location.replace(cleanPath(base + '/#' + location));\n    return true\n  }\n}\n\nfunction ensureSlash () {\n  var path = getHash();\n  if (path.charAt(0) === '/') {\n    return true\n  }\n  replaceHash('/' + path);\n  return false\n}\n\nfunction getHash () {\n  // We can't use window.location.hash here because it's not\n  // consistent across browsers - Firefox will pre-decode it!\n  var href = window.location.href;\n  var index = href.indexOf('#');\n  // empty path\n  if (index < 0) { return '' }\n\n  href = href.slice(index + 1);\n\n  return href\n}\n\nfunction getUrl (path) {\n  var href = window.location.href;\n  var i = href.indexOf('#');\n  var base = i >= 0 ? href.slice(0, i) : href;\n  return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n  if (supportsPushState) {\n    pushState(getUrl(path));\n  } else {\n    window.location.hash = path;\n  }\n}\n\nfunction replaceHash (path) {\n  if (supportsPushState) {\n    replaceState(getUrl(path));\n  } else {\n    window.location.replace(getUrl(path));\n  }\n}\n\n/*  */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n  function AbstractHistory (router, base) {\n    History.call(this, router, base);\n    this.stack = [];\n    this.index = -1;\n  }\n\n  if ( History ) AbstractHistory.__proto__ = History;\n  AbstractHistory.prototype = Object.create( History && History.prototype );\n  AbstractHistory.prototype.constructor = AbstractHistory;\n\n  AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    this.transitionTo(\n      location,\n      function (route) {\n        this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n        this$1.index++;\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n    this.transitionTo(\n      location,\n      function (route) {\n        this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n        onComplete && onComplete(route);\n      },\n      onAbort\n    );\n  };\n\n  AbstractHistory.prototype.go = function go (n) {\n    var this$1 = this;\n\n    var targetIndex = this.index + n;\n    if (targetIndex < 0 || targetIndex >= this.stack.length) {\n      return\n    }\n    var route = this.stack[targetIndex];\n    this.confirmTransition(\n      route,\n      function () {\n        var prev = this$1.current;\n        this$1.index = targetIndex;\n        this$1.updateRoute(route);\n        this$1.router.afterHooks.forEach(function (hook) {\n          hook && hook(route, prev);\n        });\n      },\n      function (err) {\n        if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n          this$1.index = targetIndex;\n        }\n      }\n    );\n  };\n\n  AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n    var current = this.stack[this.stack.length - 1];\n    return current ? current.fullPath : '/'\n  };\n\n  AbstractHistory.prototype.ensureURL = function ensureURL () {\n    // noop\n  };\n\n  return AbstractHistory;\n}(History));\n\n/*  */\n\nvar VueRouter = function VueRouter (options) {\n  if ( options === void 0 ) options = {};\n\n  if (process.env.NODE_ENV !== 'production') {\n    warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n  }\n  this.app = null;\n  this.apps = [];\n  this.options = options;\n  this.beforeHooks = [];\n  this.resolveHooks = [];\n  this.afterHooks = [];\n  this.matcher = createMatcher(options.routes || [], this);\n\n  var mode = options.mode || 'hash';\n  this.fallback =\n    mode === 'history' && !supportsPushState && options.fallback !== false;\n  if (this.fallback) {\n    mode = 'hash';\n  }\n  if (!inBrowser) {\n    mode = 'abstract';\n  }\n  this.mode = mode;\n\n  switch (mode) {\n    case 'history':\n      this.history = new HTML5History(this, options.base);\n      break\n    case 'hash':\n      this.history = new HashHistory(this, options.base, this.fallback);\n      break\n    case 'abstract':\n      this.history = new AbstractHistory(this, options.base);\n      break\n    default:\n      if (process.env.NODE_ENV !== 'production') {\n        assert(false, (\"invalid mode: \" + mode));\n      }\n  }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n  return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n  return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n    var this$1 = this;\n\n  process.env.NODE_ENV !== 'production' &&\n    assert(\n      install.installed,\n      \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n        \"before creating root instance.\"\n    );\n\n  this.apps.push(app);\n\n  // set up app destroyed handler\n  // https://github.com/vuejs/vue-router/issues/2639\n  app.$once('hook:destroyed', function () {\n    // clean out app from this.apps array once destroyed\n    var index = this$1.apps.indexOf(app);\n    if (index > -1) { this$1.apps.splice(index, 1); }\n    // ensure we still have a main app or null if no apps\n    // we do not release the router so it can be reused\n    if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n\n    if (!this$1.app) { this$1.history.teardown(); }\n  });\n\n  // main app previously initialized\n  // return as we don't need to set up new history listener\n  if (this.app) {\n    return\n  }\n\n  this.app = app;\n\n  var history = this.history;\n\n  if (history instanceof HTML5History || history instanceof HashHistory) {\n    var handleInitialScroll = function (routeOrError) {\n      var from = history.current;\n      var expectScroll = this$1.options.scrollBehavior;\n      var supportsScroll = supportsPushState && expectScroll;\n\n      if (supportsScroll && 'fullPath' in routeOrError) {\n        handleScroll(this$1, routeOrError, from, false);\n      }\n    };\n    var setupListeners = function (routeOrError) {\n      history.setupListeners();\n      handleInitialScroll(routeOrError);\n    };\n    history.transitionTo(\n      history.getCurrentLocation(),\n      setupListeners,\n      setupListeners\n    );\n  }\n\n  history.listen(function (route) {\n    this$1.apps.forEach(function (app) {\n      app._route = route;\n    });\n  });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n  return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n  return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n  return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n  this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n  this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n    var this$1 = this;\n\n  // $flow-disable-line\n  if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve, reject) {\n      this$1.history.push(location, resolve, reject);\n    })\n  } else {\n    this.history.push(location, onComplete, onAbort);\n  }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n    var this$1 = this;\n\n  // $flow-disable-line\n  if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve, reject) {\n      this$1.history.replace(location, resolve, reject);\n    })\n  } else {\n    this.history.replace(location, onComplete, onAbort);\n  }\n};\n\nVueRouter.prototype.go = function go (n) {\n  this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n  this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n  this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n  var route = to\n    ? to.matched\n      ? to\n      : this.resolve(to).route\n    : this.currentRoute;\n  if (!route) {\n    return []\n  }\n  return [].concat.apply(\n    [],\n    route.matched.map(function (m) {\n      return Object.keys(m.components).map(function (key) {\n        return m.components[key]\n      })\n    })\n  )\n};\n\nVueRouter.prototype.resolve = function resolve (\n  to,\n  current,\n  append\n) {\n  current = current || this.history.current;\n  var location = normalizeLocation(to, current, append, this);\n  var route = this.match(location, current);\n  var fullPath = route.redirectedFrom || route.fullPath;\n  var base = this.history.base;\n  var href = createHref(base, fullPath, this.mode);\n  return {\n    location: location,\n    route: route,\n    href: href,\n    // for backwards compat\n    normalizedTo: location,\n    resolved: route\n  }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n  return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n  this.matcher.addRoute(parentOrRoute, route);\n  if (this.history.current !== START) {\n    this.history.transitionTo(this.history.getCurrentLocation());\n  }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n  }\n  this.matcher.addRoutes(routes);\n  if (this.history.current !== START) {\n    this.history.transitionTo(this.history.getCurrentLocation());\n  }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n  list.push(fn);\n  return function () {\n    var i = list.indexOf(fn);\n    if (i > -1) { list.splice(i, 1); }\n  }\n}\n\nfunction createHref (base, fullPath, mode) {\n  var path = mode === 'hash' ? '#' + fullPath : fullPath;\n  return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.5.4';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n  window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).vueSweetalert=e()}(this,(function(){\"use strict\";var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},e={exports:{}};e.exports=function(){const t=t=>{const e=[];for(let n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e},e=t=>t.charAt(0).toUpperCase()+t.slice(1),n=t=>Array.prototype.slice.call(t),o=t=>{},i=t=>{},s=[],r=t=>{s.includes(t)||(s.push(t),o(t))},a=(t,e)=>{r('\"'.concat(t,'\" is deprecated and will be removed in the next major release. Please use \"').concat(e,'\" instead.'))},c=t=>\"function\"==typeof t?t():t,l=t=>t&&\"function\"==typeof t.toPromise,u=t=>l(t)?t.toPromise():Promise.resolve(t),d=t=>t&&Promise.resolve(t)===t,p={title:\"\",titleText:\"\",text:\"\",html:\"\",footer:\"\",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:!1,showClass:{popup:\"swal2-show\",backdrop:\"swal2-backdrop-show\",icon:\"swal2-icon-show\"},hideClass:{popup:\"swal2-hide\",backdrop:\"swal2-backdrop-hide\",icon:\"swal2-icon-hide\"},customClass:{},target:\"body\",color:void 0,backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,preDeny:void 0,confirmButtonText:\"OK\",confirmButtonAriaLabel:\"\",confirmButtonColor:void 0,denyButtonText:\"No\",denyButtonAriaLabel:\"\",denyButtonColor:void 0,cancelButtonText:\"Cancel\",cancelButtonAriaLabel:\"\",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,returnFocus:!0,showCloseButton:!1,closeButtonHtml:\"&times;\",closeButtonAriaLabel:\"Close this dialog\",loaderHtml:\"\",showLoaderOnConfirm:!1,showLoaderOnDeny:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:\"\",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:\"\",inputLabel:\"\",inputValue:\"\",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:\"center\",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:!0},m=[\"allowEscapeKey\",\"allowOutsideClick\",\"background\",\"buttonsStyling\",\"cancelButtonAriaLabel\",\"cancelButtonColor\",\"cancelButtonText\",\"closeButtonAriaLabel\",\"closeButtonHtml\",\"color\",\"confirmButtonAriaLabel\",\"confirmButtonColor\",\"confirmButtonText\",\"currentProgressStep\",\"customClass\",\"denyButtonAriaLabel\",\"denyButtonColor\",\"denyButtonText\",\"didClose\",\"didDestroy\",\"footer\",\"hideClass\",\"html\",\"icon\",\"iconColor\",\"iconHtml\",\"imageAlt\",\"imageHeight\",\"imageUrl\",\"imageWidth\",\"preConfirm\",\"preDeny\",\"progressSteps\",\"returnFocus\",\"reverseButtons\",\"showCancelButton\",\"showCloseButton\",\"showConfirmButton\",\"showDenyButton\",\"text\",\"title\",\"titleText\",\"willClose\"],g={},h=[\"allowOutsideClick\",\"allowEnterKey\",\"backdrop\",\"focusConfirm\",\"focusDeny\",\"focusCancel\",\"returnFocus\",\"heightAuto\",\"keydownListenerCapture\"],f=t=>Object.prototype.hasOwnProperty.call(p,t),b=t=>-1!==m.indexOf(t),y=t=>g[t],w=t=>{f(t)||o('Unknown parameter \"'.concat(t,'\"'))},v=t=>{h.includes(t)&&o('The parameter \"'.concat(t,'\" is incompatible with toasts'))},C=t=>{y(t)&&a(t,y(t))},k=t=>{!t.backdrop&&t.allowOutsideClick&&o('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');for(const e in t)w(e),t.toast&&v(e),C(e)},A=\"swal2-\",P=t=>{const e={};for(const n in t)e[t[n]]=A+t[n];return e},B=P([\"container\",\"shown\",\"height-auto\",\"iosfix\",\"popup\",\"modal\",\"no-backdrop\",\"no-transition\",\"toast\",\"toast-shown\",\"show\",\"hide\",\"close\",\"title\",\"html-container\",\"actions\",\"confirm\",\"deny\",\"cancel\",\"default-outline\",\"footer\",\"icon\",\"icon-content\",\"image\",\"input\",\"file\",\"range\",\"select\",\"radio\",\"checkbox\",\"label\",\"textarea\",\"inputerror\",\"input-label\",\"validation-message\",\"progress-steps\",\"active-progress-step\",\"progress-step\",\"progress-step-line\",\"loader\",\"loading\",\"styled\",\"top\",\"top-start\",\"top-end\",\"top-left\",\"top-right\",\"center\",\"center-start\",\"center-end\",\"center-left\",\"center-right\",\"bottom\",\"bottom-start\",\"bottom-end\",\"bottom-left\",\"bottom-right\",\"grow-row\",\"grow-column\",\"grow-fullscreen\",\"rtl\",\"timer-progress-bar\",\"timer-progress-bar-container\",\"scrollbar-measure\",\"icon-success\",\"icon-warning\",\"icon-info\",\"icon-question\",\"icon-error\"]),x=P([\"success\",\"warning\",\"info\",\"question\",\"error\"]),E=()=>document.body.querySelector(\".\".concat(B.container)),T=t=>{const e=E();return e?e.querySelector(t):null},S=t=>T(\".\".concat(t)),O=()=>S(B.popup),L=()=>S(B.icon),j=()=>S(B.title),M=()=>S(B[\"html-container\"]),D=()=>S(B.image),I=()=>S(B[\"progress-steps\"]),H=()=>S(B[\"validation-message\"]),q=()=>T(\".\".concat(B.actions,\" .\").concat(B.confirm)),V=()=>T(\".\".concat(B.actions,\" .\").concat(B.deny)),N=()=>S(B[\"input-label\"]),R=()=>T(\".\".concat(B.loader)),F=()=>T(\".\".concat(B.actions,\" .\").concat(B.cancel)),U=()=>S(B.actions),W=()=>S(B.footer),z=()=>S(B[\"timer-progress-bar\"]),_=()=>S(B.close),K='\\n  a[href],\\n  area[href],\\n  input:not([disabled]),\\n  select:not([disabled]),\\n  textarea:not([disabled]),\\n  button:not([disabled]),\\n  iframe,\\n  object,\\n  embed,\\n  [tabindex=\"0\"],\\n  [contenteditable],\\n  audio[controls],\\n  video[controls],\\n  summary\\n',$=()=>{const e=n(O().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])')).sort(((t,e)=>{const n=parseInt(t.getAttribute(\"tabindex\")),o=parseInt(e.getAttribute(\"tabindex\"));return n>o?1:n<o?-1:0})),o=n(O().querySelectorAll(K)).filter((t=>\"-1\"!==t.getAttribute(\"tabindex\")));return t(e.concat(o)).filter((t=>mt(t)))},Y=()=>!Q(document.body,B[\"toast-shown\"])&&!Q(document.body,B[\"no-backdrop\"]),Z=()=>O()&&Q(O(),B.toast),J=()=>O().hasAttribute(\"data-loading\"),X={previousBodyPadding:null},G=(t,e)=>{if(t.textContent=\"\",e){const o=(new DOMParser).parseFromString(e,\"text/html\");n(o.querySelector(\"head\").childNodes).forEach((e=>{t.appendChild(e)})),n(o.querySelector(\"body\").childNodes).forEach((e=>{t.appendChild(e)}))}},Q=(t,e)=>{if(!e)return!1;const n=e.split(/\\s+/);for(let o=0;o<n.length;o++)if(!t.classList.contains(n[o]))return!1;return!0},tt=(t,e)=>{n(t.classList).forEach((n=>{Object.values(B).includes(n)||Object.values(x).includes(n)||Object.values(e.showClass).includes(n)||t.classList.remove(n)}))},et=(t,e,n)=>{if(tt(t,e),e.customClass&&e.customClass[n]){if(\"string\"!=typeof e.customClass[n]&&!e.customClass[n].forEach)return o(\"Invalid type of customClass.\".concat(n,'! Expected string or iterable object, got \"').concat(typeof e.customClass[n],'\"'));st(t,e.customClass[n])}},nt=(t,e)=>{if(!e)return null;switch(e){case\"select\":case\"textarea\":case\"file\":return t.querySelector(\".\".concat(B.popup,\" > .\").concat(B[e]));case\"checkbox\":return t.querySelector(\".\".concat(B.popup,\" > .\").concat(B.checkbox,\" input\"));case\"radio\":return t.querySelector(\".\".concat(B.popup,\" > .\").concat(B.radio,\" input:checked\"))||t.querySelector(\".\".concat(B.popup,\" > .\").concat(B.radio,\" input:first-child\"));case\"range\":return t.querySelector(\".\".concat(B.popup,\" > .\").concat(B.range,\" input\"));default:return t.querySelector(\".\".concat(B.popup,\" > .\").concat(B.input))}},ot=t=>{if(t.focus(),\"file\"!==t.type){const e=t.value;t.value=\"\",t.value=e}},it=(t,e,n)=>{t&&e&&(\"string\"==typeof e&&(e=e.split(/\\s+/).filter(Boolean)),e.forEach((e=>{Array.isArray(t)?t.forEach((t=>{n?t.classList.add(e):t.classList.remove(e)})):n?t.classList.add(e):t.classList.remove(e)})))},st=(t,e)=>{it(t,e,!0)},rt=(t,e)=>{it(t,e,!1)},at=(t,e)=>{const o=n(t.childNodes);for(let n=0;n<o.length;n++)if(Q(o[n],e))return o[n]},ct=(t,e,n)=>{n===\"\".concat(parseInt(n))&&(n=parseInt(n)),n||0===parseInt(n)?t.style[e]=\"number\"==typeof n?\"\".concat(n,\"px\"):n:t.style.removeProperty(e)},lt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"flex\";t.style.display=e},ut=t=>{t.style.display=\"none\"},dt=(t,e,n,o)=>{const i=t.querySelector(e);i&&(i.style[n]=o)},pt=(t,e,n)=>{e?lt(t,n):ut(t)},mt=t=>!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)),gt=()=>!mt(q())&&!mt(V())&&!mt(F()),ht=t=>!!(t.scrollHeight>t.clientHeight),ft=t=>{const e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue(\"animation-duration\")||\"0\"),o=parseFloat(e.getPropertyValue(\"transition-duration\")||\"0\");return n>0||o>0},bt=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=z();mt(n)&&(e&&(n.style.transition=\"none\",n.style.width=\"100%\"),setTimeout((()=>{n.style.transition=\"width \".concat(t/1e3,\"s linear\"),n.style.width=\"0%\"}),10))},yt=()=>{const t=z(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty(\"transition\"),t.style.width=\"100%\";const n=e/parseInt(window.getComputedStyle(t).width)*100;t.style.removeProperty(\"transition\"),t.style.width=\"\".concat(n,\"%\")},wt=()=>\"undefined\"==typeof window||\"undefined\"==typeof document,vt=100,Ct={},kt=()=>{Ct.previousActiveElement&&Ct.previousActiveElement.focus?(Ct.previousActiveElement.focus(),Ct.previousActiveElement=null):document.body&&document.body.focus()},At=t=>new Promise((e=>{if(!t)return e();const n=window.scrollX,o=window.scrollY;Ct.restoreFocusTimeout=setTimeout((()=>{kt(),e()}),vt),window.scrollTo(n,o)})),Pt='\\n <div aria-labelledby=\"'.concat(B.title,'\" aria-describedby=\"').concat(B[\"html-container\"],'\" class=\"').concat(B.popup,'\" tabindex=\"-1\">\\n   <button type=\"button\" class=\"').concat(B.close,'\"></button>\\n   <ul class=\"').concat(B[\"progress-steps\"],'\"></ul>\\n   <div class=\"').concat(B.icon,'\"></div>\\n   <img class=\"').concat(B.image,'\" />\\n   <h2 class=\"').concat(B.title,'\" id=\"').concat(B.title,'\"></h2>\\n   <div class=\"').concat(B[\"html-container\"],'\" id=\"').concat(B[\"html-container\"],'\"></div>\\n   <input class=\"').concat(B.input,'\" />\\n   <input type=\"file\" class=\"').concat(B.file,'\" />\\n   <div class=\"').concat(B.range,'\">\\n     <input type=\"range\" />\\n     <output></output>\\n   </div>\\n   <select class=\"').concat(B.select,'\"></select>\\n   <div class=\"').concat(B.radio,'\"></div>\\n   <label for=\"').concat(B.checkbox,'\" class=\"').concat(B.checkbox,'\">\\n     <input type=\"checkbox\" />\\n     <span class=\"').concat(B.label,'\"></span>\\n   </label>\\n   <textarea class=\"').concat(B.textarea,'\"></textarea>\\n   <div class=\"').concat(B[\"validation-message\"],'\" id=\"').concat(B[\"validation-message\"],'\"></div>\\n   <div class=\"').concat(B.actions,'\">\\n     <div class=\"').concat(B.loader,'\"></div>\\n     <button type=\"button\" class=\"').concat(B.confirm,'\"></button>\\n     <button type=\"button\" class=\"').concat(B.deny,'\"></button>\\n     <button type=\"button\" class=\"').concat(B.cancel,'\"></button>\\n   </div>\\n   <div class=\"').concat(B.footer,'\"></div>\\n   <div class=\"').concat(B[\"timer-progress-bar-container\"],'\">\\n     <div class=\"').concat(B[\"timer-progress-bar\"],'\"></div>\\n   </div>\\n </div>\\n').replace(/(^|\\n)\\s*/g,\"\"),Bt=()=>{const t=E();return!!t&&(t.remove(),rt([document.documentElement,document.body],[B[\"no-backdrop\"],B[\"toast-shown\"],B[\"has-column\"]]),!0)},xt=()=>{Ct.currentInstance.resetValidationMessage()},Et=()=>{const t=O(),e=at(t,B.input),n=at(t,B.file),o=t.querySelector(\".\".concat(B.range,\" input\")),i=t.querySelector(\".\".concat(B.range,\" output\")),s=at(t,B.select),r=t.querySelector(\".\".concat(B.checkbox,\" input\")),a=at(t,B.textarea);e.oninput=xt,n.onchange=xt,s.onchange=xt,r.onchange=xt,a.oninput=xt,o.oninput=()=>{xt(),i.value=o.value},o.onchange=()=>{xt(),o.nextSibling.value=o.value}},Tt=t=>\"string\"==typeof t?document.querySelector(t):t,St=t=>{const e=O();e.setAttribute(\"role\",t.toast?\"alert\":\"dialog\"),e.setAttribute(\"aria-live\",t.toast?\"polite\":\"assertive\"),t.toast||e.setAttribute(\"aria-modal\",\"true\")},Ot=t=>{\"rtl\"===window.getComputedStyle(t).direction&&st(E(),B.rtl)},Lt=t=>{const e=Bt();if(wt())return void i(\"SweetAlert2 requires document to initialize\");const n=document.createElement(\"div\");n.className=B.container,e&&st(n,B[\"no-transition\"]),G(n,Pt);const o=Tt(t.target);o.appendChild(n),St(t),Ot(o),Et()},jt=(t,e)=>{t instanceof HTMLElement?e.appendChild(t):\"object\"==typeof t?Mt(t,e):t&&G(e,t)},Mt=(t,e)=>{t.jquery?Dt(e,t):G(e,t.toString())},Dt=(t,e)=>{if(t.textContent=\"\",0 in e)for(let n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},It=(()=>{if(wt())return!1;const t=document.createElement(\"div\"),e={WebkitAnimation:\"webkitAnimationEnd\",animation:\"animationend\"};for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&void 0!==t.style[n])return e[n];return!1})(),Ht=()=>{const t=document.createElement(\"div\");t.className=B[\"scrollbar-measure\"],document.body.appendChild(t);const e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},qt=(t,e)=>{const n=U(),o=R();e.showConfirmButton||e.showDenyButton||e.showCancelButton?lt(n):ut(n),et(n,e,\"actions\"),Vt(n,o,e),G(o,e.loaderHtml),et(o,e,\"loader\")};function Vt(t,e,n){const o=q(),i=V(),s=F();Rt(o,\"confirm\",n),Rt(i,\"deny\",n),Rt(s,\"cancel\",n),Nt(o,i,s,n),n.reverseButtons&&(n.toast?(t.insertBefore(s,o),t.insertBefore(i,o)):(t.insertBefore(s,e),t.insertBefore(i,e),t.insertBefore(o,e)))}function Nt(t,e,n,o){if(!o.buttonsStyling)return rt([t,e,n],B.styled);st([t,e,n],B.styled),o.confirmButtonColor&&(t.style.backgroundColor=o.confirmButtonColor,st(t,B[\"default-outline\"])),o.denyButtonColor&&(e.style.backgroundColor=o.denyButtonColor,st(e,B[\"default-outline\"])),o.cancelButtonColor&&(n.style.backgroundColor=o.cancelButtonColor,st(n,B[\"default-outline\"]))}function Rt(t,n,o){pt(t,o[\"show\".concat(e(n),\"Button\")],\"inline-block\"),G(t,o[\"\".concat(n,\"ButtonText\")]),t.setAttribute(\"aria-label\",o[\"\".concat(n,\"ButtonAriaLabel\")]),t.className=B[n],et(t,o,\"\".concat(n,\"Button\")),st(t,o[\"\".concat(n,\"ButtonClass\")])}function Ft(t,e){\"string\"==typeof e?t.style.background=e:e||st([document.documentElement,document.body],B[\"no-backdrop\"])}function Ut(t,e){e in B?st(t,B[e]):(o('The \"position\" parameter is not valid, defaulting to \"center\"'),st(t,B.center))}function Wt(t,e){if(e&&\"string\"==typeof e){const n=\"grow-\".concat(e);n in B&&st(t,B[n])}}const zt=(t,e)=>{const n=E();n&&(Ft(n,e.backdrop),Ut(n,e.position),Wt(n,e.grow),et(n,e,\"container\"))};var _t={awaitingPromise:new WeakMap,promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap};const Kt=[\"input\",\"file\",\"range\",\"select\",\"radio\",\"checkbox\",\"textarea\"],$t=(t,e)=>{const n=O(),o=_t.innerParams.get(t),i=!o||e.input!==o.input;Kt.forEach((t=>{const o=B[t],s=at(n,o);Jt(t,e.inputAttributes),s.className=o,i&&ut(s)})),e.input&&(i&&Yt(e),Xt(e))},Yt=t=>{if(!ee[t.input])return i('Unexpected type of input! Expected \"text\", \"email\", \"password\", \"number\", \"tel\", \"select\", \"radio\", \"checkbox\", \"textarea\", \"file\" or \"url\", got \"'.concat(t.input,'\"'));const e=te(t.input),n=ee[t.input](e,t);lt(n),setTimeout((()=>{ot(n)}))},Zt=t=>{for(let e=0;e<t.attributes.length;e++){const n=t.attributes[e].name;[\"type\",\"value\",\"style\"].includes(n)||t.removeAttribute(n)}},Jt=(t,e)=>{const n=nt(O(),t);if(n){Zt(n);for(const t in e)n.setAttribute(t,e[t])}},Xt=t=>{const e=te(t.input);t.customClass&&st(e,t.customClass.input)},Gt=(t,e)=>{t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)},Qt=(t,e,n)=>{if(n.inputLabel){t.id=B.input;const o=document.createElement(\"label\"),i=B[\"input-label\"];o.setAttribute(\"for\",t.id),o.className=i,st(o,n.customClass.inputLabel),o.innerText=n.inputLabel,e.insertAdjacentElement(\"beforebegin\",o)}},te=t=>{const e=B[t]?B[t]:B.input;return at(O(),e)},ee={};ee.text=ee.email=ee.password=ee.number=ee.tel=ee.url=(t,e)=>(\"string\"==typeof e.inputValue||\"number\"==typeof e.inputValue?t.value=e.inputValue:d(e.inputValue)||o('Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"'.concat(typeof e.inputValue,'\"')),Qt(t,t,e),Gt(t,e),t.type=e.input,t),ee.file=(t,e)=>(Qt(t,t,e),Gt(t,e),t),ee.range=(t,e)=>{const n=t.querySelector(\"input\"),o=t.querySelector(\"output\");return n.value=e.inputValue,n.type=e.input,o.value=e.inputValue,Qt(n,t,e),t},ee.select=(t,e)=>{if(t.textContent=\"\",e.inputPlaceholder){const n=document.createElement(\"option\");G(n,e.inputPlaceholder),n.value=\"\",n.disabled=!0,n.selected=!0,t.appendChild(n)}return Qt(t,t,e),t},ee.radio=t=>(t.textContent=\"\",t),ee.checkbox=(t,e)=>{const n=nt(O(),\"checkbox\");n.value=\"1\",n.id=B.checkbox,n.checked=Boolean(e.inputValue);const o=t.querySelector(\"span\");return G(o,e.inputPlaceholder),t},ee.textarea=(t,e)=>{t.value=e.inputValue,Gt(t,e),Qt(t,t,e);const n=t=>parseInt(window.getComputedStyle(t).marginLeft)+parseInt(window.getComputedStyle(t).marginRight);return setTimeout((()=>{if(\"MutationObserver\"in window){const e=parseInt(window.getComputedStyle(O()).width);new MutationObserver((()=>{const o=t.offsetWidth+n(t);O().style.width=o>e?\"\".concat(o,\"px\"):null})).observe(t,{attributes:!0,attributeFilter:[\"style\"]})}})),t};const ne=(t,e)=>{const n=M();et(n,e,\"htmlContainer\"),e.html?(jt(e.html,n),lt(n,\"block\")):e.text?(n.textContent=e.text,lt(n,\"block\")):ut(n),$t(t,e)},oe=(t,e)=>{const n=W();pt(n,e.footer),e.footer&&jt(e.footer,n),et(n,e,\"footer\")},ie=(t,e)=>{const n=_();G(n,e.closeButtonHtml),et(n,e,\"closeButton\"),pt(n,e.showCloseButton),n.setAttribute(\"aria-label\",e.closeButtonAriaLabel)},se=(t,e)=>{const n=_t.innerParams.get(t),o=L();return n&&e.icon===n.icon?(ue(o,e),void re(o,e)):e.icon||e.iconHtml?e.icon&&-1===Object.keys(x).indexOf(e.icon)?(i('Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"'.concat(e.icon,'\"')),ut(o)):(lt(o),ue(o,e),re(o,e),void st(o,e.showClass.icon)):ut(o)},re=(t,e)=>{for(const n in x)e.icon!==n&&rt(t,x[n]);st(t,x[e.icon]),de(t,e),ae(),et(t,e,\"icon\")},ae=()=>{const t=O(),e=window.getComputedStyle(t).getPropertyValue(\"background-color\"),n=t.querySelectorAll(\"[class^=swal2-success-circular-line], .swal2-success-fix\");for(let o=0;o<n.length;o++)n[o].style.backgroundColor=e},ce='\\n  <div class=\"swal2-success-circular-line-left\"></div>\\n  <span class=\"swal2-success-line-tip\"></span> <span class=\"swal2-success-line-long\"></span>\\n  <div class=\"swal2-success-ring\"></div> <div class=\"swal2-success-fix\"></div>\\n  <div class=\"swal2-success-circular-line-right\"></div>\\n',le='\\n  <span class=\"swal2-x-mark\">\\n    <span class=\"swal2-x-mark-line-left\"></span>\\n    <span class=\"swal2-x-mark-line-right\"></span>\\n  </span>\\n',ue=(t,e)=>{t.textContent=\"\",e.iconHtml?G(t,pe(e.iconHtml)):\"success\"===e.icon?G(t,ce):\"error\"===e.icon?G(t,le):G(t,pe({question:\"?\",warning:\"!\",info:\"i\"}[e.icon]))},de=(t,e)=>{if(e.iconColor){t.style.color=e.iconColor,t.style.borderColor=e.iconColor;for(const n of[\".swal2-success-line-tip\",\".swal2-success-line-long\",\".swal2-x-mark-line-left\",\".swal2-x-mark-line-right\"])dt(t,n,\"backgroundColor\",e.iconColor);dt(t,\".swal2-success-ring\",\"borderColor\",e.iconColor)}},pe=t=>'<div class=\"'.concat(B[\"icon-content\"],'\">').concat(t,\"</div>\"),me=(t,e)=>{const n=D();if(!e.imageUrl)return ut(n);lt(n,\"\"),n.setAttribute(\"src\",e.imageUrl),n.setAttribute(\"alt\",e.imageAlt),ct(n,\"width\",e.imageWidth),ct(n,\"height\",e.imageHeight),n.className=B.image,et(n,e,\"image\")},ge=t=>{const e=document.createElement(\"li\");return st(e,B[\"progress-step\"]),G(e,t),e},he=t=>{const e=document.createElement(\"li\");return st(e,B[\"progress-step-line\"]),t.progressStepsDistance&&(e.style.width=t.progressStepsDistance),e},fe=(t,e)=>{const n=I();if(!e.progressSteps||0===e.progressSteps.length)return ut(n);lt(n),n.textContent=\"\",e.currentProgressStep>=e.progressSteps.length&&o(\"Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)\"),e.progressSteps.forEach(((t,o)=>{const i=ge(t);if(n.appendChild(i),o===e.currentProgressStep&&st(i,B[\"active-progress-step\"]),o!==e.progressSteps.length-1){const t=he(e);n.appendChild(t)}}))},be=(t,e)=>{const n=j();pt(n,e.title||e.titleText,\"block\"),e.title&&jt(e.title,n),e.titleText&&(n.innerText=e.titleText),et(n,e,\"title\")},ye=(t,e)=>{const n=E(),o=O();e.toast?(ct(n,\"width\",e.width),o.style.width=\"100%\",o.insertBefore(R(),L())):ct(o,\"width\",e.width),ct(o,\"padding\",e.padding),e.color&&(o.style.color=e.color),e.background&&(o.style.background=e.background),ut(H()),we(o,e)},we=(t,e)=>{t.className=\"\".concat(B.popup,\" \").concat(mt(t)?e.showClass.popup:\"\"),e.toast?(st([document.documentElement,document.body],B[\"toast-shown\"]),st(t,B.toast)):st(t,B.modal),et(t,e,\"popup\"),\"string\"==typeof e.customClass&&st(t,e.customClass),e.icon&&st(t,B[\"icon-\".concat(e.icon)])},ve=(t,e)=>{ye(t,e),zt(t,e),fe(t,e),se(t,e),me(t,e),be(t,e),ie(t,e),ne(t,e),qt(t,e),oe(t,e),\"function\"==typeof e.didRender&&e.didRender(O())},Ce=Object.freeze({cancel:\"cancel\",backdrop:\"backdrop\",close:\"close\",esc:\"esc\",timer:\"timer\"}),ke=()=>{n(document.body.children).forEach((t=>{t===E()||t.contains(E())||(t.hasAttribute(\"aria-hidden\")&&t.setAttribute(\"data-previous-aria-hidden\",t.getAttribute(\"aria-hidden\")),t.setAttribute(\"aria-hidden\",\"true\"))}))},Ae=()=>{n(document.body.children).forEach((t=>{t.hasAttribute(\"data-previous-aria-hidden\")?(t.setAttribute(\"aria-hidden\",t.getAttribute(\"data-previous-aria-hidden\")),t.removeAttribute(\"data-previous-aria-hidden\")):t.removeAttribute(\"aria-hidden\")}))},Pe=[\"swal-title\",\"swal-html\",\"swal-footer\"],Be=t=>{const e=\"string\"==typeof t.template?document.querySelector(t.template):t.template;if(!e)return{};const n=e.content;return je(n),Object.assign(xe(n),Ee(n),Te(n),Se(n),Oe(n),Le(n,Pe))},xe=t=>{const e={};return n(t.querySelectorAll(\"swal-param\")).forEach((t=>{Me(t,[\"name\",\"value\"]);const n=t.getAttribute(\"name\"),o=t.getAttribute(\"value\");\"boolean\"==typeof p[n]&&\"false\"===o&&(e[n]=!1),\"object\"==typeof p[n]&&(e[n]=JSON.parse(o))})),e},Ee=t=>{const o={};return n(t.querySelectorAll(\"swal-button\")).forEach((t=>{Me(t,[\"type\",\"color\",\"aria-label\"]);const n=t.getAttribute(\"type\");o[\"\".concat(n,\"ButtonText\")]=t.innerHTML,o[\"show\".concat(e(n),\"Button\")]=!0,t.hasAttribute(\"color\")&&(o[\"\".concat(n,\"ButtonColor\")]=t.getAttribute(\"color\")),t.hasAttribute(\"aria-label\")&&(o[\"\".concat(n,\"ButtonAriaLabel\")]=t.getAttribute(\"aria-label\"))})),o},Te=t=>{const e={},n=t.querySelector(\"swal-image\");return n&&(Me(n,[\"src\",\"width\",\"height\",\"alt\"]),n.hasAttribute(\"src\")&&(e.imageUrl=n.getAttribute(\"src\")),n.hasAttribute(\"width\")&&(e.imageWidth=n.getAttribute(\"width\")),n.hasAttribute(\"height\")&&(e.imageHeight=n.getAttribute(\"height\")),n.hasAttribute(\"alt\")&&(e.imageAlt=n.getAttribute(\"alt\"))),e},Se=t=>{const e={},n=t.querySelector(\"swal-icon\");return n&&(Me(n,[\"type\",\"color\"]),n.hasAttribute(\"type\")&&(e.icon=n.getAttribute(\"type\")),n.hasAttribute(\"color\")&&(e.iconColor=n.getAttribute(\"color\")),e.iconHtml=n.innerHTML),e},Oe=t=>{const e={},o=t.querySelector(\"swal-input\");o&&(Me(o,[\"type\",\"label\",\"placeholder\",\"value\"]),e.input=o.getAttribute(\"type\")||\"text\",o.hasAttribute(\"label\")&&(e.inputLabel=o.getAttribute(\"label\")),o.hasAttribute(\"placeholder\")&&(e.inputPlaceholder=o.getAttribute(\"placeholder\")),o.hasAttribute(\"value\")&&(e.inputValue=o.getAttribute(\"value\")));const i=t.querySelectorAll(\"swal-input-option\");return i.length&&(e.inputOptions={},n(i).forEach((t=>{Me(t,[\"value\"]);const n=t.getAttribute(\"value\"),o=t.innerHTML;e.inputOptions[n]=o}))),e},Le=(t,e)=>{const n={};for(const o in e){const i=e[o],s=t.querySelector(i);s&&(Me(s,[]),n[i.replace(/^swal-/,\"\")]=s.innerHTML.trim())}return n},je=t=>{const e=Pe.concat([\"swal-param\",\"swal-button\",\"swal-image\",\"swal-icon\",\"swal-input\",\"swal-input-option\"]);n(t.children).forEach((t=>{const n=t.tagName.toLowerCase();-1===e.indexOf(n)&&o(\"Unrecognized element <\".concat(n,\">\"))}))},Me=(t,e)=>{n(t.attributes).forEach((n=>{-1===e.indexOf(n.name)&&o(['Unrecognized attribute \"'.concat(n.name,'\" on <').concat(t.tagName.toLowerCase(),\">.\"),\"\".concat(e.length?\"Allowed attributes are: \".concat(e.join(\", \")):\"To set the value, use HTML within the element.\")])}))};var De={email:(t,e)=>/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||\"Invalid email address\"),url:(t,e)=>/^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,63}\\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||\"Invalid URL\")};function Ie(t){t.inputValidator||Object.keys(De).forEach((e=>{t.input===e&&(t.inputValidator=De[e])}))}function He(t){(!t.target||\"string\"==typeof t.target&&!document.querySelector(t.target)||\"string\"!=typeof t.target&&!t.target.appendChild)&&(o('Target parameter is not valid, defaulting to \"body\"'),t.target=\"body\")}function qe(t){Ie(t),t.showLoaderOnConfirm&&!t.preConfirm&&o(\"showLoaderOnConfirm is set to true, but preConfirm is not defined.\\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\\nhttps://sweetalert2.github.io/#ajax-request\"),He(t),\"string\"==typeof t.title&&(t.title=t.title.split(\"\\n\").join(\"<br />\")),Lt(t)}class Ve{constructor(t,e){this.callback=t,this.remaining=e,this.running=!1,this.start()}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=(new Date).getTime()-this.started.getTime()),this.remaining}increase(t){const e=this.running;return e&&this.stop(),this.remaining+=t,e&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const Ne=()=>{null===X.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(X.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue(\"padding-right\")),document.body.style.paddingRight=\"\".concat(X.previousBodyPadding+Ht(),\"px\"))},Re=()=>{null!==X.previousBodyPadding&&(document.body.style.paddingRight=\"\".concat(X.previousBodyPadding,\"px\"),X.previousBodyPadding=null)},Fe=()=>{if((/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||\"MacIntel\"===navigator.platform&&navigator.maxTouchPoints>1)&&!Q(document.body,B.iosfix)){const t=document.body.scrollTop;document.body.style.top=\"\".concat(-1*t,\"px\"),st(document.body,B.iosfix),We(),Ue()}},Ue=()=>{const t=navigator.userAgent,e=!!t.match(/iPad/i)||!!t.match(/iPhone/i),n=!!t.match(/WebKit/i);if(e&&n&&!t.match(/CriOS/i)){const t=44;O().scrollHeight>window.innerHeight-t&&(E().style.paddingBottom=\"\".concat(t,\"px\"))}},We=()=>{const t=E();let e;t.ontouchstart=t=>{e=ze(t)},t.ontouchmove=t=>{e&&(t.preventDefault(),t.stopPropagation())}},ze=t=>{const e=t.target,n=E();return!(_e(t)||Ke(t)||e!==n&&(ht(n)||\"INPUT\"===e.tagName||\"TEXTAREA\"===e.tagName||ht(M())&&M().contains(e)))},_e=t=>t.touches&&t.touches.length&&\"stylus\"===t.touches[0].touchType,Ke=t=>t.touches&&t.touches.length>1,$e=()=>{if(Q(document.body,B.iosfix)){const t=parseInt(document.body.style.top,10);rt(document.body,B.iosfix),document.body.style.top=\"\",document.body.scrollTop=-1*t}},Ye=10,Ze=t=>{const e=E(),n=O();\"function\"==typeof t.willOpen&&t.willOpen(n);const o=window.getComputedStyle(document.body).overflowY;Qe(e,n,t),setTimeout((()=>{Xe(e,n)}),Ye),Y()&&(Ge(e,t.scrollbarPadding,o),ke()),Z()||Ct.previousActiveElement||(Ct.previousActiveElement=document.activeElement),\"function\"==typeof t.didOpen&&setTimeout((()=>t.didOpen(n))),rt(e,B[\"no-transition\"])},Je=t=>{const e=O();if(t.target!==e)return;const n=E();e.removeEventListener(It,Je),n.style.overflowY=\"auto\"},Xe=(t,e)=>{It&&ft(e)?(t.style.overflowY=\"hidden\",e.addEventListener(It,Je)):t.style.overflowY=\"auto\"},Ge=(t,e,n)=>{Fe(),e&&\"hidden\"!==n&&Ne(),setTimeout((()=>{t.scrollTop=0}))},Qe=(t,e,n)=>{st(t,n.showClass.backdrop),e.style.setProperty(\"opacity\",\"0\",\"important\"),lt(e,\"grid\"),setTimeout((()=>{st(e,n.showClass.popup),e.style.removeProperty(\"opacity\")}),Ye),st([document.documentElement,document.body],B.shown),n.heightAuto&&n.backdrop&&!n.toast&&st([document.documentElement,document.body],B[\"height-auto\"])},tn=t=>{let e=O();e||new _o,e=O();const n=R();Z()?ut(L()):en(e,t),lt(n),e.setAttribute(\"data-loading\",!0),e.setAttribute(\"aria-busy\",!0),e.focus()},en=(t,e)=>{const n=U(),o=R();!e&&mt(q())&&(e=q()),lt(n),e&&(ut(e),o.setAttribute(\"data-button-to-replace\",e.className)),o.parentNode.insertBefore(o,e),st([t,n],B.loading)},nn=(t,e)=>{\"select\"===e.input||\"radio\"===e.input?cn(t,e):[\"text\",\"email\",\"number\",\"tel\",\"textarea\"].includes(e.input)&&(l(e.inputValue)||d(e.inputValue))&&(tn(q()),ln(t,e))},on=(t,e)=>{const n=t.getInput();if(!n)return null;switch(e.input){case\"checkbox\":return sn(n);case\"radio\":return rn(n);case\"file\":return an(n);default:return e.inputAutoTrim?n.value.trim():n.value}},sn=t=>t.checked?1:0,rn=t=>t.checked?t.value:null,an=t=>t.files.length?null!==t.getAttribute(\"multiple\")?t.files:t.files[0]:null,cn=(t,e)=>{const n=O(),o=t=>un[e.input](n,dn(t),e);l(e.inputOptions)||d(e.inputOptions)?(tn(q()),u(e.inputOptions).then((e=>{t.hideLoading(),o(e)}))):\"object\"==typeof e.inputOptions?o(e.inputOptions):i(\"Unexpected type of inputOptions! Expected object, Map or Promise, got \".concat(typeof e.inputOptions))},ln=(t,e)=>{const n=t.getInput();ut(n),u(e.inputValue).then((o=>{n.value=\"number\"===e.input?parseFloat(o)||0:\"\".concat(o),lt(n),n.focus(),t.hideLoading()})).catch((e=>{i(\"Error in inputValue promise: \".concat(e)),n.value=\"\",lt(n),n.focus(),t.hideLoading()}))},un={select:(t,e,n)=>{const o=at(t,B.select),i=(t,e,o)=>{const i=document.createElement(\"option\");i.value=o,G(i,e),i.selected=pn(o,n.inputValue),t.appendChild(i)};e.forEach((t=>{const e=t[0],n=t[1];if(Array.isArray(n)){const t=document.createElement(\"optgroup\");t.label=e,t.disabled=!1,o.appendChild(t),n.forEach((e=>i(t,e[1],e[0])))}else i(o,n,e)})),o.focus()},radio:(t,e,n)=>{const o=at(t,B.radio);e.forEach((t=>{const e=t[0],i=t[1],s=document.createElement(\"input\"),r=document.createElement(\"label\");s.type=\"radio\",s.name=B.radio,s.value=e,pn(e,n.inputValue)&&(s.checked=!0);const a=document.createElement(\"span\");G(a,i),a.className=B.label,r.appendChild(s),r.appendChild(a),o.appendChild(r)}));const i=o.querySelectorAll(\"input\");i.length&&i[0].focus()}},dn=t=>{const e=[];return\"undefined\"!=typeof Map&&t instanceof Map?t.forEach(((t,n)=>{let o=t;\"object\"==typeof o&&(o=dn(o)),e.push([n,o])})):Object.keys(t).forEach((n=>{let o=t[n];\"object\"==typeof o&&(o=dn(o)),e.push([n,o])})),e},pn=(t,e)=>e&&e.toString()===t.toString(),mn=t=>{const e=_t.innerParams.get(t);t.disableButtons(),e.input?fn(t,\"confirm\"):Cn(t,!0)},gn=t=>{const e=_t.innerParams.get(t);t.disableButtons(),e.returnInputValueOnDeny?fn(t,\"deny\"):yn(t,!1)},hn=(t,e)=>{t.disableButtons(),e(Ce.cancel)},fn=(t,n)=>{const o=_t.innerParams.get(t);if(!o.input)return i('The \"input\" parameter is needed to be set when using returnInputValueOn'.concat(e(n)));const s=on(t,o);o.inputValidator?bn(t,s,n):t.getInput().checkValidity()?\"deny\"===n?yn(t,s):Cn(t,s):(t.enableButtons(),t.showValidationMessage(o.validationMessage))},bn=(t,e,n)=>{const o=_t.innerParams.get(t);t.disableInput(),Promise.resolve().then((()=>u(o.inputValidator(e,o.validationMessage)))).then((o=>{t.enableButtons(),t.enableInput(),o?t.showValidationMessage(o):\"deny\"===n?yn(t,e):Cn(t,e)}))},yn=(t,e)=>{const n=_t.innerParams.get(t||void 0);n.showLoaderOnDeny&&tn(V()),n.preDeny?(_t.awaitingPromise.set(t||void 0,!0),Promise.resolve().then((()=>u(n.preDeny(e,n.validationMessage)))).then((n=>{!1===n?t.hideLoading():t.closePopup({isDenied:!0,value:void 0===n?e:n})})).catch((e=>vn(t||void 0,e)))):t.closePopup({isDenied:!0,value:e})},wn=(t,e)=>{t.closePopup({isConfirmed:!0,value:e})},vn=(t,e)=>{t.rejectPromise(e)},Cn=(t,e)=>{const n=_t.innerParams.get(t||void 0);n.showLoaderOnConfirm&&tn(),n.preConfirm?(t.resetValidationMessage(),_t.awaitingPromise.set(t||void 0,!0),Promise.resolve().then((()=>u(n.preConfirm(e,n.validationMessage)))).then((n=>{mt(H())||!1===n?t.hideLoading():wn(t,void 0===n?e:n)})).catch((e=>vn(t||void 0,e)))):wn(t,e)},kn=(t,e,n)=>{_t.innerParams.get(t).toast?An(t,e,n):(xn(e),En(e),Tn(t,e,n))},An=(t,e,n)=>{e.popup.onclick=()=>{const e=_t.innerParams.get(t);e&&(Pn(e)||e.timer||e.input)||n(Ce.close)}},Pn=t=>t.showConfirmButton||t.showDenyButton||t.showCancelButton||t.showCloseButton;let Bn=!1;const xn=t=>{t.popup.onmousedown=()=>{t.container.onmouseup=function(e){t.container.onmouseup=void 0,e.target===t.container&&(Bn=!0)}}},En=t=>{t.container.onmousedown=()=>{t.popup.onmouseup=function(e){t.popup.onmouseup=void 0,(e.target===t.popup||t.popup.contains(e.target))&&(Bn=!0)}}},Tn=(t,e,n)=>{e.container.onclick=o=>{const i=_t.innerParams.get(t);Bn?Bn=!1:o.target===e.container&&c(i.allowOutsideClick)&&n(Ce.backdrop)}},Sn=()=>mt(O()),On=()=>q()&&q().click(),Ln=()=>V()&&V().click(),jn=()=>F()&&F().click(),Mn=(t,e,n,o)=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener(\"keydown\",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!1),n.toast||(e.keydownHandler=e=>qn(t,e,o),e.keydownTarget=n.keydownListenerCapture?window:O(),e.keydownListenerCapture=n.keydownListenerCapture,e.keydownTarget.addEventListener(\"keydown\",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!0)},Dn=(t,e,n)=>{const o=$();if(o.length)return(e+=n)===o.length?e=0:-1===e&&(e=o.length-1),o[e].focus();O().focus()},In=[\"ArrowRight\",\"ArrowDown\"],Hn=[\"ArrowLeft\",\"ArrowUp\"],qn=(t,e,n)=>{const o=_t.innerParams.get(t);o&&(o.stopKeydownPropagation&&e.stopPropagation(),\"Enter\"===e.key?Vn(t,e,o):\"Tab\"===e.key?Nn(e,o):[...In,...Hn].includes(e.key)?Rn(e.key):\"Escape\"===e.key&&Fn(e,o,n))},Vn=(t,e,n)=>{if(c(n.allowEnterKey)&&!e.isComposing&&e.target&&t.getInput()&&e.target.outerHTML===t.getInput().outerHTML){if([\"textarea\",\"file\"].includes(n.input))return;On(),e.preventDefault()}},Nn=(t,e)=>{const n=t.target,o=$();let i=-1;for(let s=0;s<o.length;s++)if(n===o[s]){i=s;break}t.shiftKey?Dn(e,i,-1):Dn(e,i,1),t.stopPropagation(),t.preventDefault()},Rn=t=>{if(![q(),V(),F()].includes(document.activeElement))return;const e=In.includes(t)?\"nextElementSibling\":\"previousElementSibling\",n=document.activeElement[e];n instanceof HTMLElement&&n.focus()},Fn=(t,e,n)=>{c(e.allowEscapeKey)&&(t.preventDefault(),n(Ce.esc))},Un=t=>\"object\"==typeof t&&t.jquery,Wn=t=>t instanceof Element||Un(t),zn=t=>{const e={};return\"object\"!=typeof t[0]||Wn(t[0])?[\"title\",\"html\",\"icon\"].forEach(((n,o)=>{const s=t[o];\"string\"==typeof s||Wn(s)?e[n]=s:void 0!==s&&i(\"Unexpected type of \".concat(n,'! Expected \"string\" or \"Element\", got ').concat(typeof s))})):Object.assign(e,t[0]),e};function _n(){const t=this;for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return new t(...n)}function Kn(t){class e extends(this){_main(e,n){return super._main(e,Object.assign({},t,n))}}return e}const $n=()=>Ct.timeout&&Ct.timeout.getTimerLeft(),Yn=()=>{if(Ct.timeout)return yt(),Ct.timeout.stop()},Zn=()=>{if(Ct.timeout){const t=Ct.timeout.start();return bt(t),t}},Jn=()=>{const t=Ct.timeout;return t&&(t.running?Yn():Zn())},Xn=t=>{if(Ct.timeout){const e=Ct.timeout.increase(t);return bt(e,!0),e}},Gn=()=>Ct.timeout&&Ct.timeout.isRunning();let Qn=!1;const to={};function eo(){to[arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"data-swal-template\"]=this,Qn||(document.body.addEventListener(\"click\",no),Qn=!0)}const no=t=>{for(let e=t.target;e&&e!==document;e=e.parentNode)for(const t in to){const n=e.getAttribute(t);if(n)return void to[t].fire({template:n})}};var oo=Object.freeze({isValidParameter:f,isUpdatableParameter:b,isDeprecatedParameter:y,argsToParams:zn,isVisible:Sn,clickConfirm:On,clickDeny:Ln,clickCancel:jn,getContainer:E,getPopup:O,getTitle:j,getHtmlContainer:M,getImage:D,getIcon:L,getInputLabel:N,getCloseButton:_,getActions:U,getConfirmButton:q,getDenyButton:V,getCancelButton:F,getLoader:R,getFooter:W,getTimerProgressBar:z,getFocusableElements:$,getValidationMessage:H,isLoading:J,fire:_n,mixin:Kn,showLoading:tn,enableLoading:tn,getTimerLeft:$n,stopTimer:Yn,resumeTimer:Zn,toggleTimer:Jn,increaseTimer:Xn,isTimerRunning:Gn,bindClickHandler:eo});function io(){const t=_t.innerParams.get(this);if(!t)return;const e=_t.domCache.get(this);ut(e.loader),Z()?t.icon&&lt(L()):so(e),rt([e.popup,e.actions],B.loading),e.popup.removeAttribute(\"aria-busy\"),e.popup.removeAttribute(\"data-loading\"),e.confirmButton.disabled=!1,e.denyButton.disabled=!1,e.cancelButton.disabled=!1}const so=t=>{const e=t.popup.getElementsByClassName(t.loader.getAttribute(\"data-button-to-replace\"));e.length?lt(e[0],\"inline-block\"):gt()&&ut(t.actions)};function ro(t){const e=_t.innerParams.get(t||this),n=_t.domCache.get(t||this);return n?nt(n.popup,e.input):null}var ao={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};function co(t,e,n,o){Z()?wo(t,o):(At(n).then((()=>wo(t,o))),Ct.keydownTarget.removeEventListener(\"keydown\",Ct.keydownHandler,{capture:Ct.keydownListenerCapture}),Ct.keydownHandlerAdded=!1),/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?(e.setAttribute(\"style\",\"display:none !important\"),e.removeAttribute(\"class\"),e.innerHTML=\"\"):e.remove(),Y()&&(Re(),$e(),Ae()),lo()}function lo(){rt([document.documentElement,document.body],[B.shown,B[\"height-auto\"],B[\"no-backdrop\"],B[\"toast-shown\"]])}function uo(t){t=fo(t);const e=ao.swalPromiseResolve.get(this),n=mo(this);this.isAwaitingPromise()?t.isDismissed||(ho(this),e(t)):n&&e(t)}function po(){return!!_t.awaitingPromise.get(this)}const mo=t=>{const e=O();if(!e)return!1;const n=_t.innerParams.get(t);if(!n||Q(e,n.hideClass.popup))return!1;rt(e,n.showClass.popup),st(e,n.hideClass.popup);const o=E();return rt(o,n.showClass.backdrop),st(o,n.hideClass.backdrop),bo(t,e,n),!0};function go(t){const e=ao.swalPromiseReject.get(this);ho(this),e&&e(t)}const ho=t=>{t.isAwaitingPromise()&&(_t.awaitingPromise.delete(t),_t.innerParams.get(t)||t._destroy())},fo=t=>void 0===t?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},t),bo=(t,e,n)=>{const o=E(),i=It&&ft(e);\"function\"==typeof n.willClose&&n.willClose(e),i?yo(t,e,o,n.returnFocus,n.didClose):co(t,o,n.returnFocus,n.didClose)},yo=(t,e,n,o,i)=>{Ct.swalCloseEventFinishedCallback=co.bind(null,t,n,o,i),e.addEventListener(It,(function(t){t.target===e&&(Ct.swalCloseEventFinishedCallback(),delete Ct.swalCloseEventFinishedCallback)}))},wo=(t,e)=>{setTimeout((()=>{\"function\"==typeof e&&e.bind(t.params)(),t._destroy()}))};function vo(t,e,n){const o=_t.domCache.get(t);e.forEach((t=>{o[t].disabled=n}))}function Co(t,e){if(!t)return!1;if(\"radio\"===t.type){const n=t.parentNode.parentNode.querySelectorAll(\"input\");for(let t=0;t<n.length;t++)n[t].disabled=e}else t.disabled=e}function ko(){vo(this,[\"confirmButton\",\"denyButton\",\"cancelButton\"],!1)}function Ao(){vo(this,[\"confirmButton\",\"denyButton\",\"cancelButton\"],!0)}function Po(){return Co(this.getInput(),!1)}function Bo(){return Co(this.getInput(),!0)}function xo(t){const e=_t.domCache.get(this),n=_t.innerParams.get(this);G(e.validationMessage,t),e.validationMessage.className=B[\"validation-message\"],n.customClass&&n.customClass.validationMessage&&st(e.validationMessage,n.customClass.validationMessage),lt(e.validationMessage);const o=this.getInput();o&&(o.setAttribute(\"aria-invalid\",!0),o.setAttribute(\"aria-describedby\",B[\"validation-message\"]),ot(o),st(o,B.inputerror))}function Eo(){const t=_t.domCache.get(this);t.validationMessage&&ut(t.validationMessage);const e=this.getInput();e&&(e.removeAttribute(\"aria-invalid\"),e.removeAttribute(\"aria-describedby\"),rt(e,B.inputerror))}function To(){return _t.domCache.get(this).progressSteps}function So(t){const e=O(),n=_t.innerParams.get(this);if(!e||Q(e,n.hideClass.popup))return o(\"You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.\");const i=Oo(t),s=Object.assign({},n,i);ve(this,s),_t.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,t),writable:!1,enumerable:!0}})}const Oo=t=>{const e={};return Object.keys(t).forEach((n=>{b(n)?e[n]=t[n]:o('Invalid parameter to update: \"'.concat(n,'\". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\\n\\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md'))})),e};function Lo(){const t=_t.domCache.get(this),e=_t.innerParams.get(this);e?(t.popup&&Ct.swalCloseEventFinishedCallback&&(Ct.swalCloseEventFinishedCallback(),delete Ct.swalCloseEventFinishedCallback),Ct.deferDisposalTimer&&(clearTimeout(Ct.deferDisposalTimer),delete Ct.deferDisposalTimer),\"function\"==typeof e.didDestroy&&e.didDestroy(),jo(this)):Mo(this)}const jo=t=>{Mo(t),delete t.params,delete Ct.keydownHandler,delete Ct.keydownTarget,delete Ct.currentInstance},Mo=t=>{t.isAwaitingPromise()?(Do(_t,t),_t.awaitingPromise.set(t,!0)):(Do(ao,t),Do(_t,t))},Do=(t,e)=>{for(const n in t)t[n].delete(e)};var Io=Object.freeze({hideLoading:io,disableLoading:io,getInput:ro,close:uo,isAwaitingPromise:po,rejectPromise:go,closePopup:uo,closeModal:uo,closeToast:uo,enableButtons:ko,disableButtons:Ao,enableInput:Po,disableInput:Bo,showValidationMessage:xo,resetValidationMessage:Eo,getProgressSteps:To,update:So,_destroy:Lo});let Ho;class qo{constructor(){if(\"undefined\"==typeof window)return;Ho=this;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];const o=Object.freeze(this.constructor.argsToParams(e));Object.defineProperties(this,{params:{value:o,writable:!1,enumerable:!0,configurable:!0}});const i=this._main(this.params);_t.promise.set(this,i)}_main(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};k(Object.assign({},e,t)),Ct.currentInstance&&(Ct.currentInstance._destroy(),Y()&&Ae()),Ct.currentInstance=this;const n=No(t,e);qe(n),Object.freeze(n),Ct.timeout&&(Ct.timeout.stop(),delete Ct.timeout),clearTimeout(Ct.restoreFocusTimeout);const o=Ro(this);return ve(this,n),_t.innerParams.set(this,n),Vo(this,o,n)}then(t){return _t.promise.get(this).then(t)}finally(t){return _t.promise.get(this).finally(t)}}const Vo=(t,e,n)=>new Promise(((o,i)=>{const s=e=>{t.closePopup({isDismissed:!0,dismiss:e})};ao.swalPromiseResolve.set(t,o),ao.swalPromiseReject.set(t,i),e.confirmButton.onclick=()=>mn(t),e.denyButton.onclick=()=>gn(t),e.cancelButton.onclick=()=>hn(t,s),e.closeButton.onclick=()=>s(Ce.close),kn(t,e,s),Mn(t,Ct,n,s),nn(t,n),Ze(n),Fo(Ct,n,s),Uo(e,n),setTimeout((()=>{e.container.scrollTop=0}))})),No=(t,e)=>{const n=Be(t),o=Object.assign({},p,e,n,t);return o.showClass=Object.assign({},p.showClass,o.showClass),o.hideClass=Object.assign({},p.hideClass,o.hideClass),o},Ro=t=>{const e={popup:O(),container:E(),actions:U(),confirmButton:q(),denyButton:V(),cancelButton:F(),loader:R(),closeButton:_(),validationMessage:H(),progressSteps:I()};return _t.domCache.set(t,e),e},Fo=(t,e,n)=>{const o=z();ut(o),e.timer&&(t.timeout=new Ve((()=>{n(\"timer\"),delete t.timeout}),e.timer),e.timerProgressBar&&(lt(o),et(o,e,\"timerProgressBar\"),setTimeout((()=>{t.timeout&&t.timeout.running&&bt(e.timer)}))))},Uo=(t,e)=>{if(!e.toast)return c(e.allowEnterKey)?void(Wo(t,e)||Dn(e,-1,1)):zo()},Wo=(t,e)=>e.focusDeny&&mt(t.denyButton)?(t.denyButton.focus(),!0):e.focusCancel&&mt(t.cancelButton)?(t.cancelButton.focus(),!0):!(!e.focusConfirm||!mt(t.confirmButton)||(t.confirmButton.focus(),0)),zo=()=>{document.activeElement instanceof HTMLElement&&\"function\"==typeof document.activeElement.blur&&document.activeElement.blur()};Object.assign(qo.prototype,Io),Object.assign(qo,oo),Object.keys(Io).forEach((t=>{qo[t]=function(){if(Ho)return Ho[t](...arguments)}})),qo.DismissReason=Ce,qo.version=\"11.4.0\";const _o=qo;return _o.default=_o,_o}(),void 0!==t&&t.Sweetalert2&&(t.swal=t.sweetAlert=t.Swal=t.SweetAlert=t.Sweetalert2);var n=e.exports;return class{static install(t,e={}){var o;const i=n.mixin(e),s=function(...t){return i.fire.call(i,...t)};Object.assign(s,n),Object.keys(n).filter((t=>\"function\"==typeof n[t])).forEach((t=>{s[t]=i[t].bind(i)})),(null==(o=t.config)?void 0:o.globalProperties)&&!t.config.globalProperties.$swal?(t.config.globalProperties.$swal=s,t.provide(\"$swal\",s)):Object.prototype.hasOwnProperty.call(t,\"$swal\")||(t.prototype.$swal=s,t.swal=s)}}}));\n","(function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueTheMask=t():e.VueTheMask=t()})(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\".\",t(t.s=10)}([function(e,t){e.exports={\"#\":{pattern:/\\d/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,transform:function(e){return e.toLocaleUpperCase()}},a:{pattern:/[a-zA-Z]/,transform:function(e){return e.toLocaleLowerCase()}},\"!\":{escape:!0}}},function(e,t,n){\"use strict\";function r(e){var t=document.createEvent(\"Event\");return t.initEvent(e,!0,!0),t}var a=n(2),o=n(0),i=n.n(o);t.a=function(e,t){var o=t.value;if((Array.isArray(o)||\"string\"==typeof o)&&(o={mask:o,tokens:i.a}),\"INPUT\"!==e.tagName.toLocaleUpperCase()){var u=e.getElementsByTagName(\"input\");if(1!==u.length)throw new Error(\"v-mask directive requires 1 input, found \"+u.length);e=u[0]}e.oninput=function(t){if(t.isTrusted){var i=e.selectionEnd,u=e.value[i-1];for(e.value=n.i(a.a)(e.value,o.mask,!0,o.tokens);i<e.value.length&&e.value.charAt(i-1)!==u;)i++;e===document.activeElement&&(e.setSelectionRange(i,i),setTimeout(function(){e.setSelectionRange(i,i)},0)),e.dispatchEvent(r(\"input\"))}};var s=n.i(a.a)(e.value,o.mask,!0,o.tokens);s!==e.value&&(e.value=s,e.dispatchEvent(r(\"input\")))}},function(e,t,n){\"use strict\";var r=n(6),a=n(5);t.a=function(e,t){var o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments[3];return Array.isArray(t)?n.i(a.a)(r.a,t,i)(e,t,o,i):n.i(r.a)(e,t,o,i)}},function(e,t,n){\"use strict\";function r(e){e.component(s.a.name,s.a),e.directive(\"mask\",i.a)}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(0),o=n.n(a),i=n(1),u=n(7),s=n.n(u);n.d(t,\"TheMask\",function(){return s.a}),n.d(t,\"mask\",function(){return i.a}),n.d(t,\"tokens\",function(){return o.a}),n.d(t,\"version\",function(){return c});var c=\"0.11.1\";t.default=r,\"undefined\"!=typeof window&&window.Vue&&window.Vue.use(r)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(1),a=n(0),o=n.n(a),i=n(2);t.default={name:\"TheMask\",props:{value:[String,Number],mask:{type:[String,Array],required:!0},masked:{type:Boolean,default:!1},tokens:{type:Object,default:function(){return o.a}}},directives:{mask:r.a},data:function(){return{lastValue:null,display:this.value}},watch:{value:function(e){e!==this.lastValue&&(this.display=e)},masked:function(){this.refresh(this.display)}},computed:{config:function(){return{mask:this.mask,tokens:this.tokens,masked:this.masked}}},methods:{onInput:function(e){e.isTrusted||this.refresh(e.target.value)},refresh:function(e){this.display=e;var e=n.i(i.a)(e,this.mask,this.masked,this.tokens);e!==this.lastValue&&(this.lastValue=e,this.$emit(\"input\",e))}}}},function(e,t,n){\"use strict\";function r(e,t,n){return t=t.sort(function(e,t){return e.length-t.length}),function(r,a){for(var o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=0;i<t.length;){var u=t[i];i++;var s=t[i];if(!(s&&e(r,s,!0,n).length>u.length))return e(r,u,o,n)}return\"\"}}t.a=r},function(e,t,n){\"use strict\";function r(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments[3];e=e||\"\",t=t||\"\";for(var a=0,o=0,i=\"\";a<t.length&&o<e.length;){var u=t[a],s=r[u],c=e[o];s&&!s.escape?(s.pattern.test(c)&&(i+=s.transform?s.transform(c):c,a++),o++):(s&&s.escape&&(a++,u=t[a]),n&&(i+=u),c===u&&o++,a++)}for(var f=\"\";a<t.length&&n;){var u=t[a];if(r[u]){f=\"\";break}f+=u,a++}return i+f}t.a=r},function(e,t,n){var r=n(8)(n(4),n(9),null,null);e.exports=r.exports},function(e,t){e.exports=function(e,t,n,r){var a,o=e=e||{},i=typeof e.default;\"object\"!==i&&\"function\"!==i||(a=e,o=e.default);var u=\"function\"==typeof o?o.options:o;if(t&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns),n&&(u._scopeId=n),r){var s=u.computed||(u.computed={});Object.keys(r).forEach(function(e){var t=r[e];s[e]=function(){return t}})}return{esModule:a,exports:o,options:u}}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"input\",{directives:[{name:\"mask\",rawName:\"v-mask\",value:e.config,expression:\"config\"}],attrs:{type:\"text\"},domProps:{value:e.display},on:{input:e.onInput}})},staticRenderFns:[]}},function(e,t,n){e.exports=n(3)}])});","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/*  */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n  return v === undefined || v === null\n}\n\nfunction isDef (v) {\n  return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n  return v === true\n}\n\nfunction isFalse (v) {\n  return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n  return (\n    typeof value === 'string' ||\n    typeof value === 'number' ||\n    // $flow-disable-line\n    typeof value === 'symbol' ||\n    typeof value === 'boolean'\n  )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n  return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n  return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n  return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n  var n = parseFloat(String(val));\n  return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n  return (\n    isDef(val) &&\n    typeof val.then === 'function' &&\n    typeof val.catch === 'function'\n  )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n  return val == null\n    ? ''\n    : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n      ? JSON.stringify(val, null, 2)\n      : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n  var n = parseFloat(val);\n  return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n  str,\n  expectsLowerCase\n) {\n  var map = Object.create(null);\n  var list = str.split(',');\n  for (var i = 0; i < list.length; i++) {\n    map[list[i]] = true;\n  }\n  return expectsLowerCase\n    ? function (val) { return map[val.toLowerCase()]; }\n    : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n  var cache = Object.create(null);\n  return (function cachedFn (str) {\n    var hit = cache[str];\n    return hit || (cache[str] = fn(str))\n  })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n  return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n  return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n  function boundFn (a) {\n    var l = arguments.length;\n    return l\n      ? l > 1\n        ? fn.apply(ctx, arguments)\n        : fn.call(ctx, a)\n      : fn.call(ctx)\n  }\n\n  boundFn._length = fn.length;\n  return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n  return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n  ? nativeBind\n  : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n  start = start || 0;\n  var i = list.length - start;\n  var ret = new Array(i);\n  while (i--) {\n    ret[i] = list[i + start];\n  }\n  return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n  return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n  var res = {};\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n  return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (a instanceof Date && b instanceof Date) {\n        return a.getTime() === b.getTime()\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n  for (var i = 0; i < arr.length; i++) {\n    if (looseEqual(arr[i], val)) { return i }\n  }\n  return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n  var called = false;\n  return function () {\n    if (!called) {\n      called = true;\n      fn.apply(this, arguments);\n    }\n  }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n  'component',\n  'directive',\n  'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n  'beforeCreate',\n  'created',\n  'beforeMount',\n  'mounted',\n  'beforeUpdate',\n  'updated',\n  'beforeDestroy',\n  'destroyed',\n  'activated',\n  'deactivated',\n  'errorCaptured',\n  'serverPrefetch'\n];\n\n/*  */\n\n\n\nvar config = ({\n  /**\n   * Option merge strategies (used in core/util/options)\n   */\n  // $flow-disable-line\n  optionMergeStrategies: Object.create(null),\n\n  /**\n   * Whether to suppress warnings.\n   */\n  silent: false,\n\n  /**\n   * Show production mode tip message on boot?\n   */\n  productionTip: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to enable devtools\n   */\n  devtools: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to record perf\n   */\n  performance: false,\n\n  /**\n   * Error handler for watcher errors\n   */\n  errorHandler: null,\n\n  /**\n   * Warn handler for watcher warns\n   */\n  warnHandler: null,\n\n  /**\n   * Ignore certain custom elements\n   */\n  ignoredElements: [],\n\n  /**\n   * Custom user key aliases for v-on\n   */\n  // $flow-disable-line\n  keyCodes: Object.create(null),\n\n  /**\n   * Check if a tag is reserved so that it cannot be registered as a\n   * component. This is platform-dependent and may be overwritten.\n   */\n  isReservedTag: no,\n\n  /**\n   * Check if an attribute is reserved so that it cannot be used as a component\n   * prop. This is platform-dependent and may be overwritten.\n   */\n  isReservedAttr: no,\n\n  /**\n   * Check if a tag is an unknown element.\n   * Platform-dependent.\n   */\n  isUnknownElement: no,\n\n  /**\n   * Get the namespace of an element\n   */\n  getTagNamespace: noop,\n\n  /**\n   * Parse the real tag name for the specific platform.\n   */\n  parsePlatformTagName: identity,\n\n  /**\n   * Check if an attribute must be bound using property, e.g. value\n   * Platform-dependent.\n   */\n  mustUseProp: no,\n\n  /**\n   * Perform updates asynchronously. Intended to be used by Vue Test Utils\n   * This will significantly reduce performance if set to false.\n   */\n  async: true,\n\n  /**\n   * Exposed for legacy reasons\n   */\n  _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/*  */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n  var c = (str + '').charCodeAt(0);\n  return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n  Object.defineProperty(obj, key, {\n    value: val,\n    enumerable: !!enumerable,\n    writable: true,\n    configurable: true\n  });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n  if (bailRE.test(path)) {\n    return\n  }\n  var segments = path.split('.');\n  return function (obj) {\n    for (var i = 0; i < segments.length; i++) {\n      if (!obj) { return }\n      obj = obj[segments[i]];\n    }\n    return obj\n  }\n}\n\n/*  */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n  try {\n    var opts = {};\n    Object.defineProperty(opts, 'passive', ({\n      get: function get () {\n        /* istanbul ignore next */\n        supportsPassive = true;\n      }\n    })); // https://github.com/facebook/flow/issues/285\n    window.addEventListener('test-passive', null, opts);\n  } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n  if (_isServer === undefined) {\n    /* istanbul ignore if */\n    if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n      // detect presence of vue-server-renderer and avoid\n      // Webpack shimming the process\n      _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n    } else {\n      _isServer = false;\n    }\n  }\n  return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n  return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n  typeof Symbol !== 'undefined' && isNative(Symbol) &&\n  typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n  // use native Set when available.\n  _Set = Set;\n} else {\n  // a non-standard Set polyfill that only works with primitive keys.\n  _Set = /*@__PURE__*/(function () {\n    function Set () {\n      this.set = Object.create(null);\n    }\n    Set.prototype.has = function has (key) {\n      return this.set[key] === true\n    };\n    Set.prototype.add = function add (key) {\n      this.set[key] = true;\n    };\n    Set.prototype.clear = function clear () {\n      this.set = Object.create(null);\n    };\n\n    return Set;\n  }());\n}\n\n/*  */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n  var hasConsole = typeof console !== 'undefined';\n  var classifyRE = /(?:^|[-_])(\\w)/g;\n  var classify = function (str) { return str\n    .replace(classifyRE, function (c) { return c.toUpperCase(); })\n    .replace(/[-_]/g, ''); };\n\n  warn = function (msg, vm) {\n    var trace = vm ? generateComponentTrace(vm) : '';\n\n    if (config.warnHandler) {\n      config.warnHandler.call(null, msg, vm, trace);\n    } else if (hasConsole && (!config.silent)) {\n      console.error((\"[Vue warn]: \" + msg + trace));\n    }\n  };\n\n  tip = function (msg, vm) {\n    if (hasConsole && (!config.silent)) {\n      console.warn(\"[Vue tip]: \" + msg + (\n        vm ? generateComponentTrace(vm) : ''\n      ));\n    }\n  };\n\n  formatComponentName = function (vm, includeFile) {\n    if (vm.$root === vm) {\n      return '<Root>'\n    }\n    var options = typeof vm === 'function' && vm.cid != null\n      ? vm.options\n      : vm._isVue\n        ? vm.$options || vm.constructor.options\n        : vm;\n    var name = options.name || options._componentTag;\n    var file = options.__file;\n    if (!name && file) {\n      var match = file.match(/([^/\\\\]+)\\.vue$/);\n      name = match && match[1];\n    }\n\n    return (\n      (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n      (file && includeFile !== false ? (\" at \" + file) : '')\n    )\n  };\n\n  var repeat = function (str, n) {\n    var res = '';\n    while (n) {\n      if (n % 2 === 1) { res += str; }\n      if (n > 1) { str += str; }\n      n >>= 1;\n    }\n    return res\n  };\n\n  generateComponentTrace = function (vm) {\n    if (vm._isVue && vm.$parent) {\n      var tree = [];\n      var currentRecursiveSequence = 0;\n      while (vm) {\n        if (tree.length > 0) {\n          var last = tree[tree.length - 1];\n          if (last.constructor === vm.constructor) {\n            currentRecursiveSequence++;\n            vm = vm.$parent;\n            continue\n          } else if (currentRecursiveSequence > 0) {\n            tree[tree.length - 1] = [last, currentRecursiveSequence];\n            currentRecursiveSequence = 0;\n          }\n        }\n        tree.push(vm);\n        vm = vm.$parent;\n      }\n      return '\\n\\nfound in\\n\\n' + tree\n        .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n            ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n            : formatComponentName(vm))); })\n        .join('\\n')\n    } else {\n      return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n    }\n  };\n}\n\n/*  */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n  this.id = uid++;\n  this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n  this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n  remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n  if (Dep.target) {\n    Dep.target.addDep(this);\n  }\n};\n\nDep.prototype.notify = function notify () {\n  // stabilize the subscriber list first\n  var subs = this.subs.slice();\n  if (process.env.NODE_ENV !== 'production' && !config.async) {\n    // subs aren't sorted in scheduler if not running async\n    // we need to sort them now to make sure they fire in correct\n    // order\n    subs.sort(function (a, b) { return a.id - b.id; });\n  }\n  for (var i = 0, l = subs.length; i < l; i++) {\n    subs[i].update();\n  }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n  targetStack.push(target);\n  Dep.target = target;\n}\n\nfunction popTarget () {\n  targetStack.pop();\n  Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*  */\n\nvar VNode = function VNode (\n  tag,\n  data,\n  children,\n  text,\n  elm,\n  context,\n  componentOptions,\n  asyncFactory\n) {\n  this.tag = tag;\n  this.data = data;\n  this.children = children;\n  this.text = text;\n  this.elm = elm;\n  this.ns = undefined;\n  this.context = context;\n  this.fnContext = undefined;\n  this.fnOptions = undefined;\n  this.fnScopeId = undefined;\n  this.key = data && data.key;\n  this.componentOptions = componentOptions;\n  this.componentInstance = undefined;\n  this.parent = undefined;\n  this.raw = false;\n  this.isStatic = false;\n  this.isRootInsert = true;\n  this.isComment = false;\n  this.isCloned = false;\n  this.isOnce = false;\n  this.asyncFactory = asyncFactory;\n  this.asyncMeta = undefined;\n  this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n  return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n  if ( text === void 0 ) text = '';\n\n  var node = new VNode();\n  node.text = text;\n  node.isComment = true;\n  return node\n};\n\nfunction createTextVNode (val) {\n  return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n  var cloned = new VNode(\n    vnode.tag,\n    vnode.data,\n    // #7975\n    // clone children array to avoid mutating original in case of cloning\n    // a child.\n    vnode.children && vnode.children.slice(),\n    vnode.text,\n    vnode.elm,\n    vnode.context,\n    vnode.componentOptions,\n    vnode.asyncFactory\n  );\n  cloned.ns = vnode.ns;\n  cloned.isStatic = vnode.isStatic;\n  cloned.key = vnode.key;\n  cloned.isComment = vnode.isComment;\n  cloned.fnContext = vnode.fnContext;\n  cloned.fnOptions = vnode.fnOptions;\n  cloned.fnScopeId = vnode.fnScopeId;\n  cloned.asyncMeta = vnode.asyncMeta;\n  cloned.isCloned = true;\n  return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n  'push',\n  'pop',\n  'shift',\n  'unshift',\n  'splice',\n  'sort',\n  'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n  // cache original method\n  var original = arrayProto[method];\n  def(arrayMethods, method, function mutator () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    var result = original.apply(this, args);\n    var ob = this.__ob__;\n    var inserted;\n    switch (method) {\n      case 'push':\n      case 'unshift':\n        inserted = args;\n        break\n      case 'splice':\n        inserted = args.slice(2);\n        break\n    }\n    if (inserted) { ob.observeArray(inserted); }\n    // notify change\n    ob.dep.notify();\n    return result\n  });\n});\n\n/*  */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n  shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n  this.value = value;\n  this.dep = new Dep();\n  this.vmCount = 0;\n  def(value, '__ob__', this);\n  if (Array.isArray(value)) {\n    if (hasProto) {\n      protoAugment(value, arrayMethods);\n    } else {\n      copyAugment(value, arrayMethods, arrayKeys);\n    }\n    this.observeArray(value);\n  } else {\n    this.walk(value);\n  }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n  var keys = Object.keys(obj);\n  for (var i = 0; i < keys.length; i++) {\n    defineReactive$$1(obj, keys[i]);\n  }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n  for (var i = 0, l = items.length; i < l; i++) {\n    observe(items[i]);\n  }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n  /* eslint-disable no-proto */\n  target.__proto__ = src;\n  /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n  for (var i = 0, l = keys.length; i < l; i++) {\n    var key = keys[i];\n    def(target, key, src[key]);\n  }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n  if (!isObject(value) || value instanceof VNode) {\n    return\n  }\n  var ob;\n  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n    ob = value.__ob__;\n  } else if (\n    shouldObserve &&\n    !isServerRendering() &&\n    (Array.isArray(value) || isPlainObject(value)) &&\n    Object.isExtensible(value) &&\n    !value._isVue\n  ) {\n    ob = new Observer(value);\n  }\n  if (asRootData && ob) {\n    ob.vmCount++;\n  }\n  return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n  obj,\n  key,\n  val,\n  customSetter,\n  shallow\n) {\n  var dep = new Dep();\n\n  var property = Object.getOwnPropertyDescriptor(obj, key);\n  if (property && property.configurable === false) {\n    return\n  }\n\n  // cater for pre-defined getter/setters\n  var getter = property && property.get;\n  var setter = property && property.set;\n  if ((!getter || setter) && arguments.length === 2) {\n    val = obj[key];\n  }\n\n  var childOb = !shallow && observe(val);\n  Object.defineProperty(obj, key, {\n    enumerable: true,\n    configurable: true,\n    get: function reactiveGetter () {\n      var value = getter ? getter.call(obj) : val;\n      if (Dep.target) {\n        dep.depend();\n        if (childOb) {\n          childOb.dep.depend();\n          if (Array.isArray(value)) {\n            dependArray(value);\n          }\n        }\n      }\n      return value\n    },\n    set: function reactiveSetter (newVal) {\n      var value = getter ? getter.call(obj) : val;\n      /* eslint-disable no-self-compare */\n      if (newVal === value || (newVal !== newVal && value !== value)) {\n        return\n      }\n      /* eslint-enable no-self-compare */\n      if (process.env.NODE_ENV !== 'production' && customSetter) {\n        customSetter();\n      }\n      // #7981: for accessor properties without setter\n      if (getter && !setter) { return }\n      if (setter) {\n        setter.call(obj, newVal);\n      } else {\n        val = newVal;\n      }\n      childOb = !shallow && observe(newVal);\n      dep.notify();\n    }\n  });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.length = Math.max(target.length, key);\n    target.splice(key, 1, val);\n    return val\n  }\n  if (key in target && !(key in Object.prototype)) {\n    target[key] = val;\n    return val\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid adding reactive properties to a Vue instance or its root $data ' +\n      'at runtime - declare it upfront in the data option.'\n    );\n    return val\n  }\n  if (!ob) {\n    target[key] = val;\n    return val\n  }\n  defineReactive$$1(ob.value, key, val);\n  ob.dep.notify();\n  return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.splice(key, 1);\n    return\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid deleting properties on a Vue instance or its root $data ' +\n      '- just set it to null.'\n    );\n    return\n  }\n  if (!hasOwn(target, key)) {\n    return\n  }\n  delete target[key];\n  if (!ob) {\n    return\n  }\n  ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n  for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n    e = value[i];\n    e && e.__ob__ && e.__ob__.dep.depend();\n    if (Array.isArray(e)) {\n      dependArray(e);\n    }\n  }\n}\n\n/*  */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n  strats.el = strats.propsData = function (parent, child, vm, key) {\n    if (!vm) {\n      warn(\n        \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n        'creation with the `new` keyword.'\n      );\n    }\n    return defaultStrat(parent, child)\n  };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n  if (!from) { return to }\n  var key, toVal, fromVal;\n\n  var keys = hasSymbol\n    ? Reflect.ownKeys(from)\n    : Object.keys(from);\n\n  for (var i = 0; i < keys.length; i++) {\n    key = keys[i];\n    // in case the object is already observed...\n    if (key === '__ob__') { continue }\n    toVal = to[key];\n    fromVal = from[key];\n    if (!hasOwn(to, key)) {\n      set(to, key, fromVal);\n    } else if (\n      toVal !== fromVal &&\n      isPlainObject(toVal) &&\n      isPlainObject(fromVal)\n    ) {\n      mergeData(toVal, fromVal);\n    }\n  }\n  return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    // in a Vue.extend merge, both should be functions\n    if (!childVal) {\n      return parentVal\n    }\n    if (!parentVal) {\n      return childVal\n    }\n    // when parentVal & childVal are both present,\n    // we need to return a function that returns the\n    // merged result of both functions... no need to\n    // check if parentVal is a function here because\n    // it has to be a function to pass previous merges.\n    return function mergedDataFn () {\n      return mergeData(\n        typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n        typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n      )\n    }\n  } else {\n    return function mergedInstanceDataFn () {\n      // instance merge\n      var instanceData = typeof childVal === 'function'\n        ? childVal.call(vm, vm)\n        : childVal;\n      var defaultData = typeof parentVal === 'function'\n        ? parentVal.call(vm, vm)\n        : parentVal;\n      if (instanceData) {\n        return mergeData(instanceData, defaultData)\n      } else {\n        return defaultData\n      }\n    }\n  }\n}\n\nstrats.data = function (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    if (childVal && typeof childVal !== 'function') {\n      process.env.NODE_ENV !== 'production' && warn(\n        'The \"data\" option should be a function ' +\n        'that returns a per-instance value in component ' +\n        'definitions.',\n        vm\n      );\n\n      return parentVal\n    }\n    return mergeDataOrFn(parentVal, childVal)\n  }\n\n  return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n  parentVal,\n  childVal\n) {\n  var res = childVal\n    ? parentVal\n      ? parentVal.concat(childVal)\n      : Array.isArray(childVal)\n        ? childVal\n        : [childVal]\n    : parentVal;\n  return res\n    ? dedupeHooks(res)\n    : res\n}\n\nfunction dedupeHooks (hooks) {\n  var res = [];\n  for (var i = 0; i < hooks.length; i++) {\n    if (res.indexOf(hooks[i]) === -1) {\n      res.push(hooks[i]);\n    }\n  }\n  return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n  strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  var res = Object.create(parentVal || null);\n  if (childVal) {\n    process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n    return extend(res, childVal)\n  } else {\n    return res\n  }\n}\n\nASSET_TYPES.forEach(function (type) {\n  strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  // work around Firefox's Object.prototype.watch...\n  if (parentVal === nativeWatch) { parentVal = undefined; }\n  if (childVal === nativeWatch) { childVal = undefined; }\n  /* istanbul ignore if */\n  if (!childVal) { return Object.create(parentVal || null) }\n  if (process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = {};\n  extend(ret, parentVal);\n  for (var key$1 in childVal) {\n    var parent = ret[key$1];\n    var child = childVal[key$1];\n    if (parent && !Array.isArray(parent)) {\n      parent = [parent];\n    }\n    ret[key$1] = parent\n      ? parent.concat(child)\n      : Array.isArray(child) ? child : [child];\n  }\n  return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  if (childVal && process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = Object.create(null);\n  extend(ret, parentVal);\n  if (childVal) { extend(ret, childVal); }\n  return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n  return childVal === undefined\n    ? parentVal\n    : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n  for (var key in options.components) {\n    validateComponentName(key);\n  }\n}\n\nfunction validateComponentName (name) {\n  if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n    warn(\n      'Invalid component name: \"' + name + '\". Component names ' +\n      'should conform to valid custom element name in html5 specification.'\n    );\n  }\n  if (isBuiltInTag(name) || config.isReservedTag(name)) {\n    warn(\n      'Do not use built-in or reserved HTML elements as component ' +\n      'id: ' + name\n    );\n  }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n  var props = options.props;\n  if (!props) { return }\n  var res = {};\n  var i, val, name;\n  if (Array.isArray(props)) {\n    i = props.length;\n    while (i--) {\n      val = props[i];\n      if (typeof val === 'string') {\n        name = camelize(val);\n        res[name] = { type: null };\n      } else if (process.env.NODE_ENV !== 'production') {\n        warn('props must be strings when using array syntax.');\n      }\n    }\n  } else if (isPlainObject(props)) {\n    for (var key in props) {\n      val = props[key];\n      name = camelize(key);\n      res[name] = isPlainObject(val)\n        ? val\n        : { type: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(props)) + \".\",\n      vm\n    );\n  }\n  options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n  var inject = options.inject;\n  if (!inject) { return }\n  var normalized = options.inject = {};\n  if (Array.isArray(inject)) {\n    for (var i = 0; i < inject.length; i++) {\n      normalized[inject[i]] = { from: inject[i] };\n    }\n  } else if (isPlainObject(inject)) {\n    for (var key in inject) {\n      var val = inject[key];\n      normalized[key] = isPlainObject(val)\n        ? extend({ from: key }, val)\n        : { from: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(inject)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n  var dirs = options.directives;\n  if (dirs) {\n    for (var key in dirs) {\n      var def$$1 = dirs[key];\n      if (typeof def$$1 === 'function') {\n        dirs[key] = { bind: def$$1, update: def$$1 };\n      }\n    }\n  }\n}\n\nfunction assertObjectType (name, value, vm) {\n  if (!isPlainObject(value)) {\n    warn(\n      \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n      \"but got \" + (toRawType(value)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n  parent,\n  child,\n  vm\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    checkComponents(child);\n  }\n\n  if (typeof child === 'function') {\n    child = child.options;\n  }\n\n  normalizeProps(child, vm);\n  normalizeInject(child, vm);\n  normalizeDirectives(child);\n\n  // Apply extends and mixins on the child options,\n  // but only if it is a raw options object that isn't\n  // the result of another mergeOptions call.\n  // Only merged options has the _base property.\n  if (!child._base) {\n    if (child.extends) {\n      parent = mergeOptions(parent, child.extends, vm);\n    }\n    if (child.mixins) {\n      for (var i = 0, l = child.mixins.length; i < l; i++) {\n        parent = mergeOptions(parent, child.mixins[i], vm);\n      }\n    }\n  }\n\n  var options = {};\n  var key;\n  for (key in parent) {\n    mergeField(key);\n  }\n  for (key in child) {\n    if (!hasOwn(parent, key)) {\n      mergeField(key);\n    }\n  }\n  function mergeField (key) {\n    var strat = strats[key] || defaultStrat;\n    options[key] = strat(parent[key], child[key], vm, key);\n  }\n  return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n  options,\n  type,\n  id,\n  warnMissing\n) {\n  /* istanbul ignore if */\n  if (typeof id !== 'string') {\n    return\n  }\n  var assets = options[type];\n  // check local registration variations first\n  if (hasOwn(assets, id)) { return assets[id] }\n  var camelizedId = camelize(id);\n  if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n  var PascalCaseId = capitalize(camelizedId);\n  if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n  // fallback to prototype chain\n  var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n  if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n    warn(\n      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n      options\n    );\n  }\n  return res\n}\n\n/*  */\n\n\n\nfunction validateProp (\n  key,\n  propOptions,\n  propsData,\n  vm\n) {\n  var prop = propOptions[key];\n  var absent = !hasOwn(propsData, key);\n  var value = propsData[key];\n  // boolean casting\n  var booleanIndex = getTypeIndex(Boolean, prop.type);\n  if (booleanIndex > -1) {\n    if (absent && !hasOwn(prop, 'default')) {\n      value = false;\n    } else if (value === '' || value === hyphenate(key)) {\n      // only cast empty string / same name to boolean if\n      // boolean has higher priority\n      var stringIndex = getTypeIndex(String, prop.type);\n      if (stringIndex < 0 || booleanIndex < stringIndex) {\n        value = true;\n      }\n    }\n  }\n  // check default value\n  if (value === undefined) {\n    value = getPropDefaultValue(vm, prop, key);\n    // since the default value is a fresh copy,\n    // make sure to observe it.\n    var prevShouldObserve = shouldObserve;\n    toggleObserving(true);\n    observe(value);\n    toggleObserving(prevShouldObserve);\n  }\n  if (\n    process.env.NODE_ENV !== 'production' &&\n    // skip validation for weex recycle-list child component props\n    !(false)\n  ) {\n    assertProp(prop, key, value, vm, absent);\n  }\n  return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n  // no default, return undefined\n  if (!hasOwn(prop, 'default')) {\n    return undefined\n  }\n  var def = prop.default;\n  // warn against non-factory defaults for Object & Array\n  if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n    warn(\n      'Invalid default value for prop \"' + key + '\": ' +\n      'Props with type Object/Array must use a factory function ' +\n      'to return the default value.',\n      vm\n    );\n  }\n  // the raw prop value was also undefined from previous render,\n  // return previous default value to avoid unnecessary watcher trigger\n  if (vm && vm.$options.propsData &&\n    vm.$options.propsData[key] === undefined &&\n    vm._props[key] !== undefined\n  ) {\n    return vm._props[key]\n  }\n  // call factory function for non-Function types\n  // a value is Function if its prototype is function even across different execution context\n  return typeof def === 'function' && getType(prop.type) !== 'Function'\n    ? def.call(vm)\n    : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n  prop,\n  name,\n  value,\n  vm,\n  absent\n) {\n  if (prop.required && absent) {\n    warn(\n      'Missing required prop: \"' + name + '\"',\n      vm\n    );\n    return\n  }\n  if (value == null && !prop.required) {\n    return\n  }\n  var type = prop.type;\n  var valid = !type || type === true;\n  var expectedTypes = [];\n  if (type) {\n    if (!Array.isArray(type)) {\n      type = [type];\n    }\n    for (var i = 0; i < type.length && !valid; i++) {\n      var assertedType = assertType(value, type[i], vm);\n      expectedTypes.push(assertedType.expectedType || '');\n      valid = assertedType.valid;\n    }\n  }\n\n  var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n  if (!valid && haveExpectedTypes) {\n    warn(\n      getInvalidTypeMessage(name, value, expectedTypes),\n      vm\n    );\n    return\n  }\n  var validator = prop.validator;\n  if (validator) {\n    if (!validator(value)) {\n      warn(\n        'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n        vm\n      );\n    }\n  }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n  var valid;\n  var expectedType = getType(type);\n  if (simpleCheckRE.test(expectedType)) {\n    var t = typeof value;\n    valid = t === expectedType.toLowerCase();\n    // for primitive wrapper objects\n    if (!valid && t === 'object') {\n      valid = value instanceof type;\n    }\n  } else if (expectedType === 'Object') {\n    valid = isPlainObject(value);\n  } else if (expectedType === 'Array') {\n    valid = Array.isArray(value);\n  } else {\n    try {\n      valid = value instanceof type;\n    } catch (e) {\n      warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n      valid = false;\n    }\n  }\n  return {\n    valid: valid,\n    expectedType: expectedType\n  }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n  var match = fn && fn.toString().match(functionTypeCheckRE);\n  return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n  return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n  if (!Array.isArray(expectedTypes)) {\n    return isSameType(expectedTypes, type) ? 0 : -1\n  }\n  for (var i = 0, len = expectedTypes.length; i < len; i++) {\n    if (isSameType(expectedTypes[i], type)) {\n      return i\n    }\n  }\n  return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n  var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n    \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n  var expectedType = expectedTypes[0];\n  var receivedType = toRawType(value);\n  // check if we need to specify expected value\n  if (\n    expectedTypes.length === 1 &&\n    isExplicable(expectedType) &&\n    isExplicable(typeof value) &&\n    !isBoolean(expectedType, receivedType)\n  ) {\n    message += \" with value \" + (styleValue(value, expectedType));\n  }\n  message += \", got \" + receivedType + \" \";\n  // check if we need to specify received value\n  if (isExplicable(receivedType)) {\n    message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n  }\n  return message\n}\n\nfunction styleValue (value, type) {\n  if (type === 'String') {\n    return (\"\\\"\" + value + \"\\\"\")\n  } else if (type === 'Number') {\n    return (\"\" + (Number(value)))\n  } else {\n    return (\"\" + value)\n  }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n  return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/*  */\n\nfunction handleError (err, vm, info) {\n  // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n  // See: https://github.com/vuejs/vuex/issues/1505\n  pushTarget();\n  try {\n    if (vm) {\n      var cur = vm;\n      while ((cur = cur.$parent)) {\n        var hooks = cur.$options.errorCaptured;\n        if (hooks) {\n          for (var i = 0; i < hooks.length; i++) {\n            try {\n              var capture = hooks[i].call(cur, err, vm, info) === false;\n              if (capture) { return }\n            } catch (e) {\n              globalHandleError(e, cur, 'errorCaptured hook');\n            }\n          }\n        }\n      }\n    }\n    globalHandleError(err, vm, info);\n  } finally {\n    popTarget();\n  }\n}\n\nfunction invokeWithErrorHandling (\n  handler,\n  context,\n  args,\n  vm,\n  info\n) {\n  var res;\n  try {\n    res = args ? handler.apply(context, args) : handler.call(context);\n    if (res && !res._isVue && isPromise(res) && !res._handled) {\n      res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n      // issue #9511\n      // avoid catch triggering multiple times when nested calls\n      res._handled = true;\n    }\n  } catch (e) {\n    handleError(e, vm, info);\n  }\n  return res\n}\n\nfunction globalHandleError (err, vm, info) {\n  if (config.errorHandler) {\n    try {\n      return config.errorHandler.call(null, err, vm, info)\n    } catch (e) {\n      // if the user intentionally throws the original error in the handler,\n      // do not log it twice\n      if (e !== err) {\n        logError(e, null, 'config.errorHandler');\n      }\n    }\n  }\n  logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n  }\n  /* istanbul ignore else */\n  if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n    console.error(err);\n  } else {\n    throw err\n  }\n}\n\n/*  */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n  pending = false;\n  var copies = callbacks.slice(0);\n  callbacks.length = 0;\n  for (var i = 0; i < copies.length; i++) {\n    copies[i]();\n  }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n  var p = Promise.resolve();\n  timerFunc = function () {\n    p.then(flushCallbacks);\n    // In problematic UIWebViews, Promise.then doesn't completely break, but\n    // it can get stuck in a weird state where callbacks are pushed into the\n    // microtask queue but the queue isn't being flushed, until the browser\n    // needs to do some other work, e.g. handle a timer. Therefore we can\n    // \"force\" the microtask queue to be flushed by adding an empty timer.\n    if (isIOS) { setTimeout(noop); }\n  };\n  isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n  isNative(MutationObserver) ||\n  // PhantomJS and iOS 7.x\n  MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n  // Use MutationObserver where native Promise is not available,\n  // e.g. PhantomJS, iOS7, Android 4.4\n  // (#6466 MutationObserver is unreliable in IE11)\n  var counter = 1;\n  var observer = new MutationObserver(flushCallbacks);\n  var textNode = document.createTextNode(String(counter));\n  observer.observe(textNode, {\n    characterData: true\n  });\n  timerFunc = function () {\n    counter = (counter + 1) % 2;\n    textNode.data = String(counter);\n  };\n  isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n  // Fallback to setImmediate.\n  // Technically it leverages the (macro) task queue,\n  // but it is still a better choice than setTimeout.\n  timerFunc = function () {\n    setImmediate(flushCallbacks);\n  };\n} else {\n  // Fallback to setTimeout.\n  timerFunc = function () {\n    setTimeout(flushCallbacks, 0);\n  };\n}\n\nfunction nextTick (cb, ctx) {\n  var _resolve;\n  callbacks.push(function () {\n    if (cb) {\n      try {\n        cb.call(ctx);\n      } catch (e) {\n        handleError(e, ctx, 'nextTick');\n      }\n    } else if (_resolve) {\n      _resolve(ctx);\n    }\n  });\n  if (!pending) {\n    pending = true;\n    timerFunc();\n  }\n  // $flow-disable-line\n  if (!cb && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve) {\n      _resolve = resolve;\n    })\n  }\n}\n\n/*  */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n  var allowedGlobals = makeMap(\n    'Infinity,undefined,NaN,isFinite,isNaN,' +\n    'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n    'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n    'require' // for Webpack/Browserify\n  );\n\n  var warnNonPresent = function (target, key) {\n    warn(\n      \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n      'referenced during render. Make sure that this property is reactive, ' +\n      'either in the data option, or for class-based components, by ' +\n      'initializing the property. ' +\n      'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n      target\n    );\n  };\n\n  var warnReservedPrefix = function (target, key) {\n    warn(\n      \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n      'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n      'prevent conflicts with Vue internals. ' +\n      'See: https://vuejs.org/v2/api/#data',\n      target\n    );\n  };\n\n  var hasProxy =\n    typeof Proxy !== 'undefined' && isNative(Proxy);\n\n  if (hasProxy) {\n    var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n    config.keyCodes = new Proxy(config.keyCodes, {\n      set: function set (target, key, value) {\n        if (isBuiltInModifier(key)) {\n          warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n          return false\n        } else {\n          target[key] = value;\n          return true\n        }\n      }\n    });\n  }\n\n  var hasHandler = {\n    has: function has (target, key) {\n      var has = key in target;\n      var isAllowed = allowedGlobals(key) ||\n        (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n      if (!has && !isAllowed) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return has || !isAllowed\n    }\n  };\n\n  var getHandler = {\n    get: function get (target, key) {\n      if (typeof key === 'string' && !(key in target)) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return target[key]\n    }\n  };\n\n  initProxy = function initProxy (vm) {\n    if (hasProxy) {\n      // determine which proxy handler to use\n      var options = vm.$options;\n      var handlers = options.render && options.render._withStripped\n        ? getHandler\n        : hasHandler;\n      vm._renderProxy = new Proxy(vm, handlers);\n    } else {\n      vm._renderProxy = vm;\n    }\n  };\n}\n\n/*  */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n  _traverse(val, seenObjects);\n  seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n  var i, keys;\n  var isA = Array.isArray(val);\n  if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n    return\n  }\n  if (val.__ob__) {\n    var depId = val.__ob__.dep.id;\n    if (seen.has(depId)) {\n      return\n    }\n    seen.add(depId);\n  }\n  if (isA) {\n    i = val.length;\n    while (i--) { _traverse(val[i], seen); }\n  } else {\n    keys = Object.keys(val);\n    i = keys.length;\n    while (i--) { _traverse(val[keys[i]], seen); }\n  }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n  var perf = inBrowser && window.performance;\n  /* istanbul ignore if */\n  if (\n    perf &&\n    perf.mark &&\n    perf.measure &&\n    perf.clearMarks &&\n    perf.clearMeasures\n  ) {\n    mark = function (tag) { return perf.mark(tag); };\n    measure = function (name, startTag, endTag) {\n      perf.measure(name, startTag, endTag);\n      perf.clearMarks(startTag);\n      perf.clearMarks(endTag);\n      // perf.clearMeasures(name)\n    };\n  }\n}\n\n/*  */\n\nvar normalizeEvent = cached(function (name) {\n  var passive = name.charAt(0) === '&';\n  name = passive ? name.slice(1) : name;\n  var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n  name = once$$1 ? name.slice(1) : name;\n  var capture = name.charAt(0) === '!';\n  name = capture ? name.slice(1) : name;\n  return {\n    name: name,\n    once: once$$1,\n    capture: capture,\n    passive: passive\n  }\n});\n\nfunction createFnInvoker (fns, vm) {\n  function invoker () {\n    var arguments$1 = arguments;\n\n    var fns = invoker.fns;\n    if (Array.isArray(fns)) {\n      var cloned = fns.slice();\n      for (var i = 0; i < cloned.length; i++) {\n        invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n      }\n    } else {\n      // return handler return value for single handlers\n      return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n    }\n  }\n  invoker.fns = fns;\n  return invoker\n}\n\nfunction updateListeners (\n  on,\n  oldOn,\n  add,\n  remove$$1,\n  createOnceHandler,\n  vm\n) {\n  var name, def$$1, cur, old, event;\n  for (name in on) {\n    def$$1 = cur = on[name];\n    old = oldOn[name];\n    event = normalizeEvent(name);\n    if (isUndef(cur)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n        vm\n      );\n    } else if (isUndef(old)) {\n      if (isUndef(cur.fns)) {\n        cur = on[name] = createFnInvoker(cur, vm);\n      }\n      if (isTrue(event.once)) {\n        cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n      }\n      add(event.name, cur, event.capture, event.passive, event.params);\n    } else if (cur !== old) {\n      old.fns = cur;\n      on[name] = old;\n    }\n  }\n  for (name in oldOn) {\n    if (isUndef(on[name])) {\n      event = normalizeEvent(name);\n      remove$$1(event.name, oldOn[name], event.capture);\n    }\n  }\n}\n\n/*  */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n  if (def instanceof VNode) {\n    def = def.data.hook || (def.data.hook = {});\n  }\n  var invoker;\n  var oldHook = def[hookKey];\n\n  function wrappedHook () {\n    hook.apply(this, arguments);\n    // important: remove merged hook to ensure it's called only once\n    // and prevent memory leak\n    remove(invoker.fns, wrappedHook);\n  }\n\n  if (isUndef(oldHook)) {\n    // no existing hook\n    invoker = createFnInvoker([wrappedHook]);\n  } else {\n    /* istanbul ignore if */\n    if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n      // already a merged invoker\n      invoker = oldHook;\n      invoker.fns.push(wrappedHook);\n    } else {\n      // existing plain hook\n      invoker = createFnInvoker([oldHook, wrappedHook]);\n    }\n  }\n\n  invoker.merged = true;\n  def[hookKey] = invoker;\n}\n\n/*  */\n\nfunction extractPropsFromVNodeData (\n  data,\n  Ctor,\n  tag\n) {\n  // we are only extracting raw values here.\n  // validation and default values are handled in the child\n  // component itself.\n  var propOptions = Ctor.options.props;\n  if (isUndef(propOptions)) {\n    return\n  }\n  var res = {};\n  var attrs = data.attrs;\n  var props = data.props;\n  if (isDef(attrs) || isDef(props)) {\n    for (var key in propOptions) {\n      var altKey = hyphenate(key);\n      if (process.env.NODE_ENV !== 'production') {\n        var keyInLowerCase = key.toLowerCase();\n        if (\n          key !== keyInLowerCase &&\n          attrs && hasOwn(attrs, keyInLowerCase)\n        ) {\n          tip(\n            \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n            (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n            \" \\\"\" + key + \"\\\". \" +\n            \"Note that HTML attributes are case-insensitive and camelCased \" +\n            \"props need to use their kebab-case equivalents when using in-DOM \" +\n            \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n          );\n        }\n      }\n      checkProp(res, props, key, altKey, true) ||\n      checkProp(res, attrs, key, altKey, false);\n    }\n  }\n  return res\n}\n\nfunction checkProp (\n  res,\n  hash,\n  key,\n  altKey,\n  preserve\n) {\n  if (isDef(hash)) {\n    if (hasOwn(hash, key)) {\n      res[key] = hash[key];\n      if (!preserve) {\n        delete hash[key];\n      }\n      return true\n    } else if (hasOwn(hash, altKey)) {\n      res[key] = hash[altKey];\n      if (!preserve) {\n        delete hash[altKey];\n      }\n      return true\n    }\n  }\n  return false\n}\n\n/*  */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n  for (var i = 0; i < children.length; i++) {\n    if (Array.isArray(children[i])) {\n      return Array.prototype.concat.apply([], children)\n    }\n  }\n  return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n  return isPrimitive(children)\n    ? [createTextVNode(children)]\n    : Array.isArray(children)\n      ? normalizeArrayChildren(children)\n      : undefined\n}\n\nfunction isTextNode (node) {\n  return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n  var res = [];\n  var i, c, lastIndex, last;\n  for (i = 0; i < children.length; i++) {\n    c = children[i];\n    if (isUndef(c) || typeof c === 'boolean') { continue }\n    lastIndex = res.length - 1;\n    last = res[lastIndex];\n    //  nested\n    if (Array.isArray(c)) {\n      if (c.length > 0) {\n        c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n        // merge adjacent text nodes\n        if (isTextNode(c[0]) && isTextNode(last)) {\n          res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n          c.shift();\n        }\n        res.push.apply(res, c);\n      }\n    } else if (isPrimitive(c)) {\n      if (isTextNode(last)) {\n        // merge adjacent text nodes\n        // this is necessary for SSR hydration because text nodes are\n        // essentially merged when rendered to HTML strings\n        res[lastIndex] = createTextVNode(last.text + c);\n      } else if (c !== '') {\n        // convert primitive to vnode\n        res.push(createTextVNode(c));\n      }\n    } else {\n      if (isTextNode(c) && isTextNode(last)) {\n        // merge adjacent text nodes\n        res[lastIndex] = createTextVNode(last.text + c.text);\n      } else {\n        // default key for nested array children (likely generated by v-for)\n        if (isTrue(children._isVList) &&\n          isDef(c.tag) &&\n          isUndef(c.key) &&\n          isDef(nestedIndex)) {\n          c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n        }\n        res.push(c);\n      }\n    }\n  }\n  return res\n}\n\n/*  */\n\nfunction initProvide (vm) {\n  var provide = vm.$options.provide;\n  if (provide) {\n    vm._provided = typeof provide === 'function'\n      ? provide.call(vm)\n      : provide;\n  }\n}\n\nfunction initInjections (vm) {\n  var result = resolveInject(vm.$options.inject, vm);\n  if (result) {\n    toggleObserving(false);\n    Object.keys(result).forEach(function (key) {\n      /* istanbul ignore else */\n      if (process.env.NODE_ENV !== 'production') {\n        defineReactive$$1(vm, key, result[key], function () {\n          warn(\n            \"Avoid mutating an injected value directly since the changes will be \" +\n            \"overwritten whenever the provided component re-renders. \" +\n            \"injection being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        });\n      } else {\n        defineReactive$$1(vm, key, result[key]);\n      }\n    });\n    toggleObserving(true);\n  }\n}\n\nfunction resolveInject (inject, vm) {\n  if (inject) {\n    // inject is :any because flow is not smart enough to figure out cached\n    var result = Object.create(null);\n    var keys = hasSymbol\n      ? Reflect.ownKeys(inject)\n      : Object.keys(inject);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n      // #6574 in case the inject object is observed...\n      if (key === '__ob__') { continue }\n      var provideKey = inject[key].from;\n      var source = vm;\n      while (source) {\n        if (source._provided && hasOwn(source._provided, provideKey)) {\n          result[key] = source._provided[provideKey];\n          break\n        }\n        source = source.$parent;\n      }\n      if (!source) {\n        if ('default' in inject[key]) {\n          var provideDefault = inject[key].default;\n          result[key] = typeof provideDefault === 'function'\n            ? provideDefault.call(vm)\n            : provideDefault;\n        } else if (process.env.NODE_ENV !== 'production') {\n          warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n        }\n      }\n    }\n    return result\n  }\n}\n\n/*  */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n  children,\n  context\n) {\n  if (!children || !children.length) {\n    return {}\n  }\n  var slots = {};\n  for (var i = 0, l = children.length; i < l; i++) {\n    var child = children[i];\n    var data = child.data;\n    // remove slot attribute if the node is resolved as a Vue slot node\n    if (data && data.attrs && data.attrs.slot) {\n      delete data.attrs.slot;\n    }\n    // named slots should only be respected if the vnode was rendered in the\n    // same context.\n    if ((child.context === context || child.fnContext === context) &&\n      data && data.slot != null\n    ) {\n      var name = data.slot;\n      var slot = (slots[name] || (slots[name] = []));\n      if (child.tag === 'template') {\n        slot.push.apply(slot, child.children || []);\n      } else {\n        slot.push(child);\n      }\n    } else {\n      (slots.default || (slots.default = [])).push(child);\n    }\n  }\n  // ignore slots that contains only whitespace\n  for (var name$1 in slots) {\n    if (slots[name$1].every(isWhitespace)) {\n      delete slots[name$1];\n    }\n  }\n  return slots\n}\n\nfunction isWhitespace (node) {\n  return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/*  */\n\nfunction isAsyncPlaceholder (node) {\n  return node.isComment && node.asyncFactory\n}\n\n/*  */\n\nfunction normalizeScopedSlots (\n  slots,\n  normalSlots,\n  prevSlots\n) {\n  var res;\n  var hasNormalSlots = Object.keys(normalSlots).length > 0;\n  var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n  var key = slots && slots.$key;\n  if (!slots) {\n    res = {};\n  } else if (slots._normalized) {\n    // fast path 1: child component re-render only, parent did not change\n    return slots._normalized\n  } else if (\n    isStable &&\n    prevSlots &&\n    prevSlots !== emptyObject &&\n    key === prevSlots.$key &&\n    !hasNormalSlots &&\n    !prevSlots.$hasNormal\n  ) {\n    // fast path 2: stable scoped slots w/ no normal slots to proxy,\n    // only need to normalize once\n    return prevSlots\n  } else {\n    res = {};\n    for (var key$1 in slots) {\n      if (slots[key$1] && key$1[0] !== '$') {\n        res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n      }\n    }\n  }\n  // expose normal slots on scopedSlots\n  for (var key$2 in normalSlots) {\n    if (!(key$2 in res)) {\n      res[key$2] = proxyNormalSlot(normalSlots, key$2);\n    }\n  }\n  // avoriaz seems to mock a non-extensible $scopedSlots object\n  // and when that is passed down this would cause an error\n  if (slots && Object.isExtensible(slots)) {\n    (slots)._normalized = res;\n  }\n  def(res, '$stable', isStable);\n  def(res, '$key', key);\n  def(res, '$hasNormal', hasNormalSlots);\n  return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n  var normalized = function () {\n    var res = arguments.length ? fn.apply(null, arguments) : fn({});\n    res = res && typeof res === 'object' && !Array.isArray(res)\n      ? [res] // single vnode\n      : normalizeChildren(res);\n    var vnode = res && res[0];\n    return res && (\n      !vnode ||\n      (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n    ) ? undefined\n      : res\n  };\n  // this is a slot using the new v-slot syntax without scope. although it is\n  // compiled as a scoped slot, render fn users would expect it to be present\n  // on this.$slots because the usage is semantically a normal slot.\n  if (fn.proxy) {\n    Object.defineProperty(normalSlots, key, {\n      get: normalized,\n      enumerable: true,\n      configurable: true\n    });\n  }\n  return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n  return function () { return slots[key]; }\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n  val,\n  render\n) {\n  var ret, i, l, keys, key;\n  if (Array.isArray(val) || typeof val === 'string') {\n    ret = new Array(val.length);\n    for (i = 0, l = val.length; i < l; i++) {\n      ret[i] = render(val[i], i);\n    }\n  } else if (typeof val === 'number') {\n    ret = new Array(val);\n    for (i = 0; i < val; i++) {\n      ret[i] = render(i + 1, i);\n    }\n  } else if (isObject(val)) {\n    if (hasSymbol && val[Symbol.iterator]) {\n      ret = [];\n      var iterator = val[Symbol.iterator]();\n      var result = iterator.next();\n      while (!result.done) {\n        ret.push(render(result.value, ret.length));\n        result = iterator.next();\n      }\n    } else {\n      keys = Object.keys(val);\n      ret = new Array(keys.length);\n      for (i = 0, l = keys.length; i < l; i++) {\n        key = keys[i];\n        ret[i] = render(val[key], key, i);\n      }\n    }\n  }\n  if (!isDef(ret)) {\n    ret = [];\n  }\n  (ret)._isVList = true;\n  return ret\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n  name,\n  fallbackRender,\n  props,\n  bindObject\n) {\n  var scopedSlotFn = this.$scopedSlots[name];\n  var nodes;\n  if (scopedSlotFn) {\n    // scoped slot\n    props = props || {};\n    if (bindObject) {\n      if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n        warn('slot v-bind without argument expects an Object', this);\n      }\n      props = extend(extend({}, bindObject), props);\n    }\n    nodes =\n      scopedSlotFn(props) ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  } else {\n    nodes =\n      this.$slots[name] ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  }\n\n  var target = props && props.slot;\n  if (target) {\n    return this.$createElement('template', { slot: target }, nodes)\n  } else {\n    return nodes\n  }\n}\n\n/*  */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n  return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/*  */\n\nfunction isKeyNotMatch (expect, actual) {\n  if (Array.isArray(expect)) {\n    return expect.indexOf(actual) === -1\n  } else {\n    return expect !== actual\n  }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n  eventKeyCode,\n  key,\n  builtInKeyCode,\n  eventKeyName,\n  builtInKeyName\n) {\n  var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n  if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n    return isKeyNotMatch(builtInKeyName, eventKeyName)\n  } else if (mappedKeyCode) {\n    return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n  } else if (eventKeyName) {\n    return hyphenate(eventKeyName) !== key\n  }\n  return eventKeyCode === undefined\n}\n\n/*  */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n  data,\n  tag,\n  value,\n  asProp,\n  isSync\n) {\n  if (value) {\n    if (!isObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-bind without argument expects an Object or Array value',\n        this\n      );\n    } else {\n      if (Array.isArray(value)) {\n        value = toObject(value);\n      }\n      var hash;\n      var loop = function ( key ) {\n        if (\n          key === 'class' ||\n          key === 'style' ||\n          isReservedAttribute(key)\n        ) {\n          hash = data;\n        } else {\n          var type = data.attrs && data.attrs.type;\n          hash = asProp || config.mustUseProp(tag, type, key)\n            ? data.domProps || (data.domProps = {})\n            : data.attrs || (data.attrs = {});\n        }\n        var camelizedKey = camelize(key);\n        var hyphenatedKey = hyphenate(key);\n        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n          hash[key] = value[key];\n\n          if (isSync) {\n            var on = data.on || (data.on = {});\n            on[(\"update:\" + key)] = function ($event) {\n              value[key] = $event;\n            };\n          }\n        }\n      };\n\n      for (var key in value) loop( key );\n    }\n  }\n  return data\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n  index,\n  isInFor\n) {\n  var cached = this._staticTrees || (this._staticTrees = []);\n  var tree = cached[index];\n  // if has already-rendered static tree and not inside v-for,\n  // we can reuse the same tree.\n  if (tree && !isInFor) {\n    return tree\n  }\n  // otherwise, render a fresh tree.\n  tree = cached[index] = this.$options.staticRenderFns[index].call(\n    this._renderProxy,\n    null,\n    this // for render fns generated for functional component templates\n  );\n  markStatic(tree, (\"__static__\" + index), false);\n  return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n  tree,\n  index,\n  key\n) {\n  markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n  return tree\n}\n\nfunction markStatic (\n  tree,\n  key,\n  isOnce\n) {\n  if (Array.isArray(tree)) {\n    for (var i = 0; i < tree.length; i++) {\n      if (tree[i] && typeof tree[i] !== 'string') {\n        markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n      }\n    }\n  } else {\n    markStaticNode(tree, key, isOnce);\n  }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n  node.isStatic = true;\n  node.key = key;\n  node.isOnce = isOnce;\n}\n\n/*  */\n\nfunction bindObjectListeners (data, value) {\n  if (value) {\n    if (!isPlainObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-on without argument expects an Object value',\n        this\n      );\n    } else {\n      var on = data.on = data.on ? extend({}, data.on) : {};\n      for (var key in value) {\n        var existing = on[key];\n        var ours = value[key];\n        on[key] = existing ? [].concat(existing, ours) : ours;\n      }\n    }\n  }\n  return data\n}\n\n/*  */\n\nfunction resolveScopedSlots (\n  fns, // see flow/vnode\n  res,\n  // the following are added in 2.6\n  hasDynamicKeys,\n  contentHashKey\n) {\n  res = res || { $stable: !hasDynamicKeys };\n  for (var i = 0; i < fns.length; i++) {\n    var slot = fns[i];\n    if (Array.isArray(slot)) {\n      resolveScopedSlots(slot, res, hasDynamicKeys);\n    } else if (slot) {\n      // marker for reverse proxying v-slot without scope on this.$slots\n      if (slot.proxy) {\n        slot.fn.proxy = true;\n      }\n      res[slot.key] = slot.fn;\n    }\n  }\n  if (contentHashKey) {\n    (res).$key = contentHashKey;\n  }\n  return res\n}\n\n/*  */\n\nfunction bindDynamicKeys (baseObj, values) {\n  for (var i = 0; i < values.length; i += 2) {\n    var key = values[i];\n    if (typeof key === 'string' && key) {\n      baseObj[values[i]] = values[i + 1];\n    } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n      // null is a special value for explicitly removing a binding\n      warn(\n        (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n        this\n      );\n    }\n  }\n  return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n  return typeof value === 'string' ? symbol + value : value\n}\n\n/*  */\n\nfunction installRenderHelpers (target) {\n  target._o = markOnce;\n  target._n = toNumber;\n  target._s = toString;\n  target._l = renderList;\n  target._t = renderSlot;\n  target._q = looseEqual;\n  target._i = looseIndexOf;\n  target._m = renderStatic;\n  target._f = resolveFilter;\n  target._k = checkKeyCodes;\n  target._b = bindObjectProps;\n  target._v = createTextVNode;\n  target._e = createEmptyVNode;\n  target._u = resolveScopedSlots;\n  target._g = bindObjectListeners;\n  target._d = bindDynamicKeys;\n  target._p = prependModifier;\n}\n\n/*  */\n\nfunction FunctionalRenderContext (\n  data,\n  props,\n  children,\n  parent,\n  Ctor\n) {\n  var this$1 = this;\n\n  var options = Ctor.options;\n  // ensure the createElement function in functional components\n  // gets a unique context - this is necessary for correct named slot check\n  var contextVm;\n  if (hasOwn(parent, '_uid')) {\n    contextVm = Object.create(parent);\n    // $flow-disable-line\n    contextVm._original = parent;\n  } else {\n    // the context vm passed in is a functional context as well.\n    // in this case we want to make sure we are able to get a hold to the\n    // real context instance.\n    contextVm = parent;\n    // $flow-disable-line\n    parent = parent._original;\n  }\n  var isCompiled = isTrue(options._compiled);\n  var needNormalization = !isCompiled;\n\n  this.data = data;\n  this.props = props;\n  this.children = children;\n  this.parent = parent;\n  this.listeners = data.on || emptyObject;\n  this.injections = resolveInject(options.inject, parent);\n  this.slots = function () {\n    if (!this$1.$slots) {\n      normalizeScopedSlots(\n        data.scopedSlots,\n        this$1.$slots = resolveSlots(children, parent)\n      );\n    }\n    return this$1.$slots\n  };\n\n  Object.defineProperty(this, 'scopedSlots', ({\n    enumerable: true,\n    get: function get () {\n      return normalizeScopedSlots(data.scopedSlots, this.slots())\n    }\n  }));\n\n  // support for compiled functional template\n  if (isCompiled) {\n    // exposing $options for renderStatic()\n    this.$options = options;\n    // pre-resolve slots for renderSlot()\n    this.$slots = this.slots();\n    this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n  }\n\n  if (options._scopeId) {\n    this._c = function (a, b, c, d) {\n      var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n      if (vnode && !Array.isArray(vnode)) {\n        vnode.fnScopeId = options._scopeId;\n        vnode.fnContext = parent;\n      }\n      return vnode\n    };\n  } else {\n    this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n  }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n  Ctor,\n  propsData,\n  data,\n  contextVm,\n  children\n) {\n  var options = Ctor.options;\n  var props = {};\n  var propOptions = options.props;\n  if (isDef(propOptions)) {\n    for (var key in propOptions) {\n      props[key] = validateProp(key, propOptions, propsData || emptyObject);\n    }\n  } else {\n    if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n    if (isDef(data.props)) { mergeProps(props, data.props); }\n  }\n\n  var renderContext = new FunctionalRenderContext(\n    data,\n    props,\n    children,\n    contextVm,\n    Ctor\n  );\n\n  var vnode = options.render.call(null, renderContext._c, renderContext);\n\n  if (vnode instanceof VNode) {\n    return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n  } else if (Array.isArray(vnode)) {\n    var vnodes = normalizeChildren(vnode) || [];\n    var res = new Array(vnodes.length);\n    for (var i = 0; i < vnodes.length; i++) {\n      res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n    }\n    return res\n  }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n  // #7817 clone node before setting fnContext, otherwise if the node is reused\n  // (e.g. it was from a cached normal slot) the fnContext causes named slots\n  // that should not be matched to match.\n  var clone = cloneVNode(vnode);\n  clone.fnContext = contextVm;\n  clone.fnOptions = options;\n  if (process.env.NODE_ENV !== 'production') {\n    (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n  }\n  if (data.slot) {\n    (clone.data || (clone.data = {})).slot = data.slot;\n  }\n  return clone\n}\n\nfunction mergeProps (to, from) {\n  for (var key in from) {\n    to[camelize(key)] = from[key];\n  }\n}\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n  init: function init (vnode, hydrating) {\n    if (\n      vnode.componentInstance &&\n      !vnode.componentInstance._isDestroyed &&\n      vnode.data.keepAlive\n    ) {\n      // kept-alive components, treat as a patch\n      var mountedNode = vnode; // work around flow\n      componentVNodeHooks.prepatch(mountedNode, mountedNode);\n    } else {\n      var child = vnode.componentInstance = createComponentInstanceForVnode(\n        vnode,\n        activeInstance\n      );\n      child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n    }\n  },\n\n  prepatch: function prepatch (oldVnode, vnode) {\n    var options = vnode.componentOptions;\n    var child = vnode.componentInstance = oldVnode.componentInstance;\n    updateChildComponent(\n      child,\n      options.propsData, // updated props\n      options.listeners, // updated listeners\n      vnode, // new parent vnode\n      options.children // new children\n    );\n  },\n\n  insert: function insert (vnode) {\n    var context = vnode.context;\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isMounted) {\n      componentInstance._isMounted = true;\n      callHook(componentInstance, 'mounted');\n    }\n    if (vnode.data.keepAlive) {\n      if (context._isMounted) {\n        // vue-router#1212\n        // During updates, a kept-alive component's child components may\n        // change, so directly walking the tree here may call activated hooks\n        // on incorrect children. Instead we push them into a queue which will\n        // be processed after the whole patch process ended.\n        queueActivatedComponent(componentInstance);\n      } else {\n        activateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  },\n\n  destroy: function destroy (vnode) {\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isDestroyed) {\n      if (!vnode.data.keepAlive) {\n        componentInstance.$destroy();\n      } else {\n        deactivateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n  Ctor,\n  data,\n  context,\n  children,\n  tag\n) {\n  if (isUndef(Ctor)) {\n    return\n  }\n\n  var baseCtor = context.$options._base;\n\n  // plain options object: turn it into a constructor\n  if (isObject(Ctor)) {\n    Ctor = baseCtor.extend(Ctor);\n  }\n\n  // if at this stage it's not a constructor or an async component factory,\n  // reject.\n  if (typeof Ctor !== 'function') {\n    if (process.env.NODE_ENV !== 'production') {\n      warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n    }\n    return\n  }\n\n  // async component\n  var asyncFactory;\n  if (isUndef(Ctor.cid)) {\n    asyncFactory = Ctor;\n    Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n    if (Ctor === undefined) {\n      // return a placeholder node for async component, which is rendered\n      // as a comment node but preserves all the raw information for the node.\n      // the information will be used for async server-rendering and hydration.\n      return createAsyncPlaceholder(\n        asyncFactory,\n        data,\n        context,\n        children,\n        tag\n      )\n    }\n  }\n\n  data = data || {};\n\n  // resolve constructor options in case global mixins are applied after\n  // component constructor creation\n  resolveConstructorOptions(Ctor);\n\n  // transform component v-model data into props & events\n  if (isDef(data.model)) {\n    transformModel(Ctor.options, data);\n  }\n\n  // extract props\n  var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n  // functional component\n  if (isTrue(Ctor.options.functional)) {\n    return createFunctionalComponent(Ctor, propsData, data, context, children)\n  }\n\n  // extract listeners, since these needs to be treated as\n  // child component listeners instead of DOM listeners\n  var listeners = data.on;\n  // replace with listeners with .native modifier\n  // so it gets processed during parent component patch.\n  data.on = data.nativeOn;\n\n  if (isTrue(Ctor.options.abstract)) {\n    // abstract components do not keep anything\n    // other than props & listeners & slot\n\n    // work around flow\n    var slot = data.slot;\n    data = {};\n    if (slot) {\n      data.slot = slot;\n    }\n  }\n\n  // install component management hooks onto the placeholder node\n  installComponentHooks(data);\n\n  // return a placeholder vnode\n  var name = Ctor.options.name || tag;\n  var vnode = new VNode(\n    (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n    data, undefined, undefined, undefined, context,\n    { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n    asyncFactory\n  );\n\n  return vnode\n}\n\nfunction createComponentInstanceForVnode (\n  // we know it's MountedComponentVNode but flow doesn't\n  vnode,\n  // activeInstance in lifecycle state\n  parent\n) {\n  var options = {\n    _isComponent: true,\n    _parentVnode: vnode,\n    parent: parent\n  };\n  // check inline-template render functions\n  var inlineTemplate = vnode.data.inlineTemplate;\n  if (isDef(inlineTemplate)) {\n    options.render = inlineTemplate.render;\n    options.staticRenderFns = inlineTemplate.staticRenderFns;\n  }\n  return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n  var hooks = data.hook || (data.hook = {});\n  for (var i = 0; i < hooksToMerge.length; i++) {\n    var key = hooksToMerge[i];\n    var existing = hooks[key];\n    var toMerge = componentVNodeHooks[key];\n    if (existing !== toMerge && !(existing && existing._merged)) {\n      hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n    }\n  }\n}\n\nfunction mergeHook$1 (f1, f2) {\n  var merged = function (a, b) {\n    // flow complains about extra args which is why we use any\n    f1(a, b);\n    f2(a, b);\n  };\n  merged._merged = true;\n  return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n  var prop = (options.model && options.model.prop) || 'value';\n  var event = (options.model && options.model.event) || 'input'\n  ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n  var on = data.on || (data.on = {});\n  var existing = on[event];\n  var callback = data.model.callback;\n  if (isDef(existing)) {\n    if (\n      Array.isArray(existing)\n        ? existing.indexOf(callback) === -1\n        : existing !== callback\n    ) {\n      on[event] = [callback].concat(existing);\n    }\n  } else {\n    on[event] = callback;\n  }\n}\n\n/*  */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType,\n  alwaysNormalize\n) {\n  if (Array.isArray(data) || isPrimitive(data)) {\n    normalizationType = children;\n    children = data;\n    data = undefined;\n  }\n  if (isTrue(alwaysNormalize)) {\n    normalizationType = ALWAYS_NORMALIZE;\n  }\n  return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType\n) {\n  if (isDef(data) && isDef((data).__ob__)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n      'Always create fresh vnode data objects in each render!',\n      context\n    );\n    return createEmptyVNode()\n  }\n  // object syntax in v-bind\n  if (isDef(data) && isDef(data.is)) {\n    tag = data.is;\n  }\n  if (!tag) {\n    // in case of component :is set to falsy value\n    return createEmptyVNode()\n  }\n  // warn against non-primitive key\n  if (process.env.NODE_ENV !== 'production' &&\n    isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n  ) {\n    {\n      warn(\n        'Avoid using non-primitive value as key, ' +\n        'use string/number value instead.',\n        context\n      );\n    }\n  }\n  // support single function children as default scoped slot\n  if (Array.isArray(children) &&\n    typeof children[0] === 'function'\n  ) {\n    data = data || {};\n    data.scopedSlots = { default: children[0] };\n    children.length = 0;\n  }\n  if (normalizationType === ALWAYS_NORMALIZE) {\n    children = normalizeChildren(children);\n  } else if (normalizationType === SIMPLE_NORMALIZE) {\n    children = simpleNormalizeChildren(children);\n  }\n  var vnode, ns;\n  if (typeof tag === 'string') {\n    var Ctor;\n    ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n    if (config.isReservedTag(tag)) {\n      // platform built-in elements\n      if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n        warn(\n          (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n          context\n        );\n      }\n      vnode = new VNode(\n        config.parsePlatformTagName(tag), data, children,\n        undefined, undefined, context\n      );\n    } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n      // component\n      vnode = createComponent(Ctor, data, context, children, tag);\n    } else {\n      // unknown or unlisted namespaced elements\n      // check at runtime because it may get assigned a namespace when its\n      // parent normalizes children\n      vnode = new VNode(\n        tag, data, children,\n        undefined, undefined, context\n      );\n    }\n  } else {\n    // direct component options / constructor\n    vnode = createComponent(tag, data, context, children);\n  }\n  if (Array.isArray(vnode)) {\n    return vnode\n  } else if (isDef(vnode)) {\n    if (isDef(ns)) { applyNS(vnode, ns); }\n    if (isDef(data)) { registerDeepBindings(data); }\n    return vnode\n  } else {\n    return createEmptyVNode()\n  }\n}\n\nfunction applyNS (vnode, ns, force) {\n  vnode.ns = ns;\n  if (vnode.tag === 'foreignObject') {\n    // use default namespace inside foreignObject\n    ns = undefined;\n    force = true;\n  }\n  if (isDef(vnode.children)) {\n    for (var i = 0, l = vnode.children.length; i < l; i++) {\n      var child = vnode.children[i];\n      if (isDef(child.tag) && (\n        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n        applyNS(child, ns, force);\n      }\n    }\n  }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n  if (isObject(data.style)) {\n    traverse(data.style);\n  }\n  if (isObject(data.class)) {\n    traverse(data.class);\n  }\n}\n\n/*  */\n\nfunction initRender (vm) {\n  vm._vnode = null; // the root of the child tree\n  vm._staticTrees = null; // v-once cached trees\n  var options = vm.$options;\n  var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n  var renderContext = parentVnode && parentVnode.context;\n  vm.$slots = resolveSlots(options._renderChildren, renderContext);\n  vm.$scopedSlots = emptyObject;\n  // bind the createElement fn to this instance\n  // so that we get proper render context inside it.\n  // args order: tag, data, children, normalizationType, alwaysNormalize\n  // internal version is used by render functions compiled from templates\n  vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n  // normalization is always applied for the public version, used in\n  // user-written render functions.\n  vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n  // $attrs & $listeners are exposed for easier HOC creation.\n  // they need to be reactive so that HOCs using them are always updated\n  var parentData = parentVnode && parentVnode.data;\n\n  /* istanbul ignore else */\n  if (process.env.NODE_ENV !== 'production') {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n    }, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n    }, true);\n  } else {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n  }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n  // install runtime convenience helpers\n  installRenderHelpers(Vue.prototype);\n\n  Vue.prototype.$nextTick = function (fn) {\n    return nextTick(fn, this)\n  };\n\n  Vue.prototype._render = function () {\n    var vm = this;\n    var ref = vm.$options;\n    var render = ref.render;\n    var _parentVnode = ref._parentVnode;\n\n    if (_parentVnode) {\n      vm.$scopedSlots = normalizeScopedSlots(\n        _parentVnode.data.scopedSlots,\n        vm.$slots,\n        vm.$scopedSlots\n      );\n    }\n\n    // set parent vnode. this allows render functions to have access\n    // to the data on the placeholder node.\n    vm.$vnode = _parentVnode;\n    // render self\n    var vnode;\n    try {\n      // There's no need to maintain a stack because all render fns are called\n      // separately from one another. Nested component's render fns are called\n      // when parent component is patched.\n      currentRenderingInstance = vm;\n      vnode = render.call(vm._renderProxy, vm.$createElement);\n    } catch (e) {\n      handleError(e, vm, \"render\");\n      // return error render result,\n      // or previous vnode to prevent render error causing blank component\n      /* istanbul ignore else */\n      if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n        try {\n          vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n        } catch (e) {\n          handleError(e, vm, \"renderError\");\n          vnode = vm._vnode;\n        }\n      } else {\n        vnode = vm._vnode;\n      }\n    } finally {\n      currentRenderingInstance = null;\n    }\n    // if the returned array contains only a single node, allow it\n    if (Array.isArray(vnode) && vnode.length === 1) {\n      vnode = vnode[0];\n    }\n    // return empty vnode in case the render function errored out\n    if (!(vnode instanceof VNode)) {\n      if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n        warn(\n          'Multiple root nodes returned from render function. Render function ' +\n          'should return a single root node.',\n          vm\n        );\n      }\n      vnode = createEmptyVNode();\n    }\n    // set parent\n    vnode.parent = _parentVnode;\n    return vnode\n  };\n}\n\n/*  */\n\nfunction ensureCtor (comp, base) {\n  if (\n    comp.__esModule ||\n    (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n  ) {\n    comp = comp.default;\n  }\n  return isObject(comp)\n    ? base.extend(comp)\n    : comp\n}\n\nfunction createAsyncPlaceholder (\n  factory,\n  data,\n  context,\n  children,\n  tag\n) {\n  var node = createEmptyVNode();\n  node.asyncFactory = factory;\n  node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n  return node\n}\n\nfunction resolveAsyncComponent (\n  factory,\n  baseCtor\n) {\n  if (isTrue(factory.error) && isDef(factory.errorComp)) {\n    return factory.errorComp\n  }\n\n  if (isDef(factory.resolved)) {\n    return factory.resolved\n  }\n\n  var owner = currentRenderingInstance;\n  if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n    // already pending\n    factory.owners.push(owner);\n  }\n\n  if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n    return factory.loadingComp\n  }\n\n  if (owner && !isDef(factory.owners)) {\n    var owners = factory.owners = [owner];\n    var sync = true;\n    var timerLoading = null;\n    var timerTimeout = null\n\n    ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n    var forceRender = function (renderCompleted) {\n      for (var i = 0, l = owners.length; i < l; i++) {\n        (owners[i]).$forceUpdate();\n      }\n\n      if (renderCompleted) {\n        owners.length = 0;\n        if (timerLoading !== null) {\n          clearTimeout(timerLoading);\n          timerLoading = null;\n        }\n        if (timerTimeout !== null) {\n          clearTimeout(timerTimeout);\n          timerTimeout = null;\n        }\n      }\n    };\n\n    var resolve = once(function (res) {\n      // cache resolved\n      factory.resolved = ensureCtor(res, baseCtor);\n      // invoke callbacks only if this is not a synchronous resolve\n      // (async resolves are shimmed as synchronous during SSR)\n      if (!sync) {\n        forceRender(true);\n      } else {\n        owners.length = 0;\n      }\n    });\n\n    var reject = once(function (reason) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed to resolve async component: \" + (String(factory)) +\n        (reason ? (\"\\nReason: \" + reason) : '')\n      );\n      if (isDef(factory.errorComp)) {\n        factory.error = true;\n        forceRender(true);\n      }\n    });\n\n    var res = factory(resolve, reject);\n\n    if (isObject(res)) {\n      if (isPromise(res)) {\n        // () => Promise\n        if (isUndef(factory.resolved)) {\n          res.then(resolve, reject);\n        }\n      } else if (isPromise(res.component)) {\n        res.component.then(resolve, reject);\n\n        if (isDef(res.error)) {\n          factory.errorComp = ensureCtor(res.error, baseCtor);\n        }\n\n        if (isDef(res.loading)) {\n          factory.loadingComp = ensureCtor(res.loading, baseCtor);\n          if (res.delay === 0) {\n            factory.loading = true;\n          } else {\n            timerLoading = setTimeout(function () {\n              timerLoading = null;\n              if (isUndef(factory.resolved) && isUndef(factory.error)) {\n                factory.loading = true;\n                forceRender(false);\n              }\n            }, res.delay || 200);\n          }\n        }\n\n        if (isDef(res.timeout)) {\n          timerTimeout = setTimeout(function () {\n            timerTimeout = null;\n            if (isUndef(factory.resolved)) {\n              reject(\n                process.env.NODE_ENV !== 'production'\n                  ? (\"timeout (\" + (res.timeout) + \"ms)\")\n                  : null\n              );\n            }\n          }, res.timeout);\n        }\n      }\n    }\n\n    sync = false;\n    // return in case resolved synchronously\n    return factory.loading\n      ? factory.loadingComp\n      : factory.resolved\n  }\n}\n\n/*  */\n\nfunction getFirstComponentChild (children) {\n  if (Array.isArray(children)) {\n    for (var i = 0; i < children.length; i++) {\n      var c = children[i];\n      if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n        return c\n      }\n    }\n  }\n}\n\n/*  */\n\n/*  */\n\nfunction initEvents (vm) {\n  vm._events = Object.create(null);\n  vm._hasHookEvent = false;\n  // init parent attached events\n  var listeners = vm.$options._parentListeners;\n  if (listeners) {\n    updateComponentListeners(vm, listeners);\n  }\n}\n\nvar target;\n\nfunction add (event, fn) {\n  target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n  target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n  var _target = target;\n  return function onceHandler () {\n    var res = fn.apply(null, arguments);\n    if (res !== null) {\n      _target.$off(event, onceHandler);\n    }\n  }\n}\n\nfunction updateComponentListeners (\n  vm,\n  listeners,\n  oldListeners\n) {\n  target = vm;\n  updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n  target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n  var hookRE = /^hook:/;\n  Vue.prototype.$on = function (event, fn) {\n    var vm = this;\n    if (Array.isArray(event)) {\n      for (var i = 0, l = event.length; i < l; i++) {\n        vm.$on(event[i], fn);\n      }\n    } else {\n      (vm._events[event] || (vm._events[event] = [])).push(fn);\n      // optimize hook:event cost by using a boolean flag marked at registration\n      // instead of a hash lookup\n      if (hookRE.test(event)) {\n        vm._hasHookEvent = true;\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$once = function (event, fn) {\n    var vm = this;\n    function on () {\n      vm.$off(event, on);\n      fn.apply(vm, arguments);\n    }\n    on.fn = fn;\n    vm.$on(event, on);\n    return vm\n  };\n\n  Vue.prototype.$off = function (event, fn) {\n    var vm = this;\n    // all\n    if (!arguments.length) {\n      vm._events = Object.create(null);\n      return vm\n    }\n    // array of events\n    if (Array.isArray(event)) {\n      for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n        vm.$off(event[i$1], fn);\n      }\n      return vm\n    }\n    // specific event\n    var cbs = vm._events[event];\n    if (!cbs) {\n      return vm\n    }\n    if (!fn) {\n      vm._events[event] = null;\n      return vm\n    }\n    // specific handler\n    var cb;\n    var i = cbs.length;\n    while (i--) {\n      cb = cbs[i];\n      if (cb === fn || cb.fn === fn) {\n        cbs.splice(i, 1);\n        break\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$emit = function (event) {\n    var vm = this;\n    if (process.env.NODE_ENV !== 'production') {\n      var lowerCaseEvent = event.toLowerCase();\n      if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n        tip(\n          \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n          (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n          \"Note that HTML attributes are case-insensitive and you cannot use \" +\n          \"v-on to listen to camelCase events when using in-DOM templates. \" +\n          \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n        );\n      }\n    }\n    var cbs = vm._events[event];\n    if (cbs) {\n      cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n      var args = toArray(arguments, 1);\n      var info = \"event handler for \\\"\" + event + \"\\\"\";\n      for (var i = 0, l = cbs.length; i < l; i++) {\n        invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n      }\n    }\n    return vm\n  };\n}\n\n/*  */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n  var prevActiveInstance = activeInstance;\n  activeInstance = vm;\n  return function () {\n    activeInstance = prevActiveInstance;\n  }\n}\n\nfunction initLifecycle (vm) {\n  var options = vm.$options;\n\n  // locate first non-abstract parent\n  var parent = options.parent;\n  if (parent && !options.abstract) {\n    while (parent.$options.abstract && parent.$parent) {\n      parent = parent.$parent;\n    }\n    parent.$children.push(vm);\n  }\n\n  vm.$parent = parent;\n  vm.$root = parent ? parent.$root : vm;\n\n  vm.$children = [];\n  vm.$refs = {};\n\n  vm._watcher = null;\n  vm._inactive = null;\n  vm._directInactive = false;\n  vm._isMounted = false;\n  vm._isDestroyed = false;\n  vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n  Vue.prototype._update = function (vnode, hydrating) {\n    var vm = this;\n    var prevEl = vm.$el;\n    var prevVnode = vm._vnode;\n    var restoreActiveInstance = setActiveInstance(vm);\n    vm._vnode = vnode;\n    // Vue.prototype.__patch__ is injected in entry points\n    // based on the rendering backend used.\n    if (!prevVnode) {\n      // initial render\n      vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n    } else {\n      // updates\n      vm.$el = vm.__patch__(prevVnode, vnode);\n    }\n    restoreActiveInstance();\n    // update __vue__ reference\n    if (prevEl) {\n      prevEl.__vue__ = null;\n    }\n    if (vm.$el) {\n      vm.$el.__vue__ = vm;\n    }\n    // if parent is an HOC, update its $el as well\n    if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n      vm.$parent.$el = vm.$el;\n    }\n    // updated hook is called by the scheduler to ensure that children are\n    // updated in a parent's updated hook.\n  };\n\n  Vue.prototype.$forceUpdate = function () {\n    var vm = this;\n    if (vm._watcher) {\n      vm._watcher.update();\n    }\n  };\n\n  Vue.prototype.$destroy = function () {\n    var vm = this;\n    if (vm._isBeingDestroyed) {\n      return\n    }\n    callHook(vm, 'beforeDestroy');\n    vm._isBeingDestroyed = true;\n    // remove self from parent\n    var parent = vm.$parent;\n    if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n      remove(parent.$children, vm);\n    }\n    // teardown watchers\n    if (vm._watcher) {\n      vm._watcher.teardown();\n    }\n    var i = vm._watchers.length;\n    while (i--) {\n      vm._watchers[i].teardown();\n    }\n    // remove reference from data ob\n    // frozen object may not have observer.\n    if (vm._data.__ob__) {\n      vm._data.__ob__.vmCount--;\n    }\n    // call the last hook...\n    vm._isDestroyed = true;\n    // invoke destroy hooks on current rendered tree\n    vm.__patch__(vm._vnode, null);\n    // fire destroyed hook\n    callHook(vm, 'destroyed');\n    // turn off all instance listeners.\n    vm.$off();\n    // remove __vue__ reference\n    if (vm.$el) {\n      vm.$el.__vue__ = null;\n    }\n    // release circular reference (#6759)\n    if (vm.$vnode) {\n      vm.$vnode.parent = null;\n    }\n  };\n}\n\nfunction mountComponent (\n  vm,\n  el,\n  hydrating\n) {\n  vm.$el = el;\n  if (!vm.$options.render) {\n    vm.$options.render = createEmptyVNode;\n    if (process.env.NODE_ENV !== 'production') {\n      /* istanbul ignore if */\n      if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n        vm.$options.el || el) {\n        warn(\n          'You are using the runtime-only build of Vue where the template ' +\n          'compiler is not available. Either pre-compile the templates into ' +\n          'render functions, or use the compiler-included build.',\n          vm\n        );\n      } else {\n        warn(\n          'Failed to mount component: template or render function not defined.',\n          vm\n        );\n      }\n    }\n  }\n  callHook(vm, 'beforeMount');\n\n  var updateComponent;\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n    updateComponent = function () {\n      var name = vm._name;\n      var id = vm._uid;\n      var startTag = \"vue-perf-start:\" + id;\n      var endTag = \"vue-perf-end:\" + id;\n\n      mark(startTag);\n      var vnode = vm._render();\n      mark(endTag);\n      measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n      mark(startTag);\n      vm._update(vnode, hydrating);\n      mark(endTag);\n      measure((\"vue \" + name + \" patch\"), startTag, endTag);\n    };\n  } else {\n    updateComponent = function () {\n      vm._update(vm._render(), hydrating);\n    };\n  }\n\n  // we set this to vm._watcher inside the watcher's constructor\n  // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n  // component's mounted hook), which relies on vm._watcher being already defined\n  new Watcher(vm, updateComponent, noop, {\n    before: function before () {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }\n  }, true /* isRenderWatcher */);\n  hydrating = false;\n\n  // manually mounted instance, call mounted on self\n  // mounted is called for render-created child components in its inserted hook\n  if (vm.$vnode == null) {\n    vm._isMounted = true;\n    callHook(vm, 'mounted');\n  }\n  return vm\n}\n\nfunction updateChildComponent (\n  vm,\n  propsData,\n  listeners,\n  parentVnode,\n  renderChildren\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = true;\n  }\n\n  // determine whether component has slot children\n  // we need to do this before overwriting $options._renderChildren.\n\n  // check if there are dynamic scopedSlots (hand-written or compiled but with\n  // dynamic slot names). Static scoped slots compiled from template has the\n  // \"$stable\" marker.\n  var newScopedSlots = parentVnode.data.scopedSlots;\n  var oldScopedSlots = vm.$scopedSlots;\n  var hasDynamicScopedSlot = !!(\n    (newScopedSlots && !newScopedSlots.$stable) ||\n    (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n    (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n    (!newScopedSlots && vm.$scopedSlots.$key)\n  );\n\n  // Any static slot children from the parent may have changed during parent's\n  // update. Dynamic scoped slots may also have changed. In such cases, a forced\n  // update is necessary to ensure correctness.\n  var needsForceUpdate = !!(\n    renderChildren ||               // has new static slots\n    vm.$options._renderChildren ||  // has old static slots\n    hasDynamicScopedSlot\n  );\n\n  vm.$options._parentVnode = parentVnode;\n  vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n  if (vm._vnode) { // update child tree's parent\n    vm._vnode.parent = parentVnode;\n  }\n  vm.$options._renderChildren = renderChildren;\n\n  // update $attrs and $listeners hash\n  // these are also reactive so they may trigger child update if the child\n  // used them during render\n  vm.$attrs = parentVnode.data.attrs || emptyObject;\n  vm.$listeners = listeners || emptyObject;\n\n  // update props\n  if (propsData && vm.$options.props) {\n    toggleObserving(false);\n    var props = vm._props;\n    var propKeys = vm.$options._propKeys || [];\n    for (var i = 0; i < propKeys.length; i++) {\n      var key = propKeys[i];\n      var propOptions = vm.$options.props; // wtf flow?\n      props[key] = validateProp(key, propOptions, propsData, vm);\n    }\n    toggleObserving(true);\n    // keep a copy of raw propsData\n    vm.$options.propsData = propsData;\n  }\n\n  // update listeners\n  listeners = listeners || emptyObject;\n  var oldListeners = vm.$options._parentListeners;\n  vm.$options._parentListeners = listeners;\n  updateComponentListeners(vm, listeners, oldListeners);\n\n  // resolve slots + force update if has children\n  if (needsForceUpdate) {\n    vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n    vm.$forceUpdate();\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = false;\n  }\n}\n\nfunction isInInactiveTree (vm) {\n  while (vm && (vm = vm.$parent)) {\n    if (vm._inactive) { return true }\n  }\n  return false\n}\n\nfunction activateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = false;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  } else if (vm._directInactive) {\n    return\n  }\n  if (vm._inactive || vm._inactive === null) {\n    vm._inactive = false;\n    for (var i = 0; i < vm.$children.length; i++) {\n      activateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'activated');\n  }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = true;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  }\n  if (!vm._inactive) {\n    vm._inactive = true;\n    for (var i = 0; i < vm.$children.length; i++) {\n      deactivateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'deactivated');\n  }\n}\n\nfunction callHook (vm, hook) {\n  // #7573 disable dep collection when invoking lifecycle hooks\n  pushTarget();\n  var handlers = vm.$options[hook];\n  var info = hook + \" hook\";\n  if (handlers) {\n    for (var i = 0, j = handlers.length; i < j; i++) {\n      invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n    }\n  }\n  if (vm._hasHookEvent) {\n    vm.$emit('hook:' + hook);\n  }\n  popTarget();\n}\n\n/*  */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n  index = queue.length = activatedChildren.length = 0;\n  has = {};\n  if (process.env.NODE_ENV !== 'production') {\n    circular = {};\n  }\n  waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n  var performance = window.performance;\n  if (\n    performance &&\n    typeof performance.now === 'function' &&\n    getNow() > document.createEvent('Event').timeStamp\n  ) {\n    // if the event timestamp, although evaluated AFTER the Date.now(), is\n    // smaller than it, it means the event is using a hi-res timestamp,\n    // and we need to use the hi-res version for event listener timestamps as\n    // well.\n    getNow = function () { return performance.now(); };\n  }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n  currentFlushTimestamp = getNow();\n  flushing = true;\n  var watcher, id;\n\n  // Sort queue before flush.\n  // This ensures that:\n  // 1. Components are updated from parent to child. (because parent is always\n  //    created before the child)\n  // 2. A component's user watchers are run before its render watcher (because\n  //    user watchers are created before the render watcher)\n  // 3. If a component is destroyed during a parent component's watcher run,\n  //    its watchers can be skipped.\n  queue.sort(function (a, b) { return a.id - b.id; });\n\n  // do not cache length because more watchers might be pushed\n  // as we run existing watchers\n  for (index = 0; index < queue.length; index++) {\n    watcher = queue[index];\n    if (watcher.before) {\n      watcher.before();\n    }\n    id = watcher.id;\n    has[id] = null;\n    watcher.run();\n    // in dev build, check and stop circular updates.\n    if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n      circular[id] = (circular[id] || 0) + 1;\n      if (circular[id] > MAX_UPDATE_COUNT) {\n        warn(\n          'You may have an infinite update loop ' + (\n            watcher.user\n              ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n              : \"in a component render function.\"\n          ),\n          watcher.vm\n        );\n        break\n      }\n    }\n  }\n\n  // keep copies of post queues before resetting state\n  var activatedQueue = activatedChildren.slice();\n  var updatedQueue = queue.slice();\n\n  resetSchedulerState();\n\n  // call component updated and activated hooks\n  callActivatedHooks(activatedQueue);\n  callUpdatedHooks(updatedQueue);\n\n  // devtool hook\n  /* istanbul ignore if */\n  if (devtools && config.devtools) {\n    devtools.emit('flush');\n  }\n}\n\nfunction callUpdatedHooks (queue) {\n  var i = queue.length;\n  while (i--) {\n    var watcher = queue[i];\n    var vm = watcher.vm;\n    if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n      callHook(vm, 'updated');\n    }\n  }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n  // setting _inactive to false here so that a render function can\n  // rely on checking whether it's in an inactive tree (e.g. router-view)\n  vm._inactive = false;\n  activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n  for (var i = 0; i < queue.length; i++) {\n    queue[i]._inactive = true;\n    activateChildComponent(queue[i], true /* true */);\n  }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n  var id = watcher.id;\n  if (has[id] == null) {\n    has[id] = true;\n    if (!flushing) {\n      queue.push(watcher);\n    } else {\n      // if already flushing, splice the watcher based on its id\n      // if already past its id, it will be run next immediately.\n      var i = queue.length - 1;\n      while (i > index && queue[i].id > watcher.id) {\n        i--;\n      }\n      queue.splice(i + 1, 0, watcher);\n    }\n    // queue the flush\n    if (!waiting) {\n      waiting = true;\n\n      if (process.env.NODE_ENV !== 'production' && !config.async) {\n        flushSchedulerQueue();\n        return\n      }\n      nextTick(flushSchedulerQueue);\n    }\n  }\n}\n\n/*  */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n  vm,\n  expOrFn,\n  cb,\n  options,\n  isRenderWatcher\n) {\n  this.vm = vm;\n  if (isRenderWatcher) {\n    vm._watcher = this;\n  }\n  vm._watchers.push(this);\n  // options\n  if (options) {\n    this.deep = !!options.deep;\n    this.user = !!options.user;\n    this.lazy = !!options.lazy;\n    this.sync = !!options.sync;\n    this.before = options.before;\n  } else {\n    this.deep = this.user = this.lazy = this.sync = false;\n  }\n  this.cb = cb;\n  this.id = ++uid$2; // uid for batching\n  this.active = true;\n  this.dirty = this.lazy; // for lazy watchers\n  this.deps = [];\n  this.newDeps = [];\n  this.depIds = new _Set();\n  this.newDepIds = new _Set();\n  this.expression = process.env.NODE_ENV !== 'production'\n    ? expOrFn.toString()\n    : '';\n  // parse expression for getter\n  if (typeof expOrFn === 'function') {\n    this.getter = expOrFn;\n  } else {\n    this.getter = parsePath(expOrFn);\n    if (!this.getter) {\n      this.getter = noop;\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n        'Watcher only accepts simple dot-delimited paths. ' +\n        'For full control, use a function instead.',\n        vm\n      );\n    }\n  }\n  this.value = this.lazy\n    ? undefined\n    : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n  pushTarget(this);\n  var value;\n  var vm = this.vm;\n  try {\n    value = this.getter.call(vm, vm);\n  } catch (e) {\n    if (this.user) {\n      handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n    } else {\n      throw e\n    }\n  } finally {\n    // \"touch\" every property so they are all tracked as\n    // dependencies for deep watching\n    if (this.deep) {\n      traverse(value);\n    }\n    popTarget();\n    this.cleanupDeps();\n  }\n  return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n  var id = dep.id;\n  if (!this.newDepIds.has(id)) {\n    this.newDepIds.add(id);\n    this.newDeps.push(dep);\n    if (!this.depIds.has(id)) {\n      dep.addSub(this);\n    }\n  }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n  var i = this.deps.length;\n  while (i--) {\n    var dep = this.deps[i];\n    if (!this.newDepIds.has(dep.id)) {\n      dep.removeSub(this);\n    }\n  }\n  var tmp = this.depIds;\n  this.depIds = this.newDepIds;\n  this.newDepIds = tmp;\n  this.newDepIds.clear();\n  tmp = this.deps;\n  this.deps = this.newDeps;\n  this.newDeps = tmp;\n  this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n  /* istanbul ignore else */\n  if (this.lazy) {\n    this.dirty = true;\n  } else if (this.sync) {\n    this.run();\n  } else {\n    queueWatcher(this);\n  }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n  if (this.active) {\n    var value = this.get();\n    if (\n      value !== this.value ||\n      // Deep watchers and watchers on Object/Arrays should fire even\n      // when the value is the same, because the value may\n      // have mutated.\n      isObject(value) ||\n      this.deep\n    ) {\n      // set new value\n      var oldValue = this.value;\n      this.value = value;\n      if (this.user) {\n        var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n        invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n      } else {\n        this.cb.call(this.vm, value, oldValue);\n      }\n    }\n  }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n  this.value = this.get();\n  this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n  var i = this.deps.length;\n  while (i--) {\n    this.deps[i].depend();\n  }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n  if (this.active) {\n    // remove self from vm's watcher list\n    // this is a somewhat expensive operation so we skip it\n    // if the vm is being destroyed.\n    if (!this.vm._isBeingDestroyed) {\n      remove(this.vm._watchers, this);\n    }\n    var i = this.deps.length;\n    while (i--) {\n      this.deps[i].removeSub(this);\n    }\n    this.active = false;\n  }\n};\n\n/*  */\n\nvar sharedPropertyDefinition = {\n  enumerable: true,\n  configurable: true,\n  get: noop,\n  set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n  sharedPropertyDefinition.get = function proxyGetter () {\n    return this[sourceKey][key]\n  };\n  sharedPropertyDefinition.set = function proxySetter (val) {\n    this[sourceKey][key] = val;\n  };\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n  vm._watchers = [];\n  var opts = vm.$options;\n  if (opts.props) { initProps(vm, opts.props); }\n  if (opts.methods) { initMethods(vm, opts.methods); }\n  if (opts.data) {\n    initData(vm);\n  } else {\n    observe(vm._data = {}, true /* asRootData */);\n  }\n  if (opts.computed) { initComputed(vm, opts.computed); }\n  if (opts.watch && opts.watch !== nativeWatch) {\n    initWatch(vm, opts.watch);\n  }\n}\n\nfunction initProps (vm, propsOptions) {\n  var propsData = vm.$options.propsData || {};\n  var props = vm._props = {};\n  // cache prop keys so that future props updates can iterate using Array\n  // instead of dynamic object key enumeration.\n  var keys = vm.$options._propKeys = [];\n  var isRoot = !vm.$parent;\n  // root instance props should be converted\n  if (!isRoot) {\n    toggleObserving(false);\n  }\n  var loop = function ( key ) {\n    keys.push(key);\n    var value = validateProp(key, propsOptions, propsData, vm);\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      var hyphenatedKey = hyphenate(key);\n      if (isReservedAttribute(hyphenatedKey) ||\n          config.isReservedAttr(hyphenatedKey)) {\n        warn(\n          (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n          vm\n        );\n      }\n      defineReactive$$1(props, key, value, function () {\n        if (!isRoot && !isUpdatingChildComponent) {\n          warn(\n            \"Avoid mutating a prop directly since the value will be \" +\n            \"overwritten whenever the parent component re-renders. \" +\n            \"Instead, use a data or computed property based on the prop's \" +\n            \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        }\n      });\n    } else {\n      defineReactive$$1(props, key, value);\n    }\n    // static props are already proxied on the component's prototype\n    // during Vue.extend(). We only need to proxy props defined at\n    // instantiation here.\n    if (!(key in vm)) {\n      proxy(vm, \"_props\", key);\n    }\n  };\n\n  for (var key in propsOptions) loop( key );\n  toggleObserving(true);\n}\n\nfunction initData (vm) {\n  var data = vm.$options.data;\n  data = vm._data = typeof data === 'function'\n    ? getData(data, vm)\n    : data || {};\n  if (!isPlainObject(data)) {\n    data = {};\n    process.env.NODE_ENV !== 'production' && warn(\n      'data functions should return an object:\\n' +\n      'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n      vm\n    );\n  }\n  // proxy data on instance\n  var keys = Object.keys(data);\n  var props = vm.$options.props;\n  var methods = vm.$options.methods;\n  var i = keys.length;\n  while (i--) {\n    var key = keys[i];\n    if (process.env.NODE_ENV !== 'production') {\n      if (methods && hasOwn(methods, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n          vm\n        );\n      }\n    }\n    if (props && hasOwn(props, key)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n        \"Use prop default value instead.\",\n        vm\n      );\n    } else if (!isReserved(key)) {\n      proxy(vm, \"_data\", key);\n    }\n  }\n  // observe data\n  observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n  // #7573 disable dep collection when invoking data getters\n  pushTarget();\n  try {\n    return data.call(vm, vm)\n  } catch (e) {\n    handleError(e, vm, \"data()\");\n    return {}\n  } finally {\n    popTarget();\n  }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n  // $flow-disable-line\n  var watchers = vm._computedWatchers = Object.create(null);\n  // computed properties are just getters during SSR\n  var isSSR = isServerRendering();\n\n  for (var key in computed) {\n    var userDef = computed[key];\n    var getter = typeof userDef === 'function' ? userDef : userDef.get;\n    if (process.env.NODE_ENV !== 'production' && getter == null) {\n      warn(\n        (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n        vm\n      );\n    }\n\n    if (!isSSR) {\n      // create internal watcher for the computed property.\n      watchers[key] = new Watcher(\n        vm,\n        getter || noop,\n        noop,\n        computedWatcherOptions\n      );\n    }\n\n    // component-defined computed properties are already defined on the\n    // component prototype. We only need to define computed properties defined\n    // at instantiation here.\n    if (!(key in vm)) {\n      defineComputed(vm, key, userDef);\n    } else if (process.env.NODE_ENV !== 'production') {\n      if (key in vm.$data) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n      } else if (vm.$options.props && key in vm.$options.props) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n      } else if (vm.$options.methods && key in vm.$options.methods) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n      }\n    }\n  }\n}\n\nfunction defineComputed (\n  target,\n  key,\n  userDef\n) {\n  var shouldCache = !isServerRendering();\n  if (typeof userDef === 'function') {\n    sharedPropertyDefinition.get = shouldCache\n      ? createComputedGetter(key)\n      : createGetterInvoker(userDef);\n    sharedPropertyDefinition.set = noop;\n  } else {\n    sharedPropertyDefinition.get = userDef.get\n      ? shouldCache && userDef.cache !== false\n        ? createComputedGetter(key)\n        : createGetterInvoker(userDef.get)\n      : noop;\n    sharedPropertyDefinition.set = userDef.set || noop;\n  }\n  if (process.env.NODE_ENV !== 'production' &&\n      sharedPropertyDefinition.set === noop) {\n    sharedPropertyDefinition.set = function () {\n      warn(\n        (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n        this\n      );\n    };\n  }\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n  return function computedGetter () {\n    var watcher = this._computedWatchers && this._computedWatchers[key];\n    if (watcher) {\n      if (watcher.dirty) {\n        watcher.evaluate();\n      }\n      if (Dep.target) {\n        watcher.depend();\n      }\n      return watcher.value\n    }\n  }\n}\n\nfunction createGetterInvoker(fn) {\n  return function computedGetter () {\n    return fn.call(this, this)\n  }\n}\n\nfunction initMethods (vm, methods) {\n  var props = vm.$options.props;\n  for (var key in methods) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof methods[key] !== 'function') {\n        warn(\n          \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n          \"Did you reference the function correctly?\",\n          vm\n        );\n      }\n      if (props && hasOwn(props, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n          vm\n        );\n      }\n      if ((key in vm) && isReserved(key)) {\n        warn(\n          \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n          \"Avoid defining component methods that start with _ or $.\"\n        );\n      }\n    }\n    vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n  }\n}\n\nfunction initWatch (vm, watch) {\n  for (var key in watch) {\n    var handler = watch[key];\n    if (Array.isArray(handler)) {\n      for (var i = 0; i < handler.length; i++) {\n        createWatcher(vm, key, handler[i]);\n      }\n    } else {\n      createWatcher(vm, key, handler);\n    }\n  }\n}\n\nfunction createWatcher (\n  vm,\n  expOrFn,\n  handler,\n  options\n) {\n  if (isPlainObject(handler)) {\n    options = handler;\n    handler = handler.handler;\n  }\n  if (typeof handler === 'string') {\n    handler = vm[handler];\n  }\n  return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n  // flow somehow has problems with directly declared definition object\n  // when using Object.defineProperty, so we have to procedurally build up\n  // the object here.\n  var dataDef = {};\n  dataDef.get = function () { return this._data };\n  var propsDef = {};\n  propsDef.get = function () { return this._props };\n  if (process.env.NODE_ENV !== 'production') {\n    dataDef.set = function () {\n      warn(\n        'Avoid replacing instance root $data. ' +\n        'Use nested data properties instead.',\n        this\n      );\n    };\n    propsDef.set = function () {\n      warn(\"$props is readonly.\", this);\n    };\n  }\n  Object.defineProperty(Vue.prototype, '$data', dataDef);\n  Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n  Vue.prototype.$set = set;\n  Vue.prototype.$delete = del;\n\n  Vue.prototype.$watch = function (\n    expOrFn,\n    cb,\n    options\n  ) {\n    var vm = this;\n    if (isPlainObject(cb)) {\n      return createWatcher(vm, expOrFn, cb, options)\n    }\n    options = options || {};\n    options.user = true;\n    var watcher = new Watcher(vm, expOrFn, cb, options);\n    if (options.immediate) {\n      var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n      pushTarget();\n      invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n      popTarget();\n    }\n    return function unwatchFn () {\n      watcher.teardown();\n    }\n  };\n}\n\n/*  */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n  Vue.prototype._init = function (options) {\n    var vm = this;\n    // a uid\n    vm._uid = uid$3++;\n\n    var startTag, endTag;\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      startTag = \"vue-perf-start:\" + (vm._uid);\n      endTag = \"vue-perf-end:\" + (vm._uid);\n      mark(startTag);\n    }\n\n    // a flag to avoid this being observed\n    vm._isVue = true;\n    // merge options\n    if (options && options._isComponent) {\n      // optimize internal component instantiation\n      // since dynamic options merging is pretty slow, and none of the\n      // internal component options needs special treatment.\n      initInternalComponent(vm, options);\n    } else {\n      vm.$options = mergeOptions(\n        resolveConstructorOptions(vm.constructor),\n        options || {},\n        vm\n      );\n    }\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      initProxy(vm);\n    } else {\n      vm._renderProxy = vm;\n    }\n    // expose real self\n    vm._self = vm;\n    initLifecycle(vm);\n    initEvents(vm);\n    initRender(vm);\n    callHook(vm, 'beforeCreate');\n    initInjections(vm); // resolve injections before data/props\n    initState(vm);\n    initProvide(vm); // resolve provide after data/props\n    callHook(vm, 'created');\n\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      vm._name = formatComponentName(vm, false);\n      mark(endTag);\n      measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n    }\n\n    if (vm.$options.el) {\n      vm.$mount(vm.$options.el);\n    }\n  };\n}\n\nfunction initInternalComponent (vm, options) {\n  var opts = vm.$options = Object.create(vm.constructor.options);\n  // doing this because it's faster than dynamic enumeration.\n  var parentVnode = options._parentVnode;\n  opts.parent = options.parent;\n  opts._parentVnode = parentVnode;\n\n  var vnodeComponentOptions = parentVnode.componentOptions;\n  opts.propsData = vnodeComponentOptions.propsData;\n  opts._parentListeners = vnodeComponentOptions.listeners;\n  opts._renderChildren = vnodeComponentOptions.children;\n  opts._componentTag = vnodeComponentOptions.tag;\n\n  if (options.render) {\n    opts.render = options.render;\n    opts.staticRenderFns = options.staticRenderFns;\n  }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n  var options = Ctor.options;\n  if (Ctor.super) {\n    var superOptions = resolveConstructorOptions(Ctor.super);\n    var cachedSuperOptions = Ctor.superOptions;\n    if (superOptions !== cachedSuperOptions) {\n      // super option changed,\n      // need to resolve new options.\n      Ctor.superOptions = superOptions;\n      // check if there are any late-modified/attached options (#4976)\n      var modifiedOptions = resolveModifiedOptions(Ctor);\n      // update base extend options\n      if (modifiedOptions) {\n        extend(Ctor.extendOptions, modifiedOptions);\n      }\n      options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n      if (options.name) {\n        options.components[options.name] = Ctor;\n      }\n    }\n  }\n  return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n  var modified;\n  var latest = Ctor.options;\n  var sealed = Ctor.sealedOptions;\n  for (var key in latest) {\n    if (latest[key] !== sealed[key]) {\n      if (!modified) { modified = {}; }\n      modified[key] = latest[key];\n    }\n  }\n  return modified\n}\n\nfunction Vue (options) {\n  if (process.env.NODE_ENV !== 'production' &&\n    !(this instanceof Vue)\n  ) {\n    warn('Vue is a constructor and should be called with the `new` keyword');\n  }\n  this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/*  */\n\nfunction initUse (Vue) {\n  Vue.use = function (plugin) {\n    var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n    if (installedPlugins.indexOf(plugin) > -1) {\n      return this\n    }\n\n    // additional parameters\n    var args = toArray(arguments, 1);\n    args.unshift(this);\n    if (typeof plugin.install === 'function') {\n      plugin.install.apply(plugin, args);\n    } else if (typeof plugin === 'function') {\n      plugin.apply(null, args);\n    }\n    installedPlugins.push(plugin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initMixin$1 (Vue) {\n  Vue.mixin = function (mixin) {\n    this.options = mergeOptions(this.options, mixin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initExtend (Vue) {\n  /**\n   * Each instance constructor, including Vue, has a unique\n   * cid. This enables us to create wrapped \"child\n   * constructors\" for prototypal inheritance and cache them.\n   */\n  Vue.cid = 0;\n  var cid = 1;\n\n  /**\n   * Class inheritance\n   */\n  Vue.extend = function (extendOptions) {\n    extendOptions = extendOptions || {};\n    var Super = this;\n    var SuperId = Super.cid;\n    var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n    if (cachedCtors[SuperId]) {\n      return cachedCtors[SuperId]\n    }\n\n    var name = extendOptions.name || Super.options.name;\n    if (process.env.NODE_ENV !== 'production' && name) {\n      validateComponentName(name);\n    }\n\n    var Sub = function VueComponent (options) {\n      this._init(options);\n    };\n    Sub.prototype = Object.create(Super.prototype);\n    Sub.prototype.constructor = Sub;\n    Sub.cid = cid++;\n    Sub.options = mergeOptions(\n      Super.options,\n      extendOptions\n    );\n    Sub['super'] = Super;\n\n    // For props and computed properties, we define the proxy getters on\n    // the Vue instances at extension time, on the extended prototype. This\n    // avoids Object.defineProperty calls for each instance created.\n    if (Sub.options.props) {\n      initProps$1(Sub);\n    }\n    if (Sub.options.computed) {\n      initComputed$1(Sub);\n    }\n\n    // allow further extension/mixin/plugin usage\n    Sub.extend = Super.extend;\n    Sub.mixin = Super.mixin;\n    Sub.use = Super.use;\n\n    // create asset registers, so extended classes\n    // can have their private assets too.\n    ASSET_TYPES.forEach(function (type) {\n      Sub[type] = Super[type];\n    });\n    // enable recursive self-lookup\n    if (name) {\n      Sub.options.components[name] = Sub;\n    }\n\n    // keep a reference to the super options at extension time.\n    // later at instantiation we can check if Super's options have\n    // been updated.\n    Sub.superOptions = Super.options;\n    Sub.extendOptions = extendOptions;\n    Sub.sealedOptions = extend({}, Sub.options);\n\n    // cache constructor\n    cachedCtors[SuperId] = Sub;\n    return Sub\n  };\n}\n\nfunction initProps$1 (Comp) {\n  var props = Comp.options.props;\n  for (var key in props) {\n    proxy(Comp.prototype, \"_props\", key);\n  }\n}\n\nfunction initComputed$1 (Comp) {\n  var computed = Comp.options.computed;\n  for (var key in computed) {\n    defineComputed(Comp.prototype, key, computed[key]);\n  }\n}\n\n/*  */\n\nfunction initAssetRegisters (Vue) {\n  /**\n   * Create asset registration methods.\n   */\n  ASSET_TYPES.forEach(function (type) {\n    Vue[type] = function (\n      id,\n      definition\n    ) {\n      if (!definition) {\n        return this.options[type + 's'][id]\n      } else {\n        /* istanbul ignore if */\n        if (process.env.NODE_ENV !== 'production' && type === 'component') {\n          validateComponentName(id);\n        }\n        if (type === 'component' && isPlainObject(definition)) {\n          definition.name = definition.name || id;\n          definition = this.options._base.extend(definition);\n        }\n        if (type === 'directive' && typeof definition === 'function') {\n          definition = { bind: definition, update: definition };\n        }\n        this.options[type + 's'][id] = definition;\n        return definition\n      }\n    };\n  });\n}\n\n/*  */\n\n\n\n\n\nfunction getComponentName (opts) {\n  return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n  if (Array.isArray(pattern)) {\n    return pattern.indexOf(name) > -1\n  } else if (typeof pattern === 'string') {\n    return pattern.split(',').indexOf(name) > -1\n  } else if (isRegExp(pattern)) {\n    return pattern.test(name)\n  }\n  /* istanbul ignore next */\n  return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n  var cache = keepAliveInstance.cache;\n  var keys = keepAliveInstance.keys;\n  var _vnode = keepAliveInstance._vnode;\n  for (var key in cache) {\n    var entry = cache[key];\n    if (entry) {\n      var name = entry.name;\n      if (name && !filter(name)) {\n        pruneCacheEntry(cache, key, keys, _vnode);\n      }\n    }\n  }\n}\n\nfunction pruneCacheEntry (\n  cache,\n  key,\n  keys,\n  current\n) {\n  var entry = cache[key];\n  if (entry && (!current || entry.tag !== current.tag)) {\n    entry.componentInstance.$destroy();\n  }\n  cache[key] = null;\n  remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n  name: 'keep-alive',\n  abstract: true,\n\n  props: {\n    include: patternTypes,\n    exclude: patternTypes,\n    max: [String, Number]\n  },\n\n  methods: {\n    cacheVNode: function cacheVNode() {\n      var ref = this;\n      var cache = ref.cache;\n      var keys = ref.keys;\n      var vnodeToCache = ref.vnodeToCache;\n      var keyToCache = ref.keyToCache;\n      if (vnodeToCache) {\n        var tag = vnodeToCache.tag;\n        var componentInstance = vnodeToCache.componentInstance;\n        var componentOptions = vnodeToCache.componentOptions;\n        cache[keyToCache] = {\n          name: getComponentName(componentOptions),\n          tag: tag,\n          componentInstance: componentInstance,\n        };\n        keys.push(keyToCache);\n        // prune oldest entry\n        if (this.max && keys.length > parseInt(this.max)) {\n          pruneCacheEntry(cache, keys[0], keys, this._vnode);\n        }\n        this.vnodeToCache = null;\n      }\n    }\n  },\n\n  created: function created () {\n    this.cache = Object.create(null);\n    this.keys = [];\n  },\n\n  destroyed: function destroyed () {\n    for (var key in this.cache) {\n      pruneCacheEntry(this.cache, key, this.keys);\n    }\n  },\n\n  mounted: function mounted () {\n    var this$1 = this;\n\n    this.cacheVNode();\n    this.$watch('include', function (val) {\n      pruneCache(this$1, function (name) { return matches(val, name); });\n    });\n    this.$watch('exclude', function (val) {\n      pruneCache(this$1, function (name) { return !matches(val, name); });\n    });\n  },\n\n  updated: function updated () {\n    this.cacheVNode();\n  },\n\n  render: function render () {\n    var slot = this.$slots.default;\n    var vnode = getFirstComponentChild(slot);\n    var componentOptions = vnode && vnode.componentOptions;\n    if (componentOptions) {\n      // check pattern\n      var name = getComponentName(componentOptions);\n      var ref = this;\n      var include = ref.include;\n      var exclude = ref.exclude;\n      if (\n        // not included\n        (include && (!name || !matches(include, name))) ||\n        // excluded\n        (exclude && name && matches(exclude, name))\n      ) {\n        return vnode\n      }\n\n      var ref$1 = this;\n      var cache = ref$1.cache;\n      var keys = ref$1.keys;\n      var key = vnode.key == null\n        // same constructor may get registered as different local components\n        // so cid alone is not enough (#3269)\n        ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n        : vnode.key;\n      if (cache[key]) {\n        vnode.componentInstance = cache[key].componentInstance;\n        // make current key freshest\n        remove(keys, key);\n        keys.push(key);\n      } else {\n        // delay setting the cache until update\n        this.vnodeToCache = vnode;\n        this.keyToCache = key;\n      }\n\n      vnode.data.keepAlive = true;\n    }\n    return vnode || (slot && slot[0])\n  }\n};\n\nvar builtInComponents = {\n  KeepAlive: KeepAlive\n};\n\n/*  */\n\nfunction initGlobalAPI (Vue) {\n  // config\n  var configDef = {};\n  configDef.get = function () { return config; };\n  if (process.env.NODE_ENV !== 'production') {\n    configDef.set = function () {\n      warn(\n        'Do not replace the Vue.config object, set individual fields instead.'\n      );\n    };\n  }\n  Object.defineProperty(Vue, 'config', configDef);\n\n  // exposed util methods.\n  // NOTE: these are not considered part of the public API - avoid relying on\n  // them unless you are aware of the risk.\n  Vue.util = {\n    warn: warn,\n    extend: extend,\n    mergeOptions: mergeOptions,\n    defineReactive: defineReactive$$1\n  };\n\n  Vue.set = set;\n  Vue.delete = del;\n  Vue.nextTick = nextTick;\n\n  // 2.6 explicit observable API\n  Vue.observable = function (obj) {\n    observe(obj);\n    return obj\n  };\n\n  Vue.options = Object.create(null);\n  ASSET_TYPES.forEach(function (type) {\n    Vue.options[type + 's'] = Object.create(null);\n  });\n\n  // this is used to identify the \"base\" constructor to extend all plain-object\n  // components with in Weex's multi-instance scenarios.\n  Vue.options._base = Vue;\n\n  extend(Vue.options.components, builtInComponents);\n\n  initUse(Vue);\n  initMixin$1(Vue);\n  initExtend(Vue);\n  initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n  get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n  get: function get () {\n    /* istanbul ignore next */\n    return this.$vnode && this.$vnode.ssrContext\n  }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n  value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/*  */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n  return (\n    (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n    (attr === 'selected' && tag === 'option') ||\n    (attr === 'checked' && tag === 'input') ||\n    (attr === 'muted' && tag === 'video')\n  )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n  return isFalsyAttrValue(value) || value === 'false'\n    ? 'false'\n    // allow arbitrary string value for contenteditable\n    : key === 'contenteditable' && isValidContentEditableValue(value)\n      ? value\n      : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n  'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n  'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n  'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n  'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n  'required,reversed,scoped,seamless,selected,sortable,' +\n  'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n  return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n  return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n  return val == null || val === false\n};\n\n/*  */\n\nfunction genClassForVnode (vnode) {\n  var data = vnode.data;\n  var parentNode = vnode;\n  var childNode = vnode;\n  while (isDef(childNode.componentInstance)) {\n    childNode = childNode.componentInstance._vnode;\n    if (childNode && childNode.data) {\n      data = mergeClassData(childNode.data, data);\n    }\n  }\n  while (isDef(parentNode = parentNode.parent)) {\n    if (parentNode && parentNode.data) {\n      data = mergeClassData(data, parentNode.data);\n    }\n  }\n  return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n  return {\n    staticClass: concat(child.staticClass, parent.staticClass),\n    class: isDef(child.class)\n      ? [child.class, parent.class]\n      : parent.class\n  }\n}\n\nfunction renderClass (\n  staticClass,\n  dynamicClass\n) {\n  if (isDef(staticClass) || isDef(dynamicClass)) {\n    return concat(staticClass, stringifyClass(dynamicClass))\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction concat (a, b) {\n  return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n  if (Array.isArray(value)) {\n    return stringifyArray(value)\n  }\n  if (isObject(value)) {\n    return stringifyObject(value)\n  }\n  if (typeof value === 'string') {\n    return value\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction stringifyArray (value) {\n  var res = '';\n  var stringified;\n  for (var i = 0, l = value.length; i < l; i++) {\n    if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n      if (res) { res += ' '; }\n      res += stringified;\n    }\n  }\n  return res\n}\n\nfunction stringifyObject (value) {\n  var res = '';\n  for (var key in value) {\n    if (value[key]) {\n      if (res) { res += ' '; }\n      res += key;\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar namespaceMap = {\n  svg: 'http://www.w3.org/2000/svg',\n  math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n  'html,body,base,head,link,meta,style,title,' +\n  'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n  'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n  'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n  's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n  'embed,object,param,source,canvas,script,noscript,del,ins,' +\n  'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n  'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n  'output,progress,select,textarea,' +\n  'details,dialog,menu,menuitem,summary,' +\n  'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n  'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n  'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n  'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n  true\n);\n\nvar isReservedTag = function (tag) {\n  return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n  if (isSVG(tag)) {\n    return 'svg'\n  }\n  // basic support for MathML\n  // note it doesn't support other MathML elements being component roots\n  if (tag === 'math') {\n    return 'math'\n  }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n  /* istanbul ignore if */\n  if (!inBrowser) {\n    return true\n  }\n  if (isReservedTag(tag)) {\n    return false\n  }\n  tag = tag.toLowerCase();\n  /* istanbul ignore if */\n  if (unknownElementCache[tag] != null) {\n    return unknownElementCache[tag]\n  }\n  var el = document.createElement(tag);\n  if (tag.indexOf('-') > -1) {\n    // http://stackoverflow.com/a/28210364/1070244\n    return (unknownElementCache[tag] = (\n      el.constructor === window.HTMLUnknownElement ||\n      el.constructor === window.HTMLElement\n    ))\n  } else {\n    return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n  }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/*  */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n  if (typeof el === 'string') {\n    var selected = document.querySelector(el);\n    if (!selected) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'Cannot find element: ' + el\n      );\n      return document.createElement('div')\n    }\n    return selected\n  } else {\n    return el\n  }\n}\n\n/*  */\n\nfunction createElement$1 (tagName, vnode) {\n  var elm = document.createElement(tagName);\n  if (tagName !== 'select') {\n    return elm\n  }\n  // false or null will remove the attribute but undefined will not\n  if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n    elm.setAttribute('multiple', 'multiple');\n  }\n  return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n  return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n  return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n  return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n  parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n  node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n  node.appendChild(child);\n}\n\nfunction parentNode (node) {\n  return node.parentNode\n}\n\nfunction nextSibling (node) {\n  return node.nextSibling\n}\n\nfunction tagName (node) {\n  return node.tagName\n}\n\nfunction setTextContent (node, text) {\n  node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n  node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n  createElement: createElement$1,\n  createElementNS: createElementNS,\n  createTextNode: createTextNode,\n  createComment: createComment,\n  insertBefore: insertBefore,\n  removeChild: removeChild,\n  appendChild: appendChild,\n  parentNode: parentNode,\n  nextSibling: nextSibling,\n  tagName: tagName,\n  setTextContent: setTextContent,\n  setStyleScope: setStyleScope\n});\n\n/*  */\n\nvar ref = {\n  create: function create (_, vnode) {\n    registerRef(vnode);\n  },\n  update: function update (oldVnode, vnode) {\n    if (oldVnode.data.ref !== vnode.data.ref) {\n      registerRef(oldVnode, true);\n      registerRef(vnode);\n    }\n  },\n  destroy: function destroy (vnode) {\n    registerRef(vnode, true);\n  }\n};\n\nfunction registerRef (vnode, isRemoval) {\n  var key = vnode.data.ref;\n  if (!isDef(key)) { return }\n\n  var vm = vnode.context;\n  var ref = vnode.componentInstance || vnode.elm;\n  var refs = vm.$refs;\n  if (isRemoval) {\n    if (Array.isArray(refs[key])) {\n      remove(refs[key], ref);\n    } else if (refs[key] === ref) {\n      refs[key] = undefined;\n    }\n  } else {\n    if (vnode.data.refInFor) {\n      if (!Array.isArray(refs[key])) {\n        refs[key] = [ref];\n      } else if (refs[key].indexOf(ref) < 0) {\n        // $flow-disable-line\n        refs[key].push(ref);\n      }\n    } else {\n      refs[key] = ref;\n    }\n  }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n  return (\n    a.key === b.key &&\n    a.asyncFactory === b.asyncFactory && (\n      (\n        a.tag === b.tag &&\n        a.isComment === b.isComment &&\n        isDef(a.data) === isDef(b.data) &&\n        sameInputType(a, b)\n      ) || (\n        isTrue(a.isAsyncPlaceholder) &&\n        isUndef(b.asyncFactory.error)\n      )\n    )\n  )\n}\n\nfunction sameInputType (a, b) {\n  if (a.tag !== 'input') { return true }\n  var i;\n  var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n  var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n  return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n  var i, key;\n  var map = {};\n  for (i = beginIdx; i <= endIdx; ++i) {\n    key = children[i].key;\n    if (isDef(key)) { map[key] = i; }\n  }\n  return map\n}\n\nfunction createPatchFunction (backend) {\n  var i, j;\n  var cbs = {};\n\n  var modules = backend.modules;\n  var nodeOps = backend.nodeOps;\n\n  for (i = 0; i < hooks.length; ++i) {\n    cbs[hooks[i]] = [];\n    for (j = 0; j < modules.length; ++j) {\n      if (isDef(modules[j][hooks[i]])) {\n        cbs[hooks[i]].push(modules[j][hooks[i]]);\n      }\n    }\n  }\n\n  function emptyNodeAt (elm) {\n    return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n  }\n\n  function createRmCb (childElm, listeners) {\n    function remove$$1 () {\n      if (--remove$$1.listeners === 0) {\n        removeNode(childElm);\n      }\n    }\n    remove$$1.listeners = listeners;\n    return remove$$1\n  }\n\n  function removeNode (el) {\n    var parent = nodeOps.parentNode(el);\n    // element may have already been removed due to v-html / v-text\n    if (isDef(parent)) {\n      nodeOps.removeChild(parent, el);\n    }\n  }\n\n  function isUnknownElement$$1 (vnode, inVPre) {\n    return (\n      !inVPre &&\n      !vnode.ns &&\n      !(\n        config.ignoredElements.length &&\n        config.ignoredElements.some(function (ignore) {\n          return isRegExp(ignore)\n            ? ignore.test(vnode.tag)\n            : ignore === vnode.tag\n        })\n      ) &&\n      config.isUnknownElement(vnode.tag)\n    )\n  }\n\n  var creatingElmInVPre = 0;\n\n  function createElm (\n    vnode,\n    insertedVnodeQueue,\n    parentElm,\n    refElm,\n    nested,\n    ownerArray,\n    index\n  ) {\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // This vnode was used in a previous render!\n      // now it's used as a new node, overwriting its elm would cause\n      // potential patch errors down the road when it's used as an insertion\n      // reference node. Instead, we clone the node on-demand before creating\n      // associated DOM element for it.\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    vnode.isRootInsert = !nested; // for transition enter check\n    if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n      return\n    }\n\n    var data = vnode.data;\n    var children = vnode.children;\n    var tag = vnode.tag;\n    if (isDef(tag)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (data && data.pre) {\n          creatingElmInVPre++;\n        }\n        if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n          warn(\n            'Unknown custom element: <' + tag + '> - did you ' +\n            'register the component correctly? For recursive components, ' +\n            'make sure to provide the \"name\" option.',\n            vnode.context\n          );\n        }\n      }\n\n      vnode.elm = vnode.ns\n        ? nodeOps.createElementNS(vnode.ns, tag)\n        : nodeOps.createElement(tag, vnode);\n      setScope(vnode);\n\n      /* istanbul ignore if */\n      {\n        createChildren(vnode, children, insertedVnodeQueue);\n        if (isDef(data)) {\n          invokeCreateHooks(vnode, insertedVnodeQueue);\n        }\n        insert(parentElm, vnode.elm, refElm);\n      }\n\n      if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n        creatingElmInVPre--;\n      }\n    } else if (isTrue(vnode.isComment)) {\n      vnode.elm = nodeOps.createComment(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    } else {\n      vnode.elm = nodeOps.createTextNode(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    }\n  }\n\n  function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i = vnode.data;\n    if (isDef(i)) {\n      var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n      if (isDef(i = i.hook) && isDef(i = i.init)) {\n        i(vnode, false /* hydrating */);\n      }\n      // after calling the init hook, if the vnode is a child component\n      // it should've created a child instance and mounted it. the child\n      // component also has set the placeholder vnode's elm.\n      // in that case we can just return the element and be done.\n      if (isDef(vnode.componentInstance)) {\n        initComponent(vnode, insertedVnodeQueue);\n        insert(parentElm, vnode.elm, refElm);\n        if (isTrue(isReactivated)) {\n          reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n        }\n        return true\n      }\n    }\n  }\n\n  function initComponent (vnode, insertedVnodeQueue) {\n    if (isDef(vnode.data.pendingInsert)) {\n      insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n      vnode.data.pendingInsert = null;\n    }\n    vnode.elm = vnode.componentInstance.$el;\n    if (isPatchable(vnode)) {\n      invokeCreateHooks(vnode, insertedVnodeQueue);\n      setScope(vnode);\n    } else {\n      // empty component root.\n      // skip all element-related modules except for ref (#3455)\n      registerRef(vnode);\n      // make sure to invoke the insert hook\n      insertedVnodeQueue.push(vnode);\n    }\n  }\n\n  function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i;\n    // hack for #4339: a reactivated component with inner transition\n    // does not trigger because the inner node's created hooks are not called\n    // again. It's not ideal to involve module-specific logic in here but\n    // there doesn't seem to be a better way to do it.\n    var innerNode = vnode;\n    while (innerNode.componentInstance) {\n      innerNode = innerNode.componentInstance._vnode;\n      if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n        for (i = 0; i < cbs.activate.length; ++i) {\n          cbs.activate[i](emptyNode, innerNode);\n        }\n        insertedVnodeQueue.push(innerNode);\n        break\n      }\n    }\n    // unlike a newly created component,\n    // a reactivated keep-alive component doesn't insert itself\n    insert(parentElm, vnode.elm, refElm);\n  }\n\n  function insert (parent, elm, ref$$1) {\n    if (isDef(parent)) {\n      if (isDef(ref$$1)) {\n        if (nodeOps.parentNode(ref$$1) === parent) {\n          nodeOps.insertBefore(parent, elm, ref$$1);\n        }\n      } else {\n        nodeOps.appendChild(parent, elm);\n      }\n    }\n  }\n\n  function createChildren (vnode, children, insertedVnodeQueue) {\n    if (Array.isArray(children)) {\n      if (process.env.NODE_ENV !== 'production') {\n        checkDuplicateKeys(children);\n      }\n      for (var i = 0; i < children.length; ++i) {\n        createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n      }\n    } else if (isPrimitive(vnode.text)) {\n      nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n    }\n  }\n\n  function isPatchable (vnode) {\n    while (vnode.componentInstance) {\n      vnode = vnode.componentInstance._vnode;\n    }\n    return isDef(vnode.tag)\n  }\n\n  function invokeCreateHooks (vnode, insertedVnodeQueue) {\n    for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n      cbs.create[i$1](emptyNode, vnode);\n    }\n    i = vnode.data.hook; // Reuse variable\n    if (isDef(i)) {\n      if (isDef(i.create)) { i.create(emptyNode, vnode); }\n      if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n    }\n  }\n\n  // set scope id attribute for scoped CSS.\n  // this is implemented as a special case to avoid the overhead\n  // of going through the normal attribute patching process.\n  function setScope (vnode) {\n    var i;\n    if (isDef(i = vnode.fnScopeId)) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    } else {\n      var ancestor = vnode;\n      while (ancestor) {\n        if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n          nodeOps.setStyleScope(vnode.elm, i);\n        }\n        ancestor = ancestor.parent;\n      }\n    }\n    // for slot content they should also get the scopeId from the host instance.\n    if (isDef(i = activeInstance) &&\n      i !== vnode.context &&\n      i !== vnode.fnContext &&\n      isDef(i = i.$options._scopeId)\n    ) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    }\n  }\n\n  function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n    }\n  }\n\n  function invokeDestroyHook (vnode) {\n    var i, j;\n    var data = vnode.data;\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n      for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n    }\n    if (isDef(i = vnode.children)) {\n      for (j = 0; j < vnode.children.length; ++j) {\n        invokeDestroyHook(vnode.children[j]);\n      }\n    }\n  }\n\n  function removeVnodes (vnodes, startIdx, endIdx) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      var ch = vnodes[startIdx];\n      if (isDef(ch)) {\n        if (isDef(ch.tag)) {\n          removeAndInvokeRemoveHook(ch);\n          invokeDestroyHook(ch);\n        } else { // Text node\n          removeNode(ch.elm);\n        }\n      }\n    }\n  }\n\n  function removeAndInvokeRemoveHook (vnode, rm) {\n    if (isDef(rm) || isDef(vnode.data)) {\n      var i;\n      var listeners = cbs.remove.length + 1;\n      if (isDef(rm)) {\n        // we have a recursively passed down rm callback\n        // increase the listeners count\n        rm.listeners += listeners;\n      } else {\n        // directly removing\n        rm = createRmCb(vnode.elm, listeners);\n      }\n      // recursively invoke hooks on child component root node\n      if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n        removeAndInvokeRemoveHook(i, rm);\n      }\n      for (i = 0; i < cbs.remove.length; ++i) {\n        cbs.remove[i](vnode, rm);\n      }\n      if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n        i(vnode, rm);\n      } else {\n        rm();\n      }\n    } else {\n      removeNode(vnode.elm);\n    }\n  }\n\n  function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n    var oldStartIdx = 0;\n    var newStartIdx = 0;\n    var oldEndIdx = oldCh.length - 1;\n    var oldStartVnode = oldCh[0];\n    var oldEndVnode = oldCh[oldEndIdx];\n    var newEndIdx = newCh.length - 1;\n    var newStartVnode = newCh[0];\n    var newEndVnode = newCh[newEndIdx];\n    var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n    // removeOnly is a special flag used only by <transition-group>\n    // to ensure removed elements stay in correct relative positions\n    // during leaving transitions\n    var canMove = !removeOnly;\n\n    if (process.env.NODE_ENV !== 'production') {\n      checkDuplicateKeys(newCh);\n    }\n\n    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n      if (isUndef(oldStartVnode)) {\n        oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n      } else if (isUndef(oldEndVnode)) {\n        oldEndVnode = oldCh[--oldEndIdx];\n      } else if (sameVnode(oldStartVnode, newStartVnode)) {\n        patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        oldStartVnode = oldCh[++oldStartIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else if (sameVnode(oldEndVnode, newEndVnode)) {\n        patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n        patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n        oldStartVnode = oldCh[++oldStartIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n        patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else {\n        if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n        idxInOld = isDef(newStartVnode.key)\n          ? oldKeyToIdx[newStartVnode.key]\n          : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n        if (isUndef(idxInOld)) { // New element\n          createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n        } else {\n          vnodeToMove = oldCh[idxInOld];\n          if (sameVnode(vnodeToMove, newStartVnode)) {\n            patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n            oldCh[idxInOld] = undefined;\n            canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n          } else {\n            // same key but different element. treat as new element\n            createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n          }\n        }\n        newStartVnode = newCh[++newStartIdx];\n      }\n    }\n    if (oldStartIdx > oldEndIdx) {\n      refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n      addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n    } else if (newStartIdx > newEndIdx) {\n      removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n    }\n  }\n\n  function checkDuplicateKeys (children) {\n    var seenKeys = {};\n    for (var i = 0; i < children.length; i++) {\n      var vnode = children[i];\n      var key = vnode.key;\n      if (isDef(key)) {\n        if (seenKeys[key]) {\n          warn(\n            (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n            vnode.context\n          );\n        } else {\n          seenKeys[key] = true;\n        }\n      }\n    }\n  }\n\n  function findIdxInOld (node, oldCh, start, end) {\n    for (var i = start; i < end; i++) {\n      var c = oldCh[i];\n      if (isDef(c) && sameVnode(node, c)) { return i }\n    }\n  }\n\n  function patchVnode (\n    oldVnode,\n    vnode,\n    insertedVnodeQueue,\n    ownerArray,\n    index,\n    removeOnly\n  ) {\n    if (oldVnode === vnode) {\n      return\n    }\n\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // clone reused vnode\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    var elm = vnode.elm = oldVnode.elm;\n\n    if (isTrue(oldVnode.isAsyncPlaceholder)) {\n      if (isDef(vnode.asyncFactory.resolved)) {\n        hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n      } else {\n        vnode.isAsyncPlaceholder = true;\n      }\n      return\n    }\n\n    // reuse element for static trees.\n    // note we only do this if the vnode is cloned -\n    // if the new node is not cloned it means the render functions have been\n    // reset by the hot-reload-api and we need to do a proper re-render.\n    if (isTrue(vnode.isStatic) &&\n      isTrue(oldVnode.isStatic) &&\n      vnode.key === oldVnode.key &&\n      (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n    ) {\n      vnode.componentInstance = oldVnode.componentInstance;\n      return\n    }\n\n    var i;\n    var data = vnode.data;\n    if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n      i(oldVnode, vnode);\n    }\n\n    var oldCh = oldVnode.children;\n    var ch = vnode.children;\n    if (isDef(data) && isPatchable(vnode)) {\n      for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n      if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n    }\n    if (isUndef(vnode.text)) {\n      if (isDef(oldCh) && isDef(ch)) {\n        if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n      } else if (isDef(ch)) {\n        if (process.env.NODE_ENV !== 'production') {\n          checkDuplicateKeys(ch);\n        }\n        if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n        addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n      } else if (isDef(oldCh)) {\n        removeVnodes(oldCh, 0, oldCh.length - 1);\n      } else if (isDef(oldVnode.text)) {\n        nodeOps.setTextContent(elm, '');\n      }\n    } else if (oldVnode.text !== vnode.text) {\n      nodeOps.setTextContent(elm, vnode.text);\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n    }\n  }\n\n  function invokeInsertHook (vnode, queue, initial) {\n    // delay insert hooks for component root nodes, invoke them after the\n    // element is really inserted\n    if (isTrue(initial) && isDef(vnode.parent)) {\n      vnode.parent.data.pendingInsert = queue;\n    } else {\n      for (var i = 0; i < queue.length; ++i) {\n        queue[i].data.hook.insert(queue[i]);\n      }\n    }\n  }\n\n  var hydrationBailed = false;\n  // list of modules that can skip create hook during hydration because they\n  // are already rendered on the client or has no need for initialization\n  // Note: style is excluded because it relies on initial clone for future\n  // deep updates (#7063).\n  var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n  // Note: this is a browser-only function so we can assume elms are DOM nodes.\n  function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n    var i;\n    var tag = vnode.tag;\n    var data = vnode.data;\n    var children = vnode.children;\n    inVPre = inVPre || (data && data.pre);\n    vnode.elm = elm;\n\n    if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n      vnode.isAsyncPlaceholder = true;\n      return true\n    }\n    // assert node match\n    if (process.env.NODE_ENV !== 'production') {\n      if (!assertNodeMatch(elm, vnode, inVPre)) {\n        return false\n      }\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n      if (isDef(i = vnode.componentInstance)) {\n        // child component. it should have hydrated its own tree.\n        initComponent(vnode, insertedVnodeQueue);\n        return true\n      }\n    }\n    if (isDef(tag)) {\n      if (isDef(children)) {\n        // empty element, allow client to pick up and populate children\n        if (!elm.hasChildNodes()) {\n          createChildren(vnode, children, insertedVnodeQueue);\n        } else {\n          // v-html and domProps: innerHTML\n          if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n            if (i !== elm.innerHTML) {\n              /* istanbul ignore if */\n              if (process.env.NODE_ENV !== 'production' &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('server innerHTML: ', i);\n                console.warn('client innerHTML: ', elm.innerHTML);\n              }\n              return false\n            }\n          } else {\n            // iterate and compare children lists\n            var childrenMatch = true;\n            var childNode = elm.firstChild;\n            for (var i$1 = 0; i$1 < children.length; i$1++) {\n              if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n                childrenMatch = false;\n                break\n              }\n              childNode = childNode.nextSibling;\n            }\n            // if childNode is not null, it means the actual childNodes list is\n            // longer than the virtual children list.\n            if (!childrenMatch || childNode) {\n              /* istanbul ignore if */\n              if (process.env.NODE_ENV !== 'production' &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n              }\n              return false\n            }\n          }\n        }\n      }\n      if (isDef(data)) {\n        var fullInvoke = false;\n        for (var key in data) {\n          if (!isRenderedModule(key)) {\n            fullInvoke = true;\n            invokeCreateHooks(vnode, insertedVnodeQueue);\n            break\n          }\n        }\n        if (!fullInvoke && data['class']) {\n          // ensure collecting deps for deep class bindings for future updates\n          traverse(data['class']);\n        }\n      }\n    } else if (elm.data !== vnode.text) {\n      elm.data = vnode.text;\n    }\n    return true\n  }\n\n  function assertNodeMatch (node, vnode, inVPre) {\n    if (isDef(vnode.tag)) {\n      return vnode.tag.indexOf('vue-component') === 0 || (\n        !isUnknownElement$$1(vnode, inVPre) &&\n        vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n      )\n    } else {\n      return node.nodeType === (vnode.isComment ? 8 : 3)\n    }\n  }\n\n  return function patch (oldVnode, vnode, hydrating, removeOnly) {\n    if (isUndef(vnode)) {\n      if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n      return\n    }\n\n    var isInitialPatch = false;\n    var insertedVnodeQueue = [];\n\n    if (isUndef(oldVnode)) {\n      // empty mount (likely as component), create new root element\n      isInitialPatch = true;\n      createElm(vnode, insertedVnodeQueue);\n    } else {\n      var isRealElement = isDef(oldVnode.nodeType);\n      if (!isRealElement && sameVnode(oldVnode, vnode)) {\n        // patch existing root node\n        patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n      } else {\n        if (isRealElement) {\n          // mounting to a real element\n          // check if this is server-rendered content and if we can perform\n          // a successful hydration.\n          if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n            oldVnode.removeAttribute(SSR_ATTR);\n            hydrating = true;\n          }\n          if (isTrue(hydrating)) {\n            if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n              invokeInsertHook(vnode, insertedVnodeQueue, true);\n              return oldVnode\n            } else if (process.env.NODE_ENV !== 'production') {\n              warn(\n                'The client-side rendered virtual DOM tree is not matching ' +\n                'server-rendered content. This is likely caused by incorrect ' +\n                'HTML markup, for example nesting block-level elements inside ' +\n                '<p>, or missing <tbody>. Bailing hydration and performing ' +\n                'full client-side render.'\n              );\n            }\n          }\n          // either not server-rendered, or hydration failed.\n          // create an empty node and replace it\n          oldVnode = emptyNodeAt(oldVnode);\n        }\n\n        // replacing existing element\n        var oldElm = oldVnode.elm;\n        var parentElm = nodeOps.parentNode(oldElm);\n\n        // create new node\n        createElm(\n          vnode,\n          insertedVnodeQueue,\n          // extremely rare edge case: do not insert if old element is in a\n          // leaving transition. Only happens when combining transition +\n          // keep-alive + HOCs. (#4590)\n          oldElm._leaveCb ? null : parentElm,\n          nodeOps.nextSibling(oldElm)\n        );\n\n        // update parent placeholder node element, recursively\n        if (isDef(vnode.parent)) {\n          var ancestor = vnode.parent;\n          var patchable = isPatchable(vnode);\n          while (ancestor) {\n            for (var i = 0; i < cbs.destroy.length; ++i) {\n              cbs.destroy[i](ancestor);\n            }\n            ancestor.elm = vnode.elm;\n            if (patchable) {\n              for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n                cbs.create[i$1](emptyNode, ancestor);\n              }\n              // #6513\n              // invoke insert hooks that may have been merged by create hooks.\n              // e.g. for directives that uses the \"inserted\" hook.\n              var insert = ancestor.data.hook.insert;\n              if (insert.merged) {\n                // start at index 1 to avoid re-invoking component mounted hook\n                for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n                  insert.fns[i$2]();\n                }\n              }\n            } else {\n              registerRef(ancestor);\n            }\n            ancestor = ancestor.parent;\n          }\n        }\n\n        // destroy old node\n        if (isDef(parentElm)) {\n          removeVnodes([oldVnode], 0, 0);\n        } else if (isDef(oldVnode.tag)) {\n          invokeDestroyHook(oldVnode);\n        }\n      }\n    }\n\n    invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n    return vnode.elm\n  }\n}\n\n/*  */\n\nvar directives = {\n  create: updateDirectives,\n  update: updateDirectives,\n  destroy: function unbindDirectives (vnode) {\n    updateDirectives(vnode, emptyNode);\n  }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n  if (oldVnode.data.directives || vnode.data.directives) {\n    _update(oldVnode, vnode);\n  }\n}\n\nfunction _update (oldVnode, vnode) {\n  var isCreate = oldVnode === emptyNode;\n  var isDestroy = vnode === emptyNode;\n  var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n  var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n  var dirsWithInsert = [];\n  var dirsWithPostpatch = [];\n\n  var key, oldDir, dir;\n  for (key in newDirs) {\n    oldDir = oldDirs[key];\n    dir = newDirs[key];\n    if (!oldDir) {\n      // new directive, bind\n      callHook$1(dir, 'bind', vnode, oldVnode);\n      if (dir.def && dir.def.inserted) {\n        dirsWithInsert.push(dir);\n      }\n    } else {\n      // existing directive, update\n      dir.oldValue = oldDir.value;\n      dir.oldArg = oldDir.arg;\n      callHook$1(dir, 'update', vnode, oldVnode);\n      if (dir.def && dir.def.componentUpdated) {\n        dirsWithPostpatch.push(dir);\n      }\n    }\n  }\n\n  if (dirsWithInsert.length) {\n    var callInsert = function () {\n      for (var i = 0; i < dirsWithInsert.length; i++) {\n        callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n      }\n    };\n    if (isCreate) {\n      mergeVNodeHook(vnode, 'insert', callInsert);\n    } else {\n      callInsert();\n    }\n  }\n\n  if (dirsWithPostpatch.length) {\n    mergeVNodeHook(vnode, 'postpatch', function () {\n      for (var i = 0; i < dirsWithPostpatch.length; i++) {\n        callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n      }\n    });\n  }\n\n  if (!isCreate) {\n    for (key in oldDirs) {\n      if (!newDirs[key]) {\n        // no longer present, unbind\n        callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n      }\n    }\n  }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n  dirs,\n  vm\n) {\n  var res = Object.create(null);\n  if (!dirs) {\n    // $flow-disable-line\n    return res\n  }\n  var i, dir;\n  for (i = 0; i < dirs.length; i++) {\n    dir = dirs[i];\n    if (!dir.modifiers) {\n      // $flow-disable-line\n      dir.modifiers = emptyModifiers;\n    }\n    res[getRawDirName(dir)] = dir;\n    dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n  }\n  // $flow-disable-line\n  return res\n}\n\nfunction getRawDirName (dir) {\n  return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n  var fn = dir.def && dir.def[hook];\n  if (fn) {\n    try {\n      fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n    } catch (e) {\n      handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n    }\n  }\n}\n\nvar baseModules = [\n  ref,\n  directives\n];\n\n/*  */\n\nfunction updateAttrs (oldVnode, vnode) {\n  var opts = vnode.componentOptions;\n  if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n    return\n  }\n  if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n    return\n  }\n  var key, cur, old;\n  var elm = vnode.elm;\n  var oldAttrs = oldVnode.data.attrs || {};\n  var attrs = vnode.data.attrs || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(attrs.__ob__)) {\n    attrs = vnode.data.attrs = extend({}, attrs);\n  }\n\n  for (key in attrs) {\n    cur = attrs[key];\n    old = oldAttrs[key];\n    if (old !== cur) {\n      setAttr(elm, key, cur, vnode.data.pre);\n    }\n  }\n  // #4391: in IE9, setting type can reset value for input[type=radio]\n  // #6666: IE/Edge forces progress value down to 1 before setting a max\n  /* istanbul ignore if */\n  if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n    setAttr(elm, 'value', attrs.value);\n  }\n  for (key in oldAttrs) {\n    if (isUndef(attrs[key])) {\n      if (isXlink(key)) {\n        elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n      } else if (!isEnumeratedAttr(key)) {\n        elm.removeAttribute(key);\n      }\n    }\n  }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n  if (isInPre || el.tagName.indexOf('-') > -1) {\n    baseSetAttr(el, key, value);\n  } else if (isBooleanAttr(key)) {\n    // set attribute for blank value\n    // e.g. <option disabled>Select one</option>\n    if (isFalsyAttrValue(value)) {\n      el.removeAttribute(key);\n    } else {\n      // technically allowfullscreen is a boolean attribute for <iframe>,\n      // but Flash expects a value of \"true\" when used on <embed> tag\n      value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n        ? 'true'\n        : key;\n      el.setAttribute(key, value);\n    }\n  } else if (isEnumeratedAttr(key)) {\n    el.setAttribute(key, convertEnumeratedValue(key, value));\n  } else if (isXlink(key)) {\n    if (isFalsyAttrValue(value)) {\n      el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n    } else {\n      el.setAttributeNS(xlinkNS, key, value);\n    }\n  } else {\n    baseSetAttr(el, key, value);\n  }\n}\n\nfunction baseSetAttr (el, key, value) {\n  if (isFalsyAttrValue(value)) {\n    el.removeAttribute(key);\n  } else {\n    // #7138: IE10 & 11 fires input event when setting placeholder on\n    // <textarea>... block the first input event and remove the blocker\n    // immediately.\n    /* istanbul ignore if */\n    if (\n      isIE && !isIE9 &&\n      el.tagName === 'TEXTAREA' &&\n      key === 'placeholder' && value !== '' && !el.__ieph\n    ) {\n      var blocker = function (e) {\n        e.stopImmediatePropagation();\n        el.removeEventListener('input', blocker);\n      };\n      el.addEventListener('input', blocker);\n      // $flow-disable-line\n      el.__ieph = true; /* IE placeholder patched */\n    }\n    el.setAttribute(key, value);\n  }\n}\n\nvar attrs = {\n  create: updateAttrs,\n  update: updateAttrs\n};\n\n/*  */\n\nfunction updateClass (oldVnode, vnode) {\n  var el = vnode.elm;\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n  if (\n    isUndef(data.staticClass) &&\n    isUndef(data.class) && (\n      isUndef(oldData) || (\n        isUndef(oldData.staticClass) &&\n        isUndef(oldData.class)\n      )\n    )\n  ) {\n    return\n  }\n\n  var cls = genClassForVnode(vnode);\n\n  // handle transition classes\n  var transitionClass = el._transitionClasses;\n  if (isDef(transitionClass)) {\n    cls = concat(cls, stringifyClass(transitionClass));\n  }\n\n  // set the class\n  if (cls !== el._prevClass) {\n    el.setAttribute('class', cls);\n    el._prevClass = cls;\n  }\n}\n\nvar klass = {\n  create: updateClass,\n  update: updateClass\n};\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/*  */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n  /* istanbul ignore if */\n  if (isDef(on[RANGE_TOKEN])) {\n    // IE input[type=range] only supports `change` event\n    var event = isIE ? 'change' : 'input';\n    on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n    delete on[RANGE_TOKEN];\n  }\n  // This was originally intended to fix #4521 but no longer necessary\n  // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n  /* istanbul ignore if */\n  if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n    on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n    delete on[CHECKBOX_RADIO_TOKEN];\n  }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n  var _target = target$1; // save current target element in closure\n  return function onceHandler () {\n    var res = handler.apply(null, arguments);\n    if (res !== null) {\n      remove$2(event, onceHandler, capture, _target);\n    }\n  }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n  name,\n  handler,\n  capture,\n  passive\n) {\n  // async edge case #6566: inner click event triggers patch, event handler\n  // attached to outer element during patch, and triggered again. This\n  // happens because browsers fire microtask ticks between event propagation.\n  // the solution is simple: we save the timestamp when a handler is attached,\n  // and the handler would only fire if the event passed to it was fired\n  // AFTER it was attached.\n  if (useMicrotaskFix) {\n    var attachedTimestamp = currentFlushTimestamp;\n    var original = handler;\n    handler = original._wrapper = function (e) {\n      if (\n        // no bubbling, should always fire.\n        // this is just a safety net in case event.timeStamp is unreliable in\n        // certain weird environments...\n        e.target === e.currentTarget ||\n        // event is fired after handler attachment\n        e.timeStamp >= attachedTimestamp ||\n        // bail for environments that have buggy event.timeStamp implementations\n        // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n        // #9681 QtWebEngine event.timeStamp is negative value\n        e.timeStamp <= 0 ||\n        // #9448 bail if event is fired in another document in a multi-page\n        // electron/nw.js app, since event.timeStamp will be using a different\n        // starting reference\n        e.target.ownerDocument !== document\n      ) {\n        return original.apply(this, arguments)\n      }\n    };\n  }\n  target$1.addEventListener(\n    name,\n    handler,\n    supportsPassive\n      ? { capture: capture, passive: passive }\n      : capture\n  );\n}\n\nfunction remove$2 (\n  name,\n  handler,\n  capture,\n  _target\n) {\n  (_target || target$1).removeEventListener(\n    name,\n    handler._wrapper || handler,\n    capture\n  );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n    return\n  }\n  var on = vnode.data.on || {};\n  var oldOn = oldVnode.data.on || {};\n  target$1 = vnode.elm;\n  normalizeEvents(on);\n  updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n  target$1 = undefined;\n}\n\nvar events = {\n  create: updateDOMListeners,\n  update: updateDOMListeners\n};\n\n/*  */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n    return\n  }\n  var key, cur;\n  var elm = vnode.elm;\n  var oldProps = oldVnode.data.domProps || {};\n  var props = vnode.data.domProps || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(props.__ob__)) {\n    props = vnode.data.domProps = extend({}, props);\n  }\n\n  for (key in oldProps) {\n    if (!(key in props)) {\n      elm[key] = '';\n    }\n  }\n\n  for (key in props) {\n    cur = props[key];\n    // ignore children if the node has textContent or innerHTML,\n    // as these will throw away existing DOM nodes and cause removal errors\n    // on subsequent patches (#3360)\n    if (key === 'textContent' || key === 'innerHTML') {\n      if (vnode.children) { vnode.children.length = 0; }\n      if (cur === oldProps[key]) { continue }\n      // #6601 work around Chrome version <= 55 bug where single textNode\n      // replaced by innerHTML/textContent retains its parentNode property\n      if (elm.childNodes.length === 1) {\n        elm.removeChild(elm.childNodes[0]);\n      }\n    }\n\n    if (key === 'value' && elm.tagName !== 'PROGRESS') {\n      // store value as _value as well since\n      // non-string values will be stringified\n      elm._value = cur;\n      // avoid resetting cursor position when value is the same\n      var strCur = isUndef(cur) ? '' : String(cur);\n      if (shouldUpdateValue(elm, strCur)) {\n        elm.value = strCur;\n      }\n    } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n      // IE doesn't support innerHTML for SVG elements\n      svgContainer = svgContainer || document.createElement('div');\n      svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n      var svg = svgContainer.firstChild;\n      while (elm.firstChild) {\n        elm.removeChild(elm.firstChild);\n      }\n      while (svg.firstChild) {\n        elm.appendChild(svg.firstChild);\n      }\n    } else if (\n      // skip the update if old and new VDOM state is the same.\n      // `value` is handled separately because the DOM value may be temporarily\n      // out of sync with VDOM state due to focus, composition and modifiers.\n      // This  #4521 by skipping the unnecessary `checked` update.\n      cur !== oldProps[key]\n    ) {\n      // some property updates can throw\n      // e.g. `value` on <progress> w/ non-finite value\n      try {\n        elm[key] = cur;\n      } catch (e) {}\n    }\n  }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n  return (!elm.composing && (\n    elm.tagName === 'OPTION' ||\n    isNotInFocusAndDirty(elm, checkVal) ||\n    isDirtyWithModifiers(elm, checkVal)\n  ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n  // return true when textbox (.number and .trim) loses focus and its value is\n  // not equal to the updated value\n  var notInFocus = true;\n  // #6157\n  // work around IE bug when accessing document.activeElement in an iframe\n  try { notInFocus = document.activeElement !== elm; } catch (e) {}\n  return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n  var value = elm.value;\n  var modifiers = elm._vModifiers; // injected by v-model runtime\n  if (isDef(modifiers)) {\n    if (modifiers.number) {\n      return toNumber(value) !== toNumber(newVal)\n    }\n    if (modifiers.trim) {\n      return value.trim() !== newVal.trim()\n    }\n  }\n  return value !== newVal\n}\n\nvar domProps = {\n  create: updateDOMProps,\n  update: updateDOMProps\n};\n\n/*  */\n\nvar parseStyleText = cached(function (cssText) {\n  var res = {};\n  var listDelimiter = /;(?![^(]*\\))/g;\n  var propertyDelimiter = /:(.+)/;\n  cssText.split(listDelimiter).forEach(function (item) {\n    if (item) {\n      var tmp = item.split(propertyDelimiter);\n      tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n    }\n  });\n  return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n  var style = normalizeStyleBinding(data.style);\n  // static style is pre-processed into an object during compilation\n  // and is always a fresh object, so it's safe to merge into it\n  return data.staticStyle\n    ? extend(data.staticStyle, style)\n    : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n  if (Array.isArray(bindingStyle)) {\n    return toObject(bindingStyle)\n  }\n  if (typeof bindingStyle === 'string') {\n    return parseStyleText(bindingStyle)\n  }\n  return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n  var res = {};\n  var styleData;\n\n  if (checkChild) {\n    var childNode = vnode;\n    while (childNode.componentInstance) {\n      childNode = childNode.componentInstance._vnode;\n      if (\n        childNode && childNode.data &&\n        (styleData = normalizeStyleData(childNode.data))\n      ) {\n        extend(res, styleData);\n      }\n    }\n  }\n\n  if ((styleData = normalizeStyleData(vnode.data))) {\n    extend(res, styleData);\n  }\n\n  var parentNode = vnode;\n  while ((parentNode = parentNode.parent)) {\n    if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n      extend(res, styleData);\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n  /* istanbul ignore if */\n  if (cssVarRE.test(name)) {\n    el.style.setProperty(name, val);\n  } else if (importantRE.test(val)) {\n    el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n  } else {\n    var normalizedName = normalize(name);\n    if (Array.isArray(val)) {\n      // Support values array created by autoprefixer, e.g.\n      // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n      // Set them one by one, and the browser will only set those it can recognize\n      for (var i = 0, len = val.length; i < len; i++) {\n        el.style[normalizedName] = val[i];\n      }\n    } else {\n      el.style[normalizedName] = val;\n    }\n  }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n  emptyStyle = emptyStyle || document.createElement('div').style;\n  prop = camelize(prop);\n  if (prop !== 'filter' && (prop in emptyStyle)) {\n    return prop\n  }\n  var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n  for (var i = 0; i < vendorNames.length; i++) {\n    var name = vendorNames[i] + capName;\n    if (name in emptyStyle) {\n      return name\n    }\n  }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n\n  if (isUndef(data.staticStyle) && isUndef(data.style) &&\n    isUndef(oldData.staticStyle) && isUndef(oldData.style)\n  ) {\n    return\n  }\n\n  var cur, name;\n  var el = vnode.elm;\n  var oldStaticStyle = oldData.staticStyle;\n  var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n  // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n  var oldStyle = oldStaticStyle || oldStyleBinding;\n\n  var style = normalizeStyleBinding(vnode.data.style) || {};\n\n  // store normalized style under a different key for next diff\n  // make sure to clone it if it's reactive, since the user likely wants\n  // to mutate it.\n  vnode.data.normalizedStyle = isDef(style.__ob__)\n    ? extend({}, style)\n    : style;\n\n  var newStyle = getStyle(vnode, true);\n\n  for (name in oldStyle) {\n    if (isUndef(newStyle[name])) {\n      setProp(el, name, '');\n    }\n  }\n  for (name in newStyle) {\n    cur = newStyle[name];\n    if (cur !== oldStyle[name]) {\n      // ie9 setting to null has no effect, must use empty string\n      setProp(el, name, cur == null ? '' : cur);\n    }\n  }\n}\n\nvar style = {\n  create: updateStyle,\n  update: updateStyle\n};\n\n/*  */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n    } else {\n      el.classList.add(cls);\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    if (cur.indexOf(' ' + cls + ' ') < 0) {\n      el.setAttribute('class', (cur + cls).trim());\n    }\n  }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n    } else {\n      el.classList.remove(cls);\n    }\n    if (!el.classList.length) {\n      el.removeAttribute('class');\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    var tar = ' ' + cls + ' ';\n    while (cur.indexOf(tar) >= 0) {\n      cur = cur.replace(tar, ' ');\n    }\n    cur = cur.trim();\n    if (cur) {\n      el.setAttribute('class', cur);\n    } else {\n      el.removeAttribute('class');\n    }\n  }\n}\n\n/*  */\n\nfunction resolveTransition (def$$1) {\n  if (!def$$1) {\n    return\n  }\n  /* istanbul ignore else */\n  if (typeof def$$1 === 'object') {\n    var res = {};\n    if (def$$1.css !== false) {\n      extend(res, autoCssTransition(def$$1.name || 'v'));\n    }\n    extend(res, def$$1);\n    return res\n  } else if (typeof def$$1 === 'string') {\n    return autoCssTransition(def$$1)\n  }\n}\n\nvar autoCssTransition = cached(function (name) {\n  return {\n    enterClass: (name + \"-enter\"),\n    enterToClass: (name + \"-enter-to\"),\n    enterActiveClass: (name + \"-enter-active\"),\n    leaveClass: (name + \"-leave\"),\n    leaveToClass: (name + \"-leave-to\"),\n    leaveActiveClass: (name + \"-leave-active\")\n  }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n  /* istanbul ignore if */\n  if (window.ontransitionend === undefined &&\n    window.onwebkittransitionend !== undefined\n  ) {\n    transitionProp = 'WebkitTransition';\n    transitionEndEvent = 'webkitTransitionEnd';\n  }\n  if (window.onanimationend === undefined &&\n    window.onwebkitanimationend !== undefined\n  ) {\n    animationProp = 'WebkitAnimation';\n    animationEndEvent = 'webkitAnimationEnd';\n  }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n  ? window.requestAnimationFrame\n    ? window.requestAnimationFrame.bind(window)\n    : setTimeout\n  : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n  raf(function () {\n    raf(fn);\n  });\n}\n\nfunction addTransitionClass (el, cls) {\n  var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n  if (transitionClasses.indexOf(cls) < 0) {\n    transitionClasses.push(cls);\n    addClass(el, cls);\n  }\n}\n\nfunction removeTransitionClass (el, cls) {\n  if (el._transitionClasses) {\n    remove(el._transitionClasses, cls);\n  }\n  removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n  el,\n  expectedType,\n  cb\n) {\n  var ref = getTransitionInfo(el, expectedType);\n  var type = ref.type;\n  var timeout = ref.timeout;\n  var propCount = ref.propCount;\n  if (!type) { return cb() }\n  var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n  var ended = 0;\n  var end = function () {\n    el.removeEventListener(event, onEnd);\n    cb();\n  };\n  var onEnd = function (e) {\n    if (e.target === el) {\n      if (++ended >= propCount) {\n        end();\n      }\n    }\n  };\n  setTimeout(function () {\n    if (ended < propCount) {\n      end();\n    }\n  }, timeout + 1);\n  el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n  var styles = window.getComputedStyle(el);\n  // JSDOM may return undefined for transition properties\n  var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n  var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n  var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n  var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n  var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n  var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n  var type;\n  var timeout = 0;\n  var propCount = 0;\n  /* istanbul ignore if */\n  if (expectedType === TRANSITION) {\n    if (transitionTimeout > 0) {\n      type = TRANSITION;\n      timeout = transitionTimeout;\n      propCount = transitionDurations.length;\n    }\n  } else if (expectedType === ANIMATION) {\n    if (animationTimeout > 0) {\n      type = ANIMATION;\n      timeout = animationTimeout;\n      propCount = animationDurations.length;\n    }\n  } else {\n    timeout = Math.max(transitionTimeout, animationTimeout);\n    type = timeout > 0\n      ? transitionTimeout > animationTimeout\n        ? TRANSITION\n        : ANIMATION\n      : null;\n    propCount = type\n      ? type === TRANSITION\n        ? transitionDurations.length\n        : animationDurations.length\n      : 0;\n  }\n  var hasTransform =\n    type === TRANSITION &&\n    transformRE.test(styles[transitionProp + 'Property']);\n  return {\n    type: type,\n    timeout: timeout,\n    propCount: propCount,\n    hasTransform: hasTransform\n  }\n}\n\nfunction getTimeout (delays, durations) {\n  /* istanbul ignore next */\n  while (delays.length < durations.length) {\n    delays = delays.concat(delays);\n  }\n\n  return Math.max.apply(null, durations.map(function (d, i) {\n    return toMs(d) + toMs(delays[i])\n  }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n  return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/*  */\n\nfunction enter (vnode, toggleDisplay) {\n  var el = vnode.elm;\n\n  // call leave callback now\n  if (isDef(el._leaveCb)) {\n    el._leaveCb.cancelled = true;\n    el._leaveCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data)) {\n    return\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._enterCb) || el.nodeType !== 1) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var enterClass = data.enterClass;\n  var enterToClass = data.enterToClass;\n  var enterActiveClass = data.enterActiveClass;\n  var appearClass = data.appearClass;\n  var appearToClass = data.appearToClass;\n  var appearActiveClass = data.appearActiveClass;\n  var beforeEnter = data.beforeEnter;\n  var enter = data.enter;\n  var afterEnter = data.afterEnter;\n  var enterCancelled = data.enterCancelled;\n  var beforeAppear = data.beforeAppear;\n  var appear = data.appear;\n  var afterAppear = data.afterAppear;\n  var appearCancelled = data.appearCancelled;\n  var duration = data.duration;\n\n  // activeInstance will always be the <transition> component managing this\n  // transition. One edge case to check is when the <transition> is placed\n  // as the root node of a child component. In that case we need to check\n  // <transition>'s parent for appear check.\n  var context = activeInstance;\n  var transitionNode = activeInstance.$vnode;\n  while (transitionNode && transitionNode.parent) {\n    context = transitionNode.context;\n    transitionNode = transitionNode.parent;\n  }\n\n  var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n  if (isAppear && !appear && appear !== '') {\n    return\n  }\n\n  var startClass = isAppear && appearClass\n    ? appearClass\n    : enterClass;\n  var activeClass = isAppear && appearActiveClass\n    ? appearActiveClass\n    : enterActiveClass;\n  var toClass = isAppear && appearToClass\n    ? appearToClass\n    : enterToClass;\n\n  var beforeEnterHook = isAppear\n    ? (beforeAppear || beforeEnter)\n    : beforeEnter;\n  var enterHook = isAppear\n    ? (typeof appear === 'function' ? appear : enter)\n    : enter;\n  var afterEnterHook = isAppear\n    ? (afterAppear || afterEnter)\n    : afterEnter;\n  var enterCancelledHook = isAppear\n    ? (appearCancelled || enterCancelled)\n    : enterCancelled;\n\n  var explicitEnterDuration = toNumber(\n    isObject(duration)\n      ? duration.enter\n      : duration\n  );\n\n  if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n    checkDuration(explicitEnterDuration, 'enter', vnode);\n  }\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(enterHook);\n\n  var cb = el._enterCb = once(function () {\n    if (expectsCSS) {\n      removeTransitionClass(el, toClass);\n      removeTransitionClass(el, activeClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, startClass);\n      }\n      enterCancelledHook && enterCancelledHook(el);\n    } else {\n      afterEnterHook && afterEnterHook(el);\n    }\n    el._enterCb = null;\n  });\n\n  if (!vnode.data.show) {\n    // remove pending leave element on enter by injecting an insert hook\n    mergeVNodeHook(vnode, 'insert', function () {\n      var parent = el.parentNode;\n      var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n      if (pendingNode &&\n        pendingNode.tag === vnode.tag &&\n        pendingNode.elm._leaveCb\n      ) {\n        pendingNode.elm._leaveCb();\n      }\n      enterHook && enterHook(el, cb);\n    });\n  }\n\n  // start enter transition\n  beforeEnterHook && beforeEnterHook(el);\n  if (expectsCSS) {\n    addTransitionClass(el, startClass);\n    addTransitionClass(el, activeClass);\n    nextFrame(function () {\n      removeTransitionClass(el, startClass);\n      if (!cb.cancelled) {\n        addTransitionClass(el, toClass);\n        if (!userWantsControl) {\n          if (isValidDuration(explicitEnterDuration)) {\n            setTimeout(cb, explicitEnterDuration);\n          } else {\n            whenTransitionEnds(el, type, cb);\n          }\n        }\n      }\n    });\n  }\n\n  if (vnode.data.show) {\n    toggleDisplay && toggleDisplay();\n    enterHook && enterHook(el, cb);\n  }\n\n  if (!expectsCSS && !userWantsControl) {\n    cb();\n  }\n}\n\nfunction leave (vnode, rm) {\n  var el = vnode.elm;\n\n  // call enter callback now\n  if (isDef(el._enterCb)) {\n    el._enterCb.cancelled = true;\n    el._enterCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data) || el.nodeType !== 1) {\n    return rm()\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._leaveCb)) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var leaveClass = data.leaveClass;\n  var leaveToClass = data.leaveToClass;\n  var leaveActiveClass = data.leaveActiveClass;\n  var beforeLeave = data.beforeLeave;\n  var leave = data.leave;\n  var afterLeave = data.afterLeave;\n  var leaveCancelled = data.leaveCancelled;\n  var delayLeave = data.delayLeave;\n  var duration = data.duration;\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(leave);\n\n  var explicitLeaveDuration = toNumber(\n    isObject(duration)\n      ? duration.leave\n      : duration\n  );\n\n  if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n    checkDuration(explicitLeaveDuration, 'leave', vnode);\n  }\n\n  var cb = el._leaveCb = once(function () {\n    if (el.parentNode && el.parentNode._pending) {\n      el.parentNode._pending[vnode.key] = null;\n    }\n    if (expectsCSS) {\n      removeTransitionClass(el, leaveToClass);\n      removeTransitionClass(el, leaveActiveClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, leaveClass);\n      }\n      leaveCancelled && leaveCancelled(el);\n    } else {\n      rm();\n      afterLeave && afterLeave(el);\n    }\n    el._leaveCb = null;\n  });\n\n  if (delayLeave) {\n    delayLeave(performLeave);\n  } else {\n    performLeave();\n  }\n\n  function performLeave () {\n    // the delayed leave may have already been cancelled\n    if (cb.cancelled) {\n      return\n    }\n    // record leaving element\n    if (!vnode.data.show && el.parentNode) {\n      (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n    }\n    beforeLeave && beforeLeave(el);\n    if (expectsCSS) {\n      addTransitionClass(el, leaveClass);\n      addTransitionClass(el, leaveActiveClass);\n      nextFrame(function () {\n        removeTransitionClass(el, leaveClass);\n        if (!cb.cancelled) {\n          addTransitionClass(el, leaveToClass);\n          if (!userWantsControl) {\n            if (isValidDuration(explicitLeaveDuration)) {\n              setTimeout(cb, explicitLeaveDuration);\n            } else {\n              whenTransitionEnds(el, type, cb);\n            }\n          }\n        }\n      });\n    }\n    leave && leave(el, cb);\n    if (!expectsCSS && !userWantsControl) {\n      cb();\n    }\n  }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n  if (typeof val !== 'number') {\n    warn(\n      \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n      \"got \" + (JSON.stringify(val)) + \".\",\n      vnode.context\n    );\n  } else if (isNaN(val)) {\n    warn(\n      \"<transition> explicit \" + name + \" duration is NaN - \" +\n      'the duration expression might be incorrect.',\n      vnode.context\n    );\n  }\n}\n\nfunction isValidDuration (val) {\n  return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n  if (isUndef(fn)) {\n    return false\n  }\n  var invokerFns = fn.fns;\n  if (isDef(invokerFns)) {\n    // invoker\n    return getHookArgumentsLength(\n      Array.isArray(invokerFns)\n        ? invokerFns[0]\n        : invokerFns\n    )\n  } else {\n    return (fn._length || fn.length) > 1\n  }\n}\n\nfunction _enter (_, vnode) {\n  if (vnode.data.show !== true) {\n    enter(vnode);\n  }\n}\n\nvar transition = inBrowser ? {\n  create: _enter,\n  activate: _enter,\n  remove: function remove$$1 (vnode, rm) {\n    /* istanbul ignore else */\n    if (vnode.data.show !== true) {\n      leave(vnode, rm);\n    } else {\n      rm();\n    }\n  }\n} : {};\n\nvar platformModules = [\n  attrs,\n  klass,\n  events,\n  domProps,\n  style,\n  transition\n];\n\n/*  */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n  // http://www.matts411.com/post/internet-explorer-9-oninput/\n  document.addEventListener('selectionchange', function () {\n    var el = document.activeElement;\n    if (el && el.vmodel) {\n      trigger(el, 'input');\n    }\n  });\n}\n\nvar directive = {\n  inserted: function inserted (el, binding, vnode, oldVnode) {\n    if (vnode.tag === 'select') {\n      // #6903\n      if (oldVnode.elm && !oldVnode.elm._vOptions) {\n        mergeVNodeHook(vnode, 'postpatch', function () {\n          directive.componentUpdated(el, binding, vnode);\n        });\n      } else {\n        setSelected(el, binding, vnode.context);\n      }\n      el._vOptions = [].map.call(el.options, getValue);\n    } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n      el._vModifiers = binding.modifiers;\n      if (!binding.modifiers.lazy) {\n        el.addEventListener('compositionstart', onCompositionStart);\n        el.addEventListener('compositionend', onCompositionEnd);\n        // Safari < 10.2 & UIWebView doesn't fire compositionend when\n        // switching focus before confirming composition choice\n        // this also fixes the issue where some browsers e.g. iOS Chrome\n        // fires \"change\" instead of \"input\" on autocomplete.\n        el.addEventListener('change', onCompositionEnd);\n        /* istanbul ignore if */\n        if (isIE9) {\n          el.vmodel = true;\n        }\n      }\n    }\n  },\n\n  componentUpdated: function componentUpdated (el, binding, vnode) {\n    if (vnode.tag === 'select') {\n      setSelected(el, binding, vnode.context);\n      // in case the options rendered by v-for have changed,\n      // it's possible that the value is out-of-sync with the rendered options.\n      // detect such cases and filter out values that no longer has a matching\n      // option in the DOM.\n      var prevOptions = el._vOptions;\n      var curOptions = el._vOptions = [].map.call(el.options, getValue);\n      if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n        // trigger change event if\n        // no matching option found for at least one value\n        var needReset = el.multiple\n          ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n          : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n        if (needReset) {\n          trigger(el, 'change');\n        }\n      }\n    }\n  }\n};\n\nfunction setSelected (el, binding, vm) {\n  actuallySetSelected(el, binding, vm);\n  /* istanbul ignore if */\n  if (isIE || isEdge) {\n    setTimeout(function () {\n      actuallySetSelected(el, binding, vm);\n    }, 0);\n  }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n  var value = binding.value;\n  var isMultiple = el.multiple;\n  if (isMultiple && !Array.isArray(value)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n      \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n      vm\n    );\n    return\n  }\n  var selected, option;\n  for (var i = 0, l = el.options.length; i < l; i++) {\n    option = el.options[i];\n    if (isMultiple) {\n      selected = looseIndexOf(value, getValue(option)) > -1;\n      if (option.selected !== selected) {\n        option.selected = selected;\n      }\n    } else {\n      if (looseEqual(getValue(option), value)) {\n        if (el.selectedIndex !== i) {\n          el.selectedIndex = i;\n        }\n        return\n      }\n    }\n  }\n  if (!isMultiple) {\n    el.selectedIndex = -1;\n  }\n}\n\nfunction hasNoMatchingOption (value, options) {\n  return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n  return '_value' in option\n    ? option._value\n    : option.value\n}\n\nfunction onCompositionStart (e) {\n  e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n  // prevent triggering an input event for no reason\n  if (!e.target.composing) { return }\n  e.target.composing = false;\n  trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n  var e = document.createEvent('HTMLEvents');\n  e.initEvent(type, true, true);\n  el.dispatchEvent(e);\n}\n\n/*  */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n  return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n    ? locateNode(vnode.componentInstance._vnode)\n    : vnode\n}\n\nvar show = {\n  bind: function bind (el, ref, vnode) {\n    var value = ref.value;\n\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    var originalDisplay = el.__vOriginalDisplay =\n      el.style.display === 'none' ? '' : el.style.display;\n    if (value && transition$$1) {\n      vnode.data.show = true;\n      enter(vnode, function () {\n        el.style.display = originalDisplay;\n      });\n    } else {\n      el.style.display = value ? originalDisplay : 'none';\n    }\n  },\n\n  update: function update (el, ref, vnode) {\n    var value = ref.value;\n    var oldValue = ref.oldValue;\n\n    /* istanbul ignore if */\n    if (!value === !oldValue) { return }\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    if (transition$$1) {\n      vnode.data.show = true;\n      if (value) {\n        enter(vnode, function () {\n          el.style.display = el.__vOriginalDisplay;\n        });\n      } else {\n        leave(vnode, function () {\n          el.style.display = 'none';\n        });\n      }\n    } else {\n      el.style.display = value ? el.__vOriginalDisplay : 'none';\n    }\n  },\n\n  unbind: function unbind (\n    el,\n    binding,\n    vnode,\n    oldVnode,\n    isDestroy\n  ) {\n    if (!isDestroy) {\n      el.style.display = el.__vOriginalDisplay;\n    }\n  }\n};\n\nvar platformDirectives = {\n  model: directive,\n  show: show\n};\n\n/*  */\n\nvar transitionProps = {\n  name: String,\n  appear: Boolean,\n  css: Boolean,\n  mode: String,\n  type: String,\n  enterClass: String,\n  leaveClass: String,\n  enterToClass: String,\n  leaveToClass: String,\n  enterActiveClass: String,\n  leaveActiveClass: String,\n  appearClass: String,\n  appearActiveClass: String,\n  appearToClass: String,\n  duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n  var compOptions = vnode && vnode.componentOptions;\n  if (compOptions && compOptions.Ctor.options.abstract) {\n    return getRealChild(getFirstComponentChild(compOptions.children))\n  } else {\n    return vnode\n  }\n}\n\nfunction extractTransitionData (comp) {\n  var data = {};\n  var options = comp.$options;\n  // props\n  for (var key in options.propsData) {\n    data[key] = comp[key];\n  }\n  // events.\n  // extract listeners and pass them directly to the transition methods\n  var listeners = options._parentListeners;\n  for (var key$1 in listeners) {\n    data[camelize(key$1)] = listeners[key$1];\n  }\n  return data\n}\n\nfunction placeholder (h, rawChild) {\n  if (/\\d-keep-alive$/.test(rawChild.tag)) {\n    return h('keep-alive', {\n      props: rawChild.componentOptions.propsData\n    })\n  }\n}\n\nfunction hasParentTransition (vnode) {\n  while ((vnode = vnode.parent)) {\n    if (vnode.data.transition) {\n      return true\n    }\n  }\n}\n\nfunction isSameChild (child, oldChild) {\n  return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n  name: 'transition',\n  props: transitionProps,\n  abstract: true,\n\n  render: function render (h) {\n    var this$1 = this;\n\n    var children = this.$slots.default;\n    if (!children) {\n      return\n    }\n\n    // filter out text nodes (possible whitespaces)\n    children = children.filter(isNotTextNode);\n    /* istanbul ignore if */\n    if (!children.length) {\n      return\n    }\n\n    // warn multiple elements\n    if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n      warn(\n        '<transition> can only be used on a single element. Use ' +\n        '<transition-group> for lists.',\n        this.$parent\n      );\n    }\n\n    var mode = this.mode;\n\n    // warn invalid mode\n    if (process.env.NODE_ENV !== 'production' &&\n      mode && mode !== 'in-out' && mode !== 'out-in'\n    ) {\n      warn(\n        'invalid <transition> mode: ' + mode,\n        this.$parent\n      );\n    }\n\n    var rawChild = children[0];\n\n    // if this is a component root node and the component's\n    // parent container node also has transition, skip.\n    if (hasParentTransition(this.$vnode)) {\n      return rawChild\n    }\n\n    // apply transition data to child\n    // use getRealChild() to ignore abstract components e.g. keep-alive\n    var child = getRealChild(rawChild);\n    /* istanbul ignore if */\n    if (!child) {\n      return rawChild\n    }\n\n    if (this._leaving) {\n      return placeholder(h, rawChild)\n    }\n\n    // ensure a key that is unique to the vnode type and to this transition\n    // component instance. This key will be used to remove pending leaving nodes\n    // during entering.\n    var id = \"__transition-\" + (this._uid) + \"-\";\n    child.key = child.key == null\n      ? child.isComment\n        ? id + 'comment'\n        : id + child.tag\n      : isPrimitive(child.key)\n        ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n        : child.key;\n\n    var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n    var oldRawChild = this._vnode;\n    var oldChild = getRealChild(oldRawChild);\n\n    // mark v-show\n    // so that the transition module can hand over the control to the directive\n    if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n      child.data.show = true;\n    }\n\n    if (\n      oldChild &&\n      oldChild.data &&\n      !isSameChild(child, oldChild) &&\n      !isAsyncPlaceholder(oldChild) &&\n      // #6687 component root is a comment node\n      !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n    ) {\n      // replace old child transition data with fresh one\n      // important for dynamic transitions!\n      var oldData = oldChild.data.transition = extend({}, data);\n      // handle transition mode\n      if (mode === 'out-in') {\n        // return placeholder node and queue update when leave finishes\n        this._leaving = true;\n        mergeVNodeHook(oldData, 'afterLeave', function () {\n          this$1._leaving = false;\n          this$1.$forceUpdate();\n        });\n        return placeholder(h, rawChild)\n      } else if (mode === 'in-out') {\n        if (isAsyncPlaceholder(child)) {\n          return oldRawChild\n        }\n        var delayedLeave;\n        var performLeave = function () { delayedLeave(); };\n        mergeVNodeHook(data, 'afterEnter', performLeave);\n        mergeVNodeHook(data, 'enterCancelled', performLeave);\n        mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n      }\n    }\n\n    return rawChild\n  }\n};\n\n/*  */\n\nvar props = extend({\n  tag: String,\n  moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n  props: props,\n\n  beforeMount: function beforeMount () {\n    var this$1 = this;\n\n    var update = this._update;\n    this._update = function (vnode, hydrating) {\n      var restoreActiveInstance = setActiveInstance(this$1);\n      // force removing pass\n      this$1.__patch__(\n        this$1._vnode,\n        this$1.kept,\n        false, // hydrating\n        true // removeOnly (!important, avoids unnecessary moves)\n      );\n      this$1._vnode = this$1.kept;\n      restoreActiveInstance();\n      update.call(this$1, vnode, hydrating);\n    };\n  },\n\n  render: function render (h) {\n    var tag = this.tag || this.$vnode.data.tag || 'span';\n    var map = Object.create(null);\n    var prevChildren = this.prevChildren = this.children;\n    var rawChildren = this.$slots.default || [];\n    var children = this.children = [];\n    var transitionData = extractTransitionData(this);\n\n    for (var i = 0; i < rawChildren.length; i++) {\n      var c = rawChildren[i];\n      if (c.tag) {\n        if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n          children.push(c);\n          map[c.key] = c\n          ;(c.data || (c.data = {})).transition = transitionData;\n        } else if (process.env.NODE_ENV !== 'production') {\n          var opts = c.componentOptions;\n          var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n          warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n        }\n      }\n    }\n\n    if (prevChildren) {\n      var kept = [];\n      var removed = [];\n      for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n        var c$1 = prevChildren[i$1];\n        c$1.data.transition = transitionData;\n        c$1.data.pos = c$1.elm.getBoundingClientRect();\n        if (map[c$1.key]) {\n          kept.push(c$1);\n        } else {\n          removed.push(c$1);\n        }\n      }\n      this.kept = h(tag, null, kept);\n      this.removed = removed;\n    }\n\n    return h(tag, null, children)\n  },\n\n  updated: function updated () {\n    var children = this.prevChildren;\n    var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n    if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n      return\n    }\n\n    // we divide the work into three loops to avoid mixing DOM reads and writes\n    // in each iteration - which helps prevent layout thrashing.\n    children.forEach(callPendingCbs);\n    children.forEach(recordPosition);\n    children.forEach(applyTranslation);\n\n    // force reflow to put everything in position\n    // assign to this to avoid being removed in tree-shaking\n    // $flow-disable-line\n    this._reflow = document.body.offsetHeight;\n\n    children.forEach(function (c) {\n      if (c.data.moved) {\n        var el = c.elm;\n        var s = el.style;\n        addTransitionClass(el, moveClass);\n        s.transform = s.WebkitTransform = s.transitionDuration = '';\n        el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n          if (e && e.target !== el) {\n            return\n          }\n          if (!e || /transform$/.test(e.propertyName)) {\n            el.removeEventListener(transitionEndEvent, cb);\n            el._moveCb = null;\n            removeTransitionClass(el, moveClass);\n          }\n        });\n      }\n    });\n  },\n\n  methods: {\n    hasMove: function hasMove (el, moveClass) {\n      /* istanbul ignore if */\n      if (!hasTransition) {\n        return false\n      }\n      /* istanbul ignore if */\n      if (this._hasMove) {\n        return this._hasMove\n      }\n      // Detect whether an element with the move class applied has\n      // CSS transitions. Since the element may be inside an entering\n      // transition at this very moment, we make a clone of it and remove\n      // all other transition classes applied to ensure only the move class\n      // is applied.\n      var clone = el.cloneNode();\n      if (el._transitionClasses) {\n        el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n      }\n      addClass(clone, moveClass);\n      clone.style.display = 'none';\n      this.$el.appendChild(clone);\n      var info = getTransitionInfo(clone);\n      this.$el.removeChild(clone);\n      return (this._hasMove = info.hasTransform)\n    }\n  }\n};\n\nfunction callPendingCbs (c) {\n  /* istanbul ignore if */\n  if (c.elm._moveCb) {\n    c.elm._moveCb();\n  }\n  /* istanbul ignore if */\n  if (c.elm._enterCb) {\n    c.elm._enterCb();\n  }\n}\n\nfunction recordPosition (c) {\n  c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n  var oldPos = c.data.pos;\n  var newPos = c.data.newPos;\n  var dx = oldPos.left - newPos.left;\n  var dy = oldPos.top - newPos.top;\n  if (dx || dy) {\n    c.data.moved = true;\n    var s = c.elm.style;\n    s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n    s.transitionDuration = '0s';\n  }\n}\n\nvar platformComponents = {\n  Transition: Transition,\n  TransitionGroup: TransitionGroup\n};\n\n/*  */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n  el,\n  hydrating\n) {\n  el = el && inBrowser ? query(el) : undefined;\n  return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n  setTimeout(function () {\n    if (config.devtools) {\n      if (devtools) {\n        devtools.emit('init', Vue);\n      } else if (\n        process.env.NODE_ENV !== 'production' &&\n        process.env.NODE_ENV !== 'test'\n      ) {\n        console[console.info ? 'info' : 'log'](\n          'Download the Vue Devtools extension for a better development experience:\\n' +\n          'https://github.com/vuejs/vue-devtools'\n        );\n      }\n    }\n    if (process.env.NODE_ENV !== 'production' &&\n      process.env.NODE_ENV !== 'test' &&\n      config.productionTip !== false &&\n      typeof console !== 'undefined'\n    ) {\n      console[console.info ? 'info' : 'log'](\n        \"You are running Vue in development mode.\\n\" +\n        \"Make sure to turn on production mode when deploying for production.\\n\" +\n        \"See more tips at https://vuejs.org/guide/deployment.html\"\n      );\n    }\n  }, 0);\n}\n\n/*  */\n\nexport default Vue;\n","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installComponents (component, components) {\n  var options = typeof component.exports === 'function'\n    ? component.exports.extendOptions\n    : component.options\n\n  if (typeof component.exports === 'function') {\n    options.components = component.exports.options.components\n  }\n\n  options.components = options.components || {}\n\n  for (var i in components) {\n    options.components[i] = options.components[i] || components[i]\n  }\n}\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n  let id = 0;\n  return function() {\n    return id++;\n  };\n}());\nfunction isNullOrUndef(value) {\n  return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n  if (Array.isArray && Array.isArray(value)) {\n    return true;\n  }\n  const type = Object.prototype.toString.call(value);\n  if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n    return true;\n  }\n  return false;\n}\nfunction isObject(value) {\n  return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n  return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n  return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n  typeof value === 'string' && value.endsWith('%') ?\n    parseFloat(value) / 100\n    : value / dimension;\nconst toDimension = (value, dimension) =>\n  typeof value === 'string' && value.endsWith('%') ?\n    parseFloat(value) / 100 * dimension\n    : +value;\nfunction callback(fn, args, thisArg) {\n  if (fn && typeof fn.call === 'function') {\n    return fn.apply(thisArg, args);\n  }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n  let i, len, keys;\n  if (isArray(loopable)) {\n    len = loopable.length;\n    if (reverse) {\n      for (i = len - 1; i >= 0; i--) {\n        fn.call(thisArg, loopable[i], i);\n      }\n    } else {\n      for (i = 0; i < len; i++) {\n        fn.call(thisArg, loopable[i], i);\n      }\n    }\n  } else if (isObject(loopable)) {\n    keys = Object.keys(loopable);\n    len = keys.length;\n    for (i = 0; i < len; i++) {\n      fn.call(thisArg, loopable[keys[i]], keys[i]);\n    }\n  }\n}\nfunction _elementsEqual(a0, a1) {\n  let i, ilen, v0, v1;\n  if (!a0 || !a1 || a0.length !== a1.length) {\n    return false;\n  }\n  for (i = 0, ilen = a0.length; i < ilen; ++i) {\n    v0 = a0[i];\n    v1 = a1[i];\n    if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction clone$1(source) {\n  if (isArray(source)) {\n    return source.map(clone$1);\n  }\n  if (isObject(source)) {\n    const target = Object.create(null);\n    const keys = Object.keys(source);\n    const klen = keys.length;\n    let k = 0;\n    for (; k < klen; ++k) {\n      target[keys[k]] = clone$1(source[keys[k]]);\n    }\n    return target;\n  }\n  return source;\n}\nfunction isValidKey(key) {\n  return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n  if (!isValidKey(key)) {\n    return;\n  }\n  const tval = target[key];\n  const sval = source[key];\n  if (isObject(tval) && isObject(sval)) {\n    merge(tval, sval, options);\n  } else {\n    target[key] = clone$1(sval);\n  }\n}\nfunction merge(target, source, options) {\n  const sources = isArray(source) ? source : [source];\n  const ilen = sources.length;\n  if (!isObject(target)) {\n    return target;\n  }\n  options = options || {};\n  const merger = options.merger || _merger;\n  for (let i = 0; i < ilen; ++i) {\n    source = sources[i];\n    if (!isObject(source)) {\n      continue;\n    }\n    const keys = Object.keys(source);\n    for (let k = 0, klen = keys.length; k < klen; ++k) {\n      merger(keys[k], target, source, options);\n    }\n  }\n  return target;\n}\nfunction mergeIf(target, source) {\n  return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n  if (!isValidKey(key)) {\n    return;\n  }\n  const tval = target[key];\n  const sval = source[key];\n  if (isObject(tval) && isObject(sval)) {\n    mergeIf(tval, sval);\n  } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n    target[key] = clone$1(sval);\n  }\n}\nfunction _deprecated(scope, value, previous, current) {\n  if (value !== undefined) {\n    console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n  }\n}\nconst keyResolvers = {\n  '': v => v,\n  x: o => o.x,\n  y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n  const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n  return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n  const keys = _splitKey(key);\n  return obj => {\n    for (const k of keys) {\n      if (k === '') {\n        break;\n      }\n      obj = obj && obj[k];\n    }\n    return obj;\n  };\n}\nfunction _splitKey(key) {\n  const parts = key.split('.');\n  const keys = [];\n  let tmp = '';\n  for (const part of parts) {\n    tmp += part;\n    if (tmp.endsWith('\\\\')) {\n      tmp = tmp.slice(0, -1) + '.';\n    } else {\n      keys.push(tmp);\n      tmp = '';\n    }\n  }\n  return keys;\n}\nfunction _capitalize(str) {\n  return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n  if (a.size !== b.size) {\n    return false;\n  }\n  for (const item of a) {\n    if (!b.has(item)) {\n      return false;\n    }\n  }\n  return true;\n};\nfunction _isClickEvent(e) {\n  return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n  const roundedRange = Math.round(range);\n  range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n  const niceRange = Math.pow(10, Math.floor(log10(range)));\n  const fraction = range / niceRange;\n  const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n  return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n  const result = [];\n  const sqrt = Math.sqrt(value);\n  let i;\n  for (i = 1; i < sqrt; i++) {\n    if (value % i === 0) {\n      result.push(i);\n      result.push(value / i);\n    }\n  }\n  if (sqrt === (sqrt | 0)) {\n    result.push(sqrt);\n  }\n  result.sort((a, b) => a - b).pop();\n  return result;\n}\nfunction isNumber(n) {\n  return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n  return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n  const rounded = Math.round(x);\n  return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n  let i, ilen, value;\n  for (i = 0, ilen = array.length; i < ilen; i++) {\n    value = array[i][property];\n    if (!isNaN(value)) {\n      target.min = Math.min(target.min, value);\n      target.max = Math.max(target.max, value);\n    }\n  }\n}\nfunction toRadians(degrees) {\n  return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n  return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n  if (!isNumberFinite(x)) {\n    return;\n  }\n  let e = 1;\n  let p = 0;\n  while (Math.round(x * e) / e !== x) {\n    e *= 10;\n    p++;\n  }\n  return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n  const distanceFromXCenter = anglePoint.x - centrePoint.x;\n  const distanceFromYCenter = anglePoint.y - centrePoint.y;\n  const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n  let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n  if (angle < (-0.5 * PI)) {\n    angle += TAU;\n  }\n  return {\n    angle,\n    distance: radialDistanceFromCenter\n  };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n  return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n  return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n  return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n  const a = _normalizeAngle(angle);\n  const s = _normalizeAngle(start);\n  const e = _normalizeAngle(end);\n  const angleToStart = _normalizeAngle(s - a);\n  const angleToEnd = _normalizeAngle(e - a);\n  const startToAngle = _normalizeAngle(a - s);\n  const endToAngle = _normalizeAngle(a - e);\n  return a === s || a === e || (sameAngleIsFullCircle && s === e)\n    || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n  return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n  return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n  return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n  cmp = cmp || ((index) => table[index] < value);\n  let hi = table.length - 1;\n  let lo = 0;\n  let mid;\n  while (hi - lo > 1) {\n    mid = (lo + hi) >> 1;\n    if (cmp(mid)) {\n      lo = mid;\n    } else {\n      hi = mid;\n    }\n  }\n  return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n  _lookup(table, value, last\n    ? index => table[index][key] <= value\n    : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n  _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n  let start = 0;\n  let end = values.length;\n  while (start < end && values[start] < min) {\n    start++;\n  }\n  while (end > start && values[end - 1] > max) {\n    end--;\n  }\n  return start > 0 || end < values.length\n    ? values.slice(start, end)\n    : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n  if (array._chartjs) {\n    array._chartjs.listeners.push(listener);\n    return;\n  }\n  Object.defineProperty(array, '_chartjs', {\n    configurable: true,\n    enumerable: false,\n    value: {\n      listeners: [listener]\n    }\n  });\n  arrayEvents.forEach((key) => {\n    const method = '_onData' + _capitalize(key);\n    const base = array[key];\n    Object.defineProperty(array, key, {\n      configurable: true,\n      enumerable: false,\n      value(...args) {\n        const res = base.apply(this, args);\n        array._chartjs.listeners.forEach((object) => {\n          if (typeof object[method] === 'function') {\n            object[method](...args);\n          }\n        });\n        return res;\n      }\n    });\n  });\n}\nfunction unlistenArrayEvents(array, listener) {\n  const stub = array._chartjs;\n  if (!stub) {\n    return;\n  }\n  const listeners = stub.listeners;\n  const index = listeners.indexOf(listener);\n  if (index !== -1) {\n    listeners.splice(index, 1);\n  }\n  if (listeners.length > 0) {\n    return;\n  }\n  arrayEvents.forEach((key) => {\n    delete array[key];\n  });\n  delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n  const set = new Set();\n  let i, ilen;\n  for (i = 0, ilen = items.length; i < ilen; ++i) {\n    set.add(items[i]);\n  }\n  if (set.size === ilen) {\n    return items;\n  }\n  return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n  return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n  if (typeof window === 'undefined') {\n    return function(callback) {\n      return callback();\n    };\n  }\n  return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n  const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n  let ticking = false;\n  let args = [];\n  return function(...rest) {\n    args = updateArgs(rest);\n    if (!ticking) {\n      ticking = true;\n      requestAnimFrame.call(window, () => {\n        ticking = false;\n        fn.apply(thisArg, args);\n      });\n    }\n  };\n}\nfunction debounce(fn, delay) {\n  let timeout;\n  return function(...args) {\n    if (delay) {\n      clearTimeout(timeout);\n      timeout = setTimeout(fn, delay, args);\n    } else {\n      fn.apply(this, args);\n    }\n    return delay;\n  };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n  const check = rtl ? 'left' : 'right';\n  return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n  const pointCount = points.length;\n  let start = 0;\n  let count = pointCount;\n  if (meta._sorted) {\n    const {iScale, _parsed} = meta;\n    const axis = iScale.axis;\n    const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n    if (minDefined) {\n      start = _limitValue(Math.min(\n        _lookupByKey(_parsed, iScale.axis, min).lo,\n        animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n      0, pointCount - 1);\n    }\n    if (maxDefined) {\n      count = _limitValue(Math.max(\n        _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n        animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n      start, pointCount) - start;\n    } else {\n      count = pointCount - start;\n    }\n  }\n  return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n  const {xScale, yScale, _scaleRanges} = meta;\n  const newRanges = {\n    xmin: xScale.min,\n    xmax: xScale.max,\n    ymin: yScale.min,\n    ymax: yScale.max\n  };\n  if (!_scaleRanges) {\n    meta._scaleRanges = newRanges;\n    return true;\n  }\n  const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n  Object.assign(_scaleRanges, newRanges);\n  return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n  linear: t => t,\n  easeInQuad: t => t * t,\n  easeOutQuad: t => -t * (t - 2),\n  easeInOutQuad: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t\n    : -0.5 * ((--t) * (t - 2) - 1),\n  easeInCubic: t => t * t * t,\n  easeOutCubic: t => (t -= 1) * t * t + 1,\n  easeInOutCubic: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t\n    : 0.5 * ((t -= 2) * t * t + 2),\n  easeInQuart: t => t * t * t * t,\n  easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n  easeInOutQuart: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t * t\n    : -0.5 * ((t -= 2) * t * t * t - 2),\n  easeInQuint: t => t * t * t * t * t,\n  easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n  easeInOutQuint: t => ((t /= 0.5) < 1)\n    ? 0.5 * t * t * t * t * t\n    : 0.5 * ((t -= 2) * t * t * t * t + 2),\n  easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n  easeOutSine: t => Math.sin(t * HALF_PI),\n  easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n  easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n  easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n  easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n    ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n    : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n  easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n  easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n  easeInOutCirc: t => ((t /= 0.5) < 1)\n    ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n    : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n  easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n  easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n  easeInOutElastic(t) {\n    const s = 0.1125;\n    const p = 0.45;\n    return atEdge(t) ? t :\n      t < 0.5\n        ? 0.5 * elasticIn(t * 2, s, p)\n        : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n  },\n  easeInBack(t) {\n    const s = 1.70158;\n    return t * t * ((s + 1) * t - s);\n  },\n  easeOutBack(t) {\n    const s = 1.70158;\n    return (t -= 1) * t * ((s + 1) * t + s) + 1;\n  },\n  easeInOutBack(t) {\n    let s = 1.70158;\n    if ((t /= 0.5) < 1) {\n      return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n    }\n    return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n  },\n  easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n  easeOutBounce(t) {\n    const m = 7.5625;\n    const d = 2.75;\n    if (t < (1 / d)) {\n      return m * t * t;\n    }\n    if (t < (2 / d)) {\n      return m * (t -= (1.5 / d)) * t + 0.75;\n    }\n    if (t < (2.5 / d)) {\n      return m * (t -= (2.25 / d)) * t + 0.9375;\n    }\n    return m * (t -= (2.625 / d)) * t + 0.984375;\n  },\n  easeInOutBounce: t => (t < 0.5)\n    ? effects.easeInBounce(t * 2) * 0.5\n    : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n  return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n  return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n  return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n  return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n  return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n  var len = str.length;\n  var ret;\n  if (str[0] === '#') {\n    if (len === 4 || len === 5) {\n      ret = {\n        r: 255 & map$1[str[1]] * 17,\n        g: 255 & map$1[str[2]] * 17,\n        b: 255 & map$1[str[3]] * 17,\n        a: len === 5 ? map$1[str[4]] * 17 : 255\n      };\n    } else if (len === 7 || len === 9) {\n      ret = {\n        r: map$1[str[1]] << 4 | map$1[str[2]],\n        g: map$1[str[3]] << 4 | map$1[str[4]],\n        b: map$1[str[5]] << 4 | map$1[str[6]],\n        a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n      };\n    }\n  }\n  return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n  var f = isShort(v) ? h1 : h2;\n  return v\n    ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n    : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n  const a = s * Math.min(l, 1 - l);\n  const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n  return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n  const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n  return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n  const rgb = hsl2rgbn(h, 1, 0.5);\n  let i;\n  if (w + b > 1) {\n    i = 1 / (w + b);\n    w *= i;\n    b *= i;\n  }\n  for (i = 0; i < 3; i++) {\n    rgb[i] *= 1 - w - b;\n    rgb[i] += w;\n  }\n  return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n  if (r === max) {\n    return ((g - b) / d) + (g < b ? 6 : 0);\n  }\n  if (g === max) {\n    return (b - r) / d + 2;\n  }\n  return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n  const range = 255;\n  const r = v.r / range;\n  const g = v.g / range;\n  const b = v.b / range;\n  const max = Math.max(r, g, b);\n  const min = Math.min(r, g, b);\n  const l = (max + min) / 2;\n  let h, s, d;\n  if (max !== min) {\n    d = max - min;\n    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n    h = hueValue(r, g, b, d, max);\n    h = h * 60 + 0.5;\n  }\n  return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n  return (\n    Array.isArray(a)\n      ? f(a[0], a[1], a[2])\n      : f(a, b, c)\n  ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n  return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n  return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n  return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n  return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n  const m = HUE_RE.exec(str);\n  let a = 255;\n  let v;\n  if (!m) {\n    return;\n  }\n  if (m[5] !== v) {\n    a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n  }\n  const h = hue(+m[2]);\n  const p1 = +m[3] / 100;\n  const p2 = +m[4] / 100;\n  if (m[1] === 'hwb') {\n    v = hwb2rgb(h, p1, p2);\n  } else if (m[1] === 'hsv') {\n    v = hsv2rgb(h, p1, p2);\n  } else {\n    v = hsl2rgb(h, p1, p2);\n  }\n  return {\n    r: v[0],\n    g: v[1],\n    b: v[2],\n    a: a\n  };\n}\nfunction rotate(v, deg) {\n  var h = rgb2hsl(v);\n  h[0] = hue(h[0] + deg);\n  h = hsl2rgb(h);\n  v.r = h[0];\n  v.g = h[1];\n  v.b = h[2];\n}\nfunction hslString(v) {\n  if (!v) {\n    return;\n  }\n  const a = rgb2hsl(v);\n  const h = a[0];\n  const s = n2p(a[1]);\n  const l = n2p(a[2]);\n  return v.a < 255\n    ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n    : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n  x: 'dark',\n  Z: 'light',\n  Y: 're',\n  X: 'blu',\n  W: 'gr',\n  V: 'medium',\n  U: 'slate',\n  A: 'ee',\n  T: 'ol',\n  S: 'or',\n  B: 'ra',\n  C: 'lateg',\n  D: 'ights',\n  R: 'in',\n  Q: 'turquois',\n  E: 'hi',\n  P: 'ro',\n  O: 'al',\n  N: 'le',\n  M: 'de',\n  L: 'yello',\n  F: 'en',\n  K: 'ch',\n  G: 'arks',\n  H: 'ea',\n  I: 'ightg',\n  J: 'wh'\n};\nconst names$1 = {\n  OiceXe: 'f0f8ff',\n  antiquewEte: 'faebd7',\n  aqua: 'ffff',\n  aquamarRe: '7fffd4',\n  azuY: 'f0ffff',\n  beige: 'f5f5dc',\n  bisque: 'ffe4c4',\n  black: '0',\n  blanKedOmond: 'ffebcd',\n  Xe: 'ff',\n  XeviTet: '8a2be2',\n  bPwn: 'a52a2a',\n  burlywood: 'deb887',\n  caMtXe: '5f9ea0',\n  KartYuse: '7fff00',\n  KocTate: 'd2691e',\n  cSO: 'ff7f50',\n  cSnflowerXe: '6495ed',\n  cSnsilk: 'fff8dc',\n  crimson: 'dc143c',\n  cyan: 'ffff',\n  xXe: '8b',\n  xcyan: '8b8b',\n  xgTMnPd: 'b8860b',\n  xWay: 'a9a9a9',\n  xgYF: '6400',\n  xgYy: 'a9a9a9',\n  xkhaki: 'bdb76b',\n  xmagFta: '8b008b',\n  xTivegYF: '556b2f',\n  xSange: 'ff8c00',\n  xScEd: '9932cc',\n  xYd: '8b0000',\n  xsOmon: 'e9967a',\n  xsHgYF: '8fbc8f',\n  xUXe: '483d8b',\n  xUWay: '2f4f4f',\n  xUgYy: '2f4f4f',\n  xQe: 'ced1',\n  xviTet: '9400d3',\n  dAppRk: 'ff1493',\n  dApskyXe: 'bfff',\n  dimWay: '696969',\n  dimgYy: '696969',\n  dodgerXe: '1e90ff',\n  fiYbrick: 'b22222',\n  flSOwEte: 'fffaf0',\n  foYstWAn: '228b22',\n  fuKsia: 'ff00ff',\n  gaRsbSo: 'dcdcdc',\n  ghostwEte: 'f8f8ff',\n  gTd: 'ffd700',\n  gTMnPd: 'daa520',\n  Way: '808080',\n  gYF: '8000',\n  gYFLw: 'adff2f',\n  gYy: '808080',\n  honeyMw: 'f0fff0',\n  hotpRk: 'ff69b4',\n  RdianYd: 'cd5c5c',\n  Rdigo: '4b0082',\n  ivSy: 'fffff0',\n  khaki: 'f0e68c',\n  lavFMr: 'e6e6fa',\n  lavFMrXsh: 'fff0f5',\n  lawngYF: '7cfc00',\n  NmoncEffon: 'fffacd',\n  ZXe: 'add8e6',\n  ZcSO: 'f08080',\n  Zcyan: 'e0ffff',\n  ZgTMnPdLw: 'fafad2',\n  ZWay: 'd3d3d3',\n  ZgYF: '90ee90',\n  ZgYy: 'd3d3d3',\n  ZpRk: 'ffb6c1',\n  ZsOmon: 'ffa07a',\n  ZsHgYF: '20b2aa',\n  ZskyXe: '87cefa',\n  ZUWay: '778899',\n  ZUgYy: '778899',\n  ZstAlXe: 'b0c4de',\n  ZLw: 'ffffe0',\n  lime: 'ff00',\n  limegYF: '32cd32',\n  lRF: 'faf0e6',\n  magFta: 'ff00ff',\n  maPon: '800000',\n  VaquamarRe: '66cdaa',\n  VXe: 'cd',\n  VScEd: 'ba55d3',\n  VpurpN: '9370db',\n  VsHgYF: '3cb371',\n  VUXe: '7b68ee',\n  VsprRggYF: 'fa9a',\n  VQe: '48d1cc',\n  VviTetYd: 'c71585',\n  midnightXe: '191970',\n  mRtcYam: 'f5fffa',\n  mistyPse: 'ffe4e1',\n  moccasR: 'ffe4b5',\n  navajowEte: 'ffdead',\n  navy: '80',\n  Tdlace: 'fdf5e6',\n  Tive: '808000',\n  TivedBb: '6b8e23',\n  Sange: 'ffa500',\n  SangeYd: 'ff4500',\n  ScEd: 'da70d6',\n  pOegTMnPd: 'eee8aa',\n  pOegYF: '98fb98',\n  pOeQe: 'afeeee',\n  pOeviTetYd: 'db7093',\n  papayawEp: 'ffefd5',\n  pHKpuff: 'ffdab9',\n  peru: 'cd853f',\n  pRk: 'ffc0cb',\n  plum: 'dda0dd',\n  powMrXe: 'b0e0e6',\n  purpN: '800080',\n  YbeccapurpN: '663399',\n  Yd: 'ff0000',\n  Psybrown: 'bc8f8f',\n  PyOXe: '4169e1',\n  saddNbPwn: '8b4513',\n  sOmon: 'fa8072',\n  sandybPwn: 'f4a460',\n  sHgYF: '2e8b57',\n  sHshell: 'fff5ee',\n  siFna: 'a0522d',\n  silver: 'c0c0c0',\n  skyXe: '87ceeb',\n  UXe: '6a5acd',\n  UWay: '708090',\n  UgYy: '708090',\n  snow: 'fffafa',\n  sprRggYF: 'ff7f',\n  stAlXe: '4682b4',\n  tan: 'd2b48c',\n  teO: '8080',\n  tEstN: 'd8bfd8',\n  tomato: 'ff6347',\n  Qe: '40e0d0',\n  viTet: 'ee82ee',\n  JHt: 'f5deb3',\n  wEte: 'ffffff',\n  wEtesmoke: 'f5f5f5',\n  Lw: 'ffff00',\n  LwgYF: '9acd32'\n};\nfunction unpack() {\n  const unpacked = {};\n  const keys = Object.keys(names$1);\n  const tkeys = Object.keys(map);\n  let i, j, k, ok, nk;\n  for (i = 0; i < keys.length; i++) {\n    ok = nk = keys[i];\n    for (j = 0; j < tkeys.length; j++) {\n      k = tkeys[j];\n      nk = nk.replace(k, map[k]);\n    }\n    k = parseInt(names$1[ok], 16);\n    unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n  }\n  return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n  if (!names) {\n    names = unpack();\n    names.transparent = [0, 0, 0, 0];\n  }\n  const a = names[str.toLowerCase()];\n  return a && {\n    r: a[0],\n    g: a[1],\n    b: a[2],\n    a: a.length === 4 ? a[3] : 255\n  };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n  const m = RGB_RE.exec(str);\n  let a = 255;\n  let r, g, b;\n  if (!m) {\n    return;\n  }\n  if (m[7] !== r) {\n    const v = +m[7];\n    a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n  }\n  r = +m[1];\n  g = +m[3];\n  b = +m[5];\n  r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n  g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n  b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n  return {\n    r: r,\n    g: g,\n    b: b,\n    a: a\n  };\n}\nfunction rgbString(v) {\n  return v && (\n    v.a < 255\n      ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n      : `rgb(${v.r}, ${v.g}, ${v.b})`\n  );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n  const r = from(b2n(rgb1.r));\n  const g = from(b2n(rgb1.g));\n  const b = from(b2n(rgb1.b));\n  return {\n    r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n    g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n    b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n    a: rgb1.a + t * (rgb2.a - rgb1.a)\n  };\n}\nfunction modHSL(v, i, ratio) {\n  if (v) {\n    let tmp = rgb2hsl(v);\n    tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n    tmp = hsl2rgb(tmp);\n    v.r = tmp[0];\n    v.g = tmp[1];\n    v.b = tmp[2];\n  }\n}\nfunction clone(v, proto) {\n  return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n  var v = {r: 0, g: 0, b: 0, a: 255};\n  if (Array.isArray(input)) {\n    if (input.length >= 3) {\n      v = {r: input[0], g: input[1], b: input[2], a: 255};\n      if (input.length > 3) {\n        v.a = n2b(input[3]);\n      }\n    }\n  } else {\n    v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n    v.a = n2b(v.a);\n  }\n  return v;\n}\nfunction functionParse(str) {\n  if (str.charAt(0) === 'r') {\n    return rgbParse(str);\n  }\n  return hueParse(str);\n}\nclass Color {\n  constructor(input) {\n    if (input instanceof Color) {\n      return input;\n    }\n    const type = typeof input;\n    let v;\n    if (type === 'object') {\n      v = fromObject(input);\n    } else if (type === 'string') {\n      v = hexParse(input) || nameParse(input) || functionParse(input);\n    }\n    this._rgb = v;\n    this._valid = !!v;\n  }\n  get valid() {\n    return this._valid;\n  }\n  get rgb() {\n    var v = clone(this._rgb);\n    if (v) {\n      v.a = b2n(v.a);\n    }\n    return v;\n  }\n  set rgb(obj) {\n    this._rgb = fromObject(obj);\n  }\n  rgbString() {\n    return this._valid ? rgbString(this._rgb) : undefined;\n  }\n  hexString() {\n    return this._valid ? hexString(this._rgb) : undefined;\n  }\n  hslString() {\n    return this._valid ? hslString(this._rgb) : undefined;\n  }\n  mix(color, weight) {\n    if (color) {\n      const c1 = this.rgb;\n      const c2 = color.rgb;\n      let w2;\n      const p = weight === w2 ? 0.5 : weight;\n      const w = 2 * p - 1;\n      const a = c1.a - c2.a;\n      const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n      w2 = 1 - w1;\n      c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n      c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n      c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n      c1.a = p * c1.a + (1 - p) * c2.a;\n      this.rgb = c1;\n    }\n    return this;\n  }\n  interpolate(color, t) {\n    if (color) {\n      this._rgb = interpolate(this._rgb, color._rgb, t);\n    }\n    return this;\n  }\n  clone() {\n    return new Color(this.rgb);\n  }\n  alpha(a) {\n    this._rgb.a = n2b(a);\n    return this;\n  }\n  clearer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 - ratio;\n    return this;\n  }\n  greyscale() {\n    const rgb = this._rgb;\n    const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n    rgb.r = rgb.g = rgb.b = val;\n    return this;\n  }\n  opaquer(ratio) {\n    const rgb = this._rgb;\n    rgb.a *= 1 + ratio;\n    return this;\n  }\n  negate() {\n    const v = this._rgb;\n    v.r = 255 - v.r;\n    v.g = 255 - v.g;\n    v.b = 255 - v.b;\n    return this;\n  }\n  lighten(ratio) {\n    modHSL(this._rgb, 2, ratio);\n    return this;\n  }\n  darken(ratio) {\n    modHSL(this._rgb, 2, -ratio);\n    return this;\n  }\n  saturate(ratio) {\n    modHSL(this._rgb, 1, ratio);\n    return this;\n  }\n  desaturate(ratio) {\n    modHSL(this._rgb, 1, -ratio);\n    return this;\n  }\n  rotate(deg) {\n    rotate(this._rgb, deg);\n    return this;\n  }\n}\nfunction index_esm(input) {\n  return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n  if (value && typeof value === 'object') {\n    const type = value.toString();\n    return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n  }\n  return false;\n}\nfunction color(value) {\n  return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n  return isPatternOrGradient(value)\n    ? value\n    : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n  if (!key) {\n    return node;\n  }\n  const keys = key.split('.');\n  for (let i = 0, n = keys.length; i < n; ++i) {\n    const k = keys[i];\n    node = node[k] || (node[k] = Object.create(null));\n  }\n  return node;\n}\nfunction set(root, scope, values) {\n  if (typeof scope === 'string') {\n    return merge(getScope$1(root, scope), values);\n  }\n  return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n  constructor(_descriptors) {\n    this.animation = undefined;\n    this.backgroundColor = 'rgba(0,0,0,0.1)';\n    this.borderColor = 'rgba(0,0,0,0.1)';\n    this.color = '#666';\n    this.datasets = {};\n    this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n    this.elements = {};\n    this.events = [\n      'mousemove',\n      'mouseout',\n      'click',\n      'touchstart',\n      'touchmove'\n    ];\n    this.font = {\n      family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n      size: 12,\n      style: 'normal',\n      lineHeight: 1.2,\n      weight: null\n    };\n    this.hover = {};\n    this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n    this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n    this.hoverColor = (ctx, options) => getHoverColor(options.color);\n    this.indexAxis = 'x';\n    this.interaction = {\n      mode: 'nearest',\n      intersect: true,\n      includeInvisible: false\n    };\n    this.maintainAspectRatio = true;\n    this.onHover = null;\n    this.onClick = null;\n    this.parsing = true;\n    this.plugins = {};\n    this.responsive = true;\n    this.scale = undefined;\n    this.scales = {};\n    this.showLine = true;\n    this.drawActiveElementsOnTop = true;\n    this.describe(_descriptors);\n  }\n  set(scope, values) {\n    return set(this, scope, values);\n  }\n  get(scope) {\n    return getScope$1(this, scope);\n  }\n  describe(scope, values) {\n    return set(descriptors, scope, values);\n  }\n  override(scope, values) {\n    return set(overrides, scope, values);\n  }\n  route(scope, name, targetScope, targetName) {\n    const scopeObject = getScope$1(this, scope);\n    const targetScopeObject = getScope$1(this, targetScope);\n    const privateName = '_' + name;\n    Object.defineProperties(scopeObject, {\n      [privateName]: {\n        value: scopeObject[name],\n        writable: true\n      },\n      [name]: {\n        enumerable: true,\n        get() {\n          const local = this[privateName];\n          const target = targetScopeObject[targetName];\n          if (isObject(local)) {\n            return Object.assign({}, target, local);\n          }\n          return valueOrDefault(local, target);\n        },\n        set(value) {\n          this[privateName] = value;\n        }\n      }\n    });\n  }\n}\nvar defaults = new Defaults({\n  _scriptable: (name) => !name.startsWith('on'),\n  _indexable: (name) => name !== 'events',\n  hover: {\n    _fallback: 'interaction'\n  },\n  interaction: {\n    _scriptable: false,\n    _indexable: false,\n  }\n});\n\nfunction toFontString(font) {\n  if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n    return null;\n  }\n  return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n  let textWidth = data[string];\n  if (!textWidth) {\n    textWidth = data[string] = ctx.measureText(string).width;\n    gc.push(string);\n  }\n  if (textWidth > longest) {\n    longest = textWidth;\n  }\n  return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n  cache = cache || {};\n  let data = cache.data = cache.data || {};\n  let gc = cache.garbageCollect = cache.garbageCollect || [];\n  if (cache.font !== font) {\n    data = cache.data = {};\n    gc = cache.garbageCollect = [];\n    cache.font = font;\n  }\n  ctx.save();\n  ctx.font = font;\n  let longest = 0;\n  const ilen = arrayOfThings.length;\n  let i, j, jlen, thing, nestedThing;\n  for (i = 0; i < ilen; i++) {\n    thing = arrayOfThings[i];\n    if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n      longest = _measureText(ctx, data, gc, longest, thing);\n    } else if (isArray(thing)) {\n      for (j = 0, jlen = thing.length; j < jlen; j++) {\n        nestedThing = thing[j];\n        if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n          longest = _measureText(ctx, data, gc, longest, nestedThing);\n        }\n      }\n    }\n  }\n  ctx.restore();\n  const gcLen = gc.length / 2;\n  if (gcLen > arrayOfThings.length) {\n    for (i = 0; i < gcLen; i++) {\n      delete data[gc[i]];\n    }\n    gc.splice(0, gcLen);\n  }\n  return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n  const devicePixelRatio = chart.currentDevicePixelRatio;\n  const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n  return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n  ctx = ctx || canvas.getContext('2d');\n  ctx.save();\n  ctx.resetTransform();\n  ctx.clearRect(0, 0, canvas.width, canvas.height);\n  ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n  drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n  let type, xOffset, yOffset, size, cornerRadius, width;\n  const style = options.pointStyle;\n  const rotation = options.rotation;\n  const radius = options.radius;\n  let rad = (rotation || 0) * RAD_PER_DEG;\n  if (style && typeof style === 'object') {\n    type = style.toString();\n    if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n      ctx.save();\n      ctx.translate(x, y);\n      ctx.rotate(rad);\n      ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n      ctx.restore();\n      return;\n    }\n  }\n  if (isNaN(radius) || radius <= 0) {\n    return;\n  }\n  ctx.beginPath();\n  switch (style) {\n  default:\n    if (w) {\n      ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n    } else {\n      ctx.arc(x, y, radius, 0, TAU);\n    }\n    ctx.closePath();\n    break;\n  case 'triangle':\n    ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    rad += TWO_THIRDS_PI;\n    ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    rad += TWO_THIRDS_PI;\n    ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n    ctx.closePath();\n    break;\n  case 'rectRounded':\n    cornerRadius = radius * 0.516;\n    size = radius - cornerRadius;\n    xOffset = Math.cos(rad + QUARTER_PI) * size;\n    yOffset = Math.sin(rad + QUARTER_PI) * size;\n    ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n    ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n    ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n    ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n    ctx.closePath();\n    break;\n  case 'rect':\n    if (!rotation) {\n      size = Math.SQRT1_2 * radius;\n      width = w ? w / 2 : size;\n      ctx.rect(x - width, y - size, 2 * width, 2 * size);\n      break;\n    }\n    rad += QUARTER_PI;\n  case 'rectRot':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    ctx.closePath();\n    break;\n  case 'crossRot':\n    rad += QUARTER_PI;\n  case 'cross':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    break;\n  case 'star':\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    rad += QUARTER_PI;\n    xOffset = Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    ctx.moveTo(x + yOffset, y - xOffset);\n    ctx.lineTo(x - yOffset, y + xOffset);\n    break;\n  case 'line':\n    xOffset = w ? w / 2 : Math.cos(rad) * radius;\n    yOffset = Math.sin(rad) * radius;\n    ctx.moveTo(x - xOffset, y - yOffset);\n    ctx.lineTo(x + xOffset, y + yOffset);\n    break;\n  case 'dash':\n    ctx.moveTo(x, y);\n    ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n    break;\n  }\n  ctx.fill();\n  if (options.borderWidth > 0) {\n    ctx.stroke();\n  }\n}\nfunction _isPointInArea(point, area, margin) {\n  margin = margin || 0.5;\n  return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n  ctx.save();\n  ctx.beginPath();\n  ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n  ctx.clip();\n}\nfunction unclipArea(ctx) {\n  ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n  if (!previous) {\n    return ctx.lineTo(target.x, target.y);\n  }\n  if (mode === 'middle') {\n    const midpoint = (previous.x + target.x) / 2.0;\n    ctx.lineTo(midpoint, previous.y);\n    ctx.lineTo(midpoint, target.y);\n  } else if (mode === 'after' !== !!flip) {\n    ctx.lineTo(previous.x, target.y);\n  } else {\n    ctx.lineTo(target.x, previous.y);\n  }\n  ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n  if (!previous) {\n    return ctx.lineTo(target.x, target.y);\n  }\n  ctx.bezierCurveTo(\n    flip ? previous.cp1x : previous.cp2x,\n    flip ? previous.cp1y : previous.cp2y,\n    flip ? target.cp2x : target.cp1x,\n    flip ? target.cp2y : target.cp1y,\n    target.x,\n    target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n  const lines = isArray(text) ? text : [text];\n  const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n  let i, line;\n  ctx.save();\n  ctx.font = font.string;\n  setRenderOpts(ctx, opts);\n  for (i = 0; i < lines.length; ++i) {\n    line = lines[i];\n    if (stroke) {\n      if (opts.strokeColor) {\n        ctx.strokeStyle = opts.strokeColor;\n      }\n      if (!isNullOrUndef(opts.strokeWidth)) {\n        ctx.lineWidth = opts.strokeWidth;\n      }\n      ctx.strokeText(line, x, y, opts.maxWidth);\n    }\n    ctx.fillText(line, x, y, opts.maxWidth);\n    decorateText(ctx, x, y, line, opts);\n    y += font.lineHeight;\n  }\n  ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n  if (opts.translation) {\n    ctx.translate(opts.translation[0], opts.translation[1]);\n  }\n  if (!isNullOrUndef(opts.rotation)) {\n    ctx.rotate(opts.rotation);\n  }\n  if (opts.color) {\n    ctx.fillStyle = opts.color;\n  }\n  if (opts.textAlign) {\n    ctx.textAlign = opts.textAlign;\n  }\n  if (opts.textBaseline) {\n    ctx.textBaseline = opts.textBaseline;\n  }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n  if (opts.strikethrough || opts.underline) {\n    const metrics = ctx.measureText(line);\n    const left = x - metrics.actualBoundingBoxLeft;\n    const right = x + metrics.actualBoundingBoxRight;\n    const top = y - metrics.actualBoundingBoxAscent;\n    const bottom = y + metrics.actualBoundingBoxDescent;\n    const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n    ctx.strokeStyle = ctx.fillStyle;\n    ctx.beginPath();\n    ctx.lineWidth = opts.decorationWidth || 2;\n    ctx.moveTo(left, yDecoration);\n    ctx.lineTo(right, yDecoration);\n    ctx.stroke();\n  }\n}\nfunction addRoundedRectPath(ctx, rect) {\n  const {x, y, w, h, radius} = rect;\n  ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n  ctx.lineTo(x, y + h - radius.bottomLeft);\n  ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n  ctx.lineTo(x + w - radius.bottomRight, y + h);\n  ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n  ctx.lineTo(x + w, y + radius.topRight);\n  ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n  ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n  const matches = ('' + value).match(LINE_HEIGHT);\n  if (!matches || matches[1] === 'normal') {\n    return size * 1.2;\n  }\n  value = +matches[2];\n  switch (matches[3]) {\n  case 'px':\n    return value;\n  case '%':\n    value /= 100;\n    break;\n  }\n  return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n  const ret = {};\n  const objProps = isObject(props);\n  const keys = objProps ? Object.keys(props) : props;\n  const read = isObject(value)\n    ? objProps\n      ? prop => valueOrDefault(value[prop], value[props[prop]])\n      : prop => value[prop]\n    : () => value;\n  for (const prop of keys) {\n    ret[prop] = numberOrZero(read(prop));\n  }\n  return ret;\n}\nfunction toTRBL(value) {\n  return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n  return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n  const obj = toTRBL(value);\n  obj.width = obj.left + obj.right;\n  obj.height = obj.top + obj.bottom;\n  return obj;\n}\nfunction toFont(options, fallback) {\n  options = options || {};\n  fallback = fallback || defaults.font;\n  let size = valueOrDefault(options.size, fallback.size);\n  if (typeof size === 'string') {\n    size = parseInt(size, 10);\n  }\n  let style = valueOrDefault(options.style, fallback.style);\n  if (style && !('' + style).match(FONT_STYLE)) {\n    console.warn('Invalid font style specified: \"' + style + '\"');\n    style = '';\n  }\n  const font = {\n    family: valueOrDefault(options.family, fallback.family),\n    lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n    size,\n    style,\n    weight: valueOrDefault(options.weight, fallback.weight),\n    string: ''\n  };\n  font.string = toFontString(font);\n  return font;\n}\nfunction resolve(inputs, context, index, info) {\n  let cacheable = true;\n  let i, ilen, value;\n  for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n    value = inputs[i];\n    if (value === undefined) {\n      continue;\n    }\n    if (context !== undefined && typeof value === 'function') {\n      value = value(context);\n      cacheable = false;\n    }\n    if (index !== undefined && isArray(value)) {\n      value = value[index % value.length];\n      cacheable = false;\n    }\n    if (value !== undefined) {\n      if (info && !cacheable) {\n        info.cacheable = false;\n      }\n      return value;\n    }\n  }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n  const {min, max} = minmax;\n  const change = toDimension(grace, (max - min) / 2);\n  const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n  return {\n    min: keepZero(min, -Math.abs(change)),\n    max: keepZero(max, change)\n  };\n}\nfunction createContext(parentContext, context) {\n  return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n  if (!defined(fallback)) {\n    fallback = _resolve('_fallback', scopes);\n  }\n  const cache = {\n    [Symbol.toStringTag]: 'Object',\n    _cacheable: true,\n    _scopes: scopes,\n    _rootScopes: rootScopes,\n    _fallback: fallback,\n    _getTarget: getTarget,\n    override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n  };\n  return new Proxy(cache, {\n    deleteProperty(target, prop) {\n      delete target[prop];\n      delete target._keys;\n      delete scopes[0][prop];\n      return true;\n    },\n    get(target, prop) {\n      return _cached(target, prop,\n        () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n    },\n    getOwnPropertyDescriptor(target, prop) {\n      return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n    },\n    getPrototypeOf() {\n      return Reflect.getPrototypeOf(scopes[0]);\n    },\n    has(target, prop) {\n      return getKeysFromAllScopes(target).includes(prop);\n    },\n    ownKeys(target) {\n      return getKeysFromAllScopes(target);\n    },\n    set(target, prop, value) {\n      const storage = target._storage || (target._storage = getTarget());\n      target[prop] = storage[prop] = value;\n      delete target._keys;\n      return true;\n    }\n  });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n  const cache = {\n    _cacheable: false,\n    _proxy: proxy,\n    _context: context,\n    _subProxy: subProxy,\n    _stack: new Set(),\n    _descriptors: _descriptors(proxy, descriptorDefaults),\n    setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n    override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n  };\n  return new Proxy(cache, {\n    deleteProperty(target, prop) {\n      delete target[prop];\n      delete proxy[prop];\n      return true;\n    },\n    get(target, prop, receiver) {\n      return _cached(target, prop,\n        () => _resolveWithContext(target, prop, receiver));\n    },\n    getOwnPropertyDescriptor(target, prop) {\n      return target._descriptors.allKeys\n        ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n        : Reflect.getOwnPropertyDescriptor(proxy, prop);\n    },\n    getPrototypeOf() {\n      return Reflect.getPrototypeOf(proxy);\n    },\n    has(target, prop) {\n      return Reflect.has(proxy, prop);\n    },\n    ownKeys() {\n      return Reflect.ownKeys(proxy);\n    },\n    set(target, prop, value) {\n      proxy[prop] = value;\n      delete target[prop];\n      return true;\n    }\n  });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n  const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n  return {\n    allKeys: _allKeys,\n    scriptable: _scriptable,\n    indexable: _indexable,\n    isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n    isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n  };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n  (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n  if (Object.prototype.hasOwnProperty.call(target, prop)) {\n    return target[prop];\n  }\n  const value = resolve();\n  target[prop] = value;\n  return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n  const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n  let value = _proxy[prop];\n  if (isFunction(value) && descriptors.isScriptable(prop)) {\n    value = _resolveScriptable(prop, value, target, receiver);\n  }\n  if (isArray(value) && value.length) {\n    value = _resolveArray(prop, value, target, descriptors.isIndexable);\n  }\n  if (needsSubResolver(prop, value)) {\n    value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n  }\n  return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n  const {_proxy, _context, _subProxy, _stack} = target;\n  if (_stack.has(prop)) {\n    throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n  }\n  _stack.add(prop);\n  value = value(_context, _subProxy || receiver);\n  _stack.delete(prop);\n  if (needsSubResolver(prop, value)) {\n    value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n  }\n  return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n  const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n  if (defined(_context.index) && isIndexable(prop)) {\n    value = value[_context.index % value.length];\n  } else if (isObject(value[0])) {\n    const arr = value;\n    const scopes = _proxy._scopes.filter(s => s !== arr);\n    value = [];\n    for (const item of arr) {\n      const resolver = createSubResolver(scopes, _proxy, prop, item);\n      value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n    }\n  }\n  return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n  return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n  : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n  for (const parent of parentScopes) {\n    const scope = getScope(key, parent);\n    if (scope) {\n      set.add(scope);\n      const fallback = resolveFallback(scope._fallback, key, value);\n      if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n        return fallback;\n      }\n    } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n      return null;\n    }\n  }\n  return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n  const rootScopes = resolver._rootScopes;\n  const fallback = resolveFallback(resolver._fallback, prop, value);\n  const allScopes = [...parentScopes, ...rootScopes];\n  const set = new Set();\n  set.add(value);\n  let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n  if (key === null) {\n    return false;\n  }\n  if (defined(fallback) && fallback !== prop) {\n    key = addScopesFromKey(set, allScopes, fallback, key, value);\n    if (key === null) {\n      return false;\n    }\n  }\n  return _createResolver(Array.from(set), [''], rootScopes, fallback,\n    () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n  while (key) {\n    key = addScopes(set, allScopes, key, fallback, item);\n  }\n  return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n  const parent = resolver._getTarget();\n  if (!(prop in parent)) {\n    parent[prop] = {};\n  }\n  const target = parent[prop];\n  if (isArray(target) && isObject(value)) {\n    return value;\n  }\n  return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n  let value;\n  for (const prefix of prefixes) {\n    value = _resolve(readKey(prefix, prop), scopes);\n    if (defined(value)) {\n      return needsSubResolver(prop, value)\n        ? createSubResolver(scopes, proxy, prop, value)\n        : value;\n    }\n  }\n}\nfunction _resolve(key, scopes) {\n  for (const scope of scopes) {\n    if (!scope) {\n      continue;\n    }\n    const value = scope[key];\n    if (defined(value)) {\n      return value;\n    }\n  }\n}\nfunction getKeysFromAllScopes(target) {\n  let keys = target._keys;\n  if (!keys) {\n    keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n  }\n  return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n  const set = new Set();\n  for (const scope of scopes) {\n    for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n      set.add(key);\n    }\n  }\n  return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n  const {iScale} = meta;\n  const {key = 'r'} = this._parsing;\n  const parsed = new Array(count);\n  let i, ilen, index, item;\n  for (i = 0, ilen = count; i < ilen; ++i) {\n    index = i + start;\n    item = data[index];\n    parsed[i] = {\n      r: iScale.parse(resolveObjectKey(item, key), index)\n    };\n  }\n  return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n  const previous = firstPoint.skip ? middlePoint : firstPoint;\n  const current = middlePoint;\n  const next = afterPoint.skip ? middlePoint : afterPoint;\n  const d01 = distanceBetweenPoints(current, previous);\n  const d12 = distanceBetweenPoints(next, current);\n  let s01 = d01 / (d01 + d12);\n  let s12 = d12 / (d01 + d12);\n  s01 = isNaN(s01) ? 0 : s01;\n  s12 = isNaN(s12) ? 0 : s12;\n  const fa = t * s01;\n  const fb = t * s12;\n  return {\n    previous: {\n      x: current.x - fa * (next.x - previous.x),\n      y: current.y - fa * (next.y - previous.y)\n    },\n    next: {\n      x: current.x + fb * (next.x - previous.x),\n      y: current.y + fb * (next.y - previous.y)\n    }\n  };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n  const pointsLen = points.length;\n  let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (let i = 0; i < pointsLen - 1; ++i) {\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent || !pointAfter) {\n      continue;\n    }\n    if (almostEquals(deltaK[i], 0, EPSILON)) {\n      mK[i] = mK[i + 1] = 0;\n      continue;\n    }\n    alphaK = mK[i] / deltaK[i];\n    betaK = mK[i + 1] / deltaK[i];\n    squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n    if (squaredMagnitude <= 9) {\n      continue;\n    }\n    tauK = 3 / Math.sqrt(squaredMagnitude);\n    mK[i] = alphaK * tauK * deltaK[i];\n    mK[i + 1] = betaK * tauK * deltaK[i];\n  }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n  const valueAxis = getValueAxis(indexAxis);\n  const pointsLen = points.length;\n  let delta, pointBefore, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (let i = 0; i < pointsLen; ++i) {\n    pointBefore = pointCurrent;\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent) {\n      continue;\n    }\n    const iPixel = pointCurrent[indexAxis];\n    const vPixel = pointCurrent[valueAxis];\n    if (pointBefore) {\n      delta = (iPixel - pointBefore[indexAxis]) / 3;\n      pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n      pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n    }\n    if (pointAfter) {\n      delta = (pointAfter[indexAxis] - iPixel) / 3;\n      pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n      pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n    }\n  }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n  const valueAxis = getValueAxis(indexAxis);\n  const pointsLen = points.length;\n  const deltaK = Array(pointsLen).fill(0);\n  const mK = Array(pointsLen);\n  let i, pointBefore, pointCurrent;\n  let pointAfter = getPoint(points, 0);\n  for (i = 0; i < pointsLen; ++i) {\n    pointBefore = pointCurrent;\n    pointCurrent = pointAfter;\n    pointAfter = getPoint(points, i + 1);\n    if (!pointCurrent) {\n      continue;\n    }\n    if (pointAfter) {\n      const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n      deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n    }\n    mK[i] = !pointBefore ? deltaK[i]\n      : !pointAfter ? deltaK[i - 1]\n      : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n      : (deltaK[i - 1] + deltaK[i]) / 2;\n  }\n  monotoneAdjust(points, deltaK, mK);\n  monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n  return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n  let i, ilen, point, inArea, inAreaPrev;\n  let inAreaNext = _isPointInArea(points[0], area);\n  for (i = 0, ilen = points.length; i < ilen; ++i) {\n    inAreaPrev = inArea;\n    inArea = inAreaNext;\n    inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n    if (!inArea) {\n      continue;\n    }\n    point = points[i];\n    if (inAreaPrev) {\n      point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n      point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n    }\n    if (inAreaNext) {\n      point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n      point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n    }\n  }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n  let i, ilen, point, controlPoints;\n  if (options.spanGaps) {\n    points = points.filter((pt) => !pt.skip);\n  }\n  if (options.cubicInterpolationMode === 'monotone') {\n    splineCurveMonotone(points, indexAxis);\n  } else {\n    let prev = loop ? points[points.length - 1] : points[0];\n    for (i = 0, ilen = points.length; i < ilen; ++i) {\n      point = points[i];\n      controlPoints = splineCurve(\n        prev,\n        point,\n        points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n        options.tension\n      );\n      point.cp1x = controlPoints.previous.x;\n      point.cp1y = controlPoints.previous.y;\n      point.cp2x = controlPoints.next.x;\n      point.cp2y = controlPoints.next.y;\n      prev = point;\n    }\n  }\n  if (options.capBezierPoints) {\n    capBezierPoints(points, area);\n  }\n}\n\nfunction _isDomSupported() {\n  return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n  let parent = domNode.parentNode;\n  if (parent && parent.toString() === '[object ShadowRoot]') {\n    parent = parent.host;\n  }\n  return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n  let valueInPixels;\n  if (typeof styleValue === 'string') {\n    valueInPixels = parseInt(styleValue, 10);\n    if (styleValue.indexOf('%') !== -1) {\n      valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n    }\n  } else {\n    valueInPixels = styleValue;\n  }\n  return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n  return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n  const result = {};\n  suffix = suffix ? '-' + suffix : '';\n  for (let i = 0; i < 4; i++) {\n    const pos = positions[i];\n    result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n  }\n  result.width = result.left + result.right;\n  result.height = result.top + result.bottom;\n  return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n  const touches = e.touches;\n  const source = touches && touches.length ? touches[0] : e;\n  const {offsetX, offsetY} = source;\n  let box = false;\n  let x, y;\n  if (useOffsetPos(offsetX, offsetY, e.target)) {\n    x = offsetX;\n    y = offsetY;\n  } else {\n    const rect = canvas.getBoundingClientRect();\n    x = source.clientX - rect.left;\n    y = source.clientY - rect.top;\n    box = true;\n  }\n  return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n  if ('native' in evt) {\n    return evt;\n  }\n  const {canvas, currentDevicePixelRatio} = chart;\n  const style = getComputedStyle(canvas);\n  const borderBox = style.boxSizing === 'border-box';\n  const paddings = getPositionedStyle(style, 'padding');\n  const borders = getPositionedStyle(style, 'border', 'width');\n  const {x, y, box} = getCanvasPosition(evt, canvas);\n  const xOffset = paddings.left + (box && borders.left);\n  const yOffset = paddings.top + (box && borders.top);\n  let {width, height} = chart;\n  if (borderBox) {\n    width -= paddings.width + borders.width;\n    height -= paddings.height + borders.height;\n  }\n  return {\n    x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n    y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n  };\n}\nfunction getContainerSize(canvas, width, height) {\n  let maxWidth, maxHeight;\n  if (width === undefined || height === undefined) {\n    const container = _getParentNode(canvas);\n    if (!container) {\n      width = canvas.clientWidth;\n      height = canvas.clientHeight;\n    } else {\n      const rect = container.getBoundingClientRect();\n      const containerStyle = getComputedStyle(container);\n      const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n      const containerPadding = getPositionedStyle(containerStyle, 'padding');\n      width = rect.width - containerPadding.width - containerBorder.width;\n      height = rect.height - containerPadding.height - containerBorder.height;\n      maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n      maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n    }\n  }\n  return {\n    width,\n    height,\n    maxWidth: maxWidth || INFINITY,\n    maxHeight: maxHeight || INFINITY\n  };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n  const style = getComputedStyle(canvas);\n  const margins = getPositionedStyle(style, 'margin');\n  const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n  const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n  const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n  let {width, height} = containerSize;\n  if (style.boxSizing === 'content-box') {\n    const borders = getPositionedStyle(style, 'border', 'width');\n    const paddings = getPositionedStyle(style, 'padding');\n    width -= paddings.width + borders.width;\n    height -= paddings.height + borders.height;\n  }\n  width = Math.max(0, width - margins.width);\n  height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n  width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n  height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n  if (width && !height) {\n    height = round1(width / 2);\n  }\n  return {\n    width,\n    height\n  };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n  const pixelRatio = forceRatio || 1;\n  const deviceHeight = Math.floor(chart.height * pixelRatio);\n  const deviceWidth = Math.floor(chart.width * pixelRatio);\n  chart.height = deviceHeight / pixelRatio;\n  chart.width = deviceWidth / pixelRatio;\n  const canvas = chart.canvas;\n  if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n    canvas.style.height = `${chart.height}px`;\n    canvas.style.width = `${chart.width}px`;\n  }\n  if (chart.currentDevicePixelRatio !== pixelRatio\n      || canvas.height !== deviceHeight\n      || canvas.width !== deviceWidth) {\n    chart.currentDevicePixelRatio = pixelRatio;\n    canvas.height = deviceHeight;\n    canvas.width = deviceWidth;\n    chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n    return true;\n  }\n  return false;\n}\nconst supportsEventListenerOptions = (function() {\n  let passiveSupported = false;\n  try {\n    const options = {\n      get passive() {\n        passiveSupported = true;\n        return false;\n      }\n    };\n    window.addEventListener('test', null, options);\n    window.removeEventListener('test', null, options);\n  } catch (e) {\n  }\n  return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n  const value = getStyle(element, property);\n  const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n  return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n  return {\n    x: p1.x + t * (p2.x - p1.x),\n    y: p1.y + t * (p2.y - p1.y)\n  };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n  return {\n    x: p1.x + t * (p2.x - p1.x),\n    y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n    : mode === 'after' ? t < 1 ? p1.y : p2.y\n    : t > 0 ? p2.y : p1.y\n  };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n  const cp1 = {x: p1.cp2x, y: p1.cp2y};\n  const cp2 = {x: p2.cp1x, y: p2.cp1y};\n  const a = _pointInLine(p1, cp1, t);\n  const b = _pointInLine(cp1, cp2, t);\n  const c = _pointInLine(cp2, p2, t);\n  const d = _pointInLine(a, b, t);\n  const e = _pointInLine(b, c, t);\n  return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n  options = options || {};\n  const cacheKey = locale + JSON.stringify(options);\n  let formatter = intlCache.get(cacheKey);\n  if (!formatter) {\n    formatter = new Intl.NumberFormat(locale, options);\n    intlCache.set(cacheKey, formatter);\n  }\n  return formatter;\n}\nfunction formatNumber(num, locale, options) {\n  return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n  return {\n    x(x) {\n      return rectX + rectX + width - x;\n    },\n    setWidth(w) {\n      width = w;\n    },\n    textAlign(align) {\n      if (align === 'center') {\n        return align;\n      }\n      return align === 'right' ? 'left' : 'right';\n    },\n    xPlus(x, value) {\n      return x - value;\n    },\n    leftForLtr(x, itemWidth) {\n      return x - itemWidth;\n    },\n  };\n};\nconst getLeftToRightAdapter = function() {\n  return {\n    x(x) {\n      return x;\n    },\n    setWidth(w) {\n    },\n    textAlign(align) {\n      return align;\n    },\n    xPlus(x, value) {\n      return x + value;\n    },\n    leftForLtr(x, _itemWidth) {\n      return x;\n    },\n  };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n  return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n  let style, original;\n  if (direction === 'ltr' || direction === 'rtl') {\n    style = ctx.canvas.style;\n    original = [\n      style.getPropertyValue('direction'),\n      style.getPropertyPriority('direction'),\n    ];\n    style.setProperty('direction', direction, 'important');\n    ctx.prevTextDirection = original;\n  }\n}\nfunction restoreTextDirection(ctx, original) {\n  if (original !== undefined) {\n    delete ctx.prevTextDirection;\n    ctx.canvas.style.setProperty('direction', original[0], original[1]);\n  }\n}\n\nfunction propertyFn(property) {\n  if (property === 'angle') {\n    return {\n      between: _angleBetween,\n      compare: _angleDiff,\n      normalize: _normalizeAngle,\n    };\n  }\n  return {\n    between: _isBetween,\n    compare: (a, b) => a - b,\n    normalize: x => x\n  };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n  return {\n    start: start % count,\n    end: end % count,\n    loop: loop && (end - start + 1) % count === 0,\n    style\n  };\n}\nfunction getSegment(segment, points, bounds) {\n  const {property, start: startBound, end: endBound} = bounds;\n  const {between, normalize} = propertyFn(property);\n  const count = points.length;\n  let {start, end, loop} = segment;\n  let i, ilen;\n  if (loop) {\n    start += count;\n    end += count;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n        break;\n      }\n      start--;\n      end--;\n    }\n    start %= count;\n    end %= count;\n  }\n  if (end < start) {\n    end += count;\n  }\n  return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n  if (!bounds) {\n    return [segment];\n  }\n  const {property, start: startBound, end: endBound} = bounds;\n  const count = points.length;\n  const {compare, between, normalize} = propertyFn(property);\n  const {start, end, loop, style} = getSegment(segment, points, bounds);\n  const result = [];\n  let inside = false;\n  let subStart = null;\n  let value, point, prevValue;\n  const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n  const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n  const shouldStart = () => inside || startIsBefore();\n  const shouldStop = () => !inside || endIsBefore();\n  for (let i = start, prev = start; i <= end; ++i) {\n    point = points[i % count];\n    if (point.skip) {\n      continue;\n    }\n    value = normalize(point[property]);\n    if (value === prevValue) {\n      continue;\n    }\n    inside = between(value, startBound, endBound);\n    if (subStart === null && shouldStart()) {\n      subStart = compare(value, startBound) === 0 ? i : prev;\n    }\n    if (subStart !== null && shouldStop()) {\n      result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n      subStart = null;\n    }\n    prev = i;\n    prevValue = value;\n  }\n  if (subStart !== null) {\n    result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n  }\n  return result;\n}\nfunction _boundSegments(line, bounds) {\n  const result = [];\n  const segments = line.segments;\n  for (let i = 0; i < segments.length; i++) {\n    const sub = _boundSegment(segments[i], line.points, bounds);\n    if (sub.length) {\n      result.push(...sub);\n    }\n  }\n  return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n  let start = 0;\n  let end = count - 1;\n  if (loop && !spanGaps) {\n    while (start < count && !points[start].skip) {\n      start++;\n    }\n  }\n  while (start < count && points[start].skip) {\n    start++;\n  }\n  start %= count;\n  if (loop) {\n    end += start;\n  }\n  while (end > start && points[end % count].skip) {\n    end--;\n  }\n  end %= count;\n  return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n  const count = points.length;\n  const result = [];\n  let last = start;\n  let prev = points[start];\n  let end;\n  for (end = start + 1; end <= max; ++end) {\n    const cur = points[end % count];\n    if (cur.skip || cur.stop) {\n      if (!prev.skip) {\n        loop = false;\n        result.push({start: start % count, end: (end - 1) % count, loop});\n        start = last = cur.stop ? end : null;\n      }\n    } else {\n      last = end;\n      if (prev.skip) {\n        start = end;\n      }\n    }\n    prev = cur;\n  }\n  if (last !== null) {\n    result.push({start: start % count, end: last % count, loop});\n  }\n  return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n  const points = line.points;\n  const spanGaps = line.options.spanGaps;\n  const count = points.length;\n  if (!count) {\n    return [];\n  }\n  const loop = !!line._loop;\n  const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n  if (spanGaps === true) {\n    return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n  }\n  const max = end < start ? end + count : end;\n  const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n  return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n  if (!segmentOptions || !segmentOptions.setContext || !points) {\n    return segments;\n  }\n  return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n  const chartContext = line._chart.getContext();\n  const baseStyle = readStyle(line.options);\n  const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n  const count = points.length;\n  const result = [];\n  let prevStyle = baseStyle;\n  let start = segments[0].start;\n  let i = start;\n  function addStyle(s, e, l, st) {\n    const dir = spanGaps ? -1 : 1;\n    if (s === e) {\n      return;\n    }\n    s += count;\n    while (points[s % count].skip) {\n      s -= dir;\n    }\n    while (points[e % count].skip) {\n      e += dir;\n    }\n    if (s % count !== e % count) {\n      result.push({start: s % count, end: e % count, loop: l, style: st});\n      prevStyle = st;\n      start = e % count;\n    }\n  }\n  for (const segment of segments) {\n    start = spanGaps ? start : segment.start;\n    let prev = points[start % count];\n    let style;\n    for (i = start + 1; i <= segment.end; i++) {\n      const pt = points[i % count];\n      style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n        type: 'segment',\n        p0: prev,\n        p1: pt,\n        p0DataIndex: (i - 1) % count,\n        p1DataIndex: i % count,\n        datasetIndex\n      })));\n      if (styleChanged(style, prevStyle)) {\n        addStyle(start, i - 1, segment.loop, prevStyle);\n      }\n      prev = pt;\n      prevStyle = style;\n    }\n    if (start < i - 1) {\n      addStyle(start, i - 1, segment.loop, prevStyle);\n    }\n  }\n  return result;\n}\nfunction readStyle(options) {\n  return {\n    backgroundColor: options.backgroundColor,\n    borderCapStyle: options.borderCapStyle,\n    borderDash: options.borderDash,\n    borderDashOffset: options.borderDashOffset,\n    borderJoinStyle: options.borderJoinStyle,\n    borderWidth: options.borderWidth,\n    borderColor: options.borderColor\n  };\n}\nfunction styleChanged(style, prevStyle) {\n  return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n  constructor() {\n    this._request = null;\n    this._charts = new Map();\n    this._running = false;\n    this._lastDate = undefined;\n  }\n  _notify(chart, anims, date, type) {\n    const callbacks = anims.listeners[type];\n    const numSteps = anims.duration;\n    callbacks.forEach(fn => fn({\n      chart,\n      initial: anims.initial,\n      numSteps,\n      currentStep: Math.min(date - anims.start, numSteps)\n    }));\n  }\n  _refresh() {\n    if (this._request) {\n      return;\n    }\n    this._running = true;\n    this._request = requestAnimFrame.call(window, () => {\n      this._update();\n      this._request = null;\n      if (this._running) {\n        this._refresh();\n      }\n    });\n  }\n  _update(date = Date.now()) {\n    let remaining = 0;\n    this._charts.forEach((anims, chart) => {\n      if (!anims.running || !anims.items.length) {\n        return;\n      }\n      const items = anims.items;\n      let i = items.length - 1;\n      let draw = false;\n      let item;\n      for (; i >= 0; --i) {\n        item = items[i];\n        if (item._active) {\n          if (item._total > anims.duration) {\n            anims.duration = item._total;\n          }\n          item.tick(date);\n          draw = true;\n        } else {\n          items[i] = items[items.length - 1];\n          items.pop();\n        }\n      }\n      if (draw) {\n        chart.draw();\n        this._notify(chart, anims, date, 'progress');\n      }\n      if (!items.length) {\n        anims.running = false;\n        this._notify(chart, anims, date, 'complete');\n        anims.initial = false;\n      }\n      remaining += items.length;\n    });\n    this._lastDate = date;\n    if (remaining === 0) {\n      this._running = false;\n    }\n  }\n  _getAnims(chart) {\n    const charts = this._charts;\n    let anims = charts.get(chart);\n    if (!anims) {\n      anims = {\n        running: false,\n        initial: true,\n        items: [],\n        listeners: {\n          complete: [],\n          progress: []\n        }\n      };\n      charts.set(chart, anims);\n    }\n    return anims;\n  }\n  listen(chart, event, cb) {\n    this._getAnims(chart).listeners[event].push(cb);\n  }\n  add(chart, items) {\n    if (!items || !items.length) {\n      return;\n    }\n    this._getAnims(chart).items.push(...items);\n  }\n  has(chart) {\n    return this._getAnims(chart).items.length > 0;\n  }\n  start(chart) {\n    const anims = this._charts.get(chart);\n    if (!anims) {\n      return;\n    }\n    anims.running = true;\n    anims.start = Date.now();\n    anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n    this._refresh();\n  }\n  running(chart) {\n    if (!this._running) {\n      return false;\n    }\n    const anims = this._charts.get(chart);\n    if (!anims || !anims.running || !anims.items.length) {\n      return false;\n    }\n    return true;\n  }\n  stop(chart) {\n    const anims = this._charts.get(chart);\n    if (!anims || !anims.items.length) {\n      return;\n    }\n    const items = anims.items;\n    let i = items.length - 1;\n    for (; i >= 0; --i) {\n      items[i].cancel();\n    }\n    anims.items = [];\n    this._notify(chart, anims, Date.now(), 'complete');\n  }\n  remove(chart) {\n    return this._charts.delete(chart);\n  }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n  boolean(from, to, factor) {\n    return factor > 0.5 ? to : from;\n  },\n  color(from, to, factor) {\n    const c0 = color(from || transparent);\n    const c1 = c0.valid && color(to || transparent);\n    return c1 && c1.valid\n      ? c1.mix(c0, factor).hexString()\n      : to;\n  },\n  number(from, to, factor) {\n    return from + (to - from) * factor;\n  }\n};\nclass Animation {\n  constructor(cfg, target, prop, to) {\n    const currentValue = target[prop];\n    to = resolve([cfg.to, to, currentValue, cfg.from]);\n    const from = resolve([cfg.from, currentValue, to]);\n    this._active = true;\n    this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n    this._easing = effects[cfg.easing] || effects.linear;\n    this._start = Math.floor(Date.now() + (cfg.delay || 0));\n    this._duration = this._total = Math.floor(cfg.duration);\n    this._loop = !!cfg.loop;\n    this._target = target;\n    this._prop = prop;\n    this._from = from;\n    this._to = to;\n    this._promises = undefined;\n  }\n  active() {\n    return this._active;\n  }\n  update(cfg, to, date) {\n    if (this._active) {\n      this._notify(false);\n      const currentValue = this._target[this._prop];\n      const elapsed = date - this._start;\n      const remain = this._duration - elapsed;\n      this._start = date;\n      this._duration = Math.floor(Math.max(remain, cfg.duration));\n      this._total += elapsed;\n      this._loop = !!cfg.loop;\n      this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n      this._from = resolve([cfg.from, currentValue, to]);\n    }\n  }\n  cancel() {\n    if (this._active) {\n      this.tick(Date.now());\n      this._active = false;\n      this._notify(false);\n    }\n  }\n  tick(date) {\n    const elapsed = date - this._start;\n    const duration = this._duration;\n    const prop = this._prop;\n    const from = this._from;\n    const loop = this._loop;\n    const to = this._to;\n    let factor;\n    this._active = from !== to && (loop || (elapsed < duration));\n    if (!this._active) {\n      this._target[prop] = to;\n      this._notify(true);\n      return;\n    }\n    if (elapsed < 0) {\n      this._target[prop] = from;\n      return;\n    }\n    factor = (elapsed / duration) % 2;\n    factor = loop && factor > 1 ? 2 - factor : factor;\n    factor = this._easing(Math.min(1, Math.max(0, factor)));\n    this._target[prop] = this._fn(from, to, factor);\n  }\n  wait() {\n    const promises = this._promises || (this._promises = []);\n    return new Promise((res, rej) => {\n      promises.push({res, rej});\n    });\n  }\n  _notify(resolved) {\n    const method = resolved ? 'res' : 'rej';\n    const promises = this._promises || [];\n    for (let i = 0; i < promises.length; i++) {\n      promises[i][method]();\n    }\n  }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n  delay: undefined,\n  duration: 1000,\n  easing: 'easeOutQuart',\n  fn: undefined,\n  from: undefined,\n  loop: undefined,\n  to: undefined,\n  type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n  _fallback: false,\n  _indexable: false,\n  _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n  colors: {\n    type: 'color',\n    properties: colors\n  },\n  numbers: {\n    type: 'number',\n    properties: numbers\n  },\n});\ndefaults.describe('animations', {\n  _fallback: 'animation',\n});\ndefaults.set('transitions', {\n  active: {\n    animation: {\n      duration: 400\n    }\n  },\n  resize: {\n    animation: {\n      duration: 0\n    }\n  },\n  show: {\n    animations: {\n      colors: {\n        from: 'transparent'\n      },\n      visible: {\n        type: 'boolean',\n        duration: 0\n      },\n    }\n  },\n  hide: {\n    animations: {\n      colors: {\n        to: 'transparent'\n      },\n      visible: {\n        type: 'boolean',\n        easing: 'linear',\n        fn: v => v | 0\n      },\n    }\n  }\n});\nclass Animations {\n  constructor(chart, config) {\n    this._chart = chart;\n    this._properties = new Map();\n    this.configure(config);\n  }\n  configure(config) {\n    if (!isObject(config)) {\n      return;\n    }\n    const animatedProps = this._properties;\n    Object.getOwnPropertyNames(config).forEach(key => {\n      const cfg = config[key];\n      if (!isObject(cfg)) {\n        return;\n      }\n      const resolved = {};\n      for (const option of animationOptions) {\n        resolved[option] = cfg[option];\n      }\n      (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n        if (prop === key || !animatedProps.has(prop)) {\n          animatedProps.set(prop, resolved);\n        }\n      });\n    });\n  }\n  _animateOptions(target, values) {\n    const newOptions = values.options;\n    const options = resolveTargetOptions(target, newOptions);\n    if (!options) {\n      return [];\n    }\n    const animations = this._createAnimations(options, newOptions);\n    if (newOptions.$shared) {\n      awaitAll(target.options.$animations, newOptions).then(() => {\n        target.options = newOptions;\n      }, () => {\n      });\n    }\n    return animations;\n  }\n  _createAnimations(target, values) {\n    const animatedProps = this._properties;\n    const animations = [];\n    const running = target.$animations || (target.$animations = {});\n    const props = Object.keys(values);\n    const date = Date.now();\n    let i;\n    for (i = props.length - 1; i >= 0; --i) {\n      const prop = props[i];\n      if (prop.charAt(0) === '$') {\n        continue;\n      }\n      if (prop === 'options') {\n        animations.push(...this._animateOptions(target, values));\n        continue;\n      }\n      const value = values[prop];\n      let animation = running[prop];\n      const cfg = animatedProps.get(prop);\n      if (animation) {\n        if (cfg && animation.active()) {\n          animation.update(cfg, value, date);\n          continue;\n        } else {\n          animation.cancel();\n        }\n      }\n      if (!cfg || !cfg.duration) {\n        target[prop] = value;\n        continue;\n      }\n      running[prop] = animation = new Animation(cfg, target, prop, value);\n      animations.push(animation);\n    }\n    return animations;\n  }\n  update(target, values) {\n    if (this._properties.size === 0) {\n      Object.assign(target, values);\n      return;\n    }\n    const animations = this._createAnimations(target, values);\n    if (animations.length) {\n      animator.add(this._chart, animations);\n      return true;\n    }\n  }\n}\nfunction awaitAll(animations, properties) {\n  const running = [];\n  const keys = Object.keys(properties);\n  for (let i = 0; i < keys.length; i++) {\n    const anim = animations[keys[i]];\n    if (anim && anim.active()) {\n      running.push(anim.wait());\n    }\n  }\n  return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n  if (!newOptions) {\n    return;\n  }\n  let options = target.options;\n  if (!options) {\n    target.options = newOptions;\n    return;\n  }\n  if (options.$shared) {\n    target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n  }\n  return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n  const opts = scale && scale.options || {};\n  const reverse = opts.reverse;\n  const min = opts.min === undefined ? allowedOverflow : 0;\n  const max = opts.max === undefined ? allowedOverflow : 0;\n  return {\n    start: reverse ? max : min,\n    end: reverse ? min : max\n  };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n  if (allowedOverflow === false) {\n    return false;\n  }\n  const x = scaleClip(xScale, allowedOverflow);\n  const y = scaleClip(yScale, allowedOverflow);\n  return {\n    top: y.end,\n    right: x.end,\n    bottom: y.start,\n    left: x.start\n  };\n}\nfunction toClip(value) {\n  let t, r, b, l;\n  if (isObject(value)) {\n    t = value.top;\n    r = value.right;\n    b = value.bottom;\n    l = value.left;\n  } else {\n    t = r = b = l = value;\n  }\n  return {\n    top: t,\n    right: r,\n    bottom: b,\n    left: l,\n    disabled: value === false\n  };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n  const keys = [];\n  const metasets = chart._getSortedDatasetMetas(filterVisible);\n  let i, ilen;\n  for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n    keys.push(metasets[i].index);\n  }\n  return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n  const keys = stack.keys;\n  const singleMode = options.mode === 'single';\n  let i, ilen, datasetIndex, otherValue;\n  if (value === null) {\n    return;\n  }\n  for (i = 0, ilen = keys.length; i < ilen; ++i) {\n    datasetIndex = +keys[i];\n    if (datasetIndex === dsIndex) {\n      if (options.all) {\n        continue;\n      }\n      break;\n    }\n    otherValue = stack.values[datasetIndex];\n    if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n      value += otherValue;\n    }\n  }\n  return value;\n}\nfunction convertObjectDataToArray(data) {\n  const keys = Object.keys(data);\n  const adata = new Array(keys.length);\n  let i, ilen, key;\n  for (i = 0, ilen = keys.length; i < ilen; ++i) {\n    key = keys[i];\n    adata[i] = {\n      x: key,\n      y: data[key]\n    };\n  }\n  return adata;\n}\nfunction isStacked(scale, meta) {\n  const stacked = scale && scale.options.stacked;\n  return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n  return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n  const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n  return {\n    min: minDefined ? min : Number.NEGATIVE_INFINITY,\n    max: maxDefined ? max : Number.POSITIVE_INFINITY\n  };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n  const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n  return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n  for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n    const value = stack[meta.index];\n    if ((positive && value > 0) || (!positive && value < 0)) {\n      return meta.index;\n    }\n  }\n  return null;\n}\nfunction updateStacks(controller, parsed) {\n  const {chart, _cachedMeta: meta} = controller;\n  const stacks = chart._stacks || (chart._stacks = {});\n  const {iScale, vScale, index: datasetIndex} = meta;\n  const iAxis = iScale.axis;\n  const vAxis = vScale.axis;\n  const key = getStackKey(iScale, vScale, meta);\n  const ilen = parsed.length;\n  let stack;\n  for (let i = 0; i < ilen; ++i) {\n    const item = parsed[i];\n    const {[iAxis]: index, [vAxis]: value} = item;\n    const itemStacks = item._stacks || (item._stacks = {});\n    stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n    stack[datasetIndex] = value;\n    stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n    stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n  }\n}\nfunction getFirstScaleId(chart, axis) {\n  const scales = chart.scales;\n  return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n  return createContext(parent,\n    {\n      active: false,\n      dataset: undefined,\n      datasetIndex: index,\n      index,\n      mode: 'default',\n      type: 'dataset'\n    }\n  );\n}\nfunction createDataContext(parent, index, element) {\n  return createContext(parent, {\n    active: false,\n    dataIndex: index,\n    parsed: undefined,\n    raw: undefined,\n    element,\n    index,\n    mode: 'default',\n    type: 'data'\n  });\n}\nfunction clearStacks(meta, items) {\n  const datasetIndex = meta.controller.index;\n  const axis = meta.vScale && meta.vScale.axis;\n  if (!axis) {\n    return;\n  }\n  items = items || meta._parsed;\n  for (const parsed of items) {\n    const stacks = parsed._stacks;\n    if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n      return;\n    }\n    delete stacks[axis][datasetIndex];\n  }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n  && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n  constructor(chart, datasetIndex) {\n    this.chart = chart;\n    this._ctx = chart.ctx;\n    this.index = datasetIndex;\n    this._cachedDataOpts = {};\n    this._cachedMeta = this.getMeta();\n    this._type = this._cachedMeta.type;\n    this.options = undefined;\n    this._parsing = false;\n    this._data = undefined;\n    this._objectData = undefined;\n    this._sharedOptions = undefined;\n    this._drawStart = undefined;\n    this._drawCount = undefined;\n    this.enableOptionSharing = false;\n    this.supportsDecimation = false;\n    this.$context = undefined;\n    this._syncList = [];\n    this.initialize();\n  }\n  initialize() {\n    const meta = this._cachedMeta;\n    this.configure();\n    this.linkScales();\n    meta._stacked = isStacked(meta.vScale, meta);\n    this.addElements();\n  }\n  updateIndex(datasetIndex) {\n    if (this.index !== datasetIndex) {\n      clearStacks(this._cachedMeta);\n    }\n    this.index = datasetIndex;\n  }\n  linkScales() {\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const dataset = this.getDataset();\n    const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n    const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n    const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n    const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n    const indexAxis = meta.indexAxis;\n    const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n    const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n    meta.xScale = this.getScaleForId(xid);\n    meta.yScale = this.getScaleForId(yid);\n    meta.rScale = this.getScaleForId(rid);\n    meta.iScale = this.getScaleForId(iid);\n    meta.vScale = this.getScaleForId(vid);\n  }\n  getDataset() {\n    return this.chart.data.datasets[this.index];\n  }\n  getMeta() {\n    return this.chart.getDatasetMeta(this.index);\n  }\n  getScaleForId(scaleID) {\n    return this.chart.scales[scaleID];\n  }\n  _getOtherScale(scale) {\n    const meta = this._cachedMeta;\n    return scale === meta.iScale\n      ? meta.vScale\n      : meta.iScale;\n  }\n  reset() {\n    this._update('reset');\n  }\n  _destroy() {\n    const meta = this._cachedMeta;\n    if (this._data) {\n      unlistenArrayEvents(this._data, this);\n    }\n    if (meta._stacked) {\n      clearStacks(meta);\n    }\n  }\n  _dataCheck() {\n    const dataset = this.getDataset();\n    const data = dataset.data || (dataset.data = []);\n    const _data = this._data;\n    if (isObject(data)) {\n      this._data = convertObjectDataToArray(data);\n    } else if (_data !== data) {\n      if (_data) {\n        unlistenArrayEvents(_data, this);\n        const meta = this._cachedMeta;\n        clearStacks(meta);\n        meta._parsed = [];\n      }\n      if (data && Object.isExtensible(data)) {\n        listenArrayEvents(data, this);\n      }\n      this._syncList = [];\n      this._data = data;\n    }\n  }\n  addElements() {\n    const meta = this._cachedMeta;\n    this._dataCheck();\n    if (this.datasetElementType) {\n      meta.dataset = new this.datasetElementType();\n    }\n  }\n  buildOrUpdateElements(resetNewElements) {\n    const meta = this._cachedMeta;\n    const dataset = this.getDataset();\n    let stackChanged = false;\n    this._dataCheck();\n    const oldStacked = meta._stacked;\n    meta._stacked = isStacked(meta.vScale, meta);\n    if (meta.stack !== dataset.stack) {\n      stackChanged = true;\n      clearStacks(meta);\n      meta.stack = dataset.stack;\n    }\n    this._resyncElements(resetNewElements);\n    if (stackChanged || oldStacked !== meta._stacked) {\n      updateStacks(this, meta._parsed);\n    }\n  }\n  configure() {\n    const config = this.chart.config;\n    const scopeKeys = config.datasetScopeKeys(this._type);\n    const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n    this.options = config.createResolver(scopes, this.getContext());\n    this._parsing = this.options.parsing;\n    this._cachedDataOpts = {};\n  }\n  parse(start, count) {\n    const {_cachedMeta: meta, _data: data} = this;\n    const {iScale, _stacked} = meta;\n    const iAxis = iScale.axis;\n    let sorted = start === 0 && count === data.length ? true : meta._sorted;\n    let prev = start > 0 && meta._parsed[start - 1];\n    let i, cur, parsed;\n    if (this._parsing === false) {\n      meta._parsed = data;\n      meta._sorted = true;\n      parsed = data;\n    } else {\n      if (isArray(data[start])) {\n        parsed = this.parseArrayData(meta, data, start, count);\n      } else if (isObject(data[start])) {\n        parsed = this.parseObjectData(meta, data, start, count);\n      } else {\n        parsed = this.parsePrimitiveData(meta, data, start, count);\n      }\n      const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n      for (i = 0; i < count; ++i) {\n        meta._parsed[i + start] = cur = parsed[i];\n        if (sorted) {\n          if (isNotInOrderComparedToPrev()) {\n            sorted = false;\n          }\n          prev = cur;\n        }\n      }\n      meta._sorted = sorted;\n    }\n    if (_stacked) {\n      updateStacks(this, parsed);\n    }\n  }\n  parsePrimitiveData(meta, data, start, count) {\n    const {iScale, vScale} = meta;\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const labels = iScale.getLabels();\n    const singleScale = iScale === vScale;\n    const parsed = new Array(count);\n    let i, ilen, index;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      parsed[i] = {\n        [iAxis]: singleScale || iScale.parse(labels[index], index),\n        [vAxis]: vScale.parse(data[index], index)\n      };\n    }\n    return parsed;\n  }\n  parseArrayData(meta, data, start, count) {\n    const {xScale, yScale} = meta;\n    const parsed = new Array(count);\n    let i, ilen, index, item;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      item = data[index];\n      parsed[i] = {\n        x: xScale.parse(item[0], index),\n        y: yScale.parse(item[1], index)\n      };\n    }\n    return parsed;\n  }\n  parseObjectData(meta, data, start, count) {\n    const {xScale, yScale} = meta;\n    const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n    const parsed = new Array(count);\n    let i, ilen, index, item;\n    for (i = 0, ilen = count; i < ilen; ++i) {\n      index = i + start;\n      item = data[index];\n      parsed[i] = {\n        x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n        y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n      };\n    }\n    return parsed;\n  }\n  getParsed(index) {\n    return this._cachedMeta._parsed[index];\n  }\n  getDataElement(index) {\n    return this._cachedMeta.data[index];\n  }\n  applyStack(scale, parsed, mode) {\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const value = parsed[scale.axis];\n    const stack = {\n      keys: getSortedDatasetIndices(chart, true),\n      values: parsed._stacks[scale.axis]\n    };\n    return applyStack(stack, value, meta.index, {mode});\n  }\n  updateRangeFromParsed(range, scale, parsed, stack) {\n    const parsedValue = parsed[scale.axis];\n    let value = parsedValue === null ? NaN : parsedValue;\n    const values = stack && parsed._stacks[scale.axis];\n    if (stack && values) {\n      stack.values = values;\n      value = applyStack(stack, parsedValue, this._cachedMeta.index);\n    }\n    range.min = Math.min(range.min, value);\n    range.max = Math.max(range.max, value);\n  }\n  getMinMax(scale, canStack) {\n    const meta = this._cachedMeta;\n    const _parsed = meta._parsed;\n    const sorted = meta._sorted && scale === meta.iScale;\n    const ilen = _parsed.length;\n    const otherScale = this._getOtherScale(scale);\n    const stack = createStack(canStack, meta, this.chart);\n    const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n    const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n    let i, parsed;\n    function _skip() {\n      parsed = _parsed[i];\n      const otherValue = parsed[otherScale.axis];\n      return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n    }\n    for (i = 0; i < ilen; ++i) {\n      if (_skip()) {\n        continue;\n      }\n      this.updateRangeFromParsed(range, scale, parsed, stack);\n      if (sorted) {\n        break;\n      }\n    }\n    if (sorted) {\n      for (i = ilen - 1; i >= 0; --i) {\n        if (_skip()) {\n          continue;\n        }\n        this.updateRangeFromParsed(range, scale, parsed, stack);\n        break;\n      }\n    }\n    return range;\n  }\n  getAllParsedValues(scale) {\n    const parsed = this._cachedMeta._parsed;\n    const values = [];\n    let i, ilen, value;\n    for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n      value = parsed[i][scale.axis];\n      if (isNumberFinite(value)) {\n        values.push(value);\n      }\n    }\n    return values;\n  }\n  getMaxOverflow() {\n    return false;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const iScale = meta.iScale;\n    const vScale = meta.vScale;\n    const parsed = this.getParsed(index);\n    return {\n      label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n      value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n    };\n  }\n  _update(mode) {\n    const meta = this._cachedMeta;\n    this.update(mode || 'default');\n    meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n  }\n  update(mode) {}\n  draw() {\n    const ctx = this._ctx;\n    const chart = this.chart;\n    const meta = this._cachedMeta;\n    const elements = meta.data || [];\n    const area = chart.chartArea;\n    const active = [];\n    const start = this._drawStart || 0;\n    const count = this._drawCount || (elements.length - start);\n    const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n    let i;\n    if (meta.dataset) {\n      meta.dataset.draw(ctx, area, start, count);\n    }\n    for (i = start; i < start + count; ++i) {\n      const element = elements[i];\n      if (element.hidden) {\n        continue;\n      }\n      if (element.active && drawActiveElementsOnTop) {\n        active.push(element);\n      } else {\n        element.draw(ctx, area);\n      }\n    }\n    for (i = 0; i < active.length; ++i) {\n      active[i].draw(ctx, area);\n    }\n  }\n  getStyle(index, active) {\n    const mode = active ? 'active' : 'default';\n    return index === undefined && this._cachedMeta.dataset\n      ? this.resolveDatasetElementOptions(mode)\n      : this.resolveDataElementOptions(index || 0, mode);\n  }\n  getContext(index, active, mode) {\n    const dataset = this.getDataset();\n    let context;\n    if (index >= 0 && index < this._cachedMeta.data.length) {\n      const element = this._cachedMeta.data[index];\n      context = element.$context ||\n        (element.$context = createDataContext(this.getContext(), index, element));\n      context.parsed = this.getParsed(index);\n      context.raw = dataset.data[index];\n      context.index = context.dataIndex = index;\n    } else {\n      context = this.$context ||\n        (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n      context.dataset = dataset;\n      context.index = context.datasetIndex = this.index;\n    }\n    context.active = !!active;\n    context.mode = mode;\n    return context;\n  }\n  resolveDatasetElementOptions(mode) {\n    return this._resolveElementOptions(this.datasetElementType.id, mode);\n  }\n  resolveDataElementOptions(index, mode) {\n    return this._resolveElementOptions(this.dataElementType.id, mode, index);\n  }\n  _resolveElementOptions(elementType, mode = 'default', index) {\n    const active = mode === 'active';\n    const cache = this._cachedDataOpts;\n    const cacheKey = elementType + '-' + mode;\n    const cached = cache[cacheKey];\n    const sharing = this.enableOptionSharing && defined(index);\n    if (cached) {\n      return cloneIfNotShared(cached, sharing);\n    }\n    const config = this.chart.config;\n    const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n    const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n    const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n    const names = Object.keys(defaults.elements[elementType]);\n    const context = () => this.getContext(index, active);\n    const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n    if (values.$shared) {\n      values.$shared = sharing;\n      cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n    }\n    return values;\n  }\n  _resolveAnimations(index, transition, active) {\n    const chart = this.chart;\n    const cache = this._cachedDataOpts;\n    const cacheKey = `animation-${transition}`;\n    const cached = cache[cacheKey];\n    if (cached) {\n      return cached;\n    }\n    let options;\n    if (chart.options.animation !== false) {\n      const config = this.chart.config;\n      const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n      const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n      options = config.createResolver(scopes, this.getContext(index, active, transition));\n    }\n    const animations = new Animations(chart, options && options.animations);\n    if (options && options._cacheable) {\n      cache[cacheKey] = Object.freeze(animations);\n    }\n    return animations;\n  }\n  getSharedOptions(options) {\n    if (!options.$shared) {\n      return;\n    }\n    return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n  }\n  includeOptions(mode, sharedOptions) {\n    return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n  }\n  _getSharedOptions(start, mode) {\n    const firstOpts = this.resolveDataElementOptions(start, mode);\n    const previouslySharedOptions = this._sharedOptions;\n    const sharedOptions = this.getSharedOptions(firstOpts);\n    const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n    this.updateSharedOptions(sharedOptions, mode, firstOpts);\n    return {sharedOptions, includeOptions};\n  }\n  updateElement(element, index, properties, mode) {\n    if (isDirectUpdateMode(mode)) {\n      Object.assign(element, properties);\n    } else {\n      this._resolveAnimations(index, mode).update(element, properties);\n    }\n  }\n  updateSharedOptions(sharedOptions, mode, newOptions) {\n    if (sharedOptions && !isDirectUpdateMode(mode)) {\n      this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n    }\n  }\n  _setStyle(element, index, mode, active) {\n    element.active = active;\n    const options = this.getStyle(index, active);\n    this._resolveAnimations(index, mode, active).update(element, {\n      options: (!active && this.getSharedOptions(options)) || options\n    });\n  }\n  removeHoverStyle(element, datasetIndex, index) {\n    this._setStyle(element, index, 'active', false);\n  }\n  setHoverStyle(element, datasetIndex, index) {\n    this._setStyle(element, index, 'active', true);\n  }\n  _removeDatasetHoverStyle() {\n    const element = this._cachedMeta.dataset;\n    if (element) {\n      this._setStyle(element, undefined, 'active', false);\n    }\n  }\n  _setDatasetHoverStyle() {\n    const element = this._cachedMeta.dataset;\n    if (element) {\n      this._setStyle(element, undefined, 'active', true);\n    }\n  }\n  _resyncElements(resetNewElements) {\n    const data = this._data;\n    const elements = this._cachedMeta.data;\n    for (const [method, arg1, arg2] of this._syncList) {\n      this[method](arg1, arg2);\n    }\n    this._syncList = [];\n    const numMeta = elements.length;\n    const numData = data.length;\n    const count = Math.min(numData, numMeta);\n    if (count) {\n      this.parse(0, count);\n    }\n    if (numData > numMeta) {\n      this._insertElements(numMeta, numData - numMeta, resetNewElements);\n    } else if (numData < numMeta) {\n      this._removeElements(numData, numMeta - numData);\n    }\n  }\n  _insertElements(start, count, resetNewElements = true) {\n    const meta = this._cachedMeta;\n    const data = meta.data;\n    const end = start + count;\n    let i;\n    const move = (arr) => {\n      arr.length += count;\n      for (i = arr.length - 1; i >= end; i--) {\n        arr[i] = arr[i - count];\n      }\n    };\n    move(data);\n    for (i = start; i < end; ++i) {\n      data[i] = new this.dataElementType();\n    }\n    if (this._parsing) {\n      move(meta._parsed);\n    }\n    this.parse(start, count);\n    if (resetNewElements) {\n      this.updateElements(data, start, count, 'reset');\n    }\n  }\n  updateElements(element, start, count, mode) {}\n  _removeElements(start, count) {\n    const meta = this._cachedMeta;\n    if (this._parsing) {\n      const removed = meta._parsed.splice(start, count);\n      if (meta._stacked) {\n        clearStacks(meta, removed);\n      }\n    }\n    meta.data.splice(start, count);\n  }\n  _sync(args) {\n    if (this._parsing) {\n      this._syncList.push(args);\n    } else {\n      const [method, arg1, arg2] = args;\n      this[method](arg1, arg2);\n    }\n    this.chart._dataChanges.push([this.index, ...args]);\n  }\n  _onDataPush() {\n    const count = arguments.length;\n    this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n  }\n  _onDataPop() {\n    this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n  }\n  _onDataShift() {\n    this._sync(['_removeElements', 0, 1]);\n  }\n  _onDataSplice(start, count) {\n    if (count) {\n      this._sync(['_removeElements', start, count]);\n    }\n    const newCount = arguments.length - 2;\n    if (newCount) {\n      this._sync(['_insertElements', start, newCount]);\n    }\n  }\n  _onDataUnshift() {\n    this._sync(['_insertElements', 0, arguments.length]);\n  }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n  if (!scale._cache.$bar) {\n    const visibleMetas = scale.getMatchingVisibleMetas(type);\n    let values = [];\n    for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n      values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n    }\n    scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n  }\n  return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n  const scale = meta.iScale;\n  const values = getAllScaleValues(scale, meta.type);\n  let min = scale._length;\n  let i, ilen, curr, prev;\n  const updateMinAndPrev = () => {\n    if (curr === 32767 || curr === -32768) {\n      return;\n    }\n    if (defined(prev)) {\n      min = Math.min(min, Math.abs(curr - prev) || min);\n    }\n    prev = curr;\n  };\n  for (i = 0, ilen = values.length; i < ilen; ++i) {\n    curr = scale.getPixelForValue(values[i]);\n    updateMinAndPrev();\n  }\n  prev = undefined;\n  for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n    curr = scale.getPixelForTick(i);\n    updateMinAndPrev();\n  }\n  return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n  const thickness = options.barThickness;\n  let size, ratio;\n  if (isNullOrUndef(thickness)) {\n    size = ruler.min * options.categoryPercentage;\n    ratio = options.barPercentage;\n  } else {\n    size = thickness * stackCount;\n    ratio = 1;\n  }\n  return {\n    chunk: size / stackCount,\n    ratio,\n    start: ruler.pixels[index] - (size / 2)\n  };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n  const pixels = ruler.pixels;\n  const curr = pixels[index];\n  let prev = index > 0 ? pixels[index - 1] : null;\n  let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n  const percent = options.categoryPercentage;\n  if (prev === null) {\n    prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n  }\n  if (next === null) {\n    next = curr + curr - prev;\n  }\n  const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n  const size = Math.abs(next - prev) / 2 * percent;\n  return {\n    chunk: size / stackCount,\n    ratio: options.barPercentage,\n    start\n  };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n  const startValue = vScale.parse(entry[0], i);\n  const endValue = vScale.parse(entry[1], i);\n  const min = Math.min(startValue, endValue);\n  const max = Math.max(startValue, endValue);\n  let barStart = min;\n  let barEnd = max;\n  if (Math.abs(min) > Math.abs(max)) {\n    barStart = max;\n    barEnd = min;\n  }\n  item[vScale.axis] = barEnd;\n  item._custom = {\n    barStart,\n    barEnd,\n    start: startValue,\n    end: endValue,\n    min,\n    max\n  };\n}\nfunction parseValue(entry, item, vScale, i) {\n  if (isArray(entry)) {\n    parseFloatBar(entry, item, vScale, i);\n  } else {\n    item[vScale.axis] = vScale.parse(entry, i);\n  }\n  return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n  const iScale = meta.iScale;\n  const vScale = meta.vScale;\n  const labels = iScale.getLabels();\n  const singleScale = iScale === vScale;\n  const parsed = [];\n  let i, ilen, item, entry;\n  for (i = start, ilen = start + count; i < ilen; ++i) {\n    entry = data[i];\n    item = {};\n    item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n    parsed.push(parseValue(entry, item, vScale, i));\n  }\n  return parsed;\n}\nfunction isFloatBar(custom) {\n  return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n  if (size !== 0) {\n    return sign(size);\n  }\n  return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n  let reverse, start, end, top, bottom;\n  if (properties.horizontal) {\n    reverse = properties.base > properties.x;\n    start = 'left';\n    end = 'right';\n  } else {\n    reverse = properties.base < properties.y;\n    start = 'bottom';\n    end = 'top';\n  }\n  if (reverse) {\n    top = 'end';\n    bottom = 'start';\n  } else {\n    top = 'start';\n    bottom = 'end';\n  }\n  return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n  let edge = options.borderSkipped;\n  const res = {};\n  if (!edge) {\n    properties.borderSkipped = res;\n    return;\n  }\n  if (edge === true) {\n    properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n    return;\n  }\n  const {start, end, reverse, top, bottom} = borderProps(properties);\n  if (edge === 'middle' && stack) {\n    properties.enableBorderRadius = true;\n    if ((stack._top || 0) === index) {\n      edge = top;\n    } else if ((stack._bottom || 0) === index) {\n      edge = bottom;\n    } else {\n      res[parseEdge(bottom, start, end, reverse)] = true;\n      edge = top;\n    }\n  }\n  res[parseEdge(edge, start, end, reverse)] = true;\n  properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n  if (reverse) {\n    edge = swap(edge, a, b);\n    edge = startEnd(edge, b, a);\n  } else {\n    edge = startEnd(edge, a, b);\n  }\n  return edge;\n}\nfunction swap(orig, v1, v2) {\n  return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n  return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n  properties.inflateAmount = inflateAmount === 'auto'\n    ? ratio === 1 ? 0.33 : 0\n    : inflateAmount;\n}\nclass BarController extends DatasetController {\n  parsePrimitiveData(meta, data, start, count) {\n    return parseArrayOrPrimitive(meta, data, start, count);\n  }\n  parseArrayData(meta, data, start, count) {\n    return parseArrayOrPrimitive(meta, data, start, count);\n  }\n  parseObjectData(meta, data, start, count) {\n    const {iScale, vScale} = meta;\n    const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n    const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n    const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n    const parsed = [];\n    let i, ilen, item, obj;\n    for (i = start, ilen = start + count; i < ilen; ++i) {\n      obj = data[i];\n      item = {};\n      item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n      parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n    }\n    return parsed;\n  }\n  updateRangeFromParsed(range, scale, parsed, stack) {\n    super.updateRangeFromParsed(range, scale, parsed, stack);\n    const custom = parsed._custom;\n    if (custom && scale === this._cachedMeta.vScale) {\n      range.min = Math.min(range.min, custom.min);\n      range.max = Math.max(range.max, custom.max);\n    }\n  }\n  getMaxOverflow() {\n    return 0;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const {iScale, vScale} = meta;\n    const parsed = this.getParsed(index);\n    const custom = parsed._custom;\n    const value = isFloatBar(custom)\n      ? '[' + custom.start + ', ' + custom.end + ']'\n      : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n    return {\n      label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n      value\n    };\n  }\n  initialize() {\n    this.enableOptionSharing = true;\n    super.initialize();\n    const meta = this._cachedMeta;\n    meta.stack = this.getDataset().stack;\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    this.updateElements(meta.data, 0, meta.data.length, mode);\n  }\n  updateElements(bars, start, count, mode) {\n    const reset = mode === 'reset';\n    const {index, _cachedMeta: {vScale}} = this;\n    const base = vScale.getBasePixel();\n    const horizontal = vScale.isHorizontal();\n    const ruler = this._getRuler();\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    for (let i = start; i < start + count; i++) {\n      const parsed = this.getParsed(i);\n      const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n      const ipixels = this._calculateBarIndexPixels(i, ruler);\n      const stack = (parsed._stacks || {})[vScale.axis];\n      const properties = {\n        horizontal,\n        base: vpixels.base,\n        enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n        x: horizontal ? vpixels.head : ipixels.center,\n        y: horizontal ? ipixels.center : vpixels.head,\n        height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n        width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n      };\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n      }\n      const options = properties.options || bars[i].options;\n      setBorderSkipped(properties, options, stack, index);\n      setInflateAmount(properties, options, ruler.ratio);\n      this.updateElement(bars[i], i, properties, mode);\n    }\n  }\n  _getStacks(last, dataIndex) {\n    const {iScale} = this._cachedMeta;\n    const metasets = iScale.getMatchingVisibleMetas(this._type)\n      .filter(meta => meta.controller.options.grouped);\n    const stacked = iScale.options.stacked;\n    const stacks = [];\n    const skipNull = (meta) => {\n      const parsed = meta.controller.getParsed(dataIndex);\n      const val = parsed && parsed[meta.vScale.axis];\n      if (isNullOrUndef(val) || isNaN(val)) {\n        return true;\n      }\n    };\n    for (const meta of metasets) {\n      if (dataIndex !== undefined && skipNull(meta)) {\n        continue;\n      }\n      if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n        stacks.push(meta.stack);\n      }\n      if (meta.index === last) {\n        break;\n      }\n    }\n    if (!stacks.length) {\n      stacks.push(undefined);\n    }\n    return stacks;\n  }\n  _getStackCount(index) {\n    return this._getStacks(undefined, index).length;\n  }\n  _getStackIndex(datasetIndex, name, dataIndex) {\n    const stacks = this._getStacks(datasetIndex, dataIndex);\n    const index = (name !== undefined)\n      ? stacks.indexOf(name)\n      : -1;\n    return (index === -1)\n      ? stacks.length - 1\n      : index;\n  }\n  _getRuler() {\n    const opts = this.options;\n    const meta = this._cachedMeta;\n    const iScale = meta.iScale;\n    const pixels = [];\n    let i, ilen;\n    for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n      pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n    }\n    const barThickness = opts.barThickness;\n    const min = barThickness || computeMinSampleSize(meta);\n    return {\n      min,\n      pixels,\n      start: iScale._startPixel,\n      end: iScale._endPixel,\n      stackCount: this._getStackCount(),\n      scale: iScale,\n      grouped: opts.grouped,\n      ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n    };\n  }\n  _calculateBarValuePixels(index) {\n    const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n    const actualBase = baseValue || 0;\n    const parsed = this.getParsed(index);\n    const custom = parsed._custom;\n    const floating = isFloatBar(custom);\n    let value = parsed[vScale.axis];\n    let start = 0;\n    let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n    let head, size;\n    if (length !== value) {\n      start = length - value;\n      length = value;\n    }\n    if (floating) {\n      value = custom.barStart;\n      length = custom.barEnd - custom.barStart;\n      if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n        start = 0;\n      }\n      start += value;\n    }\n    const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n    let base = vScale.getPixelForValue(startValue);\n    if (this.chart.getDataVisibility(index)) {\n      head = vScale.getPixelForValue(start + length);\n    } else {\n      head = base;\n    }\n    size = head - base;\n    if (Math.abs(size) < minBarLength) {\n      size = barSign(size, vScale, actualBase) * minBarLength;\n      if (value === actualBase) {\n        base -= size / 2;\n      }\n      const startPixel = vScale.getPixelForDecimal(0);\n      const endPixel = vScale.getPixelForDecimal(1);\n      const min = Math.min(startPixel, endPixel);\n      const max = Math.max(startPixel, endPixel);\n      base = Math.max(Math.min(base, max), min);\n      head = base + size;\n    }\n    if (base === vScale.getPixelForValue(actualBase)) {\n      const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n      base += halfGrid;\n      size -= halfGrid;\n    }\n    return {\n      size,\n      base,\n      head,\n      center: head + size / 2\n    };\n  }\n  _calculateBarIndexPixels(index, ruler) {\n    const scale = ruler.scale;\n    const options = this.options;\n    const skipNull = options.skipNull;\n    const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n    let center, size;\n    if (ruler.grouped) {\n      const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n      const range = options.barThickness === 'flex'\n        ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n        : computeFitCategoryTraits(index, ruler, options, stackCount);\n      const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n      center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n      size = Math.min(maxBarThickness, range.chunk * range.ratio);\n    } else {\n      center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n      size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n    }\n    return {\n      base: center - size / 2,\n      head: center + size / 2,\n      center,\n      size\n    };\n  }\n  draw() {\n    const meta = this._cachedMeta;\n    const vScale = meta.vScale;\n    const rects = meta.data;\n    const ilen = rects.length;\n    let i = 0;\n    for (; i < ilen; ++i) {\n      if (this.getParsed(i)[vScale.axis] !== null) {\n        rects[i].draw(this._ctx);\n      }\n    }\n  }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'bar',\n  categoryPercentage: 0.8,\n  barPercentage: 0.9,\n  grouped: true,\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'base', 'width', 'height']\n    }\n  }\n};\nBarController.overrides = {\n  scales: {\n    _index_: {\n      type: 'category',\n      offset: true,\n      grid: {\n        offset: true\n      }\n    },\n    _value_: {\n      type: 'linear',\n      beginAtZero: true,\n    }\n  }\n};\n\nclass BubbleController extends DatasetController {\n  initialize() {\n    this.enableOptionSharing = true;\n    super.initialize();\n  }\n  parsePrimitiveData(meta, data, start, count) {\n    const parsed = super.parsePrimitiveData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n    }\n    return parsed;\n  }\n  parseArrayData(meta, data, start, count) {\n    const parsed = super.parseArrayData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      const item = data[start + i];\n      parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n    }\n    return parsed;\n  }\n  parseObjectData(meta, data, start, count) {\n    const parsed = super.parseObjectData(meta, data, start, count);\n    for (let i = 0; i < parsed.length; i++) {\n      const item = data[start + i];\n      parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n    }\n    return parsed;\n  }\n  getMaxOverflow() {\n    const data = this._cachedMeta.data;\n    let max = 0;\n    for (let i = data.length - 1; i >= 0; --i) {\n      max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n    }\n    return max > 0 && max;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const {xScale, yScale} = meta;\n    const parsed = this.getParsed(index);\n    const x = xScale.getLabelForValue(parsed.x);\n    const y = yScale.getLabelForValue(parsed.y);\n    const r = parsed._custom;\n    return {\n      label: meta.label,\n      value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n    };\n  }\n  update(mode) {\n    const points = this._cachedMeta.data;\n    this.updateElements(points, 0, points.length, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale} = this._cachedMeta;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    for (let i = start; i < start + count; i++) {\n      const point = points[i];\n      const parsed = !reset && this.getParsed(i);\n      const properties = {};\n      const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n      const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel);\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n        if (reset) {\n          properties.options.radius = 0;\n        }\n      }\n      this.updateElement(point, i, properties, mode);\n    }\n  }\n  resolveDataElementOptions(index, mode) {\n    const parsed = this.getParsed(index);\n    let values = super.resolveDataElementOptions(index, mode);\n    if (values.$shared) {\n      values = Object.assign({}, values, {$shared: false});\n    }\n    const radius = values.radius;\n    if (mode !== 'active') {\n      values.radius = 0;\n    }\n    values.radius += valueOrDefault(parsed && parsed._custom, radius);\n    return values;\n  }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'point',\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'borderWidth', 'radius']\n    }\n  }\n};\nBubbleController.overrides = {\n  scales: {\n    x: {\n      type: 'linear'\n    },\n    y: {\n      type: 'linear'\n    }\n  },\n  plugins: {\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        }\n      }\n    }\n  }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n  let ratioX = 1;\n  let ratioY = 1;\n  let offsetX = 0;\n  let offsetY = 0;\n  if (circumference < TAU) {\n    const startAngle = rotation;\n    const endAngle = startAngle + circumference;\n    const startX = Math.cos(startAngle);\n    const startY = Math.sin(startAngle);\n    const endX = Math.cos(endAngle);\n    const endY = Math.sin(endAngle);\n    const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n    const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n    const maxX = calcMax(0, startX, endX);\n    const maxY = calcMax(HALF_PI, startY, endY);\n    const minX = calcMin(PI, startX, endX);\n    const minY = calcMin(PI + HALF_PI, startY, endY);\n    ratioX = (maxX - minX) / 2;\n    ratioY = (maxY - minY) / 2;\n    offsetX = -(maxX + minX) / 2;\n    offsetY = -(maxY + minY) / 2;\n  }\n  return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n  constructor(chart, datasetIndex) {\n    super(chart, datasetIndex);\n    this.enableOptionSharing = true;\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n    this.offsetX = undefined;\n    this.offsetY = undefined;\n  }\n  linkScales() {}\n  parse(start, count) {\n    const data = this.getDataset().data;\n    const meta = this._cachedMeta;\n    if (this._parsing === false) {\n      meta._parsed = data;\n    } else {\n      let getter = (i) => +data[i];\n      if (isObject(data[start])) {\n        const {key = 'value'} = this._parsing;\n        getter = (i) => +resolveObjectKey(data[i], key);\n      }\n      let i, ilen;\n      for (i = start, ilen = start + count; i < ilen; ++i) {\n        meta._parsed[i] = getter(i);\n      }\n    }\n  }\n  _getRotation() {\n    return toRadians(this.options.rotation - 90);\n  }\n  _getCircumference() {\n    return toRadians(this.options.circumference);\n  }\n  _getRotationExtents() {\n    let min = TAU;\n    let max = -TAU;\n    for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n      if (this.chart.isDatasetVisible(i)) {\n        const controller = this.chart.getDatasetMeta(i).controller;\n        const rotation = controller._getRotation();\n        const circumference = controller._getCircumference();\n        min = Math.min(min, rotation);\n        max = Math.max(max, rotation + circumference);\n      }\n    }\n    return {\n      rotation: min,\n      circumference: max - min,\n    };\n  }\n  update(mode) {\n    const chart = this.chart;\n    const {chartArea} = chart;\n    const meta = this._cachedMeta;\n    const arcs = meta.data;\n    const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n    const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n    const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n    const chartWeight = this._getRingWeight(this.index);\n    const {circumference, rotation} = this._getRotationExtents();\n    const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n    const maxWidth = (chartArea.width - spacing) / ratioX;\n    const maxHeight = (chartArea.height - spacing) / ratioY;\n    const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n    const outerRadius = toDimension(this.options.radius, maxRadius);\n    const innerRadius = Math.max(outerRadius * cutout, 0);\n    const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n    this.offsetX = offsetX * outerRadius;\n    this.offsetY = offsetY * outerRadius;\n    meta.total = this.calculateTotal();\n    this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n    this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n    this.updateElements(arcs, 0, arcs.length, mode);\n  }\n  _circumference(i, reset) {\n    const opts = this.options;\n    const meta = this._cachedMeta;\n    const circumference = this._getCircumference();\n    if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n      return 0;\n    }\n    return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n  }\n  updateElements(arcs, start, count, mode) {\n    const reset = mode === 'reset';\n    const chart = this.chart;\n    const chartArea = chart.chartArea;\n    const opts = chart.options;\n    const animationOpts = opts.animation;\n    const centerX = (chartArea.left + chartArea.right) / 2;\n    const centerY = (chartArea.top + chartArea.bottom) / 2;\n    const animateScale = reset && animationOpts.animateScale;\n    const innerRadius = animateScale ? 0 : this.innerRadius;\n    const outerRadius = animateScale ? 0 : this.outerRadius;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    let startAngle = this._getRotation();\n    let i;\n    for (i = 0; i < start; ++i) {\n      startAngle += this._circumference(i, reset);\n    }\n    for (i = start; i < start + count; ++i) {\n      const circumference = this._circumference(i, reset);\n      const arc = arcs[i];\n      const properties = {\n        x: centerX + this.offsetX,\n        y: centerY + this.offsetY,\n        startAngle,\n        endAngle: startAngle + circumference,\n        circumference,\n        outerRadius,\n        innerRadius\n      };\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n      }\n      startAngle += circumference;\n      this.updateElement(arc, i, properties, mode);\n    }\n  }\n  calculateTotal() {\n    const meta = this._cachedMeta;\n    const metaData = meta.data;\n    let total = 0;\n    let i;\n    for (i = 0; i < metaData.length; i++) {\n      const value = meta._parsed[i];\n      if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n        total += Math.abs(value);\n      }\n    }\n    return total;\n  }\n  calculateCircumference(value) {\n    const total = this._cachedMeta.total;\n    if (total > 0 && !isNaN(value)) {\n      return TAU * (Math.abs(value) / total);\n    }\n    return 0;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const chart = this.chart;\n    const labels = chart.data.labels || [];\n    const value = formatNumber(meta._parsed[index], chart.options.locale);\n    return {\n      label: labels[index] || '',\n      value,\n    };\n  }\n  getMaxBorderWidth(arcs) {\n    let max = 0;\n    const chart = this.chart;\n    let i, ilen, meta, controller, options;\n    if (!arcs) {\n      for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n        if (chart.isDatasetVisible(i)) {\n          meta = chart.getDatasetMeta(i);\n          arcs = meta.data;\n          controller = meta.controller;\n          break;\n        }\n      }\n    }\n    if (!arcs) {\n      return 0;\n    }\n    for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n      options = controller.resolveDataElementOptions(i);\n      if (options.borderAlign !== 'inner') {\n        max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n      }\n    }\n    return max;\n  }\n  getMaxOffset(arcs) {\n    let max = 0;\n    for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n      const options = this.resolveDataElementOptions(i);\n      max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n    }\n    return max;\n  }\n  _getRingWeightOffset(datasetIndex) {\n    let ringWeightOffset = 0;\n    for (let i = 0; i < datasetIndex; ++i) {\n      if (this.chart.isDatasetVisible(i)) {\n        ringWeightOffset += this._getRingWeight(i);\n      }\n    }\n    return ringWeightOffset;\n  }\n  _getRingWeight(datasetIndex) {\n    return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n  }\n  _getVisibleDatasetWeightTotal() {\n    return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n  }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'arc',\n  animation: {\n    animateRotate: true,\n    animateScale: false\n  },\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n    },\n  },\n  cutout: '50%',\n  rotation: 0,\n  circumference: 360,\n  radius: '100%',\n  spacing: 0,\n  indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n  _scriptable: (name) => name !== 'spacing',\n  _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n  aspectRatio: 1,\n  plugins: {\n    legend: {\n      labels: {\n        generateLabels(chart) {\n          const data = chart.data;\n          if (data.labels.length && data.datasets.length) {\n            const {labels: {pointStyle}} = chart.legend.options;\n            return data.labels.map((label, i) => {\n              const meta = chart.getDatasetMeta(0);\n              const style = meta.controller.getStyle(i);\n              return {\n                text: label,\n                fillStyle: style.backgroundColor,\n                strokeStyle: style.borderColor,\n                lineWidth: style.borderWidth,\n                pointStyle: pointStyle,\n                hidden: !chart.getDataVisibility(i),\n                index: i\n              };\n            });\n          }\n          return [];\n        }\n      },\n      onClick(e, legendItem, legend) {\n        legend.chart.toggleDataVisibility(legendItem.index);\n        legend.chart.update();\n      }\n    },\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(tooltipItem) {\n          let dataLabel = tooltipItem.label;\n          const value = ': ' + tooltipItem.formattedValue;\n          if (isArray(dataLabel)) {\n            dataLabel = dataLabel.slice();\n            dataLabel[0] += value;\n          } else {\n            dataLabel += value;\n          }\n          return dataLabel;\n        }\n      }\n    }\n  }\n};\n\nclass LineController extends DatasetController {\n  initialize() {\n    this.enableOptionSharing = true;\n    this.supportsDecimation = true;\n    super.initialize();\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    const {dataset: line, data: points = [], _dataset} = meta;\n    const animationsDisabled = this.chart._animationsDisabled;\n    let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n    this._drawStart = start;\n    this._drawCount = count;\n    if (_scaleRangesChanged(meta)) {\n      start = 0;\n      count = points.length;\n    }\n    line._chart = this.chart;\n    line._datasetIndex = this.index;\n    line._decimated = !!_dataset._decimated;\n    line.points = points;\n    const options = this.resolveDatasetElementOptions(mode);\n    if (!this.options.showLine) {\n      options.borderWidth = 0;\n    }\n    options.segment = this.options.segment;\n    this.updateElement(line, undefined, {\n      animated: !animationsDisabled,\n      options\n    }, mode);\n    this.updateElements(points, start, count, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n    const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const {spanGaps, segment} = this.options;\n    const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n    const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n    let prevParsed = start > 0 && this.getParsed(start - 1);\n    for (let i = start; i < start + count; ++i) {\n      const point = points[i];\n      const parsed = this.getParsed(i);\n      const properties = directUpdate ? point : {};\n      const nullData = isNullOrUndef(parsed[vAxis]);\n      const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n      const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n      properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n      if (segment) {\n        properties.parsed = parsed;\n        properties.raw = _dataset.data[i];\n      }\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      }\n      if (!directUpdate) {\n        this.updateElement(point, i, properties, mode);\n      }\n      prevParsed = parsed;\n    }\n  }\n  getMaxOverflow() {\n    const meta = this._cachedMeta;\n    const dataset = meta.dataset;\n    const border = dataset.options && dataset.options.borderWidth || 0;\n    const data = meta.data || [];\n    if (!data.length) {\n      return border;\n    }\n    const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n    const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n    return Math.max(border, firstPoint, lastPoint) / 2;\n  }\n  draw() {\n    const meta = this._cachedMeta;\n    meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n    super.draw();\n  }\n}\nLineController.id = 'line';\nLineController.defaults = {\n  datasetElementType: 'line',\n  dataElementType: 'point',\n  showLine: true,\n  spanGaps: false,\n};\nLineController.overrides = {\n  scales: {\n    _index_: {\n      type: 'category',\n    },\n    _value_: {\n      type: 'linear',\n    },\n  }\n};\n\nclass PolarAreaController extends DatasetController {\n  constructor(chart, datasetIndex) {\n    super(chart, datasetIndex);\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n  }\n  getLabelAndValue(index) {\n    const meta = this._cachedMeta;\n    const chart = this.chart;\n    const labels = chart.data.labels || [];\n    const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n    return {\n      label: labels[index] || '',\n      value,\n    };\n  }\n  parseObjectData(meta, data, start, count) {\n    return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n  }\n  update(mode) {\n    const arcs = this._cachedMeta.data;\n    this._updateRadius();\n    this.updateElements(arcs, 0, arcs.length, mode);\n  }\n  getMinMax() {\n    const meta = this._cachedMeta;\n    const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n    meta.data.forEach((element, index) => {\n      const parsed = this.getParsed(index).r;\n      if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n        if (parsed < range.min) {\n          range.min = parsed;\n        }\n        if (parsed > range.max) {\n          range.max = parsed;\n        }\n      }\n    });\n    return range;\n  }\n  _updateRadius() {\n    const chart = this.chart;\n    const chartArea = chart.chartArea;\n    const opts = chart.options;\n    const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n    const outerRadius = Math.max(minSize / 2, 0);\n    const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n    const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n    this.outerRadius = outerRadius - (radiusLength * this.index);\n    this.innerRadius = this.outerRadius - radiusLength;\n  }\n  updateElements(arcs, start, count, mode) {\n    const reset = mode === 'reset';\n    const chart = this.chart;\n    const opts = chart.options;\n    const animationOpts = opts.animation;\n    const scale = this._cachedMeta.rScale;\n    const centerX = scale.xCenter;\n    const centerY = scale.yCenter;\n    const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n    let angle = datasetStartAngle;\n    let i;\n    const defaultAngle = 360 / this.countVisibleElements();\n    for (i = 0; i < start; ++i) {\n      angle += this._computeAngle(i, mode, defaultAngle);\n    }\n    for (i = start; i < start + count; i++) {\n      const arc = arcs[i];\n      let startAngle = angle;\n      let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n      let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n      angle = endAngle;\n      if (reset) {\n        if (animationOpts.animateScale) {\n          outerRadius = 0;\n        }\n        if (animationOpts.animateRotate) {\n          startAngle = endAngle = datasetStartAngle;\n        }\n      }\n      const properties = {\n        x: centerX,\n        y: centerY,\n        innerRadius: 0,\n        outerRadius,\n        startAngle,\n        endAngle,\n        options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n      };\n      this.updateElement(arc, i, properties, mode);\n    }\n  }\n  countVisibleElements() {\n    const meta = this._cachedMeta;\n    let count = 0;\n    meta.data.forEach((element, index) => {\n      if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n        count++;\n      }\n    });\n    return count;\n  }\n  _computeAngle(index, mode, defaultAngle) {\n    return this.chart.getDataVisibility(index)\n      ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n      : 0;\n  }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n  dataElementType: 'arc',\n  animation: {\n    animateRotate: true,\n    animateScale: true\n  },\n  animations: {\n    numbers: {\n      type: 'number',\n      properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n    },\n  },\n  indexAxis: 'r',\n  startAngle: 0,\n};\nPolarAreaController.overrides = {\n  aspectRatio: 1,\n  plugins: {\n    legend: {\n      labels: {\n        generateLabels(chart) {\n          const data = chart.data;\n          if (data.labels.length && data.datasets.length) {\n            const {labels: {pointStyle}} = chart.legend.options;\n            return data.labels.map((label, i) => {\n              const meta = chart.getDatasetMeta(0);\n              const style = meta.controller.getStyle(i);\n              return {\n                text: label,\n                fillStyle: style.backgroundColor,\n                strokeStyle: style.borderColor,\n                lineWidth: style.borderWidth,\n                pointStyle: pointStyle,\n                hidden: !chart.getDataVisibility(i),\n                index: i\n              };\n            });\n          }\n          return [];\n        }\n      },\n      onClick(e, legendItem, legend) {\n        legend.chart.toggleDataVisibility(legendItem.index);\n        legend.chart.update();\n      }\n    },\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(context) {\n          return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n        }\n      }\n    }\n  },\n  scales: {\n    r: {\n      type: 'radialLinear',\n      angleLines: {\n        display: false\n      },\n      beginAtZero: true,\n      grid: {\n        circular: true\n      },\n      pointLabels: {\n        display: false\n      },\n      startAngle: 0\n    }\n  }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n  cutout: 0,\n  rotation: 0,\n  circumference: 360,\n  radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n  getLabelAndValue(index) {\n    const vScale = this._cachedMeta.vScale;\n    const parsed = this.getParsed(index);\n    return {\n      label: vScale.getLabels()[index],\n      value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n    };\n  }\n  parseObjectData(meta, data, start, count) {\n    return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n  }\n  update(mode) {\n    const meta = this._cachedMeta;\n    const line = meta.dataset;\n    const points = meta.data || [];\n    const labels = meta.iScale.getLabels();\n    line.points = points;\n    if (mode !== 'resize') {\n      const options = this.resolveDatasetElementOptions(mode);\n      if (!this.options.showLine) {\n        options.borderWidth = 0;\n      }\n      const properties = {\n        _loop: true,\n        _fullLoop: labels.length === points.length,\n        options\n      };\n      this.updateElement(line, undefined, properties, mode);\n    }\n    this.updateElements(points, 0, points.length, mode);\n  }\n  updateElements(points, start, count, mode) {\n    const scale = this._cachedMeta.rScale;\n    const reset = mode === 'reset';\n    for (let i = start; i < start + count; i++) {\n      const point = points[i];\n      const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n      const x = reset ? scale.xCenter : pointPosition.x;\n      const y = reset ? scale.yCenter : pointPosition.y;\n      const properties = {\n        x,\n        y,\n        angle: pointPosition.angle,\n        skip: isNaN(x) || isNaN(y),\n        options\n      };\n      this.updateElement(point, i, properties, mode);\n    }\n  }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n  datasetElementType: 'line',\n  dataElementType: 'point',\n  indexAxis: 'r',\n  showLine: true,\n  elements: {\n    line: {\n      fill: 'start'\n    }\n  },\n};\nRadarController.overrides = {\n  aspectRatio: 1,\n  scales: {\n    r: {\n      type: 'radialLinear',\n    }\n  }\n};\n\nclass Element {\n  constructor() {\n    this.x = undefined;\n    this.y = undefined;\n    this.active = false;\n    this.options = undefined;\n    this.$animations = undefined;\n  }\n  tooltipPosition(useFinalPosition) {\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return {x, y};\n  }\n  hasValue() {\n    return isNumber(this.x) && isNumber(this.y);\n  }\n  getProps(props, final) {\n    const anims = this.$animations;\n    if (!final || !anims) {\n      return this;\n    }\n    const ret = {};\n    props.forEach(prop => {\n      ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n    });\n    return ret;\n  }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n  values(value) {\n    return isArray(value) ? value : '' + value;\n  },\n  numeric(tickValue, index, ticks) {\n    if (tickValue === 0) {\n      return '0';\n    }\n    const locale = this.chart.options.locale;\n    let notation;\n    let delta = tickValue;\n    if (ticks.length > 1) {\n      const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n      if (maxTick < 1e-4 || maxTick > 1e+15) {\n        notation = 'scientific';\n      }\n      delta = calculateDelta(tickValue, ticks);\n    }\n    const logDelta = log10(Math.abs(delta));\n    const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n    const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n    Object.assign(options, this.options.ticks.format);\n    return formatNumber(tickValue, locale, options);\n  },\n  logarithmic(tickValue, index, ticks) {\n    if (tickValue === 0) {\n      return '0';\n    }\n    const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n    if (remain === 1 || remain === 2 || remain === 5) {\n      return formatters.numeric.call(this, tickValue, index, ticks);\n    }\n    return '';\n  }\n};\nfunction calculateDelta(tickValue, ticks) {\n  let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n  if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n    delta = tickValue - Math.floor(tickValue);\n  }\n  return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n  display: true,\n  offset: false,\n  reverse: false,\n  beginAtZero: false,\n  bounds: 'ticks',\n  grace: 0,\n  grid: {\n    display: true,\n    lineWidth: 1,\n    drawBorder: true,\n    drawOnChartArea: true,\n    drawTicks: true,\n    tickLength: 8,\n    tickWidth: (_ctx, options) => options.lineWidth,\n    tickColor: (_ctx, options) => options.color,\n    offset: false,\n    borderDash: [],\n    borderDashOffset: 0.0,\n    borderWidth: 1\n  },\n  title: {\n    display: false,\n    text: '',\n    padding: {\n      top: 4,\n      bottom: 4\n    }\n  },\n  ticks: {\n    minRotation: 0,\n    maxRotation: 50,\n    mirror: false,\n    textStrokeWidth: 0,\n    textStrokeColor: '',\n    padding: 3,\n    display: true,\n    autoSkip: true,\n    autoSkipPadding: 3,\n    labelOffset: 0,\n    callback: Ticks.formatters.values,\n    minor: {},\n    major: {},\n    align: 'center',\n    crossAlign: 'near',\n    showLabelBackdrop: false,\n    backdropColor: 'rgba(255, 255, 255, 0.75)',\n    backdropPadding: 2,\n  }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n  _fallback: false,\n  _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n  _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n  _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n  _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n  _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n  const tickOpts = scale.options.ticks;\n  const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n  const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n  const numMajorIndices = majorIndices.length;\n  const first = majorIndices[0];\n  const last = majorIndices[numMajorIndices - 1];\n  const newTicks = [];\n  if (numMajorIndices > ticksLimit) {\n    skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n    return newTicks;\n  }\n  const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n  if (numMajorIndices > 0) {\n    let i, ilen;\n    const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n    skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n    for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n      skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n    }\n    skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n    return newTicks;\n  }\n  skip(ticks, newTicks, spacing);\n  return newTicks;\n}\nfunction determineMaxTicks(scale) {\n  const offset = scale.options.offset;\n  const tickLength = scale._tickSize();\n  const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n  const maxChart = scale._maxLength / tickLength;\n  return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n  const evenMajorSpacing = getEvenSpacing(majorIndices);\n  const spacing = ticks.length / ticksLimit;\n  if (!evenMajorSpacing) {\n    return Math.max(spacing, 1);\n  }\n  const factors = _factorize(evenMajorSpacing);\n  for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n    const factor = factors[i];\n    if (factor > spacing) {\n      return factor;\n    }\n  }\n  return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n  const result = [];\n  let i, ilen;\n  for (i = 0, ilen = ticks.length; i < ilen; i++) {\n    if (ticks[i].major) {\n      result.push(i);\n    }\n  }\n  return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n  let count = 0;\n  let next = majorIndices[0];\n  let i;\n  spacing = Math.ceil(spacing);\n  for (i = 0; i < ticks.length; i++) {\n    if (i === next) {\n      newTicks.push(ticks[i]);\n      count++;\n      next = majorIndices[count * spacing];\n    }\n  }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n  const start = valueOrDefault(majorStart, 0);\n  const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n  let count = 0;\n  let length, i, next;\n  spacing = Math.ceil(spacing);\n  if (majorEnd) {\n    length = majorEnd - majorStart;\n    spacing = length / Math.floor(length / spacing);\n  }\n  next = start;\n  while (next < 0) {\n    count++;\n    next = Math.round(start + count * spacing);\n  }\n  for (i = Math.max(start, 0); i < end; i++) {\n    if (i === next) {\n      newTicks.push(ticks[i]);\n      count++;\n      next = Math.round(start + count * spacing);\n    }\n  }\n}\nfunction getEvenSpacing(arr) {\n  const len = arr.length;\n  let i, diff;\n  if (len < 2) {\n    return false;\n  }\n  for (diff = arr[0], i = 1; i < len; ++i) {\n    if (arr[i] - arr[i - 1] !== diff) {\n      return false;\n    }\n  }\n  return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n  const result = [];\n  const increment = arr.length / numItems;\n  const len = arr.length;\n  let i = 0;\n  for (; i < len; i += increment) {\n    result.push(arr[Math.floor(i)]);\n  }\n  return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n  const length = scale.ticks.length;\n  const validIndex = Math.min(index, length - 1);\n  const start = scale._startPixel;\n  const end = scale._endPixel;\n  const epsilon = 1e-6;\n  let lineValue = scale.getPixelForTick(validIndex);\n  let offset;\n  if (offsetGridLines) {\n    if (length === 1) {\n      offset = Math.max(lineValue - start, end - lineValue);\n    } else if (index === 0) {\n      offset = (scale.getPixelForTick(1) - lineValue) / 2;\n    } else {\n      offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n    }\n    lineValue += validIndex < index ? offset : -offset;\n    if (lineValue < start - epsilon || lineValue > end + epsilon) {\n      return;\n    }\n  }\n  return lineValue;\n}\nfunction garbageCollect(caches, length) {\n  each(caches, (cache) => {\n    const gc = cache.gc;\n    const gcLen = gc.length / 2;\n    let i;\n    if (gcLen > length) {\n      for (i = 0; i < gcLen; ++i) {\n        delete cache.data[gc[i]];\n      }\n      gc.splice(0, gcLen);\n    }\n  });\n}\nfunction getTickMarkLength(options) {\n  return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n  if (!options.display) {\n    return 0;\n  }\n  const font = toFont(options.font, fallback);\n  const padding = toPadding(options.padding);\n  const lines = isArray(options.text) ? options.text.length : 1;\n  return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n  return createContext(parent, {\n    scale,\n    type: 'scale'\n  });\n}\nfunction createTickContext(parent, index, tick) {\n  return createContext(parent, {\n    tick,\n    index,\n    type: 'tick'\n  });\n}\nfunction titleAlign(align, position, reverse) {\n  let ret = _toLeftRightCenter(align);\n  if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n    ret = reverseAlign(ret);\n  }\n  return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n  const {top, left, bottom, right, chart} = scale;\n  const {chartArea, scales} = chart;\n  let rotation = 0;\n  let maxWidth, titleX, titleY;\n  const height = bottom - top;\n  const width = right - left;\n  if (scale.isHorizontal()) {\n    titleX = _alignStartEnd(align, left, right);\n    if (isObject(position)) {\n      const positionAxisID = Object.keys(position)[0];\n      const value = position[positionAxisID];\n      titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n    } else if (position === 'center') {\n      titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n    } else {\n      titleY = offsetFromEdge(scale, position, offset);\n    }\n    maxWidth = right - left;\n  } else {\n    if (isObject(position)) {\n      const positionAxisID = Object.keys(position)[0];\n      const value = position[positionAxisID];\n      titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n    } else if (position === 'center') {\n      titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n    } else {\n      titleX = offsetFromEdge(scale, position, offset);\n    }\n    titleY = _alignStartEnd(align, bottom, top);\n    rotation = position === 'left' ? -HALF_PI : HALF_PI;\n  }\n  return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n  constructor(cfg) {\n    super();\n    this.id = cfg.id;\n    this.type = cfg.type;\n    this.options = undefined;\n    this.ctx = cfg.ctx;\n    this.chart = cfg.chart;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this._margins = {\n      left: 0,\n      right: 0,\n      top: 0,\n      bottom: 0\n    };\n    this.maxWidth = undefined;\n    this.maxHeight = undefined;\n    this.paddingTop = undefined;\n    this.paddingBottom = undefined;\n    this.paddingLeft = undefined;\n    this.paddingRight = undefined;\n    this.axis = undefined;\n    this.labelRotation = undefined;\n    this.min = undefined;\n    this.max = undefined;\n    this._range = undefined;\n    this.ticks = [];\n    this._gridLineItems = null;\n    this._labelItems = null;\n    this._labelSizes = null;\n    this._length = 0;\n    this._maxLength = 0;\n    this._longestTextCache = {};\n    this._startPixel = undefined;\n    this._endPixel = undefined;\n    this._reversePixels = false;\n    this._userMax = undefined;\n    this._userMin = undefined;\n    this._suggestedMax = undefined;\n    this._suggestedMin = undefined;\n    this._ticksLength = 0;\n    this._borderValue = 0;\n    this._cache = {};\n    this._dataLimitsCached = false;\n    this.$context = undefined;\n  }\n  init(options) {\n    this.options = options.setContext(this.getContext());\n    this.axis = options.axis;\n    this._userMin = this.parse(options.min);\n    this._userMax = this.parse(options.max);\n    this._suggestedMin = this.parse(options.suggestedMin);\n    this._suggestedMax = this.parse(options.suggestedMax);\n  }\n  parse(raw, index) {\n    return raw;\n  }\n  getUserBounds() {\n    let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n    _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n    _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n    _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n    _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n    return {\n      min: finiteOrDefault(_userMin, _suggestedMin),\n      max: finiteOrDefault(_userMax, _suggestedMax),\n      minDefined: isNumberFinite(_userMin),\n      maxDefined: isNumberFinite(_userMax)\n    };\n  }\n  getMinMax(canStack) {\n    let {min, max, minDefined, maxDefined} = this.getUserBounds();\n    let range;\n    if (minDefined && maxDefined) {\n      return {min, max};\n    }\n    const metas = this.getMatchingVisibleMetas();\n    for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n      range = metas[i].controller.getMinMax(this, canStack);\n      if (!minDefined) {\n        min = Math.min(min, range.min);\n      }\n      if (!maxDefined) {\n        max = Math.max(max, range.max);\n      }\n    }\n    min = maxDefined && min > max ? max : min;\n    max = minDefined && min > max ? min : max;\n    return {\n      min: finiteOrDefault(min, finiteOrDefault(max, min)),\n      max: finiteOrDefault(max, finiteOrDefault(min, max))\n    };\n  }\n  getPadding() {\n    return {\n      left: this.paddingLeft || 0,\n      top: this.paddingTop || 0,\n      right: this.paddingRight || 0,\n      bottom: this.paddingBottom || 0\n    };\n  }\n  getTicks() {\n    return this.ticks;\n  }\n  getLabels() {\n    const data = this.chart.data;\n    return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n  }\n  beforeLayout() {\n    this._cache = {};\n    this._dataLimitsCached = false;\n  }\n  beforeUpdate() {\n    callback(this.options.beforeUpdate, [this]);\n  }\n  update(maxWidth, maxHeight, margins) {\n    const {beginAtZero, grace, ticks: tickOpts} = this.options;\n    const sampleSize = tickOpts.sampleSize;\n    this.beforeUpdate();\n    this.maxWidth = maxWidth;\n    this.maxHeight = maxHeight;\n    this._margins = margins = Object.assign({\n      left: 0,\n      right: 0,\n      top: 0,\n      bottom: 0\n    }, margins);\n    this.ticks = null;\n    this._labelSizes = null;\n    this._gridLineItems = null;\n    this._labelItems = null;\n    this.beforeSetDimensions();\n    this.setDimensions();\n    this.afterSetDimensions();\n    this._maxLength = this.isHorizontal()\n      ? this.width + margins.left + margins.right\n      : this.height + margins.top + margins.bottom;\n    if (!this._dataLimitsCached) {\n      this.beforeDataLimits();\n      this.determineDataLimits();\n      this.afterDataLimits();\n      this._range = _addGrace(this, grace, beginAtZero);\n      this._dataLimitsCached = true;\n    }\n    this.beforeBuildTicks();\n    this.ticks = this.buildTicks() || [];\n    this.afterBuildTicks();\n    const samplingEnabled = sampleSize < this.ticks.length;\n    this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n    this.configure();\n    this.beforeCalculateLabelRotation();\n    this.calculateLabelRotation();\n    this.afterCalculateLabelRotation();\n    if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n      this.ticks = autoSkip(this, this.ticks);\n      this._labelSizes = null;\n      this.afterAutoSkip();\n    }\n    if (samplingEnabled) {\n      this._convertTicksToLabels(this.ticks);\n    }\n    this.beforeFit();\n    this.fit();\n    this.afterFit();\n    this.afterUpdate();\n  }\n  configure() {\n    let reversePixels = this.options.reverse;\n    let startPixel, endPixel;\n    if (this.isHorizontal()) {\n      startPixel = this.left;\n      endPixel = this.right;\n    } else {\n      startPixel = this.top;\n      endPixel = this.bottom;\n      reversePixels = !reversePixels;\n    }\n    this._startPixel = startPixel;\n    this._endPixel = endPixel;\n    this._reversePixels = reversePixels;\n    this._length = endPixel - startPixel;\n    this._alignToPixels = this.options.alignToPixels;\n  }\n  afterUpdate() {\n    callback(this.options.afterUpdate, [this]);\n  }\n  beforeSetDimensions() {\n    callback(this.options.beforeSetDimensions, [this]);\n  }\n  setDimensions() {\n    if (this.isHorizontal()) {\n      this.width = this.maxWidth;\n      this.left = 0;\n      this.right = this.width;\n    } else {\n      this.height = this.maxHeight;\n      this.top = 0;\n      this.bottom = this.height;\n    }\n    this.paddingLeft = 0;\n    this.paddingTop = 0;\n    this.paddingRight = 0;\n    this.paddingBottom = 0;\n  }\n  afterSetDimensions() {\n    callback(this.options.afterSetDimensions, [this]);\n  }\n  _callHooks(name) {\n    this.chart.notifyPlugins(name, this.getContext());\n    callback(this.options[name], [this]);\n  }\n  beforeDataLimits() {\n    this._callHooks('beforeDataLimits');\n  }\n  determineDataLimits() {}\n  afterDataLimits() {\n    this._callHooks('afterDataLimits');\n  }\n  beforeBuildTicks() {\n    this._callHooks('beforeBuildTicks');\n  }\n  buildTicks() {\n    return [];\n  }\n  afterBuildTicks() {\n    this._callHooks('afterBuildTicks');\n  }\n  beforeTickToLabelConversion() {\n    callback(this.options.beforeTickToLabelConversion, [this]);\n  }\n  generateTickLabels(ticks) {\n    const tickOpts = this.options.ticks;\n    let i, ilen, tick;\n    for (i = 0, ilen = ticks.length; i < ilen; i++) {\n      tick = ticks[i];\n      tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n    }\n  }\n  afterTickToLabelConversion() {\n    callback(this.options.afterTickToLabelConversion, [this]);\n  }\n  beforeCalculateLabelRotation() {\n    callback(this.options.beforeCalculateLabelRotation, [this]);\n  }\n  calculateLabelRotation() {\n    const options = this.options;\n    const tickOpts = options.ticks;\n    const numTicks = this.ticks.length;\n    const minRotation = tickOpts.minRotation || 0;\n    const maxRotation = tickOpts.maxRotation;\n    let labelRotation = minRotation;\n    let tickWidth, maxHeight, maxLabelDiagonal;\n    if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n      this.labelRotation = minRotation;\n      return;\n    }\n    const labelSizes = this._getLabelSizes();\n    const maxLabelWidth = labelSizes.widest.width;\n    const maxLabelHeight = labelSizes.highest.height;\n    const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n    tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n    if (maxLabelWidth + 6 > tickWidth) {\n      tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n      maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n      maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n      labelRotation = toDegrees(Math.min(\n        Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n        Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n      ));\n      labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n    }\n    this.labelRotation = labelRotation;\n  }\n  afterCalculateLabelRotation() {\n    callback(this.options.afterCalculateLabelRotation, [this]);\n  }\n  afterAutoSkip() {}\n  beforeFit() {\n    callback(this.options.beforeFit, [this]);\n  }\n  fit() {\n    const minSize = {\n      width: 0,\n      height: 0\n    };\n    const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n    const display = this._isVisible();\n    const isHorizontal = this.isHorizontal();\n    if (display) {\n      const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n      if (isHorizontal) {\n        minSize.width = this.maxWidth;\n        minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n      } else {\n        minSize.height = this.maxHeight;\n        minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n      }\n      if (tickOpts.display && this.ticks.length) {\n        const {first, last, widest, highest} = this._getLabelSizes();\n        const tickPadding = tickOpts.padding * 2;\n        const angleRadians = toRadians(this.labelRotation);\n        const cos = Math.cos(angleRadians);\n        const sin = Math.sin(angleRadians);\n        if (isHorizontal) {\n          const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n          minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n        } else {\n          const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n          minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n        }\n        this._calculatePadding(first, last, sin, cos);\n      }\n    }\n    this._handleMargins();\n    if (isHorizontal) {\n      this.width = this._length = chart.width - this._margins.left - this._margins.right;\n      this.height = minSize.height;\n    } else {\n      this.width = minSize.width;\n      this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n    }\n  }\n  _calculatePadding(first, last, sin, cos) {\n    const {ticks: {align, padding}, position} = this.options;\n    const isRotated = this.labelRotation !== 0;\n    const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n    if (this.isHorizontal()) {\n      const offsetLeft = this.getPixelForTick(0) - this.left;\n      const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n      let paddingLeft = 0;\n      let paddingRight = 0;\n      if (isRotated) {\n        if (labelsBelowTicks) {\n          paddingLeft = cos * first.width;\n          paddingRight = sin * last.height;\n        } else {\n          paddingLeft = sin * first.height;\n          paddingRight = cos * last.width;\n        }\n      } else if (align === 'start') {\n        paddingRight = last.width;\n      } else if (align === 'end') {\n        paddingLeft = first.width;\n      } else if (align !== 'inner') {\n        paddingLeft = first.width / 2;\n        paddingRight = last.width / 2;\n      }\n      this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n      this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n    } else {\n      let paddingTop = last.height / 2;\n      let paddingBottom = first.height / 2;\n      if (align === 'start') {\n        paddingTop = 0;\n        paddingBottom = first.height;\n      } else if (align === 'end') {\n        paddingTop = last.height;\n        paddingBottom = 0;\n      }\n      this.paddingTop = paddingTop + padding;\n      this.paddingBottom = paddingBottom + padding;\n    }\n  }\n  _handleMargins() {\n    if (this._margins) {\n      this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n      this._margins.top = Math.max(this.paddingTop, this._margins.top);\n      this._margins.right = Math.max(this.paddingRight, this._margins.right);\n      this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n    }\n  }\n  afterFit() {\n    callback(this.options.afterFit, [this]);\n  }\n  isHorizontal() {\n    const {axis, position} = this.options;\n    return position === 'top' || position === 'bottom' || axis === 'x';\n  }\n  isFullSize() {\n    return this.options.fullSize;\n  }\n  _convertTicksToLabels(ticks) {\n    this.beforeTickToLabelConversion();\n    this.generateTickLabels(ticks);\n    let i, ilen;\n    for (i = 0, ilen = ticks.length; i < ilen; i++) {\n      if (isNullOrUndef(ticks[i].label)) {\n        ticks.splice(i, 1);\n        ilen--;\n        i--;\n      }\n    }\n    this.afterTickToLabelConversion();\n  }\n  _getLabelSizes() {\n    let labelSizes = this._labelSizes;\n    if (!labelSizes) {\n      const sampleSize = this.options.ticks.sampleSize;\n      let ticks = this.ticks;\n      if (sampleSize < ticks.length) {\n        ticks = sample(ticks, sampleSize);\n      }\n      this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n    }\n    return labelSizes;\n  }\n  _computeLabelSizes(ticks, length) {\n    const {ctx, _longestTextCache: caches} = this;\n    const widths = [];\n    const heights = [];\n    let widestLabelSize = 0;\n    let highestLabelSize = 0;\n    let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n    for (i = 0; i < length; ++i) {\n      label = ticks[i].label;\n      tickFont = this._resolveTickFontOptions(i);\n      ctx.font = fontString = tickFont.string;\n      cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n      lineHeight = tickFont.lineHeight;\n      width = height = 0;\n      if (!isNullOrUndef(label) && !isArray(label)) {\n        width = _measureText(ctx, cache.data, cache.gc, width, label);\n        height = lineHeight;\n      } else if (isArray(label)) {\n        for (j = 0, jlen = label.length; j < jlen; ++j) {\n          nestedLabel = label[j];\n          if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n            width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n            height += lineHeight;\n          }\n        }\n      }\n      widths.push(width);\n      heights.push(height);\n      widestLabelSize = Math.max(width, widestLabelSize);\n      highestLabelSize = Math.max(height, highestLabelSize);\n    }\n    garbageCollect(caches, length);\n    const widest = widths.indexOf(widestLabelSize);\n    const highest = heights.indexOf(highestLabelSize);\n    const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n    return {\n      first: valueAt(0),\n      last: valueAt(length - 1),\n      widest: valueAt(widest),\n      highest: valueAt(highest),\n      widths,\n      heights,\n    };\n  }\n  getLabelForValue(value) {\n    return value;\n  }\n  getPixelForValue(value, index) {\n    return NaN;\n  }\n  getValueForPixel(pixel) {}\n  getPixelForTick(index) {\n    const ticks = this.ticks;\n    if (index < 0 || index > ticks.length - 1) {\n      return null;\n    }\n    return this.getPixelForValue(ticks[index].value);\n  }\n  getPixelForDecimal(decimal) {\n    if (this._reversePixels) {\n      decimal = 1 - decimal;\n    }\n    const pixel = this._startPixel + decimal * this._length;\n    return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n  }\n  getDecimalForPixel(pixel) {\n    const decimal = (pixel - this._startPixel) / this._length;\n    return this._reversePixels ? 1 - decimal : decimal;\n  }\n  getBasePixel() {\n    return this.getPixelForValue(this.getBaseValue());\n  }\n  getBaseValue() {\n    const {min, max} = this;\n    return min < 0 && max < 0 ? max :\n      min > 0 && max > 0 ? min :\n      0;\n  }\n  getContext(index) {\n    const ticks = this.ticks || [];\n    if (index >= 0 && index < ticks.length) {\n      const tick = ticks[index];\n      return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n    }\n    return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n  }\n  _tickSize() {\n    const optionTicks = this.options.ticks;\n    const rot = toRadians(this.labelRotation);\n    const cos = Math.abs(Math.cos(rot));\n    const sin = Math.abs(Math.sin(rot));\n    const labelSizes = this._getLabelSizes();\n    const padding = optionTicks.autoSkipPadding || 0;\n    const w = labelSizes ? labelSizes.widest.width + padding : 0;\n    const h = labelSizes ? labelSizes.highest.height + padding : 0;\n    return this.isHorizontal()\n      ? h * cos > w * sin ? w / cos : h / sin\n      : h * sin < w * cos ? h / cos : w / sin;\n  }\n  _isVisible() {\n    const display = this.options.display;\n    if (display !== 'auto') {\n      return !!display;\n    }\n    return this.getMatchingVisibleMetas().length > 0;\n  }\n  _computeGridLineItems(chartArea) {\n    const axis = this.axis;\n    const chart = this.chart;\n    const options = this.options;\n    const {grid, position} = options;\n    const offset = grid.offset;\n    const isHorizontal = this.isHorizontal();\n    const ticks = this.ticks;\n    const ticksLength = ticks.length + (offset ? 1 : 0);\n    const tl = getTickMarkLength(grid);\n    const items = [];\n    const borderOpts = grid.setContext(this.getContext());\n    const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n    const axisHalfWidth = axisWidth / 2;\n    const alignBorderValue = function(pixel) {\n      return _alignPixel(chart, pixel, axisWidth);\n    };\n    let borderValue, i, lineValue, alignedLineValue;\n    let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n    if (position === 'top') {\n      borderValue = alignBorderValue(this.bottom);\n      ty1 = this.bottom - tl;\n      ty2 = borderValue - axisHalfWidth;\n      y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n      y2 = chartArea.bottom;\n    } else if (position === 'bottom') {\n      borderValue = alignBorderValue(this.top);\n      y1 = chartArea.top;\n      y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n      ty1 = borderValue + axisHalfWidth;\n      ty2 = this.top + tl;\n    } else if (position === 'left') {\n      borderValue = alignBorderValue(this.right);\n      tx1 = this.right - tl;\n      tx2 = borderValue - axisHalfWidth;\n      x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n      x2 = chartArea.right;\n    } else if (position === 'right') {\n      borderValue = alignBorderValue(this.left);\n      x1 = chartArea.left;\n      x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n      tx1 = borderValue + axisHalfWidth;\n      tx2 = this.left + tl;\n    } else if (axis === 'x') {\n      if (position === 'center') {\n        borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n      }\n      y1 = chartArea.top;\n      y2 = chartArea.bottom;\n      ty1 = borderValue + axisHalfWidth;\n      ty2 = ty1 + tl;\n    } else if (axis === 'y') {\n      if (position === 'center') {\n        borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n      }\n      tx1 = borderValue - axisHalfWidth;\n      tx2 = tx1 - tl;\n      x1 = chartArea.left;\n      x2 = chartArea.right;\n    }\n    const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n    const step = Math.max(1, Math.ceil(ticksLength / limit));\n    for (i = 0; i < ticksLength; i += step) {\n      const optsAtIndex = grid.setContext(this.getContext(i));\n      const lineWidth = optsAtIndex.lineWidth;\n      const lineColor = optsAtIndex.color;\n      const borderDash = optsAtIndex.borderDash || [];\n      const borderDashOffset = optsAtIndex.borderDashOffset;\n      const tickWidth = optsAtIndex.tickWidth;\n      const tickColor = optsAtIndex.tickColor;\n      const tickBorderDash = optsAtIndex.tickBorderDash || [];\n      const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n      lineValue = getPixelForGridLine(this, i, offset);\n      if (lineValue === undefined) {\n        continue;\n      }\n      alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n      if (isHorizontal) {\n        tx1 = tx2 = x1 = x2 = alignedLineValue;\n      } else {\n        ty1 = ty2 = y1 = y2 = alignedLineValue;\n      }\n      items.push({\n        tx1,\n        ty1,\n        tx2,\n        ty2,\n        x1,\n        y1,\n        x2,\n        y2,\n        width: lineWidth,\n        color: lineColor,\n        borderDash,\n        borderDashOffset,\n        tickWidth,\n        tickColor,\n        tickBorderDash,\n        tickBorderDashOffset,\n      });\n    }\n    this._ticksLength = ticksLength;\n    this._borderValue = borderValue;\n    return items;\n  }\n  _computeLabelItems(chartArea) {\n    const axis = this.axis;\n    const options = this.options;\n    const {position, ticks: optionTicks} = options;\n    const isHorizontal = this.isHorizontal();\n    const ticks = this.ticks;\n    const {align, crossAlign, padding, mirror} = optionTicks;\n    const tl = getTickMarkLength(options.grid);\n    const tickAndPadding = tl + padding;\n    const hTickAndPadding = mirror ? -padding : tickAndPadding;\n    const rotation = -toRadians(this.labelRotation);\n    const items = [];\n    let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n    let textBaseline = 'middle';\n    if (position === 'top') {\n      y = this.bottom - hTickAndPadding;\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (position === 'bottom') {\n      y = this.top + hTickAndPadding;\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (position === 'left') {\n      const ret = this._getYAxisLabelAlignment(tl);\n      textAlign = ret.textAlign;\n      x = ret.x;\n    } else if (position === 'right') {\n      const ret = this._getYAxisLabelAlignment(tl);\n      textAlign = ret.textAlign;\n      x = ret.x;\n    } else if (axis === 'x') {\n      if (position === 'center') {\n        y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n      }\n      textAlign = this._getXAxisLabelAlignment();\n    } else if (axis === 'y') {\n      if (position === 'center') {\n        x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n      } else if (isObject(position)) {\n        const positionAxisID = Object.keys(position)[0];\n        const value = position[positionAxisID];\n        x = this.chart.scales[positionAxisID].getPixelForValue(value);\n      }\n      textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n    }\n    if (axis === 'y') {\n      if (align === 'start') {\n        textBaseline = 'top';\n      } else if (align === 'end') {\n        textBaseline = 'bottom';\n      }\n    }\n    const labelSizes = this._getLabelSizes();\n    for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n      tick = ticks[i];\n      label = tick.label;\n      const optsAtIndex = optionTicks.setContext(this.getContext(i));\n      pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n      font = this._resolveTickFontOptions(i);\n      lineHeight = font.lineHeight;\n      lineCount = isArray(label) ? label.length : 1;\n      const halfCount = lineCount / 2;\n      const color = optsAtIndex.color;\n      const strokeColor = optsAtIndex.textStrokeColor;\n      const strokeWidth = optsAtIndex.textStrokeWidth;\n      let tickTextAlign = textAlign;\n      if (isHorizontal) {\n        x = pixel;\n        if (textAlign === 'inner') {\n          if (i === ilen - 1) {\n            tickTextAlign = !this.options.reverse ? 'right' : 'left';\n          } else if (i === 0) {\n            tickTextAlign = !this.options.reverse ? 'left' : 'right';\n          } else {\n            tickTextAlign = 'center';\n          }\n        }\n        if (position === 'top') {\n          if (crossAlign === 'near' || rotation !== 0) {\n            textOffset = -lineCount * lineHeight + lineHeight / 2;\n          } else if (crossAlign === 'center') {\n            textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n          } else {\n            textOffset = -labelSizes.highest.height + lineHeight / 2;\n          }\n        } else {\n          if (crossAlign === 'near' || rotation !== 0) {\n            textOffset = lineHeight / 2;\n          } else if (crossAlign === 'center') {\n            textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n          } else {\n            textOffset = labelSizes.highest.height - lineCount * lineHeight;\n          }\n        }\n        if (mirror) {\n          textOffset *= -1;\n        }\n      } else {\n        y = pixel;\n        textOffset = (1 - lineCount) * lineHeight / 2;\n      }\n      let backdrop;\n      if (optsAtIndex.showLabelBackdrop) {\n        const labelPadding = toPadding(optsAtIndex.backdropPadding);\n        const height = labelSizes.heights[i];\n        const width = labelSizes.widths[i];\n        let top = y + textOffset - labelPadding.top;\n        let left = x - labelPadding.left;\n        switch (textBaseline) {\n        case 'middle':\n          top -= height / 2;\n          break;\n        case 'bottom':\n          top -= height;\n          break;\n        }\n        switch (textAlign) {\n        case 'center':\n          left -= width / 2;\n          break;\n        case 'right':\n          left -= width;\n          break;\n        }\n        backdrop = {\n          left,\n          top,\n          width: width + labelPadding.width,\n          height: height + labelPadding.height,\n          color: optsAtIndex.backdropColor,\n        };\n      }\n      items.push({\n        rotation,\n        label,\n        font,\n        color,\n        strokeColor,\n        strokeWidth,\n        textOffset,\n        textAlign: tickTextAlign,\n        textBaseline,\n        translation: [x, y],\n        backdrop,\n      });\n    }\n    return items;\n  }\n  _getXAxisLabelAlignment() {\n    const {position, ticks} = this.options;\n    const rotation = -toRadians(this.labelRotation);\n    if (rotation) {\n      return position === 'top' ? 'left' : 'right';\n    }\n    let align = 'center';\n    if (ticks.align === 'start') {\n      align = 'left';\n    } else if (ticks.align === 'end') {\n      align = 'right';\n    } else if (ticks.align === 'inner') {\n      align = 'inner';\n    }\n    return align;\n  }\n  _getYAxisLabelAlignment(tl) {\n    const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n    const labelSizes = this._getLabelSizes();\n    const tickAndPadding = tl + padding;\n    const widest = labelSizes.widest.width;\n    let textAlign;\n    let x;\n    if (position === 'left') {\n      if (mirror) {\n        x = this.right + padding;\n        if (crossAlign === 'near') {\n          textAlign = 'left';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x += (widest / 2);\n        } else {\n          textAlign = 'right';\n          x += widest;\n        }\n      } else {\n        x = this.right - tickAndPadding;\n        if (crossAlign === 'near') {\n          textAlign = 'right';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x -= (widest / 2);\n        } else {\n          textAlign = 'left';\n          x = this.left;\n        }\n      }\n    } else if (position === 'right') {\n      if (mirror) {\n        x = this.left + padding;\n        if (crossAlign === 'near') {\n          textAlign = 'right';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x -= (widest / 2);\n        } else {\n          textAlign = 'left';\n          x -= widest;\n        }\n      } else {\n        x = this.left + tickAndPadding;\n        if (crossAlign === 'near') {\n          textAlign = 'left';\n        } else if (crossAlign === 'center') {\n          textAlign = 'center';\n          x += widest / 2;\n        } else {\n          textAlign = 'right';\n          x = this.right;\n        }\n      }\n    } else {\n      textAlign = 'right';\n    }\n    return {textAlign, x};\n  }\n  _computeLabelArea() {\n    if (this.options.ticks.mirror) {\n      return;\n    }\n    const chart = this.chart;\n    const position = this.options.position;\n    if (position === 'left' || position === 'right') {\n      return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n    } if (position === 'top' || position === 'bottom') {\n      return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n    }\n  }\n  drawBackground() {\n    const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n    if (backgroundColor) {\n      ctx.save();\n      ctx.fillStyle = backgroundColor;\n      ctx.fillRect(left, top, width, height);\n      ctx.restore();\n    }\n  }\n  getLineWidthForValue(value) {\n    const grid = this.options.grid;\n    if (!this._isVisible() || !grid.display) {\n      return 0;\n    }\n    const ticks = this.ticks;\n    const index = ticks.findIndex(t => t.value === value);\n    if (index >= 0) {\n      const opts = grid.setContext(this.getContext(index));\n      return opts.lineWidth;\n    }\n    return 0;\n  }\n  drawGrid(chartArea) {\n    const grid = this.options.grid;\n    const ctx = this.ctx;\n    const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n    let i, ilen;\n    const drawLine = (p1, p2, style) => {\n      if (!style.width || !style.color) {\n        return;\n      }\n      ctx.save();\n      ctx.lineWidth = style.width;\n      ctx.strokeStyle = style.color;\n      ctx.setLineDash(style.borderDash || []);\n      ctx.lineDashOffset = style.borderDashOffset;\n      ctx.beginPath();\n      ctx.moveTo(p1.x, p1.y);\n      ctx.lineTo(p2.x, p2.y);\n      ctx.stroke();\n      ctx.restore();\n    };\n    if (grid.display) {\n      for (i = 0, ilen = items.length; i < ilen; ++i) {\n        const item = items[i];\n        if (grid.drawOnChartArea) {\n          drawLine(\n            {x: item.x1, y: item.y1},\n            {x: item.x2, y: item.y2},\n            item\n          );\n        }\n        if (grid.drawTicks) {\n          drawLine(\n            {x: item.tx1, y: item.ty1},\n            {x: item.tx2, y: item.ty2},\n            {\n              color: item.tickColor,\n              width: item.tickWidth,\n              borderDash: item.tickBorderDash,\n              borderDashOffset: item.tickBorderDashOffset\n            }\n          );\n        }\n      }\n    }\n  }\n  drawBorder() {\n    const {chart, ctx, options: {grid}} = this;\n    const borderOpts = grid.setContext(this.getContext());\n    const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n    if (!axisWidth) {\n      return;\n    }\n    const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n    const borderValue = this._borderValue;\n    let x1, x2, y1, y2;\n    if (this.isHorizontal()) {\n      x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n      x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n      y1 = y2 = borderValue;\n    } else {\n      y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n      y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n      x1 = x2 = borderValue;\n    }\n    ctx.save();\n    ctx.lineWidth = borderOpts.borderWidth;\n    ctx.strokeStyle = borderOpts.borderColor;\n    ctx.beginPath();\n    ctx.moveTo(x1, y1);\n    ctx.lineTo(x2, y2);\n    ctx.stroke();\n    ctx.restore();\n  }\n  drawLabels(chartArea) {\n    const optionTicks = this.options.ticks;\n    if (!optionTicks.display) {\n      return;\n    }\n    const ctx = this.ctx;\n    const area = this._computeLabelArea();\n    if (area) {\n      clipArea(ctx, area);\n    }\n    const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n    let i, ilen;\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      const item = items[i];\n      const tickFont = item.font;\n      const label = item.label;\n      if (item.backdrop) {\n        ctx.fillStyle = item.backdrop.color;\n        ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n      }\n      let y = item.textOffset;\n      renderText(ctx, label, 0, y, tickFont, item);\n    }\n    if (area) {\n      unclipArea(ctx);\n    }\n  }\n  drawTitle() {\n    const {ctx, options: {position, title, reverse}} = this;\n    if (!title.display) {\n      return;\n    }\n    const font = toFont(title.font);\n    const padding = toPadding(title.padding);\n    const align = title.align;\n    let offset = font.lineHeight / 2;\n    if (position === 'bottom' || position === 'center' || isObject(position)) {\n      offset += padding.bottom;\n      if (isArray(title.text)) {\n        offset += font.lineHeight * (title.text.length - 1);\n      }\n    } else {\n      offset += padding.top;\n    }\n    const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n    renderText(ctx, title.text, 0, 0, font, {\n      color: title.color,\n      maxWidth,\n      rotation,\n      textAlign: titleAlign(align, position, reverse),\n      textBaseline: 'middle',\n      translation: [titleX, titleY],\n    });\n  }\n  draw(chartArea) {\n    if (!this._isVisible()) {\n      return;\n    }\n    this.drawBackground();\n    this.drawGrid(chartArea);\n    this.drawBorder();\n    this.drawTitle();\n    this.drawLabels(chartArea);\n  }\n  _layers() {\n    const opts = this.options;\n    const tz = opts.ticks && opts.ticks.z || 0;\n    const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n    if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n      return [{\n        z: tz,\n        draw: (chartArea) => {\n          this.draw(chartArea);\n        }\n      }];\n    }\n    return [{\n      z: gz,\n      draw: (chartArea) => {\n        this.drawBackground();\n        this.drawGrid(chartArea);\n        this.drawTitle();\n      }\n    }, {\n      z: gz + 1,\n      draw: () => {\n        this.drawBorder();\n      }\n    }, {\n      z: tz,\n      draw: (chartArea) => {\n        this.drawLabels(chartArea);\n      }\n    }];\n  }\n  getMatchingVisibleMetas(type) {\n    const metas = this.chart.getSortedVisibleDatasetMetas();\n    const axisID = this.axis + 'AxisID';\n    const result = [];\n    let i, ilen;\n    for (i = 0, ilen = metas.length; i < ilen; ++i) {\n      const meta = metas[i];\n      if (meta[axisID] === this.id && (!type || meta.type === type)) {\n        result.push(meta);\n      }\n    }\n    return result;\n  }\n  _resolveTickFontOptions(index) {\n    const opts = this.options.ticks.setContext(this.getContext(index));\n    return toFont(opts.font);\n  }\n  _maxDigits() {\n    const fontSize = this._resolveTickFontOptions(0).lineHeight;\n    return (this.isHorizontal() ? this.width : this.height) / fontSize;\n  }\n}\n\nclass TypedRegistry {\n  constructor(type, scope, override) {\n    this.type = type;\n    this.scope = scope;\n    this.override = override;\n    this.items = Object.create(null);\n  }\n  isForType(type) {\n    return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n  }\n  register(item) {\n    const proto = Object.getPrototypeOf(item);\n    let parentScope;\n    if (isIChartComponent(proto)) {\n      parentScope = this.register(proto);\n    }\n    const items = this.items;\n    const id = item.id;\n    const scope = this.scope + '.' + id;\n    if (!id) {\n      throw new Error('class does not have id: ' + item);\n    }\n    if (id in items) {\n      return scope;\n    }\n    items[id] = item;\n    registerDefaults(item, scope, parentScope);\n    if (this.override) {\n      defaults.override(item.id, item.overrides);\n    }\n    return scope;\n  }\n  get(id) {\n    return this.items[id];\n  }\n  unregister(item) {\n    const items = this.items;\n    const id = item.id;\n    const scope = this.scope;\n    if (id in items) {\n      delete items[id];\n    }\n    if (scope && id in defaults[scope]) {\n      delete defaults[scope][id];\n      if (this.override) {\n        delete overrides[id];\n      }\n    }\n  }\n}\nfunction registerDefaults(item, scope, parentScope) {\n  const itemDefaults = merge(Object.create(null), [\n    parentScope ? defaults.get(parentScope) : {},\n    defaults.get(scope),\n    item.defaults\n  ]);\n  defaults.set(scope, itemDefaults);\n  if (item.defaultRoutes) {\n    routeDefaults(scope, item.defaultRoutes);\n  }\n  if (item.descriptors) {\n    defaults.describe(scope, item.descriptors);\n  }\n}\nfunction routeDefaults(scope, routes) {\n  Object.keys(routes).forEach(property => {\n    const propertyParts = property.split('.');\n    const sourceName = propertyParts.pop();\n    const sourceScope = [scope].concat(propertyParts).join('.');\n    const parts = routes[property].split('.');\n    const targetName = parts.pop();\n    const targetScope = parts.join('.');\n    defaults.route(sourceScope, sourceName, targetScope, targetName);\n  });\n}\nfunction isIChartComponent(proto) {\n  return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n  constructor() {\n    this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n    this.elements = new TypedRegistry(Element, 'elements');\n    this.plugins = new TypedRegistry(Object, 'plugins');\n    this.scales = new TypedRegistry(Scale, 'scales');\n    this._typedRegistries = [this.controllers, this.scales, this.elements];\n  }\n  add(...args) {\n    this._each('register', args);\n  }\n  remove(...args) {\n    this._each('unregister', args);\n  }\n  addControllers(...args) {\n    this._each('register', args, this.controllers);\n  }\n  addElements(...args) {\n    this._each('register', args, this.elements);\n  }\n  addPlugins(...args) {\n    this._each('register', args, this.plugins);\n  }\n  addScales(...args) {\n    this._each('register', args, this.scales);\n  }\n  getController(id) {\n    return this._get(id, this.controllers, 'controller');\n  }\n  getElement(id) {\n    return this._get(id, this.elements, 'element');\n  }\n  getPlugin(id) {\n    return this._get(id, this.plugins, 'plugin');\n  }\n  getScale(id) {\n    return this._get(id, this.scales, 'scale');\n  }\n  removeControllers(...args) {\n    this._each('unregister', args, this.controllers);\n  }\n  removeElements(...args) {\n    this._each('unregister', args, this.elements);\n  }\n  removePlugins(...args) {\n    this._each('unregister', args, this.plugins);\n  }\n  removeScales(...args) {\n    this._each('unregister', args, this.scales);\n  }\n  _each(method, args, typedRegistry) {\n    [...args].forEach(arg => {\n      const reg = typedRegistry || this._getRegistryForType(arg);\n      if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n        this._exec(method, reg, arg);\n      } else {\n        each(arg, item => {\n          const itemReg = typedRegistry || this._getRegistryForType(item);\n          this._exec(method, itemReg, item);\n        });\n      }\n    });\n  }\n  _exec(method, registry, component) {\n    const camelMethod = _capitalize(method);\n    callback(component['before' + camelMethod], [], component);\n    registry[method](component);\n    callback(component['after' + camelMethod], [], component);\n  }\n  _getRegistryForType(type) {\n    for (let i = 0; i < this._typedRegistries.length; i++) {\n      const reg = this._typedRegistries[i];\n      if (reg.isForType(type)) {\n        return reg;\n      }\n    }\n    return this.plugins;\n  }\n  _get(id, typedRegistry, type) {\n    const item = typedRegistry.get(id);\n    if (item === undefined) {\n      throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n    }\n    return item;\n  }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n  update(mode) {\n    const meta = this._cachedMeta;\n    const {data: points = []} = meta;\n    const animationsDisabled = this.chart._animationsDisabled;\n    let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n    this._drawStart = start;\n    this._drawCount = count;\n    if (_scaleRangesChanged(meta)) {\n      start = 0;\n      count = points.length;\n    }\n    if (this.options.showLine) {\n      const {dataset: line, _dataset} = meta;\n      line._chart = this.chart;\n      line._datasetIndex = this.index;\n      line._decimated = !!_dataset._decimated;\n      line.points = points;\n      const options = this.resolveDatasetElementOptions(mode);\n      options.segment = this.options.segment;\n      this.updateElement(line, undefined, {\n        animated: !animationsDisabled,\n        options\n      }, mode);\n    }\n    this.updateElements(points, start, count, mode);\n  }\n  addElements() {\n    const {showLine} = this.options;\n    if (!this.datasetElementType && showLine) {\n      this.datasetElementType = registry.getElement('line');\n    }\n    super.addElements();\n  }\n  updateElements(points, start, count, mode) {\n    const reset = mode === 'reset';\n    const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n    const firstOpts = this.resolveDataElementOptions(start, mode);\n    const sharedOptions = this.getSharedOptions(firstOpts);\n    const includeOptions = this.includeOptions(mode, sharedOptions);\n    const iAxis = iScale.axis;\n    const vAxis = vScale.axis;\n    const {spanGaps, segment} = this.options;\n    const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n    const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n    let prevParsed = start > 0 && this.getParsed(start - 1);\n    for (let i = start; i < start + count; ++i) {\n      const point = points[i];\n      const parsed = this.getParsed(i);\n      const properties = directUpdate ? point : {};\n      const nullData = isNullOrUndef(parsed[vAxis]);\n      const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n      const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n      properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n      properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n      if (segment) {\n        properties.parsed = parsed;\n        properties.raw = _dataset.data[i];\n      }\n      if (includeOptions) {\n        properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n      }\n      if (!directUpdate) {\n        this.updateElement(point, i, properties, mode);\n      }\n      prevParsed = parsed;\n    }\n    this.updateSharedOptions(sharedOptions, mode, firstOpts);\n  }\n  getMaxOverflow() {\n    const meta = this._cachedMeta;\n    const data = meta.data || [];\n    if (!this.options.showLine) {\n      let max = 0;\n      for (let i = data.length - 1; i >= 0; --i) {\n        max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n      }\n      return max > 0 && max;\n    }\n    const dataset = meta.dataset;\n    const border = dataset.options && dataset.options.borderWidth || 0;\n    if (!data.length) {\n      return border;\n    }\n    const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n    const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n    return Math.max(border, firstPoint, lastPoint) / 2;\n  }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n  datasetElementType: false,\n  dataElementType: 'point',\n  showLine: false,\n  fill: false\n};\nScatterController.overrides = {\n  interaction: {\n    mode: 'point'\n  },\n  plugins: {\n    tooltip: {\n      callbacks: {\n        title() {\n          return '';\n        },\n        label(item) {\n          return '(' + item.label + ', ' + item.formattedValue + ')';\n        }\n      }\n    }\n  },\n  scales: {\n    x: {\n      type: 'linear'\n    },\n    y: {\n      type: 'linear'\n    }\n  }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n  throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n  constructor(options) {\n    this.options = options || {};\n  }\n  init(chartOptions) {}\n  formats() {\n    return abstract();\n  }\n  parse(value, format) {\n    return abstract();\n  }\n  format(timestamp, format) {\n    return abstract();\n  }\n  add(timestamp, amount, unit) {\n    return abstract();\n  }\n  diff(a, b, unit) {\n    return abstract();\n  }\n  startOf(timestamp, unit, weekday) {\n    return abstract();\n  }\n  endOf(timestamp, unit) {\n    return abstract();\n  }\n}\nDateAdapter.override = function(members) {\n  Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n  _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n  const {controller, data, _sorted} = metaset;\n  const iScale = controller._cachedMeta.iScale;\n  if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n    const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n    if (!intersect) {\n      return lookupMethod(data, axis, value);\n    } else if (controller._sharedOptions) {\n      const el = data[0];\n      const range = typeof el.getRange === 'function' && el.getRange(axis);\n      if (range) {\n        const start = lookupMethod(data, axis, value - range);\n        const end = lookupMethod(data, axis, value + range);\n        return {lo: start.lo, hi: end.hi};\n      }\n    }\n  }\n  return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n  const metasets = chart.getSortedVisibleDatasetMetas();\n  const value = position[axis];\n  for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n    const {index, data} = metasets[i];\n    const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n    for (let j = lo; j <= hi; ++j) {\n      const element = data[j];\n      if (!element.skip) {\n        handler(element, index, j);\n      }\n    }\n  }\n}\nfunction getDistanceMetricForAxis(axis) {\n  const useX = axis.indexOf('x') !== -1;\n  const useY = axis.indexOf('y') !== -1;\n  return function(pt1, pt2) {\n    const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n    const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n    return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n  };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n  const items = [];\n  if (!includeInvisible && !chart.isPointInArea(position)) {\n    return items;\n  }\n  const evaluationFunc = function(element, datasetIndex, index) {\n    if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n      return;\n    }\n    if (element.inRange(position.x, position.y, useFinalPosition)) {\n      items.push({element, datasetIndex, index});\n    }\n  };\n  evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n  return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n  let items = [];\n  function evaluationFunc(element, datasetIndex, index) {\n    const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n    const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n    if (_angleBetween(angle, startAngle, endAngle)) {\n      items.push({element, datasetIndex, index});\n    }\n  }\n  evaluateInteractionItems(chart, axis, position, evaluationFunc);\n  return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n  let items = [];\n  const distanceMetric = getDistanceMetricForAxis(axis);\n  let minDistance = Number.POSITIVE_INFINITY;\n  function evaluationFunc(element, datasetIndex, index) {\n    const inRange = element.inRange(position.x, position.y, useFinalPosition);\n    if (intersect && !inRange) {\n      return;\n    }\n    const center = element.getCenterPoint(useFinalPosition);\n    const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n    if (!pointInArea && !inRange) {\n      return;\n    }\n    const distance = distanceMetric(position, center);\n    if (distance < minDistance) {\n      items = [{element, datasetIndex, index}];\n      minDistance = distance;\n    } else if (distance === minDistance) {\n      items.push({element, datasetIndex, index});\n    }\n  }\n  evaluateInteractionItems(chart, axis, position, evaluationFunc);\n  return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n  if (!includeInvisible && !chart.isPointInArea(position)) {\n    return [];\n  }\n  return axis === 'r' && !intersect\n    ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n    : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n  const items = [];\n  const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n  let intersectsItem = false;\n  evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n    if (element[rangeMethod](position[axis], useFinalPosition)) {\n      items.push({element, datasetIndex, index});\n      intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n    }\n  });\n  if (intersect && !intersectsItem) {\n    return [];\n  }\n  return items;\n}\nvar Interaction = {\n  evaluateInteractionItems,\n  modes: {\n    index(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'x';\n      const includeInvisible = options.includeInvisible || false;\n      const items = options.intersect\n        ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n        : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n      const elements = [];\n      if (!items.length) {\n        return [];\n      }\n      chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n        const index = items[0].index;\n        const element = meta.data[index];\n        if (element && !element.skip) {\n          elements.push({element, datasetIndex: meta.index, index});\n        }\n      });\n      return elements;\n    },\n    dataset(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      let items = options.intersect\n        ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n        getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n      if (items.length > 0) {\n        const datasetIndex = items[0].datasetIndex;\n        const data = chart.getDatasetMeta(datasetIndex).data;\n        items = [];\n        for (let i = 0; i < data.length; ++i) {\n          items.push({element: data[i], datasetIndex, index: i});\n        }\n      }\n      return items;\n    },\n    point(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n    },\n    nearest(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      const axis = options.axis || 'xy';\n      const includeInvisible = options.includeInvisible || false;\n      return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n    },\n    x(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n    },\n    y(chart, e, options, useFinalPosition) {\n      const position = getRelativePosition(e, chart);\n      return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n    }\n  }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n  return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n  return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n  return array.sort((a, b) => {\n    const v0 = reverse ? b : a;\n    const v1 = reverse ? a : b;\n    return v0.weight === v1.weight ?\n      v0.index - v1.index :\n      v0.weight - v1.weight;\n  });\n}\nfunction wrapBoxes(boxes) {\n  const layoutBoxes = [];\n  let i, ilen, box, pos, stack, stackWeight;\n  for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n    box = boxes[i];\n    ({position: pos, options: {stack, stackWeight = 1}} = box);\n    layoutBoxes.push({\n      index: i,\n      box,\n      pos,\n      horizontal: box.isHorizontal(),\n      weight: box.weight,\n      stack: stack && (pos + stack),\n      stackWeight\n    });\n  }\n  return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n  const stacks = {};\n  for (const wrap of layouts) {\n    const {stack, pos, stackWeight} = wrap;\n    if (!stack || !STATIC_POSITIONS.includes(pos)) {\n      continue;\n    }\n    const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n    _stack.count++;\n    _stack.weight += stackWeight;\n  }\n  return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n  const stacks = buildStacks(layouts);\n  const {vBoxMaxWidth, hBoxMaxHeight} = params;\n  let i, ilen, layout;\n  for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n    layout = layouts[i];\n    const {fullSize} = layout.box;\n    const stack = stacks[layout.stack];\n    const factor = stack && layout.stackWeight / stack.weight;\n    if (layout.horizontal) {\n      layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n      layout.height = hBoxMaxHeight;\n    } else {\n      layout.width = vBoxMaxWidth;\n      layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n    }\n  }\n  return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n  const layoutBoxes = wrapBoxes(boxes);\n  const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n  const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n  const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n  const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n  const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n  const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n  const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n  return {\n    fullSize,\n    leftAndTop: left.concat(top),\n    rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n    chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n    vertical: left.concat(right).concat(centerVertical),\n    horizontal: top.concat(bottom).concat(centerHorizontal)\n  };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n  return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n  maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n  maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n  maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n  maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n  const {pos, box} = layout;\n  const maxPadding = chartArea.maxPadding;\n  if (!isObject(pos)) {\n    if (layout.size) {\n      chartArea[pos] -= layout.size;\n    }\n    const stack = stacks[layout.stack] || {size: 0, count: 1};\n    stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n    layout.size = stack.size / stack.count;\n    chartArea[pos] += layout.size;\n  }\n  if (box.getPadding) {\n    updateMaxPadding(maxPadding, box.getPadding());\n  }\n  const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n  const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n  const widthChanged = newWidth !== chartArea.w;\n  const heightChanged = newHeight !== chartArea.h;\n  chartArea.w = newWidth;\n  chartArea.h = newHeight;\n  return layout.horizontal\n    ? {same: widthChanged, other: heightChanged}\n    : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n  const maxPadding = chartArea.maxPadding;\n  function updatePos(pos) {\n    const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n    chartArea[pos] += change;\n    return change;\n  }\n  chartArea.y += updatePos('top');\n  chartArea.x += updatePos('left');\n  updatePos('right');\n  updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n  const maxPadding = chartArea.maxPadding;\n  function marginForPositions(positions) {\n    const margin = {left: 0, top: 0, right: 0, bottom: 0};\n    positions.forEach((pos) => {\n      margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n    });\n    return margin;\n  }\n  return horizontal\n    ? marginForPositions(['left', 'right'])\n    : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n  const refitBoxes = [];\n  let i, ilen, layout, box, refit, changed;\n  for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n    layout = boxes[i];\n    box = layout.box;\n    box.update(\n      layout.width || chartArea.w,\n      layout.height || chartArea.h,\n      getMargins(layout.horizontal, chartArea)\n    );\n    const {same, other} = updateDims(chartArea, params, layout, stacks);\n    refit |= same && refitBoxes.length;\n    changed = changed || other;\n    if (!box.fullSize) {\n      refitBoxes.push(layout);\n    }\n  }\n  return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n  box.top = top;\n  box.left = left;\n  box.right = left + width;\n  box.bottom = top + height;\n  box.width = width;\n  box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n  const userPadding = params.padding;\n  let {x, y} = chartArea;\n  for (const layout of boxes) {\n    const box = layout.box;\n    const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n    const weight = (layout.stackWeight / stack.weight) || 1;\n    if (layout.horizontal) {\n      const width = chartArea.w * weight;\n      const height = stack.size || box.height;\n      if (defined(stack.start)) {\n        y = stack.start;\n      }\n      if (box.fullSize) {\n        setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n      } else {\n        setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n      }\n      stack.start = y;\n      stack.placed += width;\n      y = box.bottom;\n    } else {\n      const height = chartArea.h * weight;\n      const width = stack.size || box.width;\n      if (defined(stack.start)) {\n        x = stack.start;\n      }\n      if (box.fullSize) {\n        setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n      } else {\n        setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n      }\n      stack.start = x;\n      stack.placed += height;\n      x = box.right;\n    }\n  }\n  chartArea.x = x;\n  chartArea.y = y;\n}\ndefaults.set('layout', {\n  autoPadding: true,\n  padding: {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  }\n});\nvar layouts = {\n  addBox(chart, item) {\n    if (!chart.boxes) {\n      chart.boxes = [];\n    }\n    item.fullSize = item.fullSize || false;\n    item.position = item.position || 'top';\n    item.weight = item.weight || 0;\n    item._layers = item._layers || function() {\n      return [{\n        z: 0,\n        draw(chartArea) {\n          item.draw(chartArea);\n        }\n      }];\n    };\n    chart.boxes.push(item);\n  },\n  removeBox(chart, layoutItem) {\n    const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n    if (index !== -1) {\n      chart.boxes.splice(index, 1);\n    }\n  },\n  configure(chart, item, options) {\n    item.fullSize = options.fullSize;\n    item.position = options.position;\n    item.weight = options.weight;\n  },\n  update(chart, width, height, minPadding) {\n    if (!chart) {\n      return;\n    }\n    const padding = toPadding(chart.options.layout.padding);\n    const availableWidth = Math.max(width - padding.width, 0);\n    const availableHeight = Math.max(height - padding.height, 0);\n    const boxes = buildLayoutBoxes(chart.boxes);\n    const verticalBoxes = boxes.vertical;\n    const horizontalBoxes = boxes.horizontal;\n    each(chart.boxes, box => {\n      if (typeof box.beforeLayout === 'function') {\n        box.beforeLayout();\n      }\n    });\n    const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n      wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n    const params = Object.freeze({\n      outerWidth: width,\n      outerHeight: height,\n      padding,\n      availableWidth,\n      availableHeight,\n      vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n      hBoxMaxHeight: availableHeight / 2\n    });\n    const maxPadding = Object.assign({}, padding);\n    updateMaxPadding(maxPadding, toPadding(minPadding));\n    const chartArea = Object.assign({\n      maxPadding,\n      w: availableWidth,\n      h: availableHeight,\n      x: padding.left,\n      y: padding.top\n    }, padding);\n    const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n    fitBoxes(boxes.fullSize, chartArea, params, stacks);\n    fitBoxes(verticalBoxes, chartArea, params, stacks);\n    if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n      fitBoxes(verticalBoxes, chartArea, params, stacks);\n    }\n    handleMaxPadding(chartArea);\n    placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n    chartArea.x += chartArea.w;\n    chartArea.y += chartArea.h;\n    placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n    chart.chartArea = {\n      left: chartArea.left,\n      top: chartArea.top,\n      right: chartArea.left + chartArea.w,\n      bottom: chartArea.top + chartArea.h,\n      height: chartArea.h,\n      width: chartArea.w,\n    };\n    each(boxes.chartArea, (layout) => {\n      const box = layout.box;\n      Object.assign(box, chart.chartArea);\n      box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n    });\n  }\n};\n\nclass BasePlatform {\n  acquireContext(canvas, aspectRatio) {}\n  releaseContext(context) {\n    return false;\n  }\n  addEventListener(chart, type, listener) {}\n  removeEventListener(chart, type, listener) {}\n  getDevicePixelRatio() {\n    return 1;\n  }\n  getMaximumSize(element, width, height, aspectRatio) {\n    width = Math.max(0, width || element.width);\n    height = height || element.height;\n    return {\n      width,\n      height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n    };\n  }\n  isAttached(canvas) {\n    return true;\n  }\n  updateConfig(config) {\n  }\n}\n\nclass BasicPlatform extends BasePlatform {\n  acquireContext(item) {\n    return item && item.getContext && item.getContext('2d') || null;\n  }\n  updateConfig(config) {\n    config.options.animation = false;\n  }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n  touchstart: 'mousedown',\n  touchmove: 'mousemove',\n  touchend: 'mouseup',\n  pointerenter: 'mouseenter',\n  pointerdown: 'mousedown',\n  pointermove: 'mousemove',\n  pointerup: 'mouseup',\n  pointerleave: 'mouseout',\n  pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n  const style = canvas.style;\n  const renderHeight = canvas.getAttribute('height');\n  const renderWidth = canvas.getAttribute('width');\n  canvas[EXPANDO_KEY] = {\n    initial: {\n      height: renderHeight,\n      width: renderWidth,\n      style: {\n        display: style.display,\n        height: style.height,\n        width: style.width\n      }\n    }\n  };\n  style.display = style.display || 'block';\n  style.boxSizing = style.boxSizing || 'border-box';\n  if (isNullOrEmpty(renderWidth)) {\n    const displayWidth = readUsedSize(canvas, 'width');\n    if (displayWidth !== undefined) {\n      canvas.width = displayWidth;\n    }\n  }\n  if (isNullOrEmpty(renderHeight)) {\n    if (canvas.style.height === '') {\n      canvas.height = canvas.width / (aspectRatio || 2);\n    } else {\n      const displayHeight = readUsedSize(canvas, 'height');\n      if (displayHeight !== undefined) {\n        canvas.height = displayHeight;\n      }\n    }\n  }\n  return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n  node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n  chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n  const type = EVENT_TYPES[event.type] || event.type;\n  const {x, y} = getRelativePosition(event, chart);\n  return {\n    type,\n    chart,\n    native: event,\n    x: x !== undefined ? x : null,\n    y: y !== undefined ? y : null,\n  };\n}\nfunction nodeListContains(nodeList, canvas) {\n  for (const node of nodeList) {\n    if (node === canvas || node.contains(canvas)) {\n      return true;\n    }\n  }\n}\nfunction createAttachObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const observer = new MutationObserver(entries => {\n    let trigger = false;\n    for (const entry of entries) {\n      trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n      trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n    }\n    if (trigger) {\n      listener();\n    }\n  });\n  observer.observe(document, {childList: true, subtree: true});\n  return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const observer = new MutationObserver(entries => {\n    let trigger = false;\n    for (const entry of entries) {\n      trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n      trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n    }\n    if (trigger) {\n      listener();\n    }\n  });\n  observer.observe(document, {childList: true, subtree: true});\n  return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n  const dpr = window.devicePixelRatio;\n  if (dpr === oldDevicePixelRatio) {\n    return;\n  }\n  oldDevicePixelRatio = dpr;\n  drpListeningCharts.forEach((resize, chart) => {\n    if (chart.currentDevicePixelRatio !== dpr) {\n      resize();\n    }\n  });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n  if (!drpListeningCharts.size) {\n    window.addEventListener('resize', onWindowResize);\n  }\n  drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n  drpListeningCharts.delete(chart);\n  if (!drpListeningCharts.size) {\n    window.removeEventListener('resize', onWindowResize);\n  }\n}\nfunction createResizeObserver(chart, type, listener) {\n  const canvas = chart.canvas;\n  const container = canvas && _getParentNode(canvas);\n  if (!container) {\n    return;\n  }\n  const resize = throttled((width, height) => {\n    const w = container.clientWidth;\n    listener(width, height);\n    if (w < container.clientWidth) {\n      listener();\n    }\n  }, window);\n  const observer = new ResizeObserver(entries => {\n    const entry = entries[0];\n    const width = entry.contentRect.width;\n    const height = entry.contentRect.height;\n    if (width === 0 && height === 0) {\n      return;\n    }\n    resize(width, height);\n  });\n  observer.observe(container);\n  listenDevicePixelRatioChanges(chart, resize);\n  return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n  if (observer) {\n    observer.disconnect();\n  }\n  if (type === 'resize') {\n    unlistenDevicePixelRatioChanges(chart);\n  }\n}\nfunction createProxyAndListen(chart, type, listener) {\n  const canvas = chart.canvas;\n  const proxy = throttled((event) => {\n    if (chart.ctx !== null) {\n      listener(fromNativeEvent(event, chart));\n    }\n  }, chart, (args) => {\n    const event = args[0];\n    return [event, event.offsetX, event.offsetY];\n  });\n  addListener(canvas, type, proxy);\n  return proxy;\n}\nclass DomPlatform extends BasePlatform {\n  acquireContext(canvas, aspectRatio) {\n    const context = canvas && canvas.getContext && canvas.getContext('2d');\n    if (context && context.canvas === canvas) {\n      initCanvas(canvas, aspectRatio);\n      return context;\n    }\n    return null;\n  }\n  releaseContext(context) {\n    const canvas = context.canvas;\n    if (!canvas[EXPANDO_KEY]) {\n      return false;\n    }\n    const initial = canvas[EXPANDO_KEY].initial;\n    ['height', 'width'].forEach((prop) => {\n      const value = initial[prop];\n      if (isNullOrUndef(value)) {\n        canvas.removeAttribute(prop);\n      } else {\n        canvas.setAttribute(prop, value);\n      }\n    });\n    const style = initial.style || {};\n    Object.keys(style).forEach((key) => {\n      canvas.style[key] = style[key];\n    });\n    canvas.width = canvas.width;\n    delete canvas[EXPANDO_KEY];\n    return true;\n  }\n  addEventListener(chart, type, listener) {\n    this.removeEventListener(chart, type);\n    const proxies = chart.$proxies || (chart.$proxies = {});\n    const handlers = {\n      attach: createAttachObserver,\n      detach: createDetachObserver,\n      resize: createResizeObserver\n    };\n    const handler = handlers[type] || createProxyAndListen;\n    proxies[type] = handler(chart, type, listener);\n  }\n  removeEventListener(chart, type) {\n    const proxies = chart.$proxies || (chart.$proxies = {});\n    const proxy = proxies[type];\n    if (!proxy) {\n      return;\n    }\n    const handlers = {\n      attach: releaseObserver,\n      detach: releaseObserver,\n      resize: releaseObserver\n    };\n    const handler = handlers[type] || removeListener;\n    handler(chart, type, proxy);\n    proxies[type] = undefined;\n  }\n  getDevicePixelRatio() {\n    return window.devicePixelRatio;\n  }\n  getMaximumSize(canvas, width, height, aspectRatio) {\n    return getMaximumSize(canvas, width, height, aspectRatio);\n  }\n  isAttached(canvas) {\n    const container = _getParentNode(canvas);\n    return !!(container && container.isConnected);\n  }\n}\n\nfunction _detectPlatform(canvas) {\n  if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n    return BasicPlatform;\n  }\n  return DomPlatform;\n}\n\nclass PluginService {\n  constructor() {\n    this._init = [];\n  }\n  notify(chart, hook, args, filter) {\n    if (hook === 'beforeInit') {\n      this._init = this._createDescriptors(chart, true);\n      this._notify(this._init, chart, 'install');\n    }\n    const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n    const result = this._notify(descriptors, chart, hook, args);\n    if (hook === 'afterDestroy') {\n      this._notify(descriptors, chart, 'stop');\n      this._notify(this._init, chart, 'uninstall');\n    }\n    return result;\n  }\n  _notify(descriptors, chart, hook, args) {\n    args = args || {};\n    for (const descriptor of descriptors) {\n      const plugin = descriptor.plugin;\n      const method = plugin[hook];\n      const params = [chart, args, descriptor.options];\n      if (callback(method, params, plugin) === false && args.cancelable) {\n        return false;\n      }\n    }\n    return true;\n  }\n  invalidate() {\n    if (!isNullOrUndef(this._cache)) {\n      this._oldCache = this._cache;\n      this._cache = undefined;\n    }\n  }\n  _descriptors(chart) {\n    if (this._cache) {\n      return this._cache;\n    }\n    const descriptors = this._cache = this._createDescriptors(chart);\n    this._notifyStateChanges(chart);\n    return descriptors;\n  }\n  _createDescriptors(chart, all) {\n    const config = chart && chart.config;\n    const options = valueOrDefault(config.options && config.options.plugins, {});\n    const plugins = allPlugins(config);\n    return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n  }\n  _notifyStateChanges(chart) {\n    const previousDescriptors = this._oldCache || [];\n    const descriptors = this._cache;\n    const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n    this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n    this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n  }\n}\nfunction allPlugins(config) {\n  const localIds = {};\n  const plugins = [];\n  const keys = Object.keys(registry.plugins.items);\n  for (let i = 0; i < keys.length; i++) {\n    plugins.push(registry.getPlugin(keys[i]));\n  }\n  const local = config.plugins || [];\n  for (let i = 0; i < local.length; i++) {\n    const plugin = local[i];\n    if (plugins.indexOf(plugin) === -1) {\n      plugins.push(plugin);\n      localIds[plugin.id] = true;\n    }\n  }\n  return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n  if (!all && options === false) {\n    return null;\n  }\n  if (options === true) {\n    return {};\n  }\n  return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n  const result = [];\n  const context = chart.getContext();\n  for (const plugin of plugins) {\n    const id = plugin.id;\n    const opts = getOpts(options[id], all);\n    if (opts === null) {\n      continue;\n    }\n    result.push({\n      plugin,\n      options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n    });\n  }\n  return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n  const keys = config.pluginScopeKeys(plugin);\n  const scopes = config.getOptionScopes(opts, keys);\n  if (local && plugin.defaults) {\n    scopes.push(plugin.defaults);\n  }\n  return config.createResolver(scopes, context, [''], {\n    scriptable: false,\n    indexable: false,\n    allKeys: true\n  });\n}\n\nfunction getIndexAxis(type, options) {\n  const datasetDefaults = defaults.datasets[type] || {};\n  const datasetOptions = (options.datasets || {})[type] || {};\n  return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n  let axis = id;\n  if (id === '_index_') {\n    axis = indexAxis;\n  } else if (id === '_value_') {\n    axis = indexAxis === 'x' ? 'y' : 'x';\n  }\n  return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n  return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n  if (position === 'top' || position === 'bottom') {\n    return 'x';\n  }\n  if (position === 'left' || position === 'right') {\n    return 'y';\n  }\n}\nfunction determineAxis(id, scaleOptions) {\n  if (id === 'x' || id === 'y') {\n    return id;\n  }\n  return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n  const chartDefaults = overrides[config.type] || {scales: {}};\n  const configScales = options.scales || {};\n  const chartIndexAxis = getIndexAxis(config.type, options);\n  const firstIDs = Object.create(null);\n  const scales = Object.create(null);\n  Object.keys(configScales).forEach(id => {\n    const scaleConf = configScales[id];\n    if (!isObject(scaleConf)) {\n      return console.error(`Invalid scale configuration for scale: ${id}`);\n    }\n    if (scaleConf._proxy) {\n      return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n    }\n    const axis = determineAxis(id, scaleConf);\n    const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n    const defaultScaleOptions = chartDefaults.scales || {};\n    firstIDs[axis] = firstIDs[axis] || id;\n    scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n  });\n  config.data.datasets.forEach(dataset => {\n    const type = dataset.type || config.type;\n    const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n    const datasetDefaults = overrides[type] || {};\n    const defaultScaleOptions = datasetDefaults.scales || {};\n    Object.keys(defaultScaleOptions).forEach(defaultID => {\n      const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n      const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n      scales[id] = scales[id] || Object.create(null);\n      mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n    });\n  });\n  Object.keys(scales).forEach(key => {\n    const scale = scales[key];\n    mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n  });\n  return scales;\n}\nfunction initOptions(config) {\n  const options = config.options || (config.options = {});\n  options.plugins = valueOrDefault(options.plugins, {});\n  options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n  data = data || {};\n  data.datasets = data.datasets || [];\n  data.labels = data.labels || [];\n  return data;\n}\nfunction initConfig(config) {\n  config = config || {};\n  config.data = initData(config.data);\n  initOptions(config);\n  return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n  let keys = keyCache.get(cacheKey);\n  if (!keys) {\n    keys = generate();\n    keyCache.set(cacheKey, keys);\n    keysCached.add(keys);\n  }\n  return keys;\n}\nconst addIfFound = (set, obj, key) => {\n  const opts = resolveObjectKey(obj, key);\n  if (opts !== undefined) {\n    set.add(opts);\n  }\n};\nclass Config {\n  constructor(config) {\n    this._config = initConfig(config);\n    this._scopeCache = new Map();\n    this._resolverCache = new Map();\n  }\n  get platform() {\n    return this._config.platform;\n  }\n  get type() {\n    return this._config.type;\n  }\n  set type(type) {\n    this._config.type = type;\n  }\n  get data() {\n    return this._config.data;\n  }\n  set data(data) {\n    this._config.data = initData(data);\n  }\n  get options() {\n    return this._config.options;\n  }\n  set options(options) {\n    this._config.options = options;\n  }\n  get plugins() {\n    return this._config.plugins;\n  }\n  update() {\n    const config = this._config;\n    this.clearCache();\n    initOptions(config);\n  }\n  clearCache() {\n    this._scopeCache.clear();\n    this._resolverCache.clear();\n  }\n  datasetScopeKeys(datasetType) {\n    return cachedKeys(datasetType,\n      () => [[\n        `datasets.${datasetType}`,\n        ''\n      ]]);\n  }\n  datasetAnimationScopeKeys(datasetType, transition) {\n    return cachedKeys(`${datasetType}.transition.${transition}`,\n      () => [\n        [\n          `datasets.${datasetType}.transitions.${transition}`,\n          `transitions.${transition}`,\n        ],\n        [\n          `datasets.${datasetType}`,\n          ''\n        ]\n      ]);\n  }\n  datasetElementScopeKeys(datasetType, elementType) {\n    return cachedKeys(`${datasetType}-${elementType}`,\n      () => [[\n        `datasets.${datasetType}.elements.${elementType}`,\n        `datasets.${datasetType}`,\n        `elements.${elementType}`,\n        ''\n      ]]);\n  }\n  pluginScopeKeys(plugin) {\n    const id = plugin.id;\n    const type = this.type;\n    return cachedKeys(`${type}-plugin-${id}`,\n      () => [[\n        `plugins.${id}`,\n        ...plugin.additionalOptionScopes || [],\n      ]]);\n  }\n  _cachedScopes(mainScope, resetCache) {\n    const _scopeCache = this._scopeCache;\n    let cache = _scopeCache.get(mainScope);\n    if (!cache || resetCache) {\n      cache = new Map();\n      _scopeCache.set(mainScope, cache);\n    }\n    return cache;\n  }\n  getOptionScopes(mainScope, keyLists, resetCache) {\n    const {options, type} = this;\n    const cache = this._cachedScopes(mainScope, resetCache);\n    const cached = cache.get(keyLists);\n    if (cached) {\n      return cached;\n    }\n    const scopes = new Set();\n    keyLists.forEach(keys => {\n      if (mainScope) {\n        scopes.add(mainScope);\n        keys.forEach(key => addIfFound(scopes, mainScope, key));\n      }\n      keys.forEach(key => addIfFound(scopes, options, key));\n      keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n      keys.forEach(key => addIfFound(scopes, defaults, key));\n      keys.forEach(key => addIfFound(scopes, descriptors, key));\n    });\n    const array = Array.from(scopes);\n    if (array.length === 0) {\n      array.push(Object.create(null));\n    }\n    if (keysCached.has(keyLists)) {\n      cache.set(keyLists, array);\n    }\n    return array;\n  }\n  chartOptionScopes() {\n    const {options, type} = this;\n    return [\n      options,\n      overrides[type] || {},\n      defaults.datasets[type] || {},\n      {type},\n      defaults,\n      descriptors\n    ];\n  }\n  resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n    const result = {$shared: true};\n    const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n    let options = resolver;\n    if (needContext(resolver, names)) {\n      result.$shared = false;\n      context = isFunction(context) ? context() : context;\n      const subResolver = this.createResolver(scopes, context, subPrefixes);\n      options = _attachContext(resolver, context, subResolver);\n    }\n    for (const prop of names) {\n      result[prop] = options[prop];\n    }\n    return result;\n  }\n  createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n    const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n    return isObject(context)\n      ? _attachContext(resolver, context, undefined, descriptorDefaults)\n      : resolver;\n  }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n  let cache = resolverCache.get(scopes);\n  if (!cache) {\n    cache = new Map();\n    resolverCache.set(scopes, cache);\n  }\n  const cacheKey = prefixes.join();\n  let cached = cache.get(cacheKey);\n  if (!cached) {\n    const resolver = _createResolver(scopes, prefixes);\n    cached = {\n      resolver,\n      subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n    };\n    cache.set(cacheKey, cached);\n  }\n  return cached;\n}\nconst hasFunction = value => isObject(value)\n  && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n  const {isScriptable, isIndexable} = _descriptors(proxy);\n  for (const prop of names) {\n    const scriptable = isScriptable(prop);\n    const indexable = isIndexable(prop);\n    const value = (indexable || scriptable) && proxy[prop];\n    if ((scriptable && (isFunction(value) || hasFunction(value)))\n      || (indexable && isArray(value))) {\n      return true;\n    }\n  }\n  return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n  return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n  return function(a, b) {\n    return a[l1] === b[l1]\n      ? a[l2] - b[l2]\n      : a[l1] - b[l1];\n  };\n}\nfunction onAnimationsComplete(context) {\n  const chart = context.chart;\n  const animationOptions = chart.options.animation;\n  chart.notifyPlugins('afterRender');\n  callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n  const chart = context.chart;\n  const animationOptions = chart.options.animation;\n  callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n  if (_isDomSupported() && typeof item === 'string') {\n    item = document.getElementById(item);\n  } else if (item && item.length) {\n    item = item[0];\n  }\n  if (item && item.canvas) {\n    item = item.canvas;\n  }\n  return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n  const canvas = getCanvas(key);\n  return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n  const keys = Object.keys(obj);\n  for (const key of keys) {\n    const intKey = +key;\n    if (intKey >= start) {\n      const value = obj[key];\n      delete obj[key];\n      if (move > 0 || intKey > start) {\n        obj[intKey + move] = value;\n      }\n    }\n  }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n  if (!inChartArea || e.type === 'mouseout') {\n    return null;\n  }\n  if (isClick) {\n    return lastEvent;\n  }\n  return e;\n}\nclass Chart {\n  constructor(item, userConfig) {\n    const config = this.config = new Config(userConfig);\n    const initialCanvas = getCanvas(item);\n    const existingChart = getChart(initialCanvas);\n    if (existingChart) {\n      throw new Error(\n        'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n      );\n    }\n    const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n    this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n    this.platform.updateConfig(config);\n    const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n    const canvas = context && context.canvas;\n    const height = canvas && canvas.height;\n    const width = canvas && canvas.width;\n    this.id = uid();\n    this.ctx = context;\n    this.canvas = canvas;\n    this.width = width;\n    this.height = height;\n    this._options = options;\n    this._aspectRatio = this.aspectRatio;\n    this._layers = [];\n    this._metasets = [];\n    this._stacks = undefined;\n    this.boxes = [];\n    this.currentDevicePixelRatio = undefined;\n    this.chartArea = undefined;\n    this._active = [];\n    this._lastEvent = undefined;\n    this._listeners = {};\n    this._responsiveListeners = undefined;\n    this._sortedMetasets = [];\n    this.scales = {};\n    this._plugins = new PluginService();\n    this.$proxies = {};\n    this._hiddenIndices = {};\n    this.attached = false;\n    this._animationsDisabled = undefined;\n    this.$context = undefined;\n    this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n    this._dataChanges = [];\n    instances[this.id] = this;\n    if (!context || !canvas) {\n      console.error(\"Failed to create chart: can't acquire context from the given item\");\n      return;\n    }\n    animator.listen(this, 'complete', onAnimationsComplete);\n    animator.listen(this, 'progress', onAnimationProgress);\n    this._initialize();\n    if (this.attached) {\n      this.update();\n    }\n  }\n  get aspectRatio() {\n    const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n    if (!isNullOrUndef(aspectRatio)) {\n      return aspectRatio;\n    }\n    if (maintainAspectRatio && _aspectRatio) {\n      return _aspectRatio;\n    }\n    return height ? width / height : null;\n  }\n  get data() {\n    return this.config.data;\n  }\n  set data(data) {\n    this.config.data = data;\n  }\n  get options() {\n    return this._options;\n  }\n  set options(options) {\n    this.config.options = options;\n  }\n  _initialize() {\n    this.notifyPlugins('beforeInit');\n    if (this.options.responsive) {\n      this.resize();\n    } else {\n      retinaScale(this, this.options.devicePixelRatio);\n    }\n    this.bindEvents();\n    this.notifyPlugins('afterInit');\n    return this;\n  }\n  clear() {\n    clearCanvas(this.canvas, this.ctx);\n    return this;\n  }\n  stop() {\n    animator.stop(this);\n    return this;\n  }\n  resize(width, height) {\n    if (!animator.running(this)) {\n      this._resize(width, height);\n    } else {\n      this._resizeBeforeDraw = {width, height};\n    }\n  }\n  _resize(width, height) {\n    const options = this.options;\n    const canvas = this.canvas;\n    const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n    const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n    const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n    const mode = this.width ? 'resize' : 'attach';\n    this.width = newSize.width;\n    this.height = newSize.height;\n    this._aspectRatio = this.aspectRatio;\n    if (!retinaScale(this, newRatio, true)) {\n      return;\n    }\n    this.notifyPlugins('resize', {size: newSize});\n    callback(options.onResize, [this, newSize], this);\n    if (this.attached) {\n      if (this._doResize(mode)) {\n        this.render();\n      }\n    }\n  }\n  ensureScalesHaveIDs() {\n    const options = this.options;\n    const scalesOptions = options.scales || {};\n    each(scalesOptions, (axisOptions, axisID) => {\n      axisOptions.id = axisID;\n    });\n  }\n  buildOrUpdateScales() {\n    const options = this.options;\n    const scaleOpts = options.scales;\n    const scales = this.scales;\n    const updated = Object.keys(scales).reduce((obj, id) => {\n      obj[id] = false;\n      return obj;\n    }, {});\n    let items = [];\n    if (scaleOpts) {\n      items = items.concat(\n        Object.keys(scaleOpts).map((id) => {\n          const scaleOptions = scaleOpts[id];\n          const axis = determineAxis(id, scaleOptions);\n          const isRadial = axis === 'r';\n          const isHorizontal = axis === 'x';\n          return {\n            options: scaleOptions,\n            dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n            dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n          };\n        })\n      );\n    }\n    each(items, (item) => {\n      const scaleOptions = item.options;\n      const id = scaleOptions.id;\n      const axis = determineAxis(id, scaleOptions);\n      const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n      if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n        scaleOptions.position = item.dposition;\n      }\n      updated[id] = true;\n      let scale = null;\n      if (id in scales && scales[id].type === scaleType) {\n        scale = scales[id];\n      } else {\n        const scaleClass = registry.getScale(scaleType);\n        scale = new scaleClass({\n          id,\n          type: scaleType,\n          ctx: this.ctx,\n          chart: this\n        });\n        scales[scale.id] = scale;\n      }\n      scale.init(scaleOptions, options);\n    });\n    each(updated, (hasUpdated, id) => {\n      if (!hasUpdated) {\n        delete scales[id];\n      }\n    });\n    each(scales, (scale) => {\n      layouts.configure(this, scale, scale.options);\n      layouts.addBox(this, scale);\n    });\n  }\n  _updateMetasets() {\n    const metasets = this._metasets;\n    const numData = this.data.datasets.length;\n    const numMeta = metasets.length;\n    metasets.sort((a, b) => a.index - b.index);\n    if (numMeta > numData) {\n      for (let i = numData; i < numMeta; ++i) {\n        this._destroyDatasetMeta(i);\n      }\n      metasets.splice(numData, numMeta - numData);\n    }\n    this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n  }\n  _removeUnreferencedMetasets() {\n    const {_metasets: metasets, data: {datasets}} = this;\n    if (metasets.length > datasets.length) {\n      delete this._stacks;\n    }\n    metasets.forEach((meta, index) => {\n      if (datasets.filter(x => x === meta._dataset).length === 0) {\n        this._destroyDatasetMeta(index);\n      }\n    });\n  }\n  buildOrUpdateControllers() {\n    const newControllers = [];\n    const datasets = this.data.datasets;\n    let i, ilen;\n    this._removeUnreferencedMetasets();\n    for (i = 0, ilen = datasets.length; i < ilen; i++) {\n      const dataset = datasets[i];\n      let meta = this.getDatasetMeta(i);\n      const type = dataset.type || this.config.type;\n      if (meta.type && meta.type !== type) {\n        this._destroyDatasetMeta(i);\n        meta = this.getDatasetMeta(i);\n      }\n      meta.type = type;\n      meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n      meta.order = dataset.order || 0;\n      meta.index = i;\n      meta.label = '' + dataset.label;\n      meta.visible = this.isDatasetVisible(i);\n      if (meta.controller) {\n        meta.controller.updateIndex(i);\n        meta.controller.linkScales();\n      } else {\n        const ControllerClass = registry.getController(type);\n        const {datasetElementType, dataElementType} = defaults.datasets[type];\n        Object.assign(ControllerClass.prototype, {\n          dataElementType: registry.getElement(dataElementType),\n          datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n        });\n        meta.controller = new ControllerClass(this, i);\n        newControllers.push(meta.controller);\n      }\n    }\n    this._updateMetasets();\n    return newControllers;\n  }\n  _resetElements() {\n    each(this.data.datasets, (dataset, datasetIndex) => {\n      this.getDatasetMeta(datasetIndex).controller.reset();\n    }, this);\n  }\n  reset() {\n    this._resetElements();\n    this.notifyPlugins('reset');\n  }\n  update(mode) {\n    const config = this.config;\n    config.update();\n    const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n    const animsDisabled = this._animationsDisabled = !options.animation;\n    this._updateScales();\n    this._checkEventBindings();\n    this._updateHiddenIndices();\n    this._plugins.invalidate();\n    if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n      return;\n    }\n    const newControllers = this.buildOrUpdateControllers();\n    this.notifyPlugins('beforeElementsUpdate');\n    let minPadding = 0;\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n      const {controller} = this.getDatasetMeta(i);\n      const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n      controller.buildOrUpdateElements(reset);\n      minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n    }\n    minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n    this._updateLayout(minPadding);\n    if (!animsDisabled) {\n      each(newControllers, (controller) => {\n        controller.reset();\n      });\n    }\n    this._updateDatasets(mode);\n    this.notifyPlugins('afterUpdate', {mode});\n    this._layers.sort(compare2Level('z', '_idx'));\n    const {_active, _lastEvent} = this;\n    if (_lastEvent) {\n      this._eventHandler(_lastEvent, true);\n    } else if (_active.length) {\n      this._updateHoverStyles(_active, _active, true);\n    }\n    this.render();\n  }\n  _updateScales() {\n    each(this.scales, (scale) => {\n      layouts.removeBox(this, scale);\n    });\n    this.ensureScalesHaveIDs();\n    this.buildOrUpdateScales();\n  }\n  _checkEventBindings() {\n    const options = this.options;\n    const existingEvents = new Set(Object.keys(this._listeners));\n    const newEvents = new Set(options.events);\n    if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n      this.unbindEvents();\n      this.bindEvents();\n    }\n  }\n  _updateHiddenIndices() {\n    const {_hiddenIndices} = this;\n    const changes = this._getUniformDataChanges() || [];\n    for (const {method, start, count} of changes) {\n      const move = method === '_removeElements' ? -count : count;\n      moveNumericKeys(_hiddenIndices, start, move);\n    }\n  }\n  _getUniformDataChanges() {\n    const _dataChanges = this._dataChanges;\n    if (!_dataChanges || !_dataChanges.length) {\n      return;\n    }\n    this._dataChanges = [];\n    const datasetCount = this.data.datasets.length;\n    const makeSet = (idx) => new Set(\n      _dataChanges\n        .filter(c => c[0] === idx)\n        .map((c, i) => i + ',' + c.splice(1).join(','))\n    );\n    const changeSet = makeSet(0);\n    for (let i = 1; i < datasetCount; i++) {\n      if (!setsEqual(changeSet, makeSet(i))) {\n        return;\n      }\n    }\n    return Array.from(changeSet)\n      .map(c => c.split(','))\n      .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n  }\n  _updateLayout(minPadding) {\n    if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n      return;\n    }\n    layouts.update(this, this.width, this.height, minPadding);\n    const area = this.chartArea;\n    const noArea = area.width <= 0 || area.height <= 0;\n    this._layers = [];\n    each(this.boxes, (box) => {\n      if (noArea && box.position === 'chartArea') {\n        return;\n      }\n      if (box.configure) {\n        box.configure();\n      }\n      this._layers.push(...box._layers());\n    }, this);\n    this._layers.forEach((item, index) => {\n      item._idx = index;\n    });\n    this.notifyPlugins('afterLayout');\n  }\n  _updateDatasets(mode) {\n    if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n      return;\n    }\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this.getDatasetMeta(i).controller.configure();\n    }\n    for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n    }\n    this.notifyPlugins('afterDatasetsUpdate', {mode});\n  }\n  _updateDataset(index, mode) {\n    const meta = this.getDatasetMeta(index);\n    const args = {meta, index, mode, cancelable: true};\n    if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n      return;\n    }\n    meta.controller._update(mode);\n    args.cancelable = false;\n    this.notifyPlugins('afterDatasetUpdate', args);\n  }\n  render() {\n    if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n      return;\n    }\n    if (animator.has(this)) {\n      if (this.attached && !animator.running(this)) {\n        animator.start(this);\n      }\n    } else {\n      this.draw();\n      onAnimationsComplete({chart: this});\n    }\n  }\n  draw() {\n    let i;\n    if (this._resizeBeforeDraw) {\n      const {width, height} = this._resizeBeforeDraw;\n      this._resize(width, height);\n      this._resizeBeforeDraw = null;\n    }\n    this.clear();\n    if (this.width <= 0 || this.height <= 0) {\n      return;\n    }\n    if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n      return;\n    }\n    const layers = this._layers;\n    for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n      layers[i].draw(this.chartArea);\n    }\n    this._drawDatasets();\n    for (; i < layers.length; ++i) {\n      layers[i].draw(this.chartArea);\n    }\n    this.notifyPlugins('afterDraw');\n  }\n  _getSortedDatasetMetas(filterVisible) {\n    const metasets = this._sortedMetasets;\n    const result = [];\n    let i, ilen;\n    for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n      const meta = metasets[i];\n      if (!filterVisible || meta.visible) {\n        result.push(meta);\n      }\n    }\n    return result;\n  }\n  getSortedVisibleDatasetMetas() {\n    return this._getSortedDatasetMetas(true);\n  }\n  _drawDatasets() {\n    if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n      return;\n    }\n    const metasets = this.getSortedVisibleDatasetMetas();\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      this._drawDataset(metasets[i]);\n    }\n    this.notifyPlugins('afterDatasetsDraw');\n  }\n  _drawDataset(meta) {\n    const ctx = this.ctx;\n    const clip = meta._clip;\n    const useClip = !clip.disabled;\n    const area = this.chartArea;\n    const args = {\n      meta,\n      index: meta.index,\n      cancelable: true\n    };\n    if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n      return;\n    }\n    if (useClip) {\n      clipArea(ctx, {\n        left: clip.left === false ? 0 : area.left - clip.left,\n        right: clip.right === false ? this.width : area.right + clip.right,\n        top: clip.top === false ? 0 : area.top - clip.top,\n        bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n      });\n    }\n    meta.controller.draw();\n    if (useClip) {\n      unclipArea(ctx);\n    }\n    args.cancelable = false;\n    this.notifyPlugins('afterDatasetDraw', args);\n  }\n  isPointInArea(point) {\n    return _isPointInArea(point, this.chartArea, this._minPadding);\n  }\n  getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n    const method = Interaction.modes[mode];\n    if (typeof method === 'function') {\n      return method(this, e, options, useFinalPosition);\n    }\n    return [];\n  }\n  getDatasetMeta(datasetIndex) {\n    const dataset = this.data.datasets[datasetIndex];\n    const metasets = this._metasets;\n    let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n    if (!meta) {\n      meta = {\n        type: null,\n        data: [],\n        dataset: null,\n        controller: null,\n        hidden: null,\n        xAxisID: null,\n        yAxisID: null,\n        order: dataset && dataset.order || 0,\n        index: datasetIndex,\n        _dataset: dataset,\n        _parsed: [],\n        _sorted: false\n      };\n      metasets.push(meta);\n    }\n    return meta;\n  }\n  getContext() {\n    return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n  }\n  getVisibleDatasetCount() {\n    return this.getSortedVisibleDatasetMetas().length;\n  }\n  isDatasetVisible(datasetIndex) {\n    const dataset = this.data.datasets[datasetIndex];\n    if (!dataset) {\n      return false;\n    }\n    const meta = this.getDatasetMeta(datasetIndex);\n    return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n  }\n  setDatasetVisibility(datasetIndex, visible) {\n    const meta = this.getDatasetMeta(datasetIndex);\n    meta.hidden = !visible;\n  }\n  toggleDataVisibility(index) {\n    this._hiddenIndices[index] = !this._hiddenIndices[index];\n  }\n  getDataVisibility(index) {\n    return !this._hiddenIndices[index];\n  }\n  _updateVisibility(datasetIndex, dataIndex, visible) {\n    const mode = visible ? 'show' : 'hide';\n    const meta = this.getDatasetMeta(datasetIndex);\n    const anims = meta.controller._resolveAnimations(undefined, mode);\n    if (defined(dataIndex)) {\n      meta.data[dataIndex].hidden = !visible;\n      this.update();\n    } else {\n      this.setDatasetVisibility(datasetIndex, visible);\n      anims.update(meta, {visible});\n      this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n    }\n  }\n  hide(datasetIndex, dataIndex) {\n    this._updateVisibility(datasetIndex, dataIndex, false);\n  }\n  show(datasetIndex, dataIndex) {\n    this._updateVisibility(datasetIndex, dataIndex, true);\n  }\n  _destroyDatasetMeta(datasetIndex) {\n    const meta = this._metasets[datasetIndex];\n    if (meta && meta.controller) {\n      meta.controller._destroy();\n    }\n    delete this._metasets[datasetIndex];\n  }\n  _stop() {\n    let i, ilen;\n    this.stop();\n    animator.remove(this);\n    for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n      this._destroyDatasetMeta(i);\n    }\n  }\n  destroy() {\n    this.notifyPlugins('beforeDestroy');\n    const {canvas, ctx} = this;\n    this._stop();\n    this.config.clearCache();\n    if (canvas) {\n      this.unbindEvents();\n      clearCanvas(canvas, ctx);\n      this.platform.releaseContext(ctx);\n      this.canvas = null;\n      this.ctx = null;\n    }\n    this.notifyPlugins('destroy');\n    delete instances[this.id];\n    this.notifyPlugins('afterDestroy');\n  }\n  toBase64Image(...args) {\n    return this.canvas.toDataURL(...args);\n  }\n  bindEvents() {\n    this.bindUserEvents();\n    if (this.options.responsive) {\n      this.bindResponsiveEvents();\n    } else {\n      this.attached = true;\n    }\n  }\n  bindUserEvents() {\n    const listeners = this._listeners;\n    const platform = this.platform;\n    const _add = (type, listener) => {\n      platform.addEventListener(this, type, listener);\n      listeners[type] = listener;\n    };\n    const listener = (e, x, y) => {\n      e.offsetX = x;\n      e.offsetY = y;\n      this._eventHandler(e);\n    };\n    each(this.options.events, (type) => _add(type, listener));\n  }\n  bindResponsiveEvents() {\n    if (!this._responsiveListeners) {\n      this._responsiveListeners = {};\n    }\n    const listeners = this._responsiveListeners;\n    const platform = this.platform;\n    const _add = (type, listener) => {\n      platform.addEventListener(this, type, listener);\n      listeners[type] = listener;\n    };\n    const _remove = (type, listener) => {\n      if (listeners[type]) {\n        platform.removeEventListener(this, type, listener);\n        delete listeners[type];\n      }\n    };\n    const listener = (width, height) => {\n      if (this.canvas) {\n        this.resize(width, height);\n      }\n    };\n    let detached;\n    const attached = () => {\n      _remove('attach', attached);\n      this.attached = true;\n      this.resize();\n      _add('resize', listener);\n      _add('detach', detached);\n    };\n    detached = () => {\n      this.attached = false;\n      _remove('resize', listener);\n      this._stop();\n      this._resize(0, 0);\n      _add('attach', attached);\n    };\n    if (platform.isAttached(this.canvas)) {\n      attached();\n    } else {\n      detached();\n    }\n  }\n  unbindEvents() {\n    each(this._listeners, (listener, type) => {\n      this.platform.removeEventListener(this, type, listener);\n    });\n    this._listeners = {};\n    each(this._responsiveListeners, (listener, type) => {\n      this.platform.removeEventListener(this, type, listener);\n    });\n    this._responsiveListeners = undefined;\n  }\n  updateHoverStyle(items, mode, enabled) {\n    const prefix = enabled ? 'set' : 'remove';\n    let meta, item, i, ilen;\n    if (mode === 'dataset') {\n      meta = this.getDatasetMeta(items[0].datasetIndex);\n      meta.controller['_' + prefix + 'DatasetHoverStyle']();\n    }\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      item = items[i];\n      const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n      if (controller) {\n        controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n      }\n    }\n  }\n  getActiveElements() {\n    return this._active || [];\n  }\n  setActiveElements(activeElements) {\n    const lastActive = this._active || [];\n    const active = activeElements.map(({datasetIndex, index}) => {\n      const meta = this.getDatasetMeta(datasetIndex);\n      if (!meta) {\n        throw new Error('No dataset found at index ' + datasetIndex);\n      }\n      return {\n        datasetIndex,\n        element: meta.data[index],\n        index,\n      };\n    });\n    const changed = !_elementsEqual(active, lastActive);\n    if (changed) {\n      this._active = active;\n      this._lastEvent = null;\n      this._updateHoverStyles(active, lastActive);\n    }\n  }\n  notifyPlugins(hook, args, filter) {\n    return this._plugins.notify(this, hook, args, filter);\n  }\n  _updateHoverStyles(active, lastActive, replay) {\n    const hoverOptions = this.options.hover;\n    const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n    const deactivated = diff(lastActive, active);\n    const activated = replay ? active : diff(active, lastActive);\n    if (deactivated.length) {\n      this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n    }\n    if (activated.length && hoverOptions.mode) {\n      this.updateHoverStyle(activated, hoverOptions.mode, true);\n    }\n  }\n  _eventHandler(e, replay) {\n    const args = {\n      event: e,\n      replay,\n      cancelable: true,\n      inChartArea: this.isPointInArea(e)\n    };\n    const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n    if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n      return;\n    }\n    const changed = this._handleEvent(e, replay, args.inChartArea);\n    args.cancelable = false;\n    this.notifyPlugins('afterEvent', args, eventFilter);\n    if (changed || args.changed) {\n      this.render();\n    }\n    return this;\n  }\n  _handleEvent(e, replay, inChartArea) {\n    const {_active: lastActive = [], options} = this;\n    const useFinalPosition = replay;\n    const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n    const isClick = _isClickEvent(e);\n    const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n    if (inChartArea) {\n      this._lastEvent = null;\n      callback(options.onHover, [e, active, this], this);\n      if (isClick) {\n        callback(options.onClick, [e, active, this], this);\n      }\n    }\n    const changed = !_elementsEqual(active, lastActive);\n    if (changed || replay) {\n      this._active = active;\n      this._updateHoverStyles(active, lastActive, replay);\n    }\n    this._lastEvent = lastEvent;\n    return changed;\n  }\n  _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n    if (e.type === 'mouseout') {\n      return [];\n    }\n    if (!inChartArea) {\n      return lastActive;\n    }\n    const hoverOptions = this.options.hover;\n    return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n  }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n  defaults: {\n    enumerable,\n    value: defaults\n  },\n  instances: {\n    enumerable,\n    value: instances\n  },\n  overrides: {\n    enumerable,\n    value: overrides\n  },\n  registry: {\n    enumerable,\n    value: registry\n  },\n  version: {\n    enumerable,\n    value: version\n  },\n  getChart: {\n    enumerable,\n    value: getChart\n  },\n  register: {\n    enumerable,\n    value: (...items) => {\n      registry.add(...items);\n      invalidatePlugins();\n    }\n  },\n  unregister: {\n    enumerable,\n    value: (...items) => {\n      registry.remove(...items);\n      invalidatePlugins();\n    }\n  }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n  const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n  let angleMargin = pixelMargin / outerRadius;\n  ctx.beginPath();\n  ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n  if (innerRadius > pixelMargin) {\n    angleMargin = pixelMargin / innerRadius;\n    ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n  } else {\n    ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n  }\n  ctx.closePath();\n  ctx.clip();\n}\nfunction toRadiusCorners(value) {\n  return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n  const o = toRadiusCorners(arc.options.borderRadius);\n  const halfThickness = (outerRadius - innerRadius) / 2;\n  const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n  const computeOuterLimit = (val) => {\n    const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n    return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n  };\n  return {\n    outerStart: computeOuterLimit(o.outerStart),\n    outerEnd: computeOuterLimit(o.outerEnd),\n    innerStart: _limitValue(o.innerStart, 0, innerLimit),\n    innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n  };\n}\nfunction rThetaToXY(r, theta, x, y) {\n  return {\n    x: x + r * Math.cos(theta),\n    y: y + r * Math.sin(theta),\n  };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n  const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n  const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n  const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n  let spacingOffset = 0;\n  const alpha = end - start;\n  if (spacing) {\n    const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n    const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n    const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n    const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n    spacingOffset = (alpha - adjustedAngle) / 2;\n  }\n  const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n  const angleOffset = (alpha - beta) / 2;\n  const startAngle = start + angleOffset + spacingOffset;\n  const endAngle = end - angleOffset - spacingOffset;\n  const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n  const outerStartAdjustedRadius = outerRadius - outerStart;\n  const outerEndAdjustedRadius = outerRadius - outerEnd;\n  const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n  const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n  const innerStartAdjustedRadius = innerRadius + innerStart;\n  const innerEndAdjustedRadius = innerRadius + innerEnd;\n  const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n  const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n  ctx.beginPath();\n  if (circular) {\n    ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n    if (outerEnd > 0) {\n      const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n    }\n    const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n    ctx.lineTo(p4.x, p4.y);\n    if (innerEnd > 0) {\n      const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n    }\n    ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n    if (innerStart > 0) {\n      const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n    }\n    const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n    ctx.lineTo(p8.x, p8.y);\n    if (outerStart > 0) {\n      const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n      ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n    }\n  } else {\n    ctx.moveTo(x, y);\n    const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n    const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n    ctx.lineTo(outerStartX, outerStartY);\n    const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n    const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n    ctx.lineTo(outerEndX, outerEndY);\n  }\n  ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n  const {fullCircles, startAngle, circumference} = element;\n  let endAngle = element.endAngle;\n  if (fullCircles) {\n    pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n    for (let i = 0; i < fullCircles; ++i) {\n      ctx.fill();\n    }\n    if (!isNaN(circumference)) {\n      endAngle = startAngle + circumference % TAU;\n      if (circumference % TAU === 0) {\n        endAngle += TAU;\n      }\n    }\n  }\n  pathArc(ctx, element, offset, spacing, endAngle, circular);\n  ctx.fill();\n  return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n  const {x, y, startAngle, pixelMargin, fullCircles} = element;\n  const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n  const innerRadius = element.innerRadius + pixelMargin;\n  let i;\n  if (inner) {\n    clipArc(ctx, element, startAngle + TAU);\n  }\n  ctx.beginPath();\n  ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n  for (i = 0; i < fullCircles; ++i) {\n    ctx.stroke();\n  }\n  ctx.beginPath();\n  ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n  for (i = 0; i < fullCircles; ++i) {\n    ctx.stroke();\n  }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n  const {options} = element;\n  const {borderWidth, borderJoinStyle} = options;\n  const inner = options.borderAlign === 'inner';\n  if (!borderWidth) {\n    return;\n  }\n  if (inner) {\n    ctx.lineWidth = borderWidth * 2;\n    ctx.lineJoin = borderJoinStyle || 'round';\n  } else {\n    ctx.lineWidth = borderWidth;\n    ctx.lineJoin = borderJoinStyle || 'bevel';\n  }\n  if (element.fullCircles) {\n    drawFullCircleBorders(ctx, element, inner);\n  }\n  if (inner) {\n    clipArc(ctx, element, endAngle);\n  }\n  pathArc(ctx, element, offset, spacing, endAngle, circular);\n  ctx.stroke();\n}\nclass ArcElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.circumference = undefined;\n    this.startAngle = undefined;\n    this.endAngle = undefined;\n    this.innerRadius = undefined;\n    this.outerRadius = undefined;\n    this.pixelMargin = 0;\n    this.fullCircles = 0;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  inRange(chartX, chartY, useFinalPosition) {\n    const point = this.getProps(['x', 'y'], useFinalPosition);\n    const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n    const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n      'startAngle',\n      'endAngle',\n      'innerRadius',\n      'outerRadius',\n      'circumference'\n    ], useFinalPosition);\n    const rAdjust = this.options.spacing / 2;\n    const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n    const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n    const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n    return (betweenAngles && withinRadius);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n      'x',\n      'y',\n      'startAngle',\n      'endAngle',\n      'innerRadius',\n      'outerRadius',\n      'circumference',\n    ], useFinalPosition);\n    const {offset, spacing} = this.options;\n    const halfAngle = (startAngle + endAngle) / 2;\n    const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n    return {\n      x: x + Math.cos(halfAngle) * halfRadius,\n      y: y + Math.sin(halfAngle) * halfRadius\n    };\n  }\n  tooltipPosition(useFinalPosition) {\n    return this.getCenterPoint(useFinalPosition);\n  }\n  draw(ctx) {\n    const {options, circumference} = this;\n    const offset = (options.offset || 0) / 2;\n    const spacing = (options.spacing || 0) / 2;\n    const circular = options.circular;\n    this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n    this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n    if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n      return;\n    }\n    ctx.save();\n    let radiusOffset = 0;\n    if (offset) {\n      radiusOffset = offset / 2;\n      const halfAngle = (this.startAngle + this.endAngle) / 2;\n      ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n      if (this.circumference >= PI) {\n        radiusOffset = offset;\n      }\n    }\n    ctx.fillStyle = options.backgroundColor;\n    ctx.strokeStyle = options.borderColor;\n    const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n    drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n    ctx.restore();\n  }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n  borderAlign: 'center',\n  borderColor: '#fff',\n  borderJoinStyle: undefined,\n  borderRadius: 0,\n  borderWidth: 2,\n  offset: 0,\n  spacing: 0,\n  angle: undefined,\n  circular: true,\n};\nArcElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n  ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n  ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n  ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n  ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n  ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n  ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n  ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n  if (options.stepped) {\n    return _steppedLineTo;\n  }\n  if (options.tension || options.cubicInterpolationMode === 'monotone') {\n    return _bezierCurveTo;\n  }\n  return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n  const count = points.length;\n  const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n  const {start: segmentStart, end: segmentEnd} = segment;\n  const start = Math.max(paramsStart, segmentStart);\n  const end = Math.min(paramsEnd, segmentEnd);\n  const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n  return {\n    count,\n    start,\n    loop: segment.loop,\n    ilen: end < start && !outside ? count + end - start : end - start\n  };\n}\nfunction pathSegment(ctx, line, segment, params) {\n  const {points, options} = line;\n  const {count, start, loop, ilen} = pathVars(points, segment, params);\n  const lineMethod = getLineMethod(options);\n  let {move = true, reverse} = params || {};\n  let i, point, prev;\n  for (i = 0; i <= ilen; ++i) {\n    point = points[(start + (reverse ? ilen - i : i)) % count];\n    if (point.skip) {\n      continue;\n    } else if (move) {\n      ctx.moveTo(point.x, point.y);\n      move = false;\n    } else {\n      lineMethod(ctx, prev, point, reverse, options.stepped);\n    }\n    prev = point;\n  }\n  if (loop) {\n    point = points[(start + (reverse ? ilen : 0)) % count];\n    lineMethod(ctx, prev, point, reverse, options.stepped);\n  }\n  return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n  const points = line.points;\n  const {count, start, ilen} = pathVars(points, segment, params);\n  const {move = true, reverse} = params || {};\n  let avgX = 0;\n  let countX = 0;\n  let i, point, prevX, minY, maxY, lastY;\n  const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n  const drawX = () => {\n    if (minY !== maxY) {\n      ctx.lineTo(avgX, maxY);\n      ctx.lineTo(avgX, minY);\n      ctx.lineTo(avgX, lastY);\n    }\n  };\n  if (move) {\n    point = points[pointIndex(0)];\n    ctx.moveTo(point.x, point.y);\n  }\n  for (i = 0; i <= ilen; ++i) {\n    point = points[pointIndex(i)];\n    if (point.skip) {\n      continue;\n    }\n    const x = point.x;\n    const y = point.y;\n    const truncX = x | 0;\n    if (truncX === prevX) {\n      if (y < minY) {\n        minY = y;\n      } else if (y > maxY) {\n        maxY = y;\n      }\n      avgX = (countX * avgX + x) / ++countX;\n    } else {\n      drawX();\n      ctx.lineTo(x, y);\n      prevX = truncX;\n      countX = 0;\n      minY = maxY = y;\n    }\n    lastY = y;\n  }\n  drawX();\n}\nfunction _getSegmentMethod(line) {\n  const opts = line.options;\n  const borderDash = opts.borderDash && opts.borderDash.length;\n  const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n  return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n  if (options.stepped) {\n    return _steppedInterpolation;\n  }\n  if (options.tension || options.cubicInterpolationMode === 'monotone') {\n    return _bezierInterpolation;\n  }\n  return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n  let path = line._path;\n  if (!path) {\n    path = line._path = new Path2D();\n    if (line.path(path, start, count)) {\n      path.closePath();\n    }\n  }\n  setStyle(ctx, line.options);\n  ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n  const {segments, options} = line;\n  const segmentMethod = _getSegmentMethod(line);\n  for (const segment of segments) {\n    setStyle(ctx, options, segment.style);\n    ctx.beginPath();\n    if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n      ctx.closePath();\n    }\n    ctx.stroke();\n  }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n  if (usePath2D && !line.options.segment) {\n    strokePathWithCache(ctx, line, start, count);\n  } else {\n    strokePathDirect(ctx, line, start, count);\n  }\n}\nclass LineElement extends Element {\n  constructor(cfg) {\n    super();\n    this.animated = true;\n    this.options = undefined;\n    this._chart = undefined;\n    this._loop = undefined;\n    this._fullLoop = undefined;\n    this._path = undefined;\n    this._points = undefined;\n    this._segments = undefined;\n    this._decimated = false;\n    this._pointsUpdated = false;\n    this._datasetIndex = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  updateControlPoints(chartArea, indexAxis) {\n    const options = this.options;\n    if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n      const loop = options.spanGaps ? this._loop : this._fullLoop;\n      _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n      this._pointsUpdated = true;\n    }\n  }\n  set points(points) {\n    this._points = points;\n    delete this._segments;\n    delete this._path;\n    this._pointsUpdated = false;\n  }\n  get points() {\n    return this._points;\n  }\n  get segments() {\n    return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n  }\n  first() {\n    const segments = this.segments;\n    const points = this.points;\n    return segments.length && points[segments[0].start];\n  }\n  last() {\n    const segments = this.segments;\n    const points = this.points;\n    const count = segments.length;\n    return count && points[segments[count - 1].end];\n  }\n  interpolate(point, property) {\n    const options = this.options;\n    const value = point[property];\n    const points = this.points;\n    const segments = _boundSegments(this, {property, start: value, end: value});\n    if (!segments.length) {\n      return;\n    }\n    const result = [];\n    const _interpolate = _getInterpolationMethod(options);\n    let i, ilen;\n    for (i = 0, ilen = segments.length; i < ilen; ++i) {\n      const {start, end} = segments[i];\n      const p1 = points[start];\n      const p2 = points[end];\n      if (p1 === p2) {\n        result.push(p1);\n        continue;\n      }\n      const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n      const interpolated = _interpolate(p1, p2, t, options.stepped);\n      interpolated[property] = point[property];\n      result.push(interpolated);\n    }\n    return result.length === 1 ? result[0] : result;\n  }\n  pathSegment(ctx, segment, params) {\n    const segmentMethod = _getSegmentMethod(this);\n    return segmentMethod(ctx, this, segment, params);\n  }\n  path(ctx, start, count) {\n    const segments = this.segments;\n    const segmentMethod = _getSegmentMethod(this);\n    let loop = this._loop;\n    start = start || 0;\n    count = count || (this.points.length - start);\n    for (const segment of segments) {\n      loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n    }\n    return !!loop;\n  }\n  draw(ctx, chartArea, start, count) {\n    const options = this.options || {};\n    const points = this.points || [];\n    if (points.length && options.borderWidth) {\n      ctx.save();\n      draw(ctx, this, start, count);\n      ctx.restore();\n    }\n    if (this.animated) {\n      this._pointsUpdated = false;\n      this._path = undefined;\n    }\n  }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n  borderCapStyle: 'butt',\n  borderDash: [],\n  borderDashOffset: 0,\n  borderJoinStyle: 'miter',\n  borderWidth: 3,\n  capBezierPoints: true,\n  cubicInterpolationMode: 'default',\n  fill: false,\n  spanGaps: false,\n  stepped: false,\n  tension: 0,\n};\nLineElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n  _scriptable: true,\n  _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n  const options = el.options;\n  const {[axis]: value} = el.getProps([axis], useFinalPosition);\n  return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.parsed = undefined;\n    this.skip = undefined;\n    this.stop = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  inRange(mouseX, mouseY, useFinalPosition) {\n    const options = this.options;\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n  }\n  inXRange(mouseX, useFinalPosition) {\n    return inRange$1(this, mouseX, 'x', useFinalPosition);\n  }\n  inYRange(mouseY, useFinalPosition) {\n    return inRange$1(this, mouseY, 'y', useFinalPosition);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n    return {x, y};\n  }\n  size(options) {\n    options = options || this.options || {};\n    let radius = options.radius || 0;\n    radius = Math.max(radius, radius && options.hoverRadius || 0);\n    const borderWidth = radius && options.borderWidth || 0;\n    return (radius + borderWidth) * 2;\n  }\n  draw(ctx, area) {\n    const options = this.options;\n    if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n      return;\n    }\n    ctx.strokeStyle = options.borderColor;\n    ctx.lineWidth = options.borderWidth;\n    ctx.fillStyle = options.backgroundColor;\n    drawPoint(ctx, options, this.x, this.y);\n  }\n  getRange() {\n    const options = this.options || {};\n    return options.radius + options.hitRadius;\n  }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n  borderWidth: 1,\n  hitRadius: 1,\n  hoverBorderWidth: 1,\n  hoverRadius: 4,\n  pointStyle: 'circle',\n  radius: 3,\n  rotation: 0\n};\nPointElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n  const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n  let left, right, top, bottom, half;\n  if (bar.horizontal) {\n    half = height / 2;\n    left = Math.min(x, base);\n    right = Math.max(x, base);\n    top = y - half;\n    bottom = y + half;\n  } else {\n    half = width / 2;\n    left = x - half;\n    right = x + half;\n    top = Math.min(y, base);\n    bottom = Math.max(y, base);\n  }\n  return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n  return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n  const value = bar.options.borderWidth;\n  const skip = bar.borderSkipped;\n  const o = toTRBL(value);\n  return {\n    t: skipOrLimit(skip.top, o.top, 0, maxH),\n    r: skipOrLimit(skip.right, o.right, 0, maxW),\n    b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n    l: skipOrLimit(skip.left, o.left, 0, maxW)\n  };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n  const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n  const value = bar.options.borderRadius;\n  const o = toTRBLCorners(value);\n  const maxR = Math.min(maxW, maxH);\n  const skip = bar.borderSkipped;\n  const enableBorder = enableBorderRadius || isObject(value);\n  return {\n    topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n    topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n    bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n    bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n  };\n}\nfunction boundingRects(bar) {\n  const bounds = getBarBounds(bar);\n  const width = bounds.right - bounds.left;\n  const height = bounds.bottom - bounds.top;\n  const border = parseBorderWidth(bar, width / 2, height / 2);\n  const radius = parseBorderRadius(bar, width / 2, height / 2);\n  return {\n    outer: {\n      x: bounds.left,\n      y: bounds.top,\n      w: width,\n      h: height,\n      radius\n    },\n    inner: {\n      x: bounds.left + border.l,\n      y: bounds.top + border.t,\n      w: width - border.l - border.r,\n      h: height - border.t - border.b,\n      radius: {\n        topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n        topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n        bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n        bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n      }\n    }\n  };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n  const skipX = x === null;\n  const skipY = y === null;\n  const skipBoth = skipX && skipY;\n  const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n  return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n  return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n  ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n  const x = rect.x !== refRect.x ? -amount : 0;\n  const y = rect.y !== refRect.y ? -amount : 0;\n  const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n  const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n  return {\n    x: rect.x + x,\n    y: rect.y + y,\n    w: rect.w + w,\n    h: rect.h + h,\n    radius: rect.radius\n  };\n}\nclass BarElement extends Element {\n  constructor(cfg) {\n    super();\n    this.options = undefined;\n    this.horizontal = undefined;\n    this.base = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this.inflateAmount = undefined;\n    if (cfg) {\n      Object.assign(this, cfg);\n    }\n  }\n  draw(ctx) {\n    const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n    const {inner, outer} = boundingRects(this);\n    const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n    ctx.save();\n    if (outer.w !== inner.w || outer.h !== inner.h) {\n      ctx.beginPath();\n      addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n      ctx.clip();\n      addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n      ctx.fillStyle = borderColor;\n      ctx.fill('evenodd');\n    }\n    ctx.beginPath();\n    addRectPath(ctx, inflateRect(inner, inflateAmount));\n    ctx.fillStyle = backgroundColor;\n    ctx.fill();\n    ctx.restore();\n  }\n  inRange(mouseX, mouseY, useFinalPosition) {\n    return inRange(this, mouseX, mouseY, useFinalPosition);\n  }\n  inXRange(mouseX, useFinalPosition) {\n    return inRange(this, mouseX, null, useFinalPosition);\n  }\n  inYRange(mouseY, useFinalPosition) {\n    return inRange(this, null, mouseY, useFinalPosition);\n  }\n  getCenterPoint(useFinalPosition) {\n    const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n    return {\n      x: horizontal ? (x + base) / 2 : x,\n      y: horizontal ? y : (y + base) / 2\n    };\n  }\n  getRange(axis) {\n    return axis === 'x' ? this.width / 2 : this.height / 2;\n  }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n  borderSkipped: 'start',\n  borderWidth: 0,\n  borderRadius: 0,\n  inflateAmount: 'auto',\n  pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n  backgroundColor: 'backgroundColor',\n  borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n  const samples = options.samples || availableWidth;\n  if (samples >= count) {\n    return data.slice(start, start + count);\n  }\n  const decimated = [];\n  const bucketWidth = (count - 2) / (samples - 2);\n  let sampledIndex = 0;\n  const endIndex = start + count - 1;\n  let a = start;\n  let i, maxAreaPoint, maxArea, area, nextA;\n  decimated[sampledIndex++] = data[a];\n  for (i = 0; i < samples - 2; i++) {\n    let avgX = 0;\n    let avgY = 0;\n    let j;\n    const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n    const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n    const avgRangeLength = avgRangeEnd - avgRangeStart;\n    for (j = avgRangeStart; j < avgRangeEnd; j++) {\n      avgX += data[j].x;\n      avgY += data[j].y;\n    }\n    avgX /= avgRangeLength;\n    avgY /= avgRangeLength;\n    const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n    const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n    const {x: pointAx, y: pointAy} = data[a];\n    maxArea = area = -1;\n    for (j = rangeOffs; j < rangeTo; j++) {\n      area = 0.5 * Math.abs(\n        (pointAx - avgX) * (data[j].y - pointAy) -\n        (pointAx - data[j].x) * (avgY - pointAy)\n      );\n      if (area > maxArea) {\n        maxArea = area;\n        maxAreaPoint = data[j];\n        nextA = j;\n      }\n    }\n    decimated[sampledIndex++] = maxAreaPoint;\n    a = nextA;\n  }\n  decimated[sampledIndex++] = data[endIndex];\n  return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n  let avgX = 0;\n  let countX = 0;\n  let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n  const decimated = [];\n  const endIndex = start + count - 1;\n  const xMin = data[start].x;\n  const xMax = data[endIndex].x;\n  const dx = xMax - xMin;\n  for (i = start; i < start + count; ++i) {\n    point = data[i];\n    x = (point.x - xMin) / dx * availableWidth;\n    y = point.y;\n    const truncX = x | 0;\n    if (truncX === prevX) {\n      if (y < minY) {\n        minY = y;\n        minIndex = i;\n      } else if (y > maxY) {\n        maxY = y;\n        maxIndex = i;\n      }\n      avgX = (countX * avgX + point.x) / ++countX;\n    } else {\n      const lastIndex = i - 1;\n      if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n        const intermediateIndex1 = Math.min(minIndex, maxIndex);\n        const intermediateIndex2 = Math.max(minIndex, maxIndex);\n        if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n          decimated.push({\n            ...data[intermediateIndex1],\n            x: avgX,\n          });\n        }\n        if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n          decimated.push({\n            ...data[intermediateIndex2],\n            x: avgX\n          });\n        }\n      }\n      if (i > 0 && lastIndex !== startIndex) {\n        decimated.push(data[lastIndex]);\n      }\n      decimated.push(point);\n      prevX = truncX;\n      countX = 0;\n      minY = maxY = y;\n      minIndex = maxIndex = startIndex = i;\n    }\n  }\n  return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n  if (dataset._decimated) {\n    const data = dataset._data;\n    delete dataset._decimated;\n    delete dataset._data;\n    Object.defineProperty(dataset, 'data', {value: data});\n  }\n}\nfunction cleanDecimatedData(chart) {\n  chart.data.datasets.forEach((dataset) => {\n    cleanDecimatedDataset(dataset);\n  });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n  const pointCount = points.length;\n  let start = 0;\n  let count;\n  const {iScale} = meta;\n  const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n  if (minDefined) {\n    start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n  }\n  if (maxDefined) {\n    count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n  } else {\n    count = pointCount - start;\n  }\n  return {start, count};\n}\nvar plugin_decimation = {\n  id: 'decimation',\n  defaults: {\n    algorithm: 'min-max',\n    enabled: false,\n  },\n  beforeElementsUpdate: (chart, args, options) => {\n    if (!options.enabled) {\n      cleanDecimatedData(chart);\n      return;\n    }\n    const availableWidth = chart.width;\n    chart.data.datasets.forEach((dataset, datasetIndex) => {\n      const {_data, indexAxis} = dataset;\n      const meta = chart.getDatasetMeta(datasetIndex);\n      const data = _data || dataset.data;\n      if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n        return;\n      }\n      if (!meta.controller.supportsDecimation) {\n        return;\n      }\n      const xAxis = chart.scales[meta.xAxisID];\n      if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n        return;\n      }\n      if (chart.options.parsing) {\n        return;\n      }\n      let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n      const threshold = options.threshold || 4 * availableWidth;\n      if (count <= threshold) {\n        cleanDecimatedDataset(dataset);\n        return;\n      }\n      if (isNullOrUndef(_data)) {\n        dataset._data = data;\n        delete dataset.data;\n        Object.defineProperty(dataset, 'data', {\n          configurable: true,\n          enumerable: true,\n          get: function() {\n            return this._decimated;\n          },\n          set: function(d) {\n            this._data = d;\n          }\n        });\n      }\n      let decimated;\n      switch (options.algorithm) {\n      case 'lttb':\n        decimated = lttbDecimation(data, start, count, availableWidth, options);\n        break;\n      case 'min-max':\n        decimated = minMaxDecimation(data, start, count, availableWidth);\n        break;\n      default:\n        throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n      }\n      dataset._decimated = decimated;\n    });\n  },\n  destroy(chart) {\n    cleanDecimatedData(chart);\n  }\n};\n\nfunction _segments(line, target, property) {\n  const segments = line.segments;\n  const points = line.points;\n  const tpoints = target.points;\n  const parts = [];\n  for (const segment of segments) {\n    let {start, end} = segment;\n    end = _findSegmentEnd(start, end, points);\n    const bounds = _getBounds(property, points[start], points[end], segment.loop);\n    if (!target.segments) {\n      parts.push({\n        source: segment,\n        target: bounds,\n        start: points[start],\n        end: points[end]\n      });\n      continue;\n    }\n    const targetSegments = _boundSegments(target, bounds);\n    for (const tgt of targetSegments) {\n      const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n      const fillSources = _boundSegment(segment, points, subBounds);\n      for (const fillSource of fillSources) {\n        parts.push({\n          source: fillSource,\n          target: tgt,\n          start: {\n            [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n          },\n          end: {\n            [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n          }\n        });\n      }\n    }\n  }\n  return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n  if (loop) {\n    return;\n  }\n  let start = first[property];\n  let end = last[property];\n  if (property === 'angle') {\n    start = _normalizeAngle(start);\n    end = _normalizeAngle(end);\n  }\n  return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n  const {x = null, y = null} = boundary || {};\n  const linePoints = line.points;\n  const points = [];\n  line.segments.forEach(({start, end}) => {\n    end = _findSegmentEnd(start, end, linePoints);\n    const first = linePoints[start];\n    const last = linePoints[end];\n    if (y !== null) {\n      points.push({x: first.x, y});\n      points.push({x: last.x, y});\n    } else if (x !== null) {\n      points.push({x, y: first.y});\n      points.push({x, y: last.y});\n    }\n  });\n  return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n  for (;end > start; end--) {\n    const point = points[end];\n    if (!isNaN(point.x) && !isNaN(point.y)) {\n      break;\n    }\n  }\n  return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n  if (a && b) {\n    return fn(a[prop], b[prop]);\n  }\n  return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n  let points = [];\n  let _loop = false;\n  if (isArray(boundary)) {\n    _loop = true;\n    points = boundary;\n  } else {\n    points = _pointsFromSegments(boundary, line);\n  }\n  return points.length ? new LineElement({\n    points,\n    options: {tension: 0},\n    _loop,\n    _fullLoop: _loop\n  }) : null;\n}\nfunction _shouldApplyFill(source) {\n  return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n  const source = sources[index];\n  let fill = source.fill;\n  const visited = [index];\n  let target;\n  if (!propagate) {\n    return fill;\n  }\n  while (fill !== false && visited.indexOf(fill) === -1) {\n    if (!isNumberFinite(fill)) {\n      return fill;\n    }\n    target = sources[fill];\n    if (!target) {\n      return false;\n    }\n    if (target.visible) {\n      return fill;\n    }\n    visited.push(fill);\n    fill = target.fill;\n  }\n  return false;\n}\nfunction _decodeFill(line, index, count) {\n  const fill = parseFillOption(line);\n  if (isObject(fill)) {\n    return isNaN(fill.value) ? false : fill;\n  }\n  let target = parseFloat(fill);\n  if (isNumberFinite(target) && Math.floor(target) === target) {\n    return decodeTargetIndex(fill[0], index, target, count);\n  }\n  return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n  if (firstCh === '-' || firstCh === '+') {\n    target = index + target;\n  }\n  if (target === index || target < 0 || target >= count) {\n    return false;\n  }\n  return target;\n}\nfunction _getTargetPixel(fill, scale) {\n  let pixel = null;\n  if (fill === 'start') {\n    pixel = scale.bottom;\n  } else if (fill === 'end') {\n    pixel = scale.top;\n  } else if (isObject(fill)) {\n    pixel = scale.getPixelForValue(fill.value);\n  } else if (scale.getBasePixel) {\n    pixel = scale.getBasePixel();\n  }\n  return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n  let value;\n  if (fill === 'start') {\n    value = startValue;\n  } else if (fill === 'end') {\n    value = scale.options.reverse ? scale.min : scale.max;\n  } else if (isObject(fill)) {\n    value = fill.value;\n  } else {\n    value = scale.getBaseValue();\n  }\n  return value;\n}\nfunction parseFillOption(line) {\n  const options = line.options;\n  const fillOption = options.fill;\n  let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n  if (fill === undefined) {\n    fill = !!options.backgroundColor;\n  }\n  if (fill === false || fill === null) {\n    return false;\n  }\n  if (fill === true) {\n    return 'origin';\n  }\n  return fill;\n}\n\nfunction _buildStackLine(source) {\n  const {scale, index, line} = source;\n  const points = [];\n  const segments = line.segments;\n  const sourcePoints = line.points;\n  const linesBelow = getLinesBelow(scale, index);\n  linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n  for (let i = 0; i < segments.length; i++) {\n    const segment = segments[i];\n    for (let j = segment.start; j <= segment.end; j++) {\n      addPointsBelow(points, sourcePoints[j], linesBelow);\n    }\n  }\n  return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n  const below = [];\n  const metas = scale.getMatchingVisibleMetas('line');\n  for (let i = 0; i < metas.length; i++) {\n    const meta = metas[i];\n    if (meta.index === index) {\n      break;\n    }\n    if (!meta.hidden) {\n      below.unshift(meta.dataset);\n    }\n  }\n  return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n  const postponed = [];\n  for (let j = 0; j < linesBelow.length; j++) {\n    const line = linesBelow[j];\n    const {first, last, point} = findPoint(line, sourcePoint, 'x');\n    if (!point || (first && last)) {\n      continue;\n    }\n    if (first) {\n      postponed.unshift(point);\n    } else {\n      points.push(point);\n      if (!last) {\n        break;\n      }\n    }\n  }\n  points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n  const point = line.interpolate(sourcePoint, property);\n  if (!point) {\n    return {};\n  }\n  const pointValue = point[property];\n  const segments = line.segments;\n  const linePoints = line.points;\n  let first = false;\n  let last = false;\n  for (let i = 0; i < segments.length; i++) {\n    const segment = segments[i];\n    const firstValue = linePoints[segment.start][property];\n    const lastValue = linePoints[segment.end][property];\n    if (_isBetween(pointValue, firstValue, lastValue)) {\n      first = pointValue === firstValue;\n      last = pointValue === lastValue;\n      break;\n    }\n  }\n  return {first, last, point};\n}\n\nclass simpleArc {\n  constructor(opts) {\n    this.x = opts.x;\n    this.y = opts.y;\n    this.radius = opts.radius;\n  }\n  pathSegment(ctx, bounds, opts) {\n    const {x, y, radius} = this;\n    bounds = bounds || {start: 0, end: TAU};\n    ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n    return !opts.bounds;\n  }\n  interpolate(point) {\n    const {x, y, radius} = this;\n    const angle = point.angle;\n    return {\n      x: x + Math.cos(angle) * radius,\n      y: y + Math.sin(angle) * radius,\n      angle\n    };\n  }\n}\n\nfunction _getTarget(source) {\n  const {chart, fill, line} = source;\n  if (isNumberFinite(fill)) {\n    return getLineByIndex(chart, fill);\n  }\n  if (fill === 'stack') {\n    return _buildStackLine(source);\n  }\n  if (fill === 'shape') {\n    return true;\n  }\n  const boundary = computeBoundary(source);\n  if (boundary instanceof simpleArc) {\n    return boundary;\n  }\n  return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n  const meta = chart.getDatasetMeta(index);\n  const visible = meta && chart.isDatasetVisible(index);\n  return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n  const scale = source.scale || {};\n  if (scale.getPointPositionForValue) {\n    return computeCircularBoundary(source);\n  }\n  return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n  const {scale = {}, fill} = source;\n  const pixel = _getTargetPixel(fill, scale);\n  if (isNumberFinite(pixel)) {\n    const horizontal = scale.isHorizontal();\n    return {\n      x: horizontal ? pixel : null,\n      y: horizontal ? null : pixel\n    };\n  }\n  return null;\n}\nfunction computeCircularBoundary(source) {\n  const {scale, fill} = source;\n  const options = scale.options;\n  const length = scale.getLabels().length;\n  const start = options.reverse ? scale.max : scale.min;\n  const value = _getTargetValue(fill, scale, start);\n  const target = [];\n  if (options.grid.circular) {\n    const center = scale.getPointPositionForValue(0, start);\n    return new simpleArc({\n      x: center.x,\n      y: center.y,\n      radius: scale.getDistanceFromCenterForValue(value)\n    });\n  }\n  for (let i = 0; i < length; ++i) {\n    target.push(scale.getPointPositionForValue(i, value));\n  }\n  return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n  const target = _getTarget(source);\n  const {line, scale, axis} = source;\n  const lineOpts = line.options;\n  const fillOption = lineOpts.fill;\n  const color = lineOpts.backgroundColor;\n  const {above = color, below = color} = fillOption || {};\n  if (target && line.points.length) {\n    clipArea(ctx, area);\n    doFill(ctx, {line, target, above, below, area, scale, axis});\n    unclipArea(ctx);\n  }\n}\nfunction doFill(ctx, cfg) {\n  const {line, target, above, below, area, scale} = cfg;\n  const property = line._loop ? 'angle' : cfg.axis;\n  ctx.save();\n  if (property === 'x' && below !== above) {\n    clipVertical(ctx, target, area.top);\n    fill(ctx, {line, target, color: above, scale, property});\n    ctx.restore();\n    ctx.save();\n    clipVertical(ctx, target, area.bottom);\n  }\n  fill(ctx, {line, target, color: below, scale, property});\n  ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n  const {segments, points} = target;\n  let first = true;\n  let lineLoop = false;\n  ctx.beginPath();\n  for (const segment of segments) {\n    const {start, end} = segment;\n    const firstPoint = points[start];\n    const lastPoint = points[_findSegmentEnd(start, end, points)];\n    if (first) {\n      ctx.moveTo(firstPoint.x, firstPoint.y);\n      first = false;\n    } else {\n      ctx.lineTo(firstPoint.x, clipY);\n      ctx.lineTo(firstPoint.x, firstPoint.y);\n    }\n    lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n    if (lineLoop) {\n      ctx.closePath();\n    } else {\n      ctx.lineTo(lastPoint.x, clipY);\n    }\n  }\n  ctx.lineTo(target.first().x, clipY);\n  ctx.closePath();\n  ctx.clip();\n}\nfunction fill(ctx, cfg) {\n  const {line, target, property, color, scale} = cfg;\n  const segments = _segments(line, target, property);\n  for (const {source: src, target: tgt, start, end} of segments) {\n    const {style: {backgroundColor = color} = {}} = src;\n    const notShape = target !== true;\n    ctx.save();\n    ctx.fillStyle = backgroundColor;\n    clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n    ctx.beginPath();\n    const lineLoop = !!line.pathSegment(ctx, src);\n    let loop;\n    if (notShape) {\n      if (lineLoop) {\n        ctx.closePath();\n      } else {\n        interpolatedLineTo(ctx, target, end, property);\n      }\n      const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n      loop = lineLoop && targetLoop;\n      if (!loop) {\n        interpolatedLineTo(ctx, target, start, property);\n      }\n    }\n    ctx.closePath();\n    ctx.fill(loop ? 'evenodd' : 'nonzero');\n    ctx.restore();\n  }\n}\nfunction clipBounds(ctx, scale, bounds) {\n  const {top, bottom} = scale.chart.chartArea;\n  const {property, start, end} = bounds || {};\n  if (property === 'x') {\n    ctx.beginPath();\n    ctx.rect(start, top, end - start, bottom - top);\n    ctx.clip();\n  }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n  const interpolatedPoint = target.interpolate(point, property);\n  if (interpolatedPoint) {\n    ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n  }\n}\n\nvar index = {\n  id: 'filler',\n  afterDatasetsUpdate(chart, _args, options) {\n    const count = (chart.data.datasets || []).length;\n    const sources = [];\n    let meta, i, line, source;\n    for (i = 0; i < count; ++i) {\n      meta = chart.getDatasetMeta(i);\n      line = meta.dataset;\n      source = null;\n      if (line && line.options && line instanceof LineElement) {\n        source = {\n          visible: chart.isDatasetVisible(i),\n          index: i,\n          fill: _decodeFill(line, i, count),\n          chart,\n          axis: meta.controller.options.indexAxis,\n          scale: meta.vScale,\n          line,\n        };\n      }\n      meta.$filler = source;\n      sources.push(source);\n    }\n    for (i = 0; i < count; ++i) {\n      source = sources[i];\n      if (!source || source.fill === false) {\n        continue;\n      }\n      source.fill = _resolveTarget(sources, i, options.propagate);\n    }\n  },\n  beforeDraw(chart, _args, options) {\n    const draw = options.drawTime === 'beforeDraw';\n    const metasets = chart.getSortedVisibleDatasetMetas();\n    const area = chart.chartArea;\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      const source = metasets[i].$filler;\n      if (!source) {\n        continue;\n      }\n      source.line.updateControlPoints(area, source.axis);\n      if (draw && source.fill) {\n        _drawfill(chart.ctx, source, area);\n      }\n    }\n  },\n  beforeDatasetsDraw(chart, _args, options) {\n    if (options.drawTime !== 'beforeDatasetsDraw') {\n      return;\n    }\n    const metasets = chart.getSortedVisibleDatasetMetas();\n    for (let i = metasets.length - 1; i >= 0; --i) {\n      const source = metasets[i].$filler;\n      if (_shouldApplyFill(source)) {\n        _drawfill(chart.ctx, source, chart.chartArea);\n      }\n    }\n  },\n  beforeDatasetDraw(chart, args, options) {\n    const source = args.meta.$filler;\n    if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n      return;\n    }\n    _drawfill(chart.ctx, source, chart.chartArea);\n  },\n  defaults: {\n    propagate: true,\n    drawTime: 'beforeDatasetDraw'\n  }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n  let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n  if (labelOpts.usePointStyle) {\n    boxHeight = Math.min(boxHeight, fontSize);\n    boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n  }\n  return {\n    boxWidth,\n    boxHeight,\n    itemHeight: Math.max(fontSize, boxHeight)\n  };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n  constructor(config) {\n    super();\n    this._added = false;\n    this.legendHitBoxes = [];\n    this._hoveredItem = null;\n    this.doughnutMode = false;\n    this.chart = config.chart;\n    this.options = config.options;\n    this.ctx = config.ctx;\n    this.legendItems = undefined;\n    this.columnSizes = undefined;\n    this.lineWidths = undefined;\n    this.maxHeight = undefined;\n    this.maxWidth = undefined;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.height = undefined;\n    this.width = undefined;\n    this._margins = undefined;\n    this.position = undefined;\n    this.weight = undefined;\n    this.fullSize = undefined;\n  }\n  update(maxWidth, maxHeight, margins) {\n    this.maxWidth = maxWidth;\n    this.maxHeight = maxHeight;\n    this._margins = margins;\n    this.setDimensions();\n    this.buildLabels();\n    this.fit();\n  }\n  setDimensions() {\n    if (this.isHorizontal()) {\n      this.width = this.maxWidth;\n      this.left = this._margins.left;\n      this.right = this.width;\n    } else {\n      this.height = this.maxHeight;\n      this.top = this._margins.top;\n      this.bottom = this.height;\n    }\n  }\n  buildLabels() {\n    const labelOpts = this.options.labels || {};\n    let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n    if (labelOpts.filter) {\n      legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n    }\n    if (labelOpts.sort) {\n      legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n    }\n    if (this.options.reverse) {\n      legendItems.reverse();\n    }\n    this.legendItems = legendItems;\n  }\n  fit() {\n    const {options, ctx} = this;\n    if (!options.display) {\n      this.width = this.height = 0;\n      return;\n    }\n    const labelOpts = options.labels;\n    const labelFont = toFont(labelOpts.font);\n    const fontSize = labelFont.size;\n    const titleHeight = this._computeTitleHeight();\n    const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n    let width, height;\n    ctx.font = labelFont.string;\n    if (this.isHorizontal()) {\n      width = this.maxWidth;\n      height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n    } else {\n      height = this.maxHeight;\n      width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n    }\n    this.width = Math.min(width, options.maxWidth || this.maxWidth);\n    this.height = Math.min(height, options.maxHeight || this.maxHeight);\n  }\n  _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n    const {ctx, maxWidth, options: {labels: {padding}}} = this;\n    const hitboxes = this.legendHitBoxes = [];\n    const lineWidths = this.lineWidths = [0];\n    const lineHeight = itemHeight + padding;\n    let totalHeight = titleHeight;\n    ctx.textAlign = 'left';\n    ctx.textBaseline = 'middle';\n    let row = -1;\n    let top = -lineHeight;\n    this.legendItems.forEach((legendItem, i) => {\n      const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n      if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n        totalHeight += lineHeight;\n        lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n        top += lineHeight;\n        row++;\n      }\n      hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n      lineWidths[lineWidths.length - 1] += itemWidth + padding;\n    });\n    return totalHeight;\n  }\n  _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n    const {ctx, maxHeight, options: {labels: {padding}}} = this;\n    const hitboxes = this.legendHitBoxes = [];\n    const columnSizes = this.columnSizes = [];\n    const heightLimit = maxHeight - titleHeight;\n    let totalWidth = padding;\n    let currentColWidth = 0;\n    let currentColHeight = 0;\n    let left = 0;\n    let col = 0;\n    this.legendItems.forEach((legendItem, i) => {\n      const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n      if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n        totalWidth += currentColWidth + padding;\n        columnSizes.push({width: currentColWidth, height: currentColHeight});\n        left += currentColWidth + padding;\n        col++;\n        currentColWidth = currentColHeight = 0;\n      }\n      hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n      currentColWidth = Math.max(currentColWidth, itemWidth);\n      currentColHeight += itemHeight + padding;\n    });\n    totalWidth += currentColWidth;\n    columnSizes.push({width: currentColWidth, height: currentColHeight});\n    return totalWidth;\n  }\n  adjustHitBoxes() {\n    if (!this.options.display) {\n      return;\n    }\n    const titleHeight = this._computeTitleHeight();\n    const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n    const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n    if (this.isHorizontal()) {\n      let row = 0;\n      let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n      for (const hitbox of hitboxes) {\n        if (row !== hitbox.row) {\n          row = hitbox.row;\n          left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n        }\n        hitbox.top += this.top + titleHeight + padding;\n        hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n        left += hitbox.width + padding;\n      }\n    } else {\n      let col = 0;\n      let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n      for (const hitbox of hitboxes) {\n        if (hitbox.col !== col) {\n          col = hitbox.col;\n          top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n        }\n        hitbox.top = top;\n        hitbox.left += this.left + padding;\n        hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n        top += hitbox.height + padding;\n      }\n    }\n  }\n  isHorizontal() {\n    return this.options.position === 'top' || this.options.position === 'bottom';\n  }\n  draw() {\n    if (this.options.display) {\n      const ctx = this.ctx;\n      clipArea(ctx, this);\n      this._draw();\n      unclipArea(ctx);\n    }\n  }\n  _draw() {\n    const {options: opts, columnSizes, lineWidths, ctx} = this;\n    const {align, labels: labelOpts} = opts;\n    const defaultColor = defaults.color;\n    const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n    const labelFont = toFont(labelOpts.font);\n    const {color: fontColor, padding} = labelOpts;\n    const fontSize = labelFont.size;\n    const halfFontSize = fontSize / 2;\n    let cursor;\n    this.drawTitle();\n    ctx.textAlign = rtlHelper.textAlign('left');\n    ctx.textBaseline = 'middle';\n    ctx.lineWidth = 0.5;\n    ctx.font = labelFont.string;\n    const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n    const drawLegendBox = function(x, y, legendItem) {\n      if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n        return;\n      }\n      ctx.save();\n      const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n      ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n      ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n      ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n      ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n      ctx.lineWidth = lineWidth;\n      ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n      ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n      if (labelOpts.usePointStyle) {\n        const drawOptions = {\n          radius: boxHeight * Math.SQRT2 / 2,\n          pointStyle: legendItem.pointStyle,\n          rotation: legendItem.rotation,\n          borderWidth: lineWidth\n        };\n        const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n        const centerY = y + halfFontSize;\n        drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n      } else {\n        const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n        const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n        const borderRadius = toTRBLCorners(legendItem.borderRadius);\n        ctx.beginPath();\n        if (Object.values(borderRadius).some(v => v !== 0)) {\n          addRoundedRectPath(ctx, {\n            x: xBoxLeft,\n            y: yBoxTop,\n            w: boxWidth,\n            h: boxHeight,\n            radius: borderRadius,\n          });\n        } else {\n          ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n        }\n        ctx.fill();\n        if (lineWidth !== 0) {\n          ctx.stroke();\n        }\n      }\n      ctx.restore();\n    };\n    const fillText = function(x, y, legendItem) {\n      renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n        strikethrough: legendItem.hidden,\n        textAlign: rtlHelper.textAlign(legendItem.textAlign)\n      });\n    };\n    const isHorizontal = this.isHorizontal();\n    const titleHeight = this._computeTitleHeight();\n    if (isHorizontal) {\n      cursor = {\n        x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n        y: this.top + padding + titleHeight,\n        line: 0\n      };\n    } else {\n      cursor = {\n        x: this.left + padding,\n        y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n        line: 0\n      };\n    }\n    overrideTextDirection(this.ctx, opts.textDirection);\n    const lineHeight = itemHeight + padding;\n    this.legendItems.forEach((legendItem, i) => {\n      ctx.strokeStyle = legendItem.fontColor || fontColor;\n      ctx.fillStyle = legendItem.fontColor || fontColor;\n      const textWidth = ctx.measureText(legendItem.text).width;\n      const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n      const width = boxWidth + halfFontSize + textWidth;\n      let x = cursor.x;\n      let y = cursor.y;\n      rtlHelper.setWidth(this.width);\n      if (isHorizontal) {\n        if (i > 0 && x + width + padding > this.right) {\n          y = cursor.y += lineHeight;\n          cursor.line++;\n          x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n        }\n      } else if (i > 0 && y + lineHeight > this.bottom) {\n        x = cursor.x = x + columnSizes[cursor.line].width + padding;\n        cursor.line++;\n        y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n      }\n      const realX = rtlHelper.x(x);\n      drawLegendBox(realX, y, legendItem);\n      x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n      fillText(rtlHelper.x(x), y, legendItem);\n      if (isHorizontal) {\n        cursor.x += width + padding;\n      } else {\n        cursor.y += lineHeight;\n      }\n    });\n    restoreTextDirection(this.ctx, opts.textDirection);\n  }\n  drawTitle() {\n    const opts = this.options;\n    const titleOpts = opts.title;\n    const titleFont = toFont(titleOpts.font);\n    const titlePadding = toPadding(titleOpts.padding);\n    if (!titleOpts.display) {\n      return;\n    }\n    const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n    const ctx = this.ctx;\n    const position = titleOpts.position;\n    const halfFontSize = titleFont.size / 2;\n    const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n    let y;\n    let left = this.left;\n    let maxWidth = this.width;\n    if (this.isHorizontal()) {\n      maxWidth = Math.max(...this.lineWidths);\n      y = this.top + topPaddingPlusHalfFontSize;\n      left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n    } else {\n      const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n      y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n    }\n    const x = _alignStartEnd(position, left, left + maxWidth);\n    ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n    ctx.textBaseline = 'middle';\n    ctx.strokeStyle = titleOpts.color;\n    ctx.fillStyle = titleOpts.color;\n    ctx.font = titleFont.string;\n    renderText(ctx, titleOpts.text, x, y, titleFont);\n  }\n  _computeTitleHeight() {\n    const titleOpts = this.options.title;\n    const titleFont = toFont(titleOpts.font);\n    const titlePadding = toPadding(titleOpts.padding);\n    return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n  }\n  _getLegendItemAt(x, y) {\n    let i, hitBox, lh;\n    if (_isBetween(x, this.left, this.right)\n      && _isBetween(y, this.top, this.bottom)) {\n      lh = this.legendHitBoxes;\n      for (i = 0; i < lh.length; ++i) {\n        hitBox = lh[i];\n        if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n          && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n          return this.legendItems[i];\n        }\n      }\n    }\n    return null;\n  }\n  handleEvent(e) {\n    const opts = this.options;\n    if (!isListened(e.type, opts)) {\n      return;\n    }\n    const hoveredItem = this._getLegendItemAt(e.x, e.y);\n    if (e.type === 'mousemove' || e.type === 'mouseout') {\n      const previous = this._hoveredItem;\n      const sameItem = itemsEqual(previous, hoveredItem);\n      if (previous && !sameItem) {\n        callback(opts.onLeave, [e, previous, this], this);\n      }\n      this._hoveredItem = hoveredItem;\n      if (hoveredItem && !sameItem) {\n        callback(opts.onHover, [e, hoveredItem, this], this);\n      }\n    } else if (hoveredItem) {\n      callback(opts.onClick, [e, hoveredItem, this], this);\n    }\n  }\n}\nfunction isListened(type, opts) {\n  if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n    return true;\n  }\n  if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n    return true;\n  }\n  return false;\n}\nvar plugin_legend = {\n  id: 'legend',\n  _element: Legend,\n  start(chart, _args, options) {\n    const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n    layouts.configure(chart, legend, options);\n    layouts.addBox(chart, legend);\n  },\n  stop(chart) {\n    layouts.removeBox(chart, chart.legend);\n    delete chart.legend;\n  },\n  beforeUpdate(chart, _args, options) {\n    const legend = chart.legend;\n    layouts.configure(chart, legend, options);\n    legend.options = options;\n  },\n  afterUpdate(chart) {\n    const legend = chart.legend;\n    legend.buildLabels();\n    legend.adjustHitBoxes();\n  },\n  afterEvent(chart, args) {\n    if (!args.replay) {\n      chart.legend.handleEvent(args.event);\n    }\n  },\n  defaults: {\n    display: true,\n    position: 'top',\n    align: 'center',\n    fullSize: true,\n    reverse: false,\n    weight: 1000,\n    onClick(e, legendItem, legend) {\n      const index = legendItem.datasetIndex;\n      const ci = legend.chart;\n      if (ci.isDatasetVisible(index)) {\n        ci.hide(index);\n        legendItem.hidden = true;\n      } else {\n        ci.show(index);\n        legendItem.hidden = false;\n      }\n    },\n    onHover: null,\n    onLeave: null,\n    labels: {\n      color: (ctx) => ctx.chart.options.color,\n      boxWidth: 40,\n      padding: 10,\n      generateLabels(chart) {\n        const datasets = chart.data.datasets;\n        const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n        return chart._getSortedDatasetMetas().map((meta) => {\n          const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n          const borderWidth = toPadding(style.borderWidth);\n          return {\n            text: datasets[meta.index].label,\n            fillStyle: style.backgroundColor,\n            fontColor: color,\n            hidden: !meta.visible,\n            lineCap: style.borderCapStyle,\n            lineDash: style.borderDash,\n            lineDashOffset: style.borderDashOffset,\n            lineJoin: style.borderJoinStyle,\n            lineWidth: (borderWidth.width + borderWidth.height) / 4,\n            strokeStyle: style.borderColor,\n            pointStyle: pointStyle || style.pointStyle,\n            rotation: style.rotation,\n            textAlign: textAlign || style.textAlign,\n            borderRadius: 0,\n            datasetIndex: meta.index\n          };\n        }, this);\n      }\n    },\n    title: {\n      color: (ctx) => ctx.chart.options.color,\n      display: false,\n      position: 'center',\n      text: '',\n    }\n  },\n  descriptors: {\n    _scriptable: (name) => !name.startsWith('on'),\n    labels: {\n      _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n    }\n  },\n};\n\nclass Title extends Element {\n  constructor(config) {\n    super();\n    this.chart = config.chart;\n    this.options = config.options;\n    this.ctx = config.ctx;\n    this._padding = undefined;\n    this.top = undefined;\n    this.bottom = undefined;\n    this.left = undefined;\n    this.right = undefined;\n    this.width = undefined;\n    this.height = undefined;\n    this.position = undefined;\n    this.weight = undefined;\n    this.fullSize = undefined;\n  }\n  update(maxWidth, maxHeight) {\n    const opts = this.options;\n    this.left = 0;\n    this.top = 0;\n    if (!opts.display) {\n      this.width = this.height = this.right = this.bottom = 0;\n      return;\n    }\n    this.width = this.right = maxWidth;\n    this.height = this.bottom = maxHeight;\n    const lineCount = isArray(opts.text) ? opts.text.length : 1;\n    this._padding = toPadding(opts.padding);\n    const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n    if (this.isHorizontal()) {\n      this.height = textSize;\n    } else {\n      this.width = textSize;\n    }\n  }\n  isHorizontal() {\n    const pos = this.options.position;\n    return pos === 'top' || pos === 'bottom';\n  }\n  _drawArgs(offset) {\n    const {top, left, bottom, right, options} = this;\n    const align = options.align;\n    let rotation = 0;\n    let maxWidth, titleX, titleY;\n    if (this.isHorizontal()) {\n      titleX = _alignStartEnd(align, left, right);\n      titleY = top + offset;\n      maxWidth = right - left;\n    } else {\n      if (options.position === 'left') {\n        titleX = left + offset;\n        titleY = _alignStartEnd(align, bottom, top);\n        rotation = PI * -0.5;\n      } else {\n        titleX = right - offset;\n        titleY = _alignStartEnd(align, top, bottom);\n        rotation = PI * 0.5;\n      }\n      maxWidth = bottom - top;\n    }\n    return {titleX, titleY, maxWidth, rotation};\n  }\n  draw() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    if (!opts.display) {\n      return;\n    }\n    const fontOpts = toFont(opts.font);\n    const lineHeight = fontOpts.lineHeight;\n    const offset = lineHeight / 2 + this._padding.top;\n    const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n    renderText(ctx, opts.text, 0, 0, fontOpts, {\n      color: opts.color,\n      maxWidth,\n      rotation,\n      textAlign: _toLeftRightCenter(opts.align),\n      textBaseline: 'middle',\n      translation: [titleX, titleY],\n    });\n  }\n}\nfunction createTitle(chart, titleOpts) {\n  const title = new Title({\n    ctx: chart.ctx,\n    options: titleOpts,\n    chart\n  });\n  layouts.configure(chart, title, titleOpts);\n  layouts.addBox(chart, title);\n  chart.titleBlock = title;\n}\nvar plugin_title = {\n  id: 'title',\n  _element: Title,\n  start(chart, _args, options) {\n    createTitle(chart, options);\n  },\n  stop(chart) {\n    const titleBlock = chart.titleBlock;\n    layouts.removeBox(chart, titleBlock);\n    delete chart.titleBlock;\n  },\n  beforeUpdate(chart, _args, options) {\n    const title = chart.titleBlock;\n    layouts.configure(chart, title, options);\n    title.options = options;\n  },\n  defaults: {\n    align: 'center',\n    display: false,\n    font: {\n      weight: 'bold',\n    },\n    fullSize: true,\n    padding: 10,\n    position: 'top',\n    text: '',\n    weight: 2000\n  },\n  defaultRoutes: {\n    color: 'color'\n  },\n  descriptors: {\n    _scriptable: true,\n    _indexable: false,\n  },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n  id: 'subtitle',\n  start(chart, _args, options) {\n    const title = new Title({\n      ctx: chart.ctx,\n      options,\n      chart\n    });\n    layouts.configure(chart, title, options);\n    layouts.addBox(chart, title);\n    map.set(chart, title);\n  },\n  stop(chart) {\n    layouts.removeBox(chart, map.get(chart));\n    map.delete(chart);\n  },\n  beforeUpdate(chart, _args, options) {\n    const title = map.get(chart);\n    layouts.configure(chart, title, options);\n    title.options = options;\n  },\n  defaults: {\n    align: 'center',\n    display: false,\n    font: {\n      weight: 'normal',\n    },\n    fullSize: true,\n    padding: 0,\n    position: 'top',\n    text: '',\n    weight: 1500\n  },\n  defaultRoutes: {\n    color: 'color'\n  },\n  descriptors: {\n    _scriptable: true,\n    _indexable: false,\n  },\n};\n\nconst positioners = {\n  average(items) {\n    if (!items.length) {\n      return false;\n    }\n    let i, len;\n    let x = 0;\n    let y = 0;\n    let count = 0;\n    for (i = 0, len = items.length; i < len; ++i) {\n      const el = items[i].element;\n      if (el && el.hasValue()) {\n        const pos = el.tooltipPosition();\n        x += pos.x;\n        y += pos.y;\n        ++count;\n      }\n    }\n    return {\n      x: x / count,\n      y: y / count\n    };\n  },\n  nearest(items, eventPosition) {\n    if (!items.length) {\n      return false;\n    }\n    let x = eventPosition.x;\n    let y = eventPosition.y;\n    let minDistance = Number.POSITIVE_INFINITY;\n    let i, len, nearestElement;\n    for (i = 0, len = items.length; i < len; ++i) {\n      const el = items[i].element;\n      if (el && el.hasValue()) {\n        const center = el.getCenterPoint();\n        const d = distanceBetweenPoints(eventPosition, center);\n        if (d < minDistance) {\n          minDistance = d;\n          nearestElement = el;\n        }\n      }\n    }\n    if (nearestElement) {\n      const tp = nearestElement.tooltipPosition();\n      x = tp.x;\n      y = tp.y;\n    }\n    return {\n      x,\n      y\n    };\n  }\n};\nfunction pushOrConcat(base, toPush) {\n  if (toPush) {\n    if (isArray(toPush)) {\n      Array.prototype.push.apply(base, toPush);\n    } else {\n      base.push(toPush);\n    }\n  }\n  return base;\n}\nfunction splitNewlines(str) {\n  if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n    return str.split('\\n');\n  }\n  return str;\n}\nfunction createTooltipItem(chart, item) {\n  const {element, datasetIndex, index} = item;\n  const controller = chart.getDatasetMeta(datasetIndex).controller;\n  const {label, value} = controller.getLabelAndValue(index);\n  return {\n    chart,\n    label,\n    parsed: controller.getParsed(index),\n    raw: chart.data.datasets[datasetIndex].data[index],\n    formattedValue: value,\n    dataset: controller.getDataset(),\n    dataIndex: index,\n    datasetIndex,\n    element\n  };\n}\nfunction getTooltipSize(tooltip, options) {\n  const ctx = tooltip.chart.ctx;\n  const {body, footer, title} = tooltip;\n  const {boxWidth, boxHeight} = options;\n  const bodyFont = toFont(options.bodyFont);\n  const titleFont = toFont(options.titleFont);\n  const footerFont = toFont(options.footerFont);\n  const titleLineCount = title.length;\n  const footerLineCount = footer.length;\n  const bodyLineItemCount = body.length;\n  const padding = toPadding(options.padding);\n  let height = padding.height;\n  let width = 0;\n  let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n  combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n  if (titleLineCount) {\n    height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n  }\n  if (combinedBodyLength) {\n    const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n    height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n  }\n  if (footerLineCount) {\n    height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n  }\n  let widthPadding = 0;\n  const maxLineWidth = function(line) {\n    width = Math.max(width, ctx.measureText(line).width + widthPadding);\n  };\n  ctx.save();\n  ctx.font = titleFont.string;\n  each(tooltip.title, maxLineWidth);\n  ctx.font = bodyFont.string;\n  each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n  widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n  each(body, (bodyItem) => {\n    each(bodyItem.before, maxLineWidth);\n    each(bodyItem.lines, maxLineWidth);\n    each(bodyItem.after, maxLineWidth);\n  });\n  widthPadding = 0;\n  ctx.font = footerFont.string;\n  each(tooltip.footer, maxLineWidth);\n  ctx.restore();\n  width += padding.width;\n  return {width, height};\n}\nfunction determineYAlign(chart, size) {\n  const {y, height} = size;\n  if (y < height / 2) {\n    return 'top';\n  } else if (y > (chart.height - height / 2)) {\n    return 'bottom';\n  }\n  return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n  const {x, width} = size;\n  const caret = options.caretSize + options.caretPadding;\n  if (xAlign === 'left' && x + width + caret > chart.width) {\n    return true;\n  }\n  if (xAlign === 'right' && x - width - caret < 0) {\n    return true;\n  }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n  const {x, width} = size;\n  const {width: chartWidth, chartArea: {left, right}} = chart;\n  let xAlign = 'center';\n  if (yAlign === 'center') {\n    xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n  } else if (x <= width / 2) {\n    xAlign = 'left';\n  } else if (x >= chartWidth - width / 2) {\n    xAlign = 'right';\n  }\n  if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n    xAlign = 'center';\n  }\n  return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n  const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n  return {\n    xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n    yAlign\n  };\n}\nfunction alignX(size, xAlign) {\n  let {x, width} = size;\n  if (xAlign === 'right') {\n    x -= width;\n  } else if (xAlign === 'center') {\n    x -= (width / 2);\n  }\n  return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n  let {y, height} = size;\n  if (yAlign === 'top') {\n    y += paddingAndSize;\n  } else if (yAlign === 'bottom') {\n    y -= height + paddingAndSize;\n  } else {\n    y -= (height / 2);\n  }\n  return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n  const {caretSize, caretPadding, cornerRadius} = options;\n  const {xAlign, yAlign} = alignment;\n  const paddingAndSize = caretSize + caretPadding;\n  const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n  let x = alignX(size, xAlign);\n  const y = alignY(size, yAlign, paddingAndSize);\n  if (yAlign === 'center') {\n    if (xAlign === 'left') {\n      x += paddingAndSize;\n    } else if (xAlign === 'right') {\n      x -= paddingAndSize;\n    }\n  } else if (xAlign === 'left') {\n    x -= Math.max(topLeft, bottomLeft) + caretSize;\n  } else if (xAlign === 'right') {\n    x += Math.max(topRight, bottomRight) + caretSize;\n  }\n  return {\n    x: _limitValue(x, 0, chart.width - size.width),\n    y: _limitValue(y, 0, chart.height - size.height)\n  };\n}\nfunction getAlignedX(tooltip, align, options) {\n  const padding = toPadding(options.padding);\n  return align === 'center'\n    ? tooltip.x + tooltip.width / 2\n    : align === 'right'\n      ? tooltip.x + tooltip.width - padding.right\n      : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n  return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n  return createContext(parent, {\n    tooltip,\n    tooltipItems,\n    type: 'tooltip'\n  });\n}\nfunction overrideCallbacks(callbacks, context) {\n  const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n  return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n  constructor(config) {\n    super();\n    this.opacity = 0;\n    this._active = [];\n    this._eventPosition = undefined;\n    this._size = undefined;\n    this._cachedAnimations = undefined;\n    this._tooltipItems = [];\n    this.$animations = undefined;\n    this.$context = undefined;\n    this.chart = config.chart || config._chart;\n    this._chart = this.chart;\n    this.options = config.options;\n    this.dataPoints = undefined;\n    this.title = undefined;\n    this.beforeBody = undefined;\n    this.body = undefined;\n    this.afterBody = undefined;\n    this.footer = undefined;\n    this.xAlign = undefined;\n    this.yAlign = undefined;\n    this.x = undefined;\n    this.y = undefined;\n    this.height = undefined;\n    this.width = undefined;\n    this.caretX = undefined;\n    this.caretY = undefined;\n    this.labelColors = undefined;\n    this.labelPointStyles = undefined;\n    this.labelTextColors = undefined;\n  }\n  initialize(options) {\n    this.options = options;\n    this._cachedAnimations = undefined;\n    this.$context = undefined;\n  }\n  _resolveAnimations() {\n    const cached = this._cachedAnimations;\n    if (cached) {\n      return cached;\n    }\n    const chart = this.chart;\n    const options = this.options.setContext(this.getContext());\n    const opts = options.enabled && chart.options.animation && options.animations;\n    const animations = new Animations(this.chart, opts);\n    if (opts._cacheable) {\n      this._cachedAnimations = Object.freeze(animations);\n    }\n    return animations;\n  }\n  getContext() {\n    return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n  }\n  getTitle(context, options) {\n    const {callbacks} = options;\n    const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n    const title = callbacks.title.apply(this, [context]);\n    const afterTitle = callbacks.afterTitle.apply(this, [context]);\n    let lines = [];\n    lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n    lines = pushOrConcat(lines, splitNewlines(title));\n    lines = pushOrConcat(lines, splitNewlines(afterTitle));\n    return lines;\n  }\n  getBeforeBody(tooltipItems, options) {\n    return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n  }\n  getBody(tooltipItems, options) {\n    const {callbacks} = options;\n    const bodyItems = [];\n    each(tooltipItems, (context) => {\n      const bodyItem = {\n        before: [],\n        lines: [],\n        after: []\n      };\n      const scoped = overrideCallbacks(callbacks, context);\n      pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n      pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n      pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n      bodyItems.push(bodyItem);\n    });\n    return bodyItems;\n  }\n  getAfterBody(tooltipItems, options) {\n    return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n  }\n  getFooter(tooltipItems, options) {\n    const {callbacks} = options;\n    const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n    const footer = callbacks.footer.apply(this, [tooltipItems]);\n    const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n    let lines = [];\n    lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n    lines = pushOrConcat(lines, splitNewlines(footer));\n    lines = pushOrConcat(lines, splitNewlines(afterFooter));\n    return lines;\n  }\n  _createItems(options) {\n    const active = this._active;\n    const data = this.chart.data;\n    const labelColors = [];\n    const labelPointStyles = [];\n    const labelTextColors = [];\n    let tooltipItems = [];\n    let i, len;\n    for (i = 0, len = active.length; i < len; ++i) {\n      tooltipItems.push(createTooltipItem(this.chart, active[i]));\n    }\n    if (options.filter) {\n      tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n    }\n    if (options.itemSort) {\n      tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n    }\n    each(tooltipItems, (context) => {\n      const scoped = overrideCallbacks(options.callbacks, context);\n      labelColors.push(scoped.labelColor.call(this, context));\n      labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n      labelTextColors.push(scoped.labelTextColor.call(this, context));\n    });\n    this.labelColors = labelColors;\n    this.labelPointStyles = labelPointStyles;\n    this.labelTextColors = labelTextColors;\n    this.dataPoints = tooltipItems;\n    return tooltipItems;\n  }\n  update(changed, replay) {\n    const options = this.options.setContext(this.getContext());\n    const active = this._active;\n    let properties;\n    let tooltipItems = [];\n    if (!active.length) {\n      if (this.opacity !== 0) {\n        properties = {\n          opacity: 0\n        };\n      }\n    } else {\n      const position = positioners[options.position].call(this, active, this._eventPosition);\n      tooltipItems = this._createItems(options);\n      this.title = this.getTitle(tooltipItems, options);\n      this.beforeBody = this.getBeforeBody(tooltipItems, options);\n      this.body = this.getBody(tooltipItems, options);\n      this.afterBody = this.getAfterBody(tooltipItems, options);\n      this.footer = this.getFooter(tooltipItems, options);\n      const size = this._size = getTooltipSize(this, options);\n      const positionAndSize = Object.assign({}, position, size);\n      const alignment = determineAlignment(this.chart, options, positionAndSize);\n      const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n      this.xAlign = alignment.xAlign;\n      this.yAlign = alignment.yAlign;\n      properties = {\n        opacity: 1,\n        x: backgroundPoint.x,\n        y: backgroundPoint.y,\n        width: size.width,\n        height: size.height,\n        caretX: position.x,\n        caretY: position.y\n      };\n    }\n    this._tooltipItems = tooltipItems;\n    this.$context = undefined;\n    if (properties) {\n      this._resolveAnimations().update(this, properties);\n    }\n    if (changed && options.external) {\n      options.external.call(this, {chart: this.chart, tooltip: this, replay});\n    }\n  }\n  drawCaret(tooltipPoint, ctx, size, options) {\n    const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n    ctx.lineTo(caretPosition.x1, caretPosition.y1);\n    ctx.lineTo(caretPosition.x2, caretPosition.y2);\n    ctx.lineTo(caretPosition.x3, caretPosition.y3);\n  }\n  getCaretPosition(tooltipPoint, size, options) {\n    const {xAlign, yAlign} = this;\n    const {caretSize, cornerRadius} = options;\n    const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n    const {x: ptX, y: ptY} = tooltipPoint;\n    const {width, height} = size;\n    let x1, x2, x3, y1, y2, y3;\n    if (yAlign === 'center') {\n      y2 = ptY + (height / 2);\n      if (xAlign === 'left') {\n        x1 = ptX;\n        x2 = x1 - caretSize;\n        y1 = y2 + caretSize;\n        y3 = y2 - caretSize;\n      } else {\n        x1 = ptX + width;\n        x2 = x1 + caretSize;\n        y1 = y2 - caretSize;\n        y3 = y2 + caretSize;\n      }\n      x3 = x1;\n    } else {\n      if (xAlign === 'left') {\n        x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n      } else if (xAlign === 'right') {\n        x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n      } else {\n        x2 = this.caretX;\n      }\n      if (yAlign === 'top') {\n        y1 = ptY;\n        y2 = y1 - caretSize;\n        x1 = x2 - caretSize;\n        x3 = x2 + caretSize;\n      } else {\n        y1 = ptY + height;\n        y2 = y1 + caretSize;\n        x1 = x2 + caretSize;\n        x3 = x2 - caretSize;\n      }\n      y3 = y1;\n    }\n    return {x1, x2, x3, y1, y2, y3};\n  }\n  drawTitle(pt, ctx, options) {\n    const title = this.title;\n    const length = title.length;\n    let titleFont, titleSpacing, i;\n    if (length) {\n      const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n      pt.x = getAlignedX(this, options.titleAlign, options);\n      ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n      ctx.textBaseline = 'middle';\n      titleFont = toFont(options.titleFont);\n      titleSpacing = options.titleSpacing;\n      ctx.fillStyle = options.titleColor;\n      ctx.font = titleFont.string;\n      for (i = 0; i < length; ++i) {\n        ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n        pt.y += titleFont.lineHeight + titleSpacing;\n        if (i + 1 === length) {\n          pt.y += options.titleMarginBottom - titleSpacing;\n        }\n      }\n    }\n  }\n  _drawColorBox(ctx, pt, i, rtlHelper, options) {\n    const labelColors = this.labelColors[i];\n    const labelPointStyle = this.labelPointStyles[i];\n    const {boxHeight, boxWidth, boxPadding} = options;\n    const bodyFont = toFont(options.bodyFont);\n    const colorX = getAlignedX(this, 'left', options);\n    const rtlColorX = rtlHelper.x(colorX);\n    const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n    const colorY = pt.y + yOffSet;\n    if (options.usePointStyle) {\n      const drawOptions = {\n        radius: Math.min(boxWidth, boxHeight) / 2,\n        pointStyle: labelPointStyle.pointStyle,\n        rotation: labelPointStyle.rotation,\n        borderWidth: 1\n      };\n      const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n      const centerY = colorY + boxHeight / 2;\n      ctx.strokeStyle = options.multiKeyBackground;\n      ctx.fillStyle = options.multiKeyBackground;\n      drawPoint(ctx, drawOptions, centerX, centerY);\n      ctx.strokeStyle = labelColors.borderColor;\n      ctx.fillStyle = labelColors.backgroundColor;\n      drawPoint(ctx, drawOptions, centerX, centerY);\n    } else {\n      ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n      ctx.strokeStyle = labelColors.borderColor;\n      ctx.setLineDash(labelColors.borderDash || []);\n      ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n      const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n      const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n      const borderRadius = toTRBLCorners(labelColors.borderRadius);\n      if (Object.values(borderRadius).some(v => v !== 0)) {\n        ctx.beginPath();\n        ctx.fillStyle = options.multiKeyBackground;\n        addRoundedRectPath(ctx, {\n          x: outerX,\n          y: colorY,\n          w: boxWidth,\n          h: boxHeight,\n          radius: borderRadius,\n        });\n        ctx.fill();\n        ctx.stroke();\n        ctx.fillStyle = labelColors.backgroundColor;\n        ctx.beginPath();\n        addRoundedRectPath(ctx, {\n          x: innerX,\n          y: colorY + 1,\n          w: boxWidth - 2,\n          h: boxHeight - 2,\n          radius: borderRadius,\n        });\n        ctx.fill();\n      } else {\n        ctx.fillStyle = options.multiKeyBackground;\n        ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n        ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n        ctx.fillStyle = labelColors.backgroundColor;\n        ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n      }\n    }\n    ctx.fillStyle = this.labelTextColors[i];\n  }\n  drawBody(pt, ctx, options) {\n    const {body} = this;\n    const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n    const bodyFont = toFont(options.bodyFont);\n    let bodyLineHeight = bodyFont.lineHeight;\n    let xLinePadding = 0;\n    const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n    const fillLineOfText = function(line) {\n      ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n      pt.y += bodyLineHeight + bodySpacing;\n    };\n    const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n    let bodyItem, textColor, lines, i, j, ilen, jlen;\n    ctx.textAlign = bodyAlign;\n    ctx.textBaseline = 'middle';\n    ctx.font = bodyFont.string;\n    pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n    ctx.fillStyle = options.bodyColor;\n    each(this.beforeBody, fillLineOfText);\n    xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n      ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n      : 0;\n    for (i = 0, ilen = body.length; i < ilen; ++i) {\n      bodyItem = body[i];\n      textColor = this.labelTextColors[i];\n      ctx.fillStyle = textColor;\n      each(bodyItem.before, fillLineOfText);\n      lines = bodyItem.lines;\n      if (displayColors && lines.length) {\n        this._drawColorBox(ctx, pt, i, rtlHelper, options);\n        bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n      }\n      for (j = 0, jlen = lines.length; j < jlen; ++j) {\n        fillLineOfText(lines[j]);\n        bodyLineHeight = bodyFont.lineHeight;\n      }\n      each(bodyItem.after, fillLineOfText);\n    }\n    xLinePadding = 0;\n    bodyLineHeight = bodyFont.lineHeight;\n    each(this.afterBody, fillLineOfText);\n    pt.y -= bodySpacing;\n  }\n  drawFooter(pt, ctx, options) {\n    const footer = this.footer;\n    const length = footer.length;\n    let footerFont, i;\n    if (length) {\n      const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n      pt.x = getAlignedX(this, options.footerAlign, options);\n      pt.y += options.footerMarginTop;\n      ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n      ctx.textBaseline = 'middle';\n      footerFont = toFont(options.footerFont);\n      ctx.fillStyle = options.footerColor;\n      ctx.font = footerFont.string;\n      for (i = 0; i < length; ++i) {\n        ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n        pt.y += footerFont.lineHeight + options.footerSpacing;\n      }\n    }\n  }\n  drawBackground(pt, ctx, tooltipSize, options) {\n    const {xAlign, yAlign} = this;\n    const {x, y} = pt;\n    const {width, height} = tooltipSize;\n    const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n    ctx.fillStyle = options.backgroundColor;\n    ctx.strokeStyle = options.borderColor;\n    ctx.lineWidth = options.borderWidth;\n    ctx.beginPath();\n    ctx.moveTo(x + topLeft, y);\n    if (yAlign === 'top') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + width - topRight, y);\n    ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n    if (yAlign === 'center' && xAlign === 'right') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + width, y + height - bottomRight);\n    ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n    if (yAlign === 'bottom') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x + bottomLeft, y + height);\n    ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n    if (yAlign === 'center' && xAlign === 'left') {\n      this.drawCaret(pt, ctx, tooltipSize, options);\n    }\n    ctx.lineTo(x, y + topLeft);\n    ctx.quadraticCurveTo(x, y, x + topLeft, y);\n    ctx.closePath();\n    ctx.fill();\n    if (options.borderWidth > 0) {\n      ctx.stroke();\n    }\n  }\n  _updateAnimationTarget(options) {\n    const chart = this.chart;\n    const anims = this.$animations;\n    const animX = anims && anims.x;\n    const animY = anims && anims.y;\n    if (animX || animY) {\n      const position = positioners[options.position].call(this, this._active, this._eventPosition);\n      if (!position) {\n        return;\n      }\n      const size = this._size = getTooltipSize(this, options);\n      const positionAndSize = Object.assign({}, position, this._size);\n      const alignment = determineAlignment(chart, options, positionAndSize);\n      const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n      if (animX._to !== point.x || animY._to !== point.y) {\n        this.xAlign = alignment.xAlign;\n        this.yAlign = alignment.yAlign;\n        this.width = size.width;\n        this.height = size.height;\n        this.caretX = position.x;\n        this.caretY = position.y;\n        this._resolveAnimations().update(this, point);\n      }\n    }\n  }\n  _willRender() {\n    return !!this.opacity;\n  }\n  draw(ctx) {\n    const options = this.options.setContext(this.getContext());\n    let opacity = this.opacity;\n    if (!opacity) {\n      return;\n    }\n    this._updateAnimationTarget(options);\n    const tooltipSize = {\n      width: this.width,\n      height: this.height\n    };\n    const pt = {\n      x: this.x,\n      y: this.y\n    };\n    opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n    const padding = toPadding(options.padding);\n    const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n    if (options.enabled && hasTooltipContent) {\n      ctx.save();\n      ctx.globalAlpha = opacity;\n      this.drawBackground(pt, ctx, tooltipSize, options);\n      overrideTextDirection(ctx, options.textDirection);\n      pt.y += padding.top;\n      this.drawTitle(pt, ctx, options);\n      this.drawBody(pt, ctx, options);\n      this.drawFooter(pt, ctx, options);\n      restoreTextDirection(ctx, options.textDirection);\n      ctx.restore();\n    }\n  }\n  getActiveElements() {\n    return this._active || [];\n  }\n  setActiveElements(activeElements, eventPosition) {\n    const lastActive = this._active;\n    const active = activeElements.map(({datasetIndex, index}) => {\n      const meta = this.chart.getDatasetMeta(datasetIndex);\n      if (!meta) {\n        throw new Error('Cannot find a dataset at index ' + datasetIndex);\n      }\n      return {\n        datasetIndex,\n        element: meta.data[index],\n        index,\n      };\n    });\n    const changed = !_elementsEqual(lastActive, active);\n    const positionChanged = this._positionChanged(active, eventPosition);\n    if (changed || positionChanged) {\n      this._active = active;\n      this._eventPosition = eventPosition;\n      this._ignoreReplayEvents = true;\n      this.update(true);\n    }\n  }\n  handleEvent(e, replay, inChartArea = true) {\n    if (replay && this._ignoreReplayEvents) {\n      return false;\n    }\n    this._ignoreReplayEvents = false;\n    const options = this.options;\n    const lastActive = this._active || [];\n    const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n    const positionChanged = this._positionChanged(active, e);\n    const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n    if (changed) {\n      this._active = active;\n      if (options.enabled || options.external) {\n        this._eventPosition = {\n          x: e.x,\n          y: e.y\n        };\n        this.update(true, replay);\n      }\n    }\n    return changed;\n  }\n  _getActiveElements(e, lastActive, replay, inChartArea) {\n    const options = this.options;\n    if (e.type === 'mouseout') {\n      return [];\n    }\n    if (!inChartArea) {\n      return lastActive;\n    }\n    const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n    if (options.reverse) {\n      active.reverse();\n    }\n    return active;\n  }\n  _positionChanged(active, e) {\n    const {caretX, caretY, options} = this;\n    const position = positioners[options.position].call(this, active, e);\n    return position !== false && (caretX !== position.x || caretY !== position.y);\n  }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n  id: 'tooltip',\n  _element: Tooltip,\n  positioners,\n  afterInit(chart, _args, options) {\n    if (options) {\n      chart.tooltip = new Tooltip({chart, options});\n    }\n  },\n  beforeUpdate(chart, _args, options) {\n    if (chart.tooltip) {\n      chart.tooltip.initialize(options);\n    }\n  },\n  reset(chart, _args, options) {\n    if (chart.tooltip) {\n      chart.tooltip.initialize(options);\n    }\n  },\n  afterDraw(chart) {\n    const tooltip = chart.tooltip;\n    if (tooltip && tooltip._willRender()) {\n      const args = {\n        tooltip\n      };\n      if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n        return;\n      }\n      tooltip.draw(chart.ctx);\n      chart.notifyPlugins('afterTooltipDraw', args);\n    }\n  },\n  afterEvent(chart, args) {\n    if (chart.tooltip) {\n      const useFinalPosition = args.replay;\n      if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n        args.changed = true;\n      }\n    }\n  },\n  defaults: {\n    enabled: true,\n    external: null,\n    position: 'average',\n    backgroundColor: 'rgba(0,0,0,0.8)',\n    titleColor: '#fff',\n    titleFont: {\n      weight: 'bold',\n    },\n    titleSpacing: 2,\n    titleMarginBottom: 6,\n    titleAlign: 'left',\n    bodyColor: '#fff',\n    bodySpacing: 2,\n    bodyFont: {\n    },\n    bodyAlign: 'left',\n    footerColor: '#fff',\n    footerSpacing: 2,\n    footerMarginTop: 6,\n    footerFont: {\n      weight: 'bold',\n    },\n    footerAlign: 'left',\n    padding: 6,\n    caretPadding: 2,\n    caretSize: 5,\n    cornerRadius: 6,\n    boxHeight: (ctx, opts) => opts.bodyFont.size,\n    boxWidth: (ctx, opts) => opts.bodyFont.size,\n    multiKeyBackground: '#fff',\n    displayColors: true,\n    boxPadding: 0,\n    borderColor: 'rgba(0,0,0,0)',\n    borderWidth: 0,\n    animation: {\n      duration: 400,\n      easing: 'easeOutQuart',\n    },\n    animations: {\n      numbers: {\n        type: 'number',\n        properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n      },\n      opacity: {\n        easing: 'linear',\n        duration: 200\n      }\n    },\n    callbacks: {\n      beforeTitle: noop,\n      title(tooltipItems) {\n        if (tooltipItems.length > 0) {\n          const item = tooltipItems[0];\n          const labels = item.chart.data.labels;\n          const labelCount = labels ? labels.length : 0;\n          if (this && this.options && this.options.mode === 'dataset') {\n            return item.dataset.label || '';\n          } else if (item.label) {\n            return item.label;\n          } else if (labelCount > 0 && item.dataIndex < labelCount) {\n            return labels[item.dataIndex];\n          }\n        }\n        return '';\n      },\n      afterTitle: noop,\n      beforeBody: noop,\n      beforeLabel: noop,\n      label(tooltipItem) {\n        if (this && this.options && this.options.mode === 'dataset') {\n          return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n        }\n        let label = tooltipItem.dataset.label || '';\n        if (label) {\n          label += ': ';\n        }\n        const value = tooltipItem.formattedValue;\n        if (!isNullOrUndef(value)) {\n          label += value;\n        }\n        return label;\n      },\n      labelColor(tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n          borderColor: options.borderColor,\n          backgroundColor: options.backgroundColor,\n          borderWidth: options.borderWidth,\n          borderDash: options.borderDash,\n          borderDashOffset: options.borderDashOffset,\n          borderRadius: 0,\n        };\n      },\n      labelTextColor() {\n        return this.options.bodyColor;\n      },\n      labelPointStyle(tooltipItem) {\n        const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n        const options = meta.controller.getStyle(tooltipItem.dataIndex);\n        return {\n          pointStyle: options.pointStyle,\n          rotation: options.rotation,\n        };\n      },\n      afterLabel: noop,\n      afterBody: noop,\n      beforeFooter: noop,\n      footer: noop,\n      afterFooter: noop\n    }\n  },\n  defaultRoutes: {\n    bodyFont: 'font',\n    footerFont: 'font',\n    titleFont: 'font'\n  },\n  descriptors: {\n    _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n    _indexable: false,\n    callbacks: {\n      _scriptable: false,\n      _indexable: false,\n    },\n    animation: {\n      _fallback: false\n    },\n    animations: {\n      _fallback: 'animation'\n    }\n  },\n  additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n  if (typeof raw === 'string') {\n    index = labels.push(raw) - 1;\n    addedLabels.unshift({index, label: raw});\n  } else if (isNaN(raw)) {\n    index = null;\n  }\n  return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n  const first = labels.indexOf(raw);\n  if (first === -1) {\n    return addIfString(labels, raw, index, addedLabels);\n  }\n  const last = labels.lastIndexOf(raw);\n  return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this._startValue = undefined;\n    this._valueRange = 0;\n    this._addedLabels = [];\n  }\n  init(scaleOptions) {\n    const added = this._addedLabels;\n    if (added.length) {\n      const labels = this.getLabels();\n      for (const {index, label} of added) {\n        if (labels[index] === label) {\n          labels.splice(index, 1);\n        }\n      }\n      this._addedLabels = [];\n    }\n    super.init(scaleOptions);\n  }\n  parse(raw, index) {\n    if (isNullOrUndef(raw)) {\n      return null;\n    }\n    const labels = this.getLabels();\n    index = isFinite(index) && labels[index] === raw ? index\n      : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n    return validIndex(index, labels.length - 1);\n  }\n  determineDataLimits() {\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let {min, max} = this.getMinMax(true);\n    if (this.options.bounds === 'ticks') {\n      if (!minDefined) {\n        min = 0;\n      }\n      if (!maxDefined) {\n        max = this.getLabels().length - 1;\n      }\n    }\n    this.min = min;\n    this.max = max;\n  }\n  buildTicks() {\n    const min = this.min;\n    const max = this.max;\n    const offset = this.options.offset;\n    const ticks = [];\n    let labels = this.getLabels();\n    labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n    this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n    this._startValue = this.min - (offset ? 0.5 : 0);\n    for (let value = min; value <= max; value++) {\n      ticks.push({value});\n    }\n    return ticks;\n  }\n  getLabelForValue(value) {\n    const labels = this.getLabels();\n    if (value >= 0 && value < labels.length) {\n      return labels[value];\n    }\n    return value;\n  }\n  configure() {\n    super.configure();\n    if (!this.isHorizontal()) {\n      this._reversePixels = !this._reversePixels;\n    }\n  }\n  getPixelForValue(value) {\n    if (typeof value !== 'number') {\n      value = this.parse(value);\n    }\n    return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n  }\n  getPixelForTick(index) {\n    const ticks = this.ticks;\n    if (index < 0 || index > ticks.length - 1) {\n      return null;\n    }\n    return this.getPixelForValue(ticks[index].value);\n  }\n  getValueForPixel(pixel) {\n    return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n  }\n  getBasePixel() {\n    return this.bottom;\n  }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n  ticks: {\n    callback: CategoryScale.prototype.getLabelForValue\n  }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n  const ticks = [];\n  const MIN_SPACING = 1e-14;\n  const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n  const unit = step || 1;\n  const maxSpaces = maxTicks - 1;\n  const {min: rmin, max: rmax} = dataRange;\n  const minDefined = !isNullOrUndef(min);\n  const maxDefined = !isNullOrUndef(max);\n  const countDefined = !isNullOrUndef(count);\n  const minSpacing = (rmax - rmin) / (maxDigits + 1);\n  let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n  let factor, niceMin, niceMax, numSpaces;\n  if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n    return [{value: rmin}, {value: rmax}];\n  }\n  numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n  if (numSpaces > maxSpaces) {\n    spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n  }\n  if (!isNullOrUndef(precision)) {\n    factor = Math.pow(10, precision);\n    spacing = Math.ceil(spacing * factor) / factor;\n  }\n  if (bounds === 'ticks') {\n    niceMin = Math.floor(rmin / spacing) * spacing;\n    niceMax = Math.ceil(rmax / spacing) * spacing;\n  } else {\n    niceMin = rmin;\n    niceMax = rmax;\n  }\n  if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n    numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n    spacing = (max - min) / numSpaces;\n    niceMin = min;\n    niceMax = max;\n  } else if (countDefined) {\n    niceMin = minDefined ? min : niceMin;\n    niceMax = maxDefined ? max : niceMax;\n    numSpaces = count - 1;\n    spacing = (niceMax - niceMin) / numSpaces;\n  } else {\n    numSpaces = (niceMax - niceMin) / spacing;\n    if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n      numSpaces = Math.round(numSpaces);\n    } else {\n      numSpaces = Math.ceil(numSpaces);\n    }\n  }\n  const decimalPlaces = Math.max(\n    _decimalPlaces(spacing),\n    _decimalPlaces(niceMin)\n  );\n  factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n  niceMin = Math.round(niceMin * factor) / factor;\n  niceMax = Math.round(niceMax * factor) / factor;\n  let j = 0;\n  if (minDefined) {\n    if (includeBounds && niceMin !== min) {\n      ticks.push({value: min});\n      if (niceMin < min) {\n        j++;\n      }\n      if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n        j++;\n      }\n    } else if (niceMin < min) {\n      j++;\n    }\n  }\n  for (; j < numSpaces; ++j) {\n    ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n  }\n  if (maxDefined && includeBounds && niceMax !== max) {\n    if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n      ticks[ticks.length - 1].value = max;\n    } else {\n      ticks.push({value: max});\n    }\n  } else if (!maxDefined || niceMax === max) {\n    ticks.push({value: niceMax});\n  }\n  return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n  const rad = toRadians(minRotation);\n  const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n  const length = 0.75 * minSpacing * ('' + value).length;\n  return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this.start = undefined;\n    this.end = undefined;\n    this._startValue = undefined;\n    this._endValue = undefined;\n    this._valueRange = 0;\n  }\n  parse(raw, index) {\n    if (isNullOrUndef(raw)) {\n      return null;\n    }\n    if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n      return null;\n    }\n    return +raw;\n  }\n  handleTickRangeOptions() {\n    const {beginAtZero} = this.options;\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let {min, max} = this;\n    const setMin = v => (min = minDefined ? min : v);\n    const setMax = v => (max = maxDefined ? max : v);\n    if (beginAtZero) {\n      const minSign = sign(min);\n      const maxSign = sign(max);\n      if (minSign < 0 && maxSign < 0) {\n        setMax(0);\n      } else if (minSign > 0 && maxSign > 0) {\n        setMin(0);\n      }\n    }\n    if (min === max) {\n      let offset = 1;\n      if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n        offset = Math.abs(max * 0.05);\n      }\n      setMax(max + offset);\n      if (!beginAtZero) {\n        setMin(min - offset);\n      }\n    }\n    this.min = min;\n    this.max = max;\n  }\n  getTickLimit() {\n    const tickOpts = this.options.ticks;\n    let {maxTicksLimit, stepSize} = tickOpts;\n    let maxTicks;\n    if (stepSize) {\n      maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n      if (maxTicks > 1000) {\n        console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n        maxTicks = 1000;\n      }\n    } else {\n      maxTicks = this.computeTickLimit();\n      maxTicksLimit = maxTicksLimit || 11;\n    }\n    if (maxTicksLimit) {\n      maxTicks = Math.min(maxTicksLimit, maxTicks);\n    }\n    return maxTicks;\n  }\n  computeTickLimit() {\n    return Number.POSITIVE_INFINITY;\n  }\n  buildTicks() {\n    const opts = this.options;\n    const tickOpts = opts.ticks;\n    let maxTicks = this.getTickLimit();\n    maxTicks = Math.max(2, maxTicks);\n    const numericGeneratorOptions = {\n      maxTicks,\n      bounds: opts.bounds,\n      min: opts.min,\n      max: opts.max,\n      precision: tickOpts.precision,\n      step: tickOpts.stepSize,\n      count: tickOpts.count,\n      maxDigits: this._maxDigits(),\n      horizontal: this.isHorizontal(),\n      minRotation: tickOpts.minRotation || 0,\n      includeBounds: tickOpts.includeBounds !== false\n    };\n    const dataRange = this._range || this;\n    const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n    if (opts.bounds === 'ticks') {\n      _setMinAndMaxByKey(ticks, this, 'value');\n    }\n    if (opts.reverse) {\n      ticks.reverse();\n      this.start = this.max;\n      this.end = this.min;\n    } else {\n      this.start = this.min;\n      this.end = this.max;\n    }\n    return ticks;\n  }\n  configure() {\n    const ticks = this.ticks;\n    let start = this.min;\n    let end = this.max;\n    super.configure();\n    if (this.options.offset && ticks.length) {\n      const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n      start -= offset;\n      end += offset;\n    }\n    this._startValue = start;\n    this._endValue = end;\n    this._valueRange = end - start;\n  }\n  getLabelForValue(value) {\n    return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n  }\n}\n\nclass LinearScale extends LinearScaleBase {\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(true);\n    this.min = isNumberFinite(min) ? min : 0;\n    this.max = isNumberFinite(max) ? max : 1;\n    this.handleTickRangeOptions();\n  }\n  computeTickLimit() {\n    const horizontal = this.isHorizontal();\n    const length = horizontal ? this.width : this.height;\n    const minRotation = toRadians(this.options.ticks.minRotation);\n    const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n    const tickFont = this._resolveTickFontOptions(0);\n    return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n  }\n  getPixelForValue(value) {\n    return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n  }\n  getValueForPixel(pixel) {\n    return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n  }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n  ticks: {\n    callback: Ticks.formatters.numeric\n  }\n};\n\nfunction isMajor(tickVal) {\n  const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n  return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n  const endExp = Math.floor(log10(dataRange.max));\n  const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n  const ticks = [];\n  let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n  let exp = Math.floor(log10(tickVal));\n  let significand = Math.floor(tickVal / Math.pow(10, exp));\n  let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n  do {\n    ticks.push({value: tickVal, major: isMajor(tickVal)});\n    ++significand;\n    if (significand === 10) {\n      significand = 1;\n      ++exp;\n      precision = exp >= 0 ? 1 : precision;\n    }\n    tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n  } while (exp < endExp || (exp === endExp && significand < endSignificand));\n  const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n  ticks.push({value: lastTick, major: isMajor(tickVal)});\n  return ticks;\n}\nclass LogarithmicScale extends Scale {\n  constructor(cfg) {\n    super(cfg);\n    this.start = undefined;\n    this.end = undefined;\n    this._startValue = undefined;\n    this._valueRange = 0;\n  }\n  parse(raw, index) {\n    const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n    if (value === 0) {\n      this._zero = true;\n      return undefined;\n    }\n    return isNumberFinite(value) && value > 0 ? value : null;\n  }\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(true);\n    this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n    this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n    if (this.options.beginAtZero) {\n      this._zero = true;\n    }\n    this.handleTickRangeOptions();\n  }\n  handleTickRangeOptions() {\n    const {minDefined, maxDefined} = this.getUserBounds();\n    let min = this.min;\n    let max = this.max;\n    const setMin = v => (min = minDefined ? min : v);\n    const setMax = v => (max = maxDefined ? max : v);\n    const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n    if (min === max) {\n      if (min <= 0) {\n        setMin(1);\n        setMax(10);\n      } else {\n        setMin(exp(min, -1));\n        setMax(exp(max, +1));\n      }\n    }\n    if (min <= 0) {\n      setMin(exp(max, -1));\n    }\n    if (max <= 0) {\n      setMax(exp(min, +1));\n    }\n    if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n      setMin(exp(min, -1));\n    }\n    this.min = min;\n    this.max = max;\n  }\n  buildTicks() {\n    const opts = this.options;\n    const generationOptions = {\n      min: this._userMin,\n      max: this._userMax\n    };\n    const ticks = generateTicks(generationOptions, this);\n    if (opts.bounds === 'ticks') {\n      _setMinAndMaxByKey(ticks, this, 'value');\n    }\n    if (opts.reverse) {\n      ticks.reverse();\n      this.start = this.max;\n      this.end = this.min;\n    } else {\n      this.start = this.min;\n      this.end = this.max;\n    }\n    return ticks;\n  }\n  getLabelForValue(value) {\n    return value === undefined\n      ? '0'\n      : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n  }\n  configure() {\n    const start = this.min;\n    super.configure();\n    this._startValue = log10(start);\n    this._valueRange = log10(this.max) - log10(start);\n  }\n  getPixelForValue(value) {\n    if (value === undefined || value === 0) {\n      value = this.min;\n    }\n    if (value === null || isNaN(value)) {\n      return NaN;\n    }\n    return this.getPixelForDecimal(value === this.min\n      ? 0\n      : (log10(value) - this._startValue) / this._valueRange);\n  }\n  getValueForPixel(pixel) {\n    const decimal = this.getDecimalForPixel(pixel);\n    return Math.pow(10, this._startValue + decimal * this._valueRange);\n  }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n  ticks: {\n    callback: Ticks.formatters.logarithmic,\n    major: {\n      enabled: true\n    }\n  }\n};\n\nfunction getTickBackdropHeight(opts) {\n  const tickOpts = opts.ticks;\n  if (tickOpts.display && opts.display) {\n    const padding = toPadding(tickOpts.backdropPadding);\n    return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n  }\n  return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n  label = isArray(label) ? label : [label];\n  return {\n    w: _longestText(ctx, font.string, label),\n    h: label.length * font.lineHeight\n  };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n  if (angle === min || angle === max) {\n    return {\n      start: pos - (size / 2),\n      end: pos + (size / 2)\n    };\n  } else if (angle < min || angle > max) {\n    return {\n      start: pos - size,\n      end: pos\n    };\n  }\n  return {\n    start: pos,\n    end: pos + size\n  };\n}\nfunction fitWithPointLabels(scale) {\n  const orig = {\n    l: scale.left + scale._padding.left,\n    r: scale.right - scale._padding.right,\n    t: scale.top + scale._padding.top,\n    b: scale.bottom - scale._padding.bottom\n  };\n  const limits = Object.assign({}, orig);\n  const labelSizes = [];\n  const padding = [];\n  const valueCount = scale._pointLabels.length;\n  const pointLabelOpts = scale.options.pointLabels;\n  const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n  for (let i = 0; i < valueCount; i++) {\n    const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n    padding[i] = opts.padding;\n    const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n    const plFont = toFont(opts.font);\n    const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n    labelSizes[i] = textSize;\n    const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n    const angle = Math.round(toDegrees(angleRadians));\n    const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n    const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n    updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n  }\n  scale.setCenterPoint(\n    orig.l - limits.l,\n    limits.r - orig.r,\n    orig.t - limits.t,\n    limits.b - orig.b\n  );\n  scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n  const sin = Math.abs(Math.sin(angle));\n  const cos = Math.abs(Math.cos(angle));\n  let x = 0;\n  let y = 0;\n  if (hLimits.start < orig.l) {\n    x = (orig.l - hLimits.start) / sin;\n    limits.l = Math.min(limits.l, orig.l - x);\n  } else if (hLimits.end > orig.r) {\n    x = (hLimits.end - orig.r) / sin;\n    limits.r = Math.max(limits.r, orig.r + x);\n  }\n  if (vLimits.start < orig.t) {\n    y = (orig.t - vLimits.start) / cos;\n    limits.t = Math.min(limits.t, orig.t - y);\n  } else if (vLimits.end > orig.b) {\n    y = (vLimits.end - orig.b) / cos;\n    limits.b = Math.max(limits.b, orig.b + y);\n  }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n  const items = [];\n  const valueCount = scale._pointLabels.length;\n  const opts = scale.options;\n  const extra = getTickBackdropHeight(opts) / 2;\n  const outerDistance = scale.drawingArea;\n  const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n  for (let i = 0; i < valueCount; i++) {\n    const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n    const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n    const size = labelSizes[i];\n    const y = yForAngle(pointLabelPosition.y, size.h, angle);\n    const textAlign = getTextAlignForAngle(angle);\n    const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n    items.push({\n      x: pointLabelPosition.x,\n      y,\n      textAlign,\n      left,\n      top: y,\n      right: left + size.w,\n      bottom: y + size.h\n    });\n  }\n  return items;\n}\nfunction getTextAlignForAngle(angle) {\n  if (angle === 0 || angle === 180) {\n    return 'center';\n  } else if (angle < 180) {\n    return 'left';\n  }\n  return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n  if (align === 'right') {\n    x -= w;\n  } else if (align === 'center') {\n    x -= (w / 2);\n  }\n  return x;\n}\nfunction yForAngle(y, h, angle) {\n  if (angle === 90 || angle === 270) {\n    y -= (h / 2);\n  } else if (angle > 270 || angle < 90) {\n    y -= h;\n  }\n  return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n  const {ctx, options: {pointLabels}} = scale;\n  for (let i = labelCount - 1; i >= 0; i--) {\n    const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n    const plFont = toFont(optsAtIndex.font);\n    const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n    const {backdropColor} = optsAtIndex;\n    if (!isNullOrUndef(backdropColor)) {\n      const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n      const padding = toPadding(optsAtIndex.backdropPadding);\n      ctx.fillStyle = backdropColor;\n      const backdropLeft = left - padding.left;\n      const backdropTop = top - padding.top;\n      const backdropWidth = right - left + padding.width;\n      const backdropHeight = bottom - top + padding.height;\n      if (Object.values(borderRadius).some(v => v !== 0)) {\n        ctx.beginPath();\n        addRoundedRectPath(ctx, {\n          x: backdropLeft,\n          y: backdropTop,\n          w: backdropWidth,\n          h: backdropHeight,\n          radius: borderRadius,\n        });\n        ctx.fill();\n      } else {\n        ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n      }\n    }\n    renderText(\n      ctx,\n      scale._pointLabels[i],\n      x,\n      y + (plFont.lineHeight / 2),\n      plFont,\n      {\n        color: optsAtIndex.color,\n        textAlign: textAlign,\n        textBaseline: 'middle'\n      }\n    );\n  }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n  const {ctx} = scale;\n  if (circular) {\n    ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n  } else {\n    let pointPosition = scale.getPointPosition(0, radius);\n    ctx.moveTo(pointPosition.x, pointPosition.y);\n    for (let i = 1; i < labelCount; i++) {\n      pointPosition = scale.getPointPosition(i, radius);\n      ctx.lineTo(pointPosition.x, pointPosition.y);\n    }\n  }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n  const ctx = scale.ctx;\n  const circular = gridLineOpts.circular;\n  const {color, lineWidth} = gridLineOpts;\n  if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n    return;\n  }\n  ctx.save();\n  ctx.strokeStyle = color;\n  ctx.lineWidth = lineWidth;\n  ctx.setLineDash(gridLineOpts.borderDash);\n  ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n  ctx.beginPath();\n  pathRadiusLine(scale, radius, circular, labelCount);\n  ctx.closePath();\n  ctx.stroke();\n  ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n  return createContext(parent, {\n    label,\n    index,\n    type: 'pointLabel'\n  });\n}\nclass RadialLinearScale extends LinearScaleBase {\n  constructor(cfg) {\n    super(cfg);\n    this.xCenter = undefined;\n    this.yCenter = undefined;\n    this.drawingArea = undefined;\n    this._pointLabels = [];\n    this._pointLabelItems = [];\n  }\n  setDimensions() {\n    const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n    const w = this.width = this.maxWidth - padding.width;\n    const h = this.height = this.maxHeight - padding.height;\n    this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n    this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n    this.drawingArea = Math.floor(Math.min(w, h) / 2);\n  }\n  determineDataLimits() {\n    const {min, max} = this.getMinMax(false);\n    this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n    this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n    this.handleTickRangeOptions();\n  }\n  computeTickLimit() {\n    return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n  }\n  generateTickLabels(ticks) {\n    LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n    this._pointLabels = this.getLabels()\n      .map((value, index) => {\n        const label = callback(this.options.pointLabels.callback, [value, index], this);\n        return label || label === 0 ? label : '';\n      })\n      .filter((v, i) => this.chart.getDataVisibility(i));\n  }\n  fit() {\n    const opts = this.options;\n    if (opts.display && opts.pointLabels.display) {\n      fitWithPointLabels(this);\n    } else {\n      this.setCenterPoint(0, 0, 0, 0);\n    }\n  }\n  setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n    this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n    this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n    this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n  }\n  getIndexAngle(index) {\n    const angleMultiplier = TAU / (this._pointLabels.length || 1);\n    const startAngle = this.options.startAngle || 0;\n    return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n  }\n  getDistanceFromCenterForValue(value) {\n    if (isNullOrUndef(value)) {\n      return NaN;\n    }\n    const scalingFactor = this.drawingArea / (this.max - this.min);\n    if (this.options.reverse) {\n      return (this.max - value) * scalingFactor;\n    }\n    return (value - this.min) * scalingFactor;\n  }\n  getValueForDistanceFromCenter(distance) {\n    if (isNullOrUndef(distance)) {\n      return NaN;\n    }\n    const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n    return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n  }\n  getPointLabelContext(index) {\n    const pointLabels = this._pointLabels || [];\n    if (index >= 0 && index < pointLabels.length) {\n      const pointLabel = pointLabels[index];\n      return createPointLabelContext(this.getContext(), index, pointLabel);\n    }\n  }\n  getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n    const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n    return {\n      x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n      y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n      angle\n    };\n  }\n  getPointPositionForValue(index, value) {\n    return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n  }\n  getBasePosition(index) {\n    return this.getPointPositionForValue(index || 0, this.getBaseValue());\n  }\n  getPointLabelPosition(index) {\n    const {left, top, right, bottom} = this._pointLabelItems[index];\n    return {\n      left,\n      top,\n      right,\n      bottom,\n    };\n  }\n  drawBackground() {\n    const {backgroundColor, grid: {circular}} = this.options;\n    if (backgroundColor) {\n      const ctx = this.ctx;\n      ctx.save();\n      ctx.beginPath();\n      pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n      ctx.closePath();\n      ctx.fillStyle = backgroundColor;\n      ctx.fill();\n      ctx.restore();\n    }\n  }\n  drawGrid() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    const {angleLines, grid} = opts;\n    const labelCount = this._pointLabels.length;\n    let i, offset, position;\n    if (opts.pointLabels.display) {\n      drawPointLabels(this, labelCount);\n    }\n    if (grid.display) {\n      this.ticks.forEach((tick, index) => {\n        if (index !== 0) {\n          offset = this.getDistanceFromCenterForValue(tick.value);\n          const optsAtIndex = grid.setContext(this.getContext(index - 1));\n          drawRadiusLine(this, optsAtIndex, offset, labelCount);\n        }\n      });\n    }\n    if (angleLines.display) {\n      ctx.save();\n      for (i = labelCount - 1; i >= 0; i--) {\n        const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n        const {color, lineWidth} = optsAtIndex;\n        if (!lineWidth || !color) {\n          continue;\n        }\n        ctx.lineWidth = lineWidth;\n        ctx.strokeStyle = color;\n        ctx.setLineDash(optsAtIndex.borderDash);\n        ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n        offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n        position = this.getPointPosition(i, offset);\n        ctx.beginPath();\n        ctx.moveTo(this.xCenter, this.yCenter);\n        ctx.lineTo(position.x, position.y);\n        ctx.stroke();\n      }\n      ctx.restore();\n    }\n  }\n  drawBorder() {}\n  drawLabels() {\n    const ctx = this.ctx;\n    const opts = this.options;\n    const tickOpts = opts.ticks;\n    if (!tickOpts.display) {\n      return;\n    }\n    const startAngle = this.getIndexAngle(0);\n    let offset, width;\n    ctx.save();\n    ctx.translate(this.xCenter, this.yCenter);\n    ctx.rotate(startAngle);\n    ctx.textAlign = 'center';\n    ctx.textBaseline = 'middle';\n    this.ticks.forEach((tick, index) => {\n      if (index === 0 && !opts.reverse) {\n        return;\n      }\n      const optsAtIndex = tickOpts.setContext(this.getContext(index));\n      const tickFont = toFont(optsAtIndex.font);\n      offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n      if (optsAtIndex.showLabelBackdrop) {\n        ctx.font = tickFont.string;\n        width = ctx.measureText(tick.label).width;\n        ctx.fillStyle = optsAtIndex.backdropColor;\n        const padding = toPadding(optsAtIndex.backdropPadding);\n        ctx.fillRect(\n          -width / 2 - padding.left,\n          -offset - tickFont.size / 2 - padding.top,\n          width + padding.width,\n          tickFont.size + padding.height\n        );\n      }\n      renderText(ctx, tick.label, 0, -offset, tickFont, {\n        color: optsAtIndex.color,\n      });\n    });\n    ctx.restore();\n  }\n  drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n  display: true,\n  animate: true,\n  position: 'chartArea',\n  angleLines: {\n    display: true,\n    lineWidth: 1,\n    borderDash: [],\n    borderDashOffset: 0.0\n  },\n  grid: {\n    circular: false\n  },\n  startAngle: 0,\n  ticks: {\n    showLabelBackdrop: true,\n    callback: Ticks.formatters.numeric\n  },\n  pointLabels: {\n    backdropColor: undefined,\n    backdropPadding: 2,\n    display: true,\n    font: {\n      size: 10\n    },\n    callback(label) {\n      return label;\n    },\n    padding: 5,\n    centerPointLabels: false\n  }\n};\nRadialLinearScale.defaultRoutes = {\n  'angleLines.color': 'borderColor',\n  'pointLabels.color': 'color',\n  'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n  angleLines: {\n    _fallback: 'grid'\n  }\n};\n\nconst INTERVALS = {\n  millisecond: {common: true, size: 1, steps: 1000},\n  second: {common: true, size: 1000, steps: 60},\n  minute: {common: true, size: 60000, steps: 60},\n  hour: {common: true, size: 3600000, steps: 24},\n  day: {common: true, size: 86400000, steps: 30},\n  week: {common: false, size: 604800000, steps: 4},\n  month: {common: true, size: 2.628e9, steps: 12},\n  quarter: {common: false, size: 7.884e9, steps: 4},\n  year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n  return a - b;\n}\nfunction parse(scale, input) {\n  if (isNullOrUndef(input)) {\n    return null;\n  }\n  const adapter = scale._adapter;\n  const {parser, round, isoWeekday} = scale._parseOpts;\n  let value = input;\n  if (typeof parser === 'function') {\n    value = parser(value);\n  }\n  if (!isNumberFinite(value)) {\n    value = typeof parser === 'string'\n      ? adapter.parse(value, parser)\n      : adapter.parse(value);\n  }\n  if (value === null) {\n    return null;\n  }\n  if (round) {\n    value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n      ? adapter.startOf(value, 'isoWeek', isoWeekday)\n      : adapter.startOf(value, round);\n  }\n  return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n  const ilen = UNITS.length;\n  for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n    const interval = INTERVALS[UNITS[i]];\n    const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n    if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n      return UNITS[i];\n    }\n  }\n  return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n  for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n    const unit = UNITS[i];\n    if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n      return unit;\n    }\n  }\n  return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n  for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n    if (INTERVALS[UNITS[i]].common) {\n      return UNITS[i];\n    }\n  }\n}\nfunction addTick(ticks, time, timestamps) {\n  if (!timestamps) {\n    ticks[time] = true;\n  } else if (timestamps.length) {\n    const {lo, hi} = _lookup(timestamps, time);\n    const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n    ticks[timestamp] = true;\n  }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n  const adapter = scale._adapter;\n  const first = +adapter.startOf(ticks[0].value, majorUnit);\n  const last = ticks[ticks.length - 1].value;\n  let major, index;\n  for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n    index = map[major];\n    if (index >= 0) {\n      ticks[index].major = true;\n    }\n  }\n  return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n  const ticks = [];\n  const map = {};\n  const ilen = values.length;\n  let i, value;\n  for (i = 0; i < ilen; ++i) {\n    value = values[i];\n    map[value] = i;\n    ticks.push({\n      value,\n      major: false\n    });\n  }\n  return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n  constructor(props) {\n    super(props);\n    this._cache = {\n      data: [],\n      labels: [],\n      all: []\n    };\n    this._unit = 'day';\n    this._majorUnit = undefined;\n    this._offsets = {};\n    this._normalized = false;\n    this._parseOpts = undefined;\n  }\n  init(scaleOpts, opts) {\n    const time = scaleOpts.time || (scaleOpts.time = {});\n    const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n    adapter.init(opts);\n    mergeIf(time.displayFormats, adapter.formats());\n    this._parseOpts = {\n      parser: time.parser,\n      round: time.round,\n      isoWeekday: time.isoWeekday\n    };\n    super.init(scaleOpts);\n    this._normalized = opts.normalized;\n  }\n  parse(raw, index) {\n    if (raw === undefined) {\n      return null;\n    }\n    return parse(this, raw);\n  }\n  beforeLayout() {\n    super.beforeLayout();\n    this._cache = {\n      data: [],\n      labels: [],\n      all: []\n    };\n  }\n  determineDataLimits() {\n    const options = this.options;\n    const adapter = this._adapter;\n    const unit = options.time.unit || 'day';\n    let {min, max, minDefined, maxDefined} = this.getUserBounds();\n    function _applyBounds(bounds) {\n      if (!minDefined && !isNaN(bounds.min)) {\n        min = Math.min(min, bounds.min);\n      }\n      if (!maxDefined && !isNaN(bounds.max)) {\n        max = Math.max(max, bounds.max);\n      }\n    }\n    if (!minDefined || !maxDefined) {\n      _applyBounds(this._getLabelBounds());\n      if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n        _applyBounds(this.getMinMax(false));\n      }\n    }\n    min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n    max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n    this.min = Math.min(min, max - 1);\n    this.max = Math.max(min + 1, max);\n  }\n  _getLabelBounds() {\n    const arr = this.getLabelTimestamps();\n    let min = Number.POSITIVE_INFINITY;\n    let max = Number.NEGATIVE_INFINITY;\n    if (arr.length) {\n      min = arr[0];\n      max = arr[arr.length - 1];\n    }\n    return {min, max};\n  }\n  buildTicks() {\n    const options = this.options;\n    const timeOpts = options.time;\n    const tickOpts = options.ticks;\n    const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n    if (options.bounds === 'ticks' && timestamps.length) {\n      this.min = this._userMin || timestamps[0];\n      this.max = this._userMax || timestamps[timestamps.length - 1];\n    }\n    const min = this.min;\n    const max = this.max;\n    const ticks = _filterBetween(timestamps, min, max);\n    this._unit = timeOpts.unit || (tickOpts.autoSkip\n      ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n      : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n    this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n      : determineMajorUnit(this._unit);\n    this.initOffsets(timestamps);\n    if (options.reverse) {\n      ticks.reverse();\n    }\n    return ticksFromTimestamps(this, ticks, this._majorUnit);\n  }\n  afterAutoSkip() {\n    if (this.options.offsetAfterAutoskip) {\n      this.initOffsets(this.ticks.map(tick => +tick.value));\n    }\n  }\n  initOffsets(timestamps) {\n    let start = 0;\n    let end = 0;\n    let first, last;\n    if (this.options.offset && timestamps.length) {\n      first = this.getDecimalForValue(timestamps[0]);\n      if (timestamps.length === 1) {\n        start = 1 - first;\n      } else {\n        start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n      }\n      last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n      if (timestamps.length === 1) {\n        end = last;\n      } else {\n        end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n      }\n    }\n    const limit = timestamps.length < 3 ? 0.5 : 0.25;\n    start = _limitValue(start, 0, limit);\n    end = _limitValue(end, 0, limit);\n    this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n  }\n  _generate() {\n    const adapter = this._adapter;\n    const min = this.min;\n    const max = this.max;\n    const options = this.options;\n    const timeOpts = options.time;\n    const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n    const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n    const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n    const hasWeekday = isNumber(weekday) || weekday === true;\n    const ticks = {};\n    let first = min;\n    let time, count;\n    if (hasWeekday) {\n      first = +adapter.startOf(first, 'isoWeek', weekday);\n    }\n    first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n    if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n      throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n    }\n    const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n    for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n      addTick(ticks, time, timestamps);\n    }\n    if (time === max || options.bounds === 'ticks' || count === 1) {\n      addTick(ticks, time, timestamps);\n    }\n    return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n  }\n  getLabelForValue(value) {\n    const adapter = this._adapter;\n    const timeOpts = this.options.time;\n    if (timeOpts.tooltipFormat) {\n      return adapter.format(value, timeOpts.tooltipFormat);\n    }\n    return adapter.format(value, timeOpts.displayFormats.datetime);\n  }\n  _tickFormatFunction(time, index, ticks, format) {\n    const options = this.options;\n    const formats = options.time.displayFormats;\n    const unit = this._unit;\n    const majorUnit = this._majorUnit;\n    const minorFormat = unit && formats[unit];\n    const majorFormat = majorUnit && formats[majorUnit];\n    const tick = ticks[index];\n    const major = majorUnit && majorFormat && tick && tick.major;\n    const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n    const formatter = options.ticks.callback;\n    return formatter ? callback(formatter, [label, index, ticks], this) : label;\n  }\n  generateTickLabels(ticks) {\n    let i, ilen, tick;\n    for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n      tick = ticks[i];\n      tick.label = this._tickFormatFunction(tick.value, i, ticks);\n    }\n  }\n  getDecimalForValue(value) {\n    return value === null ? NaN : (value - this.min) / (this.max - this.min);\n  }\n  getPixelForValue(value) {\n    const offsets = this._offsets;\n    const pos = this.getDecimalForValue(value);\n    return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n  }\n  getValueForPixel(pixel) {\n    const offsets = this._offsets;\n    const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n    return this.min + pos * (this.max - this.min);\n  }\n  _getLabelSize(label) {\n    const ticksOpts = this.options.ticks;\n    const tickLabelWidth = this.ctx.measureText(label).width;\n    const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n    const cosRotation = Math.cos(angle);\n    const sinRotation = Math.sin(angle);\n    const tickFontSize = this._resolveTickFontOptions(0).size;\n    return {\n      w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n      h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n    };\n  }\n  _getLabelCapacity(exampleTime) {\n    const timeOpts = this.options.time;\n    const displayFormats = timeOpts.displayFormats;\n    const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n    const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n    const size = this._getLabelSize(exampleLabel);\n    const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n    return capacity > 0 ? capacity : 1;\n  }\n  getDataTimestamps() {\n    let timestamps = this._cache.data || [];\n    let i, ilen;\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const metas = this.getMatchingVisibleMetas();\n    if (this._normalized && metas.length) {\n      return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n    }\n    for (i = 0, ilen = metas.length; i < ilen; ++i) {\n      timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n    }\n    return (this._cache.data = this.normalize(timestamps));\n  }\n  getLabelTimestamps() {\n    const timestamps = this._cache.labels || [];\n    let i, ilen;\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const labels = this.getLabels();\n    for (i = 0, ilen = labels.length; i < ilen; ++i) {\n      timestamps.push(parse(this, labels[i]));\n    }\n    return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n  }\n  normalize(values) {\n    return _arrayUnique(values.sort(sorter));\n  }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n  bounds: 'data',\n  adapters: {},\n  time: {\n    parser: false,\n    unit: false,\n    round: false,\n    isoWeekday: false,\n    minUnit: 'millisecond',\n    displayFormats: {}\n  },\n  ticks: {\n    source: 'auto',\n    major: {\n      enabled: false\n    }\n  }\n};\n\nfunction interpolate(table, val, reverse) {\n  let lo = 0;\n  let hi = table.length - 1;\n  let prevSource, nextSource, prevTarget, nextTarget;\n  if (reverse) {\n    if (val >= table[lo].pos && val <= table[hi].pos) {\n      ({lo, hi} = _lookupByKey(table, 'pos', val));\n    }\n    ({pos: prevSource, time: prevTarget} = table[lo]);\n    ({pos: nextSource, time: nextTarget} = table[hi]);\n  } else {\n    if (val >= table[lo].time && val <= table[hi].time) {\n      ({lo, hi} = _lookupByKey(table, 'time', val));\n    }\n    ({time: prevSource, pos: prevTarget} = table[lo]);\n    ({time: nextSource, pos: nextTarget} = table[hi]);\n  }\n  const span = nextSource - prevSource;\n  return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n  constructor(props) {\n    super(props);\n    this._table = [];\n    this._minPos = undefined;\n    this._tableRange = undefined;\n  }\n  initOffsets() {\n    const timestamps = this._getTimestampsForTable();\n    const table = this._table = this.buildLookupTable(timestamps);\n    this._minPos = interpolate(table, this.min);\n    this._tableRange = interpolate(table, this.max) - this._minPos;\n    super.initOffsets(timestamps);\n  }\n  buildLookupTable(timestamps) {\n    const {min, max} = this;\n    const items = [];\n    const table = [];\n    let i, ilen, prev, curr, next;\n    for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n      curr = timestamps[i];\n      if (curr >= min && curr <= max) {\n        items.push(curr);\n      }\n    }\n    if (items.length < 2) {\n      return [\n        {time: min, pos: 0},\n        {time: max, pos: 1}\n      ];\n    }\n    for (i = 0, ilen = items.length; i < ilen; ++i) {\n      next = items[i + 1];\n      prev = items[i - 1];\n      curr = items[i];\n      if (Math.round((next + prev) / 2) !== curr) {\n        table.push({time: curr, pos: i / (ilen - 1)});\n      }\n    }\n    return table;\n  }\n  _getTimestampsForTable() {\n    let timestamps = this._cache.all || [];\n    if (timestamps.length) {\n      return timestamps;\n    }\n    const data = this.getDataTimestamps();\n    const label = this.getLabelTimestamps();\n    if (data.length && label.length) {\n      timestamps = this.normalize(data.concat(label));\n    } else {\n      timestamps = data.length ? data : label;\n    }\n    timestamps = this._cache.all = timestamps;\n    return timestamps;\n  }\n  getDecimalForValue(value) {\n    return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n  }\n  getValueForPixel(pixel) {\n    const offsets = this._offsets;\n    const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n    return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n  }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n  controllers,\n  elements,\n  plugins,\n  scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","export default function _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","module","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","responseData","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","defaults","createInstance","defaultConfig","instance","prototype","extend","create","instanceConfig","axios","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","executor","TypeError","resolvePromise","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","message","reason","throwIfRequested","listener","push","index","splice","source","c","ERR_CANCELED","name","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","Error","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","Object","defineProperties","defineProperty","from","customProps","axiosError","toFlatObject","obj","assign","handlers","use","eject","id","fn","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","process","toString","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","replace","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","exec","callback","arr","formData","convertValue","isTypedArray","Blob","Buffer","build","parentKey","fullKey","endsWith","toArray","el","append","pop","thing","deprecatedWarnings","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","result","ERR_BAD_OPTION","version","formatMessage","desc","opts","ERR_DEPRECATED","console","warn","kindOf","cache","str","kindOfTest","constructor","ArrayBuffer","isView","getPrototypeOf","isFunction","pipe","pattern","product","hasOwnProperty","assignValue","a","b","stripBOM","content","charCodeAt","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","searchString","position","String","lastIndex","TypedArray","Uint8Array","isCallable","tryToString","$TypeError","argument","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","configurable","isPrototypeOf","it","Prototype","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","O","includes","uncurryThis","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","tryGet","tag","callee","$Error","TEST","arg","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","f","getOwnPropertyDescriptor","DESCRIPTORS","createPropertyDescriptor","object","bitmap","enumerable","writable","createNonEnumerableProperty","makeBuiltIn","defineGlobalProperty","simple","global","unsafe","fails","get","EXISTS","IndexSizeError","s","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","getBuiltIn","Deno","versions","v8","defineBuiltIn","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","NATIVE_BIND","FunctionPrototype","Function","Reflect","getDescriptor","PROPER","CONFIGURABLE","aFunction","namespace","aCallable","V","P","func","check","globalThis","self","g","toObject","classof","propertyIsEnumerable","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","cause","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","facade","STATE","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","USE_SYMBOL_AS_UID","$Symbol","toLength","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","ceil","trunc","x","n","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","$default","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","close","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","F","NullProtoObject","ActiveXObject","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","proto","__proto__","input","pref","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","Target","Source","uid","SHARED","IS_PURE","mode","copyright","license","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","clearErrorStack","ERROR_STACK_INSTALLABLE","FULL_NAME","wrapper","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","ERROR_NAME","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","$","$includes","addToUnscopables","BROKEN_ON_SPARSE","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","exportWebAssemblyErrorCauseWrapper","init","anInstance","DOMExceptionConstants","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","that","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","FORCED_CONSTRUCTOR","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","lcs","array","patch","inverse","jsonPointer","encodeSegment","diff","patchInPlace","applyInPlace","clone","InvalidPatchOperationError","TestFailedError","PatchNotInvertibleError","isValidObject","defaultHash","appendChanges","initState","orElse","makeContext","defaultContext","invertible","appendArrayChanges","appendObjectChanges","appendValueChanges","o1","o2","keyPath","op","p","a1","a2","a1hash","map","a2hash","lcsMatrix","compare","lcsToJsonPatch","offset","reduce","j","last","REMOVE","ADD","predicate","y","captureStackTrace","cons","tail","cloneArray","cloneObject","k","commuteTreePaths","left","right","commuteArrayPaths","commuteArraySiblings","commuteArrayAncestor","absolute","isArrayPath","isValidArrayIndex","lpath","r","rpath","commuted","lindex","rindex","direction","rc","getCommonPathPrefix","p1","p2","p1l","p2l","copyPatch","prefix","ac","bc","deepEquals","compareArrays","compareObjects","akeys","bkeys","patches","invertOp","skip","pr","defaultOptions","changes","_parse","find","contains","decodeSegment","parseArrayIndex","separator","separatorRx","encodedSeparator","encodedSeparatorRx","escapeChar","escapeRx","encodedEscape","encodedEscapeRx","findContext","hasContext","segment","findIndex","segments","arrayIndexRx","start","jsonPointerParse","parseRx","onSegment","pos","accum","matches","RIGHT","DOWN","SKIP","cols","rows","findPrefix","suffix","findSuffix","matrix","createMatrix","backtrack","al","bl","lastrow","EQUAL","commutePaths","applyTest","pointer","invertTest","commuteTest","applyAdd","change","notFound","_add","invertAdd","before","after","commuteAddOrCopy","applyReplace","missingValue","invertReplace","prev","commuteReplace","applyRemove","_remove","removed","invertRemove","commuteRemove","applyMove","pto","pfrom","fromContext","invertMove","commuteMove","move","applyCopy","notInvertible","_","commute","copy","waitWindowLoad","isLocalhost","Boolean","register","swUrl","hooks","registrationOptions","emit","len","checkValidServiceWorker","serviceWorker","ready","registration","catch","handleError","registerValidSW","onLine","waiting","onupdatefound","installingWorker","installing","onstatechange","controller","fetch","unregister","cb","factory","consolePrefix","uniqueArray","capitalizeFirstLetter","nodeList","previousWarnOnceMessages","warnOnce","warnAboutDeprecation","deprecatedParam","useInstead","callIfFunction","hasToPromiseFn","toPromise","asPromise","isPromise","getRandomElement","defaultParams","title","titleText","text","footer","icon","iconColor","iconHtml","template","toast","showClass","popup","backdrop","hideClass","customClass","color","heightAuto","allowOutsideClick","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","showConfirmButton","showDenyButton","showCancelButton","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","denyButtonText","denyButtonAriaLabel","denyButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","focusConfirm","focusDeny","focusCancel","returnFocus","showCloseButton","closeButtonHtml","closeButtonAriaLabel","loaderHtml","showLoaderOnConfirm","showLoaderOnDeny","imageUrl","imageWidth","imageHeight","imageAlt","timer","timerProgressBar","width","padding","background","inputPlaceholder","inputLabel","inputValue","inputOptions","inputAutoTrim","inputAttributes","inputValidator","returnInputValueOnDeny","validationMessage","grow","progressSteps","currentProgressStep","progressStepsDistance","willOpen","didOpen","didRender","willClose","didClose","didDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","paramName","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","param","checkIfToastParamIsValid","checkIfParamIsDeprecated","showWarningsForParams","swalPrefix","items","swalClasses","iconTypes","getContainer","body","querySelector","container","elementBySelector","selectorString","elementByClass","className","getPopup","getIcon","getTitle","getHtmlContainer","getImage","image","getProgressSteps","getValidationMessage","getConfirmButton","actions","confirm","getDenyButton","deny","getInputLabel","getLoader","loader","getCancelButton","getActions","getFooter","getTimerProgressBar","getCloseButton","focusable","getFocusableElements","focusableElementsWithTabindex","querySelectorAll","sort","tabindexA","parseInt","getAttribute","tabindexB","otherFocusableElements","isVisible","isModal","hasClass","shown","isToast","isLoading","hasAttribute","states","previousBodyPadding","setInnerHtml","elem","textContent","DOMParser","parseFromString","childNodes","child","classList","removeCustomClasses","values","applyCustomClass","addClass","getInput","inputClass","checkbox","radio","range","focusInput","focus","toggleClass","condition","removeClass","getDirectChildByClass","applyNumericalStyle","property","removeProperty","show","hide","setStyle","selector","toggle","offsetWidth","offsetHeight","getClientRects","allButtonsAreHidden","isScrollable","scrollHeight","clientHeight","hasCssAnimation","getComputedStyle","animDuration","parseFloat","getPropertyValue","transDuration","animateTimerProgressBar","reset","transition","stopTimerProgressBar","timerProgressBarWidth","timerProgressBarFullWidth","timerProgressBarPercent","isNodeEnv","RESTORE_FOCUS_TIMEOUT","globalState","focusPreviousActiveElement","previousActiveElement","HTMLElement","restoreActiveElement","scrollX","scrollY","restoreFocusTimeout","scrollTo","sweetHTML","file","select","label","textarea","resetOldContainer","oldContainer","documentElement","resetValidationMessage","currentInstance","addInputChangeListeners","rangeOutput","oninput","onchange","getTarget","setupAccessibility","setupRTL","targetElement","rtl","oldContainerExisted","noWarMessageForRussians","youtubeId","language","noWar","paddingTop","parseHtmlToContainer","handleObject","jquery","handleJqueryElem","cloneNode","animationEndEvent","testEl","transEndEventNames","WebkitAnimation","animation","measureScrollbar","scrollDiv","scrollbarWidth","getBoundingClientRect","clientWidth","removeChild","renderActions","renderButtons","confirmButton","denyButton","cancelButton","renderButton","handleButtonsStyling","insertBefore","styled","backgroundColor","button","buttonType","renderContainer","handleBackdropParam","handlePositionParam","handleGrowParam","center","growClass","privateProps","awaitingPromise","innerParams","domCache","inputClasses","renderInput","rerender","inputContainer","setAttributes","showInput","setCustomClass","renderInputType","getInputContainer","removeAttributes","attributes","attrName","removeAttribute","attr","setInputPlaceholder","placeholder","setInputLabel","prependTo","labelClass","innerText","insertAdjacentElement","inputType","checkAndSetInputValue","email","tel","rangeInput","disabled","selected","checkboxContainer","checked","getMargin","marginLeft","marginRight","initialPopupWidth","textareaResizeHandler","textareaWidth","MutationObserver","observe","attributeFilter","renderContent","htmlContainer","renderFooter","renderCloseButton","closeButton","renderIcon","setContent","applyStyles","iconType","setColor","adjustSuccessIconBackgroundColor","popupBackgroundColor","successIconParts","successIconHtml","errorIconHtml","newContent","oldContent","innerHTML","iconContent","defaultIconHtml","question","warning","info","borderColor","sel","renderImage","renderProgressSteps","progressStepsContainer","step","stepEl","createStepElement","lineEl","createLineElement","renderTitle","renderPopup","addClasses","modal","DismissReason","freeze","esc","setAriaHidden","bodyChildren","children","unsetAriaHidden","swalStringParams","getTemplateParams","templateContent","showWarningsForElements","getSwalParams","getSwalButtons","getSwalImage","getSwalIcon","getSwalInput","getSwalStringParams","showWarningsForAttributes","option","optionValue","optionName","paramNames","allowedElements","tagName","allowedAttributes","attribute","defaultInputValidators","setDefaultInputValidators","validateCustomTargetElement","setParameters","Timer","delay","remaining","running","started","stop","clearTimeout","getTime","increase","getTimerLeft","isRunning","fixScrollbar","innerHeight","paddingRight","undoScrollbar","iOSfix","iOS","MSStream","platform","maxTouchPoints","iosfix","scrollTop","top","lockBodyScroll","addBottomPaddingForTallPopups","ua","webkit","iOSSafari","bottomPanelHeight","paddingBottom","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","preventDefault","stopPropagation","event","isStylus","isZoom","touches","touchType","undoIOSfix","SHOW_CLASS_TIMEOUT","openPopup","bodyStyles","initialBodyOverflow","overflowY","addClasses$1","setScrollingVisibility","fixScrollContainer","activeElement","swalOpenAnimationFinished","setProperty","showLoading","buttonToReplace","Swal","replaceButton","parentNode","loading","handleInputOptionsAndValue","handleInputOptions","handleInputValue","getInputValue","getCheckboxValue","getRadioValue","getFileValue","files","processInputOptions","populateInputOptions","formatInputOptions","hideLoading","renderOption","optionLabel","isSelected","inputOption","optgroup","o","radioValue","radioLabel","radioInput","radioLabelElement","radios","Map","valueFormatted","showRelatedButton","getElementsByClassName","getInput$1","privateMethods","swalPromiseResolve","swalPromiseReject","isVisible$1","clickConfirm","click","clickDeny","clickCancel","removeKeydownHandler","keydownTarget","keydownHandlerAdded","keydownHandler","capture","addKeydownHandler","dismissWith","setFocus","increment","focusableElements","arrowKeysNextButton","arrowKeysPreviousButton","isComposing","keyCode","handleEnter","handleTab","handleArrows","handleEsc","outerHTML","btnIndex","shiftKey","sibling","buttonToFocus","HTMLButtonElement","removePopupAndResetState","triggerDidCloseAndDispose","isSafari","removeBodyClasses","resolveValue","prepareResolveValue","triggerClosePopup","isAwaitingPromise","isDismissed","handleAwaitingPromise","handlePopupAnimation","rejectPromise","delete","_destroy","isConfirmed","isDenied","animationIsSupported","animatePopup","swalCloseEventFinishedCallback","setButtonsDisabled","buttons","setInputDisabled","radiosContainer","enableButtons","disableButtons","enableInput","disableInput","showValidationMessage","inputerror","resetValidationMessage$1","getProgressSteps$1","update","validUpdatableParams","filterValidParams","updatedParams","disposeSwal","disposeWeakMaps","unsetWeakMaps","instanceMethods","disableLoading","closePopup","closeModal","closeToast","handleConfirmButtonClick","handleConfirmOrDenyWithInput","handleDenyButtonClick","handleCancelButtonClick","handleInputValidator","checkValidity","validationPromise","preDenyPromise","preDenyValue","error$$1","rejectWith","succeedWith","preConfirmPromise","preConfirmValue","handlePopupClick","handleToastClick","handleModalMousedown","handleContainerMousedown","handleModalClick","onclick","isAnyButtonShown","ignoreOutsideClick","onmousedown","onmouseup","isJqueryElement","isElement","Element","argsToParams","fire","_len","_key","mixin","mixinParams","MixinSwal","_main","priorityMixinParams","super","stopTimer","resumeTimer","toggleTimer","increaseTimer","isTimerRunning","bodyClickListenerAdded","clickHandlers","bindClickHandler","bodyClickListener","staticMethods","enableLoading","SweetAlert","outerParams","userParams","prepareParams","populateDomCache","swalPromise","finally","onFinally","dismiss","setupTimer","initFocus","templateParams","globalState$$1","focusButton","blurActiveElement","blur","default","Sweetalert2","swal","sweetAlert","t","getElementsByTagName","styleSheet","cssText","Vue","origin","mixins","VSheet","Toggleable","Transitionable","border","closeLabel","coloredBorder","dense","dismissible","closeIcon","outlined","prominent","computed","__cachedBorder","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","VBtn","small","attrs","$vuetify","lang","on","isActive","VIcon","__cachedIcon","computedIcon","classes","hasColoredIcon","hasText","isDark","Themeable","created","$attrs","breaking","methods","genWrapper","$slots","prepend","genContent","$scopedSlots","genAlert","role","listeners$","styles","directives","setTextColor","dark","light","theme","themeClasses","domProps","inserted","binding","vnode","modifiers","passive","handler","_onScroll","_uid","unbind","_el$_onScroll","Scroll","scrollTarget","scrollThreshold","Number","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","watch","mounted","consoleWarn","onScroll","pageYOffset","abs","$nextTick","thresholdMet","baseMixins","VToolbar","Scrollable","SSRBootable","Applicationable","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","applicationProperty","bottom","isBooted","collapse","app","fixed","hideShadow","scrollRatio","threshold","computedContentHeight","computedOriginalHeight","computedFontSize","isProminent","computedLeft","application","computedMarginTop","bar","computedOpacity","height","isExtended","extensionHeight","computedRight","computedTransform","computedHeight","isCollapsed","fontSize","convertToUnit","marginTop","transform","callUpdate","genBackground","_b","opacity","updateApplication","slots","listeners","d","defaultSlot","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","VSelect","allowOverflow","autoSelectFirst","item","queryText","itemText","toLocaleLowerCase","hideNoData","menuProps","noFilter","searchInput","lazySearch","selectedIndex","computedItems","filteredItems","selectedValues","selectedItems","getValue","hasDisplayedItems","hideSelected","some","hasItem","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","getPropertyFromItem","$emit","isAnyValueAllowed","isDirty","searchIsDirty","multiple","menuCanShow","isFocused","$_menuProps","contentClass","valueComparator","internalValue","listData","virtualizedItems","onCopy","$refs","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","setSearch","destroyed","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","keyCodes","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","nextIndex","nextItem","selectItem","setValue","clearableCallback","genInput","VTextField","mergeData","getObjectValueByPath","autocomplete","genInputSlot","slot","genSelections","onClick","onFocus","isAppendInner","onInput","badInput","validity","onKeyDown","ctrlKey","onSpaceDown","onTabDown","onUpDown","setSelectedItems","currentItem","currentItemText","clipboardData","setData","Colorable","Measurable","Roundable","size","roundedClasses","minWidth","measurableStyles","$listeners","VProgressCircular","Routable","Positionable","Sizeable","GroupableFactory","ToggleableFactory","activeClass","btnToggle","block","depressed","fab","plain","retainFocusOnClick","rounded","tile","proxyClass","isElevated","hasBg","isRound","to","groupClasses","elevationClasses","sizeableClasses","computedElevation","Elevatable","computedRipple","defaultRipple","circle","ripple","elevation","breakingProps","original","detail","$el","genLoader","indeterminate","generateRouteLink","Loadable","flat","hover","img","link","loaderHeight","raised","isClickable","genProgress","tabindex","VCardActions","createSimpleFunctional","VCardSubtitle","VCardText","VCardTitle","Selectable","indeterminateIcon","offIcon","onIcon","inputIndeterminate","VInput","validationState","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","genCheckbox","checkboxAttrs","attrs$","genRipple","rippleState","genDefaultSlot","genLabel","wrapInArray","active","chipGroup","draggable","filterIcon","pill","textColor","isLink","hasClose","genFilter","VExpandXTransition","genClose","VChip","inheritAttrs","sortBy","sortDesc","customSort","sortItems","mustSort","multiSort","page","itemsPerPage","groupBy","groupDesc","customGroup","groupItems","locale","disableSort","disablePagination","disableFiltering","customFilter","searchItems","serverItemsLength","internalOptions","sortDiff","groupDiff","fillArray","itemsLength","pageCount","pageStart","pageStop","isGrouped","pagination","paginateItems","groupedItems","scopedProps","sortArray","group","updateOptions","originalItemsLength","computedOptions","old","deepEqual","deep","immediate","oldBy","oldDesc","by","byIndex","required","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","genDataItemsPerPageOption","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageSelect","computedIPPO","ippo","hideDetails","auto","genPaginationInfo","genIcon","genIcons","getSlot","Mobile","VData","itemKey","singleSelect","expanded","mobileBreakpoint","singleExpand","noResultsText","noDataText","loadingText","hideDefaultFooter","footerProps","selectableKey","selection","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","every","someItems","sanitizedFooterProps","camelizeObjectKeys","isSelectable","removedProps","onKeyUp","beforeDestroy","toggleSelectAll","lastEntryKey","lastEntryKeySelected","multipleSelect","end","isExpanded","expand","createItemProps","isMobile","genEmptyWrapper","genEmpty","filteredItemsLength","noData","noResults","genItems","empty","genFooter","scopedSlots","getPrefixedScopedSlots","VDataFooter","genDefaultScopedSlot","outerProps","$props","checkboxColor","sortIcon","showGroupBy","genSelectAll","VSimpleCheckbox","genSortIcon","header","sortByText","genSortChip","sortIndex","beingSorted","isDesc","sortable","asc","genSortSelect","closeOnContentClick","sortHeaders","th","tr","genGroupByToggle","getAria","$t","ariaSort","ariaLabel","genHeader","scope","align","divider","groupable","dedupeModelListeners","model","rebuildFunctionalSlots","mobile","rebuildSlots","VDataTableHeaderMobile","VDataTableHeaderDesktop","needsTd","_slot$","computedSlots","columns","slotName","scopedSlot","regularSlot","textAlign","cellClass","headerClass","summaryClass","hideDefaultHeader","mobileRowChildren","filterFn","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","matchesColumnFilters","defaultFilter","matchesSearchTerm","VDataIterator","showSelect","showExpand","caption","headerProps","calculateWidths","fixedHeader","headersLength","expandIcon","itemClass","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","acc","filterable","sanitizedHeaderProps","computedItemsPerPage","firstOption","calcWidths","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","genHeaders","VDataTableHeader","genGroupedRows","genRows","$set","genDefaultGroupedRow","isOpen","toggleFn","removeFn","column","RowGroup","genScopedRows","genDefaultRows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","MobileRow","Row","mergeClasses","contextmenu","dblclick","genBody","genFoot","foot","_this$$scopedSlots$fo","genFooters","simpleProps","VSimpleTable","proxySlot","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","ClickOutside","fullscreen","maxWidth","noClickAnimation","persistent","retainFocus","scrollable","activatedBy","animate","animateTimeout","stackMinZIndex","contentClasses","hasActivator","activator","hideScroll","removeOverlay","showScroll","genOverlay","beforeMount","animateClick","closeConditional","_isDestroyed","overlay","activeZIndex","getMaxZIndex","hideOverlay","onFocusin","onClickOutside","onKeydown","getOpenDependents","getActivator","getOpenDependentElements","showLazyContent","VThemeProvider","root","getScopeIdAttrs","keydown","zIndex","ref","genTransition","genInnerContent","appear","include","transformOrigin","getContentSlot","attach","genActivator","inset","vertical","orientation","chips","clearable","counterSizeString","counterString","hideInput","prependIcon","readonly","showSize","smallChips","truncateLength","computedCounterValue","fileCount","lazyValue","File","bytes","internalArrayValue","humanReadableFileSize","base","isLabelActive","persistentPlaceholder","hasLabel","truncatedText","truncateText","hasChips","consoleError","genChips","genControl","mergeStyles","genPrependSlot","genSlot","genSelectionText","counter","genTextFieldSlot","node","initialValue","charsKeepOneSide","padless","computedBottom","isPositioned","isNaN","BindsAttrs","RegistrableProvide","form","lazyValidation","inputs","watchers","errorBag","errors","watchInput","watcher","$watch","valid","validate","resetErrorBag","resetValidation","found","unwatch","$delete","novalidate","submit","breakpoints","breakpointProps","offsetProps","upperFirst","orderProps","propMap","col","order","breakpointClass","breakpoint","alignSelf","cacheKey","hasColClasses","startsWith","VGrid","Grid","fluid","ALIGNMENT","makeProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","noGutters","SIZE_MAP","isFontAwesome5","isSvgPath","medium","hasClickListener","iconName","remapInternalIcon","getSize","sizes","xSmall","large","xLarge","explicitSize","getDefaultData","getSvgWrapperData","wrapperData","applyColors","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","xmlns","viewBox","renderSvgIconComponent","component","nativeOn","$_wrapperFor","aspectRatio","computedAspectRatio","aspectStyle","__cachedSizer","hasIntersect","VResponsive","intersect","alt","contain","eager","gradient","lazySrc","rootMargin","srcset","currentSrc","calculatedAspectRatio","naturalWidth","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","loadImage","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","naturalHeight","onError","onload","decode","poll","complete","__genPlaceholder","once","genChildren","genMessage","Validatable","appendIcon","hideSpinButtons","hint","persistentHint","hasMouseDown","hasState","showDetails","isReadonly","computedId","hasDetails","messagesToDisplay","hasHint","hasMessages","$_modelEvent","validations","validation","validationResult","genAppendSlot","genMessages","extraData","eventName","kebabCase","hasListener","mouseup","mousedown","onMouseDown","onMouseUp","VLabel","focused","for","VMessages","BaseItemGroup","Comparable","Proxyable","mandatory","internalLazyValue","toggleMethod","intern","genData","updateInternalValue","$on","updateMandatory","updateItem","valueIndex","updateItemsState","updateMultiple","updateSingle","reverse","defaultValue","isSame","itemGroup","ctx","functionalThemeClasses","isInList","list","inject","isInMenu","isInNav","nav","subheader","threeLine","twoLine","groups","listClick","Bootable","RegistrableInject","noAction","subGroup","$route","matchRoute","genAppendIcon","VListItemIcon","VListItem","genPrependIcon","onRouteChange","VExpandTransition","Ripple","isInGroup","listItemGroup","inactive","selectable","genAttrs","filteredChild","VNode","isComment","VAvatar","horizontal","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","Delayable","Menuable","Resize","closeOnClick","disableKeys","maxHeight","offsetX","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","dimensions","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","nudgeWidth","pageWidth","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","tabIndex","isContentActive","next","contentHeight","offsetTop","goTo","appOffset","duration","callActivate","activate","requestAnimationFrame","startTransition","calcTopAuto","calcScrollPosition","maxScrollTop","computedTop","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","nextTile","prevTile","lastTile","firstTile","genActivatorAttributes","genActivatorListeners","genDirectives","rootThemeClasses","activatorFixed","menuable__content__active","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","runDelay","_this$$refs$content","relatedTarget","callDeactivate","onResize","Touch","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","isMiniVariant","computedMaxHeight","hasApp","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","translate","updateMiniVariant","calculateTouchArea","parentRect","genAppend","genPosition","VImg","swipeLeft","swipeRight","genListeners","transitionend","currentTarget","resizeEvent","createEvent","initUIEvent","dispatchEvent","genPrepend","genBorder","touchendX","touchstartX","__scrim","rotate","radius","calculatedSize","circumference","PI","normalizedValue","strokeDashArray","round","strokeDashOffset","strokeWidth","viewBoxSize","svgStyles","genCircle","fill","cx","cy","genSvg","genInfo","onObserve","Rippleable","radioGroup","computedName","prevent","genRadio","radioAttrs","onBlur","onChange","mergeListeners","row","emptyIcon","fullIcon","halfIcon","halfIncrements","iconLabel","hoverIndex","iconProps","isHovering","createClickFn","newValue","genHoverIndex","createProps","isFilled","isHovered","isHalfHovered","isHalfFilled","isHalf","isHalfEvent","getIconName","isFull","getColor","rect","pageX","onMouseEnter","onMouseLeave","genItem","mousemove","createRange","VMenu","VDivider","VSubheader","action","itemDisabled","itemValue","parsedItems","tileActiveClass","staticNoDataTile","genTileContent","genAction","VListItemAction","genDivider","genFilteredText","escapeHTML","middle","getMaskedCharacters","genHighlight","genTile","needsTile","componentOptions","Ctor","VList","openOnClick","Filterable","cacheItems","deletableChips","disableLookup","itemColor","openOnClear","returnObject","cachedItems","menuIsBooted","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","filterDuplicates","computedOwns","counterValue","dynamicHeight","staticList","VSelectList","normalisedProps","nudgeBottom","onMenuActiveChange","getContent","uniqueValues","findExistingIndex","genChipSelection","onChipInput","genCommaSelection","selections","genFieldset","genAffix","genClearIcon","genIconSlot","genHiddenInput","genMenu","keypress","onKeyPress","genList","genListWithSlot","genSelection","genSlotSelection","getMenuIndex","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","performance","which","showMoreItems","appendInner","shaped","boilerplate","types","rootTypes","article","avatar","card","chip","heading","paragraph","sentences","table","genBone","genBones","bone","generator","genStructure","mapBones","genSkeleton","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","_initialStyle","stepClick","isVertical","altLabels","nonLinear","steps","isReverse","updateView","isVerticalProvided","computedTransition","VTabReverseTransition","VTabTransition","previous","enter","leave","onTransition","stepper","propertyName","contentData","completeIcon","editable","editIcon","errorIcon","rules","isInactive","genStep","genStepContent","keyboardClick","switchData","genSwitch","switchAttrs","onSwipeLeft","onSwipeRight","VFabTransition","progress","isGreater","intersectable","Intersect","onVisible","Intersectable","dirtyTypes","resize","appendOuterIcon","autofocus","clearIcon","filled","fullWidth","prependInnerIcon","singleLine","solo","soloInverted","labelWidth","prefixWidth","prependWidth","isClearing","isSingle","isSolo","isEnclosed","hasCounter","labelPosition","labelValue","showLabel","setLabelWidth","setPrefixWidth","tryAutofocus","genPrependInnerSlot","genCounter","maxlength","_this$$scopedSlots$co2","VCounter","genLegend","span","inputAttrs","is","quiet","messagesNode","counterNode","attachedRoot","scrollWidth","setPrependWidth","updateValue","autoGrow","noResize","rowHeight","noResizeHandle","calculateInputHeight","_this$$refs$input","minHeight","rootIsDark","extended","short","smAndDown","genExtension","extension","VToolbarTitle","VToolbarItems","closeDelay","openDelay","openOnFocus","closeDependents","unknown","activatorLeft","offsetLeft","nudgeLeft","nudgeRight","activatorTop","nudgeTop","getSlotType","deactivate","mergeTransitions","dest","transitions","createSimpleTransition","hideOnLeave","leaveAbsolute","webkitTransformOrigin","_transitionInitialStyles","afterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","overflow","initialStyle","enterCancelled","VFadeTransition","VSlideXTransition","ExpandTransitionGenerator","defaultConditional","checkEvent","checkIsActive","ShadowRoot","elements","directive","_clickOutside","lastMousedownWasOutside","handleShadow","onMousedown","_el$_clickOutside","IntersectionObserver","_observe","_el$_observe","entry","_el$_observe2","unobserve","_onResize","_el$_onResize","DELAY_RIPPLE","webkitTransform","isTouchEvent","isKeyboardEvent","calculate","localX","localY","clientX","clientY","scale","_ripple","sqrt","centerX","centerY","ripples","enabled","dataset","previousPosition","activated","isHiding","isRippleEnabled","rippleShow","element","touched","rippleStop","isTouch","centered","showTimerCommit","showTimer","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","oldValue","handleGesture","touchstartY","touchendY","dirRatio","minDistance","up","down","touchstart","touch","changedTouches","touchend","touchmove","touchmoveX","touchmoveY","createHandlers","parentElement","_touchHandlers","install","installed","OurVue","components","registerComponents","$_vuetify_subcomponents","$_vuetify_installed","vuetify","$ssrContext","observable","framework","isHydrating","badge","dataIterator","dataTable","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","carousel","delimiter","calendar","moreEvents","fileInput","counterSize","timePicker","am","pm","currentPage","rating","preset","scrollBarWidth","thresholds","xs","sm","md","lg","icons","iconfont","locales","en","disable","cspNonce","customProperties","minifyTheme","themeCache","variations","themes","primary","secondary","accent","success","Presets","Service","parentPreset","defaultPreset","mergeDeep","Preset","userPreset","globalPreset","Application","insetFooter","cur","Breakpoint","xl","xsOnly","smOnly","smAndUp","mdOnly","mdAndDown","mdAndUp","lgOnly","lgAndDown","lgAndUp","xlOnly","ssr","getClientHeight","getClientWidth","innerWidth","clear","checkboxOn","checkboxOff","checkboxIndeterminate","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","first","unfold","plus","minus","convertToComponentDeclarations","iconSet","mdiSvg","mdi","fa","fa4","faSvg","Icons","presets","LANG_PREFIX","fallback","getTranslation","usingDefault","defaultLocale","shortKey","translation","Lang","translator","defaultTranslator","currentLocale","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","clamp","toXYZ","delta","cielabForwardTransform","cbrt","cielabReverseTransform","transformedY","lab","Ln","isItem","anchor","variant","colors","parsedTheme","colorToHex","genVariations","colorToInt","intToHex","genBaseColor","genVariantColor","genColorVariableName","genColorVariable","genStyles","cssVar","variablesCss","css","aColor","variants","variantValue","lighten","darken","amount","LAB","sRGB","Theme","vueMeta","fillVariant","isVueMeta23","applyVueMeta23","checkOrCreateStyleElement","styleEl","oldDark","applyTheme","clearCss","generatedStyles","$meta","initVueMeta","initSSR","initTheme","setTheme","resetThemes","getElementById","genStyleElement","defaultTheme","head","metaKeyName","getOptions","keyName","metaInfo","vuetifyStylesheet","nonce","addApp","$once","obs","currentTheme","ThemeUtils","getNestedValue","Vuetify","services","service","silent","internalActivator","activatorElement","activatorNode","events","slotType","addActivatorEvents","removeActivatorEvents","getValueProxy","vm","componentInstance","elm","nodeType","Node","ELEMENT_NODE","resetActivator","applicationable","PositionableFactory","removeApplication","newVal","deactivated","force","makeWatcher","$data","hasContent","isCssColor","colorName","colorModifier","openTimeout","closeTimeout","clearDelay","searchChildren","results","isDependent","$children","openDependents","getClickableDependentElements","validateAttachTarget","removeActivator","hasDetached","initDetach","firstChild","nextSibling","isConnected","record","removedNodes","disconnect","subtree","childList","backgroundOpacity","bufferValue","query","stream","striped","__cachedBackground","backgroundStyle","__cachedBar","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","genProgressBar","__cachedStream","normalizedBuffer","isReversed","reactive","VProgressLinear","positionableFactory","positionX","positionY","absoluteX","absoluteY","relativeYOffset","hasWindow","inputActivator","stackClass","absoluteYOffset","absolutePosition","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","totalHeight","isOverflowing","checkForPageYOffset","getOffsetTop","checkActivatorFixed","offsetParent","pageXOffset","scrollLeft","getRoundedBoundedClientRect","measure","sneakPeek","offsetRect","mobileWidth","deprecate","VOverlay","overlayColor","overlayOpacity","animationFrame","createOverlay","propsData","$mount","getZIndex","addOnceEventListener","$destroy","cancelAnimationFrame","scrollListener","isContentEditable","deltaY","checkPath","hasScrollbar","overflowX","shouldScroll","dir","deltaX","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","isInside","composedPath","dialog","getSelection","anchorNode","addPassiveEventListener","availableProps","filterObjectOnKeys","generateWarning","defaultImpl","returnValue","originalValue","save","composite","exact","exactPath","exactActiveClass","nuxt","falseValue","trueValue","appIsDark","isMultiple","stackElement","stackExclude","exclude","zis","activeElements","themeableProvide","injections","errorCount","errorMessages","messages","successMessages","validateOnBlur","errorBucket","hasFocused","hasInput","isResetting","internalErrorMessages","internalSuccessMessages","externalError","validationTarget","genInternalMessages","internalMessages","rule","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getOffset","totalOffset","_isVue","_target","_settings","settings","scrollingElement","easing","isDrawer","isClipped","startTime","targetLocation","startLocation","ease","easingPatterns","currentTime","timeElapsed","reachBottom","Goto","substring","char","hexColor","repeat","red","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","createMessage","$parent","$_alreadyWarned","generateComponentTrace","newMessage","classifyRE","classify","formatComponentName","includeFile","cid","_componentTag","__file","tree","currentRecursiveSequence","getRootNode","composed","passiveSupported","testListenerOpts","tagsToReplace","filtered","unit","tab","space","home","del","backspace","insert","pageup","pagedown","iconPath","override","camelizeRE","camelize","customSorters","stringCollator","Intl","Collator","sensitivity","usage","sortKey","sortA","sortB","customResult","optional","binary","toFixed","styleList","styleProp","parseStyle","styleMap","mergeTarget","__WEBPACK_EXTERNAL_MODULE__8bbf__","modules","installedModules","moduleId","toStringTag","__esModule","ns","_toConsumableArray","_slicedToArray","_createForOfIteratorHelper","_classCallCheck","_createClass","SVGGraphics","_util","_display_utils","_is_node","SVG_DEFAULTS","fontStyle","fontWeight","fillColor","XML_NS","XLINK_NS","LINE_CAP_STYLES","LINE_JOIN_STYLES","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","Int32Array","crc32","crc","_i","writePngChunk","adler32","_i2","deflateSync","literals","isNodeJS","deflateSyncUncompressed","output","level","maxBlockLength","deflateBlocks","idat","pi","subarray","adler","imgData","kind","forceDataSchema","isMask","bitDepth","colorType","lineSize","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","offsetLiterals","offsetBytes","_y","_i3","ihdr","pngLength","createObjectURL","SVGExtraState","fontSizeScale","textMatrix","IDENTITY_MATRIX","fontMatrix","FONT_IDENTITY_MATRIX","leading","textRenderingMode","TextRenderingMode","FILL","textMatrixScale","lineX","lineY","charSpacing","wordSpacing","textHScale","textRise","strokeColor","fillAlpha","strokeAlpha","lineWidth","lineJoin","lineCap","miterLimit","dashArray","dashPhase","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","_step","opTree","tmp","_iterator","opListElement","fnId","pf","isInteger","acos","clipCount","maskCount","shadingCount","commonObjs","objs","svgFactory","DOMSVGFactory","transformMatrix","transformStack","extraStack","pendingClip","pendingEOFill","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","OPS","tgrp","executeOpTree","restore","operatorList","_this","fnArray","argsArray","ii","dependency","_step2","_iterator2","_loop","objsPool","Util","viewport","_this2","svgElement","_initialize","loadDependencies","convertOpList","operatorIdMapping","_step3","_iterator3","opTreeElement","beginText","setLeading","setLeadingMoveText","setFont","showText","showSpacedText","endText","moveText","setCharSpacing","setWordSpacing","setHScale","setTextMatrix","setTextRise","setTextRenderingMode","setLineWidth","setLineJoin","setLineCap","setMiterLimit","setFillRGBColor","setStrokeRGBColor","setStrokeColorN","setFillColorN","shadingFill","setDash","setRenderingIntent","setFlatness","setGState","eoFill","stroke","fillStroke","eoFillStroke","clip","eoClip","paintSolidColorImageMask","paintJpegXObject","paintImageXObject","paintInlineImageXObject","paintImageMaskXObject","paintFormXObjectBegin","paintFormXObjectEnd","closePath","closeStroke","closeFillStroke","closeEOFillStroke","nextLine","constructPath","endPath","lineMatrix","xcoords","tspan","setAttributeNS","fontFamily","txtElement","txtgrp","glyphs","font","_step4","fontDirection","widthAdvanceScale","_iterator4","glyph","isNum","character","fontChar","spacing","isSpace","charWidth","isInFont","missingFile","fillStrokeMode","FILL_STROKE_MASK","FILL_STROKE","ADD_TO_PATH","STROKE","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","fontObj","defs","mimetype","loadedName","details","addFontStyle","bold","italic","ADD_TO_PATH_FLAG","hasChildNodes","limit","makeCssRgb","_makeColorN_Pattern","inv","inverseTransform","applyTransform","br","ul","ur","x0","y0","x1","y1","_makeShadingPattern","_makeTilingPattern","_args$","xstep","ystep","paintType","tilingId","_util$Util$applyTrans","_util$Util$applyTrans2","tx0","ty0","_util$Util$applyTrans3","_util$Util$applyTrans4","tx1","ty1","_util$Util$singularVa","singularValueDecompose2dScale","_util$Util$singularVa2","xscale","yscale","txstep","tystep","tiling","svg","bbox","_util$Util","cssColor","shadingId","colorStops","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_step5","_iterator5","colorStop","ops","_step6","_iterator6","rectangle","xw","yh","moveTo","lineTo","curveTo","curveTo2","curveTo3","getAttributeNS","setCurrentPoint","clipId","clipPath","clipElement","intent","flatness","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","objId","w","imgObj","imgEl","mask","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_typeof","_asyncToGenerator","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","getGlobalEventBus","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","ProgressBar","EventBus","NullL10n","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","AutoPrintRegExp","UNKNOWN","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","NONE","ODD","EVEN","formatL10nValue","getLanguage","regeneratorRuntime","mark","_callee","wrap","_context","abrupt","getDirection","_callee2","_context2","_callee3","_context3","_callee4","_context4","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","sx","sy","scaled","spot","skipOverflowHiddenElements","clientTop","clientLeft","_scaleY","_scaleX","viewAreaElement","debounceScroll","evt","rAF","currentX","lastX","currentY","lastY","_eventHandler","minIndex","maxIndex","currentIndex","xinv","x_","q","div","_ref","view","userUnit","_view","x2","y2","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","ex","angle","atan2","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref2","_ref2$delay","_off","eventHandler","_on","timeoutHandler","dispatchDOMEvent","initCustomEvent","_ref3","_ref3$dispatchToDOM","dispatchToDOM","_dispatchToDOM","external","eventListeners","externalListeners","_ref4","_args5","globalEventBus","_ref5","units","_indeterminate","progressSize","_percent","viewer","_updateBar","moved","_read","OptionKind","AppOptions","_pdf","_viewer_compatibility","VIEWER","API","WORKER","PREFERENCE","cursorToolOnLoad","defaultUrl","defaultZoomValue","disableHistory","disablePageLabels","enablePrintAutoRotate","enableWebGL","eventBusDispatchToDOM","externalLinkRel","externalLinkTarget","historyUpdateUrl","ignoreDestinationZoom","imageResourcesPath","maxCanvasPixels","compatibility","viewerCompatibilityParams","pdfBugEnabled","renderer","renderInteractiveForms","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","textLayerMode","useOnlyCssZoom","viewOnLoad","cMapPacked","cMapUrl","disableAutoFetch","disableCreateObjectURL","apiCompatibilityParams","disableFontFace","disableRange","disableStream","docBaseUrl","isEvalSupported","maxImageSize","pdfBug","verbosity","workerPort","workerSrc","userOptions","userOption","defaultOption","valueType","factories","construct","argsLength","partArgs","boundFunction","nativeGetOwnPropertyNames","windowNames","getWindowNames","_nonIterableSpread","nativeGetOwnPropertyDescriptor","$values","toInteger","RangeError","setToStringTag","IS_END","maxLength","fillString","fillLen","stringFiller","S","stringLength","fillStr","intMaxLength","ITERATOR","URL","searchParams","URLSearchParams","InternalWeakMap","redefineAll","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","isExtensible","$WeakMap","getConstructor","REQUIRED","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","count","Infinity","_iterableToArray","iter","fixRegExpWellKnownSymbolLogic","isRegExp","speciesConstructor","advanceStringIndex","callRegExpExec","regexpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","lim","lastLength","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","regexp","res","rx","unicodeMatching","A","z","PDFPageView","_ui_utils","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pdfPage","pageLabel","rotation","pdfPageRotate","hasRestrictedScaling","eventBus","renderingQueue","textLayerFactory","annotationLayerFactory","l10n","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","annotationLayer","textLayer","zoomLayer","totalRotation","getViewport","stats","cleanup","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","canvas","_resetZoomLayer","loadingIconDiv","cssTransform","dispatch","pageNumber","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","textLayerDiv","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","RenderingCancelledException","_x","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","readableStream","streamTextContent","normalizeWhitespace","setTextContentStream","createAnnotationLayerBuilder","renderCapability","createPromiseCapability","renderTask","msg","isCanvasHidden","showCanvas","mozOpaque","getContext","alpha","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","canvasContext","onContinue","cancelled","ensureNotCancelled","getOperatorList","svgGfx","getSVG","task","setImmediate","clearImmediate","createTypedArrayConstructor","byteOffset","copyWithin","inc","R","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","PDFDocumentProperties","DEFAULT_FIELD_CONTENT","NON_METRIC_LOCALES","US_PAGE_NAMES","METRIC_PAGE_NAMES","getPageName","isPortrait","pageNames","overlayManager","overlayName","fields","_reset","_currentPageNumber","_pagesRotation","pagesRotation","_isNonMetricLocale","freezeFieldData","_dataAvailableCapability","currentPageNumber","fieldData","_updateUI","pdfDocument","getMetadata","contentDispositionFilename","_parseFileSize","maybeFileSize","_parseDate","CreationDate","ModDate","getPage","_parsePageSize","_parseLinearization","IsLinearized","fileSize","creationDate","modDate","pageSize","isLinearized","Title","author","Author","subject","Subject","keywords","Keywords","modificationDate","creator","Creator","producer","Producer","PDFFormatVersion","numPages","linearized","getDownloadInfo","_id","_parseFileSize2","kb","_args","size_kb","toPrecision","toLocaleString","size_b","size_mb","_parsePageSize2","pageSizeInches","sizeInches","sizeMillimeters","pageName","rawName","exactMillimeters","intMillimeters","_this3","_ref6","_ref7","_ref7$","_x2","_parseDate2","inputDate","dateObject","PDFDateString","toDateObject","date","toLocaleDateString","time","toLocaleTimeString","_x3","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","begin","beginIndex","BYTES_PER_ELEMENT","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","toPositiveInteger","BYTES","createHTML","forcedStringHTMLMethod","Constructor","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","getShadingPatternFromIR","TilingPattern","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","p0","r0","r1","getPattern","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","p3","c1","c2","c3","coords","rowSize","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","_k","_k2","x1_","x2_","_k3","drawFigure","figure","ps","cs","verticesPerRow","bounds","combinesScale","figures","cachedCanvases","webGLContext","tmpCanvas","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","isEnabled","drawFigures","getCanvas","drawImage","tmpCtx","createImageData","putImageData","shadingIR","Mesh","owner","mozCurrentTransform","baseTransform","matrixScale","temporaryPatternCanvas","setTransform","createPattern","Dummy","PaintType","COLORED","UNCOLORED","IR","canvasGraphicsFactory","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","createCanvasGraphics","groupLevel","setFillAndStrokeStyleToContext","clipBbox","executeOperatorList","realOutputSize","maxSize","bboxWidth","bboxHeight","fillStyle","strokeStyle","FormatError","SPECIES","METHOD_NAME","foo","__webpack_require__","needQuotes","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","$sort","comparefn","arrayLikeToArray","_arrayWithoutHoles","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterate","iterable","AS_ENTRIES","IS_ITERATOR","iterFn","redefine","setGlobal","noTargetGet","cssWithMappingToString","useSourceMap","cssMapping","sourceMapping","toComment","sourceURLs","sources","sourceRoot","sourceMap","base64","mediaQuery","dedupe","alreadyImportedModules","notARegExp","correctIsRegExpLogic","$reduceRight","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","CONSTRUCTOR_NAME","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","aTypedArrayConstructor","$slice","Int8Array","_get","_getPrototypeOf","_inherits","_createSuper","PDFViewer","_base_viewer","_base_viewer$BaseView","_super","pageDiv","_ref$pageSpot","pageSpot","_ref$pageNumber","isInPresentationMode","_this$container","_isScrollModeHorizontal","_getCurrentVisiblePage","visiblePages","currentId","stillFullyVisible","_setCurrentPageNumber","shadow","BaseViewer","EOF","USE_NATIVE_URL","arrayFrom","codeAt","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","findLongestZeroSequence","ipv6","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","defer","channel","IS_IOS","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","post","postMessage","nextTick","port2","port1","onmessage","importScripts","isNativeReflectConstruct","possibleConstructorReturn","Derived","hasNativeReflectConstruct","Super","__webpack_exports__","_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_1_id_4aaa9b0d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","$lastIndexOf","searchElement","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","FAILS_ON_PRIMITIVES","PDFOutlineViewer","DEFAULT_TITLE","linkService","toggleOutlineTree","outline","lastToggleIsShow","outlineCount","newWindow","addLinkAttributes","LinkTarget","BLANK","rel","externalLinkEnabled","getDestinationHash","navigateTo","toggler","shouldShowAll","_toggleOutlineItem","createDocumentFragment","hasAnyNesting","levelData","_bindLink","_setStyles","removeNullCharacters","_addToggleButton","itemsDiv","_dispatchEvent","Iterators","PDFSinglePageViewer","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","previousPageView","viewerNodes","scrolledDown","$findIndex","_annotation_layer_builder","_pdf_page_view","_pdf_link_service","_text_layer_builder","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","destroy","newSize","pagesToKeep","pageIdsToKeep","Set","iMax","isSameScale","oldScale","newScale","_name","firstElementChild","SimpleLinkService","downloadManager","findController","removePageBorders","defaultRenderingQueue","PDFRenderingQueue","setViewer","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","pagesCount","_pageLabels","_cancelRendering","setDocument","firstPagePromise","_pagesCapability","_buffer","_onePageRenderedCapability","settled","firstPdfPage","_firstPageCapability","currentScale","pageNum","_setDocumentViewerElement","firstPageView","setPdfPage","cachePageRef","_spreadMode","_updateSpreadMode","loadingParams","getPagesLeft","_pageNum","labels","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRequests","_scrollMode","_updateScrollMode","noScroll","presetValue","isChangingPresentationMode","scrollPageIntoView","destArray","allowNegativeOffset","_setScaleUpdatePages","noPadding","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","widthScale","heightScale","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","normalizedScaleValue","pdfOpenParams","currentPageView","topLeft","getPagePoint","intLeft","intTop","_getVisiblePages","numVisiblePages","newCacheSize","renderHighestPriority","_updateHelper","_updateLocation","currentlyVisiblePages","_this4","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pageIndex","enhanceTextSelection","TextLayerBuilder","AnnotationLayerBuilder","pagesOverview","isFirstPagePortrait","scrollMode","pages","parity","_iMax","toOffset","arrayLike","_assertThisInitialized","ReferenceError","defineIterator","STRING_ITERATOR","iterated","point","getCharacterType","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","PDFFetchStream","_network_utils","createFetchOptions","abortController","credentials","redirect","createHeaders","httpHeaders","Headers","isHttp","_fullRequestReader","_rangeRequestReaders","assert","PDFFetchStreamReader","_progressiveDataLength","reader","PDFFetchStreamRangeReader","readers","_loaded","_stream","_reader","_filename","_withCredentials","_contentLength","_headersCapability","_disableRange","_rangeChunkSize","rangeChunkSize","AbortController","_abortController","_isStreamingSupported","_isRangeSupported","_headers","validateResponseStatus","createResponseStatusError","getReader","getResponseHeader","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","AbortException","onProgress","_yield$this$_reader$r","sent","loaded","total","_readCapability","_read2","_yield$this$_reader$r2","$map","mapfn","arch","execPath","pid","browser","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","arrayWithoutHoles","iterableToArray","nonIterableSpread","MATCH","PDFNodeStream","fs","fileUriRegex","parseUrl","sourceUrl","parsedUrl","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","rangeReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_done","_storedError","_readableStream","chunk","_error","BaseRangeReader","createRequestOptions","_BaseFullReader","handleResponse","statusCode","MissingPDFException","_setReadableStream","_request","_BaseRangeReader","_super2","_httpHeaders","_BaseFullReader2","_super3","_this5","lstat","createReadStream","_BaseRangeReader2","_super4","_this6","$some","regExpExec","nativeMatch","matcher","fullUnicode","matchStr","defaultConstructor","$trim","forcedStringTrimMethod","listToStyles","parentId","newStyles","media","addStylesClient","hasDocument","DEBUG","stylesInDom","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","addStyle","createStyleElement","styleElement","styleIndex","applyToSingletonTag","applyToTag","newObj","replaceText","textStore","cssNode","createTextNode","ssrId","_setPrototypeOf","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","getFlags","stickyHelpers","setSpecies","NativeRegExp","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","$padStart","WEBKIT_BUG","padStart","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","createProperty","mapping","iteratorMethod","collectionStrong","GlobalWorkerOptions","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","objectDefinePropertyModule","regExpFlags","whitespaces","whitespace","ltrim","rtrim","_arrayLikeToArray","arr2","_defineProperties","protoProps","staticProps","propertyKey","receiver","isFinite","$join","maxInt","tMin","tMax","skew","damp","initialBias","initialN","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","numPoints","firstTime","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","nativeAssign","B","alphabet","chr","T","getFilenameFromUrl","isFetchSupported","isValidFetchUrl","loadScript","deprecated","releaseImageResources","StatTimer","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","PageViewport","SVG_NS","canvasAndContext","_ref$baseUrl","baseUrl","_ref$isCompressed","isCompressed","_fetch","compressionType","CMapCompressionType","BINARY","baseURI","cMapData","ok","t0","arrayBuffer","t1","t2","stringToBytes","t3","DONE","createElementNS","_ref5$offsetX","_ref5$offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","bottomRight","applyInverseTransform","_util$BaseException","BaseException","SELF","PARENT","TOP","_ref7$enabled","urlNullRemoved","targetStr","lastIndexOf","pdfDateStringRegex","times","outBuf","longest","_time","padEnd","Response","ReadableStream","_ref8","script","log","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","NATIVE_ARRAY_BUFFER","toIndex","IEEE754","arrayFill","ARRAY_BUFFER","DATA_VIEW","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","ObjectPrototype","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","intIndex","conversion","NaN","ArrayBufferPrototype","testView","nativeSetInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","DataView","webpackPolyfill","paths","allowArrayLike","_e","normalCompletion","didErr","_e2","CONVERT_TO_STRING","fastKey","internalStateGetterFor","IS_MAP","ADDER","define","getEntry","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","originalArray","_unsupportedIterableToArray","minLen","_content_disposition","returnValues","contentEncoding","contentDisposition","filename","getFilenameFromContentDispositionHeader","UnexpectedResponseException","objectHas","compatibilityParams","isAndroid","isIOS","assertThisInitialized","_possibleConstructorReturn","checkCorrectnessOfIteration","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","pdfjsWorker","PDFAttachmentViewer","_appendAttachment","keepRenderedCapability","attachments","_renderedCapability","attachmentsCount","blobUrl","viewerUrl","downloadData","_ref2$keepRenderedCap","localeCompare","_bindPdfLink","PDFCursorTools","CursorTool","_grab_to_pan","SELECT","HAND","ZOOM","_ref$cursorToolOnLoad","activeBeforePresentationMode","handTool","GrabToPan","_addEventListeners","switchTool","tool","disableActiveTool","previouslyActive","switchInProgress","TO_ENTRIES","_isNativeReflectConstruct","Proxy","PasswordPrompt","submitButton","updateCallback","verify","promptString","PasswordResponses","INCORRECT_PASSWORD","PDFSidebar","SidebarView","UI_NOTIFICATION_CLASS","THUMBS","OUTLINE","ATTACHMENTS","LAYERS","pdfViewer","pdfThumbnailViewer","_ref$l10n","_ref$disableNotificat","disableNotification","isInitialViewSet","onToggled","outerContainer","viewerContainer","toggleButton","thumbnailButton","outlineButton","attachmentsButton","thumbnailView","outlineView","attachmentsView","_disableNotification","_hideUINotification","switchView","_switchView","forceOpen","isViewChanged","shouldForceRendering","_updateThumbnailViewer","_forceRendering","visibleView","forceRendering","getPageView","getThumbnail","setImage","scrollThumbnailIntoView","removeNotification","sidebarView","_showUINotification","isThumbnailViewVisible","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","$fill","wrappedWellKnownSymbolModule","NAME","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","typedArrayFrom","nativeDefineProperty","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","TypedArrayPrototype","fromList","klass","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","SimpleXMLParser","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrValue","attrEndChar","attrEndIndex","_resolveEntities","attrStart","ch2","onEndElement","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","isClosed","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeName","nodeValue","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","SecondaryToolbar","_pdf_cursor_tools","_pdf_single_page_viewer","mainContainer","toolbar","toolbarButtonContainer","presentationModeButton","openFileButton","printButton","downloadButton","viewBookmarkButton","firstPageButton","lastPageButton","pageRotateCwButton","pageRotateCcwButton","cursorSelectToolButton","eventDetails","cursorHandToolButton","scrollVerticalButton","scrollHorizontalButton","scrollWrappedButton","spreadNoneButton","spreadOddButton","spreadEvenButton","documentPropertiesButton","pageRotateCw","pageRotateCcw","opened","containerHeight","previousContainerHeight","_bindClickListeners","_bindCursorToolsListener","_bindScrollModeListener","_bindSpreadModeListener","_setMaxHeight","_updateUIState","_step$value","scrollModeChanged","isScrollModeHorizontal","spreadModeChanged","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","nBits","CanvasGraphics","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","_originalTransform","_originalSetTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","cosValue","cos","sinValue","sin","CachedCanvases","canvasFactory","trackTransform","canvasEntry","compileType3Glyph","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","data0","sum","outlines","pp","drawOutline","beginPath","jj","CanvasExtraState","alphaIsShape","patternFill","activeSMask","resumeSMaskCtx","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","imageLayer","stateStack","xobjs","groupStack","processingType3","baseTransformStack","smaskStack","smaskCounter","tempSMask","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","Uint32Array","dest32DataLength","fullSrcDiff","IsLittleEndianCached","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","fillRule","globalAlpha","globalCompositeOperation","composeSMaskBackdrop","g0","b0","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","composeFn","hasBackdrop","PIXELS_TO_PROCESS","chunkSize","chunkHeight","getImageData","composeSMask","smask","layer","NORMAL_CLIP","EO_CLIP","beginDrawing","_ref$transparency","transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","nextBreakPoint","breakIt","depObjId","endDrawing","endSMaskGroup","endLayout","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","getSinglePixelWidth","bezierCurveTo","consumePath","isPatternFill","needRestore","pendingTextPaths","addToPath","fontRefName","isType3Font","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","isAddToPathSet","getPathGenerator","fillText","strokeText","isFontSubpixelAAEnabled","_this$cachedCanvases$","showType3Text","glyphsLength","spacingDir","defaultVMetrics","simpleFillText","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","remeasure","measuredWidth","measureText","characterScaleX","spacingLength","isTextInvisible","INVISIBLE","charProcOperatorList","operatorListId","transformed","setCharWidth","xWidth","yWidth","setCharWidthAndBounds","llx","lly","urx","ury","getColorN_Pattern","patternIR","beginInlineImage","unreachable","beginImageData","beginGroup","isolated","knockout","getAxialAlignedBoundingBox","canvasBounds","endGroup","imageSmoothingEnabled","mozImageSmoothingEnabled","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","domImage","getCanvasPosition","appendImage","compiled","maskCanvas","paintImageMaskXObjectRepeat","positions","paintImageMaskXObjectGroup","images","paintImageXObjectRepeat","paintInlineImageXObjectGroup","imgToPaint","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","$find","FIND","SKIPS_HOLES","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","ownerDocument","ignoreTarget","onActiveChanged","_onmousedown","_onmousemove","_endPan","matchesSelector","CSS_CLASS_GRAB","originalTarget","scrollLeftStart","scrollTopStart","clientXStart","clientYStart","focusedElement","isLeftMouseReleased","xDiff","yDiff","behavior","isNotIEorIsIE10plus","documentMode","chrome","isChrome15OrOpera15plus","webstore","isSafari6plus","vendor","WebGLContext","_ref$enable","enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","coordsBuffer","colorsBuffer","PDFThumbnailViewer","_pdf_thumbnail_view","THUMBNAIL_SCROLL_MARGIN","THUMBNAIL_SELECTED_CLASS","_scrollUpdated","_thumbnails","prevThumbnailView","visibleThumbs","_getVisibleThumbs","numVisibleThumbs","PDFThumbnailView","thumbnail","disableCanvasToImageConversion","firstThumbnailView","thumbView","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","__w_pdfjs_require__","pdfjsCoreWorker","WorkerMessageHandler","WorkerTask","_primitives","_pdf_manager","_message_handler","_worker_stream","_core_utils","terminated","_capability","finished","finish","terminate","ensureNotTerminated","setup","testMessageProcessed","supportTransfers","postMessageTransfers","setVerbosityLevel","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","enumerableProperties","docId","workerHandlerName","MessageHandler","startWorkerTask","finishWorkerTask","loadDocument","_loadDocument","recoveryMode","_yield$Promise$all","_yield$Promise$all2","fingerprint","ensureDoc","getPdfManager","evaluatorOptions","pdfManagerCapability","LocalPdfManager","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","sendProgressiveData","flushChunks","pdfFile","arraysToBytes","readPromise","readChunk","arrayByteLength","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","sendWithPromise","updatePassword","pdfManagerReady","InvalidPDFException","UnknownErrorException","XRefParseException","requestLoadedStream","onLoadedStream","nativeImageDecoderSupport","ignoreErrors","newPdfManager","ensure","Ref","gen","catalog","getPageIndex","ensureCatalog","xref","getAnnotationsData","sink","VerbosityLevel","INFOS","operatorListInfo","featureId","UNSUPPORTED_FEATURES","onPull","desiredSize","onCancel","extractTextContent","combineTextItems","fontFallback","waitOn","cleanupPromise","clearPrimitiveCaches","initializeFromPort","isMessagePort","maybePort","bytesToString","isArrayEqual","isBool","isEmptyObj","isSameOrigin","createValidAbsoluteUrl","string32","stringToPDFString","stringToUTF8String","utf8StringToString","IsEvalSupportedCached","StreamType","PermissionFlag","NativeImageDecoding","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","STREAM","nextLineShowText","nextLineSetSpacingShowText","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setFillColor","setStrokeGray","setFillGray","setStrokeCMYKColor","setFillCMYKColor","endInlineImage","forms","javaScript","shadingPattern","NEED_PASSWORD","cond","otherUrl","other","_isValidProtocol","absoluteUrl","_BaseException","_BaseException2","_BaseException3","_BaseException4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","resultLength","itemLength","buffer8","view32","rgbBuf","m1","m2","xt","yt","p4","transpose","rect1","rect2","orderedX","orderedY","normalizeRect","PDFStringTranslateTable","escape","arr1","capability","isSettled","digits","b1","b2","b3","d1","d2","d3","d4","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","RefSetCache","RefSet","Name","Dict","Cmd","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getArray","getRaw","getKeys","dictArray","mergedDict","dict","refCache","refValue","put","putAlias","aliasRef","v1","v2","getBytes","_chunked_stream","_document","BasePdfManager","_ensure","_x4","_password","_docId","_docBaseUrl","_BasePdfManager","_super8","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_x5","_x6","_x7","_BasePdfManager2","_super9","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee5","_context5","MissingDataException","requestRange","_x8","_x9","_x10","requestAllChunks","onReceiveData","ChunkedStream","manager","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","ensureByte","getByte","forceClamped","strEnd","ensureRange","_subarray","Uint8ClampedArray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","_loadedStreamCapability","_this7","getRangeReader","chunkData","_requestChunks","requestId","chunksNeeded","_chunk","hasChunk","chunksToRequest","groupedChunksToRequest","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","_chunk2","requestIds","nextEmptyChunk","lastChunk","_i4","_loadedRequests","_requestId","getLookupTableFactory","getInheritableProperty","toRomanNumerals","log2","readInt8","readUint16","readUint32","isWhiteSpace","XRefEntryException","initializer","_super10","_this8","_util$BaseException2","_super11","_util$BaseException3","_super12","_ref4$getArray","_ref4$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","box","_getInheritableProperty","streams","_stream2","fetchIfRef","StreamsSequenceStream","NullStream","_this9","objectLoader","ObjectLoader","resources","load","_this10","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","dataPromises","pageListPromise","contentStream","OperatorList","hasBlendModes","_parsedAnnotations","_ref9","_ref10","pageOpList","annotations","totalLength","opListPromises","opLists","addOp","addOpList","_ref11","_this11","_ref12","_ref13","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","_this12","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","signature","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","PDFFunctionFactory","_pagePromises","catDict","pdfFormatVersion","acroForm","xfa","moveStart","MAX_PDF_VERSION_LENGTH","setStartXRef","startXRef","Catalog","linearization","pageFirst","objectNumberFirst","pageKidsCountCache","getPageDict","_this13","_getLinearizationPage","_ref14","_ref15","_this14","_ref16","_callee6","_context6","_x11","_cleanup","_callee7","_context7","Linearization","startXRefLength","DocumentInfoValidators","Trapped","infoDict","docInfo","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","_step8","_iterator8","customValue","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","fetchDestination","getCatalogObj","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","rgbColor","ColorSpace","singletons","getRgb","outlineItem","unsafeUrl","encrypt","permissions","destinationId","_readDests","NameTree","pageLabels","numberTree","NumberTree","nums","getAll","currentLabel","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","charBuf","translatedFonts","_step9","_iterator9","translatedFont","_this15","_step10","_iterator10","translated","nodesToVisit","visitedNodes","currentPageIndex","currentNode","kids","_ret","pageRef","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args8","streamRef","encryptMetadata","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","_this16","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openAction","nameTree","serializable","appendIfJavaScriptDict","jsDict","js","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionType","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","xrefstms","_cacheMap","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","TAB","LF","CR","PERCENT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_i5","_num","fetchIfRefAsync","_this17","_callee8","_context8","_this18","_callee9","_context9","NameOrNumberTree","_type","_i6","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_super13","_NameOrNumberTree2","_super14","contentAvailable","pickPlatformItem","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","_i7","_ii2","refSet","_this19","_callee10","_context10","_walk","_this20","_callee11","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i8","_ii3","_context11","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref17","_ref17$allowStreams","_ref17$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","E","I","NUL","followingBytes","endOffset","peekByte","markerLength","foundEOI","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","SCAN_BLOCK_LENGTH","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","_hexStringNumWarn","currentChar","eNotation","divideBy","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","MAX_HEX_STRING_NUM_WARN","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_subarray2","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","predictor","readBlockTiff","readBlockPng","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","compArray","bitMask","kk","prevRow","upLeft","pa","pb","decrypt","nextChunk","initialized","hasMoreData","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","eoblock","codingLine","refLine","codingPos","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","_util$BaseException4","_super15","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","ArithmeticDecoder","SegmentTypes","CodingTemplates","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","_i9","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","symbolRow","offsetT","offsetS","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","collectiveWidth","patterns","patternBitmap","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","_i10","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","_i11","_codeLength","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","dictHeight","validDimensions","foundSOF","scanLines","getIR","JpegError","_util$BaseException5","_super16","DNLMarkerError","_util$BaseException6","_super17","_this21","EOIMarkerError","_util$BaseException7","_super18","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref18","_ref18$decodeTransfor","_ref18$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","blocksPerLine","decodeScan","frame","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","decodeHuffman","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","blockData","pred","rs","huffmanTableAC","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","currentPos","maxPos","newPos","currentMarker","newMarker","_ref19","_ref19$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_isColorConversionNeeded","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref20","_ref20$forceRGB","_ref20$isSourcePDF","rgbData","grayColor","_jpx","jpxImage","JpxImage","tileCount","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","_util$BaseException8","_super19","SubbandsGainLog2","LL","LH","HL","HH","failOnCorruptedImage","calculateComponentDimensions","siz","XOsiz","XRsiz","Xsiz","YOsiz","YRsiz","Ysiz","calculateTileGrids","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","posY","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","mb","reversible","segmentationSymbolUsed","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","mu","epsilon","gainLog2","transformComponents","resultImages","transformedTiles","tile0","out","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","stopValue","propagateValues","levelIndex","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","beta","gamma","K_","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","littleSigmaPrime","h4","h5","h6","h7","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_s","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_j3","_j4","s0","s1","s3","_j5","_j6","_j7","_j8","_j9","_j10","finalize","sourceLength","iv","_decrypt","outputLength","lastBlock","psLen","_i12","_i13","_j11","_ii4","_decryptBlock2","cipher","_encrypt","_i14","_j12","_AESBaseCipher","_super20","_this22","_rcon","_expandKey","rcon","t4","_AESBaseCipher2","_super21","_this23","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","remainder","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","_i15","numComps","srcOffset","getRgbItem","destOffset","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","_i17","_i16","_destPos","_rgbPos","_i18","parseToIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","_super22","_this24","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","tinted","getOutputLength","_ColorSpace2","_super23","baseCS","_this25","_ColorSpace3","_super24","highVal","_this26","outputDelta","lookupPos","_ColorSpace4","_super25","_ColorSpace5","_super26","convertToRgb","srcScale","_ColorSpace6","_super27","AG","G","L","YW","_ColorSpace7","_super28","_this27","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","_super29","_this28","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super30","_this29","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","getTransformMatrix","_util$Util$getAxialAl","_util$Util$getAxialAl2","setContents","setModificationDate","setFlags","setRectangle","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","flag","_hasFlag","dictType","setWidth","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","_this30","appearanceDict","_isViewable","_isPrintable","horizontalCornerRadius","verticalCornerRadius","_step11","allZeros","_iterator11","validNumber","_Annotation","_super31","_this31","rawIRT","inReplyTo","replyType","setCreationDate","hasPopup","_Annotation2","_super32","_this32","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","_WidgetAnnotation","_super33","_this33","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","_super34","_this34","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","hasCorrectOptionCount","exportValue","buttonValue","fieldParent","fieldParentValue","_step12","_iterator12","_WidgetAnnotation3","_super35","_this35","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_super36","_this36","DEFAULT_ICON_SIZE","stateModel","_Annotation3","_super37","_this37","_Annotation4","_super38","_this38","parentItem","parentSubtype","parentType","rawParent","parentFlags","_MarkupAnnotation2","_super39","_this39","_MarkupAnnotation3","_super40","_this40","lineCoordinates","_MarkupAnnotation4","_super41","_this41","_MarkupAnnotation5","_super42","_this42","_MarkupAnnotation6","_super43","_this43","rawVertices","vertices","_PolylineAnnotation","_super44","_this44","_MarkupAnnotation7","_super45","_this45","_MarkupAnnotation8","_super46","_this46","originalInkLists","inkLists","_MarkupAnnotation9","_super47","_this47","_MarkupAnnotation10","_super48","_this48","_MarkupAnnotation11","_super49","_this49","_MarkupAnnotation12","_super50","_this50","_MarkupAnnotation13","_super51","_this51","_MarkupAnnotation14","_super52","_this52","QueueOptimizer","addState","parentState","checkFn","iterateFn","processFn","handlePaintSolidColorImageMask","iFirstSave","iFirstPIMXO","imageMask","InitialState","iCurr","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","_streamSink","optimizer","_totalLength","weight","_resolved","addDependency","addDependencies","_transfers","transfers","cached","enqueue","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image_utils","_image","DefaultPartialEvaluatorOptions","_ref21","_this53","_ref21$options","parsingType3Font","fetchBuiltInCMap","_ref22","_callee12","_context12","sendWithStream","pump","_ref23","_x12","TIME_SLOT_DURATION_MS","CHECK_TIME_EVERY","TimeSlotManager","normalizeBlendMode","parsingArray","maybeBM","deferred","TILING_PATTERN","SHADING_PATTERN","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","_i19","_ii5","_key2","xObject","xResources","buildFormXObject","xobj","initialState","_this54","_callee13","groupOptions","groupSubtype","colorSpace","_context13","parseColorSpace","buildPaintImageXObject","_ref24","_this55","_callee14","_ref24$isInline","isInline","_ref24$forceDisableNa","forceDisableNativeImageDecoder","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","nativeImageDecoder","imgPromise","_context14","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","NativeImageDecoder","isSupported","maybeValidDimensions","buildImage","nativeDecoder","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","handleTilingType","patternDict","_this56","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","_this57","loadFont","loadType3Data","TranslatedFont","ErrorFont","handleText","chars","charsToGlyphs","fillColorSpace","buildFontPaths","ensureStateFont","gState","_this58","gStateObj","gStateKeys","_loop2","_this59","errorFont","fontRes","partialMsg","getFallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","xrefFontStats","fontFile3","getFontType","buildPath","parsingText","opArgs","_ref25","_this60","handleColorN","_this61","_callee15","patternName","typeNum","shading","_context15","Pattern","parseShading","_ref26","_this62","_ref26$initialState","EvalState","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","dictName","extGState","_ref27","_this63","_ref27$stateManager","_ref27$normalizeWhite","_ref27$combineTextIte","_ref27$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContentItem","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","skipEmptyXObjs","ensureTextContentItem","ascent","descent","tsm","glyphHeight","trm","ctm","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","buildTextContentItem","glyphWidth","glyphUnicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","addFakeSpaces","tx","ty","w0","translateTextMatrix","fakeSpaces","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","cidToGidBytes","_this64","toUnicode","toUnicodePromise","readToUnicode","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","getUnicodeForGlyph","baseEncoding","fromCodePoint","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","ucs2","IdentityToUnicodeMap","firstChar","lastChar","_this65","cmapObj","cmap","getMap","glyphsData","glyphID","extractWidths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","diffLength","diffBuf","diffEntry","hexdigest","_this66","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","hasBuiltPath","getPathJs","_step13","_iterator13","_fallbackFontDict","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","_loop3","glyphStream","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","MAX_INVALID_PATH_OPS","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","dst","_i20","nn","codespaceRange","_CMap","_super53","_this67","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","processBinaryCMap","readByte","sequence","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","sp","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","_callee16","_context16","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","tablesNames","tableName","numTables","tableOffsets","checksum","quad","addTable","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","_ref28","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","usWinAscent","createOS2Table","charstrings","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","ID","FontRendererFactory","_this68","nonStdFontMap","getNonStdFontMap","isStandardFont","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","VALID_TABLES","readTables","readTableEntry","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","destStart","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","missingGlyphs","simpleGlyph","firstEntryLength","readPostScriptTable","maxpNumGlyphs","glyphNames","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_i21","_i22","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","hmtx","charstring","_shadowWidth","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","getByName","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","pair","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","_ref29","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","predefined","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","opcodes","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","getSpecialPUASymbols","hexStr","nameLen","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","codePointAt","compileGlyf","cmds","quadraticCurveTo","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","startPoint","contour","compileCharString","stems","yb","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","_super54","_this69","Type2Compiled","_CompiledFont2","_super55","cffInfo","_this70","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","lsb","flexing","wx","sbx","executeCommand","dy","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","decrypted","decryptAscii","digit1","digit2","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","blueArray","charString","charStringObject","_index","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","Shadings","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r2","distance","fnObj","createFromArray","NUMBER_OF_SAMPLES","ratio","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","operators","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","decodeType5Shading","bitsPerFlag","bitsPerCoordinate","xi","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","splitYBy","figureCoords","figureColors","cl","cr","c0","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","highestLevel","lowestOddLevel","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref30","_ref30$isEvalSupporte","PDFFunction","parseArray","toNumberArray","_i23","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","_ref31","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","_ref32","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","_ref33","_ref34","_ref35","toMultiArray","inputSize","samples","_ref36","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","_ref37","_ref38","_ref39","fnRefs","_ref40","dmin","dmax","rmin","rmax","_ref41","PostScriptLexer","PostScriptParser","_ref42","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","roll","operator","atan","LN10","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","variable","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","_i24","hex1","hex2","_ref43","_ref43$forceDataSchem","isDecodable","_ref44","handleImageData","canDecode","decodeAndClamp","addend","coefficient","resizeImageMask","_ref45","_ref45$isInline","_ref45$smask","_ref45$mask","_ref45$isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","_ref46","smaskPromise","maskPromise","_ref46$isInline","_ref46$nativeDecoder","imagePromise","_ref47","_ref48","imageData","smaskData","_ref49","computedLength","haveFullData","decodeBuffer","getComponents","bufferPos","buf","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","sh","fillGrayBuffer","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","_this71","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","_sourceName","_targetName","_createStreamSink","ah","_postMessage","queueingStrategy","_this72","startCapability","startCall","pullCall","cancelCall","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","_deleteStreamController","_deleteStreamController2","_callee17","_context17","allSettled","_x13","_msgHandler","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_this73","_headersReady","_callee18","_context18","_callee19","_context19","newPromiseCapabilityModule","perform","promiseResolve","alreadyCalled","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","$padEnd","quot","locals","BasePreferences","defaultPreferences","getDefaultPreferences","_initializedPromise","_readFromStorage","_writeToStorage2","prefObj","_writeToStorage","_readFromStorage2","_set","defaultType","_getAll","_typeof2","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","_require","setPDFNetworkStreamFactory","PDFNetworkStream","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","subClass","superClass","_pdfjsCompatibilityChecked","hasDOM","isIE","atob","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","tokens","_tokens","_len2","_tokens2","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","isReadableStreamSupported","WeakSet","nativePropertyIsEnumerable","PREFERRED_STRING","entryUnbind","_Symbol","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","ACCESSORS","_NullProtoObject","thrower","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TAG","INCORRECT_ITERATION","returnMethod","ArrayIteratorMethods","ArrayValues","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","microtask","hostReportErrors","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","reactions","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","$promiseResolve","race","macrotask","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","NON_GENERIC","real","getIterator","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","sequences","percentSequence","percentDecode","deserialize","serialize","parseSearchParams","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","entriesIndex","sliceIndex","SymbolPolyfill","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","ArrayBufferCopy","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","_forAuthorCode","_ownerReadableStream","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","DequeueValue","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","isDOMExceptionConstructor","ctor","createDOMExceptionPolyfill","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","shuttingDown","currentWrite","shutdownWithAction","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","newError","isError","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","headOfQueue","bytesToCopy","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","pipeThrough","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","FREEZING","METADATA","setMetadata","objectID","weakData","getWeakData","onFreeze","meta","preventExtensions","ArrayIterationModule","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","nativeFromCodePoint","INCORRECT_LENGTH","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","SYMBOL","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","$getOwnPropertySymbols","$create","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","$replacer","_Symbol3","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","PDFPageProxy","PDFDocumentProxy","_regenerator","_interopRequireDefault","_font_loader","_api_compatibility","_canvas","_worker_options","_metadata","_transport_stream","_webgl","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","asyncGeneratorStep","_throw","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","rangeTransport","worker","pdfBytes","CMapReaderFactory","stopAtErrors","NativeImageDecoderValues","workerParams","fromPort","_worker","_fetchDocument","workerId","networkStream","PDFDataTransportStream","initialData","progressiveDone","messageHandler","transport","WorkerTransport","_transport","pdfDataRangeTransport","nextDocumentId","onPassword","onUnsupportedFeature","transportDestroyed","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_pdfInfo","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getPermissions","downloadInfoCapability","getStats","startCleanup","loadingTask","_pageIndex","_pageInfo","_stats","_pdfBug","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref$rotation","_ref$offsetX","_ref$offsetY","_ref$dontFlip","_ref2$intent","annotationsPromise","annotationsIntent","getAnnotations","_ref3$intent","_ref3$enableWebGL","_ref3$renderInteracti","_ref3$transform","_ref3$imageLayer","_ref3$canvasFactory","_ref3$background","renderingIntent","intentState","streamReaderCancelTimeout","canvasFactoryInstance","displayReadyCapability","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref4$normalizeWhites","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","_textContent$items","pageCache","renderCompleted","resetStats","operatorListChunk","streamReader","_renderPageChunk","_ref7$force","_defer","_deferred","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","setupFakeWorkerGlobal","_callee$","eval","createCDNWrapper","_ref9$name","_ref9$port","_ref9$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","Worker","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","workerHandler","fontLoader","FontLoader","_onUnsupportedFeature","_params","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","headersCapability","fullReader","_numPages","exception","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","pageProxy","MAX_IMAGE_SIZE_TO_STORE","_data3","rgbaLength","fetched","Metadata","cleanupSuccessful","_objs","resolved","_ensureObj","RenderTask","_internalRenderTask","canvasInRendering","_ref14$useRequestAnim","_ref14$pdfBug","operatorListIdx","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","StepperManager","getNextBreakPoint","_this$params","gfx","updateOperatorList","_next2","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","displayName","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootEntry","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","accidentalStrictMode","BaseFontLoader","nativeFontFaces","nativeFontFace","fonts","sheet","insertRule","cssRules","_bind","attached","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","spliceString","chunk1","chunk2","isFontReady","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","visibility","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","FontFace","isIOSChrome","_xml_parser","_repair","xmlDocument","_metadataMap","rdf","_superPropBase","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","requestDataRange","_requests","requestCapability","_end","_queuedChunk","requestsCapability","_removeRangeReader","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingLeft","_textDivs","_textDivProperties","_viewport","fontHeight","fontAscent","_fontInspectorEnabled","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","textDivs","textDivsLength","_renderingDone","expandBounds","divProperties","ts","findPositiveMin","boxScale","boxes","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","_createContainer","borderWidth","horizontalRadius","verticalRadius","borderRadius","borderBottomStyle","trigger","popupElement","PopupElement","hideWrapper","_AnnotationElement","_bindNamedAction","destination","getAnchorUrl","executeNamedAction","_AnnotationElement2","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","TEXT_ALIGNMENT","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","optionElement","_AnnotationElement4","IGNORE_TYPES","parentLeft","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","_formatContents","_toggle","_show","_hide","pin","unpin","_AnnotationElement5","_AnnotationElement6","_AnnotationElement7","square","_AnnotationElement8","_AnnotationElement9","containerClassName","svgElementName","coordinate","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","_download","sortedAnnotations","popupAnnotations","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_sortedAnnotations","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_Util$applyTransform","_Util$applyTransform2","_Util$applyTransform3","_Util$applyTransform4","_Util$singularValueDe","_Util$singularValueDe2","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_validateRangeRequest","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","textdecode","TextDecoder","fatal","_match","_match2","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","xhrId","pendingRequest","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_close","getCurrentScript","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","scriptLocation","currentLocation","scripts","superPropBase","PDFLinkService","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","_ignoreDestinationZoom","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","pushCurrentPosition","phraseSearch","nameddest","zoomArgs","zoom","zoomArg","zoomArgNumber","pagemode","isValidExplicitDestination","back","forward","refStr","isPageVisible","destLength","allowNull","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","isLE","mLen","nBytes","eLen","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","re","charsAdded","strCopy","OverlayManager","_overlays","_active","_keyDownBound","_keyDown","_register","callerCloseMethod","canForceClose","_unregister","_open","_closeThroughCaller","$copyWithin","DefaultTextLayerFactory","EXPAND_DIVS_TIMEOUT","_ref$findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","_finishRendering","_updateMatches","matchesLength","iIndex","queryLen","matchIdx","divIdx","isSelectedPage","selectedMatchIdx","highlightAll","prevEnd","infinity","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","fromOffset","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","expandDivsTimer","adjustTop","divBounds","pageY","GenericL10n","webL10n","_lang","_ready","setLanguage","_getLanguage","_getDirection","_translate","isDestHashesEqual","isDestArraysEqual","PDFHistory","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","_isPagesLoaded","onPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","checkReload","_performance$getEntri","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","firstDest","secondDest","isEntryEqual","RE","nativeJoin","ES3_STRINGS","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","$every","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","maxCode","NumberWrapper","dotAll","FunctionPrototypeToString","nameRE","$toLocaleString","TO_LOCALE_STRING_BUG","DefaultAnnotationLayerFactory","_ref$imageResourcesPa","_ref$renderInteractiv","_cancelled","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","hi","lo","nativeKeys","thisNumberValue","nativeToFixed","fractionDigits","fractDigits","multiply","divide","dataToString","DownloadManager","DISABLE_CREATE_OBJECT_URL","download","_ref$disableCreateObj","msSaveBlob","downloadUrl","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","getL10nDictionary","getTranslatableChildren","getL10nAttributes","xhrLoadText","overrideMimeType","parseResource","successCallback","failureCallback","evalString","parseProperties","parsedPropertiesCallback","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","default_locale","anyCaseLang","getPluralRules","locales2rules","isIn","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","macro","reArgs","matched_text","translateElement","getChildElementCount","textNode","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","rtlList","shortCode","getReadyState","_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_pdf_viewer_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","arrayBufferModule","FIND_INDEX","non","nativeIsExtensible","$indexOf","nativeIndexOf","NEGATIVE_ZERO","$reduce","__nativePrint__","print","PDFPrintService","_app","_app_options","activeService","renderPage","activeServiceOnEntry","PRINT_RESOLUTION","PRINT_UNITS","printContainer","throwIfInactive","hasEqualPageSizes","pageStyleSheet","ensureOverlay","renderPages","renderNextPage","renderProgress","useRenderedPage","printItem","toBlob","toDataURL","performPrint","overlayPromise","eventType","progressContainer","progressBar","progressPerc","metaKey","altKey","opera","stopImmediatePropagation","stopPropagationIfNeeded","PDFViewerApplication","PDFPrintServiceFactory","supportsPrinting","createPrintService","nativePreventExtensions","Toolbar","PAGE_NUMBER_LOADING_INDICATOR","SCALE_SELECT_CONTAINER_WIDTH","SCALE_SELECT_WIDTH","zoomIn","zoomOut","openFile","viewBookmark","scaleSelectContainer","scaleSelect","customScaleOption","_wasLocalized","_bindListeners","hasPageLabels","pageScaleValue","pageScale","updateLoadingIndicatorState","_this$items","oncontextmenu","_adjustScaleWidth","resetNumPages","customScale","predefinedValueFound","pageNumberInput","_adjustScaleWidth2","predefinedValuesPromise","_getComputedStyle","predefinedValue","_ctx$measureText","IS_RIGHT","memo","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","forceStringMethod","stringMethod","regexMethod","PDFSidebarResizer","SIDEBAR_WIDTH_VAR","SIDEBAR_MIN_WIDTH","SIDEBAR_RESIZING_CLASS","isRTL","sidebarOpen","_width","_outerContainerWidth","resizer","CSS","supports","outerContainerWidth","_updateWidth","mouseMove","mouseUp","_mouseMove","_mouseUp","updated","nativeFreeze","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","relative","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState","MAX_NUM_SCALING_STEPS","THUMBNAIL_CANVAS_BORDER_WIDTH","THUMBNAIL_WIDTH","TempImageFactory","tempCanvasCache","tempCanvas","destroyCanvas","_ref$disableCanvasToI","pageRatio","canvasHeight","_thumbPageTitle","ring","borderAdjustment","noCtxScale","_thumbPageCanvas","finishRenderTask","_convertCanvasToImage","_getPageDrawContext","drawViewport","reducedWidth","reducedHeight","reducedImage","reducedImageCtx","GenericCom","_preferences","_download_manager","_genericl10n","GenericPreferences","_preferences$BasePref","localStorage","setItem","getItem","GenericExternalServices","_app$DefaultExternalS","_ref$locale","DefaultExternalServices","externalServices","PDFFindBar","_pdf_find_controller","MATCHES_COUNT_LIMIT","findField","highlightAllCheckbox","caseSensitive","caseSensitiveCheckbox","entireWord","entireWordCheckbox","findMsg","findResultsCount","findPreviousButton","findNextButton","_adjustWidth","updateUIState","findPrev","findPrevious","matchesCount","FindState","FOUND","NOT_FOUND","updateResultsCount","_ref$current","_ref$total","matchesCountMsg","findbarHeight","inputContainerHeight","ViewHistory","DEFAULT_VIEW_HISTORY_CACHE_SIZE","cacheSize","databaseStr","database","branch","_setMultiple","setMultiple","_getMultiple","getMultiple","nativeLastIndexOf","_pdf_sidebar","_overlay_manager","_password_prompt","_pdf_attachment_viewer","_pdf_document_properties","_pdf_find_bar","_pdf_history","_pdf_outline_viewer","_pdf_presentation_mode","_pdf_sidebar_resizer","_pdf_thumbnail_viewer","_pdf_viewer","_secondary_toolbar","_toolbar","_view_history","DEFAULT_SCALE_DELTA","DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT","FORCE_PAGES_LOADED_TIMEOUT","WHEEL_ZOOM_DISABLED_TIMEOUT","ViewOnLoad","PREVIOUS","callbacks","validateFileURL","initialBookmark","_initializedCapability","fellback","appConfig","pdfLoadingTask","printService","pdfRenderingQueue","pdfPresentationMode","pdfDocumentProperties","pdfLinkService","pdfSidebar","pdfSidebarResizer","pdfOutlineViewer","pdfAttachmentViewer","pdfCursorTools","preferences","secondaryToolbar","downloadComplete","isViewerEmbedded","initialize","appContainer","createPreferences","_readPreferences","_parseHashParameters","_initializeL10n","_initializeViewerComponents","bindEvents","bindWindowEvents","hashParams","loadFakeWorker","loadAndEnablePDFBug","createL10n","onIdle","createDownloadManager","PDFFindController","sidebar","setThumbnailViewer","setHistory","supportsIntegratedFind","findBar","documentProperties","supportsFullscreen","PDFPresentationMode","contextMenuItems","passwordPrompt","passwordOverlay","sidebarResizer","webViewerInitialized","initializedPromise","ticks","zoomReset","printing","support","requestFullscreen","mozRequestFullScreen","webkitRequestFullScreen","msRequestFullscreen","fullscreenEnabled","mozFullScreenEnabled","webkitFullscreenEnabled","msFullscreenEnabled","supportsDocumentFonts","loadingBar","supportedMouseWheelZoomModifierKeys","initPassiveLoading","setTitleUsingUrl","setTitle","errorWrapper","PDFBug","workerParameters","apiParameters","_value","originalUrl","setFileSize","setUpdateCallback","loadingErrorMessage","downloadByUrl","moreInfo","moreInfoText","errorWrapperConfig","errorMessage","errorMoreInfo","moreInfoButton","lessInfoButton","disableAutoFetchLoadingBarTimeout","pageLayoutPromise","pageModePromise","openActionPromise","setPagesCount","baseDocumentUrl","onePageRendered","pagesPromise","storePromise","spreadMode","_ref4$","_initializePdfHistory","initialDest","apiPageModeToSidebarView","apiPageLayoutToSpreadMode","setInitialView","numLabels","setPageLabels","setPageNumber","currentPageLabel","triggerAutoPrint","pdfTitle","documentInfo","infoTitle","metadataTitle","versionId","KNOWN_VERSIONS","generatorId","KNOWN_GENERATORS","formType","reportTelemetry","_ref7$initialDest","initialRotation","storedHash","setRotation","setViewerModes","isThumbnailViewEnabled","beforePrint","pageViewsReady","getPagesOverview","notReadyMessage","alert","printMessage","afterPrint","rotatePages","newRotation","requestPresentationMode","webViewerResize","webViewerHashchange","webViewerPageRendered","webViewerUpdateViewarea","webViewerPageChanging","webViewerScaleChanging","webViewerRotationChanging","webViewerSidebarViewChanged","webViewerPageMode","webViewerNamedAction","webViewerPresentationModeChanged","webViewerPresentationMode","webViewerPrint","webViewerDownload","webViewerFirstPage","webViewerLastPage","webViewerNextPage","webViewerPreviousPage","webViewerZoomIn","webViewerZoomOut","webViewerZoomReset","webViewerPageNumberChanged","webViewerScaleChanged","webViewerRotateCw","webViewerRotateCcw","webViewerSwitchScrollMode","webViewerScrollModeChanged","webViewerSwitchSpreadMode","webViewerSpreadModeChanged","webViewerDocumentProperties","webViewerFind","webViewerFindFromUrlHash","webViewerUpdateFindMatchesCount","webViewerUpdateFindControlState","webViewerFileInputChange","webViewerOpenFile","windowResize","windowHashChange","windowBeforePrint","windowAfterPrint","webViewerVisibilityChange","webViewerWheel","webViewerClick","webViewerKeyDown","unbindEvents","unbindWindowEvents","webViewerOpenFileViaURL","HOSTED_VIEWER_ORIGINS","_loadFakeWorker","getWorkerSrc","enabledTabs","debuggerScriptPath","queryString","openFileInputName","FileReader","dataTransfer","dropEffect","viewFind","Stats","popStateInProgress","updateFindMatchesCount","updateFindControlState","setPageScale","visibilityState","setZoomDisabledTimeout","viewerOrigin","_URL","fileReader","readAsArrayBuffer","zoomDisabledTimeout","previousScale","MOUSE_WHEEL_DELTA_PER_PAGE_SCALE","scaleCorrectionFactor","dx","containsElement","handled","ensureViewerFocused","isViewerInPresentationMode","findState","curElement","curElementTagName","turnPage","turnOnlyIfPageFit","isVerticalScrollbarEnabled","isHorizontalScrollbarEnabled","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","ARRAY","exportTypedArrayStaticMethod","CLEANUP_TIMEOUT","highestPriorityPage","idleTimeout","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","_pdf_find_utils","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","_linkService","_eventBus","_onFindBarClose","_pdfDocument","_shouldDirtyMatch","_dirtyMatch","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","prevElem","matchLength","startIdx","endIdx","_limit","pageContent","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this$_selected","_requestMatchesCount","_rawQuery","_normalizedQuery","_vm","_h","_self","localTheme","_v","showElem","expression","isToolbarHidden","isSidebarToolbarHidden","_t","slotProps","$event","bindOpenHandler","getScale","__decorate","decorators","decorate","external_commonjs_vue_commonjs2_vue_root_Vue_","external_commonjs_vue_commonjs2_vue_root_Vue_default","vue_class_component_esm_typeof","_defineProperty","reflectionIsSupported","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","forwardMetadata","metaKeys","getOwnMetadata","fakeArray","hasProto","createDecorator","__decorators__","isPrimitive","collectDataFromConstructor","Component","originalInit","_init","plainData","$internalHooks","componentFactory","superProto","Extended","forwardStaticMembers","shouldIgnore","caller","Original","extendedDescriptor","superDescriptor","vue_class_component_esm_Component","registerHooks","vue_class_component_esm","reflectMetadataIsSupported","applyMetadata","Prop","Watch","app_options","PDF_FILE_INPUT_ID","getEl","pdf_config","idConfig","toggleFindbar","presentationMode","cursorSelectTool","cursorHandTool","scrollVertical","scrollHorizontal","scrollWrapped","spreadNone","spreadOdd","spreadEven","contextFirstPage","contextLastPage","contextPageRotateCw","contextPageRotateCcw","sidebarToggle","viewThumbnail","viewOutline","viewAttachments","findbar","findInput","findHighlightAll","findMatchCase","findEntireWord","findMessage","findNext","annotation_date_string","attachments_label","bookmark_label","bookmark","cursor_hand_tool_label","cursor_hand_tool","cursor_text_select_tool_label","cursor_text_select_tool","document_outline_label","document_outline","document_properties_author","document_properties_close","document_properties_creation_date","document_properties_creator","document_properties_date_string","document_properties_file_name","document_properties_file_size","document_properties_kb","document_properties_keywords","document_properties_label","document_properties_linearized_no","document_properties_linearized_yes","document_properties_linearized","document_properties_mb","document_properties_modification_date","document_properties_page_count","document_properties_page_size_dimension_name_string","document_properties_page_size_dimension_string","document_properties_page_size_name_a3","document_properties_page_size_name_a4","document_properties_page_size_name_legal","document_properties_page_size_name_letter","document_properties_page_size_orientation_landscape","document_properties_page_size_orientation_portrait","document_properties_page_size_unit_inches","document_properties_page_size_unit_millimeters","document_properties_page_size","document_properties_producer","document_properties_subject","document_properties_title","document_properties_version","document_properties","download_label","error_close","error_file","error_less_info","error_line","error_message","error_more_info","error_stack","error_version_info","find_entire_word_label","find_highlight","find_input","find_match_case_label","find_match_count_limit","find_match_count","find_next_label","find_next","find_not_found","find_previous_label","find_previous","find_reached_bottom","find_reached_top","findbar_label","first_page_label","first_page","invalid_file_error","last_page_label","last_page","loading_error_indicator","loading_error","missing_file_error","next_label","of_pages","open_file_label","open_file","page_canvas","page_of_pages","page_rotate_ccw_label","page_rotate_ccw","page_rotate_cw_label","page_rotate_cw","page_scale_actual","page_scale_auto","page_scale_fit","page_scale_percent","page_scale_width","password_cancel","password_invalid","password_label","password_ok","presentation_mode_label","presentation_mode","previous_label","print_label","print_progress_close","print_progress_message","print_progress_percent","printing_not_ready","printing_not_supported","rendering_error","scroll_horizontal_label","scroll_horizontal","scroll_vertical_label","scroll_vertical","scroll_wrapped_label","scroll_wrapped","spread_even_label","spread_even","spread_none_label","spread_none","spread_odd_label","spread_odd","text_annotation_type","thumb_page_canvas","thumb_page_title","thumbs_label","thumbs","toggle_sidebar_label","toggle_sidebar_notification","toggle_sidebar","tools_label","tools","unexpected_response_error","web_fonts_disabled","zoom_in_label","zoom_in","zoom_out_label","zoom_out","toolbarConfig","secondaryPresentationMode","secondaryOpenFile","secondaryPrint","secondaryDownload","secondaryViewBookmark","toolbarViewerLeft","toolbarViewerRight","toolbarViewerMiddle","toolbar_config_getToolbarConfigValue","currValue","themeCacheKey","errorHandler","pdfPrint","pdf_viewervue_type_script_lang_ts_PdfViewer","_Vue","PdfViewer","isOpenHandlerBinded","isSidebarHidden","isFindbarHidden","cacheTheme","destroyPdf","addPrintContainer","setDefaultPageScale","bindSidebarToggleEvents","bindFindbarToggleEvents","checkSidebarVisibility","checkFindbarVisibility","fileInputHandler","_pdfApp$PDFViewerAppl","openDocument","clearCacheTimeout","pdf","_pdfApp$PDFViewerAppl2","fileMetadata","_openDocument","_pdfApp$PDFViewerAppl3","_pdfApp$PDFViewerAppl4","resetLoadingBar","_pdfApp$PDFViewerAppl5","_pdfApp$PDFViewerAppl6","printElId","_pdfApp$PDFViewerAppl7","newTheme","_pdfApp$PDFViewerAppl8","cacheTimeoutId","defaultToolbarPath","customToolbarElem","_this$idConfig","_this$idConfig2","_this$idConfig3","isCustomToolbar","prefersTheme","toggleTheme","pdf_viewervue_type_script_lang_ts_","components_pdf_viewervue_type_script_lang_ts_","pdf_viewer","nativeSlice","fin","DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS","DELAY_BEFORE_HIDING_CONTROLS","ACTIVE_SELECTOR","CONTROLS_SELECTOR","MOUSE_SCROLL_COOLDOWN_TIME","PAGE_SWITCH_THRESHOLD","SWIPE_MIN_DISTANCE_THRESHOLD","SWIPE_ANGLE_THRESHOLD","_ref$contextMenuItems","contextMenuOpen","mouseScrollTimeStamp","mouseScrollDelta","touchSwipeState","_addFullscreenChangeListeners","_setSwitchInProgress","_notifyStateChange","webkitRequestFullscreen","ALLOW_KEYBOARD_INPUT","storedTime","_resetMouseScrollState","totalDelta","_goToPreviousPage","_goToNextPage","_removeFullscreenChangeListeners","_resetSwitchInProgress","_addWindowListeners","_showControls","removeAllRanges","_removeWindowListeners","_hideControls","isInternalLink","controlsTimeout","startX","startY","endX","endY","absAngle","showControlsBind","mouseDownBind","_mouseDown","mouseWheelBind","_mouseWheel","resetMouseScrollStateBind","contextMenuBind","_contextMenu","touchSwipeBind","_touchSwipe","isFullscreen","_enter","_exit","fullscreenChangeBind","_fullscreenChange","fullscreenElement","mozFullScreen","webkitIsFullScreen","msFullscreenElement","encodeReserveRE","encodeReserveReplacer","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","stringifyQuery","val2","trailingSlashRE","createRoute","redirectedFrom","router","route","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bKey","bVal","isIncludedRoute","queryIncludes","handleRouteEntered","instances","cbs","enteredCbs","i$1","_isBeingDestroyed","View","routerView","_routerViewCache","depth","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","routerViewDepth","cachedComponent","configProps","fillPropsinData","registerRouteInstance","prepatch","propsToPass","resolveProps","resolvePath","parsePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","escaped","modifier","asterisk","partial","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","strict","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","_normalized","params$1","rawPath","parsedPath","basePath","toTypes","eventTypes","Link","custom","ariaCurrentValue","this$1","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","$hasNormal","navigate","isExactActive","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","defaultPrevented","isDef","registerInstance","callVal","_parentVnode","_router","util","defineReactive","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","compileRouteRegex","alias","childMatchAs","aliases","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","currentRoute","_createRoute","record$1","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","isPop","scrollBehavior","getScrollPosition","scrollToPosition","saveScrollPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","supportsPushState","runQueue","NavigationFailureType","redirected","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isNavigationFailure","errorType","resolveAsyncComponents","hasAsync","pending","flatMapComponents","resolvedDef","isESModule","comp","flatten","hasSymbol","History","normalizeBase","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathLowerCase","baseLowerCase","HashHistory","checkFallback","ensureSlash","replaceHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","prototypeAccessors","registerHook","createHref","handleInitialScroll","routeOrError","beforeEach","beforeResolve","afterEach","getMatchedComponents","normalizedTo","START_LOCATION","D","H","U","W","mt","Q","J","tt","et","nt","ot","lt","ut","dt","pt","gt","ht","ft","bt","wt","vt","Ct","kt","At","Pt","Bt","Et","Tt","St","Ot","Lt","jt","Mt","Dt","It","Ht","Vt","Rt","Nt","Ft","Ut","Wt","zt","Kt","Jt","Yt","Xt","ee","te","Zt","Gt","Qt","ne","oe","ie","se","ue","de","ae","ce","le","pe","me","ge","he","fe","be","ye","we","ve","Ce","ke","Ae","Pe","Be","je","xe","Ee","Te","Se","Oe","Le","Me","De","Ie","He","Ve","Ne","Re","Fe","We","Ue","ze","Ke","$e","Ye","Ze","Qe","Xe","Ge","Je","tn","_o","cn","ln","sn","rn","an","un","dn","pn","mn","Cn","gn","yn","hn","bn","vn","wn","kn","An","xn","En","Tn","Pn","Bn","Sn","On","jn","Mn","qn","Dn","In","Hn","Vn","Nn","Rn","Fn","Un","Wn","zn","Kn","$n","Yn","Zn","Jn","Xn","Gn","Qn","eo","no","oo","io","so","ro","ao","co","wo","uo","fo","mo","ho","po","bo","yo","vo","Co","ko","Ao","Po","Bo","xo","Eo","To","So","Oo","Lo","deferDisposalTimer","jo","Mo","Do","Io","Ho","qo","No","Ro","Vo","Fo","Uo","Wo","zo","static","globalProperties","$swal","toLocaleUpperCase","isTrusted","selectionEnd","setSelectionRange","masked","lastValue","refresh","esModule","emptyObject","isUndef","isTrue","isFalse","_toString","makeMap","expectsLowerCase","isReservedAttribute","hit","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","_from","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","productionTip","devtools","warnHandler","ignoredElements","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","_isServer","inWeex","WXEnvironment","weexPlatform","UA","isIE9","isEdge","isFF","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","Dep","subs","addSub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","asyncFactory","fnContext","fnOptions","fnScopeId","isRootInsert","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","arrayProto","arrayMethods","methodsToPatch","ob","__ob__","observeArray","dep","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","asRootData","defineReactive$$1","customSetter","shallow","childOb","dependArray","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","mergeAssets","key$1","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","absent","booleanIndex","getTypeIndex","getPropDefaultValue","prevShouldObserve","_props","getType","functionTypeCheckRE","isSameType","expectedTypes","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","flushCallbacks","copies","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","name$1","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","fallbackRender","bindObject","scopedSlotFn","resolveFilter","isKeyNotMatch","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","camelizedKey","hyphenatedKey","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_q","_f","_u","_g","_p","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","createFunctionalComponent","mergeProps","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","mountedNode","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","abstract","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","ensureCtor","errorComp","owners","loadingComp","sync","timerLoading","timerTimeout","forceRender","$forceUpdate","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","onceHandler","oldListeners","eventsMixin","hookRE","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","lifecycleMixin","_update","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","_watchers","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","flushing","resetSchedulerState","currentFlushTimestamp","getNow","timeStamp","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","lazy","dirty","deps","newDeps","depIds","newDepIds","cleanupDeps","evaluate","sharedPropertyDefinition","sourceKey","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","uid$3","initMixin","initInternalComponent","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","plugin","installedPlugins","_installedPlugins","initMixin$1","initExtend","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","getComponentName","pruneCache","keepAliveInstance","pruneCacheEntry","patternTypes","KeepAlive","cacheVNode","vnodeToCache","keyToCache","ref$1","builtInComponents","initGlobalAPI","configDef","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","isTextInputType","createElement$1","createComment","newNode","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","ancestor","addVnodes","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","childrenMatch","fullInvoke","isInitialPatch","isRealElement","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","__ieph","blocker","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","svgContainer","updateDOMProps","oldProps","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","toggleDisplay","_enterCb","appearClass","appearToClass","appearActiveClass","beforeAppear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","delayLeave","explicitLeaveDuration","performLeave","invokerFns","platformModules","vmodel","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","WebkitTransform","transitionDuration","_moveCb","_hasMove","oldPos","platformComponents","isNullOrUndef","isNumberFinite","finiteOrDefault","valueOrDefault","toPercentage","dimension","toDimension","each","loopable","_elementsEqual","a0","ilen","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","resolver","_getKeyResolver","_splitKey","_capitalize","defined","setsEqual","_isClickEvent","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","niceNum","roundedRange","almostEquals","niceRange","fraction","niceFraction","_factorize","almostWhole","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","cmp","mid","_lookupByKey","_rlookupByKey","_filterBetween","arrayEvents","listenArrayEvents","_chartjs","unlistenArrayEvents","stub","_arrayUnique","requestAnimFrame","throttled","updateFn","updateArgs","ticking","rest","debounce","_toLeftRightCenter","_alignStartEnd","_textX","_getStartAndCountOfVisiblePoints","animationsDisabled","pointCount","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","changed","atEdge","elasticIn","elasticOut","effects","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","p2b","n2b","b2n","n2p","map$1","eq","isShort","hexParse","hexString","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","hueValue","rgb2hsl","calln","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","deg","hslString","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","blanKedOmond","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","teO","tEstN","tomato","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","unpacked","tkeys","nk","nameParse","RGB_RE","rgbParse","rgbString","rgb1","rgb2","modHSL","functionParse","Color","_rgb","_valid","mix","clearer","greyscale","opaquer","negate","saturate","desaturate","index_esm","isPatternOrGradient","getHoverColor","overrides","getScope$1","Defaults","_descriptors","datasets","chart","getDevicePixelRatio","lineHeight","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","includeInvisible","maintainAspectRatio","onHover","parsing","plugins","responsive","scales","showLine","drawActiveElementsOnTop","describe","targetScope","scopeObject","targetScopeObject","privateName","local","_scriptable","_indexable","_fallback","toFontString","_measureText","gc","textWidth","_longestText","arrayOfThings","garbageCollect","jlen","nestedThing","gcLen","_alignPixel","currentDevicePixelRatio","halfWidth","clearCanvas","resetTransform","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rad","ellipse","arc","SQRT1_2","_isPointInArea","area","margin","clipArea","unclipArea","_steppedLineTo","flip","midpoint","_bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","setRenderOpts","decorateText","textBaseline","strikethrough","underline","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","bottomLeft","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","toTRBL","toTRBLCorners","toPadding","toFont","cacheable","_addGrace","minmax","grace","beginAtZero","keepZero","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","_cacheable","_scopes","_rootScopes","_getTarget","deleteProperty","_keys","_cached","_resolveWithPrefixes","getKeysFromAllScopes","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_subProxy","setContext","_resolveWithContext","allKeys","scriptable","indexable","_allKeys","isScriptable","isIndexable","readKey","needsSubResolver","_resolveScriptable","_resolveArray","createSubResolver","resolveFallback","getScope","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","EPSILON","getPoint","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fb","monotoneAdjust","deltaK","mK","pointsLen","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointAfter","monotoneCompute","valueAxis","pointBefore","iPixel","vPixel","splineCurveMonotone","slopeDelta","capControlPoint","capBezierPoints","inArea","inAreaPrev","inAreaNext","_updateBezierControlPoints","controlPoints","spanGaps","cubicInterpolationMode","tension","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getPositionedStyle","useOffsetPos","getRelativePosition","borderBox","boxSizing","paddings","borders","getContainerSize","containerStyle","containerBorder","containerPadding","round1","getMaximumSize","bbWidth","bbHeight","margins","containerSize","retinaScale","forceRatio","forceStyle","deviceHeight","deviceWidth","supportsEventListenerOptions","readUsedSize","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","getNumberFormat","formatter","NumberFormat","formatNumber","getRightToLeftAdapter","rectX","xPlus","leftForLtr","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","getPropertyPriority","prevTextDirection","restoreTextDirection","propertyFn","between","normalizeSegment","getSegment","startBound","endBound","_boundSegment","prevValue","inside","subStart","startIsBefore","endIsBefore","shouldStart","shouldStop","_boundSegments","findStartAndEnd","solidSegments","_computeSegments","segmentOptions","splitByStyles","completeLoop","_fullLoop","doSplitByStyles","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","p0DataIndex","p1DataIndex","styleChanged","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","Animator","_charts","_running","_lastDate","_notify","anims","numSteps","currentStep","_refresh","_total","tick","_getAnims","charts","_duration","animator","interpolators","factor","Animation","cfg","_fn","_easing","_start","_prop","_to","_promises","elapsed","remain","wait","rej","animationOptions","animations","Animations","_properties","configure","animatedProps","_animateOptions","resolveTargetOptions","_createAnimations","$shared","awaitAll","$animations","anim","scaleClip","allowedOverflow","defaultClip","toClip","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","convertObjectDataToArray","adata","isStacked","stacked","getStackKey","indexScale","valueScale","NEGATIVE_INFINITY","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_cachedMeta","_stacks","iAxis","vAxis","itemStacks","_top","_bottom","getFirstScaleId","createDatasetContext","createDataContext","dataIndex","clearStacks","isDirectUpdateMode","cloneIfNotShared","createStack","canStack","hidden","_stacked","DatasetController","_ctx","_cachedDataOpts","getMeta","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","linkScales","addElements","updateIndex","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_dataCheck","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","getMinMax","otherScale","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","_resolveAnimations","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","numMeta","numData","_insertElements","_removeElements","updateElements","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","getAllScaleValues","_cache","$bar","visibleMetas","computeMinSampleSize","updateMinAndPrev","getPixelForTick","computeFitCategoryTraits","ruler","stackCount","thickness","barThickness","categoryPercentage","barPercentage","pixels","computeFlexCategoryTraits","parseFloatBar","startValue","endValue","barStart","barEnd","_custom","parseValue","parseArrayOrPrimitive","isFloatBar","barSign","actualBase","isHorizontal","borderProps","setBorderSkipped","edge","borderSkipped","enableBorderRadius","parseEdge","startEnd","orig","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","bars","getBasePixel","_getRuler","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","_startPixel","_endPixel","minBarLength","getDataVisibility","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","rects","_index_","grid","_value_","BubbleController","getRatioAndOffset","cutout","ratioX","ratioY","startAngle","endAngle","calcMax","calcMin","tooltip","DoughnutController","innerRadius","outerRadius","_getRotation","_getCircumference","_getRotationExtents","isDatasetVisible","arcs","getMaxBorderWidth","getMaxOffset","chartWeight","_getRingWeight","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","LineController","_dataset","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","RadarController","pointPosition","getPointPositionForValue","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","maxTicksLimit","determineMaxTicks","majorIndices","getMajorIndices","numMajorIndices","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","tickLength","_tickSize","maxChart","_maxLength","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","drawBorder","drawOnChartArea","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","reverseAlign","offsetFromEdge","sample","numItems","getPixelForGridLine","offsetGridLines","validIndex","lineValue","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","titleAlign","titleArgs","titleX","titleY","positionAxisID","Scale","_margins","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetRight","isFullSize","fullSize","_computeLabelSizes","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx2","ty2","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","drawGrid","drawLine","lastLineWidth","drawLabels","drawTitle","_layers","tz","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","propertyParts","sourceScope","Registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","getElement","getPlugin","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","reg","_getRegistryForType","_exec","itemReg","camelMethod","ScatterController","DateAdapter","chartOptions","formats","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","getDistanceMetricForAxis","useX","useY","getIntersectItems","isPointInArea","evaluationFunc","inRange","getNearestRadialItems","getNearestCartesianItems","distanceMetric","getCenterPoint","pointInArea","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","layoutBoxes","stackWeight","buildStacks","layouts","placed","setLayoutDims","vBoxMaxWidth","hBoxMaxHeight","availableWidth","availableHeight","buildLayoutBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","outerWidth","outerHeight","widthChanged","heightChanged","same","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","autoPadding","addBox","removeBox","layoutItem","minPadding","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","addListener","removeListener","fromNativeEvent","nodeListContains","createAttachObserver","addedNodes","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","ResizeObserver","contentRect","releaseObserver","createProxyAndListen","DomPlatform","proxies","$proxies","detach","_detectPlatform","OffscreenCanvas","PluginService","_createDescriptors","cancelable","invalidate","_oldCache","_notifyStateChanges","allPlugins","createDescriptors","previousDescriptors","localIds","getOpts","pluginOpts","pluginScopeKeys","getIndexAxis","datasetDefaults","datasetOptions","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","axisFromPosition","determineAxis","scaleOptions","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initConfig","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onAnimationProgress","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","Chart","userConfig","initialCanvas","existingChart","_aspectRatio","_metasets","_lastEvent","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","_doResize","resizeDelay","_resizeBeforeDraw","_resize","newRatio","ensureScalesHaveIDs","scalesOptions","axisOptions","buildOrUpdateScales","scaleOpts","isRadial","dposition","dtype","scaleType","scaleClass","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_updateHoverStyles","existingEvents","newEvents","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","bindUserEvents","bindResponsiveEvents","detached","updateHoverStyle","getActiveElements","setActiveElements","lastActive","replay","hoverOptions","eventFilter","_handleEvent","_getActiveElements","invalidatePlugins","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawFullCircleBorders","inner","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","getLineMethod","stepped","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","fastPathSegment","prevX","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","useFastPath","_getInterpolationMethod","strokePathWithCache","_path","strokePathDirect","segmentMethod","usePath2D","LineElement","_points","_segments","_pointsUpdated","_interpolate","interpolated","inRange$1","hitRadius","PointElement","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","half","skipOrLimit","parseBorderWidth","maxW","parseBorderRadius","maxR","enableBorder","boundingRects","outer","skipX","skipY","skipBoth","hasRadius","addNormalRectPath","inflateRect","refRect","BarElement","addRectPath","lttbDecimation","decimated","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","minMaxDecimation","intermediateIndex1","intermediateIndex2","cleanDecimatedDataset","cleanDecimatedData","getStartAndCountOfVisiblePointsSimplified","plugin_decimation","beforeElementsUpdate","xAxis","tpoints","_findSegmentEnd","_getBounds","targetSegments","tgt","subBounds","fillSources","fillSource","_getEdge","_pointsFromSegments","linePoints","_createBoundaryLine","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","parseFillOption","decodeTargetIndex","firstCh","_getTargetPixel","_getTargetValue","fillOption","_buildStackLine","sourcePoints","linesBelow","getLinesBelow","addPointsBelow","below","sourcePoint","postponed","findPoint","pointValue","firstValue","simpleArc","getLineByIndex","computeBoundary","computeCircularBoundary","computeLinearBoundary","_drawfill","lineOpts","above","doFill","clipVertical","clipY","lineLoop","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","itemsEqual","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","heightLimit","currentColWidth","currentColHeight","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","drawLegendBox","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","textDirection","realX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","isListened","hoveredItem","sameItem","onLeave","plugin_legend","_element","afterEvent","_padding","textSize","_drawArgs","fontOpts","createTitle","titleBlock","plugin_title","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","bodyLineHeight","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineYAlign","doesNotFitWithAlign","xAlign","caret","caretSize","caretPadding","determineXAlign","yAlign","chartWidth","determineAlignment","alignX","alignY","paddingAndSize","getBackgroundPoint","getAlignedX","getBeforeAfterBodyLines","createTooltipContext","tooltipItems","overrideCallbacks","Tooltip","_eventPosition","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","drawCaret","tooltipPoint","caretPosition","getCaretPosition","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","Decimation","Filler","SubTitle","addIfString","addedLabels","findOrAddLabel","CategoryScale","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","MIN_SPACING","maxTicks","maxDigits","includeBounds","maxSpaces","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MIN_SAFE_INTEGER","getTickLimit","stepSize","computeTickLimit","numericGeneratorOptions","LinearScale","isMajor","tickVal","generateTicks","endExp","endSignificand","exp","significand","lastTick","LogarithmicScale","_zero","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","hLimits","vLimits","updateLimits","setCenterPoint","_pointLabelItems","buildPointLabelItems","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","drawPointLabels","backdropLeft","backdropTop","backdropWidth","backdropHeight","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","distanceFromCenter","getBasePosition","getPointLabelPosition","INTERVALS","millisecond","week","quarter","UNITS","sorter","_adapter","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","timestamps","setMajorTicks","majorUnit","ticksFromTimestamps","TimeScale","_unit","_majorUnit","_offsets","displayFormats","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_getLabelCapacity","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables"],"sourceRoot":""}