@everymatrix/stage-operator-profile-bonus-amount-graph 1.37.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/293.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"293.js","mappings":"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,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC1wC,IAAIC,QAAQ,GAAG,CAAC,CAAC,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,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,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,CAAC;AAC1gC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAA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ClF,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,8DAA8D;AAC9D,IAAI;AACJ,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtDa;AACb;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;ACPa;AACb;AACA,mBAAO,CAAC,sCAA2B;AACnC,kBAAkB,mBAAO,CAAC,sDAA2C;AACrE,oBAAoB,mBAAO,CAAC,yCAA8B;AAC1D,iBAAiB,mBAAO,CAAC,qCAA0B;AACnD,YAAY,mBAAO,CAAC,+BAAoB;AACxC,sBAAsB,mBAAO,CAAC,2CAAgC;AAC9D,kCAAkC,mBAAO,CAAC,wDAA6C;;AAEvF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,iBAAiB;AACjB;AACA,eAAe;AACf,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC5Ea;AACb,kBAAkB,mBAAO,CAAC,8CAAmC;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACVY;AACb,kBAAkB,mBAAO,CAAC,sDAA2C;AACrE,gBAAgB,mBAAO,CAAC,oCAAyB;AACjD,kBAAkB,mBAAO,CAAC,8CAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;AACb,YAAY,mBAAO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;AACA;AACA;AACA;AACA,qDAAqD,iCAAiC;AACtF;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,MAAM;AACN,IAAI,gBAAgB;AACpB;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtDY;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;AACb,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,WAAW,mBAAO,CAAC,+CAAoC;AACvD,+BAA+B,oFAA4D;AAC3F,gBAAgB,yDAAgC;AAChD,YAAY,mBAAO,CAAC,4BAAoB;AACxC,aAAa,mBAAO,CAAC,uCAA4B;AACjD,oBAAoB,mBAAO,CAAC,8CAAmC;AAC/D,sBAAsB,mBAAO,CAAC,+CAAqC;AACnE,cAAc,mBAAO,CAAC,wCAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB;AACrE;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChFa;AACb,gBAAgB,mBAAO,CAAC,oCAAyB;;AAEjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;;;;;;;;;;;;ACpBa;AACb,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;;ACTa;AACb;AACA,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,6BAA6B,mBAAO,CAAC,kDAAuC;AAC5E,kBAAkB,mBAAO,CAAC,uCAA4B;AACtD,iBAAiB,mBAAO,CAAC,qCAA0B;AACnD,WAAW,mBAAO,CAAC,8BAAmB;AACtC,4BAA4B,mBAAO,CAAC,iDAAsC;AAC1E,gBAAgB,mBAAO,CAAC,oCAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;;;;;;;;;;ACnFa;AACb,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,8BAA8B,mBAAO,CAAC,gDAAsC;AAC5E,2BAA2B,mBAAO,CAAC,gDAAqC;AACxE,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,sBAAsB,mBAAO,CAAC,2CAAgC;AAC9D,iBAAiB,mBAAO,CAAC,qCAA0B;;AAEnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,qBAAqB,mBAAO,CAAC,wCAA6B;AAC1D,8BAA8B,mBAAO,CAAC,gDAAsC;AAC5E,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,oBAAoB,mBAAO,CAAC,uCAA8B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;;;;;;;;;;;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AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpHa;AACb,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBa;AACb,WAAW,mBAAO,CAAC,uCAA4B;AAC/C,aAAa,mBAAO,CAAC,wCAA+B;AACpD,oBAAoB,mBAAO,CAAC,gDAAqC;AACjE,kBAAkB,mBAAO,CAAC,sCAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZa;AACb,YAAY,mBAAO,CAAC,+BAAoB;AACxC,aAAa,mBAAO,CAAC,gCAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Ba;AACb,YAAY,mBAAO,CAAC,+BAAoB;AACxC,aAAa,mBAAO,CAAC,gCAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACVY;AACb,YAAY,mBAAO,CAAC,+BAAoB;AACxC,aAAa,mBAAO,CAAC,gCAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXY;AACb,wBAAwB,mBAAO,CAAC,8CAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AAC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ACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ,qBAAqB,aAAa;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI,cAAc;AACzB;;AAEA;AACA;AACA;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","sources":["./node_modules/performance-now/lib/performance-now.js","./node_modules/raf/index.js","./node_modules/rgbcolor/index.js","./node_modules/stackblur-canvas/dist/stackblur-es.js","./node_modules/core-js/internals/a-callable.js","./node_modules/core-js/internals/a-constructor.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/add-to-unscopables.js","./node_modules/core-js/internals/advance-string-index.js","./node_modules/core-js/internals/an-instance.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/array-method-is-strict.js","./node_modules/core-js/internals/array-reduce.js","./node_modules/core-js/internals/array-slice-simple.js","./node_modules/core-js/internals/array-slice.js","./node_modules/core-js/internals/check-correctness-of-iteration.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/classof.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-is-regexp-logic.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-iter-result-object.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/internals/define-built-in-accessor.js","./node_modules/core-js/internals/define-built-in.js","./node_modules/core-js/internals/define-global-property.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-all.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/dom-iterables.js","./node_modules/core-js/internals/dom-token-list-prototype.js","./node_modules/core-js/internals/engine-is-browser.js","./node_modules/core-js/internals/engine-is-deno.js","./node_modules/core-js/internals/engine-is-ios-pebble.js","./node_modules/core-js/internals/engine-is-ios.js","./node_modules/core-js/internals/engine-is-node.js","./node_modules/core-js/internals/engine-is-webos-webkit.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/core-js/internals/engine-v8-version.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","./node_modules/core-js/internals/function-apply.js","./node_modules/core-js/internals/function-bind-context.js","./node_modules/core-js/internals/function-bind-native.js","./node_modules/core-js/internals/function-call.js","./node_modules/core-js/internals/function-name.js","./node_modules/core-js/internals/function-uncurry-this-accessor.js","./node_modules/core-js/internals/function-uncurry-this-clause.js","./node_modules/core-js/internals/function-uncurry-this.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/internals/get-iterator.js","./node_modules/core-js/internals/get-method.js","./node_modules/core-js/internals/get-substitution.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has-own-property.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/host-report-errors.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-callable.js","./node_modules/core-js/internals/is-constructor.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-null-or-undefined.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/is-regexp.js","./node_modules/core-js/internals/is-symbol.js","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/internals/iterator-close.js","./node_modules/core-js/internals/iterator-create-constructor.js","./node_modules/core-js/internals/iterator-define.js","./node_modules/core-js/internals/iterators-core.js","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/internals/length-of-array-like.js","./node_modules/core-js/internals/make-built-in.js","./node_modules/core-js/internals/math-trunc.js","./node_modules/core-js/internals/microtask.js","./node_modules/core-js/internals/new-promise-capability.js","./node_modules/core-js/internals/not-a-regexp.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-is-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/ordinary-to-primitive.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/perform.js","./node_modules/core-js/internals/promise-constructor-detection.js","./node_modules/core-js/internals/promise-native-constructor.js","./node_modules/core-js/internals/promise-resolve.js","./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","./node_modules/core-js/internals/queue.js","./node_modules/core-js/internals/regexp-exec-abstract.js","./node_modules/core-js/internals/regexp-exec.js","./node_modules/core-js/internals/regexp-flags.js","./node_modules/core-js/internals/regexp-get-flags.js","./node_modules/core-js/internals/regexp-sticky-helpers.js","./node_modules/core-js/internals/regexp-unsupported-dot-all.js","./node_modules/core-js/internals/regexp-unsupported-ncg.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/set-species.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/species-constructor.js","./node_modules/core-js/internals/string-multibyte.js","./node_modules/core-js/internals/string-trim-forced.js","./node_modules/core-js/internals/string-trim.js","./node_modules/core-js/internals/symbol-constructor-detection.js","./node_modules/core-js/internals/task.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer-or-infinity.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/to-property-key.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/internals/to-string.js","./node_modules/core-js/internals/try-to-string.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/v8-prototype-define-bug.js","./node_modules/core-js/internals/validate-arguments-length.js","./node_modules/core-js/internals/weak-map-basic-detection.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/internals/whitespaces.js","./node_modules/core-js/modules/es.array.index-of.js","./node_modules/core-js/modules/es.array.iterator.js","./node_modules/core-js/modules/es.array.reduce.js","./node_modules/core-js/modules/es.array.reverse.js","./node_modules/core-js/modules/es.promise.all.js","./node_modules/core-js/modules/es.promise.catch.js","./node_modules/core-js/modules/es.promise.constructor.js","./node_modules/core-js/modules/es.promise.js","./node_modules/core-js/modules/es.promise.race.js","./node_modules/core-js/modules/es.promise.reject.js","./node_modules/core-js/modules/es.promise.resolve.js","./node_modules/core-js/modules/es.regexp.exec.js","./node_modules/core-js/modules/es.regexp.to-string.js","./node_modules/core-js/modules/es.string.ends-with.js","./node_modules/core-js/modules/es.string.includes.js","./node_modules/core-js/modules/es.string.match.js","./node_modules/core-js/modules/es.string.replace.js","./node_modules/core-js/modules/es.string.split.js","./node_modules/core-js/modules/es.string.starts-with.js","./node_modules/core-js/modules/es.string.trim.js","./node_modules/core-js/modules/web.dom-collections.iterator.js","./node_modules/canvg/lib/index.es.js","./node_modules/svg-pathdata/lib/SVGPathData.module.js","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"],"sourcesContent":["// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/*\n\tBased on rgbcolor.js by Stoyan Stefanov <sstoo@gmail.com>\n\thttp://www.phpied.com/rgb-color-parser-in-javascript/\n*/\n\nmodule.exports = function(color_string) {\n this.ok = false;\n this.alpha = 1.0;\n\n // strip any leading #\n if (color_string.charAt(0) == '#') { // remove # if any\n color_string = color_string.substr(1,6);\n }\n\n color_string = color_string.replace(/ /g,'');\n color_string = color_string.toLowerCase();\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dodgerblue: '1e90ff',\n feldspar: 'd19275',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred : 'cd5c5c',\n indigo : '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgrey: 'd3d3d3',\n lightgreen: '90ee90',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslateblue: '8470ff',\n lightslategray: '778899',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '00ff00',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'ff00ff',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370d8',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'd87093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '663399',\n red: 'ff0000',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n violetred: 'd02090',\n wheat: 'f5deb3',\n white: 'ffffff',\n whitesmoke: 'f5f5f5',\n yellow: 'ffff00',\n yellowgreen: '9acd32'\n };\n color_string = simple_colors[color_string] || color_string;\n // emd of simple type-in colors\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*((?:\\d?\\.)?\\d)\\)$/,\n example: ['rgba(123, 234, 45, 0.8)', 'rgba(255,234,245,1.0)'],\n process: function (bits){\n return [\n parseInt(bits[1]),\n parseInt(bits[2]),\n parseInt(bits[3]),\n parseFloat(bits[4])\n ];\n }\n },\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],\n process: function (bits){\n return [\n parseInt(bits[1]),\n parseInt(bits[2]),\n parseInt(bits[3])\n ];\n }\n },\n {\n re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n example: ['#00ff00', '336699'],\n process: function (bits){\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n example: ['#fb0', 'f0f'],\n process: function (bits){\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n var channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n if (channels.length > 3) {\n this.alpha = channels[3];\n }\n this.ok = true;\n }\n\n }\n\n // validate/cleanup values\n this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);\n this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);\n this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);\n this.alpha = (this.alpha < 0) ? 0 : ((this.alpha > 1.0 || isNaN(this.alpha)) ? 1.0 : this.alpha);\n\n // some getters\n this.toRGB = function () {\n return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';\n }\n this.toRGBA = function () {\n return 'rgba(' + this.r + ', ' + this.g + ', ' + this.b + ', ' + this.alpha + ')';\n }\n this.toHex = function () {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = '0' + r;\n if (g.length == 1) g = '0' + g;\n if (b.length == 1) b = '0' + b;\n return '#' + r + g + b;\n }\n\n // help\n this.getHelpXML = function () {\n\n var examples = new Array();\n // add regexps\n for (var i = 0; i < color_defs.length; i++) {\n var example = color_defs[i].example;\n for (var j = 0; j < example.length; j++) {\n examples[examples.length] = example[j];\n }\n }\n // add type-in colors\n for (var sc in simple_colors) {\n examples[examples.length] = sc;\n }\n\n var xml = document.createElement('ul');\n xml.setAttribute('id', 'rgbcolor-examples');\n for (var i = 0; i < examples.length; i++) {\n try {\n var list_item = document.createElement('li');\n var list_color = new RGBColor(examples[i]);\n var example_div = document.createElement('div');\n example_div.style.cssText =\n 'margin: 3px; '\n + 'border: 1px solid black; '\n + 'background:' + list_color.toHex() + '; '\n + 'color:' + list_color.toHex()\n ;\n example_div.appendChild(document.createTextNode('test'));\n var list_item_value = document.createTextNode(\n ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex()\n );\n list_item.appendChild(example_div);\n list_item.appendChild(list_item_value);\n xml.appendChild(list_item);\n\n } catch(e){}\n }\n return xml;\n\n }\n\n}\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n/* eslint-disable no-bitwise -- used for calculations */\n\n/* eslint-disable unicorn/prefer-query-selector -- aiming at\n backward-compatibility */\n\n/**\n* StackBlur - a fast almost Gaussian Blur For Canvas\n*\n* In case you find this class useful - especially in commercial projects -\n* I am not totally unhappy for a small donation to my PayPal account\n* mario@quasimondo.de\n*\n* Or support me on flattr:\n* {@link https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript}.\n*\n* @module StackBlur\n* @author Mario Klingemann\n* Contact: mario@quasimondo.com\n* Website: {@link http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html}\n* Twitter: @quasimondo\n*\n* @copyright (c) 2010 Mario Klingemann\n*\n* Permission is hereby granted, free of charge, to any person\n* obtaining a copy of this software and associated documentation\n* files (the \"Software\"), to deal in the Software without\n* restriction, including without limitation the rights to use,\n* copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the\n* Software is furnished to do so, subject to the following\n* conditions:\n*\n* The above copyright notice and this permission notice shall be\n* included in all copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n* OTHER DEALINGS IN THE SOFTWARE.\n*/\nvar mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];\nvar shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];\n/**\n * @param {string|HTMLImageElement} img\n * @param {string|HTMLCanvasElement} canvas\n * @param {Float} radius\n * @param {boolean} blurAlphaChannel\n * @param {boolean} useOffset\n * @param {boolean} skipStyles\n * @returns {undefined}\n */\n\nfunction processImage(img, canvas, radius, blurAlphaChannel, useOffset, skipStyles) {\n if (typeof img === 'string') {\n img = document.getElementById(img);\n }\n\n if (!img || !('naturalWidth' in img)) {\n return;\n }\n\n var dimensionType = useOffset ? 'offset' : 'natural';\n var w = img[dimensionType + 'Width'];\n var h = img[dimensionType + 'Height'];\n\n if (typeof canvas === 'string') {\n canvas = document.getElementById(canvas);\n }\n\n if (!canvas || !('getContext' in canvas)) {\n return;\n }\n\n if (!skipStyles) {\n canvas.style.width = w + 'px';\n canvas.style.height = h + 'px';\n }\n\n canvas.width = w;\n canvas.height = h;\n var context = canvas.getContext('2d');\n context.clearRect(0, 0, w, h);\n context.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight, 0, 0, w, h);\n\n if (isNaN(radius) || radius < 1) {\n return;\n }\n\n if (blurAlphaChannel) {\n processCanvasRGBA(canvas, 0, 0, w, h, radius);\n } else {\n processCanvasRGB(canvas, 0, 0, w, h, radius);\n }\n}\n/**\n * @param {string|HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @throws {Error|TypeError}\n * @returns {ImageData} See {@link https://html.spec.whatwg.org/multipage/canvas.html#imagedata}\n */\n\n\nfunction getImageDataFromCanvas(canvas, topX, topY, width, height) {\n if (typeof canvas === 'string') {\n canvas = document.getElementById(canvas);\n }\n\n if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {\n throw new TypeError('Expecting canvas with `getContext` method ' + 'in processCanvasRGB(A) calls!');\n }\n\n var context = canvas.getContext('2d');\n\n try {\n return context.getImageData(topX, topY, width, height);\n } catch (e) {\n throw new Error('unable to access image data: ' + e);\n }\n}\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\n\n\nfunction processCanvasRGBA(canvas, topX, topY, width, height, radius) {\n if (isNaN(radius) || radius < 1) {\n return;\n }\n\n radius |= 0;\n var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius);\n canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\n\n\nfunction processImageDataRGBA(imageData, topX, topY, width, height, radius) {\n var pixels = imageData.data;\n var div = 2 * radius + 1; // const w4 = width << 2;\n\n var widthMinus1 = width - 1;\n var heightMinus1 = height - 1;\n var radiusPlus1 = radius + 1;\n var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n var stackStart = new BlurStack();\n var stack = stackStart;\n var stackEnd;\n\n for (var i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n\n stack.next = stackStart;\n var stackIn = null,\n stackOut = null,\n yw = 0,\n yi = 0;\n var mulSum = mulTable[radius];\n var shgSum = shgTable[radius];\n\n for (var y = 0; y < height; y++) {\n stack = stackStart;\n var pr = pixels[yi],\n pg = pixels[yi + 1],\n pb = pixels[yi + 2],\n pa = pixels[yi + 3];\n\n for (var _i = 0; _i < radiusPlus1; _i++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack.a = pa;\n stack = stack.next;\n }\n\n var rInSum = 0,\n gInSum = 0,\n bInSum = 0,\n aInSum = 0,\n rOutSum = radiusPlus1 * pr,\n gOutSum = radiusPlus1 * pg,\n bOutSum = radiusPlus1 * pb,\n aOutSum = radiusPlus1 * pa,\n rSum = sumFactor * pr,\n gSum = sumFactor * pg,\n bSum = sumFactor * pb,\n aSum = sumFactor * pa;\n\n for (var _i2 = 1; _i2 < radiusPlus1; _i2++) {\n var p = yi + ((widthMinus1 < _i2 ? widthMinus1 : _i2) << 2);\n var r = pixels[p],\n g = pixels[p + 1],\n b = pixels[p + 2],\n a = pixels[p + 3];\n var rbs = radiusPlus1 - _i2;\n rSum += (stack.r = r) * rbs;\n gSum += (stack.g = g) * rbs;\n bSum += (stack.b = b) * rbs;\n aSum += (stack.a = a) * rbs;\n rInSum += r;\n gInSum += g;\n bInSum += b;\n aInSum += a;\n stack = stack.next;\n }\n\n stackIn = stackStart;\n stackOut = stackEnd;\n\n for (var x = 0; x < width; x++) {\n var paInitial = aSum * mulSum >> shgSum;\n pixels[yi + 3] = paInitial;\n\n if (paInitial !== 0) {\n var _a2 = 255 / paInitial;\n\n pixels[yi] = (rSum * mulSum >> shgSum) * _a2;\n pixels[yi + 1] = (gSum * mulSum >> shgSum) * _a2;\n pixels[yi + 2] = (bSum * mulSum >> shgSum) * _a2;\n } else {\n pixels[yi] = pixels[yi + 1] = pixels[yi + 2] = 0;\n }\n\n rSum -= rOutSum;\n gSum -= gOutSum;\n bSum -= bOutSum;\n aSum -= aOutSum;\n rOutSum -= stackIn.r;\n gOutSum -= stackIn.g;\n bOutSum -= stackIn.b;\n aOutSum -= stackIn.a;\n\n var _p = x + radius + 1;\n\n _p = yw + (_p < widthMinus1 ? _p : widthMinus1) << 2;\n rInSum += stackIn.r = pixels[_p];\n gInSum += stackIn.g = pixels[_p + 1];\n bInSum += stackIn.b = pixels[_p + 2];\n aInSum += stackIn.a = pixels[_p + 3];\n rSum += rInSum;\n gSum += gInSum;\n bSum += bInSum;\n aSum += aInSum;\n stackIn = stackIn.next;\n var _stackOut = stackOut,\n _r = _stackOut.r,\n _g = _stackOut.g,\n _b = _stackOut.b,\n _a = _stackOut.a;\n rOutSum += _r;\n gOutSum += _g;\n bOutSum += _b;\n aOutSum += _a;\n rInSum -= _r;\n gInSum -= _g;\n bInSum -= _b;\n aInSum -= _a;\n stackOut = stackOut.next;\n yi += 4;\n }\n\n yw += width;\n }\n\n for (var _x = 0; _x < width; _x++) {\n yi = _x << 2;\n\n var _pr = pixels[yi],\n _pg = pixels[yi + 1],\n _pb = pixels[yi + 2],\n _pa = pixels[yi + 3],\n _rOutSum = radiusPlus1 * _pr,\n _gOutSum = radiusPlus1 * _pg,\n _bOutSum = radiusPlus1 * _pb,\n _aOutSum = radiusPlus1 * _pa,\n _rSum = sumFactor * _pr,\n _gSum = sumFactor * _pg,\n _bSum = sumFactor * _pb,\n _aSum = sumFactor * _pa;\n\n stack = stackStart;\n\n for (var _i3 = 0; _i3 < radiusPlus1; _i3++) {\n stack.r = _pr;\n stack.g = _pg;\n stack.b = _pb;\n stack.a = _pa;\n stack = stack.next;\n }\n\n var yp = width;\n var _gInSum = 0,\n _bInSum = 0,\n _aInSum = 0,\n _rInSum = 0;\n\n for (var _i4 = 1; _i4 <= radius; _i4++) {\n yi = yp + _x << 2;\n\n var _rbs = radiusPlus1 - _i4;\n\n _rSum += (stack.r = _pr = pixels[yi]) * _rbs;\n _gSum += (stack.g = _pg = pixels[yi + 1]) * _rbs;\n _bSum += (stack.b = _pb = pixels[yi + 2]) * _rbs;\n _aSum += (stack.a = _pa = pixels[yi + 3]) * _rbs;\n _rInSum += _pr;\n _gInSum += _pg;\n _bInSum += _pb;\n _aInSum += _pa;\n stack = stack.next;\n\n if (_i4 < heightMinus1) {\n yp += width;\n }\n }\n\n yi = _x;\n stackIn = stackStart;\n stackOut = stackEnd;\n\n for (var _y = 0; _y < height; _y++) {\n var _p2 = yi << 2;\n\n pixels[_p2 + 3] = _pa = _aSum * mulSum >> shgSum;\n\n if (_pa > 0) {\n _pa = 255 / _pa;\n pixels[_p2] = (_rSum * mulSum >> shgSum) * _pa;\n pixels[_p2 + 1] = (_gSum * mulSum >> shgSum) * _pa;\n pixels[_p2 + 2] = (_bSum * mulSum >> shgSum) * _pa;\n } else {\n pixels[_p2] = pixels[_p2 + 1] = pixels[_p2 + 2] = 0;\n }\n\n _rSum -= _rOutSum;\n _gSum -= _gOutSum;\n _bSum -= _bOutSum;\n _aSum -= _aOutSum;\n _rOutSum -= stackIn.r;\n _gOutSum -= stackIn.g;\n _bOutSum -= stackIn.b;\n _aOutSum -= stackIn.a;\n _p2 = _x + ((_p2 = _y + radiusPlus1) < heightMinus1 ? _p2 : heightMinus1) * width << 2;\n _rSum += _rInSum += stackIn.r = pixels[_p2];\n _gSum += _gInSum += stackIn.g = pixels[_p2 + 1];\n _bSum += _bInSum += stackIn.b = pixels[_p2 + 2];\n _aSum += _aInSum += stackIn.a = pixels[_p2 + 3];\n stackIn = stackIn.next;\n _rOutSum += _pr = stackOut.r;\n _gOutSum += _pg = stackOut.g;\n _bOutSum += _pb = stackOut.b;\n _aOutSum += _pa = stackOut.a;\n _rInSum -= _pr;\n _gInSum -= _pg;\n _bInSum -= _pb;\n _aInSum -= _pa;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n\n return imageData;\n}\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {undefined}\n */\n\n\nfunction processCanvasRGB(canvas, topX, topY, width, height, radius) {\n if (isNaN(radius) || radius < 1) {\n return;\n }\n\n radius |= 0;\n var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);\n imageData = processImageDataRGB(imageData, topX, topY, width, height, radius);\n canvas.getContext('2d').putImageData(imageData, topX, topY);\n}\n/**\n * @param {ImageData} imageData\n * @param {Integer} topX\n * @param {Integer} topY\n * @param {Integer} width\n * @param {Integer} height\n * @param {Float} radius\n * @returns {ImageData}\n */\n\n\nfunction processImageDataRGB(imageData, topX, topY, width, height, radius) {\n var pixels = imageData.data;\n var div = 2 * radius + 1; // const w4 = width << 2;\n\n var widthMinus1 = width - 1;\n var heightMinus1 = height - 1;\n var radiusPlus1 = radius + 1;\n var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;\n var stackStart = new BlurStack();\n var stack = stackStart;\n var stackEnd;\n\n for (var i = 1; i < div; i++) {\n stack = stack.next = new BlurStack();\n\n if (i === radiusPlus1) {\n stackEnd = stack;\n }\n }\n\n stack.next = stackStart;\n var stackIn = null;\n var stackOut = null;\n var mulSum = mulTable[radius];\n var shgSum = shgTable[radius];\n var p, rbs;\n var yw = 0,\n yi = 0;\n\n for (var y = 0; y < height; y++) {\n var pr = pixels[yi],\n pg = pixels[yi + 1],\n pb = pixels[yi + 2],\n rOutSum = radiusPlus1 * pr,\n gOutSum = radiusPlus1 * pg,\n bOutSum = radiusPlus1 * pb,\n rSum = sumFactor * pr,\n gSum = sumFactor * pg,\n bSum = sumFactor * pb;\n stack = stackStart;\n\n for (var _i5 = 0; _i5 < radiusPlus1; _i5++) {\n stack.r = pr;\n stack.g = pg;\n stack.b = pb;\n stack = stack.next;\n }\n\n var rInSum = 0,\n gInSum = 0,\n bInSum = 0;\n\n for (var _i6 = 1; _i6 < radiusPlus1; _i6++) {\n p = yi + ((widthMinus1 < _i6 ? widthMinus1 : _i6) << 2);\n rSum += (stack.r = pr = pixels[p]) * (rbs = radiusPlus1 - _i6);\n gSum += (stack.g = pg = pixels[p + 1]) * rbs;\n bSum += (stack.b = pb = pixels[p + 2]) * rbs;\n rInSum += pr;\n gInSum += pg;\n bInSum += pb;\n stack = stack.next;\n }\n\n stackIn = stackStart;\n stackOut = stackEnd;\n\n for (var x = 0; x < width; x++) {\n pixels[yi] = rSum * mulSum >> shgSum;\n pixels[yi + 1] = gSum * mulSum >> shgSum;\n pixels[yi + 2] = bSum * mulSum >> shgSum;\n rSum -= rOutSum;\n gSum -= gOutSum;\n bSum -= bOutSum;\n rOutSum -= stackIn.r;\n gOutSum -= stackIn.g;\n bOutSum -= stackIn.b;\n p = yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1) << 2;\n rInSum += stackIn.r = pixels[p];\n gInSum += stackIn.g = pixels[p + 1];\n bInSum += stackIn.b = pixels[p + 2];\n rSum += rInSum;\n gSum += gInSum;\n bSum += bInSum;\n stackIn = stackIn.next;\n rOutSum += pr = stackOut.r;\n gOutSum += pg = stackOut.g;\n bOutSum += pb = stackOut.b;\n rInSum -= pr;\n gInSum -= pg;\n bInSum -= pb;\n stackOut = stackOut.next;\n yi += 4;\n }\n\n yw += width;\n }\n\n for (var _x2 = 0; _x2 < width; _x2++) {\n yi = _x2 << 2;\n\n var _pr2 = pixels[yi],\n _pg2 = pixels[yi + 1],\n _pb2 = pixels[yi + 2],\n _rOutSum2 = radiusPlus1 * _pr2,\n _gOutSum2 = radiusPlus1 * _pg2,\n _bOutSum2 = radiusPlus1 * _pb2,\n _rSum2 = sumFactor * _pr2,\n _gSum2 = sumFactor * _pg2,\n _bSum2 = sumFactor * _pb2;\n\n stack = stackStart;\n\n for (var _i7 = 0; _i7 < radiusPlus1; _i7++) {\n stack.r = _pr2;\n stack.g = _pg2;\n stack.b = _pb2;\n stack = stack.next;\n }\n\n var _rInSum2 = 0,\n _gInSum2 = 0,\n _bInSum2 = 0;\n\n for (var _i8 = 1, yp = width; _i8 <= radius; _i8++) {\n yi = yp + _x2 << 2;\n _rSum2 += (stack.r = _pr2 = pixels[yi]) * (rbs = radiusPlus1 - _i8);\n _gSum2 += (stack.g = _pg2 = pixels[yi + 1]) * rbs;\n _bSum2 += (stack.b = _pb2 = pixels[yi + 2]) * rbs;\n _rInSum2 += _pr2;\n _gInSum2 += _pg2;\n _bInSum2 += _pb2;\n stack = stack.next;\n\n if (_i8 < heightMinus1) {\n yp += width;\n }\n }\n\n yi = _x2;\n stackIn = stackStart;\n stackOut = stackEnd;\n\n for (var _y2 = 0; _y2 < height; _y2++) {\n p = yi << 2;\n pixels[p] = _rSum2 * mulSum >> shgSum;\n pixels[p + 1] = _gSum2 * mulSum >> shgSum;\n pixels[p + 2] = _bSum2 * mulSum >> shgSum;\n _rSum2 -= _rOutSum2;\n _gSum2 -= _gOutSum2;\n _bSum2 -= _bOutSum2;\n _rOutSum2 -= stackIn.r;\n _gOutSum2 -= stackIn.g;\n _bOutSum2 -= stackIn.b;\n p = _x2 + ((p = _y2 + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width << 2;\n _rSum2 += _rInSum2 += stackIn.r = pixels[p];\n _gSum2 += _gInSum2 += stackIn.g = pixels[p + 1];\n _bSum2 += _bInSum2 += stackIn.b = pixels[p + 2];\n stackIn = stackIn.next;\n _rOutSum2 += _pr2 = stackOut.r;\n _gOutSum2 += _pg2 = stackOut.g;\n _bOutSum2 += _pb2 = stackOut.b;\n _rInSum2 -= _pr2;\n _gInSum2 -= _pg2;\n _bInSum2 -= _pb2;\n stackOut = stackOut.next;\n yi += width;\n }\n }\n\n return imageData;\n}\n/**\n *\n */\n\n\nvar BlurStack =\n/**\n * Set properties.\n */\nfunction BlurStack() {\n _classCallCheck(this, BlurStack);\n\n this.r = 0;\n this.g = 0;\n this.b = 0;\n this.a = 0;\n this.next = null;\n};\n\nexport { BlurStack, processCanvasRGB as canvasRGB, processCanvasRGBA as canvasRGBA, processImage as image, processImageDataRGB as imageDataRGB, processImageDataRGBA as imageDataRGBA };\n","'use strict';\nvar 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 new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar 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 new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar 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","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar 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 new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar 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 new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar 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","'use strict';\nvar fails = require('../internals/fails');\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 -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\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 new $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.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\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 es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\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","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar 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","'use strict';\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","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-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 try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/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","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar 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","'use strict';\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","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar 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","'use strict';\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","'use strict';\nvar 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","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, 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 () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\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: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar 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/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/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","'use strict';\nvar 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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar 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","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (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 replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar 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/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 check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar 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/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar 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/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\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 new 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 /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(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","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\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","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar 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","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar 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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 && KIND in IterablePrototype) return IterablePrototype[KIND];\n\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 }\n\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\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\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar 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;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\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 (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^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 if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\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 = join(TEMPLATE, 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","'use strict';\nvar 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/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar microtask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\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/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","'use strict';\nvar 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/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","'use strict';\nvar 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/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/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 new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar 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/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","'use strict';\nvar 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/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar 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","'use strict';\nvar 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/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/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","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\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/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 setter = uncurryThisAccessor(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","'use strict';\nvar 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 new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar 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","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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 (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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 || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\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","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar 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 || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(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 = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], 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't work for /(.?)?/\n call(nativeReplace, 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 if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\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.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar 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.34.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/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","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\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]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\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","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = global.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, 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 eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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 (IS_NODE) {\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 = eventListener;\n defer = bind(port.postMessage, port);\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 isCallable(global.postMessage) &&\n !global.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n global.addEventListener('message', eventListener, 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","'use strict';\nvar 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","'use strict';\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","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar 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 new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar 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","'use strict';\nvar 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","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar 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","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar 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/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar 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/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = uncurryThis([].indexOf);\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0;\nvar FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: FORCED }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n var fromIndex = arguments.length > 1 ? arguments[1] : undefined;\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf(this, searchElement, fromIndex) || 0\n : $indexOf(this, searchElement, fromIndex);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\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.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/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.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\nvar FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: FORCED }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = uncurryThis([].reverse);\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign -- dirty hack\n if (isArray(this)) this.length = this.length;\n return nativeReverse(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(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 = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\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;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\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(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(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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 (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\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 (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new 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 call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\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 = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar nativeEndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\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.es/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 = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return nativeEndsWith\n ? nativeEndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\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 = toString(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","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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 // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\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 // eslint-disable-next-line regexp/no-empty-group -- required for testing\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\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\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 = toString(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 call(nativeSplit, 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 = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 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 || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 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 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/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 (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\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 (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, 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 = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar nativeStartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\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.es/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 = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return nativeStartsWith\n ? nativeStartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\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 setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\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\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","import 'core-js/modules/es.promise.js';\nimport _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';\nimport 'core-js/modules/es.string.match.js';\nimport 'core-js/modules/es.string.replace.js';\nimport 'core-js/modules/es.string.starts-with.js';\nimport 'core-js/modules/es.array.iterator.js';\nimport 'core-js/modules/web.dom-collections.iterator.js';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport 'core-js/modules/es.array.reduce.js';\nimport 'core-js/modules/es.string.ends-with.js';\nimport 'core-js/modules/es.string.split.js';\nimport requestAnimationFrame from 'raf';\nimport 'core-js/modules/es.string.trim.js';\nimport RGBColor from 'rgbcolor';\nimport 'core-js/modules/es.array.index-of.js';\nimport 'core-js/modules/es.string.includes.js';\nimport 'core-js/modules/es.array.reverse.js';\nimport { SVGPathData } from 'svg-pathdata';\nimport 'core-js/modules/es.regexp.to-string.js';\nimport { canvasRGBA } from 'stackblur-canvas';\n\n/**\r\n * Options preset for `OffscreenCanvas`.\r\n * @param config - Preset requirements.\r\n * @param config.DOMParser - XML/HTML parser from string into DOM Document.\r\n * @returns Preset object.\r\n */\nfunction offscreen() {\n var {\n DOMParser: DOMParserFallback\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var preset = {\n window: null,\n ignoreAnimation: true,\n ignoreMouse: true,\n DOMParser: DOMParserFallback,\n\n createCanvas(width, height) {\n return new OffscreenCanvas(width, height);\n },\n\n createImage(url) {\n return _asyncToGenerator(function* () {\n var response = yield fetch(url);\n var blob = yield response.blob();\n var img = yield createImageBitmap(blob);\n return img;\n })();\n }\n\n };\n\n if (typeof DOMParser !== 'undefined' || typeof DOMParserFallback === 'undefined') {\n Reflect.deleteProperty(preset, 'DOMParser');\n }\n\n return preset;\n}\n\n/**\r\n * Options preset for `node-canvas`.\r\n * @param config - Preset requirements.\r\n * @param config.DOMParser - XML/HTML parser from string into DOM Document.\r\n * @param config.canvas - `node-canvas` exports.\r\n * @param config.fetch - WHATWG-compatible `fetch` function.\r\n * @returns Preset object.\r\n */\nfunction node(_ref) {\n var {\n DOMParser,\n canvas,\n fetch\n } = _ref;\n return {\n window: null,\n ignoreAnimation: true,\n ignoreMouse: true,\n DOMParser,\n fetch,\n createCanvas: canvas.createCanvas,\n createImage: canvas.loadImage\n };\n}\n\nvar index = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\toffscreen: offscreen,\n\tnode: node\n});\n\n/**\r\n * HTML-safe compress white-spaces.\r\n * @param str - String to compress.\r\n * @returns String.\r\n */\nfunction compressSpaces(str) {\n return str.replace(/(?!\\u3000)\\s+/gm, ' ');\n}\n/**\r\n * HTML-safe left trim.\r\n * @param str - String to trim.\r\n * @returns String.\r\n */\n\nfunction trimLeft(str) {\n return str.replace(/^[\\n \\t]+/, '');\n}\n/**\r\n * HTML-safe right trim.\r\n * @param str - String to trim.\r\n * @returns String.\r\n */\n\nfunction trimRight(str) {\n return str.replace(/[\\n \\t]+$/, '');\n}\n/**\r\n * String to numbers array.\r\n * @param str - Numbers string.\r\n * @returns Numbers array.\r\n */\n\nfunction toNumbers(str) {\n var matches = (str || '').match(/-?(\\d+(?:\\.\\d*(?:[eE][+-]?\\d+)?)?|\\.\\d+)(?=\\D|$)/gm) || [];\n return matches.map(parseFloat);\n} // Microsoft Edge fix\n\nvar allUppercase = /^[A-Z-]+$/;\n/**\r\n * Normalize attribute name.\r\n * @param name - Attribute name.\r\n * @returns Normalized attribute name.\r\n */\n\nfunction normalizeAttributeName(name) {\n if (allUppercase.test(name)) {\n return name.toLowerCase();\n }\n\n return name;\n}\n/**\r\n * Parse external URL.\r\n * @param url - CSS url string.\r\n * @returns Parsed URL.\r\n */\n\nfunction parseExternalUrl(url) {\n // single quotes [2]\n // v double quotes [3]\n // v v no quotes [4]\n // v v v\n var urlMatch = /url\\(('([^']+)'|\"([^\"]+)\"|([^'\")]+))\\)/.exec(url) || [];\n return urlMatch[2] || urlMatch[3] || urlMatch[4];\n}\n/**\r\n * Transform floats to integers in rgb colors.\r\n * @param color - Color to normalize.\r\n * @returns Normalized color.\r\n */\n\nfunction normalizeColor(color) {\n if (!color.startsWith('rgb')) {\n return color;\n }\n\n var rgbParts = 3;\n var normalizedColor = color.replace(/\\d+(\\.\\d+)?/g, (num, isFloat) => rgbParts-- && isFloat ? String(Math.round(parseFloat(num))) : num);\n return normalizedColor;\n}\n\n// slightly modified version of https://github.com/keeganstreet/specificity/blob/master/specificity.js\nvar attributeRegex = /(\\[[^\\]]+\\])/g;\nvar idRegex = /(#[^\\s+>~.[:]+)/g;\nvar classRegex = /(\\.[^\\s+>~.[:]+)/g;\nvar pseudoElementRegex = /(::[^\\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi;\nvar pseudoClassWithBracketsRegex = /(:[\\w-]+\\([^)]*\\))/gi;\nvar pseudoClassRegex = /(:[^\\s+>~.[:]+)/g;\nvar elementRegex = /([^\\s+>~.[:]+)/g;\n\nfunction findSelectorMatch(selector, regex) {\n var matches = regex.exec(selector);\n\n if (!matches) {\n return [selector, 0];\n }\n\n return [selector.replace(regex, ' '), matches.length];\n}\n/**\r\n * Measure selector specificity.\r\n * @param selector - Selector to measure.\r\n * @returns Specificity.\r\n */\n\n\nfunction getSelectorSpecificity(selector) {\n var specificity = [0, 0, 0];\n var currentSelector = selector.replace(/:not\\(([^)]*)\\)/g, ' $1 ').replace(/{[\\s\\S]*/gm, ' ');\n var delta = 0;\n [currentSelector, delta] = findSelectorMatch(currentSelector, attributeRegex);\n specificity[1] += delta;\n [currentSelector, delta] = findSelectorMatch(currentSelector, idRegex);\n specificity[0] += delta;\n [currentSelector, delta] = findSelectorMatch(currentSelector, classRegex);\n specificity[1] += delta;\n [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoElementRegex);\n specificity[2] += delta;\n [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoClassWithBracketsRegex);\n specificity[1] += delta;\n [currentSelector, delta] = findSelectorMatch(currentSelector, pseudoClassRegex);\n specificity[1] += delta;\n currentSelector = currentSelector.replace(/[*\\s+>~]/g, ' ').replace(/[#.]/g, ' ');\n [currentSelector, delta] = findSelectorMatch(currentSelector, elementRegex); // lgtm [js/useless-assignment-to-local]\n\n specificity[2] += delta;\n return specificity.join('');\n}\n\nvar PSEUDO_ZERO = .00000001;\n/**\r\n * Vector magnitude.\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorMagnitude(v) {\n return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2));\n}\n/**\r\n * Ratio between two vectors.\r\n * @param u\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorsRatio(u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vectorMagnitude(u) * vectorMagnitude(v));\n}\n/**\r\n * Angle between two vectors.\r\n * @param u\r\n * @param v\r\n * @returns Number result.\r\n */\n\nfunction vectorsAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vectorsRatio(u, v));\n}\nfunction CB1(t) {\n return t * t * t;\n}\nfunction CB2(t) {\n return 3 * t * t * (1 - t);\n}\nfunction CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n}\nfunction CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n}\nfunction QB1(t) {\n return t * t;\n}\nfunction QB2(t) {\n return 2 * t * (1 - t);\n}\nfunction QB3(t) {\n return (1 - t) * (1 - t);\n}\n\nclass Property {\n constructor(document, name, value) {\n this.document = document;\n this.name = name;\n this.value = value;\n this.isNormalizedColor = false;\n }\n\n static empty(document) {\n return new Property(document, 'EMPTY', '');\n }\n\n split() {\n var separator = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ' ';\n var {\n document,\n name\n } = this;\n return compressSpaces(this.getString()).trim().split(separator).map(value => new Property(document, name, value));\n }\n\n hasValue(zeroIsValue) {\n var {\n value\n } = this;\n return value !== null && value !== '' && (zeroIsValue || value !== 0) && typeof value !== 'undefined';\n }\n\n isString(regexp) {\n var {\n value\n } = this;\n var result = typeof value === 'string';\n\n if (!result || !regexp) {\n return result;\n }\n\n return regexp.test(value);\n }\n\n isUrlDefinition() {\n return this.isString(/^url\\(/);\n }\n\n isPixels() {\n if (!this.hasValue()) {\n return false;\n }\n\n var asString = this.getString();\n\n switch (true) {\n case asString.endsWith('px'):\n case /^[0-9]+$/.test(asString):\n return true;\n\n default:\n return false;\n }\n }\n\n setValue(value) {\n this.value = value;\n return this;\n }\n\n getValue(def) {\n if (typeof def === 'undefined' || this.hasValue()) {\n return this.value;\n }\n\n return def;\n }\n\n getNumber(def) {\n if (!this.hasValue()) {\n if (typeof def === 'undefined') {\n return 0;\n }\n\n return parseFloat(def);\n }\n\n var {\n value\n } = this;\n var n = parseFloat(value);\n\n if (this.isString(/%$/)) {\n n /= 100.0;\n }\n\n return n;\n }\n\n getString(def) {\n if (typeof def === 'undefined' || this.hasValue()) {\n return typeof this.value === 'undefined' ? '' : String(this.value);\n }\n\n return String(def);\n }\n\n getColor(def) {\n var color = this.getString(def);\n\n if (this.isNormalizedColor) {\n return color;\n }\n\n this.isNormalizedColor = true;\n color = normalizeColor(color);\n this.value = color;\n return color;\n }\n\n getDpi() {\n return 96.0; // TODO: compute?\n }\n\n getRem() {\n return this.document.rootEmSize;\n }\n\n getEm() {\n return this.document.emSize;\n }\n\n getUnits() {\n return this.getString().replace(/[0-9.-]/g, '');\n }\n\n getPixels(axisOrIsFontSize) {\n var processPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.hasValue()) {\n return 0;\n }\n\n var [axis, isFontSize] = typeof axisOrIsFontSize === 'boolean' ? [undefined, axisOrIsFontSize] : [axisOrIsFontSize];\n var {\n viewPort\n } = this.document.screen;\n\n switch (true) {\n case this.isString(/vmin$/):\n return this.getNumber() / 100.0 * Math.min(viewPort.computeSize('x'), viewPort.computeSize('y'));\n\n case this.isString(/vmax$/):\n return this.getNumber() / 100.0 * Math.max(viewPort.computeSize('x'), viewPort.computeSize('y'));\n\n case this.isString(/vw$/):\n return this.getNumber() / 100.0 * viewPort.computeSize('x');\n\n case this.isString(/vh$/):\n return this.getNumber() / 100.0 * viewPort.computeSize('y');\n\n case this.isString(/rem$/):\n return this.getNumber() * this.getRem();\n\n case this.isString(/em$/):\n return this.getNumber() * this.getEm();\n\n case this.isString(/ex$/):\n return this.getNumber() * this.getEm() / 2.0;\n\n case this.isString(/px$/):\n return this.getNumber();\n\n case this.isString(/pt$/):\n return this.getNumber() * this.getDpi() * (1.0 / 72.0);\n\n case this.isString(/pc$/):\n return this.getNumber() * 15;\n\n case this.isString(/cm$/):\n return this.getNumber() * this.getDpi() / 2.54;\n\n case this.isString(/mm$/):\n return this.getNumber() * this.getDpi() / 25.4;\n\n case this.isString(/in$/):\n return this.getNumber() * this.getDpi();\n\n case this.isString(/%$/) && isFontSize:\n return this.getNumber() * this.getEm();\n\n case this.isString(/%$/):\n return this.getNumber() * viewPort.computeSize(axis);\n\n default:\n {\n var n = this.getNumber();\n\n if (processPercent && n < 1.0) {\n return n * viewPort.computeSize(axis);\n }\n\n return n;\n }\n }\n }\n\n getMilliseconds() {\n if (!this.hasValue()) {\n return 0;\n }\n\n if (this.isString(/ms$/)) {\n return this.getNumber();\n }\n\n return this.getNumber() * 1000;\n }\n\n getRadians() {\n if (!this.hasValue()) {\n return 0;\n }\n\n switch (true) {\n case this.isString(/deg$/):\n return this.getNumber() * (Math.PI / 180.0);\n\n case this.isString(/grad$/):\n return this.getNumber() * (Math.PI / 200.0);\n\n case this.isString(/rad$/):\n return this.getNumber();\n\n default:\n return this.getNumber() * (Math.PI / 180.0);\n }\n }\n\n getDefinition() {\n var asString = this.getString();\n var name = /#([^)'\"]+)/.exec(asString);\n\n if (name) {\n name = name[1];\n }\n\n if (!name) {\n name = asString;\n }\n\n return this.document.definitions[name];\n }\n\n getFillStyleDefinition(element, opacity) {\n var def = this.getDefinition();\n\n if (!def) {\n return null;\n } // gradient\n\n\n if (typeof def.createGradient === 'function') {\n return def.createGradient(this.document.ctx, element, opacity);\n } // pattern\n\n\n if (typeof def.createPattern === 'function') {\n if (def.getHrefAttribute().hasValue()) {\n var patternTransform = def.getAttribute('patternTransform');\n def = def.getHrefAttribute().getDefinition();\n\n if (patternTransform.hasValue()) {\n def.getAttribute('patternTransform', true).setValue(patternTransform.value);\n }\n }\n\n return def.createPattern(this.document.ctx, element, opacity);\n }\n\n return null;\n }\n\n getTextBaseline() {\n if (!this.hasValue()) {\n return null;\n }\n\n return Property.textBaselineMapping[this.getString()];\n }\n\n addOpacity(opacity) {\n var value = this.getColor();\n var len = value.length;\n var commas = 0; // Simulate old RGBColor version, which can't parse rgba.\n\n for (var i = 0; i < len; i++) {\n if (value[i] === ',') {\n commas++;\n }\n\n if (commas === 3) {\n break;\n }\n }\n\n if (opacity.hasValue() && this.isString() && commas !== 3) {\n var color = new RGBColor(value);\n\n if (color.ok) {\n color.alpha = opacity.getNumber();\n value = color.toRGBA();\n }\n }\n\n return new Property(this.document, this.name, value);\n }\n\n}\nProperty.textBaselineMapping = {\n 'baseline': 'alphabetic',\n 'before-edge': 'top',\n 'text-before-edge': 'top',\n 'middle': 'middle',\n 'central': 'middle',\n 'after-edge': 'bottom',\n 'text-after-edge': 'bottom',\n 'ideographic': 'ideographic',\n 'alphabetic': 'alphabetic',\n 'hanging': 'hanging',\n 'mathematical': 'alphabetic'\n};\n\nclass ViewPort {\n constructor() {\n this.viewPorts = [];\n }\n\n clear() {\n this.viewPorts = [];\n }\n\n setCurrent(width, height) {\n this.viewPorts.push({\n width,\n height\n });\n }\n\n removeCurrent() {\n this.viewPorts.pop();\n }\n\n getCurrent() {\n var {\n viewPorts\n } = this;\n return viewPorts[viewPorts.length - 1];\n }\n\n get width() {\n return this.getCurrent().width;\n }\n\n get height() {\n return this.getCurrent().height;\n }\n\n computeSize(d) {\n if (typeof d === 'number') {\n return d;\n }\n\n if (d === 'x') {\n return this.width;\n }\n\n if (d === 'y') {\n return this.height;\n }\n\n return Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2);\n }\n\n}\n\nclass Point {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n\n static parse(point) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var [x = defaultValue, y = defaultValue] = toNumbers(point);\n return new Point(x, y);\n }\n\n static parseScale(scale) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var [x = defaultValue, y = x] = toNumbers(scale);\n return new Point(x, y);\n }\n\n static parsePath(path) {\n var points = toNumbers(path);\n var len = points.length;\n var pathPoints = [];\n\n for (var i = 0; i < len; i += 2) {\n pathPoints.push(new Point(points[i], points[i + 1]));\n }\n\n return pathPoints;\n }\n\n angleTo(point) {\n return Math.atan2(point.y - this.y, point.x - this.x);\n }\n\n applyTransform(transform) {\n var {\n x,\n y\n } = this;\n var xp = x * transform[0] + y * transform[2] + transform[4];\n var yp = x * transform[1] + y * transform[3] + transform[5];\n this.x = xp;\n this.y = yp;\n }\n\n}\n\nclass Mouse {\n constructor(screen) {\n this.screen = screen;\n this.working = false;\n this.events = [];\n this.eventElements = []; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\n this.onClick = this.onClick.bind(this); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\n this.onMouseMove = this.onMouseMove.bind(this);\n }\n\n isWorking() {\n return this.working;\n }\n\n start() {\n if (this.working) {\n return;\n }\n\n var {\n screen,\n onClick,\n onMouseMove\n } = this;\n var canvas = screen.ctx.canvas;\n canvas.onclick = onClick;\n canvas.onmousemove = onMouseMove;\n this.working = true;\n }\n\n stop() {\n if (!this.working) {\n return;\n }\n\n var canvas = this.screen.ctx.canvas;\n this.working = false;\n canvas.onclick = null;\n canvas.onmousemove = null;\n }\n\n hasEvents() {\n return this.working && this.events.length > 0;\n }\n\n runEvents() {\n if (!this.working) {\n return;\n }\n\n var {\n screen: document,\n events,\n eventElements\n } = this;\n var {\n style\n } = document.ctx.canvas;\n\n if (style) {\n style.cursor = '';\n }\n\n events.forEach((_ref, i) => {\n var {\n run\n } = _ref;\n var element = eventElements[i];\n\n while (element) {\n run(element);\n element = element.parent;\n }\n }); // done running, clear\n\n this.events = [];\n this.eventElements = [];\n }\n\n checkPath(element, ctx) {\n if (!this.working || !ctx) {\n return;\n }\n\n var {\n events,\n eventElements\n } = this;\n events.forEach((_ref2, i) => {\n var {\n x,\n y\n } = _ref2;\n\n if (!eventElements[i] && ctx.isPointInPath && ctx.isPointInPath(x, y)) {\n eventElements[i] = element;\n }\n });\n }\n\n checkBoundingBox(element, boundingBox) {\n if (!this.working || !boundingBox) {\n return;\n }\n\n var {\n events,\n eventElements\n } = this;\n events.forEach((_ref3, i) => {\n var {\n x,\n y\n } = _ref3;\n\n if (!eventElements[i] && boundingBox.isPointInBox(x, y)) {\n eventElements[i] = element;\n }\n });\n }\n\n mapXY(x, y) {\n var {\n window,\n ctx\n } = this.screen;\n var point = new Point(x, y);\n var element = ctx.canvas;\n\n while (element) {\n point.x -= element.offsetLeft;\n point.y -= element.offsetTop;\n element = element.offsetParent;\n }\n\n if (window.scrollX) {\n point.x += window.scrollX;\n }\n\n if (window.scrollY) {\n point.y += window.scrollY;\n }\n\n return point;\n }\n\n onClick(event) {\n var {\n x,\n y\n } = this.mapXY(event.clientX, event.clientY);\n this.events.push({\n type: 'onclick',\n x,\n y,\n\n run(eventTarget) {\n if (eventTarget.onClick) {\n eventTarget.onClick();\n }\n }\n\n });\n }\n\n onMouseMove(event) {\n var {\n x,\n y\n } = this.mapXY(event.clientX, event.clientY);\n this.events.push({\n type: 'onmousemove',\n x,\n y,\n\n run(eventTarget) {\n if (eventTarget.onMouseMove) {\n eventTarget.onMouseMove();\n }\n }\n\n });\n }\n\n}\n\nvar defaultWindow = typeof window !== 'undefined' ? window : null;\nvar defaultFetch$1 = typeof fetch !== 'undefined' ? fetch.bind(undefined) // `fetch` depends on context: `someObject.fetch(...)` will throw error.\n: null;\nclass Screen {\n constructor(ctx) {\n var {\n fetch = defaultFetch$1,\n window = defaultWindow\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.ctx = ctx;\n this.FRAMERATE = 30;\n this.MAX_VIRTUAL_PIXELS = 30000;\n this.CLIENT_WIDTH = 800;\n this.CLIENT_HEIGHT = 600;\n this.viewPort = new ViewPort();\n this.mouse = new Mouse(this);\n this.animations = [];\n this.waits = [];\n this.frameDuration = 0;\n this.isReadyLock = false;\n this.isFirstRender = true;\n this.intervalId = null;\n this.window = window;\n this.fetch = fetch;\n }\n\n wait(checker) {\n this.waits.push(checker);\n }\n\n ready() {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!this.readyPromise) {\n return Promise.resolve();\n }\n\n return this.readyPromise;\n }\n\n isReady() {\n if (this.isReadyLock) {\n return true;\n }\n\n var isReadyLock = this.waits.every(_ => _());\n\n if (isReadyLock) {\n this.waits = [];\n\n if (this.resolveReady) {\n this.resolveReady();\n }\n }\n\n this.isReadyLock = isReadyLock;\n return isReadyLock;\n }\n\n setDefaults(ctx) {\n // initial values and defaults\n ctx.strokeStyle = 'rgba(0,0,0,0)';\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 4;\n }\n\n setViewBox(_ref) {\n var {\n document,\n ctx,\n aspectRatio,\n width,\n desiredWidth,\n height,\n desiredHeight,\n minX = 0,\n minY = 0,\n refX,\n refY,\n clip = false,\n clipX = 0,\n clipY = 0\n } = _ref;\n // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute\n var cleanAspectRatio = compressSpaces(aspectRatio).replace(/^defer\\s/, ''); // ignore defer\n\n var [aspectRatioAlign, aspectRatioMeetOrSlice] = cleanAspectRatio.split(' ');\n var align = aspectRatioAlign || 'xMidYMid';\n var meetOrSlice = aspectRatioMeetOrSlice || 'meet'; // calculate scale\n\n var scaleX = width / desiredWidth;\n var scaleY = height / desiredHeight;\n var scaleMin = Math.min(scaleX, scaleY);\n var scaleMax = Math.max(scaleX, scaleY);\n var finalDesiredWidth = desiredWidth;\n var finalDesiredHeight = desiredHeight;\n\n if (meetOrSlice === 'meet') {\n finalDesiredWidth *= scaleMin;\n finalDesiredHeight *= scaleMin;\n }\n\n if (meetOrSlice === 'slice') {\n finalDesiredWidth *= scaleMax;\n finalDesiredHeight *= scaleMax;\n }\n\n var refXProp = new Property(document, 'refX', refX);\n var refYProp = new Property(document, 'refY', refY);\n var hasRefs = refXProp.hasValue() && refYProp.hasValue();\n\n if (hasRefs) {\n ctx.translate(-scaleMin * refXProp.getPixels('x'), -scaleMin * refYProp.getPixels('y'));\n }\n\n if (clip) {\n var scaledClipX = scaleMin * clipX;\n var scaledClipY = scaleMin * clipY;\n ctx.beginPath();\n ctx.moveTo(scaledClipX, scaledClipY);\n ctx.lineTo(width, scaledClipY);\n ctx.lineTo(width, height);\n ctx.lineTo(scaledClipX, height);\n ctx.closePath();\n ctx.clip();\n }\n\n if (!hasRefs) {\n var isMeetMinY = meetOrSlice === 'meet' && scaleMin === scaleY;\n var isSliceMaxY = meetOrSlice === 'slice' && scaleMax === scaleY;\n var isMeetMinX = meetOrSlice === 'meet' && scaleMin === scaleX;\n var isSliceMaxX = meetOrSlice === 'slice' && scaleMax === scaleX;\n\n if (align.startsWith('xMid') && (isMeetMinY || isSliceMaxY)) {\n ctx.translate(width / 2.0 - finalDesiredWidth / 2.0, 0);\n }\n\n if (align.endsWith('YMid') && (isMeetMinX || isSliceMaxX)) {\n ctx.translate(0, height / 2.0 - finalDesiredHeight / 2.0);\n }\n\n if (align.startsWith('xMax') && (isMeetMinY || isSliceMaxY)) {\n ctx.translate(width - finalDesiredWidth, 0);\n }\n\n if (align.endsWith('YMax') && (isMeetMinX || isSliceMaxX)) {\n ctx.translate(0, height - finalDesiredHeight);\n }\n } // scale\n\n\n switch (true) {\n case align === 'none':\n ctx.scale(scaleX, scaleY);\n break;\n\n case meetOrSlice === 'meet':\n ctx.scale(scaleMin, scaleMin);\n break;\n\n case meetOrSlice === 'slice':\n ctx.scale(scaleMax, scaleMax);\n break;\n } // translate\n\n\n ctx.translate(-minX, -minY);\n }\n\n start(element) {\n var {\n enableRedraw = false,\n ignoreMouse = false,\n ignoreAnimation = false,\n ignoreDimensions = false,\n ignoreClear = false,\n forceRedraw,\n scaleWidth,\n scaleHeight,\n offsetX,\n offsetY\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var {\n FRAMERATE,\n mouse\n } = this;\n var frameDuration = 1000 / FRAMERATE;\n this.frameDuration = frameDuration;\n this.readyPromise = new Promise(resolve => {\n this.resolveReady = resolve;\n });\n\n if (this.isReady()) {\n this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);\n }\n\n if (!enableRedraw) {\n return;\n }\n\n var now = Date.now();\n var then = now;\n var delta = 0;\n\n var tick = () => {\n now = Date.now();\n delta = now - then;\n\n if (delta >= frameDuration) {\n then = now - delta % frameDuration;\n\n if (this.shouldUpdate(ignoreAnimation, forceRedraw)) {\n this.render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY);\n mouse.runEvents();\n }\n }\n\n this.intervalId = requestAnimationFrame(tick);\n };\n\n if (!ignoreMouse) {\n mouse.start();\n }\n\n this.intervalId = requestAnimationFrame(tick);\n }\n\n stop() {\n if (this.intervalId) {\n requestAnimationFrame.cancel(this.intervalId);\n this.intervalId = null;\n }\n\n this.mouse.stop();\n }\n\n shouldUpdate(ignoreAnimation, forceRedraw) {\n // need update from animations?\n if (!ignoreAnimation) {\n var {\n frameDuration\n } = this;\n var shouldUpdate = this.animations.reduce((shouldUpdate, animation) => animation.update(frameDuration) || shouldUpdate, false);\n\n if (shouldUpdate) {\n return true;\n }\n } // need update from redraw?\n\n\n if (typeof forceRedraw === 'function' && forceRedraw()) {\n return true;\n }\n\n if (!this.isReadyLock && this.isReady()) {\n return true;\n } // need update from mouse events?\n\n\n if (this.mouse.hasEvents()) {\n return true;\n }\n\n return false;\n }\n\n render(element, ignoreDimensions, ignoreClear, scaleWidth, scaleHeight, offsetX, offsetY) {\n var {\n CLIENT_WIDTH,\n CLIENT_HEIGHT,\n viewPort,\n ctx,\n isFirstRender\n } = this;\n var canvas = ctx.canvas;\n viewPort.clear();\n\n if (canvas.width && canvas.height) {\n viewPort.setCurrent(canvas.width, canvas.height);\n } else {\n viewPort.setCurrent(CLIENT_WIDTH, CLIENT_HEIGHT);\n }\n\n var widthStyle = element.getStyle('width');\n var heightStyle = element.getStyle('height');\n\n if (!ignoreDimensions && (isFirstRender || typeof scaleWidth !== 'number' && typeof scaleHeight !== 'number')) {\n // set canvas size\n if (widthStyle.hasValue()) {\n canvas.width = widthStyle.getPixels('x');\n\n if (canvas.style) {\n canvas.style.width = \"\".concat(canvas.width, \"px\");\n }\n }\n\n if (heightStyle.hasValue()) {\n canvas.height = heightStyle.getPixels('y');\n\n if (canvas.style) {\n canvas.style.height = \"\".concat(canvas.height, \"px\");\n }\n }\n }\n\n var cWidth = canvas.clientWidth || canvas.width;\n var cHeight = canvas.clientHeight || canvas.height;\n\n if (ignoreDimensions && widthStyle.hasValue() && heightStyle.hasValue()) {\n cWidth = widthStyle.getPixels('x');\n cHeight = heightStyle.getPixels('y');\n }\n\n viewPort.setCurrent(cWidth, cHeight);\n\n if (typeof offsetX === 'number') {\n element.getAttribute('x', true).setValue(offsetX);\n }\n\n if (typeof offsetY === 'number') {\n element.getAttribute('y', true).setValue(offsetY);\n }\n\n if (typeof scaleWidth === 'number' || typeof scaleHeight === 'number') {\n var viewBox = toNumbers(element.getAttribute('viewBox').getString());\n var xRatio = 0;\n var yRatio = 0;\n\n if (typeof scaleWidth === 'number') {\n var _widthStyle = element.getStyle('width');\n\n if (_widthStyle.hasValue()) {\n xRatio = _widthStyle.getPixels('x') / scaleWidth;\n } else if (!isNaN(viewBox[2])) {\n xRatio = viewBox[2] / scaleWidth;\n }\n }\n\n if (typeof scaleHeight === 'number') {\n var _heightStyle = element.getStyle('height');\n\n if (_heightStyle.hasValue()) {\n yRatio = _heightStyle.getPixels('y') / scaleHeight;\n } else if (!isNaN(viewBox[3])) {\n yRatio = viewBox[3] / scaleHeight;\n }\n }\n\n if (!xRatio) {\n xRatio = yRatio;\n }\n\n if (!yRatio) {\n yRatio = xRatio;\n }\n\n element.getAttribute('width', true).setValue(scaleWidth);\n element.getAttribute('height', true).setValue(scaleHeight);\n var transformStyle = element.getStyle('transform', true, true);\n transformStyle.setValue(\"\".concat(transformStyle.getString(), \" scale(\").concat(1.0 / xRatio, \", \").concat(1.0 / yRatio, \")\"));\n } // clear and render\n\n\n if (!ignoreClear) {\n ctx.clearRect(0, 0, cWidth, cHeight);\n }\n\n element.render(ctx);\n\n if (isFirstRender) {\n this.isFirstRender = false;\n }\n }\n\n}\nScreen.defaultWindow = defaultWindow;\nScreen.defaultFetch = defaultFetch$1;\n\nvar {\n defaultFetch\n} = Screen;\nvar DefaultDOMParser = typeof DOMParser !== 'undefined' ? DOMParser : null;\nclass Parser {\n constructor() {\n var {\n fetch = defaultFetch,\n DOMParser = DefaultDOMParser\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.fetch = fetch;\n this.DOMParser = DOMParser;\n }\n\n parse(resource) {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n if (resource.startsWith('<')) {\n return _this.parseFromString(resource);\n }\n\n return _this.load(resource);\n })();\n }\n\n parseFromString(xml) {\n var parser = new this.DOMParser();\n\n try {\n return this.checkDocument(parser.parseFromString(xml, 'image/svg+xml'));\n } catch (err) {\n return this.checkDocument(parser.parseFromString(xml, 'text/xml'));\n }\n }\n\n checkDocument(document) {\n var parserError = document.getElementsByTagName('parsererror')[0];\n\n if (parserError) {\n throw new Error(parserError.textContent);\n }\n\n return document;\n }\n\n load(url) {\n var _this2 = this;\n\n return _asyncToGenerator(function* () {\n var response = yield _this2.fetch(url);\n var xml = yield response.text();\n return _this2.parseFromString(xml);\n })();\n }\n\n}\n\nclass Translate {\n constructor(_, point) {\n this.type = 'translate';\n this.point = null;\n this.point = Point.parse(point);\n }\n\n apply(ctx) {\n var {\n x,\n y\n } = this.point;\n ctx.translate(x || 0.0, y || 0.0);\n }\n\n unapply(ctx) {\n var {\n x,\n y\n } = this.point;\n ctx.translate(-1.0 * x || 0.0, -1.0 * y || 0.0);\n }\n\n applyToPoint(point) {\n var {\n x,\n y\n } = this.point;\n point.applyTransform([1, 0, 0, 1, x || 0.0, y || 0.0]);\n }\n\n}\n\nclass Rotate {\n constructor(document, rotate, transformOrigin) {\n this.type = 'rotate';\n this.angle = null;\n this.originX = null;\n this.originY = null;\n this.cx = 0;\n this.cy = 0;\n var numbers = toNumbers(rotate);\n this.angle = new Property(document, 'angle', numbers[0]);\n this.originX = transformOrigin[0];\n this.originY = transformOrigin[1];\n this.cx = numbers[1] || 0;\n this.cy = numbers[2] || 0;\n }\n\n apply(ctx) {\n var {\n cx,\n cy,\n originX,\n originY,\n angle\n } = this;\n var tx = cx + originX.getPixels('x');\n var ty = cy + originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.rotate(angle.getRadians());\n ctx.translate(-tx, -ty);\n }\n\n unapply(ctx) {\n var {\n cx,\n cy,\n originX,\n originY,\n angle\n } = this;\n var tx = cx + originX.getPixels('x');\n var ty = cy + originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.rotate(-1.0 * angle.getRadians());\n ctx.translate(-tx, -ty);\n }\n\n applyToPoint(point) {\n var {\n cx,\n cy,\n angle\n } = this;\n var rad = angle.getRadians();\n point.applyTransform([1, 0, 0, 1, cx || 0.0, cy || 0.0 // this.p.y\n ]);\n point.applyTransform([Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), 0, 0]);\n point.applyTransform([1, 0, 0, 1, -cx || 0.0, -cy || 0.0 // -this.p.y\n ]);\n }\n\n}\n\nclass Scale {\n constructor(_, scale, transformOrigin) {\n this.type = 'scale';\n this.scale = null;\n this.originX = null;\n this.originY = null;\n var scaleSize = Point.parseScale(scale); // Workaround for node-canvas\n\n if (scaleSize.x === 0 || scaleSize.y === 0) {\n scaleSize.x = PSEUDO_ZERO;\n scaleSize.y = PSEUDO_ZERO;\n }\n\n this.scale = scaleSize;\n this.originX = transformOrigin[0];\n this.originY = transformOrigin[1];\n }\n\n apply(ctx) {\n var {\n scale: {\n x,\n y\n },\n originX,\n originY\n } = this;\n var tx = originX.getPixels('x');\n var ty = originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.scale(x, y || x);\n ctx.translate(-tx, -ty);\n }\n\n unapply(ctx) {\n var {\n scale: {\n x,\n y\n },\n originX,\n originY\n } = this;\n var tx = originX.getPixels('x');\n var ty = originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.scale(1.0 / x, 1.0 / y || x);\n ctx.translate(-tx, -ty);\n }\n\n applyToPoint(point) {\n var {\n x,\n y\n } = this.scale;\n point.applyTransform([x || 0.0, 0, 0, y || 0.0, 0, 0]);\n }\n\n}\n\nclass Matrix {\n constructor(_, matrix, transformOrigin) {\n this.type = 'matrix';\n this.matrix = [];\n this.originX = null;\n this.originY = null;\n this.matrix = toNumbers(matrix);\n this.originX = transformOrigin[0];\n this.originY = transformOrigin[1];\n }\n\n apply(ctx) {\n var {\n originX,\n originY,\n matrix\n } = this;\n var tx = originX.getPixels('x');\n var ty = originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n ctx.translate(-tx, -ty);\n }\n\n unapply(ctx) {\n var {\n originX,\n originY,\n matrix\n } = this;\n var a = matrix[0];\n var b = matrix[2];\n var c = matrix[4];\n var d = matrix[1];\n var e = matrix[3];\n var f = matrix[5];\n var g = 0.0;\n var h = 0.0;\n var i = 1.0;\n var det = 1 / (a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g));\n var tx = originX.getPixels('x');\n var ty = originY.getPixels('y');\n ctx.translate(tx, ty);\n ctx.transform(det * (e * i - f * h), det * (f * g - d * i), det * (c * h - b * i), det * (a * i - c * g), det * (b * f - c * e), det * (c * d - a * f));\n ctx.translate(-tx, -ty);\n }\n\n applyToPoint(point) {\n point.applyTransform(this.matrix);\n }\n\n}\n\nclass Skew extends Matrix {\n constructor(document, skew, transformOrigin) {\n super(document, skew, transformOrigin);\n this.type = 'skew';\n this.angle = null;\n this.angle = new Property(document, 'angle', skew);\n }\n\n}\n\nclass SkewX extends Skew {\n constructor(document, skew, transformOrigin) {\n super(document, skew, transformOrigin);\n this.type = 'skewX';\n this.matrix = [1, 0, Math.tan(this.angle.getRadians()), 1, 0, 0];\n }\n\n}\n\nclass SkewY extends Skew {\n constructor(document, skew, transformOrigin) {\n super(document, skew, transformOrigin);\n this.type = 'skewY';\n this.matrix = [1, Math.tan(this.angle.getRadians()), 0, 1, 0, 0];\n }\n\n}\n\nfunction parseTransforms(transform) {\n return compressSpaces(transform).trim().replace(/\\)([a-zA-Z])/g, ') $1').replace(/\\)(\\s?,\\s?)/g, ') ').split(/\\s(?=[a-z])/);\n}\n\nfunction parseTransform(transform) {\n var [type, value] = transform.split('(');\n return [type.trim(), value.trim().replace(')', '')];\n}\n\nclass Transform {\n constructor(document, transform, transformOrigin) {\n this.document = document;\n this.transforms = [];\n var data = parseTransforms(transform);\n data.forEach(transform => {\n if (transform === 'none') {\n return;\n }\n\n var [type, value] = parseTransform(transform);\n var TransformType = Transform.transformTypes[type];\n\n if (typeof TransformType !== 'undefined') {\n this.transforms.push(new TransformType(this.document, value, transformOrigin));\n }\n });\n }\n\n static fromElement(document, element) {\n var transformStyle = element.getStyle('transform', false, true);\n var [transformOriginXProperty, transformOriginYProperty = transformOriginXProperty] = element.getStyle('transform-origin', false, true).split();\n var transformOrigin = [transformOriginXProperty, transformOriginYProperty];\n\n if (transformStyle.hasValue()) {\n return new Transform(document, transformStyle.getString(), transformOrigin);\n }\n\n return null;\n }\n\n apply(ctx) {\n var {\n transforms\n } = this;\n var len = transforms.length;\n\n for (var i = 0; i < len; i++) {\n transforms[i].apply(ctx);\n }\n }\n\n unapply(ctx) {\n var {\n transforms\n } = this;\n var len = transforms.length;\n\n for (var i = len - 1; i >= 0; i--) {\n transforms[i].unapply(ctx);\n }\n } // TODO: applyToPoint unused ... remove?\n\n\n applyToPoint(point) {\n var {\n transforms\n } = this;\n var len = transforms.length;\n\n for (var i = 0; i < len; i++) {\n transforms[i].applyToPoint(point);\n }\n }\n\n}\nTransform.transformTypes = {\n translate: Translate,\n rotate: Rotate,\n scale: Scale,\n matrix: Matrix,\n skewX: SkewX,\n skewY: SkewY\n};\n\nclass Element {\n constructor(document, node) {\n var captureTextNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this.document = document;\n this.node = node;\n this.captureTextNodes = captureTextNodes;\n this.attributes = {};\n this.styles = {};\n this.stylesSpecificity = {};\n this.animationFrozen = false;\n this.animationFrozenValue = '';\n this.parent = null;\n this.children = [];\n\n if (!node || node.nodeType !== 1) {\n // ELEMENT_NODE\n return;\n } // add attributes\n\n\n Array.from(node.attributes).forEach(attribute => {\n var nodeName = normalizeAttributeName(attribute.nodeName);\n this.attributes[nodeName] = new Property(document, nodeName, attribute.value);\n });\n this.addStylesFromStyleDefinition(); // add inline styles\n\n if (this.getAttribute('style').hasValue()) {\n var styles = this.getAttribute('style').getString().split(';').map(_ => _.trim());\n styles.forEach(style => {\n if (!style) {\n return;\n }\n\n var [name, value] = style.split(':').map(_ => _.trim());\n this.styles[name] = new Property(document, name, value);\n });\n }\n\n var {\n definitions\n } = document;\n var id = this.getAttribute('id'); // add id\n\n if (id.hasValue()) {\n if (!definitions[id.getString()]) {\n definitions[id.getString()] = this;\n }\n }\n\n Array.from(node.childNodes).forEach(childNode => {\n if (childNode.nodeType === 1) {\n this.addChild(childNode); // ELEMENT_NODE\n } else if (captureTextNodes && (childNode.nodeType === 3 || childNode.nodeType === 4)) {\n var textNode = document.createTextNode(childNode);\n\n if (textNode.getText().length > 0) {\n this.addChild(textNode); // TEXT_NODE\n }\n }\n });\n }\n\n getAttribute(name) {\n var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var attr = this.attributes[name];\n\n if (!attr && createIfNotExists) {\n var _attr = new Property(this.document, name, '');\n\n this.attributes[name] = _attr;\n return _attr;\n }\n\n return attr || Property.empty(this.document);\n }\n\n getHrefAttribute() {\n for (var key in this.attributes) {\n if (key === 'href' || key.endsWith(':href')) {\n return this.attributes[key];\n }\n }\n\n return Property.empty(this.document);\n }\n\n getStyle(name) {\n var createIfNotExists = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var skipAncestors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var style = this.styles[name];\n\n if (style) {\n return style;\n }\n\n var attr = this.getAttribute(name);\n\n if (attr !== null && attr !== void 0 && attr.hasValue()) {\n this.styles[name] = attr; // move up to me to cache\n\n return attr;\n }\n\n if (!skipAncestors) {\n var {\n parent\n } = this;\n\n if (parent) {\n var parentStyle = parent.getStyle(name);\n\n if (parentStyle !== null && parentStyle !== void 0 && parentStyle.hasValue()) {\n return parentStyle;\n }\n }\n }\n\n if (createIfNotExists) {\n var _style = new Property(this.document, name, '');\n\n this.styles[name] = _style;\n return _style;\n }\n\n return style || Property.empty(this.document);\n }\n\n render(ctx) {\n // don't render display=none\n // don't render visibility=hidden\n if (this.getStyle('display').getString() === 'none' || this.getStyle('visibility').getString() === 'hidden') {\n return;\n }\n\n ctx.save();\n\n if (this.getStyle('mask').hasValue()) {\n // mask\n var mask = this.getStyle('mask').getDefinition();\n\n if (mask) {\n this.applyEffects(ctx);\n mask.apply(ctx, this);\n }\n } else if (this.getStyle('filter').getValue('none') !== 'none') {\n // filter\n var filter = this.getStyle('filter').getDefinition();\n\n if (filter) {\n this.applyEffects(ctx);\n filter.apply(ctx, this);\n }\n } else {\n this.setContext(ctx);\n this.renderChildren(ctx);\n this.clearContext(ctx);\n }\n\n ctx.restore();\n }\n\n setContext(_) {// NO RENDER\n }\n\n applyEffects(ctx) {\n // transform\n var transform = Transform.fromElement(this.document, this);\n\n if (transform) {\n transform.apply(ctx);\n } // clip\n\n\n var clipPathStyleProp = this.getStyle('clip-path', false, true);\n\n if (clipPathStyleProp.hasValue()) {\n var clip = clipPathStyleProp.getDefinition();\n\n if (clip) {\n clip.apply(ctx);\n }\n }\n }\n\n clearContext(_) {// NO RENDER\n }\n\n renderChildren(ctx) {\n this.children.forEach(child => {\n child.render(ctx);\n });\n }\n\n addChild(childNode) {\n var child = childNode instanceof Element ? childNode : this.document.createElement(childNode);\n child.parent = this;\n\n if (!Element.ignoreChildTypes.includes(child.type)) {\n this.children.push(child);\n }\n }\n\n matchesSelector(selector) {\n var _node$getAttribute;\n\n var {\n node\n } = this;\n\n if (typeof node.matches === 'function') {\n return node.matches(selector);\n }\n\n var styleClasses = (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'class');\n\n if (!styleClasses || styleClasses === '') {\n return false;\n }\n\n return styleClasses.split(' ').some(styleClass => \".\".concat(styleClass) === selector);\n }\n\n addStylesFromStyleDefinition() {\n var {\n styles,\n stylesSpecificity\n } = this.document;\n\n for (var selector in styles) {\n if (!selector.startsWith('@') && this.matchesSelector(selector)) {\n var style = styles[selector];\n var specificity = stylesSpecificity[selector];\n\n if (style) {\n for (var name in style) {\n var existingSpecificity = this.stylesSpecificity[name];\n\n if (typeof existingSpecificity === 'undefined') {\n existingSpecificity = '000';\n }\n\n if (specificity >= existingSpecificity) {\n this.styles[name] = style[name];\n this.stylesSpecificity[name] = specificity;\n }\n }\n }\n }\n }\n }\n\n removeStyles(element, ignoreStyles) {\n var toRestore = ignoreStyles.reduce((toRestore, name) => {\n var styleProp = element.getStyle(name);\n\n if (!styleProp.hasValue()) {\n return toRestore;\n }\n\n var value = styleProp.getString();\n styleProp.setValue('');\n return [...toRestore, [name, value]];\n }, []);\n return toRestore;\n }\n\n restoreStyles(element, styles) {\n styles.forEach(_ref => {\n var [name, value] = _ref;\n element.getStyle(name, true).setValue(value);\n });\n }\n\n isFirstChild() {\n var _this$parent;\n\n return ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.children.indexOf(this)) === 0;\n }\n\n}\nElement.ignoreChildTypes = ['title'];\n\nclass UnknownElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n }\n\n}\n\nfunction wrapFontFamily(fontFamily) {\n var trimmed = fontFamily.trim();\n return /^('|\")/.test(trimmed) ? trimmed : \"\\\"\".concat(trimmed, \"\\\"\");\n}\n\nfunction prepareFontFamily(fontFamily) {\n return typeof process === 'undefined' ? fontFamily : fontFamily.trim().split(',').map(wrapFontFamily).join(',');\n}\n/**\r\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\r\n * @param fontStyle\r\n * @returns CSS font style.\r\n */\n\n\nfunction prepareFontStyle(fontStyle) {\n if (!fontStyle) {\n return '';\n }\n\n var targetFontStyle = fontStyle.trim().toLowerCase();\n\n switch (targetFontStyle) {\n case 'normal':\n case 'italic':\n case 'oblique':\n case 'inherit':\n case 'initial':\n case 'unset':\n return targetFontStyle;\n\n default:\n if (/^oblique\\s+(-|)\\d+deg$/.test(targetFontStyle)) {\n return targetFontStyle;\n }\n\n return '';\n }\n}\n/**\r\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\r\n * @param fontWeight\r\n * @returns CSS font weight.\r\n */\n\n\nfunction prepareFontWeight(fontWeight) {\n if (!fontWeight) {\n return '';\n }\n\n var targetFontWeight = fontWeight.trim().toLowerCase();\n\n switch (targetFontWeight) {\n case 'normal':\n case 'bold':\n case 'lighter':\n case 'bolder':\n case 'inherit':\n case 'initial':\n case 'unset':\n return targetFontWeight;\n\n default:\n if (/^[\\d.]+$/.test(targetFontWeight)) {\n return targetFontWeight;\n }\n\n return '';\n }\n}\n\nclass Font {\n constructor(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {\n var inheritFont = inherit ? typeof inherit === 'string' ? Font.parse(inherit) : inherit : {};\n this.fontFamily = fontFamily || inheritFont.fontFamily;\n this.fontSize = fontSize || inheritFont.fontSize;\n this.fontStyle = fontStyle || inheritFont.fontStyle;\n this.fontWeight = fontWeight || inheritFont.fontWeight;\n this.fontVariant = fontVariant || inheritFont.fontVariant;\n }\n\n static parse() {\n var font = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var inherit = arguments.length > 1 ? arguments[1] : undefined;\n var fontStyle = '';\n var fontVariant = '';\n var fontWeight = '';\n var fontSize = '';\n var fontFamily = '';\n var parts = compressSpaces(font).trim().split(' ');\n var set = {\n fontSize: false,\n fontStyle: false,\n fontWeight: false,\n fontVariant: false\n };\n parts.forEach(part => {\n switch (true) {\n case !set.fontStyle && Font.styles.includes(part):\n if (part !== 'inherit') {\n fontStyle = part;\n }\n\n set.fontStyle = true;\n break;\n\n case !set.fontVariant && Font.variants.includes(part):\n if (part !== 'inherit') {\n fontVariant = part;\n }\n\n set.fontStyle = true;\n set.fontVariant = true;\n break;\n\n case !set.fontWeight && Font.weights.includes(part):\n if (part !== 'inherit') {\n fontWeight = part;\n }\n\n set.fontStyle = true;\n set.fontVariant = true;\n set.fontWeight = true;\n break;\n\n case !set.fontSize:\n if (part !== 'inherit') {\n [fontSize] = part.split('/');\n }\n\n set.fontStyle = true;\n set.fontVariant = true;\n set.fontWeight = true;\n set.fontSize = true;\n break;\n\n default:\n if (part !== 'inherit') {\n fontFamily += part;\n }\n\n }\n });\n return new Font(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit);\n }\n\n toString() {\n return [prepareFontStyle(this.fontStyle), this.fontVariant, prepareFontWeight(this.fontWeight), this.fontSize, // Wrap fontFamily only on nodejs and only for canvas.ctx\n prepareFontFamily(this.fontFamily)].join(' ').trim();\n }\n\n}\nFont.styles = 'normal|italic|oblique|inherit';\nFont.variants = 'normal|small-caps|inherit';\nFont.weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit';\n\nclass BoundingBox {\n constructor() {\n var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.NaN;\n var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.NaN;\n var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Number.NaN;\n var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Number.NaN;\n this.x1 = x1;\n this.y1 = y1;\n this.x2 = x2;\n this.y2 = y2;\n this.addPoint(x1, y1);\n this.addPoint(x2, y2);\n }\n\n get x() {\n return this.x1;\n }\n\n get y() {\n return this.y1;\n }\n\n get width() {\n return this.x2 - this.x1;\n }\n\n get height() {\n return this.y2 - this.y1;\n }\n\n addPoint(x, y) {\n if (typeof x !== 'undefined') {\n if (isNaN(this.x1) || isNaN(this.x2)) {\n this.x1 = x;\n this.x2 = x;\n }\n\n if (x < this.x1) {\n this.x1 = x;\n }\n\n if (x > this.x2) {\n this.x2 = x;\n }\n }\n\n if (typeof y !== 'undefined') {\n if (isNaN(this.y1) || isNaN(this.y2)) {\n this.y1 = y;\n this.y2 = y;\n }\n\n if (y < this.y1) {\n this.y1 = y;\n }\n\n if (y > this.y2) {\n this.y2 = y;\n }\n }\n }\n\n addX(x) {\n this.addPoint(x, null);\n }\n\n addY(y) {\n this.addPoint(null, y);\n }\n\n addBoundingBox(boundingBox) {\n if (!boundingBox) {\n return;\n }\n\n var {\n x1,\n y1,\n x2,\n y2\n } = boundingBox;\n this.addPoint(x1, y1);\n this.addPoint(x2, y2);\n }\n\n sumCubic(t, p0, p1, p2, p3) {\n return Math.pow(1 - t, 3) * p0 + 3 * Math.pow(1 - t, 2) * t * p1 + 3 * (1 - t) * Math.pow(t, 2) * p2 + Math.pow(t, 3) * p3;\n }\n\n bezierCurveAdd(forX, p0, p1, p2, p3) {\n var b = 6 * p0 - 12 * p1 + 6 * p2;\n var a = -3 * p0 + 9 * p1 - 9 * p2 + 3 * p3;\n var c = 3 * p1 - 3 * p0;\n\n if (a === 0) {\n if (b === 0) {\n return;\n }\n\n var t = -c / b;\n\n if (0 < t && t < 1) {\n if (forX) {\n this.addX(this.sumCubic(t, p0, p1, p2, p3));\n } else {\n this.addY(this.sumCubic(t, p0, p1, p2, p3));\n }\n }\n\n return;\n }\n\n var b2ac = Math.pow(b, 2) - 4 * c * a;\n\n if (b2ac < 0) {\n return;\n }\n\n var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n if (forX) {\n this.addX(this.sumCubic(t1, p0, p1, p2, p3));\n } else {\n this.addY(this.sumCubic(t1, p0, p1, p2, p3));\n }\n }\n\n var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n if (forX) {\n this.addX(this.sumCubic(t2, p0, p1, p2, p3));\n } else {\n this.addY(this.sumCubic(t2, p0, p1, p2, p3));\n }\n }\n } // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n\n\n addBezierCurve(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {\n this.addPoint(p0x, p0y);\n this.addPoint(p3x, p3y);\n this.bezierCurveAdd(true, p0x, p1x, p2x, p3x);\n this.bezierCurveAdd(false, p0y, p1y, p2y, p3y);\n }\n\n addQuadraticCurve(p0x, p0y, p1x, p1y, p2x, p2y) {\n var cp1x = p0x + 2 / 3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)\n\n var cp1y = p0y + 2 / 3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)\n\n var cp2x = cp1x + 1 / 3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)\n\n var cp2y = cp1y + 1 / 3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)\n\n this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y);\n }\n\n isPointInBox(x, y) {\n var {\n x1,\n y1,\n x2,\n y2\n } = this;\n return x1 <= x && x <= x2 && y1 <= y && y <= y2;\n }\n\n}\n\nclass PathParser extends SVGPathData {\n constructor(path) {\n super(path // Fix spaces after signs.\n .replace(/([+\\-.])\\s+/gm, '$1') // Remove invalid part.\n .replace(/[^MmZzLlHhVvCcSsQqTtAae\\d\\s.,+-].*/g, ''));\n this.control = null;\n this.start = null;\n this.current = null;\n this.command = null;\n this.commands = this.commands;\n this.i = -1;\n this.previousCommand = null;\n this.points = [];\n this.angles = [];\n }\n\n reset() {\n this.i = -1;\n this.command = null;\n this.previousCommand = null;\n this.start = new Point(0, 0);\n this.control = new Point(0, 0);\n this.current = new Point(0, 0);\n this.points = [];\n this.angles = [];\n }\n\n isEnd() {\n var {\n i,\n commands\n } = this;\n return i >= commands.length - 1;\n }\n\n next() {\n var command = this.commands[++this.i];\n this.previousCommand = this.command;\n this.command = command;\n return command;\n }\n\n getPoint() {\n var xProp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'x';\n var yProp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y';\n var point = new Point(this.command[xProp], this.command[yProp]);\n return this.makeAbsolute(point);\n }\n\n getAsControlPoint(xProp, yProp) {\n var point = this.getPoint(xProp, yProp);\n this.control = point;\n return point;\n }\n\n getAsCurrentPoint(xProp, yProp) {\n var point = this.getPoint(xProp, yProp);\n this.current = point;\n return point;\n }\n\n getReflectedControlPoint() {\n var previousCommand = this.previousCommand.type;\n\n if (previousCommand !== SVGPathData.CURVE_TO && previousCommand !== SVGPathData.SMOOTH_CURVE_TO && previousCommand !== SVGPathData.QUAD_TO && previousCommand !== SVGPathData.SMOOTH_QUAD_TO) {\n return this.current;\n } // reflect point\n\n\n var {\n current: {\n x: cx,\n y: cy\n },\n control: {\n x: ox,\n y: oy\n }\n } = this;\n var point = new Point(2 * cx - ox, 2 * cy - oy);\n return point;\n }\n\n makeAbsolute(point) {\n if (this.command.relative) {\n var {\n x,\n y\n } = this.current;\n point.x += x;\n point.y += y;\n }\n\n return point;\n }\n\n addMarker(point, from, priorTo) {\n var {\n points,\n angles\n } = this; // if the last angle isn't filled in because we didn't have this point yet ...\n\n if (priorTo && angles.length > 0 && !angles[angles.length - 1]) {\n angles[angles.length - 1] = points[points.length - 1].angleTo(priorTo);\n }\n\n this.addMarkerAngle(point, from ? from.angleTo(point) : null);\n }\n\n addMarkerAngle(point, angle) {\n this.points.push(point);\n this.angles.push(angle);\n }\n\n getMarkerPoints() {\n return this.points;\n }\n\n getMarkerAngles() {\n var {\n angles\n } = this;\n var len = angles.length;\n\n for (var i = 0; i < len; i++) {\n if (!angles[i]) {\n for (var j = i + 1; j < len; j++) {\n if (angles[j]) {\n angles[i] = angles[j];\n break;\n }\n }\n }\n }\n\n return angles;\n }\n\n}\n\nclass RenderedElement extends Element {\n constructor() {\n super(...arguments);\n this.modifiedEmSizeStack = false;\n }\n\n calculateOpacity() {\n var opacity = 1.0; // eslint-disable-next-line @typescript-eslint/no-this-alias, consistent-this\n\n var element = this;\n\n while (element) {\n var opacityStyle = element.getStyle('opacity', false, true); // no ancestors on style call\n\n if (opacityStyle.hasValue(true)) {\n opacity *= opacityStyle.getNumber();\n }\n\n element = element.parent;\n }\n\n return opacity;\n }\n\n setContext(ctx) {\n var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!fromMeasure) {\n // causes stack overflow when measuring text with gradients\n // fill\n var fillStyleProp = this.getStyle('fill');\n var fillOpacityStyleProp = this.getStyle('fill-opacity');\n var strokeStyleProp = this.getStyle('stroke');\n var strokeOpacityProp = this.getStyle('stroke-opacity');\n\n if (fillStyleProp.isUrlDefinition()) {\n var fillStyle = fillStyleProp.getFillStyleDefinition(this, fillOpacityStyleProp);\n\n if (fillStyle) {\n ctx.fillStyle = fillStyle;\n }\n } else if (fillStyleProp.hasValue()) {\n if (fillStyleProp.getString() === 'currentColor') {\n fillStyleProp.setValue(this.getStyle('color').getColor());\n }\n\n var _fillStyle = fillStyleProp.getColor();\n\n if (_fillStyle !== 'inherit') {\n ctx.fillStyle = _fillStyle === 'none' ? 'rgba(0,0,0,0)' : _fillStyle;\n }\n }\n\n if (fillOpacityStyleProp.hasValue()) {\n var _fillStyle2 = new Property(this.document, 'fill', ctx.fillStyle).addOpacity(fillOpacityStyleProp).getColor();\n\n ctx.fillStyle = _fillStyle2;\n } // stroke\n\n\n if (strokeStyleProp.isUrlDefinition()) {\n var strokeStyle = strokeStyleProp.getFillStyleDefinition(this, strokeOpacityProp);\n\n if (strokeStyle) {\n ctx.strokeStyle = strokeStyle;\n }\n } else if (strokeStyleProp.hasValue()) {\n if (strokeStyleProp.getString() === 'currentColor') {\n strokeStyleProp.setValue(this.getStyle('color').getColor());\n }\n\n var _strokeStyle = strokeStyleProp.getString();\n\n if (_strokeStyle !== 'inherit') {\n ctx.strokeStyle = _strokeStyle === 'none' ? 'rgba(0,0,0,0)' : _strokeStyle;\n }\n }\n\n if (strokeOpacityProp.hasValue()) {\n var _strokeStyle2 = new Property(this.document, 'stroke', ctx.strokeStyle).addOpacity(strokeOpacityProp).getString();\n\n ctx.strokeStyle = _strokeStyle2;\n }\n\n var strokeWidthStyleProp = this.getStyle('stroke-width');\n\n if (strokeWidthStyleProp.hasValue()) {\n var newLineWidth = strokeWidthStyleProp.getPixels();\n ctx.lineWidth = !newLineWidth ? PSEUDO_ZERO // browsers don't respect 0 (or node-canvas? :-)\n : newLineWidth;\n }\n\n var strokeLinecapStyleProp = this.getStyle('stroke-linecap');\n var strokeLinejoinStyleProp = this.getStyle('stroke-linejoin');\n var strokeMiterlimitProp = this.getStyle('stroke-miterlimit'); // NEED TEST\n // const pointOrderStyleProp = this.getStyle('paint-order');\n\n var strokeDasharrayStyleProp = this.getStyle('stroke-dasharray');\n var strokeDashoffsetProp = this.getStyle('stroke-dashoffset');\n\n if (strokeLinecapStyleProp.hasValue()) {\n ctx.lineCap = strokeLinecapStyleProp.getString();\n }\n\n if (strokeLinejoinStyleProp.hasValue()) {\n ctx.lineJoin = strokeLinejoinStyleProp.getString();\n }\n\n if (strokeMiterlimitProp.hasValue()) {\n ctx.miterLimit = strokeMiterlimitProp.getNumber();\n } // NEED TEST\n // if (pointOrderStyleProp.hasValue()) {\n // \t// ?\n // \tctx.paintOrder = pointOrderStyleProp.getValue();\n // }\n\n\n if (strokeDasharrayStyleProp.hasValue() && strokeDasharrayStyleProp.getString() !== 'none') {\n var gaps = toNumbers(strokeDasharrayStyleProp.getString());\n\n if (typeof ctx.setLineDash !== 'undefined') {\n ctx.setLineDash(gaps);\n } else // @ts-expect-error Handle browser prefix.\n if (typeof ctx.webkitLineDash !== 'undefined') {\n // @ts-expect-error Handle browser prefix.\n ctx.webkitLineDash = gaps;\n } else // @ts-expect-error Handle browser prefix.\n if (typeof ctx.mozDash !== 'undefined' && !(gaps.length === 1 && gaps[0] === 0)) {\n // @ts-expect-error Handle browser prefix.\n ctx.mozDash = gaps;\n }\n\n var offset = strokeDashoffsetProp.getPixels();\n\n if (typeof ctx.lineDashOffset !== 'undefined') {\n ctx.lineDashOffset = offset;\n } else // @ts-expect-error Handle browser prefix.\n if (typeof ctx.webkitLineDashOffset !== 'undefined') {\n // @ts-expect-error Handle browser prefix.\n ctx.webkitLineDashOffset = offset;\n } else // @ts-expect-error Handle browser prefix.\n if (typeof ctx.mozDashOffset !== 'undefined') {\n // @ts-expect-error Handle browser prefix.\n ctx.mozDashOffset = offset;\n }\n }\n } // font\n\n\n this.modifiedEmSizeStack = false;\n\n if (typeof ctx.font !== 'undefined') {\n var fontStyleProp = this.getStyle('font');\n var fontStyleStyleProp = this.getStyle('font-style');\n var fontVariantStyleProp = this.getStyle('font-variant');\n var fontWeightStyleProp = this.getStyle('font-weight');\n var fontSizeStyleProp = this.getStyle('font-size');\n var fontFamilyStyleProp = this.getStyle('font-family');\n var font = new Font(fontStyleStyleProp.getString(), fontVariantStyleProp.getString(), fontWeightStyleProp.getString(), fontSizeStyleProp.hasValue() ? \"\".concat(fontSizeStyleProp.getPixels(true), \"px\") : '', fontFamilyStyleProp.getString(), Font.parse(fontStyleProp.getString(), ctx.font));\n fontStyleStyleProp.setValue(font.fontStyle);\n fontVariantStyleProp.setValue(font.fontVariant);\n fontWeightStyleProp.setValue(font.fontWeight);\n fontSizeStyleProp.setValue(font.fontSize);\n fontFamilyStyleProp.setValue(font.fontFamily);\n ctx.font = font.toString();\n\n if (fontSizeStyleProp.isPixels()) {\n this.document.emSize = fontSizeStyleProp.getPixels();\n this.modifiedEmSizeStack = true;\n }\n }\n\n if (!fromMeasure) {\n // effects\n this.applyEffects(ctx); // opacity\n\n ctx.globalAlpha = this.calculateOpacity();\n }\n }\n\n clearContext(ctx) {\n super.clearContext(ctx);\n\n if (this.modifiedEmSizeStack) {\n this.document.popEmSize();\n }\n }\n\n}\n\nclass PathElement extends RenderedElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'path';\n this.pathParser = null;\n this.pathParser = new PathParser(this.getAttribute('d').getString());\n }\n\n path(ctx) {\n var {\n pathParser\n } = this;\n var boundingBox = new BoundingBox();\n pathParser.reset();\n\n if (ctx) {\n ctx.beginPath();\n }\n\n while (!pathParser.isEnd()) {\n switch (pathParser.next().type) {\n case PathParser.MOVE_TO:\n this.pathM(ctx, boundingBox);\n break;\n\n case PathParser.LINE_TO:\n this.pathL(ctx, boundingBox);\n break;\n\n case PathParser.HORIZ_LINE_TO:\n this.pathH(ctx, boundingBox);\n break;\n\n case PathParser.VERT_LINE_TO:\n this.pathV(ctx, boundingBox);\n break;\n\n case PathParser.CURVE_TO:\n this.pathC(ctx, boundingBox);\n break;\n\n case PathParser.SMOOTH_CURVE_TO:\n this.pathS(ctx, boundingBox);\n break;\n\n case PathParser.QUAD_TO:\n this.pathQ(ctx, boundingBox);\n break;\n\n case PathParser.SMOOTH_QUAD_TO:\n this.pathT(ctx, boundingBox);\n break;\n\n case PathParser.ARC:\n this.pathA(ctx, boundingBox);\n break;\n\n case PathParser.CLOSE_PATH:\n this.pathZ(ctx, boundingBox);\n break;\n }\n }\n\n return boundingBox;\n }\n\n getBoundingBox(_) {\n return this.path();\n }\n\n getMarkers() {\n var {\n pathParser\n } = this;\n var points = pathParser.getMarkerPoints();\n var angles = pathParser.getMarkerAngles();\n var markers = points.map((point, i) => [point, angles[i]]);\n return markers;\n }\n\n renderChildren(ctx) {\n this.path(ctx);\n this.document.screen.mouse.checkPath(this, ctx);\n var fillRuleStyleProp = this.getStyle('fill-rule');\n\n if (ctx.fillStyle !== '') {\n if (fillRuleStyleProp.getString('inherit') !== 'inherit') {\n ctx.fill(fillRuleStyleProp.getString());\n } else {\n ctx.fill();\n }\n }\n\n if (ctx.strokeStyle !== '') {\n if (this.getAttribute('vector-effect').getString() === 'non-scaling-stroke') {\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n }\n\n var markers = this.getMarkers();\n\n if (markers) {\n var markersLastIndex = markers.length - 1;\n var markerStartStyleProp = this.getStyle('marker-start');\n var markerMidStyleProp = this.getStyle('marker-mid');\n var markerEndStyleProp = this.getStyle('marker-end');\n\n if (markerStartStyleProp.isUrlDefinition()) {\n var marker = markerStartStyleProp.getDefinition();\n var [point, angle] = markers[0];\n marker.render(ctx, point, angle);\n }\n\n if (markerMidStyleProp.isUrlDefinition()) {\n var _marker = markerMidStyleProp.getDefinition();\n\n for (var i = 1; i < markersLastIndex; i++) {\n var [_point, _angle] = markers[i];\n\n _marker.render(ctx, _point, _angle);\n }\n }\n\n if (markerEndStyleProp.isUrlDefinition()) {\n var _marker2 = markerEndStyleProp.getDefinition();\n\n var [_point2, _angle2] = markers[markersLastIndex];\n\n _marker2.render(ctx, _point2, _angle2);\n }\n }\n }\n\n static pathM(pathParser) {\n var point = pathParser.getAsCurrentPoint();\n pathParser.start = pathParser.current;\n return {\n point\n };\n }\n\n pathM(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n point\n } = PathElement.pathM(pathParser);\n var {\n x,\n y\n } = point;\n pathParser.addMarker(point);\n boundingBox.addPoint(x, y);\n\n if (ctx) {\n ctx.moveTo(x, y);\n }\n }\n\n static pathL(pathParser) {\n var {\n current\n } = pathParser;\n var point = pathParser.getAsCurrentPoint();\n return {\n current,\n point\n };\n }\n\n pathL(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n point\n } = PathElement.pathL(pathParser);\n var {\n x,\n y\n } = point;\n pathParser.addMarker(point, current);\n boundingBox.addPoint(x, y);\n\n if (ctx) {\n ctx.lineTo(x, y);\n }\n }\n\n static pathH(pathParser) {\n var {\n current,\n command\n } = pathParser;\n var point = new Point((command.relative ? current.x : 0) + command.x, current.y);\n pathParser.current = point;\n return {\n current,\n point\n };\n }\n\n pathH(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n point\n } = PathElement.pathH(pathParser);\n var {\n x,\n y\n } = point;\n pathParser.addMarker(point, current);\n boundingBox.addPoint(x, y);\n\n if (ctx) {\n ctx.lineTo(x, y);\n }\n }\n\n static pathV(pathParser) {\n var {\n current,\n command\n } = pathParser;\n var point = new Point(current.x, (command.relative ? current.y : 0) + command.y);\n pathParser.current = point;\n return {\n current,\n point\n };\n }\n\n pathV(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n point\n } = PathElement.pathV(pathParser);\n var {\n x,\n y\n } = point;\n pathParser.addMarker(point, current);\n boundingBox.addPoint(x, y);\n\n if (ctx) {\n ctx.lineTo(x, y);\n }\n }\n\n static pathC(pathParser) {\n var {\n current\n } = pathParser;\n var point = pathParser.getPoint('x1', 'y1');\n var controlPoint = pathParser.getAsControlPoint('x2', 'y2');\n var currentPoint = pathParser.getAsCurrentPoint();\n return {\n current,\n point,\n controlPoint,\n currentPoint\n };\n }\n\n pathC(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n point,\n controlPoint,\n currentPoint\n } = PathElement.pathC(pathParser);\n pathParser.addMarker(currentPoint, controlPoint, point);\n boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n if (ctx) {\n ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n }\n\n static pathS(pathParser) {\n var {\n current\n } = pathParser;\n var point = pathParser.getReflectedControlPoint();\n var controlPoint = pathParser.getAsControlPoint('x2', 'y2');\n var currentPoint = pathParser.getAsCurrentPoint();\n return {\n current,\n point,\n controlPoint,\n currentPoint\n };\n }\n\n pathS(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n point,\n controlPoint,\n currentPoint\n } = PathElement.pathS(pathParser);\n pathParser.addMarker(currentPoint, controlPoint, point);\n boundingBox.addBezierCurve(current.x, current.y, point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n if (ctx) {\n ctx.bezierCurveTo(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n }\n\n static pathQ(pathParser) {\n var {\n current\n } = pathParser;\n var controlPoint = pathParser.getAsControlPoint('x1', 'y1');\n var currentPoint = pathParser.getAsCurrentPoint();\n return {\n current,\n controlPoint,\n currentPoint\n };\n }\n\n pathQ(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n controlPoint,\n currentPoint\n } = PathElement.pathQ(pathParser);\n pathParser.addMarker(currentPoint, controlPoint, controlPoint);\n boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n if (ctx) {\n ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n }\n\n static pathT(pathParser) {\n var {\n current\n } = pathParser;\n var controlPoint = pathParser.getReflectedControlPoint();\n pathParser.control = controlPoint;\n var currentPoint = pathParser.getAsCurrentPoint();\n return {\n current,\n controlPoint,\n currentPoint\n };\n }\n\n pathT(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n current,\n controlPoint,\n currentPoint\n } = PathElement.pathT(pathParser);\n pathParser.addMarker(currentPoint, controlPoint, controlPoint);\n boundingBox.addQuadraticCurve(current.x, current.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n\n if (ctx) {\n ctx.quadraticCurveTo(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n }\n\n static pathA(pathParser) {\n var {\n current,\n command\n } = pathParser;\n var {\n rX,\n rY,\n xRot,\n lArcFlag,\n sweepFlag\n } = command;\n var xAxisRotation = xRot * (Math.PI / 180.0);\n var currentPoint = pathParser.getAsCurrentPoint(); // Conversion from endpoint to center parameterization\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n // x1', y1'\n\n var currp = new Point(Math.cos(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.sin(xAxisRotation) * (current.y - currentPoint.y) / 2.0, -Math.sin(xAxisRotation) * (current.x - currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * (current.y - currentPoint.y) / 2.0); // adjust radii\n\n var l = Math.pow(currp.x, 2) / Math.pow(rX, 2) + Math.pow(currp.y, 2) / Math.pow(rY, 2);\n\n if (l > 1) {\n rX *= Math.sqrt(l);\n rY *= Math.sqrt(l);\n } // cx', cy'\n\n\n var s = (lArcFlag === sweepFlag ? -1 : 1) * Math.sqrt((Math.pow(rX, 2) * Math.pow(rY, 2) - Math.pow(rX, 2) * Math.pow(currp.y, 2) - Math.pow(rY, 2) * Math.pow(currp.x, 2)) / (Math.pow(rX, 2) * Math.pow(currp.y, 2) + Math.pow(rY, 2) * Math.pow(currp.x, 2)));\n\n if (isNaN(s)) {\n s = 0;\n }\n\n var cpp = new Point(s * rX * currp.y / rY, s * -rY * currp.x / rX); // cx, cy\n\n var centp = new Point((current.x + currentPoint.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, (current.y + currentPoint.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y); // initial angle\n\n var a1 = vectorsAngle([1, 0], [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY]); // θ1\n // angle delta\n\n var u = [(currp.x - cpp.x) / rX, (currp.y - cpp.y) / rY];\n var v = [(-currp.x - cpp.x) / rX, (-currp.y - cpp.y) / rY];\n var ad = vectorsAngle(u, v); // Δθ\n\n if (vectorsRatio(u, v) <= -1) {\n ad = Math.PI;\n }\n\n if (vectorsRatio(u, v) >= 1) {\n ad = 0;\n }\n\n return {\n currentPoint,\n rX,\n rY,\n sweepFlag,\n xAxisRotation,\n centp,\n a1,\n ad\n };\n }\n\n pathA(ctx, boundingBox) {\n var {\n pathParser\n } = this;\n var {\n currentPoint,\n rX,\n rY,\n sweepFlag,\n xAxisRotation,\n centp,\n a1,\n ad\n } = PathElement.pathA(pathParser); // for markers\n\n var dir = 1 - sweepFlag ? 1.0 : -1.0;\n var ah = a1 + dir * (ad / 2.0);\n var halfWay = new Point(centp.x + rX * Math.cos(ah), centp.y + rY * Math.sin(ah));\n pathParser.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);\n pathParser.addMarkerAngle(currentPoint, ah - dir * Math.PI);\n boundingBox.addPoint(currentPoint.x, currentPoint.y); // TODO: this is too naive, make it better\n\n if (ctx && !isNaN(a1) && !isNaN(ad)) {\n var r = rX > rY ? rX : rY;\n var sx = rX > rY ? 1 : rX / rY;\n var sy = rX > rY ? rY / rX : 1;\n ctx.translate(centp.x, centp.y);\n ctx.rotate(xAxisRotation);\n ctx.scale(sx, sy);\n ctx.arc(0, 0, r, a1, a1 + ad, Boolean(1 - sweepFlag));\n ctx.scale(1 / sx, 1 / sy);\n ctx.rotate(-xAxisRotation);\n ctx.translate(-centp.x, -centp.y);\n }\n }\n\n static pathZ(pathParser) {\n pathParser.current = pathParser.start;\n }\n\n pathZ(ctx, boundingBox) {\n PathElement.pathZ(this.pathParser);\n\n if (ctx) {\n // only close path if it is not a straight line\n if (boundingBox.x1 !== boundingBox.x2 && boundingBox.y1 !== boundingBox.y2) {\n ctx.closePath();\n }\n }\n }\n\n}\n\nclass GlyphElement extends PathElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'glyph';\n this.horizAdvX = this.getAttribute('horiz-adv-x').getNumber();\n this.unicode = this.getAttribute('unicode').getString();\n this.arabicForm = this.getAttribute('arabic-form').getString();\n }\n\n}\n\nclass TextElement extends RenderedElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, new.target === TextElement ? true : captureTextNodes);\n this.type = 'text';\n this.x = 0;\n this.y = 0;\n this.measureCache = -1;\n }\n\n setContext(ctx) {\n var fromMeasure = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n super.setContext(ctx, fromMeasure);\n var textBaseline = this.getStyle('dominant-baseline').getTextBaseline() || this.getStyle('alignment-baseline').getTextBaseline();\n\n if (textBaseline) {\n ctx.textBaseline = textBaseline;\n }\n }\n\n initializeCoordinates() {\n this.x = 0;\n this.y = 0;\n this.leafTexts = [];\n this.textChunkStart = 0;\n this.minX = Number.POSITIVE_INFINITY;\n this.maxX = Number.NEGATIVE_INFINITY;\n }\n\n getBoundingBox(ctx) {\n if (this.type !== 'text') {\n return this.getTElementBoundingBox(ctx);\n } // first, calculate child positions\n\n\n this.initializeCoordinates();\n this.adjustChildCoordinatesRecursive(ctx);\n var boundingBox = null; // then calculate bounding box\n\n this.children.forEach((_, i) => {\n var childBoundingBox = this.getChildBoundingBox(ctx, this, this, i);\n\n if (!boundingBox) {\n boundingBox = childBoundingBox;\n } else {\n boundingBox.addBoundingBox(childBoundingBox);\n }\n });\n return boundingBox;\n }\n\n getFontSize() {\n var {\n document,\n parent\n } = this;\n var inheritFontSize = Font.parse(document.ctx.font).fontSize;\n var fontSize = parent.getStyle('font-size').getNumber(inheritFontSize);\n return fontSize;\n }\n\n getTElementBoundingBox(ctx) {\n var fontSize = this.getFontSize();\n return new BoundingBox(this.x, this.y - fontSize, this.x + this.measureText(ctx), this.y);\n }\n\n getGlyph(font, text, i) {\n var char = text[i];\n var glyph = null;\n\n if (font.isArabic) {\n var len = text.length;\n var prevChar = text[i - 1];\n var nextChar = text[i + 1];\n var arabicForm = 'isolated';\n\n if ((i === 0 || prevChar === ' ') && i < len - 1 && nextChar !== ' ') {\n arabicForm = 'terminal';\n }\n\n if (i > 0 && prevChar !== ' ' && i < len - 1 && nextChar !== ' ') {\n arabicForm = 'medial';\n }\n\n if (i > 0 && prevChar !== ' ' && (i === len - 1 || nextChar === ' ')) {\n arabicForm = 'initial';\n }\n\n if (typeof font.glyphs[char] !== 'undefined') {\n // NEED TEST\n var maybeGlyph = font.glyphs[char];\n glyph = maybeGlyph instanceof GlyphElement ? maybeGlyph : maybeGlyph[arabicForm];\n }\n } else {\n glyph = font.glyphs[char];\n }\n\n if (!glyph) {\n glyph = font.missingGlyph;\n }\n\n return glyph;\n }\n\n getText() {\n return '';\n }\n\n getTextFromNode(node) {\n var textNode = node || this.node;\n var childNodes = Array.from(textNode.parentNode.childNodes);\n var index = childNodes.indexOf(textNode);\n var lastIndex = childNodes.length - 1;\n var text = compressSpaces( // textNode.value\n // || textNode.text\n textNode.textContent || '');\n\n if (index === 0) {\n text = trimLeft(text);\n }\n\n if (index === lastIndex) {\n text = trimRight(text);\n }\n\n return text;\n }\n\n renderChildren(ctx) {\n if (this.type !== 'text') {\n this.renderTElementChildren(ctx);\n return;\n } // first, calculate child positions\n\n\n this.initializeCoordinates();\n this.adjustChildCoordinatesRecursive(ctx); // then render\n\n this.children.forEach((_, i) => {\n this.renderChild(ctx, this, this, i);\n });\n var {\n mouse\n } = this.document.screen; // Do not calc bounding box if mouse is not working.\n\n if (mouse.isWorking()) {\n mouse.checkBoundingBox(this, this.getBoundingBox(ctx));\n }\n }\n\n renderTElementChildren(ctx) {\n var {\n document,\n parent\n } = this;\n var renderText = this.getText();\n var customFont = parent.getStyle('font-family').getDefinition();\n\n if (customFont) {\n var {\n unitsPerEm\n } = customFont.fontFace;\n var ctxFont = Font.parse(document.ctx.font);\n var fontSize = parent.getStyle('font-size').getNumber(ctxFont.fontSize);\n var fontStyle = parent.getStyle('font-style').getString(ctxFont.fontStyle);\n var scale = fontSize / unitsPerEm;\n var text = customFont.isRTL ? renderText.split('').reverse().join('') : renderText;\n var dx = toNumbers(parent.getAttribute('dx').getString());\n var len = text.length;\n\n for (var i = 0; i < len; i++) {\n var glyph = this.getGlyph(customFont, text, i);\n ctx.translate(this.x, this.y);\n ctx.scale(scale, -scale);\n var lw = ctx.lineWidth;\n ctx.lineWidth = ctx.lineWidth * unitsPerEm / fontSize;\n\n if (fontStyle === 'italic') {\n ctx.transform(1, 0, .4, 1, 0, 0);\n }\n\n glyph.render(ctx);\n\n if (fontStyle === 'italic') {\n ctx.transform(1, 0, -.4, 1, 0, 0);\n }\n\n ctx.lineWidth = lw;\n ctx.scale(1 / scale, -1 / scale);\n ctx.translate(-this.x, -this.y);\n this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / unitsPerEm;\n\n if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {\n this.x += dx[i];\n }\n }\n\n return;\n }\n\n var {\n x,\n y\n } = this; // NEED TEST\n // if (ctx.paintOrder === 'stroke') {\n // \tif (ctx.strokeStyle) {\n // \t\tctx.strokeText(renderText, x, y);\n // \t}\n // \tif (ctx.fillStyle) {\n // \t\tctx.fillText(renderText, x, y);\n // \t}\n // } else {\n\n if (ctx.fillStyle) {\n ctx.fillText(renderText, x, y);\n }\n\n if (ctx.strokeStyle) {\n ctx.strokeText(renderText, x, y);\n } // }\n\n }\n\n applyAnchoring() {\n if (this.textChunkStart >= this.leafTexts.length) {\n return;\n } // This is basically the \"Apply anchoring\" part of https://www.w3.org/TR/SVG2/text.html#TextLayoutAlgorithm.\n // The difference is that we apply the anchoring as soon as a chunk is finished. This saves some extra looping.\n // Vertical text is not supported.\n\n\n var firstElement = this.leafTexts[this.textChunkStart];\n var textAnchor = firstElement.getStyle('text-anchor').getString('start');\n var isRTL = false; // we treat RTL like LTR\n\n var shift = 0;\n\n if (textAnchor === 'start' && !isRTL || textAnchor === 'end' && isRTL) {\n shift = firstElement.x - this.minX;\n } else if (textAnchor === 'end' && !isRTL || textAnchor === 'start' && isRTL) {\n shift = firstElement.x - this.maxX;\n } else {\n shift = firstElement.x - (this.minX + this.maxX) / 2;\n }\n\n for (var i = this.textChunkStart; i < this.leafTexts.length; i++) {\n this.leafTexts[i].x += shift;\n } // start new chunk\n\n\n this.minX = Number.POSITIVE_INFINITY;\n this.maxX = Number.NEGATIVE_INFINITY;\n this.textChunkStart = this.leafTexts.length;\n }\n\n adjustChildCoordinatesRecursive(ctx) {\n this.children.forEach((_, i) => {\n this.adjustChildCoordinatesRecursiveCore(ctx, this, this, i);\n });\n this.applyAnchoring();\n }\n\n adjustChildCoordinatesRecursiveCore(ctx, textParent, parent, i) {\n var child = parent.children[i];\n\n if (child.children.length > 0) {\n child.children.forEach((_, i) => {\n textParent.adjustChildCoordinatesRecursiveCore(ctx, textParent, child, i);\n });\n } else {\n // only leafs are relevant\n this.adjustChildCoordinates(ctx, textParent, parent, i);\n }\n }\n\n adjustChildCoordinates(ctx, textParent, parent, i) {\n var child = parent.children[i];\n\n if (typeof child.measureText !== 'function') {\n return child;\n }\n\n ctx.save();\n child.setContext(ctx, true);\n var xAttr = child.getAttribute('x');\n var yAttr = child.getAttribute('y');\n var dxAttr = child.getAttribute('dx');\n var dyAttr = child.getAttribute('dy');\n var customFont = child.getStyle('font-family').getDefinition();\n var isRTL = Boolean(customFont) && customFont.isRTL;\n\n if (i === 0) {\n // First children inherit attributes from parent(s). Positional attributes\n // are only inherited from a parent to it's first child.\n if (!xAttr.hasValue()) {\n xAttr.setValue(child.getInheritedAttribute('x'));\n }\n\n if (!yAttr.hasValue()) {\n yAttr.setValue(child.getInheritedAttribute('y'));\n }\n\n if (!dxAttr.hasValue()) {\n dxAttr.setValue(child.getInheritedAttribute('dx'));\n }\n\n if (!dyAttr.hasValue()) {\n dyAttr.setValue(child.getInheritedAttribute('dy'));\n }\n }\n\n var width = child.measureText(ctx);\n\n if (isRTL) {\n textParent.x -= width;\n }\n\n if (xAttr.hasValue()) {\n // an \"x\" attribute marks the start of a new chunk\n textParent.applyAnchoring();\n child.x = xAttr.getPixels('x');\n\n if (dxAttr.hasValue()) {\n child.x += dxAttr.getPixels('x');\n }\n } else {\n if (dxAttr.hasValue()) {\n textParent.x += dxAttr.getPixels('x');\n }\n\n child.x = textParent.x;\n }\n\n textParent.x = child.x;\n\n if (!isRTL) {\n textParent.x += width;\n }\n\n if (yAttr.hasValue()) {\n child.y = yAttr.getPixels('y');\n\n if (dyAttr.hasValue()) {\n child.y += dyAttr.getPixels('y');\n }\n } else {\n if (dyAttr.hasValue()) {\n textParent.y += dyAttr.getPixels('y');\n }\n\n child.y = textParent.y;\n }\n\n textParent.y = child.y; // update the current chunk and it's bounds\n\n textParent.leafTexts.push(child);\n textParent.minX = Math.min(textParent.minX, child.x, child.x + width);\n textParent.maxX = Math.max(textParent.maxX, child.x, child.x + width);\n child.clearContext(ctx);\n ctx.restore();\n return child;\n }\n\n getChildBoundingBox(ctx, textParent, parent, i) {\n var child = parent.children[i]; // not a text node?\n\n if (typeof child.getBoundingBox !== 'function') {\n return null;\n }\n\n var boundingBox = child.getBoundingBox(ctx);\n\n if (!boundingBox) {\n return null;\n }\n\n child.children.forEach((_, i) => {\n var childBoundingBox = textParent.getChildBoundingBox(ctx, textParent, child, i);\n boundingBox.addBoundingBox(childBoundingBox);\n });\n return boundingBox;\n }\n\n renderChild(ctx, textParent, parent, i) {\n var child = parent.children[i];\n child.render(ctx);\n child.children.forEach((_, i) => {\n textParent.renderChild(ctx, textParent, child, i);\n });\n }\n\n measureText(ctx) {\n var {\n measureCache\n } = this;\n\n if (~measureCache) {\n return measureCache;\n }\n\n var renderText = this.getText();\n var measure = this.measureTargetText(ctx, renderText);\n this.measureCache = measure;\n return measure;\n }\n\n measureTargetText(ctx, targetText) {\n if (!targetText.length) {\n return 0;\n }\n\n var {\n parent\n } = this;\n var customFont = parent.getStyle('font-family').getDefinition();\n\n if (customFont) {\n var fontSize = this.getFontSize();\n var text = customFont.isRTL ? targetText.split('').reverse().join('') : targetText;\n var dx = toNumbers(parent.getAttribute('dx').getString());\n var len = text.length;\n var _measure = 0;\n\n for (var i = 0; i < len; i++) {\n var glyph = this.getGlyph(customFont, text, i);\n _measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm;\n\n if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) {\n _measure += dx[i];\n }\n }\n\n return _measure;\n }\n\n if (!ctx.measureText) {\n return targetText.length * 10;\n }\n\n ctx.save();\n this.setContext(ctx, true);\n var {\n width: measure\n } = ctx.measureText(targetText);\n this.clearContext(ctx);\n ctx.restore();\n return measure;\n }\n /**\r\n * Inherits positional attributes from {@link TextElement} parent(s). Attributes\r\n * are only inherited from a parent to its first child.\r\n * @param name - The attribute name.\r\n * @returns The attribute value or null.\r\n */\n\n\n getInheritedAttribute(name) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias,consistent-this\n var current = this;\n\n while (current instanceof TextElement && current.isFirstChild()) {\n var parentAttr = current.parent.getAttribute(name);\n\n if (parentAttr.hasValue(true)) {\n return parentAttr.getValue('0');\n }\n\n current = current.parent;\n }\n\n return null;\n }\n\n}\n\nclass TSpanElement extends TextElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, new.target === TSpanElement ? true : captureTextNodes);\n this.type = 'tspan'; // if this node has children, then they own the text\n\n this.text = this.children.length > 0 ? '' : this.getTextFromNode();\n }\n\n getText() {\n return this.text;\n }\n\n}\n\nclass TextNode extends TSpanElement {\n constructor() {\n super(...arguments);\n this.type = 'textNode';\n }\n\n}\n\nclass SVGElement extends RenderedElement {\n constructor() {\n super(...arguments);\n this.type = 'svg';\n this.root = false;\n }\n\n setContext(ctx) {\n var _this$node$parentNode;\n\n var {\n document\n } = this;\n var {\n screen,\n window\n } = document;\n var canvas = ctx.canvas;\n screen.setDefaults(ctx);\n\n if (canvas.style && typeof ctx.font !== 'undefined' && window && typeof window.getComputedStyle !== 'undefined') {\n ctx.font = window.getComputedStyle(canvas).getPropertyValue('font');\n var fontSizeProp = new Property(document, 'fontSize', Font.parse(ctx.font).fontSize);\n\n if (fontSizeProp.hasValue()) {\n document.rootEmSize = fontSizeProp.getPixels('y');\n document.emSize = document.rootEmSize;\n }\n } // create new view port\n\n\n if (!this.getAttribute('x').hasValue()) {\n this.getAttribute('x', true).setValue(0);\n }\n\n if (!this.getAttribute('y').hasValue()) {\n this.getAttribute('y', true).setValue(0);\n }\n\n var {\n width,\n height\n } = screen.viewPort;\n\n if (!this.getStyle('width').hasValue()) {\n this.getStyle('width', true).setValue('100%');\n }\n\n if (!this.getStyle('height').hasValue()) {\n this.getStyle('height', true).setValue('100%');\n }\n\n if (!this.getStyle('color').hasValue()) {\n this.getStyle('color', true).setValue('black');\n }\n\n var refXAttr = this.getAttribute('refX');\n var refYAttr = this.getAttribute('refY');\n var viewBoxAttr = this.getAttribute('viewBox');\n var viewBox = viewBoxAttr.hasValue() ? toNumbers(viewBoxAttr.getString()) : null;\n var clip = !this.root && this.getStyle('overflow').getValue('hidden') !== 'visible';\n var minX = 0;\n var minY = 0;\n var clipX = 0;\n var clipY = 0;\n\n if (viewBox) {\n minX = viewBox[0];\n minY = viewBox[1];\n }\n\n if (!this.root) {\n width = this.getStyle('width').getPixels('x');\n height = this.getStyle('height').getPixels('y');\n\n if (this.type === 'marker') {\n clipX = minX;\n clipY = minY;\n minX = 0;\n minY = 0;\n }\n }\n\n screen.viewPort.setCurrent(width, height); // Default value of transform-origin is center only for root SVG elements\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform-origin\n\n if (this.node // is not temporary SVGElement\n && (!this.parent || ((_this$node$parentNode = this.node.parentNode) === null || _this$node$parentNode === void 0 ? void 0 : _this$node$parentNode.nodeName) === 'foreignObject') && this.getStyle('transform', false, true).hasValue() && !this.getStyle('transform-origin', false, true).hasValue()) {\n this.getStyle('transform-origin', true, true).setValue('50% 50%');\n }\n\n super.setContext(ctx);\n ctx.translate(this.getAttribute('x').getPixels('x'), this.getAttribute('y').getPixels('y'));\n\n if (viewBox) {\n width = viewBox[2];\n height = viewBox[3];\n }\n\n document.setViewBox({\n ctx,\n aspectRatio: this.getAttribute('preserveAspectRatio').getString(),\n width: screen.viewPort.width,\n desiredWidth: width,\n height: screen.viewPort.height,\n desiredHeight: height,\n minX,\n minY,\n refX: refXAttr.getValue(),\n refY: refYAttr.getValue(),\n clip,\n clipX,\n clipY\n });\n\n if (viewBox) {\n screen.viewPort.removeCurrent();\n screen.viewPort.setCurrent(width, height);\n }\n }\n\n clearContext(ctx) {\n super.clearContext(ctx);\n this.document.screen.viewPort.removeCurrent();\n }\n /**\r\n * Resize SVG to fit in given size.\r\n * @param width\r\n * @param height\r\n * @param preserveAspectRatio\r\n */\n\n\n resize(width) {\n var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;\n var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var widthAttr = this.getAttribute('width', true);\n var heightAttr = this.getAttribute('height', true);\n var viewBoxAttr = this.getAttribute('viewBox');\n var styleAttr = this.getAttribute('style');\n var originWidth = widthAttr.getNumber(0);\n var originHeight = heightAttr.getNumber(0);\n\n if (preserveAspectRatio) {\n if (typeof preserveAspectRatio === 'string') {\n this.getAttribute('preserveAspectRatio', true).setValue(preserveAspectRatio);\n } else {\n var preserveAspectRatioAttr = this.getAttribute('preserveAspectRatio');\n\n if (preserveAspectRatioAttr.hasValue()) {\n preserveAspectRatioAttr.setValue(preserveAspectRatioAttr.getString().replace(/^\\s*(\\S.*\\S)\\s*$/, '$1'));\n }\n }\n }\n\n widthAttr.setValue(width);\n heightAttr.setValue(height);\n\n if (!viewBoxAttr.hasValue()) {\n viewBoxAttr.setValue(\"0 0 \".concat(originWidth || width, \" \").concat(originHeight || height));\n }\n\n if (styleAttr.hasValue()) {\n var widthStyle = this.getStyle('width');\n var heightStyle = this.getStyle('height');\n\n if (widthStyle.hasValue()) {\n widthStyle.setValue(\"\".concat(width, \"px\"));\n }\n\n if (heightStyle.hasValue()) {\n heightStyle.setValue(\"\".concat(height, \"px\"));\n }\n }\n }\n\n}\n\nclass RectElement extends PathElement {\n constructor() {\n super(...arguments);\n this.type = 'rect';\n }\n\n path(ctx) {\n var x = this.getAttribute('x').getPixels('x');\n var y = this.getAttribute('y').getPixels('y');\n var width = this.getStyle('width', false, true).getPixels('x');\n var height = this.getStyle('height', false, true).getPixels('y');\n var rxAttr = this.getAttribute('rx');\n var ryAttr = this.getAttribute('ry');\n var rx = rxAttr.getPixels('x');\n var ry = ryAttr.getPixels('y');\n\n if (rxAttr.hasValue() && !ryAttr.hasValue()) {\n ry = rx;\n }\n\n if (ryAttr.hasValue() && !rxAttr.hasValue()) {\n rx = ry;\n }\n\n rx = Math.min(rx, width / 2.0);\n ry = Math.min(ry, height / 2.0);\n\n if (ctx) {\n var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);\n ctx.beginPath(); // always start the path so we don't fill prior paths\n\n if (height > 0 && width > 0) {\n ctx.moveTo(x + rx, y);\n ctx.lineTo(x + width - rx, y);\n ctx.bezierCurveTo(x + width - rx + KAPPA * rx, y, x + width, y + ry - KAPPA * ry, x + width, y + ry);\n ctx.lineTo(x + width, y + height - ry);\n ctx.bezierCurveTo(x + width, y + height - ry + KAPPA * ry, x + width - rx + KAPPA * rx, y + height, x + width - rx, y + height);\n ctx.lineTo(x + rx, y + height);\n ctx.bezierCurveTo(x + rx - KAPPA * rx, y + height, x, y + height - ry + KAPPA * ry, x, y + height - ry);\n ctx.lineTo(x, y + ry);\n ctx.bezierCurveTo(x, y + ry - KAPPA * ry, x + rx - KAPPA * rx, y, x + rx, y);\n ctx.closePath();\n }\n }\n\n return new BoundingBox(x, y, x + width, y + height);\n }\n\n getMarkers() {\n return null;\n }\n\n}\n\nclass CircleElement extends PathElement {\n constructor() {\n super(...arguments);\n this.type = 'circle';\n }\n\n path(ctx) {\n var cx = this.getAttribute('cx').getPixels('x');\n var cy = this.getAttribute('cy').getPixels('y');\n var r = this.getAttribute('r').getPixels();\n\n if (ctx && r > 0) {\n ctx.beginPath();\n ctx.arc(cx, cy, r, 0, Math.PI * 2, false);\n ctx.closePath();\n }\n\n return new BoundingBox(cx - r, cy - r, cx + r, cy + r);\n }\n\n getMarkers() {\n return null;\n }\n\n}\n\nclass EllipseElement extends PathElement {\n constructor() {\n super(...arguments);\n this.type = 'ellipse';\n }\n\n path(ctx) {\n var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);\n var rx = this.getAttribute('rx').getPixels('x');\n var ry = this.getAttribute('ry').getPixels('y');\n var cx = this.getAttribute('cx').getPixels('x');\n var cy = this.getAttribute('cy').getPixels('y');\n\n if (ctx && rx > 0 && ry > 0) {\n ctx.beginPath();\n ctx.moveTo(cx + rx, cy);\n ctx.bezierCurveTo(cx + rx, cy + KAPPA * ry, cx + KAPPA * rx, cy + ry, cx, cy + ry);\n ctx.bezierCurveTo(cx - KAPPA * rx, cy + ry, cx - rx, cy + KAPPA * ry, cx - rx, cy);\n ctx.bezierCurveTo(cx - rx, cy - KAPPA * ry, cx - KAPPA * rx, cy - ry, cx, cy - ry);\n ctx.bezierCurveTo(cx + KAPPA * rx, cy - ry, cx + rx, cy - KAPPA * ry, cx + rx, cy);\n ctx.closePath();\n }\n\n return new BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);\n }\n\n getMarkers() {\n return null;\n }\n\n}\n\nclass LineElement extends PathElement {\n constructor() {\n super(...arguments);\n this.type = 'line';\n }\n\n getPoints() {\n return [new Point(this.getAttribute('x1').getPixels('x'), this.getAttribute('y1').getPixels('y')), new Point(this.getAttribute('x2').getPixels('x'), this.getAttribute('y2').getPixels('y'))];\n }\n\n path(ctx) {\n var [{\n x: x0,\n y: y0\n }, {\n x: x1,\n y: y1\n }] = this.getPoints();\n\n if (ctx) {\n ctx.beginPath();\n ctx.moveTo(x0, y0);\n ctx.lineTo(x1, y1);\n }\n\n return new BoundingBox(x0, y0, x1, y1);\n }\n\n getMarkers() {\n var [p0, p1] = this.getPoints();\n var a = p0.angleTo(p1);\n return [[p0, a], [p1, a]];\n }\n\n}\n\nclass PolylineElement extends PathElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'polyline';\n this.points = [];\n this.points = Point.parsePath(this.getAttribute('points').getString());\n }\n\n path(ctx) {\n var {\n points\n } = this;\n var [{\n x: x0,\n y: y0\n }] = points;\n var boundingBox = new BoundingBox(x0, y0);\n\n if (ctx) {\n ctx.beginPath();\n ctx.moveTo(x0, y0);\n }\n\n points.forEach(_ref => {\n var {\n x,\n y\n } = _ref;\n boundingBox.addPoint(x, y);\n\n if (ctx) {\n ctx.lineTo(x, y);\n }\n });\n return boundingBox;\n }\n\n getMarkers() {\n var {\n points\n } = this;\n var lastIndex = points.length - 1;\n var markers = [];\n points.forEach((point, i) => {\n if (i === lastIndex) {\n return;\n }\n\n markers.push([point, point.angleTo(points[i + 1])]);\n });\n\n if (markers.length > 0) {\n markers.push([points[points.length - 1], markers[markers.length - 1][1]]);\n }\n\n return markers;\n }\n\n}\n\nclass PolygonElement extends PolylineElement {\n constructor() {\n super(...arguments);\n this.type = 'polygon';\n }\n\n path(ctx) {\n var boundingBox = super.path(ctx);\n var [{\n x,\n y\n }] = this.points;\n\n if (ctx) {\n ctx.lineTo(x, y);\n ctx.closePath();\n }\n\n return boundingBox;\n }\n\n}\n\nclass PatternElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'pattern';\n }\n\n createPattern(ctx, _, parentOpacityProp) {\n var width = this.getStyle('width').getPixels('x', true);\n var height = this.getStyle('height').getPixels('y', true); // render me using a temporary svg element\n\n var patternSvg = new SVGElement(this.document, null);\n patternSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());\n patternSvg.attributes.width = new Property(this.document, 'width', \"\".concat(width, \"px\"));\n patternSvg.attributes.height = new Property(this.document, 'height', \"\".concat(height, \"px\"));\n patternSvg.attributes.transform = new Property(this.document, 'transform', this.getAttribute('patternTransform').getValue());\n patternSvg.children = this.children;\n var patternCanvas = this.document.createCanvas(width, height);\n var patternCtx = patternCanvas.getContext('2d');\n var xAttr = this.getAttribute('x');\n var yAttr = this.getAttribute('y');\n\n if (xAttr.hasValue() && yAttr.hasValue()) {\n patternCtx.translate(xAttr.getPixels('x', true), yAttr.getPixels('y', true));\n }\n\n if (parentOpacityProp.hasValue()) {\n this.styles['fill-opacity'] = parentOpacityProp;\n } else {\n Reflect.deleteProperty(this.styles, 'fill-opacity');\n } // render 3x3 grid so when we transform there's no white space on edges\n\n\n for (var x = -1; x <= 1; x++) {\n for (var y = -1; y <= 1; y++) {\n patternCtx.save();\n patternSvg.attributes.x = new Property(this.document, 'x', x * patternCanvas.width);\n patternSvg.attributes.y = new Property(this.document, 'y', y * patternCanvas.height);\n patternSvg.render(patternCtx);\n patternCtx.restore();\n }\n }\n\n var pattern = ctx.createPattern(patternCanvas, 'repeat');\n return pattern;\n }\n\n}\n\nclass MarkerElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'marker';\n }\n\n render(ctx, point, angle) {\n if (!point) {\n return;\n }\n\n var {\n x,\n y\n } = point;\n var orient = this.getAttribute('orient').getString('auto');\n var markerUnits = this.getAttribute('markerUnits').getString('strokeWidth');\n ctx.translate(x, y);\n\n if (orient === 'auto') {\n ctx.rotate(angle);\n }\n\n if (markerUnits === 'strokeWidth') {\n ctx.scale(ctx.lineWidth, ctx.lineWidth);\n }\n\n ctx.save(); // render me using a temporary svg element\n\n var markerSvg = new SVGElement(this.document, null);\n markerSvg.type = this.type;\n markerSvg.attributes.viewBox = new Property(this.document, 'viewBox', this.getAttribute('viewBox').getValue());\n markerSvg.attributes.refX = new Property(this.document, 'refX', this.getAttribute('refX').getValue());\n markerSvg.attributes.refY = new Property(this.document, 'refY', this.getAttribute('refY').getValue());\n markerSvg.attributes.width = new Property(this.document, 'width', this.getAttribute('markerWidth').getValue());\n markerSvg.attributes.height = new Property(this.document, 'height', this.getAttribute('markerHeight').getValue());\n markerSvg.attributes.overflow = new Property(this.document, 'overflow', this.getAttribute('overflow').getValue());\n markerSvg.attributes.fill = new Property(this.document, 'fill', this.getAttribute('fill').getColor('black'));\n markerSvg.attributes.stroke = new Property(this.document, 'stroke', this.getAttribute('stroke').getValue('none'));\n markerSvg.children = this.children;\n markerSvg.render(ctx);\n ctx.restore();\n\n if (markerUnits === 'strokeWidth') {\n ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth);\n }\n\n if (orient === 'auto') {\n ctx.rotate(-angle);\n }\n\n ctx.translate(-x, -y);\n }\n\n}\n\nclass DefsElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'defs';\n }\n\n render() {// NOOP\n }\n\n}\n\nclass GElement extends RenderedElement {\n constructor() {\n super(...arguments);\n this.type = 'g';\n }\n\n getBoundingBox(ctx) {\n var boundingBox = new BoundingBox();\n this.children.forEach(child => {\n boundingBox.addBoundingBox(child.getBoundingBox(ctx));\n });\n return boundingBox;\n }\n\n}\n\nclass GradientElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.attributesToInherit = ['gradientUnits'];\n this.stops = [];\n var {\n stops,\n children\n } = this;\n children.forEach(child => {\n if (child.type === 'stop') {\n stops.push(child);\n }\n });\n }\n\n getGradientUnits() {\n return this.getAttribute('gradientUnits').getString('objectBoundingBox');\n }\n\n createGradient(ctx, element, parentOpacityProp) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias, consistent-this\n var stopsContainer = this;\n\n if (this.getHrefAttribute().hasValue()) {\n stopsContainer = this.getHrefAttribute().getDefinition();\n this.inheritStopContainer(stopsContainer);\n }\n\n var {\n stops\n } = stopsContainer;\n var gradient = this.getGradient(ctx, element);\n\n if (!gradient) {\n return this.addParentOpacity(parentOpacityProp, stops[stops.length - 1].color);\n }\n\n stops.forEach(stop => {\n gradient.addColorStop(stop.offset, this.addParentOpacity(parentOpacityProp, stop.color));\n });\n\n if (this.getAttribute('gradientTransform').hasValue()) {\n // render as transformed pattern on temporary canvas\n var {\n document\n } = this;\n var {\n MAX_VIRTUAL_PIXELS,\n viewPort\n } = document.screen;\n var [rootView] = viewPort.viewPorts;\n var rect = new RectElement(document, null);\n rect.attributes.x = new Property(document, 'x', -MAX_VIRTUAL_PIXELS / 3.0);\n rect.attributes.y = new Property(document, 'y', -MAX_VIRTUAL_PIXELS / 3.0);\n rect.attributes.width = new Property(document, 'width', MAX_VIRTUAL_PIXELS);\n rect.attributes.height = new Property(document, 'height', MAX_VIRTUAL_PIXELS);\n var group = new GElement(document, null);\n group.attributes.transform = new Property(document, 'transform', this.getAttribute('gradientTransform').getValue());\n group.children = [rect];\n var patternSvg = new SVGElement(document, null);\n patternSvg.attributes.x = new Property(document, 'x', 0);\n patternSvg.attributes.y = new Property(document, 'y', 0);\n patternSvg.attributes.width = new Property(document, 'width', rootView.width);\n patternSvg.attributes.height = new Property(document, 'height', rootView.height);\n patternSvg.children = [group];\n var patternCanvas = document.createCanvas(rootView.width, rootView.height);\n var patternCtx = patternCanvas.getContext('2d');\n patternCtx.fillStyle = gradient;\n patternSvg.render(patternCtx);\n return patternCtx.createPattern(patternCanvas, 'no-repeat');\n }\n\n return gradient;\n }\n\n inheritStopContainer(stopsContainer) {\n this.attributesToInherit.forEach(attributeToInherit => {\n if (!this.getAttribute(attributeToInherit).hasValue() && stopsContainer.getAttribute(attributeToInherit).hasValue()) {\n this.getAttribute(attributeToInherit, true).setValue(stopsContainer.getAttribute(attributeToInherit).getValue());\n }\n });\n }\n\n addParentOpacity(parentOpacityProp, color) {\n if (parentOpacityProp.hasValue()) {\n var colorProp = new Property(this.document, 'color', color);\n return colorProp.addOpacity(parentOpacityProp).getColor();\n }\n\n return color;\n }\n\n}\n\nclass LinearGradientElement extends GradientElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'linearGradient';\n this.attributesToInherit.push('x1', 'y1', 'x2', 'y2');\n }\n\n getGradient(ctx, element) {\n var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';\n var boundingBox = isBoundingBoxUnits ? element.getBoundingBox(ctx) : null;\n\n if (isBoundingBoxUnits && !boundingBox) {\n return null;\n }\n\n if (!this.getAttribute('x1').hasValue() && !this.getAttribute('y1').hasValue() && !this.getAttribute('x2').hasValue() && !this.getAttribute('y2').hasValue()) {\n this.getAttribute('x1', true).setValue(0);\n this.getAttribute('y1', true).setValue(0);\n this.getAttribute('x2', true).setValue(1);\n this.getAttribute('y2', true).setValue(0);\n }\n\n var x1 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x1').getNumber() : this.getAttribute('x1').getPixels('x');\n var y1 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y1').getNumber() : this.getAttribute('y1').getPixels('y');\n var x2 = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('x2').getNumber() : this.getAttribute('x2').getPixels('x');\n var y2 = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('y2').getNumber() : this.getAttribute('y2').getPixels('y');\n\n if (x1 === x2 && y1 === y2) {\n return null;\n }\n\n return ctx.createLinearGradient(x1, y1, x2, y2);\n }\n\n}\n\nclass RadialGradientElement extends GradientElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'radialGradient';\n this.attributesToInherit.push('cx', 'cy', 'r', 'fx', 'fy', 'fr');\n }\n\n getGradient(ctx, element) {\n var isBoundingBoxUnits = this.getGradientUnits() === 'objectBoundingBox';\n var boundingBox = element.getBoundingBox(ctx);\n\n if (isBoundingBoxUnits && !boundingBox) {\n return null;\n }\n\n if (!this.getAttribute('cx').hasValue()) {\n this.getAttribute('cx', true).setValue('50%');\n }\n\n if (!this.getAttribute('cy').hasValue()) {\n this.getAttribute('cy', true).setValue('50%');\n }\n\n if (!this.getAttribute('r').hasValue()) {\n this.getAttribute('r', true).setValue('50%');\n }\n\n var cx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('cx').getNumber() : this.getAttribute('cx').getPixels('x');\n var cy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('cy').getNumber() : this.getAttribute('cy').getPixels('y');\n var fx = cx;\n var fy = cy;\n\n if (this.getAttribute('fx').hasValue()) {\n fx = isBoundingBoxUnits ? boundingBox.x + boundingBox.width * this.getAttribute('fx').getNumber() : this.getAttribute('fx').getPixels('x');\n }\n\n if (this.getAttribute('fy').hasValue()) {\n fy = isBoundingBoxUnits ? boundingBox.y + boundingBox.height * this.getAttribute('fy').getNumber() : this.getAttribute('fy').getPixels('y');\n }\n\n var r = isBoundingBoxUnits ? (boundingBox.width + boundingBox.height) / 2.0 * this.getAttribute('r').getNumber() : this.getAttribute('r').getPixels();\n var fr = this.getAttribute('fr').getPixels();\n return ctx.createRadialGradient(fx, fy, fr, cx, cy, r);\n }\n\n}\n\nclass StopElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'stop';\n var offset = Math.max(0, Math.min(1, this.getAttribute('offset').getNumber()));\n var stopOpacity = this.getStyle('stop-opacity');\n var stopColor = this.getStyle('stop-color', true);\n\n if (stopColor.getString() === '') {\n stopColor.setValue('#000');\n }\n\n if (stopOpacity.hasValue()) {\n stopColor = stopColor.addOpacity(stopOpacity);\n }\n\n this.offset = offset;\n this.color = stopColor.getColor();\n }\n\n}\n\nclass AnimateElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'animate';\n this.duration = 0;\n this.initialValue = null;\n this.initialUnits = '';\n this.removed = false;\n this.frozen = false;\n document.screen.animations.push(this);\n this.begin = this.getAttribute('begin').getMilliseconds();\n this.maxDuration = this.begin + this.getAttribute('dur').getMilliseconds();\n this.from = this.getAttribute('from');\n this.to = this.getAttribute('to');\n this.values = new Property(document, 'values', null);\n var valuesAttr = this.getAttribute('values');\n\n if (valuesAttr.hasValue()) {\n this.values.setValue(valuesAttr.getString().split(';'));\n }\n }\n\n getProperty() {\n var attributeType = this.getAttribute('attributeType').getString();\n var attributeName = this.getAttribute('attributeName').getString();\n\n if (attributeType === 'CSS') {\n return this.parent.getStyle(attributeName, true);\n }\n\n return this.parent.getAttribute(attributeName, true);\n }\n\n calcValue() {\n var {\n initialUnits\n } = this;\n var {\n progress,\n from,\n to\n } = this.getProgress(); // tween value linearly\n\n var newValue = from.getNumber() + (to.getNumber() - from.getNumber()) * progress;\n\n if (initialUnits === '%') {\n newValue *= 100.0; // numValue() returns 0-1 whereas properties are 0-100\n }\n\n return \"\".concat(newValue).concat(initialUnits);\n }\n\n update(delta) {\n var {\n parent\n } = this;\n var prop = this.getProperty(); // set initial value\n\n if (!this.initialValue) {\n this.initialValue = prop.getString();\n this.initialUnits = prop.getUnits();\n } // if we're past the end time\n\n\n if (this.duration > this.maxDuration) {\n var fill = this.getAttribute('fill').getString('remove'); // loop for indefinitely repeating animations\n\n if (this.getAttribute('repeatCount').getString() === 'indefinite' || this.getAttribute('repeatDur').getString() === 'indefinite') {\n this.duration = 0;\n } else if (fill === 'freeze' && !this.frozen) {\n this.frozen = true;\n parent.animationFrozen = true;\n parent.animationFrozenValue = prop.getString();\n } else if (fill === 'remove' && !this.removed) {\n this.removed = true;\n prop.setValue(parent.animationFrozen ? parent.animationFrozenValue : this.initialValue);\n return true;\n }\n\n return false;\n }\n\n this.duration += delta; // if we're past the begin time\n\n var updated = false;\n\n if (this.begin < this.duration) {\n var newValue = this.calcValue(); // tween\n\n var typeAttr = this.getAttribute('type');\n\n if (typeAttr.hasValue()) {\n // for transform, etc.\n var type = typeAttr.getString();\n newValue = \"\".concat(type, \"(\").concat(newValue, \")\");\n }\n\n prop.setValue(newValue);\n updated = true;\n }\n\n return updated;\n }\n\n getProgress() {\n var {\n document,\n values\n } = this;\n var result = {\n progress: (this.duration - this.begin) / (this.maxDuration - this.begin)\n };\n\n if (values.hasValue()) {\n var p = result.progress * (values.getValue().length - 1);\n var lb = Math.floor(p);\n var ub = Math.ceil(p);\n result.from = new Property(document, 'from', parseFloat(values.getValue()[lb]));\n result.to = new Property(document, 'to', parseFloat(values.getValue()[ub]));\n result.progress = (p - lb) / (ub - lb);\n } else {\n result.from = this.from;\n result.to = this.to;\n }\n\n return result;\n }\n\n}\n\nclass AnimateColorElement extends AnimateElement {\n constructor() {\n super(...arguments);\n this.type = 'animateColor';\n }\n\n calcValue() {\n var {\n progress,\n from,\n to\n } = this.getProgress();\n var colorFrom = new RGBColor(from.getColor());\n var colorTo = new RGBColor(to.getColor());\n\n if (colorFrom.ok && colorTo.ok) {\n // tween color linearly\n var r = colorFrom.r + (colorTo.r - colorFrom.r) * progress;\n var g = colorFrom.g + (colorTo.g - colorFrom.g) * progress;\n var b = colorFrom.b + (colorTo.b - colorFrom.b) * progress; // ? alpha\n\n return \"rgb(\".concat(Math.floor(r), \", \").concat(Math.floor(g), \", \").concat(Math.floor(b), \")\");\n }\n\n return this.getAttribute('from').getColor();\n }\n\n}\n\nclass AnimateTransformElement extends AnimateElement {\n constructor() {\n super(...arguments);\n this.type = 'animateTransform';\n }\n\n calcValue() {\n var {\n progress,\n from,\n to\n } = this.getProgress(); // tween value linearly\n\n var transformFrom = toNumbers(from.getString());\n var transformTo = toNumbers(to.getString());\n var newValue = transformFrom.map((from, i) => {\n var to = transformTo[i];\n return from + (to - from) * progress;\n }).join(' ');\n return newValue;\n }\n\n}\n\nclass FontElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'font';\n this.glyphs = {};\n this.horizAdvX = this.getAttribute('horiz-adv-x').getNumber();\n var {\n definitions\n } = document;\n var {\n children\n } = this;\n\n for (var child of children) {\n switch (child.type) {\n case 'font-face':\n {\n this.fontFace = child;\n var fontFamilyStyle = child.getStyle('font-family');\n\n if (fontFamilyStyle.hasValue()) {\n definitions[fontFamilyStyle.getString()] = this;\n }\n\n break;\n }\n\n case 'missing-glyph':\n this.missingGlyph = child;\n break;\n\n case 'glyph':\n {\n var glyph = child;\n\n if (glyph.arabicForm) {\n this.isRTL = true;\n this.isArabic = true;\n\n if (typeof this.glyphs[glyph.unicode] === 'undefined') {\n this.glyphs[glyph.unicode] = {};\n }\n\n this.glyphs[glyph.unicode][glyph.arabicForm] = glyph;\n } else {\n this.glyphs[glyph.unicode] = glyph;\n }\n\n break;\n }\n }\n }\n }\n\n render() {// NO RENDER\n }\n\n}\n\nclass FontFaceElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'font-face';\n this.ascent = this.getAttribute('ascent').getNumber();\n this.descent = this.getAttribute('descent').getNumber();\n this.unitsPerEm = this.getAttribute('units-per-em').getNumber();\n }\n\n}\n\nclass MissingGlyphElement extends PathElement {\n constructor() {\n super(...arguments);\n this.type = 'missing-glyph';\n this.horizAdvX = 0;\n }\n\n}\n\nclass TRefElement extends TextElement {\n constructor() {\n super(...arguments);\n this.type = 'tref';\n }\n\n getText() {\n var element = this.getHrefAttribute().getDefinition();\n\n if (element) {\n var firstChild = element.children[0];\n\n if (firstChild) {\n return firstChild.getText();\n }\n }\n\n return '';\n }\n\n}\n\nclass AElement extends TextElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'a';\n var {\n childNodes\n } = node;\n var firstChild = childNodes[0];\n var hasText = childNodes.length > 0 && Array.from(childNodes).every(node => node.nodeType === 3);\n this.hasText = hasText;\n this.text = hasText ? this.getTextFromNode(firstChild) : '';\n }\n\n getText() {\n return this.text;\n }\n\n renderChildren(ctx) {\n if (this.hasText) {\n // render as text element\n super.renderChildren(ctx);\n var {\n document,\n x,\n y\n } = this;\n var {\n mouse\n } = document.screen;\n var fontSize = new Property(document, 'fontSize', Font.parse(document.ctx.font).fontSize); // Do not calc bounding box if mouse is not working.\n\n if (mouse.isWorking()) {\n mouse.checkBoundingBox(this, new BoundingBox(x, y - fontSize.getPixels('y'), x + this.measureText(ctx), y));\n }\n } else if (this.children.length > 0) {\n // render as temporary group\n var g = new GElement(this.document, null);\n g.children = this.children;\n g.parent = this;\n g.render(ctx);\n }\n }\n\n onClick() {\n var {\n window\n } = this.document;\n\n if (window) {\n window.open(this.getHrefAttribute().getString());\n }\n }\n\n onMouseMove() {\n var ctx = this.document.ctx;\n ctx.canvas.style.cursor = 'pointer';\n }\n\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nclass TextPathElement extends TextElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'textPath';\n this.textWidth = 0;\n this.textHeight = 0;\n this.pathLength = -1;\n this.glyphInfo = null;\n this.letterSpacingCache = [];\n this.measuresCache = new Map([['', 0]]);\n var pathElement = this.getHrefAttribute().getDefinition();\n this.text = this.getTextFromNode();\n this.dataArray = this.parsePathData(pathElement);\n }\n\n getText() {\n return this.text;\n }\n\n path(ctx) {\n var {\n dataArray\n } = this;\n\n if (ctx) {\n ctx.beginPath();\n }\n\n dataArray.forEach(_ref => {\n var {\n type,\n points\n } = _ref;\n\n switch (type) {\n case PathParser.LINE_TO:\n if (ctx) {\n ctx.lineTo(points[0], points[1]);\n }\n\n break;\n\n case PathParser.MOVE_TO:\n if (ctx) {\n ctx.moveTo(points[0], points[1]);\n }\n\n break;\n\n case PathParser.CURVE_TO:\n if (ctx) {\n ctx.bezierCurveTo(points[0], points[1], points[2], points[3], points[4], points[5]);\n }\n\n break;\n\n case PathParser.QUAD_TO:\n if (ctx) {\n ctx.quadraticCurveTo(points[0], points[1], points[2], points[3]);\n }\n\n break;\n\n case PathParser.ARC:\n {\n var [cx, cy, rx, ry, theta, dTheta, psi, fs] = points;\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n\n if (ctx) {\n ctx.translate(cx, cy);\n ctx.rotate(psi);\n ctx.scale(scaleX, scaleY);\n ctx.arc(0, 0, r, theta, theta + dTheta, Boolean(1 - fs));\n ctx.scale(1 / scaleX, 1 / scaleY);\n ctx.rotate(-psi);\n ctx.translate(-cx, -cy);\n }\n\n break;\n }\n\n case PathParser.CLOSE_PATH:\n if (ctx) {\n ctx.closePath();\n }\n\n break;\n }\n });\n }\n\n renderChildren(ctx) {\n this.setTextData(ctx);\n ctx.save();\n var textDecoration = this.parent.getStyle('text-decoration').getString();\n var fontSize = this.getFontSize();\n var {\n glyphInfo\n } = this;\n var fill = ctx.fillStyle;\n\n if (textDecoration === 'underline') {\n ctx.beginPath();\n }\n\n glyphInfo.forEach((glyph, i) => {\n var {\n p0,\n p1,\n rotation,\n text: partialText\n } = glyph;\n ctx.save();\n ctx.translate(p0.x, p0.y);\n ctx.rotate(rotation);\n\n if (ctx.fillStyle) {\n ctx.fillText(partialText, 0, 0);\n }\n\n if (ctx.strokeStyle) {\n ctx.strokeText(partialText, 0, 0);\n }\n\n ctx.restore();\n\n if (textDecoration === 'underline') {\n if (i === 0) {\n ctx.moveTo(p0.x, p0.y + fontSize / 8);\n }\n\n ctx.lineTo(p1.x, p1.y + fontSize / 5);\n } // // To assist with debugging visually, uncomment following\n //\n // ctx.beginPath();\n // if (i % 2)\n // \tctx.strokeStyle = 'red';\n // else\n // \tctx.strokeStyle = 'green';\n // ctx.moveTo(p0.x, p0.y);\n // ctx.lineTo(p1.x, p1.y);\n // ctx.stroke();\n // ctx.closePath();\n\n });\n\n if (textDecoration === 'underline') {\n ctx.lineWidth = fontSize / 20;\n ctx.strokeStyle = fill;\n ctx.stroke();\n ctx.closePath();\n }\n\n ctx.restore();\n }\n\n getLetterSpacingAt() {\n var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return this.letterSpacingCache[idx] || 0;\n }\n\n findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, inputOffset, dy, c, charI) {\n var offset = inputOffset;\n var glyphWidth = this.measureText(ctx, c);\n\n if (c === ' ' && anchor === 'justify' && textFullWidth < fullPathWidth) {\n glyphWidth += (fullPathWidth - textFullWidth) / spacesNumber;\n }\n\n if (charI > -1) {\n offset += this.getLetterSpacingAt(charI);\n }\n\n var splineStep = this.textHeight / 20;\n var p0 = this.getEquidistantPointOnPath(offset, splineStep, 0);\n var p1 = this.getEquidistantPointOnPath(offset + glyphWidth, splineStep, 0);\n var segment = {\n p0,\n p1\n };\n var rotation = p0 && p1 ? Math.atan2(p1.y - p0.y, p1.x - p0.x) : 0;\n\n if (dy) {\n var dyX = Math.cos(Math.PI / 2 + rotation) * dy;\n var dyY = Math.cos(-rotation) * dy;\n segment.p0 = _objectSpread$2(_objectSpread$2({}, p0), {}, {\n x: p0.x + dyX,\n y: p0.y + dyY\n });\n segment.p1 = _objectSpread$2(_objectSpread$2({}, p1), {}, {\n x: p1.x + dyX,\n y: p1.y + dyY\n });\n }\n\n offset += glyphWidth;\n return {\n offset,\n segment,\n rotation\n };\n }\n\n measureText(ctx, text) {\n var {\n measuresCache\n } = this;\n var targetText = text || this.getText();\n\n if (measuresCache.has(targetText)) {\n return measuresCache.get(targetText);\n }\n\n var measure = this.measureTargetText(ctx, targetText);\n measuresCache.set(targetText, measure);\n return measure;\n } // This method supposes what all custom fonts already loaded.\n // If some font will be loaded after this method call, <textPath> will not be rendered correctly.\n // You need to call this method manually to update glyphs cache.\n\n\n setTextData(ctx) {\n if (this.glyphInfo) {\n return;\n }\n\n var renderText = this.getText();\n var chars = renderText.split('');\n var spacesNumber = renderText.split(' ').length - 1;\n var dx = this.parent.getAttribute('dx').split().map(_ => _.getPixels('x'));\n var dy = this.parent.getAttribute('dy').getPixels('y');\n var anchor = this.parent.getStyle('text-anchor').getString('start');\n var thisSpacing = this.getStyle('letter-spacing');\n var parentSpacing = this.parent.getStyle('letter-spacing');\n var letterSpacing = 0;\n\n if (!thisSpacing.hasValue() || thisSpacing.getValue() === 'inherit') {\n letterSpacing = parentSpacing.getPixels();\n } else if (thisSpacing.hasValue()) {\n if (thisSpacing.getValue() !== 'initial' && thisSpacing.getValue() !== 'unset') {\n letterSpacing = thisSpacing.getPixels();\n }\n } // fill letter-spacing cache\n\n\n var letterSpacingCache = [];\n var textLen = renderText.length;\n this.letterSpacingCache = letterSpacingCache;\n\n for (var i = 0; i < textLen; i++) {\n letterSpacingCache.push(typeof dx[i] !== 'undefined' ? dx[i] : letterSpacing);\n }\n\n var dxSum = letterSpacingCache.reduce((acc, cur, i) => i === 0 ? 0 : acc + cur || 0, 0);\n var textWidth = this.measureText(ctx);\n var textFullWidth = Math.max(textWidth + dxSum, 0);\n this.textWidth = textWidth;\n this.textHeight = this.getFontSize();\n this.glyphInfo = [];\n var fullPathWidth = this.getPathLength();\n var startOffset = this.getStyle('startOffset').getNumber(0) * fullPathWidth;\n var offset = 0;\n\n if (anchor === 'middle' || anchor === 'center') {\n offset = -textFullWidth / 2;\n }\n\n if (anchor === 'end' || anchor === 'right') {\n offset = -textFullWidth;\n }\n\n offset += startOffset;\n chars.forEach((char, i) => {\n // Find such segment what distance between p0 and p1 is approx. width of glyph\n var {\n offset: nextOffset,\n segment,\n rotation\n } = this.findSegmentToFitChar(ctx, anchor, textFullWidth, fullPathWidth, spacesNumber, offset, dy, char, i);\n offset = nextOffset;\n\n if (!segment.p0 || !segment.p1) {\n return;\n } // const width = this.getLineLength(\n // \tsegment.p0.x,\n // \tsegment.p0.y,\n // \tsegment.p1.x,\n // \tsegment.p1.y\n // );\n // Note: Since glyphs are rendered one at a time, any kerning pair data built into the font will not be used.\n // Can foresee having a rough pair table built in that the developer can override as needed.\n // Or use \"dx\" attribute of the <text> node as a naive replacement\n // const kern = 0;\n // placeholder for future implementation\n // const midpoint = this.getPointOnLine(\n // \tkern + width / 2.0,\n // \tsegment.p0.x, segment.p0.y, segment.p1.x, segment.p1.y\n // );\n\n\n this.glyphInfo.push({\n // transposeX: midpoint.x,\n // transposeY: midpoint.y,\n text: chars[i],\n p0: segment.p0,\n p1: segment.p1,\n rotation\n });\n });\n }\n\n parsePathData(path) {\n this.pathLength = -1; // reset path length\n\n if (!path) {\n return [];\n }\n\n var pathCommands = [];\n var {\n pathParser\n } = path;\n pathParser.reset(); // convert l, H, h, V, and v to L\n\n while (!pathParser.isEnd()) {\n var {\n current\n } = pathParser;\n var startX = current ? current.x : 0;\n var startY = current ? current.y : 0;\n var command = pathParser.next();\n var nextCommandType = command.type;\n var points = [];\n\n switch (command.type) {\n case PathParser.MOVE_TO:\n this.pathM(pathParser, points);\n break;\n\n case PathParser.LINE_TO:\n nextCommandType = this.pathL(pathParser, points);\n break;\n\n case PathParser.HORIZ_LINE_TO:\n nextCommandType = this.pathH(pathParser, points);\n break;\n\n case PathParser.VERT_LINE_TO:\n nextCommandType = this.pathV(pathParser, points);\n break;\n\n case PathParser.CURVE_TO:\n this.pathC(pathParser, points);\n break;\n\n case PathParser.SMOOTH_CURVE_TO:\n nextCommandType = this.pathS(pathParser, points);\n break;\n\n case PathParser.QUAD_TO:\n this.pathQ(pathParser, points);\n break;\n\n case PathParser.SMOOTH_QUAD_TO:\n nextCommandType = this.pathT(pathParser, points);\n break;\n\n case PathParser.ARC:\n points = this.pathA(pathParser);\n break;\n\n case PathParser.CLOSE_PATH:\n PathElement.pathZ(pathParser);\n break;\n }\n\n if (command.type !== PathParser.CLOSE_PATH) {\n pathCommands.push({\n type: nextCommandType,\n points,\n start: {\n x: startX,\n y: startY\n },\n pathLength: this.calcLength(startX, startY, nextCommandType, points)\n });\n } else {\n pathCommands.push({\n type: PathParser.CLOSE_PATH,\n points: [],\n pathLength: 0\n });\n }\n }\n\n return pathCommands;\n }\n\n pathM(pathParser, points) {\n var {\n x,\n y\n } = PathElement.pathM(pathParser).point;\n points.push(x, y);\n }\n\n pathL(pathParser, points) {\n var {\n x,\n y\n } = PathElement.pathL(pathParser).point;\n points.push(x, y);\n return PathParser.LINE_TO;\n }\n\n pathH(pathParser, points) {\n var {\n x,\n y\n } = PathElement.pathH(pathParser).point;\n points.push(x, y);\n return PathParser.LINE_TO;\n }\n\n pathV(pathParser, points) {\n var {\n x,\n y\n } = PathElement.pathV(pathParser).point;\n points.push(x, y);\n return PathParser.LINE_TO;\n }\n\n pathC(pathParser, points) {\n var {\n point,\n controlPoint,\n currentPoint\n } = PathElement.pathC(pathParser);\n points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n\n pathS(pathParser, points) {\n var {\n point,\n controlPoint,\n currentPoint\n } = PathElement.pathS(pathParser);\n points.push(point.x, point.y, controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n return PathParser.CURVE_TO;\n }\n\n pathQ(pathParser, points) {\n var {\n controlPoint,\n currentPoint\n } = PathElement.pathQ(pathParser);\n points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n }\n\n pathT(pathParser, points) {\n var {\n controlPoint,\n currentPoint\n } = PathElement.pathT(pathParser);\n points.push(controlPoint.x, controlPoint.y, currentPoint.x, currentPoint.y);\n return PathParser.QUAD_TO;\n }\n\n pathA(pathParser) {\n var {\n rX,\n rY,\n sweepFlag,\n xAxisRotation,\n centp,\n a1,\n ad\n } = PathElement.pathA(pathParser);\n\n if (sweepFlag === 0 && ad > 0) {\n ad -= 2 * Math.PI;\n }\n\n if (sweepFlag === 1 && ad < 0) {\n ad += 2 * Math.PI;\n }\n\n return [centp.x, centp.y, rX, rY, a1, ad, xAxisRotation, sweepFlag];\n }\n\n calcLength(x, y, commandType, points) {\n var len = 0;\n var p1 = null;\n var p2 = null;\n var t = 0;\n\n switch (commandType) {\n case PathParser.LINE_TO:\n return this.getLineLength(x, y, points[0], points[1]);\n\n case PathParser.CURVE_TO:\n // Approximates by breaking curve into 100 line segments\n len = 0.0;\n p1 = this.getPointOnCubicBezier(0, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = this.getPointOnCubicBezier(t, x, y, points[0], points[1], points[2], points[3], points[4], points[5]);\n len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n\n return len;\n\n case PathParser.QUAD_TO:\n // Approximates by breaking curve into 100 line segments\n len = 0.0;\n p1 = this.getPointOnQuadraticBezier(0, x, y, points[0], points[1], points[2], points[3]);\n\n for (t = 0.01; t <= 1; t += 0.01) {\n p2 = this.getPointOnQuadraticBezier(t, x, y, points[0], points[1], points[2], points[3]);\n len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n\n return len;\n\n case PathParser.ARC:\n {\n // Approximates by breaking curve into line segments\n len = 0.0;\n var start = points[4]; // 4 = theta\n\n var dTheta = points[5]; // 5 = dTheta\n\n var end = points[4] + dTheta;\n var inc = Math.PI / 180.0; // 1 degree resolution\n\n if (Math.abs(start - end) < inc) {\n inc = Math.abs(start - end);\n } // Note: for purpose of calculating arc length, not going to worry about rotating X-axis by angle psi\n\n\n p1 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], start, 0);\n\n if (dTheta < 0) {\n // clockwise\n for (t = start - inc; t > end; t -= inc) {\n p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n } else {\n // counter-clockwise\n for (t = start + inc; t < end; t += inc) {\n p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], t, 0);\n len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n p1 = p2;\n }\n }\n\n p2 = this.getPointOnEllipticalArc(points[0], points[1], points[2], points[3], end, 0);\n len += this.getLineLength(p1.x, p1.y, p2.x, p2.y);\n return len;\n }\n }\n\n return 0;\n }\n\n getPointOnLine(dist, p1x, p1y, p2x, p2y) {\n var fromX = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : p1x;\n var fromY = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : p1y;\n var m = (p2y - p1y) / (p2x - p1x + PSEUDO_ZERO);\n var run = Math.sqrt(dist * dist / (1 + m * m));\n\n if (p2x < p1x) {\n run *= -1;\n }\n\n var rise = m * run;\n var pt = null;\n\n if (p2x === p1x) {\n // vertical line\n pt = {\n x: fromX,\n y: fromY + rise\n };\n } else if ((fromY - p1y) / (fromX - p1x + PSEUDO_ZERO) === m) {\n pt = {\n x: fromX + run,\n y: fromY + rise\n };\n } else {\n var ix = 0;\n var iy = 0;\n var len = this.getLineLength(p1x, p1y, p2x, p2y);\n\n if (len < PSEUDO_ZERO) {\n return null;\n }\n\n var u = (fromX - p1x) * (p2x - p1x) + (fromY - p1y) * (p2y - p1y);\n u /= len * len;\n ix = p1x + u * (p2x - p1x);\n iy = p1y + u * (p2y - p1y);\n var pRise = this.getLineLength(fromX, fromY, ix, iy);\n var pRun = Math.sqrt(dist * dist - pRise * pRise);\n run = Math.sqrt(pRun * pRun / (1 + m * m));\n\n if (p2x < p1x) {\n run *= -1;\n }\n\n rise = m * run;\n pt = {\n x: ix + run,\n y: iy + rise\n };\n }\n\n return pt;\n }\n\n getPointOnPath(distance) {\n var fullLen = this.getPathLength();\n var cumulativePathLength = 0;\n var p = null;\n\n if (distance < -0.00005 || distance - 0.00005 > fullLen) {\n return null;\n }\n\n var {\n dataArray\n } = this;\n\n for (var command of dataArray) {\n if (command && (command.pathLength < 0.00005 || cumulativePathLength + command.pathLength + 0.00005 < distance)) {\n cumulativePathLength += command.pathLength;\n continue;\n }\n\n var delta = distance - cumulativePathLength;\n var currentT = 0;\n\n switch (command.type) {\n case PathParser.LINE_TO:\n p = this.getPointOnLine(delta, command.start.x, command.start.y, command.points[0], command.points[1], command.start.x, command.start.y);\n break;\n\n case PathParser.ARC:\n {\n var start = command.points[4]; // 4 = theta\n\n var dTheta = command.points[5]; // 5 = dTheta\n\n var end = command.points[4] + dTheta;\n currentT = start + delta / command.pathLength * dTheta;\n\n if (dTheta < 0 && currentT < end || dTheta >= 0 && currentT > end) {\n break;\n }\n\n p = this.getPointOnEllipticalArc(command.points[0], command.points[1], command.points[2], command.points[3], currentT, command.points[6]);\n break;\n }\n\n case PathParser.CURVE_TO:\n currentT = delta / command.pathLength;\n\n if (currentT > 1) {\n currentT = 1;\n }\n\n p = this.getPointOnCubicBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3], command.points[4], command.points[5]);\n break;\n\n case PathParser.QUAD_TO:\n currentT = delta / command.pathLength;\n\n if (currentT > 1) {\n currentT = 1;\n }\n\n p = this.getPointOnQuadraticBezier(currentT, command.start.x, command.start.y, command.points[0], command.points[1], command.points[2], command.points[3]);\n break;\n }\n\n if (p) {\n return p;\n }\n\n break;\n }\n\n return null;\n }\n\n getLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n\n getPathLength() {\n if (this.pathLength === -1) {\n this.pathLength = this.dataArray.reduce((length, command) => command.pathLength > 0 ? length + command.pathLength : length, 0);\n }\n\n return this.pathLength;\n }\n\n getPointOnCubicBezier(pct, p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n var x = p4x * CB1(pct) + p3x * CB2(pct) + p2x * CB3(pct) + p1x * CB4(pct);\n var y = p4y * CB1(pct) + p3y * CB2(pct) + p2y * CB3(pct) + p1y * CB4(pct);\n return {\n x,\n y\n };\n }\n\n getPointOnQuadraticBezier(pct, p1x, p1y, p2x, p2y, p3x, p3y) {\n var x = p3x * QB1(pct) + p2x * QB2(pct) + p1x * QB3(pct);\n var y = p3y * QB1(pct) + p2y * QB2(pct) + p1y * QB3(pct);\n return {\n x,\n y\n };\n }\n\n getPointOnEllipticalArc(cx, cy, rx, ry, theta, psi) {\n var cosPsi = Math.cos(psi);\n var sinPsi = Math.sin(psi);\n var pt = {\n x: rx * Math.cos(theta),\n y: ry * Math.sin(theta)\n };\n return {\n x: cx + (pt.x * cosPsi - pt.y * sinPsi),\n y: cy + (pt.x * sinPsi + pt.y * cosPsi)\n };\n } // TODO need some optimisations. possibly build cache only for curved segments?\n\n\n buildEquidistantCache(inputStep, inputPrecision) {\n var fullLen = this.getPathLength();\n var precision = inputPrecision || 0.25; // accuracy vs performance\n\n var step = inputStep || fullLen / 100;\n\n if (!this.equidistantCache || this.equidistantCache.step !== step || this.equidistantCache.precision !== precision) {\n // Prepare cache\n this.equidistantCache = {\n step,\n precision,\n points: []\n }; // Calculate points\n\n var s = 0;\n\n for (var l = 0; l <= fullLen; l += precision) {\n var p0 = this.getPointOnPath(l);\n var p1 = this.getPointOnPath(l + precision);\n\n if (!p0 || !p1) {\n continue;\n }\n\n s += this.getLineLength(p0.x, p0.y, p1.x, p1.y);\n\n if (s >= step) {\n this.equidistantCache.points.push({\n x: p0.x,\n y: p0.y,\n distance: l\n });\n s -= step;\n }\n }\n }\n }\n\n getEquidistantPointOnPath(targetDistance, step, precision) {\n this.buildEquidistantCache(step, precision);\n\n if (targetDistance < 0 || targetDistance - this.getPathLength() > 0.00005) {\n return null;\n }\n\n var idx = Math.round(targetDistance / this.getPathLength() * (this.equidistantCache.points.length - 1));\n return this.equidistantCache.points[idx] || null;\n }\n\n}\n\nvar dataUriRegex = /^\\s*data:(([^/,;]+\\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;\nclass ImageElement extends RenderedElement {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'image';\n this.loaded = false;\n var href = this.getHrefAttribute().getString();\n\n if (!href) {\n return;\n }\n\n var isSvg = href.endsWith('.svg') || /^\\s*data:image\\/svg\\+xml/i.test(href);\n document.images.push(this);\n\n if (!isSvg) {\n void this.loadImage(href);\n } else {\n void this.loadSvg(href);\n }\n\n this.isSvg = isSvg;\n }\n\n loadImage(href) {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n try {\n var image = yield _this.document.createImage(href);\n _this.image = image;\n } catch (err) {\n console.error(\"Error while loading image \\\"\".concat(href, \"\\\":\"), err);\n }\n\n _this.loaded = true;\n })();\n }\n\n loadSvg(href) {\n var _this2 = this;\n\n return _asyncToGenerator(function* () {\n var match = dataUriRegex.exec(href);\n\n if (match) {\n var data = match[5];\n\n if (match[4] === 'base64') {\n _this2.image = atob(data);\n } else {\n _this2.image = decodeURIComponent(data);\n }\n } else {\n try {\n var response = yield _this2.document.fetch(href);\n var svg = yield response.text();\n _this2.image = svg;\n } catch (err) {\n console.error(\"Error while loading image \\\"\".concat(href, \"\\\":\"), err);\n }\n }\n\n _this2.loaded = true;\n })();\n }\n\n renderChildren(ctx) {\n var {\n document,\n image,\n loaded\n } = this;\n var x = this.getAttribute('x').getPixels('x');\n var y = this.getAttribute('y').getPixels('y');\n var width = this.getStyle('width').getPixels('x');\n var height = this.getStyle('height').getPixels('y');\n\n if (!loaded || !image || !width || !height) {\n return;\n }\n\n ctx.save();\n ctx.translate(x, y);\n\n if (this.isSvg) {\n var subDocument = document.canvg.forkString(ctx, this.image, {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true,\n ignoreClear: true,\n offsetX: 0,\n offsetY: 0,\n scaleWidth: width,\n scaleHeight: height\n });\n subDocument.document.documentElement.parent = this;\n void subDocument.render();\n } else {\n var _image = this.image;\n document.setViewBox({\n ctx,\n aspectRatio: this.getAttribute('preserveAspectRatio').getString(),\n width,\n desiredWidth: _image.width,\n height,\n desiredHeight: _image.height\n });\n\n if (this.loaded) {\n if (typeof _image.complete === 'undefined' || _image.complete) {\n ctx.drawImage(_image, 0, 0);\n }\n }\n }\n\n ctx.restore();\n }\n\n getBoundingBox() {\n var x = this.getAttribute('x').getPixels('x');\n var y = this.getAttribute('y').getPixels('y');\n var width = this.getStyle('width').getPixels('x');\n var height = this.getStyle('height').getPixels('y');\n return new BoundingBox(x, y, x + width, y + height);\n }\n\n}\n\nclass SymbolElement extends RenderedElement {\n constructor() {\n super(...arguments);\n this.type = 'symbol';\n }\n\n render(_) {// NO RENDER\n }\n\n}\n\nclass SVGFontLoader {\n constructor(document) {\n this.document = document;\n this.loaded = false;\n document.fonts.push(this);\n }\n\n load(fontFamily, url) {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n try {\n var {\n document\n } = _this;\n var svgDocument = yield document.canvg.parser.load(url);\n var fonts = svgDocument.getElementsByTagName('font');\n Array.from(fonts).forEach(fontNode => {\n var font = document.createElement(fontNode);\n document.definitions[fontFamily] = font;\n });\n } catch (err) {\n console.error(\"Error while loading font \\\"\".concat(url, \"\\\":\"), err);\n }\n\n _this.loaded = true;\n })();\n }\n\n}\n\nclass StyleElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'style';\n var css = compressSpaces(Array.from(node.childNodes) // NEED TEST\n .map(_ => _.textContent).join('').replace(/(\\/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+\\/)|(^[\\s]*\\/\\/.*)/gm, '') // remove comments\n .replace(/@import.*;/g, '') // remove imports\n );\n var cssDefs = css.split('}');\n cssDefs.forEach(_ => {\n var def = _.trim();\n\n if (!def) {\n return;\n }\n\n var cssParts = def.split('{');\n var cssClasses = cssParts[0].split(',');\n var cssProps = cssParts[1].split(';');\n cssClasses.forEach(_ => {\n var cssClass = _.trim();\n\n if (!cssClass) {\n return;\n }\n\n var props = document.styles[cssClass] || {};\n cssProps.forEach(cssProp => {\n var prop = cssProp.indexOf(':');\n var name = cssProp.substr(0, prop).trim();\n var value = cssProp.substr(prop + 1, cssProp.length - prop).trim();\n\n if (name && value) {\n props[name] = new Property(document, name, value);\n }\n });\n document.styles[cssClass] = props;\n document.stylesSpecificity[cssClass] = getSelectorSpecificity(cssClass);\n\n if (cssClass === '@font-face') {\n // && !nodeEnv\n var fontFamily = props['font-family'].getString().replace(/\"|'/g, '');\n var srcs = props.src.getString().split(',');\n srcs.forEach(src => {\n if (src.indexOf('format(\"svg\")') > 0) {\n var url = parseExternalUrl(src);\n\n if (url) {\n void new SVGFontLoader(document).load(fontFamily, url);\n }\n }\n });\n }\n });\n });\n }\n\n}\nStyleElement.parseExternalUrl = parseExternalUrl;\n\nclass UseElement extends RenderedElement {\n constructor() {\n super(...arguments);\n this.type = 'use';\n }\n\n setContext(ctx) {\n super.setContext(ctx);\n var xAttr = this.getAttribute('x');\n var yAttr = this.getAttribute('y');\n\n if (xAttr.hasValue()) {\n ctx.translate(xAttr.getPixels('x'), 0);\n }\n\n if (yAttr.hasValue()) {\n ctx.translate(0, yAttr.getPixels('y'));\n }\n }\n\n path(ctx) {\n var {\n element\n } = this;\n\n if (element) {\n element.path(ctx);\n }\n }\n\n renderChildren(ctx) {\n var {\n document,\n element\n } = this;\n\n if (element) {\n var tempSvg = element;\n\n if (element.type === 'symbol') {\n // render me using a temporary svg element in symbol cases (http://www.w3.org/TR/SVG/struct.html#UseElement)\n tempSvg = new SVGElement(document, null);\n tempSvg.attributes.viewBox = new Property(document, 'viewBox', element.getAttribute('viewBox').getString());\n tempSvg.attributes.preserveAspectRatio = new Property(document, 'preserveAspectRatio', element.getAttribute('preserveAspectRatio').getString());\n tempSvg.attributes.overflow = new Property(document, 'overflow', element.getAttribute('overflow').getString());\n tempSvg.children = element.children; // element is still the parent of the children\n\n element.styles.opacity = new Property(document, 'opacity', this.calculateOpacity());\n }\n\n if (tempSvg.type === 'svg') {\n var widthStyle = this.getStyle('width', false, true);\n var heightStyle = this.getStyle('height', false, true); // if symbol or svg, inherit width/height from me\n\n if (widthStyle.hasValue()) {\n tempSvg.attributes.width = new Property(document, 'width', widthStyle.getString());\n }\n\n if (heightStyle.hasValue()) {\n tempSvg.attributes.height = new Property(document, 'height', heightStyle.getString());\n }\n }\n\n var oldParent = tempSvg.parent;\n tempSvg.parent = this;\n tempSvg.render(ctx);\n tempSvg.parent = oldParent;\n }\n }\n\n getBoundingBox(ctx) {\n var {\n element\n } = this;\n\n if (element) {\n return element.getBoundingBox(ctx);\n }\n\n return null;\n }\n\n elementTransform() {\n var {\n document,\n element\n } = this;\n return Transform.fromElement(document, element);\n }\n\n get element() {\n if (!this.cachedElement) {\n this.cachedElement = this.getHrefAttribute().getDefinition();\n }\n\n return this.cachedElement;\n }\n\n}\n\nfunction imGet(img, x, y, width, _height, rgba) {\n return img[y * width * 4 + x * 4 + rgba];\n}\n\nfunction imSet(img, x, y, width, _height, rgba, val) {\n img[y * width * 4 + x * 4 + rgba] = val;\n}\n\nfunction m(matrix, i, v) {\n var mi = matrix[i];\n return mi * v;\n}\n\nfunction c(a, m1, m2, m3) {\n return m1 + Math.cos(a) * m2 + Math.sin(a) * m3;\n}\n\nclass FeColorMatrixElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'feColorMatrix';\n var matrix = toNumbers(this.getAttribute('values').getString());\n\n switch (this.getAttribute('type').getString('matrix')) {\n // http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement\n case 'saturate':\n {\n var s = matrix[0];\n /* eslint-disable array-element-newline */\n\n matrix = [0.213 + 0.787 * s, 0.715 - 0.715 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 + 0.285 * s, 0.072 - 0.072 * s, 0, 0, 0.213 - 0.213 * s, 0.715 - 0.715 * s, 0.072 + 0.928 * s, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];\n /* eslint-enable array-element-newline */\n\n break;\n }\n\n case 'hueRotate':\n {\n var a = matrix[0] * Math.PI / 180.0;\n /* eslint-disable array-element-newline */\n\n matrix = [c(a, 0.213, 0.787, -0.213), c(a, 0.715, -0.715, -0.715), c(a, 0.072, -0.072, 0.928), 0, 0, c(a, 0.213, -0.213, 0.143), c(a, 0.715, 0.285, 0.140), c(a, 0.072, -0.072, -0.283), 0, 0, c(a, 0.213, -0.213, -0.787), c(a, 0.715, -0.715, 0.715), c(a, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];\n /* eslint-enable array-element-newline */\n\n break;\n }\n\n case 'luminanceToAlpha':\n /* eslint-disable array-element-newline */\n matrix = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1];\n /* eslint-enable array-element-newline */\n\n break;\n }\n\n this.matrix = matrix;\n this.includeOpacity = this.getAttribute('includeOpacity').hasValue();\n }\n\n apply(ctx, _x, _y, width, height) {\n // assuming x==0 && y==0 for now\n var {\n includeOpacity,\n matrix\n } = this;\n var srcData = ctx.getImageData(0, 0, width, height);\n\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n var r = imGet(srcData.data, x, y, width, height, 0);\n var g = imGet(srcData.data, x, y, width, height, 1);\n var b = imGet(srcData.data, x, y, width, height, 2);\n var a = imGet(srcData.data, x, y, width, height, 3);\n var nr = m(matrix, 0, r) + m(matrix, 1, g) + m(matrix, 2, b) + m(matrix, 3, a) + m(matrix, 4, 1);\n var ng = m(matrix, 5, r) + m(matrix, 6, g) + m(matrix, 7, b) + m(matrix, 8, a) + m(matrix, 9, 1);\n var nb = m(matrix, 10, r) + m(matrix, 11, g) + m(matrix, 12, b) + m(matrix, 13, a) + m(matrix, 14, 1);\n var na = m(matrix, 15, r) + m(matrix, 16, g) + m(matrix, 17, b) + m(matrix, 18, a) + m(matrix, 19, 1);\n\n if (includeOpacity) {\n nr = 0;\n ng = 0;\n nb = 0;\n na *= a / 255;\n }\n\n imSet(srcData.data, x, y, width, height, 0, nr);\n imSet(srcData.data, x, y, width, height, 1, ng);\n imSet(srcData.data, x, y, width, height, 2, nb);\n imSet(srcData.data, x, y, width, height, 3, na);\n }\n }\n\n ctx.clearRect(0, 0, width, height);\n ctx.putImageData(srcData, 0, 0);\n }\n\n}\n\nclass MaskElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'mask';\n }\n\n apply(ctx, element) {\n var {\n document\n } = this; // render as temp svg\n\n var x = this.getAttribute('x').getPixels('x');\n var y = this.getAttribute('y').getPixels('y');\n var width = this.getStyle('width').getPixels('x');\n var height = this.getStyle('height').getPixels('y');\n\n if (!width && !height) {\n var boundingBox = new BoundingBox();\n this.children.forEach(child => {\n boundingBox.addBoundingBox(child.getBoundingBox(ctx));\n });\n x = Math.floor(boundingBox.x1);\n y = Math.floor(boundingBox.y1);\n width = Math.floor(boundingBox.width);\n height = Math.floor(boundingBox.height);\n }\n\n var ignoredStyles = this.removeStyles(element, MaskElement.ignoreStyles);\n var maskCanvas = document.createCanvas(x + width, y + height);\n var maskCtx = maskCanvas.getContext('2d');\n document.screen.setDefaults(maskCtx);\n this.renderChildren(maskCtx); // convert mask to alpha with a fake node\n // TODO: refactor out apply from feColorMatrix\n\n new FeColorMatrixElement(document, {\n nodeType: 1,\n childNodes: [],\n attributes: [{\n nodeName: 'type',\n value: 'luminanceToAlpha'\n }, {\n nodeName: 'includeOpacity',\n value: 'true'\n }]\n }).apply(maskCtx, 0, 0, x + width, y + height);\n var tmpCanvas = document.createCanvas(x + width, y + height);\n var tmpCtx = tmpCanvas.getContext('2d');\n document.screen.setDefaults(tmpCtx);\n element.render(tmpCtx);\n tmpCtx.globalCompositeOperation = 'destination-in';\n tmpCtx.fillStyle = maskCtx.createPattern(maskCanvas, 'no-repeat');\n tmpCtx.fillRect(0, 0, x + width, y + height);\n ctx.fillStyle = tmpCtx.createPattern(tmpCanvas, 'no-repeat');\n ctx.fillRect(0, 0, x + width, y + height); // reassign mask\n\n this.restoreStyles(element, ignoredStyles);\n }\n\n render(_) {// NO RENDER\n }\n\n}\nMaskElement.ignoreStyles = ['mask', 'transform', 'clip-path'];\n\nvar noop = () => {// NOOP\n};\n\nclass ClipPathElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'clipPath';\n }\n\n apply(ctx) {\n var {\n document\n } = this;\n var contextProto = Reflect.getPrototypeOf(ctx);\n var {\n beginPath,\n closePath\n } = ctx;\n\n if (contextProto) {\n contextProto.beginPath = noop;\n contextProto.closePath = noop;\n }\n\n Reflect.apply(beginPath, ctx, []);\n this.children.forEach(child => {\n if (typeof child.path === 'undefined') {\n return;\n }\n\n var transform = typeof child.elementTransform !== 'undefined' ? child.elementTransform() : null; // handle <use />\n\n if (!transform) {\n transform = Transform.fromElement(document, child);\n }\n\n if (transform) {\n transform.apply(ctx);\n }\n\n child.path(ctx);\n\n if (contextProto) {\n contextProto.closePath = closePath;\n }\n\n if (transform) {\n transform.unapply(ctx);\n }\n });\n Reflect.apply(closePath, ctx, []);\n ctx.clip();\n\n if (contextProto) {\n contextProto.beginPath = beginPath;\n contextProto.closePath = closePath;\n }\n }\n\n render(_) {// NO RENDER\n }\n\n}\n\nclass FilterElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'filter';\n }\n\n apply(ctx, element) {\n // render as temp svg\n var {\n document,\n children\n } = this;\n var boundingBox = element.getBoundingBox(ctx);\n\n if (!boundingBox) {\n return;\n }\n\n var px = 0;\n var py = 0;\n children.forEach(child => {\n var efd = child.extraFilterDistance || 0;\n px = Math.max(px, efd);\n py = Math.max(py, efd);\n });\n var width = Math.floor(boundingBox.width);\n var height = Math.floor(boundingBox.height);\n var tmpCanvasWidth = width + 2 * px;\n var tmpCanvasHeight = height + 2 * py;\n\n if (tmpCanvasWidth < 1 || tmpCanvasHeight < 1) {\n return;\n }\n\n var x = Math.floor(boundingBox.x);\n var y = Math.floor(boundingBox.y);\n var ignoredStyles = this.removeStyles(element, FilterElement.ignoreStyles);\n var tmpCanvas = document.createCanvas(tmpCanvasWidth, tmpCanvasHeight);\n var tmpCtx = tmpCanvas.getContext('2d');\n document.screen.setDefaults(tmpCtx);\n tmpCtx.translate(-x + px, -y + py);\n element.render(tmpCtx); // apply filters\n\n children.forEach(child => {\n if (typeof child.apply === 'function') {\n child.apply(tmpCtx, 0, 0, tmpCanvasWidth, tmpCanvasHeight);\n }\n }); // render on me\n\n ctx.drawImage(tmpCanvas, 0, 0, tmpCanvasWidth, tmpCanvasHeight, x - px, y - py, tmpCanvasWidth, tmpCanvasHeight);\n this.restoreStyles(element, ignoredStyles);\n }\n\n render(_) {// NO RENDER\n }\n\n}\nFilterElement.ignoreStyles = ['filter', 'transform', 'clip-path'];\n\nclass FeDropShadowElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'feDropShadow';\n this.addStylesFromStyleDefinition();\n }\n\n apply(_, _x, _y, _width, _height) {// TODO: implement\n }\n\n}\n\nclass FeMorphologyElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'feMorphology';\n }\n\n apply(_, _x, _y, _width, _height) {// TODO: implement\n }\n\n}\n\nclass FeCompositeElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'feComposite';\n }\n\n apply(_, _x, _y, _width, _height) {// TODO: implement\n }\n\n}\n\nclass FeGaussianBlurElement extends Element {\n constructor(document, node, captureTextNodes) {\n super(document, node, captureTextNodes);\n this.type = 'feGaussianBlur';\n this.blurRadius = Math.floor(this.getAttribute('stdDeviation').getNumber());\n this.extraFilterDistance = this.blurRadius;\n }\n\n apply(ctx, x, y, width, height) {\n var {\n document,\n blurRadius\n } = this;\n var body = document.window ? document.window.document.body : null;\n var canvas = ctx.canvas; // StackBlur requires canvas be on document\n\n canvas.id = document.getUniqueId();\n\n if (body) {\n canvas.style.display = 'none';\n body.appendChild(canvas);\n }\n\n canvasRGBA(canvas, x, y, width, height, blurRadius);\n\n if (body) {\n body.removeChild(canvas);\n }\n }\n\n}\n\nclass TitleElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'title';\n }\n\n}\n\nclass DescElement extends Element {\n constructor() {\n super(...arguments);\n this.type = 'desc';\n }\n\n}\n\nvar elements = {\n 'svg': SVGElement,\n 'rect': RectElement,\n 'circle': CircleElement,\n 'ellipse': EllipseElement,\n 'line': LineElement,\n 'polyline': PolylineElement,\n 'polygon': PolygonElement,\n 'path': PathElement,\n 'pattern': PatternElement,\n 'marker': MarkerElement,\n 'defs': DefsElement,\n 'linearGradient': LinearGradientElement,\n 'radialGradient': RadialGradientElement,\n 'stop': StopElement,\n 'animate': AnimateElement,\n 'animateColor': AnimateColorElement,\n 'animateTransform': AnimateTransformElement,\n 'font': FontElement,\n 'font-face': FontFaceElement,\n 'missing-glyph': MissingGlyphElement,\n 'glyph': GlyphElement,\n 'text': TextElement,\n 'tspan': TSpanElement,\n 'tref': TRefElement,\n 'a': AElement,\n 'textPath': TextPathElement,\n 'image': ImageElement,\n 'g': GElement,\n 'symbol': SymbolElement,\n 'style': StyleElement,\n 'use': UseElement,\n 'mask': MaskElement,\n 'clipPath': ClipPathElement,\n 'filter': FilterElement,\n 'feDropShadow': FeDropShadowElement,\n 'feMorphology': FeMorphologyElement,\n 'feComposite': FeCompositeElement,\n 'feColorMatrix': FeColorMatrixElement,\n 'feGaussianBlur': FeGaussianBlurElement,\n 'title': TitleElement,\n 'desc': DescElement\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction createCanvas(width, height) {\n var canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n}\n\nfunction createImage(_x) {\n return _createImage.apply(this, arguments);\n}\n\nfunction _createImage() {\n _createImage = _asyncToGenerator(function* (src) {\n var anonymousCrossOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var image = document.createElement('img');\n\n if (anonymousCrossOrigin) {\n image.crossOrigin = 'Anonymous';\n }\n\n return new Promise((resolve, reject) => {\n image.onload = () => {\n resolve(image);\n };\n\n image.onerror = (_event, _source, _lineno, _colno, error) => {\n reject(error);\n };\n\n image.src = src;\n });\n });\n return _createImage.apply(this, arguments);\n}\n\nclass Document {\n constructor(canvg) {\n var {\n rootEmSize = 12,\n emSize = 12,\n createCanvas = Document.createCanvas,\n createImage = Document.createImage,\n anonymousCrossOrigin\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.canvg = canvg;\n this.definitions = {};\n this.styles = {};\n this.stylesSpecificity = {};\n this.images = [];\n this.fonts = [];\n this.emSizeStack = [];\n this.uniqueId = 0;\n this.screen = canvg.screen;\n this.rootEmSize = rootEmSize;\n this.emSize = emSize;\n this.createCanvas = createCanvas;\n this.createImage = this.bindCreateImage(createImage, anonymousCrossOrigin);\n this.screen.wait(this.isImagesLoaded.bind(this));\n this.screen.wait(this.isFontsLoaded.bind(this));\n }\n\n bindCreateImage(createImage, anonymousCrossOrigin) {\n if (typeof anonymousCrossOrigin === 'boolean') {\n return (source, forceAnonymousCrossOrigin) => createImage(source, typeof forceAnonymousCrossOrigin === 'boolean' ? forceAnonymousCrossOrigin : anonymousCrossOrigin);\n }\n\n return createImage;\n }\n\n get window() {\n return this.screen.window;\n }\n\n get fetch() {\n return this.screen.fetch;\n }\n\n get ctx() {\n return this.screen.ctx;\n }\n\n get emSize() {\n var {\n emSizeStack\n } = this;\n return emSizeStack[emSizeStack.length - 1];\n }\n\n set emSize(value) {\n var {\n emSizeStack\n } = this;\n emSizeStack.push(value);\n }\n\n popEmSize() {\n var {\n emSizeStack\n } = this;\n emSizeStack.pop();\n }\n\n getUniqueId() {\n return \"canvg\".concat(++this.uniqueId);\n }\n\n isImagesLoaded() {\n return this.images.every(_ => _.loaded);\n }\n\n isFontsLoaded() {\n return this.fonts.every(_ => _.loaded);\n }\n\n createDocumentElement(document) {\n var documentElement = this.createElement(document.documentElement);\n documentElement.root = true;\n documentElement.addStylesFromStyleDefinition();\n this.documentElement = documentElement;\n return documentElement;\n }\n\n createElement(node) {\n var elementType = node.nodeName.replace(/^[^:]+:/, '');\n var ElementType = Document.elementTypes[elementType];\n\n if (typeof ElementType !== 'undefined') {\n return new ElementType(this, node);\n }\n\n return new UnknownElement(this, node);\n }\n\n createTextNode(node) {\n return new TextNode(this, node);\n }\n\n setViewBox(config) {\n this.screen.setViewBox(_objectSpread$1({\n document: this\n }, config));\n }\n\n}\nDocument.createCanvas = createCanvas;\nDocument.createImage = createImage;\nDocument.elementTypes = elements;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n/**\r\n * SVG renderer on canvas.\r\n */\n\nclass Canvg {\n /**\r\n * Main constructor.\r\n * @param ctx - Rendering context.\r\n * @param svg - SVG Document.\r\n * @param options - Rendering options.\r\n */\n constructor(ctx, svg) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.parser = new Parser(options);\n this.screen = new Screen(ctx, options);\n this.options = options;\n var document = new Document(this, options);\n var documentElement = document.createDocumentElement(svg);\n this.document = document;\n this.documentElement = documentElement;\n }\n /**\r\n * Create Canvg instance from SVG source string or URL.\r\n * @param ctx - Rendering context.\r\n * @param svg - SVG source string or URL.\r\n * @param options - Rendering options.\r\n * @returns Canvg instance.\r\n */\n\n\n static from(ctx, svg) {\n var _arguments = arguments;\n return _asyncToGenerator(function* () {\n var options = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : {};\n var parser = new Parser(options);\n var svgDocument = yield parser.parse(svg);\n return new Canvg(ctx, svgDocument, options);\n })();\n }\n /**\r\n * Create Canvg instance from SVG source string.\r\n * @param ctx - Rendering context.\r\n * @param svg - SVG source string.\r\n * @param options - Rendering options.\r\n * @returns Canvg instance.\r\n */\n\n\n static fromString(ctx, svg) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var parser = new Parser(options);\n var svgDocument = parser.parseFromString(svg);\n return new Canvg(ctx, svgDocument, options);\n }\n /**\r\n * Create new Canvg instance with inherited options.\r\n * @param ctx - Rendering context.\r\n * @param svg - SVG source string or URL.\r\n * @param options - Rendering options.\r\n * @returns Canvg instance.\r\n */\n\n\n fork(ctx, svg) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return Canvg.from(ctx, svg, _objectSpread(_objectSpread({}, this.options), options));\n }\n /**\r\n * Create new Canvg instance with inherited options.\r\n * @param ctx - Rendering context.\r\n * @param svg - SVG source string.\r\n * @param options - Rendering options.\r\n * @returns Canvg instance.\r\n */\n\n\n forkString(ctx, svg) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return Canvg.fromString(ctx, svg, _objectSpread(_objectSpread({}, this.options), options));\n }\n /**\r\n * Document is ready promise.\r\n * @returns Ready promise.\r\n */\n\n\n ready() {\n return this.screen.ready();\n }\n /**\r\n * Document is ready value.\r\n * @returns Is ready or not.\r\n */\n\n\n isReady() {\n return this.screen.isReady();\n }\n /**\r\n * Render only first frame, ignoring animations and mouse.\r\n * @param options - Rendering options.\r\n */\n\n\n render() {\n var _arguments2 = arguments,\n _this = this;\n\n return _asyncToGenerator(function* () {\n var options = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};\n\n _this.start(_objectSpread({\n enableRedraw: true,\n ignoreAnimation: true,\n ignoreMouse: true\n }, options));\n\n yield _this.ready();\n\n _this.stop();\n })();\n }\n /**\r\n * Start rendering.\r\n * @param options - Render options.\r\n */\n\n\n start() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var {\n documentElement,\n screen,\n options: baseOptions\n } = this;\n screen.start(documentElement, _objectSpread(_objectSpread({\n enableRedraw: true\n }, baseOptions), options));\n }\n /**\r\n * Stop rendering.\r\n */\n\n\n stop() {\n this.screen.stop();\n }\n /**\r\n * Resize SVG to fit in given size.\r\n * @param width\r\n * @param height\r\n * @param preserveAspectRatio\r\n */\n\n\n resize(width) {\n var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : width;\n var preserveAspectRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this.documentElement.resize(width, height, preserveAspectRatio);\n }\n\n}\n\nexport { AElement, AnimateColorElement, AnimateElement, AnimateTransformElement, BoundingBox, CB1, CB2, CB3, CB4, Canvg, CircleElement, ClipPathElement, DefsElement, DescElement, Document, Element, EllipseElement, FeColorMatrixElement, FeCompositeElement, FeDropShadowElement, FeGaussianBlurElement, FeMorphologyElement, FilterElement, Font, FontElement, FontFaceElement, GElement, GlyphElement, GradientElement, ImageElement, LineElement, LinearGradientElement, MarkerElement, MaskElement, Matrix, MissingGlyphElement, Mouse, PSEUDO_ZERO, Parser, PathElement, PathParser, PatternElement, Point, PolygonElement, PolylineElement, Property, QB1, QB2, QB3, RadialGradientElement, RectElement, RenderedElement, Rotate, SVGElement, SVGFontLoader, Scale, Screen, Skew, SkewX, SkewY, StopElement, StyleElement, SymbolElement, TRefElement, TSpanElement, TextElement, TextPathElement, TitleElement, Transform, Translate, UnknownElement, UseElement, ViewPort, compressSpaces, Canvg as default, getSelectorSpecificity, normalizeAttributeName, normalizeColor, parseExternalUrl, index as presets, toNumbers, trimLeft, trimRight, vectorMagnitude, vectorsAngle, vectorsRatio };\n","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(r,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])})(r,e)};function r(r,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function e(t){var r=\"\";Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e];if(i.type===_.CLOSE_PATH)r+=\"z\";else if(i.type===_.HORIZ_LINE_TO)r+=(i.relative?\"h\":\"H\")+i.x;else if(i.type===_.VERT_LINE_TO)r+=(i.relative?\"v\":\"V\")+i.y;else if(i.type===_.MOVE_TO)r+=(i.relative?\"m\":\"M\")+i.x+\" \"+i.y;else if(i.type===_.LINE_TO)r+=(i.relative?\"l\":\"L\")+i.x+\" \"+i.y;else if(i.type===_.CURVE_TO)r+=(i.relative?\"c\":\"C\")+i.x1+\" \"+i.y1+\" \"+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_CURVE_TO)r+=(i.relative?\"s\":\"S\")+i.x2+\" \"+i.y2+\" \"+i.x+\" \"+i.y;else if(i.type===_.QUAD_TO)r+=(i.relative?\"q\":\"Q\")+i.x1+\" \"+i.y1+\" \"+i.x+\" \"+i.y;else if(i.type===_.SMOOTH_QUAD_TO)r+=(i.relative?\"t\":\"T\")+i.x+\" \"+i.y;else{if(i.type!==_.ARC)throw new Error('Unexpected command type \"'+i.type+'\" at index '+e+\".\");r+=(i.relative?\"a\":\"A\")+i.rX+\" \"+i.rY+\" \"+i.xRot+\" \"+ +i.lArcFlag+\" \"+ +i.sweepFlag+\" \"+i.x+\" \"+i.y}}return r}function i(t,r){var e=t[0],i=t[1];return[e*Math.cos(r)-i*Math.sin(r),e*Math.sin(r)+i*Math.cos(r)]}function a(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];for(var e=0;e<t.length;e++)if(\"number\"!=typeof t[e])throw new Error(\"assertNumbers arguments[\"+e+\"] is not a number. \"+typeof t[e]+\" == typeof \"+t[e]);return!0}var n=Math.PI;function o(t,r,e){t.lArcFlag=0===t.lArcFlag?0:1,t.sweepFlag=0===t.sweepFlag?0:1;var a=t.rX,o=t.rY,s=t.x,u=t.y;a=Math.abs(t.rX),o=Math.abs(t.rY);var h=i([(r-s)/2,(e-u)/2],-t.xRot/180*n),c=h[0],y=h[1],p=Math.pow(c,2)/Math.pow(a,2)+Math.pow(y,2)/Math.pow(o,2);1<p&&(a*=Math.sqrt(p),o*=Math.sqrt(p)),t.rX=a,t.rY=o;var m=Math.pow(a,2)*Math.pow(y,2)+Math.pow(o,2)*Math.pow(c,2),O=(t.lArcFlag!==t.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(a,2)*Math.pow(o,2)-m)/m)),l=a*y/o*O,T=-o*c/a*O,v=i([l,T],t.xRot/180*n);t.cX=v[0]+(r+s)/2,t.cY=v[1]+(e+u)/2,t.phi1=Math.atan2((y-T)/o,(c-l)/a),t.phi2=Math.atan2((-y-T)/o,(-c-l)/a),0===t.sweepFlag&&t.phi2>t.phi1&&(t.phi2-=2*n),1===t.sweepFlag&&t.phi2<t.phi1&&(t.phi2+=2*n),t.phi1*=180/n,t.phi2*=180/n}function s(t,r,e){a(t,r,e);var i=t*t+r*r-e*e;if(0>i)return[];if(0===i)return[[t*e/(t*t+r*r),r*e/(t*t+r*r)]];var n=Math.sqrt(i);return[[(t*e+r*n)/(t*t+r*r),(r*e-t*n)/(t*t+r*r)],[(t*e-r*n)/(t*t+r*r),(r*e+t*n)/(t*t+r*r)]]}var u,h=Math.PI/180;function c(t,r,e){return(1-e)*t+e*r}function y(t,r,e,i){return t+Math.cos(i/180*n)*r+Math.sin(i/180*n)*e}function p(t,r,e,i){var a=1e-6,n=r-t,o=e-r,s=3*n+3*(i-e)-6*o,u=6*(o-n),h=3*n;return Math.abs(s)<a?[-h/u]:function(t,r,e){void 0===e&&(e=1e-6);var i=t*t/4-r;if(i<-e)return[];if(i<=e)return[-t/2];var a=Math.sqrt(i);return[-t/2-a,-t/2+a]}(u/s,h/s,a)}function m(t,r,e,i,a){var n=1-a;return t*(n*n*n)+r*(3*n*n*a)+e*(3*n*a*a)+i*(a*a*a)}!function(t){function r(){return u((function(t,r,e){return t.relative&&(void 0!==t.x1&&(t.x1+=r),void 0!==t.y1&&(t.y1+=e),void 0!==t.x2&&(t.x2+=r),void 0!==t.y2&&(t.y2+=e),void 0!==t.x&&(t.x+=r),void 0!==t.y&&(t.y+=e),t.relative=!1),t}))}function e(){var t=NaN,r=NaN,e=NaN,i=NaN;return u((function(a,n,o){return a.type&_.SMOOTH_CURVE_TO&&(a.type=_.CURVE_TO,t=isNaN(t)?n:t,r=isNaN(r)?o:r,a.x1=a.relative?n-t:2*n-t,a.y1=a.relative?o-r:2*o-r),a.type&_.CURVE_TO?(t=a.relative?n+a.x2:a.x2,r=a.relative?o+a.y2:a.y2):(t=NaN,r=NaN),a.type&_.SMOOTH_QUAD_TO&&(a.type=_.QUAD_TO,e=isNaN(e)?n:e,i=isNaN(i)?o:i,a.x1=a.relative?n-e:2*n-e,a.y1=a.relative?o-i:2*o-i),a.type&_.QUAD_TO?(e=a.relative?n+a.x1:a.x1,i=a.relative?o+a.y1:a.y1):(e=NaN,i=NaN),a}))}function n(){var t=NaN,r=NaN;return u((function(e,i,a){if(e.type&_.SMOOTH_QUAD_TO&&(e.type=_.QUAD_TO,t=isNaN(t)?i:t,r=isNaN(r)?a:r,e.x1=e.relative?i-t:2*i-t,e.y1=e.relative?a-r:2*a-r),e.type&_.QUAD_TO){t=e.relative?i+e.x1:e.x1,r=e.relative?a+e.y1:e.y1;var n=e.x1,o=e.y1;e.type=_.CURVE_TO,e.x1=((e.relative?0:i)+2*n)/3,e.y1=((e.relative?0:a)+2*o)/3,e.x2=(e.x+2*n)/3,e.y2=(e.y+2*o)/3}else t=NaN,r=NaN;return e}))}function u(t){var r=0,e=0,i=NaN,a=NaN;return function(n){if(isNaN(i)&&!(n.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");var o=t(n,r,e,i,a);return n.type&_.CLOSE_PATH&&(r=i,e=a),void 0!==n.x&&(r=n.relative?r+n.x:n.x),void 0!==n.y&&(e=n.relative?e+n.y:n.y),n.type&_.MOVE_TO&&(i=r,a=e),o}}function O(t,r,e,i,n,o){return a(t,r,e,i,n,o),u((function(a,s,u,h){var c=a.x1,y=a.x2,p=a.relative&&!isNaN(h),m=void 0!==a.x?a.x:p?0:s,O=void 0!==a.y?a.y:p?0:u;function l(t){return t*t}a.type&_.HORIZ_LINE_TO&&0!==r&&(a.type=_.LINE_TO,a.y=a.relative?0:u),a.type&_.VERT_LINE_TO&&0!==e&&(a.type=_.LINE_TO,a.x=a.relative?0:s),void 0!==a.x&&(a.x=a.x*t+O*e+(p?0:n)),void 0!==a.y&&(a.y=m*r+a.y*i+(p?0:o)),void 0!==a.x1&&(a.x1=a.x1*t+a.y1*e+(p?0:n)),void 0!==a.y1&&(a.y1=c*r+a.y1*i+(p?0:o)),void 0!==a.x2&&(a.x2=a.x2*t+a.y2*e+(p?0:n)),void 0!==a.y2&&(a.y2=y*r+a.y2*i+(p?0:o));var T=t*i-r*e;if(void 0!==a.xRot&&(1!==t||0!==r||0!==e||1!==i))if(0===T)delete a.rX,delete a.rY,delete a.xRot,delete a.lArcFlag,delete a.sweepFlag,a.type=_.LINE_TO;else{var v=a.xRot*Math.PI/180,f=Math.sin(v),N=Math.cos(v),x=1/l(a.rX),d=1/l(a.rY),E=l(N)*x+l(f)*d,A=2*f*N*(x-d),C=l(f)*x+l(N)*d,M=E*i*i-A*r*i+C*r*r,R=A*(t*i+r*e)-2*(E*e*i+C*t*r),g=E*e*e-A*t*e+C*t*t,I=(Math.atan2(R,M-g)+Math.PI)%Math.PI/2,S=Math.sin(I),L=Math.cos(I);a.rX=Math.abs(T)/Math.sqrt(M*l(L)+R*S*L+g*l(S)),a.rY=Math.abs(T)/Math.sqrt(M*l(S)-R*S*L+g*l(L)),a.xRot=180*I/Math.PI}return void 0!==a.sweepFlag&&0>T&&(a.sweepFlag=+!a.sweepFlag),a}))}function l(){return function(t){var r={};for(var e in t)r[e]=t[e];return r}}t.ROUND=function(t){function r(r){return Math.round(r*t)/t}return void 0===t&&(t=1e13),a(t),function(t){return void 0!==t.x1&&(t.x1=r(t.x1)),void 0!==t.y1&&(t.y1=r(t.y1)),void 0!==t.x2&&(t.x2=r(t.x2)),void 0!==t.y2&&(t.y2=r(t.y2)),void 0!==t.x&&(t.x=r(t.x)),void 0!==t.y&&(t.y=r(t.y)),void 0!==t.rX&&(t.rX=r(t.rX)),void 0!==t.rY&&(t.rY=r(t.rY)),t}},t.TO_ABS=r,t.TO_REL=function(){return u((function(t,r,e){return t.relative||(void 0!==t.x1&&(t.x1-=r),void 0!==t.y1&&(t.y1-=e),void 0!==t.x2&&(t.x2-=r),void 0!==t.y2&&(t.y2-=e),void 0!==t.x&&(t.x-=r),void 0!==t.y&&(t.y-=e),t.relative=!0),t}))},t.NORMALIZE_HVZ=function(t,r,e){return void 0===t&&(t=!0),void 0===r&&(r=!0),void 0===e&&(e=!0),u((function(i,a,n,o,s){if(isNaN(o)&&!(i.type&_.MOVE_TO))throw new Error(\"path must start with moveto\");return r&&i.type&_.HORIZ_LINE_TO&&(i.type=_.LINE_TO,i.y=i.relative?0:n),e&&i.type&_.VERT_LINE_TO&&(i.type=_.LINE_TO,i.x=i.relative?0:a),t&&i.type&_.CLOSE_PATH&&(i.type=_.LINE_TO,i.x=i.relative?o-a:o,i.y=i.relative?s-n:s),i.type&_.ARC&&(0===i.rX||0===i.rY)&&(i.type=_.LINE_TO,delete i.rX,delete i.rY,delete i.xRot,delete i.lArcFlag,delete i.sweepFlag),i}))},t.NORMALIZE_ST=e,t.QT_TO_C=n,t.INFO=u,t.SANITIZE=function(t){void 0===t&&(t=0),a(t);var r=NaN,e=NaN,i=NaN,n=NaN;return u((function(a,o,s,u,h){var c=Math.abs,y=!1,p=0,m=0;if(a.type&_.SMOOTH_CURVE_TO&&(p=isNaN(r)?0:o-r,m=isNaN(e)?0:s-e),a.type&(_.CURVE_TO|_.SMOOTH_CURVE_TO)?(r=a.relative?o+a.x2:a.x2,e=a.relative?s+a.y2:a.y2):(r=NaN,e=NaN),a.type&_.SMOOTH_QUAD_TO?(i=isNaN(i)?o:2*o-i,n=isNaN(n)?s:2*s-n):a.type&_.QUAD_TO?(i=a.relative?o+a.x1:a.x1,n=a.relative?s+a.y1:a.y2):(i=NaN,n=NaN),a.type&_.LINE_COMMANDS||a.type&_.ARC&&(0===a.rX||0===a.rY||!a.lArcFlag)||a.type&_.CURVE_TO||a.type&_.SMOOTH_CURVE_TO||a.type&_.QUAD_TO||a.type&_.SMOOTH_QUAD_TO){var O=void 0===a.x?0:a.relative?a.x:a.x-o,l=void 0===a.y?0:a.relative?a.y:a.y-s;p=isNaN(i)?void 0===a.x1?p:a.relative?a.x:a.x1-o:i-o,m=isNaN(n)?void 0===a.y1?m:a.relative?a.y:a.y1-s:n-s;var T=void 0===a.x2?0:a.relative?a.x:a.x2-o,v=void 0===a.y2?0:a.relative?a.y:a.y2-s;c(O)<=t&&c(l)<=t&&c(p)<=t&&c(m)<=t&&c(T)<=t&&c(v)<=t&&(y=!0)}return a.type&_.CLOSE_PATH&&c(o-u)<=t&&c(s-h)<=t&&(y=!0),y?[]:a}))},t.MATRIX=O,t.ROTATE=function(t,r,e){void 0===r&&(r=0),void 0===e&&(e=0),a(t,r,e);var i=Math.sin(t),n=Math.cos(t);return O(n,i,-i,n,r-r*n+e*i,e-r*i-e*n)},t.TRANSLATE=function(t,r){return void 0===r&&(r=0),a(t,r),O(1,0,0,1,t,r)},t.SCALE=function(t,r){return void 0===r&&(r=t),a(t,r),O(t,0,0,r,0,0)},t.SKEW_X=function(t){return a(t),O(1,0,Math.atan(t),1,0,0)},t.SKEW_Y=function(t){return a(t),O(1,Math.atan(t),0,1,0,0)},t.X_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(-1,0,0,1,t,0)},t.Y_AXIS_SYMMETRY=function(t){return void 0===t&&(t=0),a(t),O(1,0,0,-1,0,t)},t.A_TO_C=function(){return u((function(t,r,e){return _.ARC===t.type?function(t,r,e){var a,n,s,u;t.cX||o(t,r,e);for(var y=Math.min(t.phi1,t.phi2),p=Math.max(t.phi1,t.phi2)-y,m=Math.ceil(p/90),O=new Array(m),l=r,T=e,v=0;v<m;v++){var f=c(t.phi1,t.phi2,v/m),N=c(t.phi1,t.phi2,(v+1)/m),x=N-f,d=4/3*Math.tan(x*h/4),E=[Math.cos(f*h)-d*Math.sin(f*h),Math.sin(f*h)+d*Math.cos(f*h)],A=E[0],C=E[1],M=[Math.cos(N*h),Math.sin(N*h)],R=M[0],g=M[1],I=[R+d*Math.sin(N*h),g-d*Math.cos(N*h)],S=I[0],L=I[1];O[v]={relative:t.relative,type:_.CURVE_TO};var H=function(r,e){var a=i([r*t.rX,e*t.rY],t.xRot),n=a[0],o=a[1];return[t.cX+n,t.cY+o]};a=H(A,C),O[v].x1=a[0],O[v].y1=a[1],n=H(S,L),O[v].x2=n[0],O[v].y2=n[1],s=H(R,g),O[v].x=s[0],O[v].y=s[1],t.relative&&(O[v].x1-=l,O[v].y1-=T,O[v].x2-=l,O[v].y2-=T,O[v].x-=l,O[v].y-=T),l=(u=[O[v].x,O[v].y])[0],T=u[1]}return O}(t,t.relative?0:r,t.relative?0:e):t}))},t.ANNOTATE_ARCS=function(){return u((function(t,r,e){return t.relative&&(r=0,e=0),_.ARC===t.type&&o(t,r,e),t}))},t.CLONE=l,t.CALCULATE_BOUNDS=function(){var t=function(t){var r={};for(var e in t)r[e]=t[e];return r},i=r(),a=n(),h=e(),c=u((function(r,e,n){var u=h(a(i(t(r))));function O(t){t>c.maxX&&(c.maxX=t),t<c.minX&&(c.minX=t)}function l(t){t>c.maxY&&(c.maxY=t),t<c.minY&&(c.minY=t)}if(u.type&_.DRAWING_COMMANDS&&(O(e),l(n)),u.type&_.HORIZ_LINE_TO&&O(u.x),u.type&_.VERT_LINE_TO&&l(u.y),u.type&_.LINE_TO&&(O(u.x),l(u.y)),u.type&_.CURVE_TO){O(u.x),l(u.y);for(var T=0,v=p(e,u.x1,u.x2,u.x);T<v.length;T++){0<(w=v[T])&&1>w&&O(m(e,u.x1,u.x2,u.x,w))}for(var f=0,N=p(n,u.y1,u.y2,u.y);f<N.length;f++){0<(w=N[f])&&1>w&&l(m(n,u.y1,u.y2,u.y,w))}}if(u.type&_.ARC){O(u.x),l(u.y),o(u,e,n);for(var x=u.xRot/180*Math.PI,d=Math.cos(x)*u.rX,E=Math.sin(x)*u.rX,A=-Math.sin(x)*u.rY,C=Math.cos(x)*u.rY,M=u.phi1<u.phi2?[u.phi1,u.phi2]:-180>u.phi2?[u.phi2+360,u.phi1+360]:[u.phi2,u.phi1],R=M[0],g=M[1],I=function(t){var r=t[0],e=t[1],i=180*Math.atan2(e,r)/Math.PI;return i<R?i+360:i},S=0,L=s(A,-d,0).map(I);S<L.length;S++){(w=L[S])>R&&w<g&&O(y(u.cX,d,A,w))}for(var H=0,U=s(C,-E,0).map(I);H<U.length;H++){var w;(w=U[H])>R&&w<g&&l(y(u.cY,E,C,w))}}return r}));return c.minX=1/0,c.maxX=-1/0,c.minY=1/0,c.maxY=-1/0,c}}(u||(u={}));var O,l=function(){function t(){}return t.prototype.round=function(t){return this.transform(u.ROUND(t))},t.prototype.toAbs=function(){return this.transform(u.TO_ABS())},t.prototype.toRel=function(){return this.transform(u.TO_REL())},t.prototype.normalizeHVZ=function(t,r,e){return this.transform(u.NORMALIZE_HVZ(t,r,e))},t.prototype.normalizeST=function(){return this.transform(u.NORMALIZE_ST())},t.prototype.qtToC=function(){return this.transform(u.QT_TO_C())},t.prototype.aToC=function(){return this.transform(u.A_TO_C())},t.prototype.sanitize=function(t){return this.transform(u.SANITIZE(t))},t.prototype.translate=function(t,r){return this.transform(u.TRANSLATE(t,r))},t.prototype.scale=function(t,r){return this.transform(u.SCALE(t,r))},t.prototype.rotate=function(t,r,e){return this.transform(u.ROTATE(t,r,e))},t.prototype.matrix=function(t,r,e,i,a,n){return this.transform(u.MATRIX(t,r,e,i,a,n))},t.prototype.skewX=function(t){return this.transform(u.SKEW_X(t))},t.prototype.skewY=function(t){return this.transform(u.SKEW_Y(t))},t.prototype.xSymmetry=function(t){return this.transform(u.X_AXIS_SYMMETRY(t))},t.prototype.ySymmetry=function(t){return this.transform(u.Y_AXIS_SYMMETRY(t))},t.prototype.annotateArcs=function(){return this.transform(u.ANNOTATE_ARCS())},t}(),T=function(t){return\" \"===t||\"\\t\"===t||\"\\r\"===t||\"\\n\"===t},v=function(t){return\"0\".charCodeAt(0)<=t.charCodeAt(0)&&t.charCodeAt(0)<=\"9\".charCodeAt(0)},f=function(t){function e(){var r=t.call(this)||this;return r.curNumber=\"\",r.curCommandType=-1,r.curCommandRelative=!1,r.canParseCommandOrComma=!0,r.curNumberHasExp=!1,r.curNumberHasExpDigits=!1,r.curNumberHasDecimal=!1,r.curArgs=[],r}return r(e,t),e.prototype.finish=function(t){if(void 0===t&&(t=[]),this.parse(\" \",t),0!==this.curArgs.length||!this.canParseCommandOrComma)throw new SyntaxError(\"Unterminated command at the path end.\");return t},e.prototype.parse=function(t,r){var e=this;void 0===r&&(r=[]);for(var i=function(t){r.push(t),e.curArgs.length=0,e.canParseCommandOrComma=!0},a=0;a<t.length;a++){var n=t[a],o=!(this.curCommandType!==_.ARC||3!==this.curArgs.length&&4!==this.curArgs.length||1!==this.curNumber.length||\"0\"!==this.curNumber&&\"1\"!==this.curNumber),s=v(n)&&(\"0\"===this.curNumber&&\"0\"===n||o);if(!v(n)||s)if(\"e\"!==n&&\"E\"!==n)if(\"-\"!==n&&\"+\"!==n||!this.curNumberHasExp||this.curNumberHasExpDigits)if(\".\"!==n||this.curNumberHasExp||this.curNumberHasDecimal||o){if(this.curNumber&&-1!==this.curCommandType){var u=Number(this.curNumber);if(isNaN(u))throw new SyntaxError(\"Invalid number ending at \"+a);if(this.curCommandType===_.ARC)if(0===this.curArgs.length||1===this.curArgs.length){if(0>u)throw new SyntaxError('Expected positive number, got \"'+u+'\" at index \"'+a+'\"')}else if((3===this.curArgs.length||4===this.curArgs.length)&&\"0\"!==this.curNumber&&\"1\"!==this.curNumber)throw new SyntaxError('Expected a flag, got \"'+this.curNumber+'\" at index \"'+a+'\"');this.curArgs.push(u),this.curArgs.length===N[this.curCommandType]&&(_.HORIZ_LINE_TO===this.curCommandType?i({type:_.HORIZ_LINE_TO,relative:this.curCommandRelative,x:u}):_.VERT_LINE_TO===this.curCommandType?i({type:_.VERT_LINE_TO,relative:this.curCommandRelative,y:u}):this.curCommandType===_.MOVE_TO||this.curCommandType===_.LINE_TO||this.curCommandType===_.SMOOTH_QUAD_TO?(i({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),_.MOVE_TO===this.curCommandType&&(this.curCommandType=_.LINE_TO)):this.curCommandType===_.CURVE_TO?i({type:_.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===_.SMOOTH_CURVE_TO?i({type:_.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.QUAD_TO?i({type:_.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===_.ARC&&i({type:_.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber=\"\",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!T(n))if(\",\"===n&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(\"+\"!==n&&\"-\"!==n&&\".\"!==n)if(s)this.curNumber=n,this.curNumberHasDecimal=!1;else{if(0!==this.curArgs.length)throw new SyntaxError(\"Unterminated command at index \"+a+\".\");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\". Command cannot follow comma\");if(this.canParseCommandOrComma=!1,\"z\"!==n&&\"Z\"!==n)if(\"h\"===n||\"H\"===n)this.curCommandType=_.HORIZ_LINE_TO,this.curCommandRelative=\"h\"===n;else if(\"v\"===n||\"V\"===n)this.curCommandType=_.VERT_LINE_TO,this.curCommandRelative=\"v\"===n;else if(\"m\"===n||\"M\"===n)this.curCommandType=_.MOVE_TO,this.curCommandRelative=\"m\"===n;else if(\"l\"===n||\"L\"===n)this.curCommandType=_.LINE_TO,this.curCommandRelative=\"l\"===n;else if(\"c\"===n||\"C\"===n)this.curCommandType=_.CURVE_TO,this.curCommandRelative=\"c\"===n;else if(\"s\"===n||\"S\"===n)this.curCommandType=_.SMOOTH_CURVE_TO,this.curCommandRelative=\"s\"===n;else if(\"q\"===n||\"Q\"===n)this.curCommandType=_.QUAD_TO,this.curCommandRelative=\"q\"===n;else if(\"t\"===n||\"T\"===n)this.curCommandType=_.SMOOTH_QUAD_TO,this.curCommandRelative=\"t\"===n;else{if(\"a\"!==n&&\"A\"!==n)throw new SyntaxError('Unexpected character \"'+n+'\" at index '+a+\".\");this.curCommandType=_.ARC,this.curCommandRelative=\"a\"===n}else r.push({type:_.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=n,this.curNumberHasDecimal=\".\"===n}else this.curNumber+=n,this.curNumberHasDecimal=!0;else this.curNumber+=n;else this.curNumber+=n,this.curNumberHasExp=!0;else this.curNumber+=n,this.curNumberHasExpDigits=this.curNumberHasExp}return r},e.prototype.transform=function(t){return Object.create(this,{parse:{value:function(r,e){void 0===e&&(e=[]);for(var i=0,a=Object.getPrototypeOf(this).parse.call(this,r);i<a.length;i++){var n=a[i],o=t(n);Array.isArray(o)?e.push.apply(e,o):e.push(o)}return e}}})},e}(l),_=function(t){function i(r){var e=t.call(this)||this;return e.commands=\"string\"==typeof r?i.parse(r):r,e}return r(i,t),i.prototype.encode=function(){return i.encode(this.commands)},i.prototype.getBounds=function(){var t=u.CALCULATE_BOUNDS();return this.transform(t),t},i.prototype.transform=function(t){for(var r=[],e=0,i=this.commands;e<i.length;e++){var a=t(i[e]);Array.isArray(a)?r.push.apply(r,a):r.push(a)}return this.commands=r,this},i.encode=function(t){return e(t)},i.parse=function(t){var r=new f,e=[];return r.parse(t,e),r.finish(e),e},i.CLOSE_PATH=1,i.MOVE_TO=2,i.HORIZ_LINE_TO=4,i.VERT_LINE_TO=8,i.LINE_TO=16,i.CURVE_TO=32,i.SMOOTH_CURVE_TO=64,i.QUAD_TO=128,i.SMOOTH_QUAD_TO=256,i.ARC=512,i.LINE_COMMANDS=i.LINE_TO|i.HORIZ_LINE_TO|i.VERT_LINE_TO,i.DRAWING_COMMANDS=i.HORIZ_LINE_TO|i.VERT_LINE_TO|i.LINE_TO|i.CURVE_TO|i.SMOOTH_CURVE_TO|i.QUAD_TO|i.SMOOTH_QUAD_TO|i.ARC,i}(l),N=((O={})[_.MOVE_TO]=2,O[_.LINE_TO]=2,O[_.HORIZ_LINE_TO]=1,O[_.VERT_LINE_TO]=1,O[_.CLOSE_PATH]=0,O[_.QUAD_TO]=4,O[_.SMOOTH_QUAD_TO]=2,O[_.CURVE_TO]=6,O[_.SMOOTH_CURVE_TO]=4,O[_.ARC]=7,O);export{N as COMMAND_ARG_COUNTS,_ as SVGPathData,f as SVGPathDataParser,u as SVGPathDataTransformer,e as encodeSVGPath};\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}"],"names":["getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","module","exports","process","hr","uptime","Date","getTime","call","require","root","window","global","vendors","suffix","raf","caf","i","length","last","id","queue","frameDuration","callback","_now","next","Math","max","setTimeout","cp","slice","cancelled","e","round","push","handle","fn","cancel","apply","arguments","polyfill","object","requestAnimationFrame","cancelAnimationFrame","color_string","ok","alpha","charAt","substr","replace","toLowerCase","simple_colors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","color_defs","re","example","bits","parseInt","parseFloat","processor","exec","channels","r","g","b","isNaN","toRGB","toRGBA","toHex","toString","getHelpXML","examples","Array","j","sc","xml","document","createElement","setAttribute","list_item","list_color","RGBColor","example_div","style","cssText","appendChild","createTextNode","list_item_value","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","mulTable","shgTable","processImage","img","canvas","radius","blurAlphaChannel","useOffset","skipStyles","getElementById","dimensionType","w","h","width","height","context","getContext","clearRect","drawImage","naturalWidth","naturalHeight","processCanvasRGBA","processCanvasRGB","getImageDataFromCanvas","topX","topY","getImageData","Error","imageData","processImageDataRGBA","putImageData","pixels","data","div","widthMinus1","heightMinus1","radiusPlus1","sumFactor","stackStart","BlurStack","stack","stackEnd","stackIn","stackOut","yw","yi","mulSum","shgSum","y","pr","pg","pb","pa","_i","a","rInSum","gInSum","bInSum","aInSum","rOutSum","gOutSum","bOutSum","aOutSum","rSum","gSum","bSum","aSum","_i2","p","rbs","x","paInitial","_a2","_p","_stackOut","_r","_g","_b","_a","_x","_pr","_pg","_pb","_pa","_rOutSum","_gOutSum","_bOutSum","_aOutSum","_rSum","_gSum","_bSum","_aSum","_i3","yp","_gInSum","_bInSum","_aInSum","_rInSum","_i4","_rbs","_y","_p2","processImageDataRGB","_i5","_i6","_x2","_pr2","_pg2","_pb2","_rOutSum2","_gOutSum2","_bOutSum2","_rSum2","_gSum2","_bSum2","_i7","_rInSum2","_gInSum2","_bInSum2","_i8","_y2","canvasRGB","canvasRGBA","image","imageDataRGB","imageDataRGBA","_asyncToGenerator","_defineProperty","SVGPathData","offscreen","DOMParser","DOMParserFallback","undefined","preset","ignoreAnimation","ignoreMouse","createCanvas","OffscreenCanvas","createImage","url","response","fetch","blob","createImageBitmap","Reflect","deleteProperty","node","_ref","loadImage","index","Object","freeze","__proto__","compressSpaces","str","trimLeft","trimRight","toNumbers","matches","match","map","allUppercase","normalizeAttributeName","name","test","parseExternalUrl","urlMatch","normalizeColor","color","startsWith","rgbParts","normalizedColor","num","isFloat","String","attributeRegex","idRegex","classRegex","pseudoElementRegex","pseudoClassWithBracketsRegex","pseudoClassRegex","elementRegex","findSelectorMatch","selector","regex","getSelectorSpecificity","specificity","currentSelector","delta","join","PSEUDO_ZERO","vectorMagnitude","v","sqrt","pow","vectorsRatio","u","vectorsAngle","acos","CB1","t","CB2","CB3","CB4","QB1","QB2","QB3","Property","value","isNormalizedColor","empty","split","separator","getString","trim","hasValue","zeroIsValue","isString","regexp","result","isUrlDefinition","isPixels","asString","endsWith","setValue","getValue","def","getNumber","n","getColor","getDpi","getRem","rootEmSize","getEm","emSize","getUnits","getPixels","axisOrIsFontSize","processPercent","axis","isFontSize","viewPort","screen","min","computeSize","getMilliseconds","getRadians","PI","getDefinition","definitions","getFillStyleDefinition","element","opacity","createGradient","ctx","createPattern","getHrefAttribute","patternTransform","getAttribute","getTextBaseline","textBaselineMapping","addOpacity","len","commas","ViewPort","viewPorts","clear","setCurrent","removeCurrent","pop","getCurrent","d","Point","parse","point","defaultValue","parseScale","scale","parsePath","path","points","pathPoints","angleTo","atan2","applyTransform","transform","xp","Mouse","working","events","eventElements","onClick","bind","onMouseMove","isWorking","start","onclick","onmousemove","stop","hasEvents","runEvents","cursor","forEach","run","parent","checkPath","_ref2","isPointInPath","checkBoundingBox","boundingBox","_ref3","isPointInBox","mapXY","offsetLeft","offsetTop","offsetParent","scrollX","scrollY","event","clientX","clientY","type","eventTarget","defaultWindow","defaultFetch$1","Screen","FRAMERATE","MAX_VIRTUAL_PIXELS","CLIENT_WIDTH","CLIENT_HEIGHT","mouse","animations","waits","isReadyLock","isFirstRender","intervalId","wait","checker","ready","readyPromise","Promise","resolve","isReady","every","_","resolveReady","setDefaults","strokeStyle","lineCap","lineJoin","miterLimit","setViewBox","aspectRatio","desiredWidth","desiredHeight","minX","minY","refX","refY","clip","clipX","clipY","cleanAspectRatio","aspectRatioAlign","aspectRatioMeetOrSlice","align","meetOrSlice","scaleX","scaleY","scaleMin","scaleMax","finalDesiredWidth","finalDesiredHeight","refXProp","refYProp","hasRefs","translate","scaledClipX","scaledClipY","beginPath","moveTo","lineTo","closePath","isMeetMinY","isSliceMaxY","isMeetMinX","isSliceMaxX","enableRedraw","ignoreDimensions","ignoreClear","forceRedraw","scaleWidth","scaleHeight","offsetX","offsetY","render","then","tick","shouldUpdate","reduce","animation","update","widthStyle","getStyle","heightStyle","concat","cWidth","clientWidth","cHeight","clientHeight","viewBox","xRatio","yRatio","_widthStyle","_heightStyle","transformStyle","defaultFetch","DefaultDOMParser","Parser","resource","_this","parseFromString","load","parser","checkDocument","err","parserError","getElementsByTagName","textContent","_this2","text","Translate","unapply","applyToPoint","Rotate","rotate","transformOrigin","angle","originX","originY","cx","cy","numbers","tx","ty","rad","cos","sin","Scale","scaleSize","Matrix","matrix","c","f","det","Skew","skew","SkewX","SkewY","parseTransforms","parseTransform","Transform","transforms","TransformType","transformTypes","fromElement","transformOriginXProperty","transformOriginYProperty","skewX","skewY","Element","captureTextNodes","attributes","styles","stylesSpecificity","animationFrozen","animationFrozenValue","children","nodeType","from","attribute","nodeName","addStylesFromStyleDefinition","childNodes","childNode","addChild","textNode","getText","createIfNotExists","attr","_attr","key","skipAncestors","parentStyle","_style","save","mask","applyEffects","filter","setContext","renderChildren","clearContext","restore","clipPathStyleProp","child","ignoreChildTypes","includes","matchesSelector","_node$getAttribute","styleClasses","some","styleClass","existingSpecificity","removeStyles","ignoreStyles","toRestore","styleProp","restoreStyles","isFirstChild","_this$parent","indexOf","UnknownElement","wrapFontFamily","fontFamily","trimmed","prepareFontFamily","prepareFontStyle","fontStyle","targetFontStyle","prepareFontWeight","fontWeight","targetFontWeight","Font","fontVariant","fontSize","inherit","inheritFont","font","parts","set","part","variants","weights","BoundingBox","x1","Number","NaN","y1","x2","y2","addPoint","addX","addY","addBoundingBox","sumCubic","p0","p1","p2","p3","bezierCurveAdd","forX","b2ac","t1","t2","addBezierCurve","p0x","p0y","p1x","p1y","p2x","p2y","p3x","p3y","addQuadraticCurve","cp1x","cp1y","cp2x","cp2y","PathParser","control","current","command","commands","previousCommand","angles","reset","isEnd","getPoint","xProp","yProp","makeAbsolute","getAsControlPoint","getAsCurrentPoint","getReflectedControlPoint","CURVE_TO","SMOOTH_CURVE_TO","QUAD_TO","SMOOTH_QUAD_TO","ox","oy","relative","addMarker","priorTo","addMarkerAngle","getMarkerPoints","getMarkerAngles","RenderedElement","modifiedEmSizeStack","calculateOpacity","opacityStyle","fromMeasure","fillStyleProp","fillOpacityStyleProp","strokeStyleProp","strokeOpacityProp","fillStyle","_fillStyle","_fillStyle2","_strokeStyle","_strokeStyle2","strokeWidthStyleProp","newLineWidth","lineWidth","strokeLinecapStyleProp","strokeLinejoinStyleProp","strokeMiterlimitProp","strokeDasharrayStyleProp","strokeDashoffsetProp","gaps","setLineDash","webkitLineDash","mozDash","offset","lineDashOffset","webkitLineDashOffset","mozDashOffset","fontStyleProp","fontStyleStyleProp","fontVariantStyleProp","fontWeightStyleProp","fontSizeStyleProp","fontFamilyStyleProp","globalAlpha","popEmSize","PathElement","pathParser","MOVE_TO","pathM","LINE_TO","pathL","HORIZ_LINE_TO","pathH","VERT_LINE_TO","pathV","pathC","pathS","pathQ","pathT","ARC","pathA","CLOSE_PATH","pathZ","getBoundingBox","getMarkers","markers","fillRuleStyleProp","fill","setTransform","stroke","markersLastIndex","markerStartStyleProp","markerMidStyleProp","markerEndStyleProp","marker","_marker","_point","_angle","_marker2","_point2","_angle2","controlPoint","currentPoint","bezierCurveTo","quadraticCurveTo","rX","rY","xRot","lArcFlag","sweepFlag","xAxisRotation","currp","l","s","cpp","centp","a1","ad","dir","ah","halfWay","sx","sy","arc","Boolean","GlyphElement","horizAdvX","unicode","arabicForm","TextElement","new","target","measureCache","textBaseline","initializeCoordinates","leafTexts","textChunkStart","POSITIVE_INFINITY","maxX","NEGATIVE_INFINITY","getTElementBoundingBox","adjustChildCoordinatesRecursive","childBoundingBox","getChildBoundingBox","getFontSize","inheritFontSize","measureText","getGlyph","char","glyph","isArabic","prevChar","nextChar","glyphs","maybeGlyph","missingGlyph","getTextFromNode","parentNode","lastIndex","renderTElementChildren","renderChild","renderText","customFont","unitsPerEm","fontFace","ctxFont","isRTL","reverse","dx","lw","fillText","strokeText","applyAnchoring","firstElement","textAnchor","shift","adjustChildCoordinatesRecursiveCore","textParent","adjustChildCoordinates","xAttr","yAttr","dxAttr","dyAttr","getInheritedAttribute","measure","measureTargetText","targetText","_measure","parentAttr","TSpanElement","TextNode","SVGElement","_this$node$parentNode","getComputedStyle","getPropertyValue","fontSizeProp","refXAttr","refYAttr","viewBoxAttr","resize","preserveAspectRatio","widthAttr","heightAttr","styleAttr","originWidth","originHeight","preserveAspectRatioAttr","RectElement","rxAttr","ryAttr","rx","ry","KAPPA","CircleElement","EllipseElement","LineElement","getPoints","x0","y0","PolylineElement","PolygonElement","PatternElement","parentOpacityProp","patternSvg","patternCanvas","patternCtx","pattern","MarkerElement","orient","markerUnits","markerSvg","overflow","DefsElement","GElement","GradientElement","attributesToInherit","stops","getGradientUnits","stopsContainer","inheritStopContainer","gradient","getGradient","addParentOpacity","addColorStop","rootView","rect","group","attributeToInherit","colorProp","LinearGradientElement","isBoundingBoxUnits","createLinearGradient","RadialGradientElement","fx","fy","fr","createRadialGradient","StopElement","stopOpacity","stopColor","AnimateElement","duration","initialValue","initialUnits","removed","frozen","begin","maxDuration","to","values","valuesAttr","getProperty","attributeType","attributeName","calcValue","progress","getProgress","newValue","prop","updated","typeAttr","lb","floor","ub","ceil","AnimateColorElement","colorFrom","colorTo","AnimateTransformElement","transformFrom","transformTo","FontElement","fontFamilyStyle","FontFaceElement","ascent","descent","MissingGlyphElement","TRefElement","firstChild","AElement","hasText","open","ownKeys$2","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread$2","source","getOwnPropertyDescriptors","defineProperties","defineProperty","TextPathElement","textWidth","textHeight","pathLength","glyphInfo","letterSpacingCache","measuresCache","Map","pathElement","dataArray","parsePathData","theta","dTheta","psi","fs","setTextData","textDecoration","rotation","partialText","getLetterSpacingAt","idx","findSegmentToFitChar","anchor","textFullWidth","fullPathWidth","spacesNumber","inputOffset","dy","charI","glyphWidth","splineStep","getEquidistantPointOnPath","segment","dyX","dyY","has","get","chars","thisSpacing","parentSpacing","letterSpacing","textLen","dxSum","acc","cur","getPathLength","startOffset","nextOffset","pathCommands","startX","startY","nextCommandType","calcLength","commandType","getLineLength","getPointOnCubicBezier","getPointOnQuadraticBezier","end","inc","abs","getPointOnEllipticalArc","getPointOnLine","dist","fromX","fromY","m","rise","pt","ix","iy","pRise","pRun","getPointOnPath","distance","fullLen","cumulativePathLength","currentT","pct","p4x","p4y","cosPsi","sinPsi","buildEquidistantCache","inputStep","inputPrecision","precision","step","equidistantCache","targetDistance","dataUriRegex","ImageElement","loaded","href","isSvg","images","loadSvg","console","error","atob","decodeURIComponent","svg","subDocument","canvg","forkString","documentElement","_image","complete","SymbolElement","SVGFontLoader","fonts","svgDocument","fontNode","StyleElement","css","cssDefs","cssParts","cssClasses","cssProps","cssClass","props","cssProp","srcs","src","UseElement","tempSvg","oldParent","elementTransform","cachedElement","imGet","_height","rgba","imSet","val","mi","m1","m2","m3","FeColorMatrixElement","includeOpacity","srcData","nr","ng","nb","na","MaskElement","ignoredStyles","maskCanvas","maskCtx","tmpCanvas","tmpCtx","globalCompositeOperation","fillRect","noop","ClipPathElement","contextProto","getPrototypeOf","FilterElement","px","py","efd","extraFilterDistance","tmpCanvasWidth","tmpCanvasHeight","FeDropShadowElement","_width","FeMorphologyElement","FeCompositeElement","FeGaussianBlurElement","blurRadius","body","getUniqueId","display","removeChild","TitleElement","DescElement","elements","ownKeys$1","_objectSpread$1","_createImage","anonymousCrossOrigin","crossOrigin","reject","onload","onerror","_event","_source","_lineno","_colno","Document","emSizeStack","uniqueId","bindCreateImage","isImagesLoaded","isFontsLoaded","forceAnonymousCrossOrigin","createDocumentElement","elementType","ElementType","elementTypes","config","ownKeys","_objectSpread","Canvg","options","_arguments","fromString","fork","_arguments2","baseOptions","default","presets","setPrototypeOf","hasOwnProperty","create","isArray","o","O","T","cX","cY","phi1","phi2","N","E","A","C","M","R","I","S","L","ROUND","TO_ABS","TO_REL","NORMALIZE_HVZ","NORMALIZE_ST","QT_TO_C","INFO","SANITIZE","LINE_COMMANDS","MATRIX","ROTATE","TRANSLATE","SCALE","SKEW_X","atan","SKEW_Y","X_AXIS_SYMMETRY","Y_AXIS_SYMMETRY","A_TO_C","H","ANNOTATE_ARCS","CLONE","CALCULATE_BOUNDS","maxY","DRAWING_COMMANDS","U","toAbs","toRel","normalizeHVZ","normalizeST","qtToC","aToC","sanitize","xSymmetry","ySymmetry","annotateArcs","charCodeAt","curNumber","curCommandType","curCommandRelative","canParseCommandOrComma","curNumberHasExp","curNumberHasExpDigits","curNumberHasDecimal","curArgs","finish","SyntaxError","encode","getBounds","COMMAND_ARG_COUNTS","SVGPathDataParser","SVGPathDataTransformer","encodeSVGPath"],"sourceRoot":"webpack:///","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171]}