tsviewer 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsviewer.umd.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;ACVa;AACb;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA,UAAU;AACV,WAAW,YAAY;AACvB,WAAW,MAAM;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,GAAG;AACd,WAAW,MAAM;AACjB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;ACnDa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,eAAe;AACf,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA,8BAA8B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE;AACxE;;;;;;;;;AC1Ia;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe,0BAA0B;AACzC,eAAe,MAAM;AACrB,iBAAiB,kBAAkB;AACnC,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0IAA0I,gCAAgC;AAC1K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;;;;;;;AClGa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;;;;;;;;;AC3Ea;AACb;AACA;AACA,gBAAgB,mBAAO,CAAC,IAAuB;AAC/C,gBAAgB,mBAAO,CAAC,IAAqB;AAC7C;AACA;AACA;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,cAAc;AACzB,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClHa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,KAAK;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,KAAK;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc,0CAA0C;AACxD;AACA;AACA,cAAc;AACd;AACA,qDAAqD;AACrD;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ua;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA,MAAM,aAAa;AACnB;AACA;;;;;;;;;AChBa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,4BAA4B,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChEa;AACb;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,aAAa,YAAY;AACzB;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,YAAY;AACzB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/Ca;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,YAAY;AACZ,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxGA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACvB,IAAI,KAAK,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,kBAAkB,mBAAO,CAAC,IAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,GAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,aAAa,mBAAO,CAAC,EAA4B;AACjD,qBAAqB,6BAAgD;;AAErE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;ACnBa;AACb,aAAa,kCAA+C;;AAE5D;AACA;AACA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAAqC;;AAEjE;;AAEA;AACA;AACA;AACA;;;;;;;;ACRA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;;;;;;;;ACDA;AACA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA,0EAA0E,UAAU;AACpF;AACA,CAAC;;;;;;;;;ACTY;AACb,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA+B;AACpD,cAAc,mBAAO,CAAC,GAAsB;AAC5C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,qBAAqB,6BAAgD;AACrE,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB,MAAM;AACN;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnLa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,mBAAmB,mBAAO,CAAC,IAA4B;AACvD,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,6BAAuD;AACjF,qBAAqB,6BAAgD;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAAiC;AAC1D,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gDAAgD,mBAAmB,uCAAuC;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wEAAwE,gBAAgB;AACxF;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,IAAI,cAAc;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACtPa;AACb,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;AC7Ba;AACb,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,wBAAwB,mBAAO,CAAC,IAAmC;;AAEnE;AACA;AACA;AACA;AAC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AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,OAAO;AACP,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,UAAU,UAAU,aAAa,mCAAmC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,qCAAqC;AACrC,eAAe;AACf,KAAK;;AAEL,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;;;;;;;;;AC3Ma;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA8B;AAC1D,6BAA6B,mBAAO,CAAC,IAAgC;AACrE,cAAc,mBAAO,CAAC,GAAsB;AAC5C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,YAAY,mBAAO,CAAC,IAAoB;AACxC,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,qBAAqB,mBAAO,CAAC,I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CXA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,WAAW,mBAAO,CAAC,IAA4B;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA4B;AACtD,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA,iBAAiB,cAAc;;;;;;;;ACb/B,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,GAAsC;;AAElE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;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;AACA;AAC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,cAAc,UAAU;AAC3E,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE;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;;;;;;;;AC/CD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,WAAW,mBAAO,CAAC,IAAoC;AACvD,+BAA+B,6BAA4D;AAC3F,gBAAgB,8BAAgC;AAChD,aAAa,mBAAO,CAAC,IAA4B;AACjD,oBAAoB,mBAAO,CAAC,IAAmC;AAC/D,sBAAsB,mBAAO,CAAC,IAAqC;AACnE,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,MAAM;AACN;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;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;ACpFA,oBAAoB,mBAAO,CAAC,GAA4B;;AAExD;AACA;;;;;;;;ACHA;AACA,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACZD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAA6B;;AAEz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CnB;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAA6B;AACjD,WAAW,mBAAO,CAAC,IAAoC;AACvD,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,aAAa,mBAAO,CAAC,IAA+B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,WAAW,mBAAO,CAAC,GAAmB;AACtC,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,oBAAoB,mBAAO,CAAC,GAAsC;AAClE,8BAA8B,mBAAO,CAAC,IAAwC;AAC9E,aAAa,mBAAO,CAAC,IAA4B;AACjD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE,gBAAgB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnHA,kBAAkB,mBAAO,CAAC,IAAoC;;AAE9D;AACA;AACA;;;;;;;;ACJA,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;AACA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA,oBAAo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,kEAAkE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,QAAQ,mFAAmF;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE,oCAAoC;;;;;;;;ACjPtC;AACA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gCAAgC,oDAAwE;;AAExG;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,mCAAmC,mBAAO,CAAC,IAA8C;;AAEzF;AACA;AACA;;;;;;;;ACLA,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,mBAAmB,mBAAO,CAAC,IAA4B;AACvD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,4BA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A;AACA,QAAQ;AACR;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,yBAAyB;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,mBAAmB;AACpE;;;;;;;;;ACvFa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,0BAA0B,mBAAO,CAAC,IAAqC;AACvE,sBAAsB,mBAAO,CAAC,GAAgC;AAC9D,cAAc,mBAAO,CAAC,IAA4B;AAClD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe;AACf,CAAC;;AAED;AACA;AACA,IAAI,+CAA+C;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,CAAC;;;;;;;;ACnID,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,oCAA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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;AACA,MAAM,g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H;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sFAAsF,cAAc;AACpG;AACA;AACA;;AAEA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD,2BAA2B,oBAAoB;AAC/C,2BAA2B;AAC3B,CAAC;;AAED,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;AC3PA;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,aAAa,mBAAO,CAAC,IAA+B;AACpD,iBAAiB,mBAAO,CAAC,GAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAqC;AACjE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,6BAAgD;AACrE,gCAAgC,mBAAO,CAAC,IAA0C;;AAElF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,+CAA+C;AACrD;AACA,GAAG;AACH;;;;;;;;AC1DA,QAAQ,mBAAO,CAAC,IAAqB;AACr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U,UAAU,UAAU,YAAY;AAC3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,aAAa;AAC/B,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,aAAa;AAC/B,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B,kBAAkB,GAAG;AACrB,kBAAkB,QAAQ;AAC1B,kBAAkB,QAAQ;AAC1B,kBAAkB,SAAS;AAC3B,kBAAkB,SAAS;AAC3B,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,cAAc;AACd,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;;;;;;;;AC9Ya;AACb;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,IAAQ;AAC3B,WAAW,mBAAO,CAAC,IAAQ;;AAE3B;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,0BAA0B;AAC1B,4FAA4F,iBAAiB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe;AACf,UAAU;AACV;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;;AAEA;AACA,yBAAyB;AACzB,cAAc;AACd;AACA;AACA,gBAAgB;AAChB,0CAA0C,YAAY,KAAK;AAC3D;AACA,WAAW;AACX,OAAO;;AAEP;AACA,UAAU,2BAA2B;AACrC,cAAc;AACd;AACA;AACA;AACA,sBAAsB,aAAa,KAAK;AACxC;AACA,WAAW;AACX,OAAO;;AAEP;AACA,UAAU;AACV;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA,OAAO;AACP;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,cAAc;AACd,cAAc;;AAEd;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,+BAA+B;AAC/B,oBAAoB,2BAA2B;AAC/C;AACA;AACA,OAAO;AACP;;AAEA,4BAA4B;AAC5B,gCAAgC;AAChC,oBAAoB,sBAAsB;AAC1C,gBAAgB;AAChB;AACA,OAAO;AACP;;AAEA,+BAA+B;AAC/B,qBAAqB;AACrB,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,WAAW;AACX,cAAc;AACd,6CAA6C;AAC7C,UAAU;AACV,OAAO;AACP;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA,cAAc;AACd,6CAA6C;AAC7C,gBAAgB;AAChB,sBAAsB,aAAa,KAAK;AACxC;AACA,WAAW;AACX,UAAU,2BAA2B;AACrC,0BAA0B;AAC1B;AACA,sBAAsB,aAAa,KAAK;AACxC;AACA,WAAW;AACX,UAAU,OAAO;AACjB,0CAA0C,sBAAsB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;ACpSa;AACb;;AAEA,cAAc,mBAAO,CAAC,IAAQ;AAC9B,cAAc,mBAAO,CAAC,IAAS;AAC/B,cAAc,mBAAO,CAAC,IAAQ;;AAE9B;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,uGAAuG,mBAAmB;AAC1H,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,WAAW,gDAAgD;AAC3D;AACA;AACA,qDAAqD;AACrD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cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,mBAAmB;AACjC;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;;AAEA,wEAAwE;AACxE;AACA;AACA;AACA;AACA,mGAAmG;AACnG;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sCAAsC,eAAe,KAAK,kBAAkB;AAC5E;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,+IAA+I;AAC1J,WAAW,kCAAkC;AAC7C,WAAW,GAAG;AACd,aAAa,gBAAgB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uEA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,+GAA+G;AAC1H,WAAW,4JAA4J,GAAG;AAC1K,aAAa,gBAAgB;AAC7B,yBAAyB,6FAA6F;AACtH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Ha;AACb;;AAEA,WAAW,mBAAO,CAAC,IAAgB;;AAEnC;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA,wDAAwD,iBAAiB;AACzE;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,GAAG;AACd,WAAW,oBAAoB;AAC/B,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;;AAEA;;;;;;;;AC1Ia;AACb;;AAEA;AACA,uBAAuB,mBAAO,CAAC,IAAU;AACzC;;AAEA,WAAW,mBAAO,CAAC,IAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,2BAA2B;AACtC,WAAW,2BAA2B;AACtC,WAAW,mBAAmB;AAC9B,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,+BAA+B;;AAE/B;AACA;AACA,cAAc;AACd;AACA,oCAAoC;;AAEpC;AACA;AACA,cAAc;AACd;AACA,2DAA2D;;AAE3D;AACA;AACA,cAAc;AACd;AACA,sCAAsC;;AAEtC;AACA;AACA,cAAc;AACd;AACA,6DAA6D;;AAE7D;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,mBAAmB;AACjC,cAAc,QAAQ;AACtB,cAAc,mBAAmB;AACjC;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;AC/Ja;AACb;;AAEA;AACA,uBAAuB,mBAAO,CAAC,IAAU;AACzC;;AAEA,eAAe,mBAAO,CAAC,IAAS;AAChC,eAAe,mBAAO,CAAC,IAAS;AAChC,eAAe,mBAAO,CAAC,IAAQ;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B,aAAa,WAAW;AACxB,YAAY,WAAW;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,gBAAgB;AAC3B,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,6BAA6B;;AAE7B;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,cAAc,mBAAmB;AACjC,cAAc,iCAAiC;AAC/C;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iCAAiC;AAC5C,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA,iEAAiE,kBAAkB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,iBAAiB;AACnD,8BAA8B,yBAAyB;AACvD,WAAW,QAAQ;AACnB,aAAa,wBAAwB;AACrC,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa,WAAW;AACxB,YAAY,WAAW;AACvB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa,WAAW;AACxB,YAAY,WAAW;AACvB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,GAAG;AACd,aAAa,WAAW;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA,MAAM;AACN,wBAAwB,6BAA6B;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,SAAS;AACpB,aAAa,uBAAuB;AACpC;AACA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC,qDAAqD,+BAA+B;AACpF,WAAW,iBAAiB;AAC5B,aAAa,MAAM;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,iBAAiB;AAChD,qDAAqD,+BAA+B;AACpF,WAAW,iBAAiB;AAC5B,aAAa,MAAM;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,iBAAiB,IAAI,iBAAiB;AACvD,qDAAqD,+BAA+B;AACpF,WAAW,iBAAiB;AAC5B,aAAa,MAAM;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,uBAAuB;AACxC,qDAAqD,+BAA+B;AACpF,WAAW,iBAAiB;AAC5B,aAAa,SAAS;AACtB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjba;AACb;;AAEA;;AAEA,WAAW,mBAAO,CAAC,IAAQ;;AAE3B,UAAU;;AAEV;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,4BAA4B;;AAE5B;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,WAAW,SAAS;AACpB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AClPa;AACb;;AAEA;AACA,uBAAuB,mBAAO,CAAC,IAAU;AACzC;;AAEA,YAAY,mBAAO,CAAC,IAAS;AAC7B,YAAY,mBAAO,CAAC,IAAQ;;AAE5B;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,WAAW,mBAAmB;AAC9B,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,mCAAmC;;AAEnC;AACA;AACA,cAAc;AACd;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB,YAAY,WAAW;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,wBAAwB,8BAA8B;AACtD;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,eAAe;AACrD;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;AC1Ma;AACb;;AAEA;AACA,mBAAmB;;AAEnB,gBAAgB,mBAAO,CAAC,GAAY;AACpC,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAS;AACjC,gBAAgB,mBAAO,CAAC,IAAY;AACpC,gBAAgB,mBAAO,CAAC,IAAS;AACjC,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAW;AACnC,gBAAgB,mBAAO,CAAC,IAAU;AAClC,gBAAgB,mBAAO,CAAC,IAAS;AACjC,gBAAgB,mBAAO,CAAC,IAAQ;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,YAAY;AAC5C;AACA,cAAc,kBAAkB;AAChC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,MAAM;AACpB;;AAEA;AACA,sCAAsC,YAAY;AAClD;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,eAAe,sCAAsC,sBAAsB;AACtF,aAAa,eAAe;AAC5B,cAAc,QAAQ;AACtB,cAAc,eAAe,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wDAAwD,eAAe;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe;AACf;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA,mBAAmB;AACnB;AACA,0CAA0C;AAC1C;AACA,mBAAmB;AACnB,UAAU;AACV;AACA;AACA,mBAAmB;AACnB;AACA,iEAAiE;AACjE;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB,cAAc;AACd;;AAEA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA,0CAA0C;AAC1C;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB,cAAc;AACd;;AAEA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,cAAc;AACd;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,uBAAuB;AACvB,cAAc;AACd;;AAEA,SAAS;AACT,uCAAuC;AACvC,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,YAAY,KAAK,aAAa;AACjD;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB,cAAc;AACd;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,uBAAuB;AACvB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,eAAe,sCAAsC,sBAAsB;AACtF,aAAa,eAAe;AAC5B,cAAc,QAAQ;AACtB,cAAc,eAAe,kBAAkB;AAC/C;AACA;;;;;;;;;ACnzBa;AACb;;AAEA,gBAAgB,mBAAO,CAAC,IAAgB;;AAExC,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,qBAAqB,GAAG,oBAAoB,sCAAsC;AAC/F,YAAY,OAAO;AACnB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA,4BAA4B;AAC5B;AACA,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;;AAEA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,KAAK;AACL;;;;;;;;;AC1Za;AACb;;AAEA;AACA,aAAa,mBAAO,CAAC,IAAU;AAC/B;;AAEA,WAAW,mBAAO,CAAC,IAAgB;;AAEnC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;;;;;;;;;AClDa;AACb;;AAEA;AACA,gBAAgB,mBAAO,CAAC,IAAa;AACrC;;AAEA,cAAc,mBAAO,CAAC,IAAS;AAC/B,cAAc,mBAAO,CAAC,IAAQ;AAC9B,cAAc,mBAAO,CAAC,IAAS;AAC/B,cAAc,mBAAO,CAAC,IAAQ;;AAE9B;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,aAAa;AACb;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,eAAe;AAC1B,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,qBAAqB;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,eAAe,sCAAsC,sBAAsB;AACtF,aAAa,eAAe;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,eAAe,sCAAsC,sBAAsB;AACtF,aAAa,MAAM;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM;;AAEN;AACA,wDAAwD;;AAExD,MAAM;;AAEN;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,iDAAiD;AACzE;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,+DAA+D;AAC/D;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM;;AAEN;AACA,+CAA+C;;AAE/C,MAAM;;AAEN,wBAAwB,iDAAiD;AACzE;;AAEA;AACA,+CAA+C;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC1Wa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC,sBAAsB;AACvD;AACA,UAAU;AACV,WAAW,mCAAmC,YAAY,IAAI;AAC9D,WAAW,YAAY;AACvB,WAAW,iBAAiB;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,mCAAmC,cAAc;AACjD;AACA,UAAU;AACV,WAAW,YAAY;AACvB,WAAW,iBAAiB;AAC5B,aAAa;AACb;;AAEA,cAAc,mBAAO,CAAC,IAAe;;;;;;;;;ACnCxB;AACb;;AAEA,WAAW,mBAAO,CAAC,IAAiB;;AAEpC;AACA;;AAEA;AACA,yCAAyC,sCAAsC;AAC/E;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,UAAU;AACV,WAAW,YAAY;AACvB,WAAW,MAAM;AACjB,aAAa;AACb;;AAEA;AACA,+BAA+B,mBAAmB,eAAe,qBAAqB;AACtF;AACA;AACA;AACA,UAAU;AACV,WAAW,uBAAuB;AAClC,WAAW,iCAAiC;AAC5C,aAAa,wBAAwB;AACrC;;AAEA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,mCAAmC,kCAAkC;AACrE,WAAW,qCAAqC;AAChD,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,WAAW,uBAAuB;AAClC,WAAW,iCAAiC;AAC5C,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC,mCAAmC;AACnE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Ia;AACb;;AAEA;AACA,gBAAgB,mBAAO,CAAC,IAAa;AACrC;;AAEA,aAAa,mBAAO,CAAC,IAAU;AAC/B,aAAa,mBAAO,CAAC,IAAQ;AAC7B,aAAa,mBAAO,CAAC,IAAO;;AAE5B;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B,YAAY,WAAW;AACvB;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,aAAa,SAAS;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,2DAA2D,kBAAkB;AAC7E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;AACA;AACA,4BAA4B,gDAAgD;AAC5E;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;;;;;;;ACtKa;AACb;;AAEA,2BAA2B,EAAE;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,UAAU;AACV,aAAa,aAAa;AAC1B;;AAEA;AACA;AACA;AACA,UAAU;AACV,aAAa,aAAa;AAC1B;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,aAAa;AACb;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;;AAEA;AACA,gCAAgC,eAAe;AAC/C;AACA,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,UAAU;AACV,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,IAAI;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,4CAA4C;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,UAAU;;AAEV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB,iBAAiB,SAAS;AAC1B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B;AAC1B,KAAK;AACL;AACA;;;;;;;;;AClZa;AACb;;AAEA;AACA,gBAAgB,mBAAO,CAAC,IAAa;AACrC;;AAEA,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAS;AACjC,gBAAgB,mBAAO,CAAC,IAAS;AACjC,gBAAgB,mBAAO,CAAC,IAAY;AACpC,gBAAgB,mBAAO,CAAC,IAAW;AACnC,gBAAgB,mBAAO,CAAC,IAAW;AACnC,gBAAgB,mBAAO,CAAC,IAAU;AAClC,gBAAgB,mBAAO,CAAC,IAAU;AAClC,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAW;AACnC,gBAAgB,mBAAO,CAAC,IAAW;AACnC,gBAAgB,mBAAO,CAAC,IAAY;AACpC,gBAAgB,mBAAO,CAAC,IAAa;AACrC,gBAAgB,mBAAO,CAAC,IAAY;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA,cAAc;AACd;AACA,6BAA6B;;AAE7B;AACA;AACA,cAAc;AACd;AACA,iCAAiC;;AAEjC;AACA;AACA,cAAc;AACd;AACA,+BAA+B;;AAE/B;AACA;AACA,cAAc;AACd;AACA,4BAA4B;;AAE5B;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8DAA8D,kBAAkB;AAChF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gGAAgG,eAAe,0GAA0G,cAAc;AACvO;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,+CAA+C;AAClE,gDAAgD;;AAEhD;AACA;AACA,wBAAwB,+CAA+C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,WAAW,MAAM;AACjB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA,uBAAuB;AACvB;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,kBAAkB;AACxE;AACA;AACA,sDAAsD,kBAAkB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,6BAA6B,uBAAuB;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B,aAAa,MAAM;AACnB,YAAY,WAAW;AACvB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,UAAU,GAAG;AAC1B;AACA;AACA;AACA;;AAEA;AACA,YAAY,yBAAyB,GAAG,0BAA0B,KAAK,yBAAyB;AAChG,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,+CAA+C;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wDAAwD,0BAA0B;AAClF,WAAW,UAAU,qBAAqB;AAC1C,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA,iGAAiG,0BAA0B;AAC3H,WAAW,UAAU,qBAAqB;AAC1C,WAAW,QAAQ;AACnB,aAAa,QA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AACrF;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,mBAAO,CAAC,IAAQ;;AAE/B;AACA;AACA,6CAA6C,+BAA+B;AAC5E;AACA;;;AAGA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,gEAAgE,mBAAO,CAAC,IAAQ;AAChF;AACA,CAAC;;;;;;;;;ACnNY;AACb;;AAEA,WAAW,mBAAO,CAAC,IAAiB;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA,6BAA6B;AAC7B,6CAA6C;AAC7C,2BAA2B;;AAE3B;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMa;AACb;;AAEA;AACA,iBAAiB,mBAAO,CAAC,IAAuB;;AAEhD;AACA,cAAc,mBAAO,CAAC,IAAoB;;AAE1C;AACA,oBAAoB,mBAAO,CAAC,IAA0B;;AAEtD;AACA,aAAa,mBAAO,CAAC,GAAmB;;AAExC;AACA,eAAe,mBAAO,CAAC,IAAqB;;AAE5C;AACA,YAAY,mBAAO,CAAC,IAAkB;;AAEtC;AACA,YAAY,mBAAO,CAAC,IAAkB;;AAEtC;AACA,gBAAgB,mBAAO,CAAC,IAAY;;AAEpC;AACA;AACA;AACA,UAAU;AACV;AACA,6BAA6B,qBAAM;AACnC,sBAAsB,qBAAM;AAC5B,sBAAsB,qBAAM;AAC5B,sBAAsB,qBAAM;AAC5B,sBAAsB,qBAAM;;AAE5B;AACA;AACA;AACA,UAAU;AACV;AACA,6BAA6B,qBAAM;AACnC;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qFAAqF;;AAErF;AACA;AACA,UAAU;AACV;AACA;AACA,mDAAmD,mCAAmC;;AAEtF;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,aAAa,mBAAmB;AAChC;AACA,qCAAqC;AACrC,6CAA6C,iBAAiB;AAC9D;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,oBAAoB;AACjC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,iDAAiD,kBAAkB,mBAAmB;;AAEtF;AACA;AACA;AACA;AACA,mDAAmD,gCAAgC;;AAEnF;AACA;AACA;;AAEA;;AAEA,2DAA2D,kBAAkB,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B;AACA;AACA,qCAAqC;AACrC,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA,kCAAkC,uBAAuB;AACzD;AACA,UAAU;AACV,aAAa,kBAAkB;AAC/B;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,aAAa;AAC1B;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,wBAAwB;AACxB,gEAAgE,QAAQ;AACxE;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,uBAAuB;AACzD;AACA,UAAU;AACV,WAAW,kBAAkB;AAC7B,aAAa;AACb;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,aAAa;AAC1B;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpaa;AACb;;AAEA,gBAAgB,mBAAO,CAAC,IAAQ;AAChC,gBAAgB,mBAAO,CAAC,IAAQ;;AAEhC;AACA,kIAAkI,oBAAoB;AACtJ;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,yBAAyB;AACzB;AACA;AACA,2EAA2E,iBAAiB;AAC5F;AACA;AACA;AACA,eAAe;AACf,UAAU;AACV;AACA,eAAe;AACf,6CAA6C;AAC7C;AACA;AACA,eAAe;AACf;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,oBAAoB,gDAAgD;AACpE;AACA;;AAEA;AACA,6CAA6C,qBAAqB;;AAElE;AACA,yBAAyB;AACzB;AACA;AACA;AACA,0BAA0B,WAAW,KAAK;AAC1C;AACA;AACA,eAAe;;AAEf;AACA,UAAU,2BAA2B;AACrC;AACA;AACA,0BAA0B,YAAY,KAAK;AAC3C;AACA,eAAe;;AAEf;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;;;;;;;AChLa;;AAEb;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,IAAW;;AAEjC;AACA,qCAAqC,eAAe;AACpD;AACA,UAAU;AACV,WAAW,mBAAmB;AAC9B,aAAa,UAAU,GAAG;AAC1B;AACA;;AAEA;AACA,mCAAmC,eAAe;AAClD;AACA,UAAU;AACV,WAAW,UAAU,GAAG;AACxB,WAAW,oBAAoB;AAC/B,aAAa,mBAAmB;AAChC;AACA;;AAEA;AACA,gCAAgC,eAAe;AAC/C;AACA,cAAc,4BAA4B;AAC1C,cAAc,0BAA0B;AACxC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACrGa;AACb;;AAEA,gBAAgB,mBAAO,CAAC,IAAgB;;AAExC,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,oBAAoB;AACpB;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB,GAAG,oBAAoB,yCAAyC;AAClG;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,QAAQ;AACrB,YAAY,WAAW;AACvB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,0BAA0B,IAAI,4BAA4B;AACtE,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChda;AACb;;AAEA;AACA,aAAa,mBAAO,CAAC,IAAU;AAC/B;;AAEA,WAAW,mBAAO,CAAC,IAAgB;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;;;;;;;;ACpFA;;AAEA;AACA,cAAc,mBAAO,CAAC,GAAmiB;AACzjB;AACA;AACA;AACA;AACA,UAAU,+CAA8E;AACxF,6CAA6C,qCAAqC;;;;;;;ACTlF;;AAEA;AACA,cAAc,mBAAO,CAAC,IAAiiB;AACvjB;AACA;AACA;AACA;AACA,UAAU,+CAA8E;AACxF,6CAA6C,qCAAqC;;;;;;;ACTlF;;AAEA;AACA,cAAc,mBAAO,CAAC,IAA+hB;AACrjB;AACA;AACA;AACA;AACA,UAAU,+CAA8E;AACxF,6CAA6C,qCAAqC;;;;;;;ACTlF;;AAEA;AACA,cAAc,mBAAO,CAAC,IAAqiB;AAC3jB;AACA;AACA;AACA;AACA,UAAU,+CAA8E;AACxF,6CAA6C,qCAAqC;;;;;;;ACTlF;;AAEA;AACA,cAAc,mBAAO,CAAC,IAAsiB;AAC5jB;AACA;AACA;AACA;AACA,UAAU,+CAA8E;AACxF,6CAA6C,qCAAqC;;;;;;;;;;;;;;;ACTlF;AACA;AACA;AACA;AACe;AACf;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D,MAAM;AACN;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,MAAM;AACN;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;;;UC7NA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,eAAe,4BAA4B;WAC3C,eAAe;WACf,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;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ACA;AACA;AACA;;AClBmC;AACc;AACjD;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;;AAEe,SAAS,cAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA,eAAe,cAAc,WAAW,cAAO;AAC/C;AACA,SAAS;;AAET;AACA,eAAe,cAAc,OAAO,cAAc,WAAW,cAAc,MAAM,cAAO;AACxF;AACA,SAAS,IAAI,cAAc,MAAM,cAAO;AACxC;AACA,SAAS;AACT;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,SAAS;AACrB;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB,mBAAmB,GAAG;AACtB;AACA,qDAAe;AACf;AACA,CAAC;;ACdc,SAAS,4BAAc;AACtC;AACA;;ACFqC;AACY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;;AAEe;AACf;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,gBAAQ;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,UAAU,4BAAc;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AC7Ce,SAAS,gBAAQ;AAChC;AACA;AACA;AACA;AACA;;ACLA,4CAAe;AACf;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;ACPkC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,YAAY;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gBAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,kDAAe,KAAK;;ACzCwB;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;;AAEA,IAAI,OAAG;AACP;AACA,cAAO;AACP;AACA,aAAa,UAAU,aAAK;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,2CAAe,uDAAG;;AC9CH,SAAS,QAAI;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;ACXe,SAAS,kBAAS;AACjC;AACA;;ACFmC;AACE;AACE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,SAAS,yEAAyE;AAC9F;AACA;AACA,0BAA0B;AAC1B,4BAA4B;AAC5B,uBAAuB,GAAG;AAC1B,sBAAsB,WAAW,GAAG;AACpC,sBAAsB,iCAAiC,GAAG;AAC1D,sBAAsB,uBAAuB;AAC7C;;AAEA,IAAI,wBAAY;AAChB;AACA,cAAO;AACP,MAAM,gBAAQ;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,kBAAS;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,yDAAe,wBAAY;;ACpD3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,SAAS,YAAM;AAC9B;AACA;;ACxBe,SAAS,YAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AC7D0C;AACE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,GAAG;AACxB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA,8DAA8D,KAAK,GAAG,MAAM;AAC5E,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,cAAO;AACP,SAAS,YAAM;AACf;AACA,GAAG;AACH,CAAC;;AAED,4CAAe,IAAI;;ACjC0B;AACZ;AACH;;AAE9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,OAAI;AACvD;;AAEA;AACe,SAAS,cAAO;AAC/B;AACA,SAAS,YAAM;AACf;;AAEA,MAAM,oBAAY;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;ACtEmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,YAAY;AACpD,0CAA0C,cAAc;;AAExD;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,kDAAe,KAAK;;AC3Ba;AACgB;AACjD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;;AAEe,SAAS,cAAO;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6CAA6C,cAAc;AAC3D;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA,WAAW,cAAc;AACzB;AACA;;AAEA;AACA;;AAEA,kDAAkD,YAAM,OAAO,cAAO;AACtE;AACA;;ACzC0C;AACE;AACA;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA,IAAI,aAAM;AACV;AACA,cAAO;AACP;AACA,WAAW,cAAO;AAClB;;AAEA,SAAS,YAAM,SAAS,cAAO;AAC/B,CAAC;;AAED,8CAAe,aAAM;;ACzDN,SAAS,QAAI;AAC5B;AACA;;ACF6B;AAC7B,IAAI,qBAAQ;;AAEZ;AACA;AACA;AACA,SAAS,qBAAQ;AACjB,WAAW,qBAAQ;AACnB,IAAI;AACJ,WAAW,QAAI;AACf;AACA,CAAC;;AAED,yDAAe,YAAY;;ACbiB;AACN;AACgB,CAAC;;AAEvD;AACA;AACA;AACA;AACA,CAAC;AACD,8IAA8I;;AAE9I;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM;AACf,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA,gBAAgB,iBAAiB,GAAG;AACpC;;;AAGA,IAAI,SAAI;AACR;AACA,cAAO;AACP;AACA,CAAC;AACD;AACA,cAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,oBAAY;;AAEtD;AACA,QAAQ,QAAI;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,UAAU,QAAI;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AACD,4CAAe,SAAI;;AC1FyB;AACY;AAClB;AACM;AACJ;AACP;AACJ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,uBAAuB,iBAAiB,GAAG,MAAM;AACjD;AACA,oBAAoB,YAAY,MAAM;AACtC;AACA;;AAEA,IAAI,OAAG;AACP;AACA,cAAO;AACP;AACA,aAAa,8BAA8B,aAAK;AAChD;AACA;AACA,aAAa,SAAM;AACnB;AACA,OAAO;;AAEP;AACA,aAAa,cAAO;AACpB;AACA;AACA,OAAO,IAAI,EAAE,OAAI;;AAEjB;AACA,aAAa,QAAI;AACjB;AACA,CAAC;;AAED,2CAAe,OAAG;;ACjElB;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,YAAY;AACZ;AACA,uDAAe;AACf;AACA,CAAC;;ACV2C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,wBAAwB;AACxB,yBAAyB;AACzB,0BAA0B;AAC1B;AACA,yBAAyB;AACzB,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA,IAAI,OAAG;AACP;AACA,cAAO;AACP;AACA,SAAS,kBAAS;AAClB,CAAC;;AAED,2CAAe,OAAG;;ACpC0B;AACM;AACvB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,GAAG;AACf;AACA;AACA;AACA,qBAAqB,OAAO,GAAG;AAC/B,sBAAsB,GAAG;AACzB,0BAA0B;AAC1B,wCAAwC,MAAM;AAC9C;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP;AACA;AACA;;AAEA,SAAS,kBAAU,MAAM,MAAG;AAC5B,CAAC;;AAED,4CAAe,SAAI;;ACnCyB;AACjB;AACE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,MAAM;AACnC,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB,GAAG,uBAAuB,IAAI;AACtE;AACA,oDAAoD;AACpD,wBAAwB,IAAI,OAAO,MAAM,QAAQ,GAAG,MAAM;AAC1D,wBAAwB,WAAW,GAAG,WAAW,GAAG,WAAW;AAC/D;AACA;;AAEA,IAAI,WAAK;AACT;AACA,cAAO;AACP,SAAS,MAAG,CAAC,OAAI;AACjB,CAAC;;AAED,6CAAe,WAAK;;ACrCe;AACA;AACc;AACjD;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;;AAEe,SAAS,cAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA,eAAe,cAAc,WAAW,cAAO;AAC/C;AACA,SAAS;;AAET;AACA,eAAe,cAAc,OAAO,cAAc,WAAW,cAAc,MAAM,cAAO;AACxF;AACA,SAAS,IAAI,cAAc,MAAM,cAAO;AACxC;AACA,SAAS,IAAI,cAAO;AACpB;AACA,SAAS;;AAET;AACA,eAAe,cAAc,OAAO,cAAc,OAAO,cAAc,WAAW,cAAc,OAAO,cAAc,MAAM,cAAO;AAClI;AACA,SAAS,IAAI,cAAc,OAAO,cAAc,MAAM,cAAO;AAC7D;AACA,SAAS,IAAI,cAAc,OAAO,cAAc,MAAM,cAAO;AAC7D;AACA,SAAS,IAAI,cAAc,MAAM,cAAO;AACxC;AACA,SAAS,IAAI,cAAc,MAAM,cAAO;AACxC;AACA,SAAS,IAAI,cAAc,MAAM,cAAO;AACxC;AACA,SAAS;AACT;AACA;AACA;;AChD4C;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,aAAM;AACV;AACA,cAAO,CAAC,cAAO;;AAEf,8CAAe,aAAM;;ACrDuB;AACX;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB,GAAG;AAClD,yBAAyB,sBAAsB,GAAG;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AClDa;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,YAAY;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gBAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,kDAAe,KAAK;;ACzCwB;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC,kCAAkC;AAClC;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,UAAU,aAAK;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,2CAAe,mDAAG;;AC/C0B;AACX;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB,GAAG;AAC9C,qBAAqB,qBAAqB,GAAG;AAC7C,qBAAqB,qBAAqB,GAAG;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;ACnDtB;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,iBAAiB;AAC5B,YAAY,OAAO;AACnB;AACA;AACA,uCAAuC;AACvC;AACe,SAAS,cAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;ACjC4C;AACA;AACA;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,kDAAkD;AAClD,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAE;AACN;AACA,cAAO;AACP;AACA;AACA,IAAI,EAAE,cAAO;AACb,WAAW,cAAO,MAAM,MAAG;AAC3B,GAAG;AACH,CAAC;;AAED,0CAAe,KAAE;;ACzCF;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;ACXmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,cAAO;AAClB;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,uDAAe,UAAU;;ACjDuB;AACJ;AACY;AACN;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,wCAAwC;AACxC,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,kBAAU,EAAE,SAAS;;AAEvC,gDAAe,wDAAQ;;AChCqB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM;AACf,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA,kBAAkB,iBAAiB,GAAG;AACtC;;AAEA,IAAI,aAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,8CAAe,6DAAM;;ACpCuB;AACE;AACf;AACE;AACN;AACI;AACE;AACJ;AACI,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,0BAA0B,uBAAuB,KAAK;AAC/D,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,SAAS;AACT,0BAA0B,QAAQ,kBAAkB;AACpD,uBAAuB,WAAW,QAAQ,YAAY,iBAAiB;AACvE;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;AC1Da;AACI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B;;AAEe,SAAS,YAAM;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AC9B4C;AACN;AACY;AACR;AACX;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG,IAAI;AAC9B,WAAW,OAAO;AAClB,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,0CAA0C,IAAI,IAAI,OAAO,GAAG,MAAM,IAAI,IAAI;AAC1E;AACA;AACA,0CAA0C,KAAK,GAAG,MAAM,IAAI,IAAI;AAChE;;AAEA,IAAI,mBAAS;AACb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,iDAAe,mEAAS;;AC/CoB;AACL;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,MAAM,IAAI;AAC/B,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,yBAAyB,WAAW,GAAG,MAAM;AAC7C;;AAEA,IAAI,WAAK;AACT;AACA;AACA;AACA,CAAC,CAAC;;AAEF,6CAAe,2DAAK;;AC9BwB;AACA;AACnB;AACQ;AACN;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,cAAO;AACP,eAAe,SAAM;AACrB,SAAS,SAAM;AACf,WAAW,cAAO,CAAC,KAAE,EAAE,MAAG;AAC1B,GAAG;AACH,CAAC;;AAED,6CAAe,KAAK;;AChCwB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,uDAAuD;AACvD;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP,SAAS,QAAK;AACd,CAAC;;AAED,4CAAe,SAAI;;AC/ByB;AACQ;AACzB;AACE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,eAAe;AACf;AACA,mDAAmD;AACnD,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;AC5C0B;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEe,SAAS,kBAAS;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,oBAAY;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AClCe;AACf;AACA;AACA;AACA;AACA;;ACL+C;AACF;AACV;AACA;;AAEnC;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA,2CAA2C,aAAa;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA,KAAK;AACL;AACA,cAAc,oBAAY,UAAU,cAAO,yBAAyB,cAAO;AAC3E;AACA;AACA;;AAEA,qDAAe,QAAQ;;AC/BY;AACE;AACT;;AAE5B;AACA;AACA,cAAO;AACP,SAAS,MAAG,IAAI,gBAAQ;AACxB,CAAC;;AAED,oDAAe,OAAO;;ACVsB;AACY;AACR;AACJ;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,uCAAuC;AACvC;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,kCAAkC,eAAO;AACtD;AACA;AACA;AACA;AACA;;AAEA,SAAS,kBAAS,QAAQ,MAAG;AAC7B,CAAC;;AAED,6CAAe,KAAK;;AC9CwB;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,0BAA0B;AACrC,WAAW,2BAA2B;AACtC,WAAW,8BAA8B;AACzC,WAAW;AACX;AACA;AACA,gBAAgB,8BAA8B;AAC9C,gBAAgB,+BAA+B;AAC/C,gBAAgB,0BAA0B;AAC1C,gBAAgB,2BAA2B;AAC3C,gBAAgB,4BAA4B;AAC5C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,IAAI;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;ACzDoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,SAAS;AACrB;AACA;AACA;AACA,qBAAqB;AACrB,sBAAsB;AACtB,kBAAkB;AAClB,kBAAkB;AAClB;;AAEA;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,2CAAe,GAAG;;AC3BW;AACF;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA,uBAAuB;AACvB,wBAAwB;AACxB,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA,OAAI,CAAC,MAAG;AACR,kDAAe,0DAAU;;AC5BV;AACf;AACA;AACA;AACA;;ACJqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;;AAEe,SAAS,8BAAe;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,gBAAQ;AACnB;AACA;;ACvB4D;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,oDAAoD;AACpD,oDAAoD;AACpD,oDAAoD;AACpD,oDAAoD;AACpD,oDAAoD;AACpD;;AAEA,IAAI,WAAK;AACT;AACA,cAAO;AACP;AACA,8BAAe;AACf;AACA,CAAC;;AAED,6CAAe,WAAK;;ACnCwC;AAChB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP;AACA,8BAAe;AACf;AACA,QAAK;;AAEL,4CAAe,SAAI;;ACvCuB;AACF;AACP;AACJ;AAC7B;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,YAAM,sBAAsB,SAAM,CAAC,KAAK,gBAAgB,OAAI;AACrE;;ACnC4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B,+BAA+B;AAC/B,+BAA+B;AAC/B;;AAEA,IAAI,eAAO;AACX;AACA,cAAO;AACP,SAAS,kBAAS;AAClB,CAAC;;AAED,+CAAe,eAAO;;ACjCO;AACM;AACnC;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,UAAU,OAAO,UAAO;AACjC;;AClC0C;AACE;AACf;AACe;AACf;AACQ;AACrC;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA,IAAI,iBAAQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC,CAAC;;AAEF,gDAAe,iEAAQ;;AC/CqB;AACP;AACF;AACnC;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D,qDAAqD;AACrD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,mDAAe,2DAAW;;ACnCX;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;ACTe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;ACbe;AACf;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,sDAAe,uDAAuD;;ACb1B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,iBAAiB,GAAG;AACpB,mBAAmB;AACnB,uBAAuB;AACvB,qBAAqB;AACrB,sBAAsB;AACtB,oBAAoB;AACpB,yBAAyB;AACzB,uBAAuB,GAAG;AAC1B,2BAA2B;AAC3B;;AAEA;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,4CAAe,IAAI;;ACjCsC;AACV;AACA;AAClB;AACU;AACT;AACA;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,kBAAkB;;AAE5B,UAAU,kBAAkB;;AAE5B;AACA;AACA,IAAI;;;AAGJ,UAAU,aAAa;AACvB,YAAY,aAAa;AACzB,GAAG;AACH;;AAEe;AACf,MAAM,iBAAS;AACf;AACA;;AAEA,cAAc,OAAI;;AAElB,gBAAgB,OAAI;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,aAAa;AAC9D;AACA;;AAEA;;AAEA;AACA;AACA;AACA,qCAAqC,iBAAS;AAC9C;AACA;;AAEA;;AAEA;AACA,WAAW,iBAAS;AACpB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,OAAI;;AAElB,uBAAuB,OAAI;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,UAAU,QAAI;AACd;AACA;;AAEA;AACA;;AAEA;AACA;;ACjK4C;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,wBAAwB;AACxB,0BAA0B;AAC1B,wCAAwC;AACxC;AACA,sBAAsB;AACtB,sBAAsB;AACtB,wBAAwB;AACxB;;AAEA,IAAI,aAAM;AACV;AACA,cAAO;AACP,SAAS,OAAO;AAChB,CAAC;;AAED,8CAAe,aAAM;;AClCa;AACnB,SAAS,gBAAQ;AAChC,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;;;AAGV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA,QAAQ,SAAM;AACd;AACA;;AAEA;AACA;;AAEA;AACA;;AClEqC;AACtB,SAAS,kBAAS;AACjC,SAAS,gBAAQ;AACjB;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,wBAAY;AAChB;AACA,EAAE;AACF;AACA;;AAEA,yDAAe,wEAAY;;ACbZ,SAAS,sBAAW;AACnC;AACA;AACA;AACA;;ACJe,SAAS,cAAO;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;ACde,SAAS,kBAAS;AACjC;AACA;;ACFmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,YAAY;AACvD,6CAA6C,cAAc;;AAE3D;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,qDAAe,QAAQ;;AC3BqB;AACY;AACZ;AACI;AACJ;AACE;AACjB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,0BAA0B,uBAAuB,GAAG,MAAM;AAC1D;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,oCAAoC,gBAAQ;AACzD,SAAS,kBAAS,eAAe,cAAO;AACxC;AACA;AACA;;AAEA;AACA,GAAG,IAAI,EAAE,OAAI;AACb,EAAE,cAAO;AACT,CAAC;;AAED,8CAAe,MAAM;;AClD+B;AACR;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,yBAAyB,uBAAuB,GAAG,MAAM;AACzD;;AAEA,IAAI,aAAM;AACV;AACA,cAAO;AACP,SAAS,SAAM,CAAC,sBAAW;AAC3B,CAAC;;AAED,8CAAe,aAAM;;AClCkB;AACV;AACI;AACY;AACf;AACI;AACnB,SAAS,kBAAS;AACjC;AACA;AACA,6CAA6C,kBAAS;AACtD,KAAK;;;AAGL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,4BAA4B,mBAAmB;;AAE/C;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,wCAAwC;AACvD;AACA;;ACzD4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,wBAAwB;AACxB,2BAA2B;AAC3B,+BAA+B;AAC/B,oBAAoB,uBAAuB,GAAG,OAAO,6BAA6B;AAClF,sDAAsD;AACtD;;AAEA,IAAI,iBAAQ;AACZ;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,iEAAQ;;AC7CqB;AACE;AACM;AACJ;AACX;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,0BAA0B;AAC1B;;AAEA,IAAI,aAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,8CAAe,6DAAM;;AChEqB;AACE;AACjB;AACA;AACM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,gBAAgB;AAChB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;ACxDyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB;;AAEA,IAAI,OAAG;AACP;AACA,cAAO;AACP;AACA,CAAC;;AAED,2CAAe,OAAG;;ACzB0B;AACN;AACL;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAO;AACP,SAAS,SAAM,CAAC,SAAM,CAAC,MAAG,KAAK,QAAK;AACpC;AACA;AACA,gCAAgC,QAAI;AACpC;AACA,KAAK;AACL,GAAG;AACH,CAAC;;AAED,gDAAe,QAAQ;;AC/CqB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,wCAAwC;AACxC,8DAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;AACF,6CAAe,qDAAK;;AC3BL,SAAS,wBAAY;AACpC;AACA;;ACF6C;AACf;AAC9B;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,GAAG;AACf;;AAEe,SAAS,YAAM;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kCAAkC,YAAM;AACxC;AACA;;AAEA;AACA;;AAEA,UAAU,OAAI;AACd;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,wBAAY;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;ACnEmC;AACN;AACM;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;;AAEzD;AACA;;AAEA;AACA,UAAU,QAAI;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,uDAAe,UAAU;;ACnDiB;AACE;AACY;AAClB;AACM;AACE;AACI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,WAAW,UAAU;AACrB;AACA,WAAW,GAAG;AACd,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,0BAA0B,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,cAAc;AACd;;AAEA,IAAI,iBAAQ;AACZ;AACA,cAAO;AACP;AACA,aAAa,KAAK,kBAAU;AAC5B,SAAS,cAAO;AAChB;AACA,wBAAwB,QAAI,wBAAwB,YAAM;;AAE1D;AACA,aAAa,gBAAQ;AACrB;;AAEA;AACA;AACA,GAAG,IAAI;AACP,CAAC;;AAED,gDAAe,iEAAQ;;ACtEc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,2CAA2C,MAAM;AACjD;AACA;AACA,yCAAyC,MAAM;AAC/C;;AAEA;AACA;AACA;AACA;AACA,CAAC,IAAI;AACL,+CAAe,uDAAO;;AC/BiB;;AAEvC,IAAI,QAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA,eAAe,SAAS;AACxB;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;;;AAGA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,kBAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;;;AAGR,WAAW,kBAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF,iDAAe,QAAI;;ACxMyB;AACN;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,uBAAuB,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,KAAK,UAAU,KAAK;AACrE;;AAEA,IAAI,qBAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,eAAe;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,kDAAe,qEAAU;;AC/CgB;AACJ;AACH;AAClC;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,cAAc;AACzB,YAAY,QAAQ;AACpB;;AAEe,SAAS,cAAO;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AC7B4C;AACA;AACM;AACJ;AACf;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM,IAAI;AAC5B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,uCAAuC,IAAI,IAAI,QAAQ,GAAG,MAAM,IAAI;AACpE;;;AAGA,IAAI,qBAAU;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,kDAAe,qEAAU;;AC7EmB;AACH;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,IAAI;AAC7B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,uBAAuB,iBAAiB,GAAG,MAAM;AACjD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;ACzBc;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,YAAY;AACrD,2CAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,mDAAe,MAAM;;AChCuB;AACY;AACd;AACX;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY,GAAG;AACf;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP;AACA,aAAa,WAAW,cAAM;AAC9B,SAAS,QAAK;AACd,CAAC;;AAED,4CAAe,yDAAI;;ACrCgB;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,YAAY;AACrD,2CAA2C,cAAc;;AAEzD;AACA;AACA;AACA,6CAA6C,gBAAQ;AACrD;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,mDAAe,MAAM;;AC/BuB;AACY;AACd;AACX;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP;AACA,aAAa,WAAW,cAAM;AAC9B,SAAS,QAAK;AACd,CAAC;;AAED,4CAAe,SAAI;;ACxDW;AACf;AACf,SAAS,OAAI;AACb;;ACHmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,uDAAe,UAAU;;AChDmB;AACY;AACR;AACE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;AAEA,IAAI,iBAAQ;AACZ;AACA,cAAO;AACP;AACA,aAAa,KAAK,kBAAU,EAAE,QAAS;;AAEvC,gDAAe,iEAAQ;;AClCS;AACjB;AACf;;AAEA;AACA;AACA;;AAEA,SAAS,QAAK;AACd;;ACTmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,YAAY;;AAE9D;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,4DAAe,eAAe;;AC5Cc;AACY;AACE;AACE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,mDAAmD;AACnD;;AAEA,IAAI,2BAAa;AACjB;AACA,cAAO;AACP;AACA,aAAa,KAAK,uBAAe,EAAE,aAAc;;AAEjD,qDAAe,2EAAa;;ACtCO;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,YAAY;AAChE,sDAAsD,cAAc;;AAEpE;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,8DAAe,iBAAiB;;ACtCL;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,qCAAqC;AACrC,oBAAoB;AACpB;AACA,uBAAuB;AACvB,oBAAoB;AACpB;;AAEA;AACA;AACA,MAAG;AACH,4CAAe,IAAI;;ACzByB;AACY;AACQ;AACnC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,yBAAiB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,OAAI;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,uDAAe,eAAe;;AClDc;AACY;AACQ;AACb;AAClB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa;AACb;AACA,yBAAiB,CAAC,SAAM;AACxB;AACA,kBAAe,CAAC,SAAM;;AAEtB,mDAAe,2DAAW;;AClCS;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,YAAY;AAC1D,gDAAgD,cAAc;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,wDAAe,WAAW;;ACnCkB;AACY;AACJ;AACrB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,gBAAgB,mBAAW;AACxC;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,QAAK;AACd,CAAC;;AAED,iDAAe,yDAAS;;AChDoB;AACQ;AACvB;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,cAAc;AACd;AACA,qDAAqD;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC3CrB;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,SAAS;AACrB;AACA;AACA,2CAA2C;AAC3C,6CAA6C;AAC7C,2BAA2B;AAC3B,6BAA6B;AAC7B,wBAAwB,GAAG;AAC3B;AACe;AACf;AACA;AACA;;ACjB4C;AACU;AACR;AACE;AACA;AACQ;AACxD;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,iBAAiB,WAAW,aAAa;AACzC,yCAAyC;AACzC;;AAEA;AACA;AACA,cAAO;AACP,+YAA+Y,gBAAQ,WAAW,kBAAS,WAAW,kBAAS,SAAS,EAAE,oBAAY;AACtd;AACA,GAAG,KAAK,aAAa;AACrB;AACA,CAAC;;AAED,6CAAe,KAAK;;ACzCwB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;AAEA,IAAI,iBAAQ;AACZ;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,iEAAQ;;AC/BqB;AACX;AACI;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,wDAAQ;;AChCqB;AACX;AACjC;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;AC1ByB;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,MAAM,IAAI,MAAM;AAC9B,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,gCAAgC;AAChC,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AC9BsB;AACE;AACE;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,IAAI,MAAM,IAAI;AACpC,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA,wBAAwB,+BAA+B,8BAA8B;AACrF;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2CAA2C,MAAM,4BAA4B,8BAA8B;AAC3G;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AClDc;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,YAAY;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gBAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,mDAAe,MAAM;;ACzCuB;AACY;AACd;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK;AAC1C,sCAAsC,MAAM;AAC5C,sCAAsC;AACtC;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,WAAW,cAAM;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,4CAAe,IAAI;;AC7CgB;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,YAAY;;AAE1D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,gBAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,wDAAe,WAAW;;AC5CkB;AACY;AACJ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK;AAC1C,2CAA2C;AAC3C,2CAA2C;AAC3C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,mBAAW;AAC7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,iDAAe,SAAS;;AC7CW;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,uDAAe,UAAU;;AClCmB;AACY;AACN;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,0CAA0C,MAAM;AAChD,0CAA0C;AAC1C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,kBAAU;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,gDAAe,wDAAQ;;AC1CY;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,4DAAe,eAAe;;ACtCc;AACY;AACI;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,+CAA+C;AAC/C,+CAA+C;AAC/C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,uBAAe;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,qDAAe,6DAAa;;AC5CgB;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,+CAAe,uDAAO;;AC1BsC;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC,EAAE;;AAEH,+CAAe,uDAAO;;ACrDsB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,kDAAkD,WAAW,GAAG,MAAM;AACtE;AACA;AACA,iCAAiC,WAAW,KAAK;AACjD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,yDAAe,iEAAiB;;ACxC4B;AAChB;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,wBAAwB;AACnD,yBAAyB,wBAAwB;AACjD;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA,oBAAoB,0BAA0B;AAC9C,oBAAoB,wBAAwB;AAC5C;AACA,oBAAoB,wBAAwB;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO;;AAER,+CAAe,uDAAO;;ACxDK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA;AACA,qCAAqC;AACrC,oBAAoB;AACpB;AACA,uBAAuB;AACvB,oBAAoB;AACpB;;AAEA,IAAI,SAAI;AACR;AACA,MAAG;AACH,4CAAe,SAAI;;AC1B6B;AACJ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B,6BAA6B;AAC7B,6BAA6B;AAC7B,4BAA4B;AAC5B,+BAA+B;AAC/B;;AAEA;AACA;AACA,cAAO,CAAC,iBAAS;;AAEjB,iDAAe,yDAAS;;AChCwB;AACJ;AAC5C;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA,kCAAkC;AAClC,kCAAkC;AAClC,qBAAqB,cAAc,KAAK,cAAc,IAAI;AAC1D,kCAAkC;AAClC,oCAAoC;AACpC;;AAEA;AACA;AACA,cAAO,CAAC,kBAAS;;AAEjB,gDAAe,wDAAQ;;AC7Bc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,uBAAuB,sBAAsB,GAAG,sBAAsB;AACtE;AACA,cAAc,MAAM,sBAAsB,QAAQ;AAClD;;AAEA;AACA;AACA;AACA;AACA,CAAC,OAAO;AACR,+CAAe,uDAAO;;AC/BsB;AACE;AACA;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,iCAAiC;AACjC,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AC7BS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB;;AAEA;AACA;AACA,4DAAY;AACZ,4CAAe,oDAAI;;AC7BJ;AACf;AACA;;ACF4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY,GAAG;AACf;AACA;AACA,uBAAuB;AACvB;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA,IAAI,iBAAQ;AACZ;AACA,cAAO,CAAC,SAAS;;AAEjB,gDAAe,iBAAQ;;AC1BY;AACN;AACM;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAI;AACvB;;AAEA,2CAA2C,YAAY;AACvD,6CAA6C,cAAc;;AAE3D;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,qDAAe,QAAQ;;AC7Be;AACM;AACY;AACV;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,gBAAQ;AAC1B,gBAAgB,YAAI;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,8CAAe,MAAM;;ACjDgB;AACJ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,8BAA8B;AAC9B,8BAA8B;AAC9B,8BAA8B;AAC9B;;AAEA,IAAI,SAAI;AACR;AACA,SAAM,CAAC,WAAQ;AACf,4CAAe,SAAI;;ACvB6B;AACJ;AACA;AACf;AACA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,oDAAe,4DAAY;;ACvCiC;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,EAAE;;AAEH,mDAAe,2DAAW;;AC1CG,CAAC;;AAE9B,SAAS,0BAAa;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,QAAI;AAChB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0DAAe,sDAAsD,0BAAa;;AC5BtC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM,QAAQ,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB;AAC7H;;AAEA;AACA;AACA,cAAO;AACP;AACA;AACA;AACA,CAAC;;AAED,6CAAe,KAAK;;AC9B2B;AACR;AACM;AACI;AACjB;AAChC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA,WAAW,qBAAa,SAAS,oBAAY,UAAU,QAAK;AAC5D,GAAG;AACH,yBAAyB,SAAS;AAClC;AACe,SAAS,gBAAQ;AAChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AC7C0C;AACE;AACc;AACd;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;ACnDyB;AACN;AACT;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,IAAI;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC7CuB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,IAAI;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;AC/CoB;AACQ;AACnB;AACI;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,eAAO;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,+CAAe,+DAAO;;ACrDsB;AACb;AACE;AACjC;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,wCAAwC;AACxC,wCAAwC;AACxC,wCAAwC;AACxC,wCAAwC;AACxC,oBAAoB,oBAAoB;AACxC,mBAAmB,UAAU,WAAW;AACxC,wCAAwC;AACxC;;AAEA;AACA;AACA,cAAO;AACP,sBAAsB,SAAM,IAAI,QAAK;AACrC,CAAC;;AAED,+CAAe,OAAO;;AChCa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,iCAAiC;AACjC,mCAAmC;AACnC;;AAEA;AACA;AACA,kEAAkB;AAClB,4CAAe,oDAAI;;ACxByB;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA,cAAO;AACP,SAAS,WAAQ;AACjB;AACA,GAAG;AACH,CAAC;;AAED,4CAAe,IAAI;;AC5ByB;AACE;AACb;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,8CAA8C;AAC9C,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC,CAAC;;AAEF,mDAAe,2DAAW;;AC3CkB;AACjB;AAC3B;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW,cAAc;AAChD,yBAAyB,WAAW,YAAY,MAAM;AACtD,iCAAiC,WAAW,IAAI,MAAM;AACtD;;AAEA,IAAI,SAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC,CAAC;;AAEF,4CAAe,yDAAI;;ACtCyB;AACf;AACF;AACM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,sDAAsD;AACtD,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;AC/BoB;AACM;AACvB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,GAAG;AACrB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,OAAO,KAAK,EAAE,GAAG;AACxE,2CAA2C,IAAI,KAAK,OAAO,KAAK,EAAE,GAAG;AACrE;;AAEA;AACA;AACA,cAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY,kBAAU,MAAM,MAAG;AAC/B;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,6CAAe,KAAK;;AC5CwB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,GAAG;AACrB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,GAAG;AACf;AACA;AACA;AACA,4BAA4B,IAAI,MAAM,GAAG;AACzC,4BAA4B,IAAI,MAAM,GAAG;AACzC,+BAA+B,IAAI,cAAc,GAAG;AACpD,gCAAgC,IAAI,cAAc,GAAG;AACrD;;AAEA,IAAI,SAAI;AACR;AACA,cAAO;AACP,SAAS,QAAK;AACd,CAAC;;AAED,4CAAe,SAAI;;AC7ByB;AACL;AACV;AACA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK,WAAW,GAAG,WAAW,EAAE;AAC5D;AACA,8BAA8B,KAAK,WAAW,GAAG,WAAW,EAAE;AAC9D,cAAc,KAAK,WAAW,GAAG,WAAW;AAC5C,sCAAsC,KAAK,WAAW,GAAG,WAAW,EAAE;AACtE,cAAc,KAAK,YAAY,GAAG,WAAW;AAC7C;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,wDAAQ;;ACnCqB;AACb;AACF;AACA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW,cAAc;AAChD,yBAAyB,WAAW,YAAY,MAAM;AACtD,iCAAiC,WAAW,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,wDAAQ;;AC/BqB;AACA;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mDAAmD,OAAO;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP,CAAC,CAAC;;AAEF,qDAAe,6DAAa;;AClCgB;AACM;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AClDsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B;;AAEA;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,2CAAe,GAAG;;ACzBS;AACM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA,IAAI,OAAG;AACP;AACA,SAAM,CAAC,MAAG;AACV,2CAAe,OAAG;;ACrB0B;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,2BAA2B;AAC3B,oBAAoB;AACpB;;AAEA,IAAI,SAAI;AACR;AACA;AACA;AACA,CAAC,CAAC;;AAEF,4CAAe,yDAAI;;ACzByB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B,iCAAiC;AACjC,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;A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;;AC3DmB;AACH;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,MAAM,IAAI;AACtC,WAAW,eAAe;AAC1B,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA,wBAAwB;AACxB,2CAA2C,MAAM;AACjD,sDAAsD,MAAM;AAC5D;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC/B+B;AACR;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;ACnCwB;AACJ;AACxB,SAAS,4BAAc;AACtC;AACA;AACA;AACA;;ACN4C;AACc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,oCAAoC,sCAAsC;AAC1E;AACA,qDAAqD,qBAAqB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;ACvCS;AACJ;AACI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iCAAiC;AACxE,kBAAkB,uBAAuB,IAAI,YAAY;AACzD;;AAEA;AACA;AACA,OAAI,EAAE,SAAM,EAAE,SAAM;AACpB,iDAAe,yDAAS;;AC/BoB;AACX;AACJ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,WAAW,OAAO;AAClB,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA,wBAAwB,WAAW;AACnC,wBAAwB,WAAW;AACnC,wBAAwB;AACxB;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AClCuB;AACL;AACV;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG;AAC1B,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,GAAG;AACf;AACA;AACA,qCAAqC,IAAI,MAAM,GAAG;AAClD,qCAAqC,IAAI,MAAM,GAAG;AAClD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC7BuB;AACf;AAC7B;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,GAAG;AACvC,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,iDAAiD,IAAI,MAAM,GAAG;AAC9D,2CAA2C,IAAI,MAAM,GAAG;AACxD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,qDAAe,6DAAa;;AC7BgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,2BAA2B;AAC3B;;AAEA;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,gDAAe,QAAQ;;AC5Bc;AACJ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA,SAAM,CAAC,WAAQ;AACf,+CAAe,uDAAO;;ACrBsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM,IAAI;AAC1B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,+BAA+B,uBAAuB,GAAG,MAAM;AAC/D,oCAAoC,uBAAuB,GAAG,MAAM;AACpE;;AAEA;AACA;AACA,cAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,+CAAe,OAAO;;ACpCsB;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACA;AACA;AACA,6DAA6D;AAC7D,6DAA6D;AAC7D,mDAAmD;AACnD,mDAAmD;AACnD;AACA;;AAEA;AACA;AACA,cAAO;AACP,SAAS,SAAM;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,+CAAe,OAAO;;AChDgB;AACD;AACF;AACA;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,KAAK,OAAO,KAAK;AAClC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB;AACA,4CAA4C,OAAO,uBAAuB,GAAG,uBAAuB;AACpG;;AAEA;AACA;AACA,UAAO,CAAC,QAAI,GAAG,UAAO,EAAE,WAAQ,IAAI;;AAEpC,+CAAe,uDAAO;;AC7BP;AACf;AACA;AACA;AACA;;ACJmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,YAAY;AACvD,6CAA6C,cAAc;;AAE3D;AACA,gDAAgD,OAAO;AACvD;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,qDAAe,QAAQ;;AC7BqB;AACY;AACZ;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,YAAY;AACvB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,oCAAoC,gBAAQ,EAAE,OAAO;;AAElE,8CAAe,sDAAM;;ACxCuB;AACf;AACI;AACjC;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,cAAO;AACP,SAAS,SAAM,MAAM,OAAI;AACzB,CAAC;;AAED,8CAAe,MAAM;;ACnCuB;AACf;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,+BAA+B,WAAW,IAAI;AAC9C,+BAA+B,SAAS,MAAM;AAC9C,gCAAgC,cAAc;AAC9C;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC9BuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,iCAAiC;AACjC,6BAA6B;AAC7B,+BAA+B;AAC/B;AACA,yCAAyC;AACzC;;AAEA,IAAI,mBAAS;AACb;AACA,cAAO;AACP;AACA,CAAC;;AAED,iDAAe,mBAAS;;AC/BoB;AACL;AACV;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,qCAAqC;AACrC;;AAEA;AACA;AACA,cAAO;AACP,SAAS,YAAS,MAAM,OAAI;AAC5B,CAAC;;AAED,8CAAe,MAAM;;ACrCuB;AACf;AAC7B;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,WAAW;AAChD,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,0CAA0C,WAAW,GAAG;AACxD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,qDAAe,6DAAa;;AC5BgB;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA,6BAA6B,WAAW,GAAG;AAC3C,kCAAkC,WAAW,GAAG;AAChD;AACA;AACA,kBAAkB,6CAA6C,GAAG;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,6CAAe,qDAAK;;AChCwB;AACA;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,UAAU;AACrB;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,mDAAe,2DAAW;;AC1CkB;AACnB;AACE;AACQ;AACQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,6DAA6D;AAC7D,6DAA6D;AAC7D;AACA,2CAA2C;AAC3C,2CAA2C;AAC3C;;AAEA,IAAI,iBAAQ;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,gDAAe,iEAAQ;;ACtCqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA,cAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED,8CAAe,MAAM;;AC7Cc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,qCAAqC;AACrC;;AAEA;AACA;AACA,mEAAmB;AACnB,6CAAe,qDAAK;;ACzBwB;AACX;AACF;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AC5BsB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,gDAAgD;AAChD,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,kDAAe,0DAAU;;ACrCmB;AACX;AACJ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,kDAAe,0DAAU;;AChCmB;AACX;AACQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,uDAAuD;AACvD,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,2DAAe,mEAAmB;;AC5BU;AACX;AACgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAClD,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAClD,gDAAgD,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AACpF;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+DAAe,uEAAuB;;AChCM;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,qDAAe,6DAAa;;ACxCO;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,YAAY;AAC1D,gDAAgD,cAAc;;AAE9D;AACA,yEAAyE,gBAAQ;AACjF;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,wDAAe,WAAW;;AC5BkB;AACY;AACJ;AACrB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,gBAAgB,mBAAW;AACxC;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,QAAK;AACd,CAAC;;AAED,iDAAe,yDAAS;;ACjDW;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,YAAY;AACpD,0CAA0C,cAAc;;AAExD;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,kDAAe,KAAK;;AC5BwB;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,YAAY,GAAG;AACf;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA,cAAO;AACP;AACA,aAAa,KAAK,aAAK;AACvB;AACA;AACA,CAAC;;AAED,2CAAe,mDAAG;;ACjCoC;AACV;AACI;AACX;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA,uFAAuF;AACvF;;AAEA;AACA,CAAC,CAAC;;AAEF,4CAAe,oDAAI;;AChCyB;AACc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA,sCAAsC,SAAS,QAAQ;AACvD;AACA,4BAA4B,8CAA8C;AAC1E;AACA,gDAAgD,qBAAqB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;ACzCa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA,yEAAyB;AACzB,+CAAe,uDAAO;;ACpBa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA,yEAAyB;AACzB,+CAAe,uDAAO;;ACpBsB;AACF;AACT;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA;AACA,WAAW,GAAG;AACd,WAAW,OAAO;AAClB,YAAY,GAAG;AACf;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA,gFAAgF;AAChF;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF,iDAAe,yDAAS;;ACxDoB;AACjB;AACU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,gDAAe,wDAAQ;;ACpCqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA,4BAA4B;AAC5B,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAO;AACP;AACA;AACA;AACA,CAAC;AACD;AACA,cAAO;AACP;AACA,CAAC;AACD,4CAAe,oDAAI;;ACnCyB;AACA;AACT;AACN;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA,cAAO;AACP;AACA,OAAO,CAAC,OAAI,EAAE,cAAO;;AAErB,6CAAe,qDAAK;;AC5Be;AACY;AACZ;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,YAAY;AACzD,+CAA+C,cAAc;;AAE7D;AACA,QAAQ,aAAa;AACrB;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,cAAO;AACP;AACA,CAAC;;AAED,uDAAe,UAAU;;AClCmB;AACY;AACA;AACN;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,2CAA2C;AAC3C,6BAA6B,IAAI,UAAU,QAAQ;AACnD,2CAA2C;AAC3C,2CAA2C;AAC3C;;AAEA,IAAI,iBAAQ;AACZ;AACA,cAAO;AACP;AACA,aAAa,KAAK,kBAAU;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,aAAa;AACtB;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED,gDAAe,iEAAQ;;ACpDqB;AACA;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK;AAClC,qBAAqB,KAAK,GAAG,KAAK;AAClC,kDAAkD,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK;AAC9E;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,iDAAe,yDAAS;;ACjCwB;AACjB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,YAAY;AACZ;AACA;AACA;AACA,mCAAmC;AACnC,4CAA4C;AAC5C;;AAEA;AACA;AACA,QAAK,CAAC,SAAS;AACf,8CAAe,sDAAM;;ACvBuB;AACE;AACR;AACI;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ,KAAK,KAAK;AACrC,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,UAAU,0DAA0D;AACpE,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEF,8CAAe,sDAAM;;AC5CuB;AACX;AACN;AACI;AAC/B;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,IAAI,WAAW;AACnC,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA,cAAc,KAAK,gBAAgB;AACnC,cAAc,WAAW,UAAU;AACnC,cAAc,iBAAiB,IAAI;AACnC,cAAc,WAAW,UAAU;AACnC;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;ACvC0B;AACJ;AACf;AACI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,CAAC,CAAC;;AAEF,+CAAe,uDAAO;;AC9BgB;AACA;AACE;AACE;AACU;AACJ;AACN;AACQ;AACF;AACN;AACA;AACQ;AACV;AACY;AACJ;AACF;AACQ;AACJ;AACF;AACF;AACQ;AACN;AACJ;AACA;AACA;AACE;AACA;AACA;AACQ;AACE;AACA;AACN;AACQ;AACV;AACJ;AACU;AACE;AACJ;AACN;AACI;AACJ;AACE;AACN;AACY;AACJ;AACM;AACQ;AAChB;AACQ;AACR;AACJ;AACQ;AACU;AACJ;AACQ;AACZ;AACN;AACF;AACM;AACR;AACM;AACF;AACA;AACA;AACJ;AACU;AACF;AACU;AACZ;AACN;AACM;AACoB;AAChB;AACJ;AACI;AACd;AACE;AACA;AACI;AACI;AACN;AACU;AACF;AACJ;AACN;AACU;AACF;AACA;AACN;AACU;AACN;AACM;AACM;AACF;AACd;AACI;AACM;AACJ;AACV;AACU;AACJ;AACF;AACA;AACA;AACI;AACJ;AACc;AACV;AACJ;AACU;AACF;AACA;AACR;AACE;AACN;AACE;AACA;AACU;AACU;AACA;AAChB;AACI;AACR;AACI;AACF;AACI;AACU;AACN;AACU;AACE;AACF;AACM;AACd;AACE;AACF;AACM;AAClB;AACI;AACE;AACQ;AACR;AACJ;AACQ;AACR;AACkB;AACd;AACJ;AACF;AACA;AACM;AACV;AACQ;AACN;AACI;AACJ;AACI;AACJ;AACc;AACV;AACA;AACM;AACU;AACN;AACV;AACE;AACE;AACA;AACc;AAClB;AACM;AACF;AACJ;AACQ;AACN;AACI;AACA;AACA;AACF;AACJ;AACI;AACA;AACA;AACc;AAChB;AACA;AACE;AACI;AACM;AACA;AACR;AACF;AACA;AACA;AACE;AACA;AACN;AACQ;AACV;AACI;AACF;AACI;AACI;AACN;AACI;AACM;AACF;AACQ;AACN;AACJ;AACV;AACgC;AACQ;AACtC;AACA;AACQ;AACU;AACR;AACZ;AACE;AACM;AACJ;AACI;AACA;AACI;AACF;AACF;AACI;AACA;AACF;AACR;AACQ;AACR;AACM;AACJ;AACM;AACJ;AACF;AACQ;AACV;AACI;AACI;AACJ;AACA;AACF;AACE;AACA;AACE;AACF;AACI;AACR;AACA;AACE;AACM;AACF;AACA;AACR;AACI;AACJ;AACM;AACE;;;;ACnQlD,uDAAe;EACbkE,QAAQ,EAAE;IACRC,gBAAgB,EAAE,4BAAW;MAC3B,OAAO,KAAKC,MAAL,CAAYC,OAAZ,CAAoBF,gBAA3B;IACD;EAHO,CADG;EAObG,KAAK,EAAE;IACLH,gBAAgB,EAAE;MAChBI,OAAO,EAAE,iBAAUC,GAAV,EAA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A3FA;EA4FAvH;IACAwH;MACA;IACA,CAHA;IAIAC;MACA;MACA;MACA,8CACAC,6BADA,IAEAA,4BAFA,IAGAA,2BAHA,IAIAA,0BAJA,IAIA,CAJA;MAKA;IACA,CAbA;IAcAC;MACA;QACAC;QACAA;QACA,iDACA,mCADA,GACA,GADA,GACA,mCADA;MAEA;IACA,CArBA;IAsBAC;MACA;QACA;MACA,CAFA,MAEA;QACAD;QACA;MACA;IACA,CA7BA;IA8BA;IACAE;MACA;MACA;MACA;MACA;IACA,CApCA;IAqCAC;MACA;QACA;QACA;QACA;QACA;QACA;;QACA;UACA;UACA;UACA;QACA,CAJA,MAIA;UACA;UACA;UACA;QACA,CAdA,CAeA;;;QACA;QACA;QACA;;QACA;UACA;QACA;MACA,CAtBA,MAsBA;QACA;QACA;;QACA;;QACA;QACA;;QACA;;QACA;MACA;IACA,CArEA;IAsEAC;MACA;IACA,CAxEA;IAyEAC;MACA;MACA;MACA;IACA,CA7EA;IA8EAC;MACA;IACA,CAhFA;IAiFAC;MACA;IACA,CAnFA;IAoFA;IACA;IACAC,+CACA;;MACA;AACA;AACA;AACA;AACA;IACA,CA7FA;IA8FAC;MAAA;;MACA;QAAA;MAAA;MACA;MACA;;MACA;QACAtH;MACA;;MACA,kBACA/F,IADA,CACA;QACAkH;QACA;;QACA;MACA,CALA;IAMA,CA3GA;IA4GA;IACA;IACAoG;MACA;MACA;MACA;IACA,CAlHA;IAmHAC;MAAA;;MACA;QACA;;QACAb;QACAA;QACA;QACA,iGALA,CAMA;;QACAA;QACAA;QACAA;QACAA;QACAA,6FAXA,CAYA;;QACA;;QACA;UACAA;UACAA;UACAA;UACAA;UACAA;QACA;MACA,CArBA;IAsBA,CA1IA;IA2IAc;MAAA;;MACA;QACA;;QACAd;QACAA;QACAA;;QACA;UACA;UACA;UACAA;QACA;MACA,CAVA;IAWA,CAvJA;IAwJAe;MACA;MACAf;MACAA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACA;QACA;UACA;UACA;YACA;cACAgB;cACAC;cACA;YACA;UACA;;UACA;QACA;MACA;IACA,CAlLA;IAmLAC;MAAA;;MACA;QACAlB;QACAA;;QACA;UACA;YACA;YACA;YACA;;YACA;cACAmB;YACA;;YACA;YACAnB;UACA;QACA;MACA,CAfA;IAgBA,CApMA;;IAqMA;AACA;IACAoB;MACA;MACA;QAAAC;MAAA;MACA;MACA;MACA;MACA;MACA;MACAC;MACAA;MACAC,wBAVA,CAWA;;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA,YAjBA,CAkBA;;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA,YA3BA,CA4BA;;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;MACA;IACA;EA3OA;AA5FA;;ACpCqQ,CAAC,kFAAe,kCAAG,EAAC;;;;;;AEAzR;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGqG;AACvC;AACL;AACzD,CAA+F;;;AAG/F;AACmG;AACnG,gBAAgB,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,0DAAM;AACR,EAAE,mEAAe;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAAe;;ACnBf,IAAI,8DAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,uCAAuC,YAAY,OAAO,sBAAsB,+BAA+B,wBAAwB,yN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ANA;YAMA;YACAI,gBAPA;YAOA;YACAC,QARA;YAQA;YACA/K,aATA;YASA;YACAgL,iBAVA;YAUA;YACAC,iBAXA;YAWA;YACAC,WAZA;YAYA;YACAC,YAbA;YAaA;YACApL,eAdA;YAcA;YACAqL,YAfA;YAeA;YACAb,eAhBA;YAgBA;YACAc,aAjBA;YAiBA;YACAC,UAlBA;YAkBA;YACAC,gBAnBA;YAoBAC,gBApBA;YAqBAf;UArBA;UAwBAgB;QACA;;QAEAd;UAEA;UACA;YACA;UACA,CALA,CAOA;;;UACA;YACA;UACA,CAVA,CAYA;;;UACA;QACA,CAdA,EApDA,CAoEA;;QACA;UACAA;QACA;;QAEA;QACA;MAEA;;MAEA;MACA;MACA;MACA;MAEA;IAEA,CAvJA;IAwJAe;MAEA;QACA;QACA;MACA;;MAEA;IAEA,CAjKA;IAkKA;IACAC;MAEA;QACAC;MACA;;MACA;MACAC;;MAEA;QACAA;MACA,CAFA,MAEA;QACAA;MACA;;MACA;IACA,CAjLA;IAmLA;IACAC;MAEA;AACA;AACA;AACA;AACA;AACA;MACA;QACA;;QACA;UACA;UACAC;QACA,CAHA,MAGA;UACA;UACAA;QACA;;QACA;UACA;QACA;;QACA;;QACA;UACAA;QACA;;QACAA;QACA;MACA;;MAEA;;MAEA;QACA;MACA,CAFA,MAEA;QACA;MACA,CAFA,MAEA;QACA;;QACA;UACA;YACAF;UACA;;UACAA;QACA,CALA,MAKA;UACA;YACAA;UACA;;UACAA;QACA;;QACA;MACA;IACA,CArOA;IAsOA;IACAG;MAEA;MACA;QACA;MACA;;MAEA;MACA,uCARA,CAUA;;MACA;MACA;MACA,wBAbA,CAeA;;MACA;QACA;QACA;;QACA;UACAC;QACA;;QACAC;MACA,CAvBA,CAyBA;;;MACA;;MACA;QACA;QACA;QACAC;MACA,CA/BA,CAiCA;;;MACA;;MACA;QACA;QACA,2CAFA,CAGA;;QACA;UACAC;QACA,CAFA,MAEA;UACAC;QACA;MACA,CA5CA,CA8CA;MACA;;;MACAD;;MACA;QACA;QACAD;MACA,CApDA,CAsDA;;;MACA;QACA;QACA;QACA;;QACA;UACA;YACA/M,iBADA;YAEAkN,UAFA;YAGAC,qBAHA;YAIAC,oBAJA;YAKAC;UALA;QAQA;MACA,CArEA,CAuEA;MACA;MACA;;;MACA,0DA1EA,CA2EA;IACA,CAnTA;IAoTA;IACAC;MAEA;MAEA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAGA;MACA,wBAfA,CAiBA;;MACA;;MACA;QACA;QACAC;MACA;;MAEA;MACA,6BAzBA,CA2BA;;MACA;;MACA;QACA;QACAR;MACA,CAhCA,CAkCA;;;MACA;QACA;QACA;QACA;QACA,2CAJA,CAKA;;QACA;QACA;QACAS,yBARA,CAUA;QACA;;QACA;;QACA;UACAC;QACA;;QAEA;QACA;;QACA;UACAC;QACA,CArBA,CAuBA;;;QACA;;QACA;UACAC;QACA;;QAEA;;QACA;UACAC;QACA;;QACA;UACAC,4BADA,CAGA;;UACA;;UACA;YACAC;UACA;;UACA;YACA;AACA;AACA;YACA;YAEAC,gBANA,CAOA;;YACAN,0BARA,CAUA;;YACA;cACAD;YACA;;YAEA;YACAI;;YACA;cACAC;YACA;UAEA,CArBA,MAqBA;YACA;AACA;AACA;YAEA;YACA;cACAJ;;cACA;gBACA;kBACAM;kBACAH;;kBACA;oBACA;kBACA;gBACA;cACA;;cACA;YACA;;YAEA,6CApBA,CAuBA;;;YACA;;YACA;cAEA;cACA;gBACA;kBACA;kBACA;gBACA;cACA;;cAGA;gBACA;kBACA;;kBACAI;gBACA;cACA;;cACA;gBACA;kBACAzE,mBADA;kBAEAtJ,cAFA;kBAGAC,uBAHA;kBAIA+N,kBAJA;kBAKAC;gBALA;cAMA;YAGA,CA3BA,MA2BA;cACA;gBACA;kBACA;oBACA;;oBACAF;kBACA;gBACA;;gBACA;kBACA;oBACAzE,mBADA;oBAEAtJ,cAFA;oBAGAC,uBAHA;oBAIA+N,mBAJA;oBAKAC;kBALA;gBAMA;cACA;YACA;;YACAT;;YACA;cACA;gBACAM;gBACAH;;gBACA;kBACA;gBACA;cACA;YACA;UACA;QACA,CA/IA,CAiJA;;;QACAJ;MACA,CAtLA,CAwLA;;;MACA;QAEA;QACA;;QACA;UACA;YACAW;UACA;QACA;;QAEA;QACA;MACA,CArMA,CAuMA;;;MACA;QACA;UACA;UACA;QACA;MACA;IACA,CAngBA;IAogBA;IACAC;MAAA;;MACA;MACA;QAEA,iCAFA,CAGA;;QACA;UACA;;UACA;YACAC;UACA,CAFA,MAEA;YACAA;UACA,CAFA,MAEA;YACAA;UACA,CARA,CAUA;;;UACA;;UACA;YACAC;UACA;;UAEA;;UACA;YAEA;cACA;gBAAAtO;gBAAA5F;cAAA;YACA,CAFA;YAIA;cACAmU,uBADA;cAEAC,YAFA;cAGAC,2BAHA;cAIAC,uBAJA;cAKA3F,yBALA;cAMAmF,iCANA;cAOAS;YAPA;YASA;YACAC,iBAhBA,CAkBA;YACA;;YACA;YACA;;YACA;cACAC;YACA;;YAEA,0CACA;cAAAC;cACAC,uBADA;cAEAC,iBAFA;cAGAC,oBAHA;cAIAC;YAJA,CADA;UAOA,CAjCA,MAiCA;YACA5P;YACA;UACA;QACA;;QACA;MACA;;MACA;IACA,CArkBA;IAukBA6P;MACA7P;MAEAwL;MACA;MACA;MACA;;MACA;QACA;MACA;;MACA;QACA;MACA;;MACA;IACA,CArlBA;IAslBA;IACA;IAEAsE;MACA;;MACA;IACA,CA5lBA;IA6lBA;IACAC;MAEA;MACA;QAAA;UAAA5C;UAAA3X;QAAA;MAAA;MACAwa;QAAA;MAAA;MACA;QAAA;MAAA;MACA,6DANA,CAQA;MACA;;MACA;MACA;;MACA;QACA;QACA;;QACA;UACAC,qEADA,CAEA;;UACAC;QACA;;QACA;UACA;YACAC,oBADA;YAEA1R;cACA8N;YADA;UAFA;QAQA;MAEA;IACA,CA9nBA;IA+nBA;IACA6D;MACA;MACA,2CAFA,CAIA;;MACA;QACA;UACA;YACA;cAEA,wCAFA,CAIA;;cACA;cACA;cACA,wCAPA,CASA;;cACA;cACA;cACA;cACA;cACA,wBAdA,CAgBA;;cACA,8CAjBA,CAmBA;;cACA,wBApBA,CAsBA;;cACA;cAEA;;cAGA;gBAEAC;gBACAC;gBACAC;cACA;YACA;UACA;;UACA;;QAEA;UACA;UACA;;UAEA;YACAC;YACAA;;YACA;cACA;;cACA;gBACAA,uCACAC,oCADA,KACAA,0CADA;gBAEAD,wCACAC,sCADA,KACAA,0CADA;gBAEAA;cACA;YACA;UACA;;UAEA;YAEA,wCAFA,CAIA;;YACA;YACAC;YAEA;YACAA,4FATA,CAWA;YACA;YAEA;;YACA;YACA;YACA;YACA,yCAlBA,CAoBA;;YACA;YACA;YACA;YACA;YACA;YACA;YACA,0BA3BA,CA6BA;;YACA,2CA9BA,CAgCA;;YACA;;YACA;cACAC;YACA,CAFA,MAEA;cACAA;YACA;;YAEA;YACA;;YACA;cAEAN,kEAFA,CAGA;cACA;;cACAC;;cAEA;gBAEA;gBACA;kBACAC;gBACA,CAFA,MAEA;kBACAA;gBACA;cACA;YACA;UACA;;UACA;MAxHA;IA0HA,CA/vBA;IAgwBAK;MAAA;;MAAA;MACA;MACA;MACAC;MACAA;MAGA;MACA;MACArL,+DATA,CAWA;;MACAA;MACAqL,gDAbA,CAeA;;MACA;QACA;UACA;QACA;;QACA;MACA,CALA,EAKA,CALA;MAOA,iCAvBA,CAyBA;MACA;MAEA;;MACA;;MAEArL,WA/BA,CAgCA;;MACA;QACA;QACA;UAAA;YACA;YAEA,iDAHA,CAKA;;YACA;YACApE;cACA;YACA,CAFA;;YAIA;cACA;YACA,CAbA,CAeA;;;YACA;YACA;YACA;YACA;;YACA;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;cACA;cACA;cACAyP;YACA,CA/BA,CAiCA;;;YACA,+DAlCA,CAoCA;;;YACA;YACA;;YACA;cACAC;YACA,CAzCA,CA2CA;;;YACA;cACA;gBACAtL;gBACAA;cACA,CAHA,MAGA;gBACAA;gBACAA;cACA;YAEA,CATA,MASA;cACAA;cACAA;YACA,CAHA,MAGA;cACAA;YACA,CAFA,MAEA;cACAA;cACAA;YACA;;YAEA;YACA;YACA;;YAEA;cAEA;;cAEA;gBACA;cACA;;cAEA;cACA;cACA;cACA;cACA;cAEA;cACA;cAEAqL,wKAjBA,CAmBA;;cACA;gBACA;gBACA;kBAEA;oBACA;AACA;AACA;AACA;AACA;oBAEA;sBACAE;oBACA;;oBAEA;sBAEAvL,gBAFA,CAIA;;sBACA;wBAAA;wBACA;0BACAA;wBACA,CAFA,MAEA;0BACAA;wBACA;sBAEA,CAPA,MAOA;wBACAA;sBACA,CAdA,CAgBA;;;sBACA;wBACAA;sBACA;;sBACA;wBACAA;sBACA,CAtBA,CAwBA;;;sBACA;wBAAA;wBACA;0BACAA;wBACA;sBACA;;sBAEAA;sBACAA;oBACA,CAjCA,MAiCA;sBAEAA;;sBACA;wBAEAA;wBACAA;wBACAA;sBACA;;sBACAA;oBACA;kBAEA,CAxDA,MAwDA;oBACA;sBACAA;sBACAA;oBACA,CAHA,MAGA;sBACAA;oBACA;;oBACA;sBACAA;oBACA;;oBACA;sBACAA;oBACA;kBAEA;;kBACA;;gBACA;kBAEA;AACA;AACA;AACA;AACA;kBAEA;kBACAA;;kBACA;oBACAA;oBACAA;kBACA;;kBACAA;cA1FA;;cA+FAwL;gBACA3S,0BADA;gBAEA4S,0BAFA;gBAGAC;cAHA;YAMA,CA5LA,CA8LA;YACA;;UA/LA;;UAAA,yBAYA;QAoLA;MACA;;MACA1L,cArOA,CAsOA;IACA,CAv+BA;IAy+BA;IACA2L;MACA;;MACA;QACA,iBADA,CACA;;QACA;MACA,CAHA,MAGA;QACA;MACA;IAEA,CAn/BA;IAo/BA;IACA;IACAC;MACApR;MACA;MACA;MACA;MACA;;MACA;QAGA;;QACA;UACA;YACA;UACA;;UAEAqR;UACAC;UACAC;YAAAC;YAAAH;UAAA;QACA;MACA;;MACA;MACA;MACA;;MACA;QACA;MACA;IACA,CAhhCA;;IAihCA;AACA;AACA;AACA;AACA;AACA;IACAI;MAAA,eACA1I,MADA,EAEAC,MAAAA,CAAAA,OAAAA,cAFA,EAGAC,OAAAA,YAHA,EAIAC,SAAAA,CAAAA,OAAAA,cAJA,EAKAwC,IALA;IAAA,CAvhCA;IA8hCA;IACAgG;MACA;MAEA;QACA;QACA;QACA;MACA,CAJA;MAMA;MAEA;MACA;IACA,CA5iCA;IA6iCA;IACAC;MACA;QACA;MACA,CAFA,EAEA,CAFA;MAIA;MACA;IACA,CArjCA;IAsjCA;IACAC;MAEA;MACA;QACA;QACA;UAEA;UACA;UACApc;YACA;cACAyU;YACA;UACA,CAJA;;UAMA;YACA4H;cACA5H,kBADA;cAEAtJ,UAFA;cAGAC,uBAHA;cAIA+N,kBAJA;cAKAC;YALA;UAOA;QACA;MACA,CAtBA,EAsBA,IAtBA,EAHA,CA2BA;;MACA;MAEA;IACA,CAtlCA;IAylCA;IACA;IACAkD;MACA;MACA;QACA;MACA;;MAEA;MACA;MACA;MACA;MACA;IAEA,CAvmCA;IAwmCAC;MAAA;;MACA;QACA;UAAAC;UAAAvI;QAAA;;QACA;MACA,CAHA,MAGA;QACA;UAAA;QAAA;MACA;IACA,CA/mCA;IAgnCAwI;MACAjS;MACAwL;MACA;MACA;IACA,CArnCA;IAsnCA0G;MACAlS;IACA,CAxnCA;IAynCAmS;MACAnS;;MACA;QACA;;QACA;UACAoS;QACA;;QACA;UAAA;QAAA,EALA,CAMA;;QACA,gCAPA,CAQA;;QACA;UAAAJ;UAAAvI;QAAA;;QACA;;QACA;MACA;;MAEA;QACA;MACA;;MACA;;MAEA;QACA;MACA;;MAEA;IACA,CAnpCA;IAopCA4I;MAAA;;MACA;MACA;QACA;;QAEA;UACA5T;QACA,CAFA,CAEA;UACA;YAAAzF;UAAA;QACA;;QAEA;UACA;UACA;YAAA;YAAA;YAAA;YAAA;YAAA;YAAA;YAAA;YACA;YACA;cACA0H,MADA;cAEA5F,UAFA;cAGAgW,wBAHA;cAIA/P,WAJA;cAKA8K,UALA;cAMAyG,UANA;cAOA3R,YAPA;cAQAe,QARA;cASAqK;YATA,EAFA,CAaA;;YACA;cACAnK;YACA;;YACA;cAAAA;cAAA2Q;YAAA;UACA,CAlBA;UAoBA,mCACAzZ,IADA,CACA;YACA;;YACA;UACA,CAJA;QAKA,CA3BA,MA2BA;UACA;QACA,CAtCA,CAwCA;;;QACA;MACA,CA5CA,CA8CA;;;MACA;MACA0Z;MACAA;QACA,kEADA,CACA;;QACA;QAEA;QACA,wCALA,CAOA;;QACA;UAEA;UACA;UACA;UAEA;;UACA;YACAC;YACAA;YACAC;UACA;;UAEA;UACA;;UACA;YACAC;YACAC;UACA;;UAEA;YACAC,oBADA;YAEAC,WAFA;YAGAjH,UAHA;YAIAkH,kCAJA;YAKAC,4BALA;YAMAC,wBANA;YAOAC,0BAPA;YAQAC,6BARA;YASAC,QATA;YAUA3b,cAVA;YAWA4b,eAXA;YAYAC,sBAZA;YAaAX;UAbA;UAgBA;YACAK,4BADA;YAEAvU,UAFA;YAGAhH,cAHA;YAIA8b;UAJA;QAMA,CAlDA,CAoDA;;;QACA;UACA;UACA;YACA;UACA,CAJA,CAMA;;;UACA;;UACA;YACA;YACAC;UACA,CAHA,MAGA;YACA;YACAA;UACA;;UAEA;UACA;UAEA;UACA;UACA;;UACA;YACAF;YACA7Y;UACA;;UAEA;YACA;YACA;;YACA;cACA;cACA;cACA6Y;cACAA;cACAA;;cACA;gBACAG;gBACAC;cACA;;cACAhB;YAEA;UAEA,CAjBA,MAiBA;YACA;YACA;cACA;;cACAY;cACAA;;cACA;gBACAG;gBACAC;cACA;YACA;UACA;;UAEA;;UACA;YACA;;YACA;cACAC;YACA,CAFA,MAEA;cACAA;YACA;UACA;;UAEA;;UACA;;UACA;YACAhB;YACAC;UACA;;UAEA;YACAC,oBADA;YAEAC,0BAFA;YAGAjH,kBAHA;YAIAkH,kCAJA;YAKAC,4BALA;YAMAC,wBANA;YAOAC,gBAPA;YAQAC,0BARA;YASAC,oBATA;YAUA3b,yBAVA;YAWA4b,gBAXA;YAYAV,aAZA;YAaAW,sBAbA;YAcAM,kBAdA;YAeAF,gBAfA;YAgBAD,4BAhBA;YAiBA3Y,yBAjBA;YAkBAiG,0BAlBA;YAmBAgL;UAnBA;;UAsBA;YAEA;cACAiH,4BADA;cAEAvU,WAFA;cAGAhH,yBAHA;cAIA8b;YAJA;UAMA,CARA,MAQA;YACA;YACA;cACAP,4BADA;cAEAvU,WAFA;cAGA8U,6CAHA;cAIA9b;YAJA;UAOA;QACA;MACA,CAxKA;MA0KA+a;IACA,CAh3CA;IAi3CAqB;MAAA;;MACA;QACA;QACAC;UACA;YACA;UACA;QACA,CAJA;;QAKA;MACA,CARA,MAQA;QACA;UAAA;QAAA;MACA;IACA,CA73CA;IA83CAC;MAAA;IAAA,CA93CA;IA+3CAC;MACA;QACA;UACA;;QACA;UACA;;QACA;UACA;;QACA;UACA;;QACA;UACA;MAVA;IAYA,CA54CA;IA64CA;IACAC;MAEA;MACA;MACA;QACA;MACA,CANA,CAQA;;;MACA;;MACA;QACA;UACAC;UACA;QACA;MACA,CAfA,CAiBA;;;MACA;QAEA;QACA,cAHA,CAGA;;QACA;UAEA;UACA;UACA,oBAJA,CAKA;;UACA;;UACA;YACAC;;YACA;cACA,sEADA,CAGA;;cACA;gBACA;kBACAA;kBACA;gBACA;;gBACAC;cACA;YACA;UACA,CArBA,CAuBA;UACA;;;UACA,gEAzBA,CA0BA;UACA;;UACA;YAEA;YACAC;YAEA;;YACA;cACAC;cACAD;cACAA;YACA,CAJA,MAIA;cACAC;cACAD;YACA;;YAEA;cACA;;cADA,2CAEAA,8BAFA;cAAA;;cAAA;gBAEA;kBAAA;;kBACA;oBACAE;oBACA;kBACA;gBACA;cAPA;gBAAA;cAAA;gBAAA;cAAA;;cAQA;gBACA,+CADA,CAEA;cACA;YAEA;UAEA,CA1DA,CA4DA;;;UACA;YACAC,2BADA,CAGA;;YACAA;cACA;cACA;cACA;YACA,CAJA,EAJA,CAUA;;YACA;cACA;YACA;UACA;;UAEA;;QAEA;UACAxU;UACA;MArFA;IAwFA;EAx/CA;AAjSA;;AClCuQ,CAAC,oFAAe,oCAAG,EAAC;;;;;;AEApL;AACvC;AACL;AAC3D,CAAiG;;;AAGjG;AACmG;AACnG,IAAI,sBAAS,GAAG,kBAAU;AAC1B,EAAE,+CAAM;AACR,EAAE,4DAAM;AACR,EAAE,qEAAe;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAe,sBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACkExB;AACA;AACA;AACA;AACA;AACA;EACAlF,8BADA;EAEA2Z;IACAC,sBAAAA,YADA,CAEA;;EAFA,CAFA;EAMAvU,SACAD,OADA,EAEAyD,kBAFA,CANA;EAUAC;IACA+Q,oBADA;IAEAC,mBAFA;IAGAhU,gBAHA;IAIAD,aAJA;IAKAwI,eALA;IAMApF,cANA;IAOAsF,sBAPA;IAQArF,iBARA;IASA6Q,eATA;IAUAC,aAVA;IAWA7Q;EAXA,CAVA;EAuBA5G;IACAgD;MACA;IACA,CAHA;IAIAC;MACA;IACA,CANA;IAOAhD;MACA;IACA,CATA;IAUAiM;MACA;IACA,CAZA;IAaAwL;MACA;IACA,CAfA;IAgBAC;MACA;IACA,CAlBA;IAmBAC;MACA;QACA1Q,yBADA;QAEAC;MAFA;IAIA,CAxBA;IAyBA0Q;MACA;QACA3Q,yBADA;QAEAC;MAFA;IAIA,CA9BA;IA+BA2Q;MACA;QACA5Q,8BADA;QAEAC;MAFA;IAIA;EApCA,CAvBA;EA6DA/G;IACA0L;MACA;IACA,CAHA;IAIApF;MACA;IACA,CANA;IAOApD;MACA;IACA,CATA;IAUAC;MACA;MACA;MACA;IACA,CAdA;IAeAyI;MAAA;;MACA;QACA;MACA,CAFA;IAGA,CAnBA;IAoBAhJ;MAAA;;MACA;QACA;MACA,CAFA;IAGA,CAxBA;IAyBA4E;MAAA;;MACA;MACA;MACA;;MACA;QACA;UACAjF;UACA;UACA;UACA;;QACA;UACAA;UACA;UACA;;QACA;UACAA;UACA;UACA;;QACA;UACA;UACA;;QACA;UACA;;QACA;UACA;UACA;;QACA;UACA;UACA;;QACA;UACAA;UACA;UACA;UACA;MA7BA;;MA+BA;QACA;MACA,CAFA;IAGA;EA/DA,CA7DA;EA8HAvB;IACA;MACA2W,WADA;MAEAhM,WAFA;MAGAW,WAHA;MAIAsL,gBAJA;MAKAzQ,aALA;MAKA;MACAG,gBANA;MAOAuQ,oBAPA;MAQArQ,kBARA;MASAsQ,qBATA;MAUAC;QAAAnX;QAAA4S;MAAA,CAVA;MAWAwE,+FAXA;MAYAC;IAZA;EAcA,CA7IA;EA8IArQ;IACA;EACA,CAhJA;EAiJAvH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA6X;MACA;IACA,CAzBA;IA0BAC;MACA;IACA,CA5BA;IA6BAC;MACA;IACA,CA/BA;IAgCAC;MACA;IACA,CAlCA;IAmCAC;MACA5N;MACAA;;MACA;QACA;UACA;YACA;UACA,CAFA,MAEA;YACA;UACA;QACA;MACA,CARA,MAQA;QACA;UACA;YACA;UACA,CAFA,MAEA;YACA;UACA;QACA;MACA;IACA,CAvDA;IAwDArC;MACA;MACA;;MACA;QACA;UACA;UACA;UACA;UACA;UACA;YACA;cACA0L;YACA;;YACA,kEACAA,0DADA,EACA;cACAA;YACA;;YACA;UACA,CATA;UAUA;UACA;;QACA;UACA,oBADA,CAEA;;UACA;;QACA;UACA;;UACA;YACA;cACA/O;cACA;YACA;UACA,CAPA,CAQA;;;UACA;YACA;UACA;;UACA;UACA;UACA;UACA;UACA;YACA3H,QADA;YAEA4F,QAFA;YAGAK,2CAHA;YAIAC,eAJA;YAKAL,gBALA;YAMAC,kBANA;YAOAc,yBAPA;YAQAU,YARA;YASAC,UATA;YAUAhB,cAVA;YAWAI,4BAXA;YAYAX,wBAZA;YAaAG,8CAbA;YAcAsB;UAdA;UAgBA;UACA;UACA;;QACA;QACA,uBA1DA,CA2DA;;MA3DA;IA6DA,CAxHA;IAyHAyT;MACA;MACA;MACAxQ;IACA,CA7HA;IA8HAO;MACA;MACA;MACA;MACA,oCAJA,CAKA;MACA;MACA;MACA;MACA;MACA;MACA;IACA,CA1IA;IA2IAE;MACA;IACA,CA7IA;IA8IAD;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CApJA;IAqJAH;MACAsC;MACAA;;MACA;QACA;UACA;YACA;YACA;YACA;UACA,CAJA,MAIA,CACA;UACA;;UACA;;QACA;UACA;YACA;UACA,CAFA,MAEA,CACA;UACA;;UACA;;QACA;UACA;YACA;UACA,CAFA,MAEA;YACA;YACA;UACA,CAHA,MAGA,CACA;UACA;;UACA;MA1BA;IA4BA,CApLA;IAqLA8N;MACA;MACA;IACA,CAxLA;IAyLAC;MACA;MACA;;MACA;QACA;QACA;QACA;QACA;MACA;IACA,CAlMA;IAmMA5Q;MACA;IACA,CArMA;IAsMAwK;MAAA;;MACA;QACA;UAAA5E;QAAA;QACA;QACA;MACA;;MACA;IACA,CA7MA;IA8MA;IACA;IACA;IACA;IACA;IACAG;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;QACAC;QACAC;QACA3S;QACA;MACA,CALA;;MAMA;QACA;QACA;QACA;QACArC;QACA2G;;QACA;UACA;YACAsO;YACAD;UACA;;UACAD;UACA1S;UACA;QACA,CARA,MAQA;UACA2S;QACA;;QACA;MACA,CAlBA;IAmBA,CAnPA;IAoPA4K;MACA,oBADA,CAEA;IACA,CAvPA;IAwPAC;MAAA;;MACA;QACA;;QACA;;QACA,oCAHA,CAIA;QACA;;MACA,CANA;IAOA,CAhQA;IAiQA;IACAC;MACA;MACA;MACA7Q,+DAHA,CAIA;;MACAA;MACAA,aANA,CAOA;;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA,aAbA,CAcA;;MACA;MACAA;;MACA;QACAA;QACAA;QACAA;QACAA;QACA8Q;MACA,CAvBA,CAwBA;MACA;;;MACA;MACA;MACA;MACA,qBA7BA,CA8BA;;MACA,mEA/BA,CAgCA;;MACA;QACA;QACA;;QACA;UACA;QACA,CALA,CAMA;;;QACA;QACA;QACA;;QACA;UACA9Q;UACAA;UACAA;UACAA;UACAA;UACAA;UACAA;UACAA,cARA,CASA;;UACA;;UACA;YACAA;YACAA;YACAA;YACAA;YACAA;YACA;YACAA;YACAA;YACAA;YACA+Q;UACA;QACA;MACA;IACA,CAtUA;IAuUA;IACAC;MACA;MACA;MACAhR;MACAA;MACAA;MACAA;MACAA;MACAA;MACA;MACA;MACAA;MACAA;IACA,CArVA;IAsVAiR;MACA;MACA;MACA;MACA;MACAjR;MACAA;MACAA;MACAA;MACAA;MACA;;MACA;QACAA;QACAA;QACAA;QACAA;MACA,CALA,MAKA;QACAA;MACA;;MACAA;MACAA;MACAA;MACAA;MACAA;MACAA;IACA,CA/WA;IAgXA;IACAkR;MACA;MACA;MACAlR;MACA;MACA,oDALA,CAMA;;MACA;;MACA;QACA;UACA/C;UACA;QACA;MACA,CAbA,CAcA;;;MACA;QACA;MACA;;MACA+C;MACAA;MACAA,kBApBA,CAqBA;;MACA;MACA;MACA;MACA;;MACA;QACAA;QACAA;QACAA;QACAA;QACA;QACA;;QACA;UACAmR;UACAC;QACA;;QACApR;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;QACAA;MACA,CArBA,MAqBA;QACA;QACA;QACA;QACAA;QACAA;;QACA;;QACA;;QACA;UACAmR;UACAC;QACA;;QACA;UACA;;UACA;YACA;;YACA;cAAAC;YAAA;;YACA;cAAAC;YAAA;;YACAtR;UACA;QACA;;QACAA;QACAA;QACAA,2DACAuR,MADA,EACAD,wCADA;QAEAtR;QACAA;QACAA;QACAA;QACAA;QACAA;MACA;;MACAA;IACA,CAjcA;IAkcAD;MACA;MACA;MACA,8CACAC,6BADA,IAEAA,4BAFA,IAGAA,2BAHA,IAIAA,0BAJA,IAIA,CAJA;MAKA;IACA,CA3cA;IA4cAC;MACA,iDACA,mCADA,GACA,GADA,GACA,mCADA;IAEA,CA/cA;IAgdAuR;MACA;MACA;MACA;;MACA;QACA;UACAC;YAAA;UAAA;UACA;;QACA;UACA;UACA;UACAA;YAAA;YAAA;YAAA;UAAA;UACA;;QACA;UACAA;YAAA;YAAA;YAAA;UAAA;UACA;;QACA;UACAA;YAAA;YAAA;YAAA;UAAA;UACA;;QACA;UACA;UACA;UACAA;YAAA;YAAA;YAAA;UAAA;UACA;;QACA;UACA;MArBA;;MAuBA;;MACA;QACA;QACA;;QACA;UACAzF;QACA,CAFA,MAEA;UACAA;YACA/Z,wBADA;YAEAyf,cAFA;YAGAC,cAHA;YAIAC;UAJA;QAMA;;QACA;MACA;;MACA;MACA;IACA;EA7fA;AAjJA;;AC1FyQ,CAAC,sFAAe,sCAAG,EAAC;;;;;;AEApL;AACvC;AACL;AAC7D,CAAmG;;;A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AC;MACA;IACA,CAhEA;IAiEAC;MACA;IACA,CAnEA;IAoEAC;MACA;IACA,CAtEA;IAuEAC;MACA;IACA,CAzEA;IA0EAC;MACA;IACA,CA5EA;IA6EA/G;MACA;IACA,CA/EA;IAgFAgH;MAAA;;MACA,+BADA,CAEA;MACA;MACA;;MACA;QACA;MACA,CAFA;IAGA,CAxFA;IAyFAC;MACA;MACA,kDAFA,CAIA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA;IACA,CA7GA;IA8GAC;MACA;MACA,kDAFA,CAIA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MAEA;IACA,CAnIA;IAoIAC;MACA;MACA;IACA,CAvIA;IAwIAC;MACA;QACA;;QACA;UACAxL;QACA;;QACA;UACAA;QACA;;QACA;MACA,CATA;;MAUA;IACA,CApJA;IAqJAyL;MACA;QACA;UACAzL;QACA;;QACA;UACAA;QACA;;QACA;MACA,CARA;MASA;IACA,CAhKA;IAiKA0L;MACA;MACA;IACA,CApKA;IAqKAC;MACA;MACA;IACA,CAxKA;IAyKAtH;MACA;MACA;IACA,CA5KA;IA6KAuH;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CAnLA;IAoLA7b;MACA;MACA;MACA;;MACA;QACAmK;QACAhL,mBAAAA,OAAAA,YAFA,CAEA;MACA;;MACA;IACA,CA7LA;IA8LA2c,QA9LA,sBA8LA;MACA;QACA;MACA;;MACA;MACA;MACA;MACA;MACA;MACA;IACA,CAxMA;IAyMAC;MACA;MACA;IACA,CA5MA;IA6MAC;MACA;MACA;QACA;QACA;QACA;;QACA;UACA;YACA;UACA;;UACA;YACA;UACA;QACA;;QACA;MACA;IACA,CA7NA;IA8NAC;MACA;MACAC;;MACA;QACAA;MACA,CAFA,MAEA;QACAA,sBADA,CAEA;MACA;;MACA;IACA,CAxOA;IAyOAC;MACA;MACA;MACA;MACAC;;MACA;QACAA;QACAA;;QACA;UACA;YACAA;YACA;UACA;QACA;;QACA;UACA;YACAA;YACA;UACA;QACA;MACA,CAfA,MAeA;QACAA;QACAA;QACAA;QACAA;MACA;;MACA;IACA,CApQA;IAqQAC;MACA;IACA;EAvQA;AAlJA;;ACjImQ,CAAC,gFAAe,gCAAG,EAAC;;;;;;AEApL;AACvC;AACL;AACvD,CAA6F;;;AAG7F;AACmG;AACnG,IAAI,kBAAS,GAAG,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAAe,kBAAS;;;;;ACnBjB,IAAMC,oBAAoB,GAAGhpB,MAAM,CAACipB,MAAP,CAAc;EAChDC,UAAU,EAAE,WADoC;EAEhDC,UAAU,EAAE,YAFoC;EAGhDC,YAAY,EAAE,aAHkC;EAIhDC,WAAW,EAAE,aAJmC;EAKhDC,QAAQ,EAAE;AALsC,CAAd,CAA7B;AAOA,IAAMC,eAAe,GAAGvpB,MAAM,CAACipB,MAAP,CAAc;EAC3CO,GAAG,EAAE,KADsC;EAE3CC,gBAAgB,EAAE,iBAFyB;EAG3CC,eAAe,EAAE,gBAH0B;EAI3CC,OAAO,EAAE,SAJkC;EAK3CC,QAAQ,EAAE,UALiC;EAM3CC,OAAO,EAAE;AANkC,CAAd,CAAxB;;;;;;;;ACPP;AACA;AAEA,IAAME,KAAK,GAAG;EACZloB,KAAK,EAAE;IACLuL,SAAS,EAAE,EADN;IAEL4c,eAAe,EAAE,EAFZ;IAGL;IACAze,YAAY,EAAE,EAJT;IAKLG,mBAAmB,EAAE,KALhB;IAMLue,eAAe,EAAE;MACfC,WAAW,EAAE,CADE;MAEfC,OAAO,EAAE,CAFM;MAGfC,WAAW,EAAE,KAHE;MAIfC,aAAa,EAAE,CAJA;MAKfC,YAAY,EAAE,CALC;MAMfC,OAAO,EAAE,CANM;MAOfC,OAAO,EAAE;IAPM,CANZ;IAeLhf,cAAc,EAAE,EAfX;IAgBLC,iBAAiB,EAAE,EAhBd;IAiBLgf,qBAAqB,EAAE,EAjBlB;IAkBL9e,gBAAgB,EAAE,EAlBb;IAmBL+e,YAAY,EAAE,EAnBT;IAqBL;IACAC,mBAAmB,EAAE3B,+BAtBhB;IAuBLvgB,gBAAgB,EAAE8gB,mBAvBb;IAwBL9U,mBAAmB,EAAE;EAxBhB,CADK;EA4BZ9L,OAAO,EAAE;IACPiiB,sBAAsB,EAAE,gCAAA/oB,KAAK,EAAI;MAC/B,OAAOA,KAAK,CAAC2J,cAAN,CAAqBuM,MAArB,CAA4B,UAAA4E,OAAO,EAAI;QAC5C,OAAOA,OAAO,CAACnQ,QAAf;MACD,CAFM,CAAP;IAGD,CALM;IAMPhB,cAAc,EAAE,wBAAA3J,KAAK;MAAA,OAAIA,KAAK,CAAC2J,cAAV;IAAA,CANd;IAOPiJ,mBAAmB,EAAE,6BAAA5S,KAAK;MAAA,OAAIA,KAAK,CAAC4S,mBAAV;IAAA,CAPnB;IAQPlJ,YAAY,EAAE,sBAAA1J,KAAK;MAAA,OAAIA,KAAK,CAAC0J,YAAV;IAAA,CARZ;IASP9C,gBAAgB,EAAE,0BAAA5G,KAAK;MAAA,OAAIA,KAAK,CAAC4G,gBAAV;IAAA,CAThB;IAUPkD,gBAAgB,EAAE,0BAAA9J,KAAK;MAAA,OAAIA,KAAK,CAAC8J,gBAAV;IAAA,CAVhB;IAWPD,mBAAmB,EAAE,6BAAA7J,KAAK;MAAA,OAAIA,KAAK,CAAC6J,mBAAV;IAAA,CAXnB;IAYPD,iBAAiB,EAAE,2BAAA5J,KAAK;MAAA,OAAIA,KAAK,CAAC4J,iBAAV;IAAA,CAZjB;IAaP2B,SAAS,EAAE,mBAAAvL,KAAK;MAAA,OAAIA,KAAK,CAACuL,SAAV;IAAA;EAbT,CA5BG;EA4CZyd,SAAS,EAAE;IACT;IACAC,WAFS,uBAEGjpB,KAFH,EAEU;MACjB;MACA,IAAMkpB,aAAa,GAAGC,YAAY,EAAlC,CAFiB,CAGjB;;;MACAhrB,MAAM,CAACyG,IAAP,CAAYskB,aAAZ,EAA2BtnB,OAA3B,CAAmC,UAAA/C,GAAG;QAAA,OAAImB,KAAK,CAACnB,GAAD,CAAL,GAAaqqB,aAAa,CAACrqB,GAAD,CAA9B;MAAA,CAAtC;IACD,CAPQ;IAQTuqB,WARS,uBAQGppB,KARH,EAQUqpB,MARV,EAQkB;MACzBrpB,KAAK,CAAC0J,YAAN,GAAqB2f,MAArB;IACD,CAVQ;IAWTC,cAXS,0BAWMtpB,KAXN,EAWaupB,SAXb,EAWwB;MAC/BvpB,KAAK,CAAC6J,mBAAN,GAA4B0f,SAAS,CAACC,IAAtC;MACAxpB,KAAK,CAAC8oB,mBAAN,GAA4BS,SAAS,CAACE,IAAtC;IACD,CAdQ;IAeTC,eAfS,2BAeO1pB,KAfP,EAec2pB,IAfd,EAeoB;MAC3B3pB,KAAK,CAAC4G,gBAAN,GAAyB+iB,IAAzB;IACD,CAjBQ;IAkBTC,wBAlBS,oCAkBiB5pB,KAlBjB,EAkBwB6pB,YAlBxB,EAkBsC;MAC7C7pB,KAAK,CAACooB,eAAN,GAAwByB,YAAxB;IACD,CApBQ;IAqBTC,YArBS,wBAqBK9pB,KArBL,EAqBYuT,QArBZ,EAqBsB;MAC7BvT,KAAK,CAAC2J,cAAN,GAAuB4J,QAAvB;IACD,CAvBQ;IAwBTwW,mBAxBS,+BAwBa/pB,KAxBb,EAwBoB+H,IAxBpB,EAwB0B;MACjC,IAAIA,IAAI,CAAC0R,SAAT,EAAoB;QAClB,IAAMuQ,YAAY,GAAG5X,YAAS,CAACF,SAAM,CAAC,IAAD,EAAOnK,IAAI,CAAC0R,SAAZ,CAAP,EAA+BzZ,KAAK,CAAC2J,cAArC,CAA9B;;QACA,KAAK,IAAIqF,CAAT,IAAcjH,IAAI,CAACA,IAAnB,EAAyB;UACvB/H,KAAK,CAAC2J,cAAN,CAAqBqgB,YAArB,EAAmChb,CAAnC,IAAwCjH,IAAI,CAACA,IAAL,CAAUiH,CAAV,CAAxC;QACD;MACF;IACF,CA/BQ;IAgCTib,2BAhCS,uCAgCoBjqB,KAhCpB,EAgC2B+H,IAhC3B,EAgCiC;MACxC/H,KAAK,CAAC4oB,qBAAN,GAA8B7gB,IAA9B;MACA/H,KAAK,CAAC4J,iBAAN,CAAwBhI,OAAxB,CAAgC,UAAA6U,KAAK;QAAA,OAAIA,KAAK,CAAC9L,QAAN,GAAiB,KAArB;MAAA,CAArC;MACA,IAAMuf,UAAU,GAAG9X,YAAS,CAACF,SAAM,CAAC,IAAD,EAAOnK,IAAP,CAAP,EAAqB/H,KAAK,CAAC4J,iBAA3B,CAA5B;MACA5J,KAAK,CAAC4J,iBAAN,CAAwBsgB,UAAxB,EAAoCvf,QAApC,GAA+C,IAA/C;IAED,CAtCQ;IAuCTwf,qBAvCS,iCAuCcnqB,KAvCd,EAuCqB+H,IAvCrB,EAuC2B;MAClC/H,KAAK,CAAC4J,iBAAN,CAAwBhI,OAAxB,CAAiC,UAAA6U,KAAK;QAAA,OACpCA,KAAK,CAACvK,WAAN,CAAkBtK,OAAlB,CAA0B,UAAAwoB,GAAG;UAAA,OAC3BA,GAAG,CAACzf,QAAJ,GAAe,KADY;QAAA,CAA7B,CADoC;MAAA,CAAtC;;MAKA,IAAI5C,IAAI,CAACiC,EAAT,EAAa;QACX,IAAMkgB,UAAU,GAAG9X,YAAS,CAACF,SAAM,CAAC,IAAD,EAAOnK,IAAI,CAACwC,QAAZ,CAAP,EAA8BvK,KAAK,CAAC4J,iBAApC,CAA5B;QACA,IAAMkG,eAAe,GAAGsC,YAAS,CAACF,SAAM,CAAC,IAAD,EAAOnK,IAAI,CAACiC,EAAZ,CAAP,EAAwBhK,KAAK,CAAC4J,iBAAN,CAAwBsgB,UAAxB,EAAoChe,WAA5D,CAAjC;QACAlM,KAAK,CAAC4J,iBAAN,CAAwBsgB,UAAxB,EAAoChe,WAApC,CAAgD4D,eAAhD,EAAiEnF,QAAjE,GAA4E,IAA5E;MACD;;MACD3K,KAAK,CAAC8J,gBAAN,GAAyB/B,IAAzB;IACD,CAnDQ;IAoDTsiB,eApDS,2BAoDQrqB,KApDR,EAoDe+H,IApDf,EAoDqB;MAC5B/H,KAAK,CAAC4J,iBAAN,GAA0B7B,IAA1B;IACD,CAtDQ;IAuDTuiB,eAvDS,2BAuDQtqB,KAvDR,QAuD0C;MAAA,IAAzBuqB,WAAyB,QAAzBA,WAAyB;MAAA,IAAZC,QAAY,QAAZA,QAAY;MACjDxqB,KAAK,CAACyqB,iBAAN,GAA0B;QACxBF,WAAW,EAAXA,WADwB;QAExBC,QAAQ,EAARA;MAFwB,CAA1B;IAID,CA5DQ;IA6DTE,iBA7DS,6BA6DU1qB,KA7DV,EA6DiB+H,IA7DjB,EA6DuB;MAC9B/H,KAAK,CAAC6oB,YAAN,GAAqB9gB,IAArB;IACD,CA/DQ;IAgET4iB,yBAhES,qCAgEkB3qB,KAhElB,EAgEyB+H,IAhEzB,EAgE+B;MACtC/H,KAAK,CAAC4S,mBAAN,GAA4B7K,IAA5B;IACD,CAlEQ;IAmET6iB,iBAnES,6BAmES5qB,KAnET,EAmEgB+H,IAnEhB,EAmEsB;MAC7B/H,KAAK,CAACuL,SAAN,GAAkBxD,IAAlB;IACD,CArEQ;IAsET;IACA8iB,cAvES,0BAuEM7qB,KAvEN,EAuEa+H,IAvEb,EAuEmB;MAC1B/H,KAAK,CAACmoB,eAAN,GAAwBpgB,IAAxB;IACD;EAzEQ,CA5CC;EAwHZ+iB,OAAO,EAAE;IACPC,UAAU,EAAE,2BAAaC,GAAb;MAAA,IAAGC,MAAH,SAAGA,MAAH;MAAA,OACVA,MAAM,CAAC,aAAD,EAAgBD,GAAhB,CADI;IAAA,CADL;IAGPE,YAAY,EAAE,6BAAaF,GAAb;MAAA,IAAGC,MAAH,SAAGA,MAAH;MAAA,OACZA,MAAM,CAAC,gBAAD,EAAmBD,GAAnB,CADM;IAAA,CAHP;IAKP9jB,aAAa,EAAE,8BAAa8jB,GAAb;MAAA,IAAGC,MAAH,SAAGA,MAAH;MAAA,OACbA,MAAM,CAAC,iBAAD,EAAoBD,GAApB,CADO;IAAA,CALR;IAOPG,WAAW,EAAE,4BAAaH,GAAb,EAAqB;MAAA,IAAlBC,MAAkB,SAAlBA,MAAkB;MAChCA,MAAM,CAAC,cAAD,EAAiBD,GAAjB,CAAN;IAA4B,CARvB;IASPI,iBAAiB,EAAE,kCAAWrjB,IAAX,EAAoB;MAAA,IAAlBkjB,MAAkB,SAAlBA,MAAkB;MACrCA,MAAM,CAAC,qBAAD,EAAwBljB,IAAxB,CAAN;IAAoC,CAV/B;IAWPsjB,wBAAwB,EAAE,yCAAaL,GAAb;MAAA,IAAGC,MAAH,SAAGA,MAAH;MAAA,OACxBA,MAAM,CAAC,6BAAD,EAAgCD,GAAhC,CADkB;IAAA,CAXnB;IAaPM,cAAc,EAAE,+BAAapf,WAAb;MAAA,IAAG+e,MAAH,SAAGA,MAAH;MAAA,OACdA,MAAM,CAAC,iBAAD,EAAoB/e,WAApB,CADQ;IAAA,CAbT;IAePqf,mBAAmB,EAAE,oCAAaxjB,IAAb;MAAA,IAAGkjB,MAAH,SAAGA,MAAH;MAAA,OACnBA,MAAM,CAAC,uBAAD,EAA2BljB,IAA3B,CADa;IAAA,CAfd;IAiBPyjB,qBAAqB,EAAE,uCAAaR,GAAb,EAAqB;MAAA,IAAlBC,MAAkB,UAAlBA,MAAkB;MAC1C,IAAMpB,YAAY,GAAG5B,YAAS,CAAC,KAAI,CAACjoB,KAAL,CAAWooB,eAAZ,EAA6B4C,GAA7B,CAA9B;MACAC,MAAM,CAAC,0BAAD,EAA6BpB,YAA7B,CAAN;IACD,CApBM;IAqBP4B,cAAc,EAAE,gCAAWC,cAAX,EAA8B;MAAA,IAA5BT,MAA4B,UAA5BA,MAA4B;MAC5C,IAAMV,WAAW,GAAG9iB,SAAM,CAAC,EAAD,EAAK,aAAL,EAAoBikB,cAApB,CAA1B;MACA,IAAMlB,QAAQ,GAAG/iB,SAAM,CAAC,EAAD,EAAK,UAAL,EAAiBikB,cAAjB,CAAvB;MACAT,MAAM,CAAC,iBAAD,EAAoB;QAAEV,WAAW,EAAXA,WAAF;QAAeC,QAAQ,EAARA;MAAf,CAApB,CAAN;IACD,CAzBM;IA0BPmB,eAAe,EAAE,iCAAaX,GAAb;MAAA,IAAGC,MAAH,UAAGA,MAAH;MAAA,OACfA,MAAM,CAAC,mBAAD,EAAsBD,GAAtB,CADS;IAAA,CA1BV;IA4BPY,sBAAsB,EAAE,wCAAWZ,GAAX;MAAA,IAAEC,MAAF,UAAEA,MAAF;MAAA,OACtBA,MAAM,CAAC,2BAAD,EAA8BD,GAA9B,CADgB;IAAA,CA5BjB;IA8BPa,kBAAkB,EAAE,oCAAWb,GAAX;MAAA,IAAEC,MAAF,UAAEA,MAAF;MAAA,OAAmBA,MAAM,CAAC,gBAAD,EAAmBD,GAAnB,CAAzB;IAAA,CA9Bb;IA+BPc,eAAe,EAAE,iCAAWd,GAAX;MAAA,IAAEC,MAAF,UAAEA,MAAF;MAAA,OACfA,MAAM,CAAC,mBAAD,EAAsBD,GAAtB,CADS;IAAA;EA/BV;AAxHG,CAAd;;AA4JA,IAAM7B,YAAY,GAAG,SAAfA,YAAe;EAAA,OAAO;IAC1Bzf,YAAY,EAAE,EADY;IAE1BG,mBAAmB,EAAE,KAFK;IAG1Bue,eAAe,EAAE;MACfC,WAAW,EAAE,CADE;MAEfC,OAAO,EAAE,CAFM;MAGfC,WAAW,EAAE,KAHE;MAIfC,aAAa,EAAE,CAJA;MAKfC,YAAY,EAAE,CALC;MAMfC,OAAO,EAAE,CANM;MAOfC,OAAO,EAAE;IAPM,CAHS;IAY1Bhf,cAAc,EAAE,EAZU;IAa1BC,iBAAiB,EAAE,EAbO;IAc1Bgf,qBAAqB,EAAE,EAdG;IAe1B9e,gBAAgB,EAAE,EAfQ;IAgB1B+e,YAAY,EAAE,EAhBY;IAkB1B;IACAC,mBAAmB,EAAE3B,+BAnBK;IAoB1BvgB,gBAAgB,EAAE8gB,mBApBQ;IAqB1B9U,mBAAmB,EAAE;EArBK,CAAP;AAAA,CAArB;;AAwBA,8CAAesV,KAAf;;;ACvLA;AACA;AACA,+CAAe;EACb8D,OADa,mBACJC,GADI,EACCC,OADD,EACU;IACrB,IAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAAChE,KAAzB,EAAgC;MAC9B,MAAM,IAAI/nB,KAAJ,CAAU,6CAAV,CAAN;IACD;;IAED+rB,OAAO,CAAChE,KAAR,CAAciE,cAAd,CAA6B,UAA7B,EAAyCjE,SAAzC;IAEA+D,GAAG,CAACG,SAAJ,CAAc,WAAd,EAA2BL,QAA3B;EACD;AATY,CAAf;;ACFwB;AACA;AACxB,8CAAe,UAAG;AACI","sources":["webpack://tsviewer/webpack/universalModuleDefinition","webpack://tsviewer/./node_modules/@protobufjs/aspromise/index.js","webpack://tsviewer/./node_modules/@protobufjs/base64/index.js","webpack://tsviewer/./node_modules/@protobufjs/codegen/index.js","webpack://tsviewer/./node_modules/@protobufjs/eventemitter/index.js","webpack://tsviewer/./node_modules/@protobufjs/fetch/index.js","webpack://tsviewer/./node_modules/@protobufjs/float/index.js","webpack://tsviewer/./node_modules/@protobufjs/inquire/index.js","webpack://tsviewer/./node_modules/@protobufjs/path/index.js","webpack://tsviewer/./node_modules/@protobufjs/pool/index.js","webpack://tsviewer/./node_modules/@protobufjs/utf8/index.js","webpack://tsviewer/./node_modules/@soda/get-current-script/index.js","webpack://tsviewer/./node_modules/core-js/internals/a-callable.js","webpack://tsviewer/./node_modules/core-js/internals/a-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/a-possible-prototype.js","webpack://tsviewer/./node_modules/core-js/internals/add-to-unscopables.js","webpack://tsviewer/./node_modules/core-js/internals/advance-string-index.js","webpack://tsviewer/./node_modules/core-js/internals/an-instance.js","webpack://tsviewer/./node_modules/core-js/internals/an-object.js","webpack://tsviewer/./node_modules/core-js/internals/array-buffer-native.js","webpack://tsviewer/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://tsviewer/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://tsviewer/./node_modules/core-js/internals/array-buffer.js","webpack://tsviewer/./node_modules/core-js/internals/array-copy-within.js","webpack://tsviewer/./node_modules/core-js/internals/array-fill.js","webpack://tsviewer/./node_modules/core-js/internals/array-for-each.js","webpack://tsviewer/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://tsviewer/./node_modules/core-js/internals/array-from.js","webpack://tsviewer/./node_modules/core-js/internals/array-includes.js","webpack://tsviewer/./node_modules/core-js/internals/array-iteration.js","webpack://tsviewer/./node_modules/core-js/internals/array-last-index-of.js","webpack://tsviewer/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://tsviewer/./node_modules/core-js/internals/array-method-is-strict.js","webpack://tsviewer/./node_modules/core-js/internals/array-reduce.js","webpack://tsviewer/./node_modules/core-js/internals/array-slice-simple.js","webpack://tsviewer/./node_modules/core-js/internals/array-slice.js","webpack://tsviewer/./node_modules/core-js/internals/array-sort.js","webpack://tsviewer/./node_modules/core-js/internals/array-species-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/array-species-create.js","webpack://tsviewer/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://tsviewer/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://tsviewer/./node_modules/core-js/internals/classof-raw.js","webpack://tsviewer/./node_modules/core-js/internals/classof.js","webpack://tsviewer/./node_modules/core-js/internals/clear-error-stack.js","webpack://tsviewer/./node_modules/core-js/internals/collection-strong.js","webpack://tsviewer/./node_modules/core-js/internals/collection.js","webpack://tsviewer/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://tsviewer/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://tsviewer/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://tsviewer/./node_modules/core-js/internals/create-property-descriptor.js","webpack://tsviewer/./node_modules/core-js/internals/create-property.js","webpack://tsviewer/./node_modules/core-js/internals/define-built-in.js","webpack://tsviewer/./node_modules/core-js/internals/define-built-ins.js","webpack://tsviewer/./node_modules/core-js/internals/define-global-property.js","webpack://tsviewer/./node_modules/core-js/internals/define-iterator.js","webpack://tsviewer/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://tsviewer/./node_modules/core-js/internals/descriptors.js","webpack://tsviewer/./node_modules/core-js/internals/document-create-element.js","webpack://tsviewer/./node_modules/core-js/internals/dom-iterables.js","webpack://tsviewer/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://tsviewer/./node_modules/core-js/internals/engine-ff-version.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-browser.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-ios.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-node.js","webpack://tsviewer/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://tsviewer/./node_modules/core-js/internals/engine-user-agent.js","webpack://tsviewer/./node_modules/core-js/internals/engine-v8-version.js","webpack://tsviewer/./node_modules/core-js/internals/engine-webkit-version.js","webpack://tsviewer/./node_modules/core-js/internals/enum-bug-keys.js","webpack://tsviewer/./node_modules/core-js/internals/error-stack-installable.js","webpack://tsviewer/./node_modules/core-js/internals/export.js","webpack://tsviewer/./node_modules/core-js/internals/fails.js","webpack://tsviewer/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://tsviewer/./node_modules/core-js/internals/freezing.js","webpack://tsviewer/./node_modules/core-js/internals/function-apply.js","webpack://tsviewer/./node_modules/core-js/internals/function-bind-context.js","webpack://tsviewer/./node_modules/core-js/internals/function-bind-native.js","webpack://tsviewer/./node_modules/core-js/internals/function-call.js","webpack://tsviewer/./node_modules/core-js/internals/function-name.js","webpack://tsviewer/./node_modules/core-js/internals/function-uncurry-this.js","webpack://tsviewer/./node_modules/core-js/internals/get-built-in.js","webpack://tsviewer/./node_modules/core-js/internals/get-iterator-method.js","webpack://tsviewer/./node_modules/core-js/internals/get-iterator.js","webpack://tsviewer/./node_modules/core-js/internals/get-method.js","webpack://tsviewer/./node_modules/core-js/internals/global.js","webpack://tsviewer/./node_modules/core-js/internals/has-own-property.js","webpack://tsviewer/./node_modules/core-js/internals/hidden-keys.js","webpack://tsviewer/./node_modules/core-js/internals/host-report-errors.js","webpack://tsviewer/./node_modules/core-js/internals/html.js","webpack://tsviewer/./node_modules/core-js/internals/ie8-dom-define.js","webpack://tsviewer/./node_modules/core-js/internals/ieee754.js","webpack://tsviewer/./node_modules/core-js/internals/indexed-object.js","webpack://tsviewer/./node_modules/core-js/internals/inherit-if-required.js","webpack://tsviewer/./node_modules/core-js/internals/inspect-source.js","webpack://tsviewer/./node_modules/core-js/internals/install-error-cause.js","webpack://tsviewer/./node_modules/core-js/internals/internal-metadata.js","webpack://tsviewer/./node_modules/core-js/internals/internal-state.js","webpack://tsviewer/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://tsviewer/./node_modules/core-js/internals/is-array.js","webpack://tsviewer/./node_modules/core-js/internals/is-callable.js","webpack://tsviewer/./node_modules/core-js/internals/is-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/is-forced.js","webpack://tsviewer/./node_modules/core-js/internals/is-integral-number.js","webpack://tsviewer/./node_modules/core-js/internals/is-object.js","webpack://tsviewer/./node_modules/core-js/internals/is-pure.js","webpack://tsviewer/./node_modules/core-js/internals/is-regexp.js","webpack://tsviewer/./node_modules/core-js/internals/is-symbol.js","webpack://tsviewer/./node_modules/core-js/internals/iterate.js","webpack://tsviewer/./node_modules/core-js/internals/iterator-close.js","webpack://tsviewer/./node_modules/core-js/internals/iterators-core.js","webpack://tsviewer/./node_modules/core-js/internals/iterators.js","webpack://tsviewer/./node_modules/core-js/internals/length-of-array-like.js","webpack://tsviewer/./node_modules/core-js/internals/make-built-in.js","webpack://tsviewer/./node_modules/core-js/internals/math-trunc.js","webpack://tsviewer/./node_modules/core-js/internals/microtask.js","webpack://tsviewer/./node_modules/core-js/internals/native-symbol-registry.js","webpack://tsviewer/./node_modules/core-js/internals/native-symbol.js","webpack://tsviewer/./node_modules/core-js/internals/native-weak-map.js","webpack://tsviewer/./node_modules/core-js/internals/new-promise-capability.js","webpack://tsviewer/./node_modules/core-js/internals/normalize-string-argument.js","webpack://tsviewer/./node_modules/core-js/internals/object-create.js","webpack://tsviewer/./node_modules/core-js/internals/object-define-properties.js","webpack://tsviewer/./node_modules/core-js/internals/object-define-property.js","webpack://tsviewer/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://tsviewer/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://tsviewer/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://tsviewer/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://tsviewer/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://tsviewer/./node_modules/core-js/internals/object-is-extensible.js","webpack://tsviewer/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://tsviewer/./node_modules/core-js/internals/object-keys-internal.js","webpack://tsviewer/./node_modules/core-js/internals/object-keys.js","webpack://tsviewer/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://tsviewer/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://tsviewer/./node_modules/core-js/internals/object-to-string.js","webpack://tsviewer/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://tsviewer/./node_modules/core-js/internals/own-keys.js","webpack://tsviewer/./node_modules/core-js/internals/path.js","webpack://tsviewer/./node_modules/core-js/internals/perform.js","webpack://tsviewer/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://tsviewer/./node_modules/core-js/internals/promise-native-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/promise-resolve.js","webpack://tsviewer/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://tsviewer/./node_modules/core-js/internals/proxy-accessor.js","webpack://tsviewer/./node_modules/core-js/internals/queue.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-exec.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-flags.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://tsviewer/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://tsviewer/./node_modules/core-js/internals/require-object-coercible.js","webpack://tsviewer/./node_modules/core-js/internals/set-species.js","webpack://tsviewer/./node_modules/core-js/internals/set-to-string-tag.js","webpack://tsviewer/./node_modules/core-js/internals/shared-key.js","webpack://tsviewer/./node_modules/core-js/internals/shared-store.js","webpack://tsviewer/./node_modules/core-js/internals/shared.js","webpack://tsviewer/./node_modules/core-js/internals/species-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/string-multibyte.js","webpack://tsviewer/./node_modules/core-js/internals/string-repeat.js","webpack://tsviewer/./node_modules/core-js/internals/string-trim-forced.js","webpack://tsviewer/./node_modules/core-js/internals/string-trim.js","webpack://tsviewer/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://tsviewer/./node_modules/core-js/internals/task.js","webpack://tsviewer/./node_modules/core-js/internals/this-number-value.js","webpack://tsviewer/./node_modules/core-js/internals/to-absolute-index.js","webpack://tsviewer/./node_modules/core-js/internals/to-index.js","webpack://tsviewer/./node_modules/core-js/internals/to-indexed-object.js","webpack://tsviewer/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://tsviewer/./node_modules/core-js/internals/to-length.js","webpack://tsviewer/./node_modules/core-js/internals/to-object.js","webpack://tsviewer/./node_modules/core-js/internals/to-offset.js","webpack://tsviewer/./node_modules/core-js/internals/to-positive-integer.js","webpack://tsviewer/./node_modules/core-js/internals/to-primitive.js","webpack://tsviewer/./node_modules/core-js/internals/to-property-key.js","webpack://tsviewer/./node_modules/core-js/internals/to-string-tag-support.js","webpack://tsviewer/./node_modules/core-js/internals/to-string.js","webpack://tsviewer/./node_modules/core-js/internals/try-to-string.js","webpack://tsviewer/./node_modules/core-js/internals/typed-array-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://tsviewer/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://tsviewer/./node_modules/core-js/internals/typed-array-from.js","webpack://tsviewer/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://tsviewer/./node_modules/core-js/internals/uid.js","webpack://tsviewer/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://tsviewer/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://tsviewer/./node_modules/core-js/internals/validate-arguments-length.js","webpack://tsviewer/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://tsviewer/./node_modules/core-js/internals/well-known-symbol.js","webpack://tsviewer/./node_modules/core-js/internals/whitespaces.js","webpack://tsviewer/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.concat.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.fill.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.filter.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.find.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.from.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.includes.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.iterator.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.map.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.slice.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.sort.js","webpack://tsviewer/./node_modules/core-js/modules/es.array.splice.js","webpack://tsviewer/./node_modules/core-js/modules/es.error.cause.js","webpack://tsviewer/./node_modules/core-js/modules/es.function.name.js","webpack://tsviewer/./node_modules/core-js/modules/es.json.stringify.js","webpack://tsviewer/./node_modules/core-js/modules/es.json.to-string-tag.js","webpack://tsviewer/./node_modules/core-js/modules/es.map.constructor.js","webpack://tsviewer/./node_modules/core-js/modules/es.map.js","webpack://tsviewer/./node_modules/core-js/modules/es.math.to-string-tag.js","webpack://tsviewer/./node_modules/core-js/modules/es.number.constructor.js","webpack://tsviewer/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://tsviewer/./node_modules/core-js/modules/es.object.freeze.js","webpack://tsviewer/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://tsviewer/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://tsviewer/./node_modules/core-js/modules/es.object.keys.js","webpack://tsviewer/./node_modules/core-js/modules/es.object.to-string.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.all.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.catch.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.constructor.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.race.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.reject.js","webpack://tsviewer/./node_modules/core-js/modules/es.promise.resolve.js","webpack://tsviewer/./node_modules/core-js/modules/es.regexp.exec.js","webpack://tsviewer/./node_modules/core-js/modules/es.regexp.test.js","webpack://tsviewer/./node_modules/core-js/modules/es.string.iterator.js","webpack://tsviewer/./node_modules/core-js/modules/es.string.split.js","webpack://tsviewer/./node_modules/core-js/modules/es.string.trim.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.description.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.for.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://tsviewer/./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.at.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.every.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.find.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.float64-array.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.join.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.map.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.set.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.some.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://tsviewer/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://tsviewer/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://tsviewer/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://tsviewer/./src/components/TSPlotCanvas.vue?93cf","webpack://tsviewer/./src/components/TSScrubber.vue?b3c7","webpack://tsviewer/./src/components/TSViewer.vue?4b13","webpack://tsviewer/./src/components/TSViewerCanvas.vue?e240","webpack://tsviewer/./src/components/TSViewerToolbar.vue?15f2","webpack://tsviewer/./node_modules/css-loader/dist/runtime/api.js","webpack://tsviewer/./node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://tsviewer/./node_modules/protobufjs/index.js","webpack://tsviewer/./node_modules/protobufjs/src/common.js","webpack://tsviewer/./node_modules/protobufjs/src/converter.js","webpack://tsviewer/./node_modules/protobufjs/src/decoder.js","webpack://tsviewer/./node_modules/protobufjs/src/encoder.js","webpack://tsviewer/./node_modules/protobufjs/src/enum.js","webpack://tsviewer/./node_modules/protobufjs/src/field.js","webpack://tsviewer/./node_modules/protobufjs/src/index-light.js","webpack://tsviewer/./node_modules/protobufjs/src/index-minimal.js","webpack://tsviewer/./node_modules/protobufjs/src/index.js","webpack://tsviewer/./node_modules/protobufjs/src/mapfield.js","webpack://tsviewer/./node_modules/protobufjs/src/message.js","webpack://tsviewer/./node_modules/protobufjs/src/method.js","webpack://tsviewer/./node_modules/protobufjs/src/namespace.js","webpack://tsviewer/./node_modules/protobufjs/src/object.js","webpack://tsviewer/./node_modules/protobufjs/src/oneof.js","webpack://tsviewer/./node_modules/protobufjs/src/parse.js","webpack://tsviewer/./node_modules/protobufjs/src/reader.js","webpack://tsviewer/./node_modules/protobufjs/src/reader_buffer.js","webpack://tsviewer/./node_modules/protobufjs/src/root.js","webpack://tsviewer/./node_modules/protobufjs/src/roots.js","webpack://tsviewer/./node_modules/protobufjs/src/rpc.js","webpack://tsviewer/./node_modules/protobufjs/src/rpc/service.js","webpack://tsviewer/./node_modules/protobufjs/src/service.js","webpack://tsviewer/./node_modules/protobufjs/src/tokenize.js","webpack://tsviewer/./node_modules/protobufjs/src/type.js","webpack://tsviewer/./node_modules/protobufjs/src/types.js","webpack://tsviewer/./node_modules/protobufjs/src/util.js","webpack://tsviewer/./node_modules/protobufjs/src/util/longbits.js","webpack://tsviewer/./node_modules/protobufjs/src/util/minimal.js","webpack://tsviewer/./node_modules/protobufjs/src/verifier.js","webpack://tsviewer/./node_modules/protobufjs/src/wrappers.js","webpack://tsviewer/./node_modules/protobufjs/src/writer.js","webpack://tsviewer/./node_modules/protobufjs/src/writer_buffer.js","webpack://tsviewer/./src/components/TSPlotCanvas.vue?ca3f","webpack://tsviewer/./src/components/TSScrubber.vue?f470","webpack://tsviewer/./src/components/TSViewer.vue?16aa","webpack://tsviewer/./src/components/TSViewerCanvas.vue?c628","webpack://tsviewer/./src/components/TSViewerToolbar.vue?60e9","webpack://tsviewer/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://tsviewer/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://tsviewer/webpack/bootstrap","webpack://tsviewer/webpack/runtime/compat get default export","webpack://tsviewer/webpack/runtime/define property getters","webpack://tsviewer/webpack/runtime/global","webpack://tsviewer/webpack/runtime/hasOwnProperty shorthand","webpack://tsviewer/webpack/runtime/make namespace object","webpack://tsviewer/webpack/runtime/publicPath","webpack://tsviewer/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://tsviewer/./src/components/TSViewer.vue?dca2","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://tsviewer/./node_modules/ramda/es/__.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://tsviewer/./node_modules/ramda/es/internal/_curry1.js","webpack://tsviewer/./node_modules/ramda/es/internal/_curry2.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isArray.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isTransformer.js","webpack://tsviewer/./node_modules/ramda/es/internal/_dispatchable.js","webpack://tsviewer/./node_modules/ramda/es/internal/_reduced.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfBase.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xall.js","webpack://tsviewer/./node_modules/ramda/es/all.js","webpack://tsviewer/./node_modules/ramda/es/internal/_map.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isString.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xwrap.js","webpack://tsviewer/./node_modules/ramda/es/internal/_arity.js","webpack://tsviewer/./node_modules/ramda/es/bind.js","webpack://tsviewer/./node_modules/ramda/es/internal/_reduce.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xmap.js","webpack://tsviewer/./node_modules/ramda/es/internal/_curryN.js","webpack://tsviewer/./node_modules/ramda/es/curryN.js","webpack://tsviewer/./node_modules/ramda/es/internal/_has.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isArguments.js","webpack://tsviewer/./node_modules/ramda/es/keys.js","webpack://tsviewer/./node_modules/ramda/es/map.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isInteger.js","webpack://tsviewer/./node_modules/ramda/es/nth.js","webpack://tsviewer/./node_modules/ramda/es/prop.js","webpack://tsviewer/./node_modules/ramda/es/pluck.js","webpack://tsviewer/./node_modules/ramda/es/internal/_curry3.js","webpack://tsviewer/./node_modules/ramda/es/reduce.js","webpack://tsviewer/./node_modules/ramda/es/allPass.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xany.js","webpack://tsviewer/./node_modules/ramda/es/any.js","webpack://tsviewer/./node_modules/ramda/es/anyPass.js","webpack://tsviewer/./node_modules/ramda/es/internal/_concat.js","webpack://tsviewer/./node_modules/ramda/es/ap.js","webpack://tsviewer/./node_modules/ramda/es/internal/_aperture.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xaperture.js","webpack://tsviewer/./node_modules/ramda/es/aperture.js","webpack://tsviewer/./node_modules/ramda/es/values.js","webpack://tsviewer/./node_modules/ramda/es/applySpec.js","webpack://tsviewer/./node_modules/ramda/es/internal/_assoc.js","webpack://tsviewer/./node_modules/ramda/es/assocPath.js","webpack://tsviewer/./node_modules/ramda/es/assoc.js","webpack://tsviewer/./node_modules/ramda/es/liftN.js","webpack://tsviewer/./node_modules/ramda/es/lift.js","webpack://tsviewer/./node_modules/ramda/es/both.js","webpack://tsviewer/./node_modules/ramda/es/internal/_makeFlat.js","webpack://tsviewer/./node_modules/ramda/es/internal/_forceReduced.js","webpack://tsviewer/./node_modules/ramda/es/internal/_flatCat.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xchain.js","webpack://tsviewer/./node_modules/ramda/es/chain.js","webpack://tsviewer/./node_modules/ramda/es/collectBy.js","webpack://tsviewer/./node_modules/ramda/es/not.js","webpack://tsviewer/./node_modules/ramda/es/complement.js","webpack://tsviewer/./node_modules/ramda/es/internal/_pipe.js","webpack://tsviewer/./node_modules/ramda/es/internal/_checkForMethod.js","webpack://tsviewer/./node_modules/ramda/es/slice.js","webpack://tsviewer/./node_modules/ramda/es/tail.js","webpack://tsviewer/./node_modules/ramda/es/pipe.js","webpack://tsviewer/./node_modules/ramda/es/reverse.js","webpack://tsviewer/./node_modules/ramda/es/compose.js","webpack://tsviewer/./node_modules/ramda/es/pipeWith.js","webpack://tsviewer/./node_modules/ramda/es/composeWith.js","webpack://tsviewer/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://tsviewer/./node_modules/ramda/es/internal/_includesWith.js","webpack://tsviewer/./node_modules/ramda/es/internal/_functionName.js","webpack://tsviewer/./node_modules/ramda/es/internal/_objectIs.js","webpack://tsviewer/./node_modules/ramda/es/type.js","webpack://tsviewer/./node_modules/ramda/es/internal/_equals.js","webpack://tsviewer/./node_modules/ramda/es/equals.js","webpack://tsviewer/./node_modules/ramda/es/internal/_indexOf.js","webpack://tsviewer/./node_modules/ramda/es/internal/_includes.js","webpack://tsviewer/./node_modules/ramda/es/internal/_toISOString.js","webpack://tsviewer/./node_modules/ramda/es/internal/_complement.js","webpack://tsviewer/./node_modules/ramda/es/internal/_filter.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isObject.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfilter.js","webpack://tsviewer/./node_modules/ramda/es/filter.js","webpack://tsviewer/./node_modules/ramda/es/reject.js","webpack://tsviewer/./node_modules/ramda/es/internal/_toString.js","webpack://tsviewer/./node_modules/ramda/es/toString.js","webpack://tsviewer/./node_modules/ramda/es/concat.js","webpack://tsviewer/./node_modules/ramda/es/cond.js","webpack://tsviewer/./node_modules/ramda/es/max.js","webpack://tsviewer/./node_modules/ramda/es/converge.js","webpack://tsviewer/./node_modules/ramda/es/count.js","webpack://tsviewer/./node_modules/ramda/es/internal/_cloneRegExp.js","webpack://tsviewer/./node_modules/ramda/es/internal/_clone.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xreduceBy.js","webpack://tsviewer/./node_modules/ramda/es/reduceBy.js","webpack://tsviewer/./node_modules/ramda/es/countBy.js","webpack://tsviewer/./node_modules/ramda/es/internal/_Set.js","webpack://tsviewer/./node_modules/ramda/es/difference.js","webpack://tsviewer/./node_modules/ramda/es/internal/_dissoc.js","webpack://tsviewer/./node_modules/ramda/es/dissocPath.js","webpack://tsviewer/./node_modules/ramda/es/dissoc.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xdrop.js","webpack://tsviewer/./node_modules/ramda/es/drop.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xtake.js","webpack://tsviewer/./node_modules/ramda/es/take.js","webpack://tsviewer/./node_modules/ramda/es/internal/_dropLast.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xdropLast.js","webpack://tsviewer/./node_modules/ramda/es/dropLast.js","webpack://tsviewer/./node_modules/ramda/es/internal/_dropLastWhile.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xdropLastWhile.js","webpack://tsviewer/./node_modules/ramda/es/dropLastWhile.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xdropRepeatsWith.js","webpack://tsviewer/./node_modules/ramda/es/last.js","webpack://tsviewer/./node_modules/ramda/es/dropRepeatsWith.js","webpack://tsviewer/./node_modules/ramda/es/dropRepeats.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xdropWhile.js","webpack://tsviewer/./node_modules/ramda/es/dropWhile.js","webpack://tsviewer/./node_modules/ramda/es/either.js","webpack://tsviewer/./node_modules/ramda/es/internal/_isTypedArray.js","webpack://tsviewer/./node_modules/ramda/es/empty.js","webpack://tsviewer/./node_modules/ramda/es/takeLast.js","webpack://tsviewer/./node_modules/ramda/es/endsWith.js","webpack://tsviewer/./node_modules/ramda/es/eqBy.js","webpack://tsviewer/./node_modules/ramda/es/eqProps.js","webpack://tsviewer/./node_modules/ramda/es/evolve.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfind.js","webpack://tsviewer/./node_modules/ramda/es/find.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfindIndex.js","webpack://tsviewer/./node_modules/ramda/es/findIndex.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfindLast.js","webpack://tsviewer/./node_modules/ramda/es/findLast.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xfindLastIndex.js","webpack://tsviewer/./node_modules/ramda/es/findLastIndex.js","webpack://tsviewer/./node_modules/ramda/es/flatten.js","webpack://tsviewer/./node_modules/ramda/es/forEach.js","webpack://tsviewer/./node_modules/ramda/es/forEachObjIndexed.js","webpack://tsviewer/./node_modules/ramda/es/groupBy.js","webpack://tsviewer/./node_modules/ramda/es/head.js","webpack://tsviewer/./node_modules/ramda/es/identical.js","webpack://tsviewer/./node_modules/ramda/es/includes.js","webpack://tsviewer/./node_modules/ramda/es/indexBy.js","webpack://tsviewer/./node_modules/ramda/es/indexOf.js","webpack://tsviewer/./node_modules/ramda/es/init.js","webpack://tsviewer/./node_modules/ramda/es/internal/_identity.js","webpack://tsviewer/./node_modules/ramda/es/identity.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xuniqBy.js","webpack://tsviewer/./node_modules/ramda/es/uniqBy.js","webpack://tsviewer/./node_modules/ramda/es/uniq.js","webpack://tsviewer/./node_modules/ramda/es/intersection.js","webpack://tsviewer/./node_modules/ramda/es/intersperse.js","webpack://tsviewer/./node_modules/ramda/es/internal/_objectAssign.js","webpack://tsviewer/./node_modules/ramda/es/objOf.js","webpack://tsviewer/./node_modules/ramda/es/internal/_stepCat.js","webpack://tsviewer/./node_modules/ramda/es/into.js","webpack://tsviewer/./node_modules/ramda/es/invert.js","webpack://tsviewer/./node_modules/ramda/es/invertObj.js","webpack://tsviewer/./node_modules/ramda/es/invoker.js","webpack://tsviewer/./node_modules/ramda/es/isEmpty.js","webpack://tsviewer/./node_modules/ramda/es/join.js","webpack://tsviewer/./node_modules/ramda/es/juxt.js","webpack://tsviewer/./node_modules/ramda/es/lastIndexOf.js","webpack://tsviewer/./node_modules/ramda/es/lens.js","webpack://tsviewer/./node_modules/ramda/es/lensIndex.js","webpack://tsviewer/./node_modules/ramda/es/paths.js","webpack://tsviewer/./node_modules/ramda/es/path.js","webpack://tsviewer/./node_modules/ramda/es/lensPath.js","webpack://tsviewer/./node_modules/ramda/es/lensProp.js","webpack://tsviewer/./node_modules/ramda/es/mapObjIndexed.js","webpack://tsviewer/./node_modules/ramda/es/mathMod.js","webpack://tsviewer/./node_modules/ramda/es/add.js","webpack://tsviewer/./node_modules/ramda/es/sum.js","webpack://tsviewer/./node_modules/ramda/es/mean.js","webpack://tsviewer/./node_modules/ramda/es/median.js","webpack://tsviewer/./node_modules/ramda/es/mergeAll.js","webpack://tsviewer/./node_modules/ramda/es/mergeLeft.js","webpack://tsviewer/./node_modules/ramda/es/mergeRight.js","webpack://tsviewer/./node_modules/ramda/es/mergeWithKey.js","webpack://tsviewer/./node_modules/ramda/es/mergeWith.js","webpack://tsviewer/./node_modules/ramda/es/internal/_modify.js","webpack://tsviewer/./node_modules/ramda/es/modifyPath.js","webpack://tsviewer/./node_modules/ramda/es/modify.js","webpack://tsviewer/./node_modules/ramda/es/none.js","webpack://tsviewer/./node_modules/ramda/es/internal/_assertPromise.js","webpack://tsviewer/./node_modules/ramda/es/otherwise.js","webpack://tsviewer/./node_modules/ramda/es/partition.js","webpack://tsviewer/./node_modules/ramda/es/pathEq.js","webpack://tsviewer/./node_modules/ramda/es/pathOr.js","webpack://tsviewer/./node_modules/ramda/es/pathSatisfies.js","webpack://tsviewer/./node_modules/ramda/es/multiply.js","webpack://tsviewer/./node_modules/ramda/es/product.js","webpack://tsviewer/./node_modules/ramda/es/pickAll.js","webpack://tsviewer/./node_modules/ramda/es/useWith.js","webpack://tsviewer/./node_modules/ramda/es/project.js","webpack://tsviewer/./node_modules/ramda/es/internal/_promap.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xpromap.js","webpack://tsviewer/./node_modules/ramda/es/promap.js","webpack://tsviewer/./node_modules/ramda/es/propEq.js","webpack://tsviewer/./node_modules/ramda/es/propIs.js","webpack://tsviewer/./node_modules/ramda/es/defaultTo.js","webpack://tsviewer/./node_modules/ramda/es/propOr.js","webpack://tsviewer/./node_modules/ramda/es/propSatisfies.js","webpack://tsviewer/./node_modules/ramda/es/props.js","webpack://tsviewer/./node_modules/ramda/es/reduceWhile.js","webpack://tsviewer/./node_modules/ramda/es/sequence.js","webpack://tsviewer/./node_modules/ramda/es/sortBy.js","webpack://tsviewer/./node_modules/ramda/es/split.js","webpack://tsviewer/./node_modules/ramda/es/splitAt.js","webpack://tsviewer/./node_modules/ramda/es/splitEvery.js","webpack://tsviewer/./node_modules/ramda/es/startsWith.js","webpack://tsviewer/./node_modules/ramda/es/symmetricDifference.js","webpack://tsviewer/./node_modules/ramda/es/symmetricDifferenceWith.js","webpack://tsviewer/./node_modules/ramda/es/takeLastWhile.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xtakeWhile.js","webpack://tsviewer/./node_modules/ramda/es/takeWhile.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xtap.js","webpack://tsviewer/./node_modules/ramda/es/tap.js","webpack://tsviewer/./node_modules/ramda/es/test.js","webpack://tsviewer/./node_modules/ramda/es/andThen.js","webpack://tsviewer/./node_modules/ramda/es/toLower.js","webpack://tsviewer/./node_modules/ramda/es/toUpper.js","webpack://tsviewer/./node_modules/ramda/es/transduce.js","webpack://tsviewer/./node_modules/ramda/es/traverse.js","webpack://tsviewer/./node_modules/ramda/es/trim.js","webpack://tsviewer/./node_modules/ramda/es/union.js","webpack://tsviewer/./node_modules/ramda/es/internal/_xuniqWith.js","webpack://tsviewer/./node_modules/ramda/es/uniqWith.js","webpack://tsviewer/./node_modules/ramda/es/unionWith.js","webpack://tsviewer/./node_modules/ramda/es/unnest.js","webpack://tsviewer/./node_modules/ramda/es/unwind.js","webpack://tsviewer/./node_modules/ramda/es/whereEq.js","webpack://tsviewer/./node_modules/ramda/es/without.js","webpack://tsviewer/./node_modules/ramda/es/index.js","webpack://tsviewer/./src/mixins/viewer-active-tool/index.js","webpack://tsviewer/./src/mixins/request/index.js","webpack://tsviewer/./src/mixins/ts-annotation/index.js","webpack://tsviewer/./src/components/TSScrubber.vue?8303","webpack://tsviewer/src/components/TSScrubber.vue","webpack://tsviewer/./src/components/TSScrubber.vue?72da","webpack://tsviewer/./src/components/TSScrubber.vue?8d4c","webpack://tsviewer/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://tsviewer/./src/components/TSScrubber.vue","webpack://tsviewer/./src/components/TSViewerCanvas.vue?a788","webpack://tsviewer/./src/components/TSPlotCanvas.vue?f1dc","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://tsviewer/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://tsviewer/src/components/TSPlotCanvas.vue","webpack://tsviewer/./src/components/TSPlotCanvas.vue?b387","webpack://tsviewer/./src/components/TSPlotCanvas.vue?1c05","webpack://tsviewer/./src/components/TSPlotCanvas.vue","webpack://tsviewer/src/components/TSViewerCanvas.vue","webpack://tsviewer/./src/components/TSViewerCanvas.vue?4bb3","webpack://tsviewer/./src/components/TSViewerCanvas.vue?6f6a","webpack://tsviewer/./src/components/TSViewerCanvas.vue","webpack://tsviewer/./src/components/TSViewerToolbar.vue?9d88","webpack://tsviewer/src/components/TSViewerToolbar.vue","webpack://tsviewer/./src/components/TSViewerToolbar.vue?972e","webpack://tsviewer/./src/components/TSViewerToolbar.vue?4aa3","webpack://tsviewer/./src/components/TSViewerToolbar.vue","webpack://tsviewer/src/components/TSViewer.vue","webpack://tsviewer/./src/components/TSViewer.vue?e27f","webpack://tsviewer/./src/components/TSViewer.vue?891d","webpack://tsviewer/./src/components/TSViewer.vue","webpack://tsviewer/./src/utils/constants.js","webpack://tsviewer/./src/store/index.js","webpack://tsviewer/./src/components/index.js","webpack://tsviewer/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tsviewer\"] = factory();\n\telse\n\t\troot[\"tsviewer\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn ","\"use strict\";\r\nmodule.exports = asPromise;\r\n\r\n/**\r\n * Callback as used by {@link util.asPromise}.\r\n * @typedef asPromiseCallback\r\n * @type {function}\r\n * @param {Error|null} error Error, if any\r\n * @param {...*} params Additional arguments\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Returns a promise from a node-style callback function.\r\n * @memberof util\r\n * @param {asPromiseCallback} fn Function to call\r\n * @param {*} ctx Function context\r\n * @param {...*} params Function arguments\r\n * @returns {Promise<*>} Promisified function\r\n */\r\nfunction asPromise(fn, ctx/*, varargs */) {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0,\r\n index = 2,\r\n pending = true;\r\n while (index < arguments.length)\r\n params[offset++] = arguments[index++];\r\n return new Promise(function executor(resolve, reject) {\r\n params[offset] = function callback(err/*, varargs */) {\r\n if (pending) {\r\n pending = false;\r\n if (err)\r\n reject(err);\r\n else {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0;\r\n while (offset < params.length)\r\n params[offset++] = arguments[offset];\r\n resolve.apply(null, params);\r\n }\r\n }\r\n };\r\n try {\r\n fn.apply(ctx || null, params);\r\n } catch (err) {\r\n if (pending) {\r\n pending = false;\r\n reject(err);\r\n }\r\n }\r\n });\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal base64 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar base64 = exports;\r\n\r\n/**\r\n * Calculates the byte length of a base64 encoded string.\r\n * @param {string} string Base64 encoded string\r\n * @returns {number} Byte length\r\n */\r\nbase64.length = function length(string) {\r\n var p = string.length;\r\n if (!p)\r\n return 0;\r\n var n = 0;\r\n while (--p % 4 > 1 && string.charAt(p) === \"=\")\r\n ++n;\r\n return Math.ceil(string.length * 3) / 4 - n;\r\n};\r\n\r\n// Base64 encoding table\r\nvar b64 = new Array(64);\r\n\r\n// Base64 decoding table\r\nvar s64 = new Array(123);\r\n\r\n// 65..90, 97..122, 48..57, 43, 47\r\nfor (var i = 0; i < 64;)\r\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\r\n\r\n/**\r\n * Encodes a buffer to a base64 encoded string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} Base64 encoded string\r\n */\r\nbase64.encode = function encode(buffer, start, end) {\r\n var parts = null,\r\n chunk = [];\r\n var i = 0, // output index\r\n j = 0, // goto index\r\n t; // temporary\r\n while (start < end) {\r\n var b = buffer[start++];\r\n switch (j) {\r\n case 0:\r\n chunk[i++] = b64[b >> 2];\r\n t = (b & 3) << 4;\r\n j = 1;\r\n break;\r\n case 1:\r\n chunk[i++] = b64[t | b >> 4];\r\n t = (b & 15) << 2;\r\n j = 2;\r\n break;\r\n case 2:\r\n chunk[i++] = b64[t | b >> 6];\r\n chunk[i++] = b64[b & 63];\r\n j = 0;\r\n break;\r\n }\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (j) {\r\n chunk[i++] = b64[t];\r\n chunk[i++] = 61;\r\n if (j === 1)\r\n chunk[i++] = 61;\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\nvar invalidEncoding = \"invalid encoding\";\r\n\r\n/**\r\n * Decodes a base64 encoded string to a buffer.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Number of bytes written\r\n * @throws {Error} If encoding is invalid\r\n */\r\nbase64.decode = function decode(string, buffer, offset) {\r\n var start = offset;\r\n var j = 0, // goto index\r\n t; // temporary\r\n for (var i = 0; i < string.length;) {\r\n var c = string.charCodeAt(i++);\r\n if (c === 61 && j > 1)\r\n break;\r\n if ((c = s64[c]) === undefined)\r\n throw Error(invalidEncoding);\r\n switch (j) {\r\n case 0:\r\n t = c;\r\n j = 1;\r\n break;\r\n case 1:\r\n buffer[offset++] = t << 2 | (c & 48) >> 4;\r\n t = c;\r\n j = 2;\r\n break;\r\n case 2:\r\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\r\n t = c;\r\n j = 3;\r\n break;\r\n case 3:\r\n buffer[offset++] = (t & 3) << 6 | c;\r\n j = 0;\r\n break;\r\n }\r\n }\r\n if (j === 1)\r\n throw Error(invalidEncoding);\r\n return offset - start;\r\n};\r\n\r\n/**\r\n * Tests if the specified string appears to be base64 encoded.\r\n * @param {string} string String to test\r\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\r\n */\r\nbase64.test = function test(string) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\r\n};\r\n","\"use strict\";\r\nmodule.exports = codegen;\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @param {string[]} functionParams Function parameter names\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n */\r\nfunction codegen(functionParams, functionName) {\r\n\r\n /* istanbul ignore if */\r\n if (typeof functionParams === \"string\") {\r\n functionName = functionParams;\r\n functionParams = undefined;\r\n }\r\n\r\n var body = [];\r\n\r\n /**\r\n * Appends code to the function's body or finishes generation.\r\n * @typedef Codegen\r\n * @type {function}\r\n * @param {string|Object.<string,*>} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any\r\n * @param {...*} [formatParams] Format parameters\r\n * @returns {Codegen|Function} Itself or the generated function if finished\r\n * @throws {Error} If format parameter counts do not match\r\n */\r\n\r\n function Codegen(formatStringOrScope) {\r\n // note that explicit array handling below makes this ~50% faster\r\n\r\n // finish the function\r\n if (typeof formatStringOrScope !== \"string\") {\r\n var source = toString();\r\n if (codegen.verbose)\r\n console.log(\"codegen: \" + source); // eslint-disable-line no-console\r\n source = \"return \" + source;\r\n if (formatStringOrScope) {\r\n var scopeKeys = Object.keys(formatStringOrScope),\r\n scopeParams = new Array(scopeKeys.length + 1),\r\n scopeValues = new Array(scopeKeys.length),\r\n scopeOffset = 0;\r\n while (scopeOffset < scopeKeys.length) {\r\n scopeParams[scopeOffset] = scopeKeys[scopeOffset];\r\n scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];\r\n }\r\n scopeParams[scopeOffset] = source;\r\n return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func\r\n }\r\n return Function(source)(); // eslint-disable-line no-new-func\r\n }\r\n\r\n // otherwise append to body\r\n var formatParams = new Array(arguments.length - 1),\r\n formatOffset = 0;\r\n while (formatOffset < formatParams.length)\r\n formatParams[formatOffset] = arguments[++formatOffset];\r\n formatOffset = 0;\r\n formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {\r\n var value = formatParams[formatOffset++];\r\n switch ($1) {\r\n case \"d\": case \"f\": return String(Number(value));\r\n case \"i\": return String(Math.floor(value));\r\n case \"j\": return JSON.stringify(value);\r\n case \"s\": return String(value);\r\n }\r\n return \"%\";\r\n });\r\n if (formatOffset !== formatParams.length)\r\n throw Error(\"parameter count mismatch\");\r\n body.push(formatStringOrScope);\r\n return Codegen;\r\n }\r\n\r\n function toString(functionNameOverride) {\r\n return \"function \" + (functionNameOverride || functionName || \"\") + \"(\" + (functionParams && functionParams.join(\",\") || \"\") + \"){\\n \" + body.join(\"\\n \") + \"\\n}\";\r\n }\r\n\r\n Codegen.toString = toString;\r\n return Codegen;\r\n}\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @function codegen\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * When set to `true`, codegen will log generated code to console. Useful for debugging.\r\n * @name util.codegen.verbose\r\n * @type {boolean}\r\n */\r\ncodegen.verbose = false;\r\n","\"use strict\";\r\nmodule.exports = EventEmitter;\r\n\r\n/**\r\n * Constructs a new event emitter instance.\r\n * @classdesc A minimal event emitter.\r\n * @memberof util\r\n * @constructor\r\n */\r\nfunction EventEmitter() {\r\n\r\n /**\r\n * Registered listeners.\r\n * @type {Object.<string,*>}\r\n * @private\r\n */\r\n this._listeners = {};\r\n}\r\n\r\n/**\r\n * Registers an event listener.\r\n * @param {string} evt Event name\r\n * @param {function} fn Listener\r\n * @param {*} [ctx] Listener context\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\r\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\r\n fn : fn,\r\n ctx : ctx || this\r\n });\r\n return this;\r\n};\r\n\r\n/**\r\n * Removes an event listener or any matching listeners if arguments are omitted.\r\n * @param {string} [evt] Event name. Removes all listeners if omitted.\r\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.off = function off(evt, fn) {\r\n if (evt === undefined)\r\n this._listeners = {};\r\n else {\r\n if (fn === undefined)\r\n this._listeners[evt] = [];\r\n else {\r\n var listeners = this._listeners[evt];\r\n for (var i = 0; i < listeners.length;)\r\n if (listeners[i].fn === fn)\r\n listeners.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emits an event by calling its listeners with the specified arguments.\r\n * @param {string} evt Event name\r\n * @param {...*} args Arguments\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.emit = function emit(evt) {\r\n var listeners = this._listeners[evt];\r\n if (listeners) {\r\n var args = [],\r\n i = 1;\r\n for (; i < arguments.length;)\r\n args.push(arguments[i++]);\r\n for (i = 0; i < listeners.length;)\r\n listeners[i].fn.apply(listeners[i++].ctx, args);\r\n }\r\n return this;\r\n};\r\n","\"use strict\";\r\nmodule.exports = fetch;\r\n\r\nvar asPromise = require(\"@protobufjs/aspromise\"),\r\n inquire = require(\"@protobufjs/inquire\");\r\n\r\nvar fs = inquire(\"fs\");\r\n\r\n/**\r\n * Node-style callback as used by {@link util.fetch}.\r\n * @typedef FetchCallback\r\n * @type {function}\r\n * @param {?Error} error Error, if any, otherwise `null`\r\n * @param {string} [contents] File contents, if there hasn't been an error\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Options as used by {@link util.fetch}.\r\n * @typedef FetchOptions\r\n * @type {Object}\r\n * @property {boolean} [binary=false] Whether expecting a binary response\r\n * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @memberof util\r\n * @param {string} filename File path or url\r\n * @param {FetchOptions} options Fetch options\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n */\r\nfunction fetch(filename, options, callback) {\r\n if (typeof options === \"function\") {\r\n callback = options;\r\n options = {};\r\n } else if (!options)\r\n options = {};\r\n\r\n if (!callback)\r\n return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this\r\n\r\n // if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.\r\n if (!options.xhr && fs && fs.readFile)\r\n return fs.readFile(filename, function fetchReadFileCallback(err, contents) {\r\n return err && typeof XMLHttpRequest !== \"undefined\"\r\n ? fetch.xhr(filename, options, callback)\r\n : err\r\n ? callback(err)\r\n : callback(null, options.binary ? contents : contents.toString(\"utf8\"));\r\n });\r\n\r\n // use the XHR version otherwise.\r\n return fetch.xhr(filename, options, callback);\r\n}\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchOptions} [options] Fetch options\r\n * @returns {Promise<string|Uint8Array>} Promise\r\n * @variation 3\r\n */\r\n\r\n/**/\r\nfetch.xhr = function fetch_xhr(filename, options, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {\r\n\r\n if (xhr.readyState !== 4)\r\n return undefined;\r\n\r\n // local cors security errors return status 0 / empty string, too. afaik this cannot be\r\n // reliably distinguished from an actually empty file for security reasons. feel free\r\n // to send a pull request if you are aware of a solution.\r\n if (xhr.status !== 0 && xhr.status !== 200)\r\n return callback(Error(\"status \" + xhr.status));\r\n\r\n // if binary data is expected, make sure that some sort of array is returned, even if\r\n // ArrayBuffers are not supported. the binary string fallback, however, is unsafe.\r\n if (options.binary) {\r\n var buffer = xhr.response;\r\n if (!buffer) {\r\n buffer = [];\r\n for (var i = 0; i < xhr.responseText.length; ++i)\r\n buffer.push(xhr.responseText.charCodeAt(i) & 255);\r\n }\r\n return callback(null, typeof Uint8Array !== \"undefined\" ? new Uint8Array(buffer) : buffer);\r\n }\r\n return callback(null, xhr.responseText);\r\n };\r\n\r\n if (options.binary) {\r\n // ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers\r\n if (\"overrideMimeType\" in xhr)\r\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\r\n xhr.responseType = \"arraybuffer\";\r\n }\r\n\r\n xhr.open(\"GET\", filename);\r\n xhr.send();\r\n};\r\n","\"use strict\";\r\n\r\nmodule.exports = factory(factory);\r\n\r\n/**\r\n * Reads / writes floats / doubles from / to buffers.\r\n * @name util.float\r\n * @namespace\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using little endian byte order.\r\n * @name util.float.writeFloatLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using big endian byte order.\r\n * @name util.float.writeFloatBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using little endian byte order.\r\n * @name util.float.readFloatLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using big endian byte order.\r\n * @name util.float.readFloatBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using little endian byte order.\r\n * @name util.float.writeDoubleLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using big endian byte order.\r\n * @name util.float.writeDoubleBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using little endian byte order.\r\n * @name util.float.readDoubleLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using big endian byte order.\r\n * @name util.float.readDoubleBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n// Factory function for the purpose of node-based testing in modified global environments\r\nfunction factory(exports) {\r\n\r\n // float: typed array\r\n if (typeof Float32Array !== \"undefined\") (function() {\r\n\r\n var f32 = new Float32Array([ -0 ]),\r\n f8b = new Uint8Array(f32.buffer),\r\n le = f8b[3] === 128;\r\n\r\n function writeFloat_f32_cpy(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n }\r\n\r\n function writeFloat_f32_rev(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[3];\r\n buf[pos + 1] = f8b[2];\r\n buf[pos + 2] = f8b[1];\r\n buf[pos + 3] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;\r\n\r\n function readFloat_f32_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n function readFloat_f32_rev(buf, pos) {\r\n f8b[3] = buf[pos ];\r\n f8b[2] = buf[pos + 1];\r\n f8b[1] = buf[pos + 2];\r\n f8b[0] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;\r\n\r\n // float: ieee754\r\n })(); else (function() {\r\n\r\n function writeFloat_ieee754(writeUint, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0)\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\r\n else if (isNaN(val))\r\n writeUint(2143289344, buf, pos);\r\n else if (val > 3.4028234663852886e+38) // +-Infinity\r\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\r\n else if (val < 1.1754943508222875e-38) // denormal\r\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\r\n else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2),\r\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\r\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\r\n }\r\n }\r\n\r\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\r\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\r\n\r\n function readFloat_ieee754(readUint, buf, pos) {\r\n var uint = readUint(buf, pos),\r\n sign = (uint >> 31) * 2 + 1,\r\n exponent = uint >>> 23 & 255,\r\n mantissa = uint & 8388607;\r\n return exponent === 255\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 1.401298464324817e-45 * mantissa\r\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\r\n }\r\n\r\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\r\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\r\n\r\n })();\r\n\r\n // double: typed array\r\n if (typeof Float64Array !== \"undefined\") (function() {\r\n\r\n var f64 = new Float64Array([-0]),\r\n f8b = new Uint8Array(f64.buffer),\r\n le = f8b[7] === 128;\r\n\r\n function writeDouble_f64_cpy(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n buf[pos + 4] = f8b[4];\r\n buf[pos + 5] = f8b[5];\r\n buf[pos + 6] = f8b[6];\r\n buf[pos + 7] = f8b[7];\r\n }\r\n\r\n function writeDouble_f64_rev(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[7];\r\n buf[pos + 1] = f8b[6];\r\n buf[pos + 2] = f8b[5];\r\n buf[pos + 3] = f8b[4];\r\n buf[pos + 4] = f8b[3];\r\n buf[pos + 5] = f8b[2];\r\n buf[pos + 6] = f8b[1];\r\n buf[pos + 7] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\r\n\r\n function readDouble_f64_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n f8b[4] = buf[pos + 4];\r\n f8b[5] = buf[pos + 5];\r\n f8b[6] = buf[pos + 6];\r\n f8b[7] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n function readDouble_f64_rev(buf, pos) {\r\n f8b[7] = buf[pos ];\r\n f8b[6] = buf[pos + 1];\r\n f8b[5] = buf[pos + 2];\r\n f8b[4] = buf[pos + 3];\r\n f8b[3] = buf[pos + 4];\r\n f8b[2] = buf[pos + 5];\r\n f8b[1] = buf[pos + 6];\r\n f8b[0] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\r\n\r\n // double: ieee754\r\n })(); else (function() {\r\n\r\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\r\n } else if (isNaN(val)) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(2146959360, buf, pos + off1);\r\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\r\n writeUint(0, buf, pos + off0);\r\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\r\n } else {\r\n var mantissa;\r\n if (val < 2.2250738585072014e-308) { // denormal\r\n mantissa = val / 5e-324;\r\n writeUint(mantissa >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\r\n } else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2);\r\n if (exponent === 1024)\r\n exponent = 1023;\r\n mantissa = val * Math.pow(2, -exponent);\r\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\r\n }\r\n }\r\n }\r\n\r\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\r\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\r\n\r\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\r\n var lo = readUint(buf, pos + off0),\r\n hi = readUint(buf, pos + off1);\r\n var sign = (hi >> 31) * 2 + 1,\r\n exponent = hi >>> 20 & 2047,\r\n mantissa = 4294967296 * (hi & 1048575) + lo;\r\n return exponent === 2047\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 5e-324 * mantissa\r\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\r\n }\r\n\r\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\r\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\r\n\r\n })();\r\n\r\n return exports;\r\n}\r\n\r\n// uint helpers\r\n\r\nfunction writeUintLE(val, buf, pos) {\r\n buf[pos ] = val & 255;\r\n buf[pos + 1] = val >>> 8 & 255;\r\n buf[pos + 2] = val >>> 16 & 255;\r\n buf[pos + 3] = val >>> 24;\r\n}\r\n\r\nfunction writeUintBE(val, buf, pos) {\r\n buf[pos ] = val >>> 24;\r\n buf[pos + 1] = val >>> 16 & 255;\r\n buf[pos + 2] = val >>> 8 & 255;\r\n buf[pos + 3] = val & 255;\r\n}\r\n\r\nfunction readUintLE(buf, pos) {\r\n return (buf[pos ]\r\n | buf[pos + 1] << 8\r\n | buf[pos + 2] << 16\r\n | buf[pos + 3] << 24) >>> 0;\r\n}\r\n\r\nfunction readUintBE(buf, pos) {\r\n return (buf[pos ] << 24\r\n | buf[pos + 1] << 16\r\n | buf[pos + 2] << 8\r\n | buf[pos + 3]) >>> 0;\r\n}\r\n","\"use strict\";\r\nmodule.exports = inquire;\r\n\r\n/**\r\n * Requires a module only if available.\r\n * @memberof util\r\n * @param {string} moduleName Module to require\r\n * @returns {?Object} Required module if available and not empty, otherwise `null`\r\n */\r\nfunction inquire(moduleName) {\r\n try {\r\n var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval\r\n if (mod && (mod.length || Object.keys(mod).length))\r\n return mod;\r\n } catch (e) {} // eslint-disable-line no-empty\r\n return null;\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal path module to resolve Unix, Windows and URL paths alike.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar path = exports;\r\n\r\nvar isAbsolute =\r\n/**\r\n * Tests if the specified path is absolute.\r\n * @param {string} path Path to test\r\n * @returns {boolean} `true` if path is absolute\r\n */\r\npath.isAbsolute = function isAbsolute(path) {\r\n return /^(?:\\/|\\w+:)/.test(path);\r\n};\r\n\r\nvar normalize =\r\n/**\r\n * Normalizes the specified path.\r\n * @param {string} path Path to normalize\r\n * @returns {string} Normalized path\r\n */\r\npath.normalize = function normalize(path) {\r\n path = path.replace(/\\\\/g, \"/\")\r\n .replace(/\\/{2,}/g, \"/\");\r\n var parts = path.split(\"/\"),\r\n absolute = isAbsolute(path),\r\n prefix = \"\";\r\n if (absolute)\r\n prefix = parts.shift() + \"/\";\r\n for (var i = 0; i < parts.length;) {\r\n if (parts[i] === \"..\") {\r\n if (i > 0 && parts[i - 1] !== \"..\")\r\n parts.splice(--i, 2);\r\n else if (absolute)\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n } else if (parts[i] === \".\")\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n return prefix + parts.join(\"/\");\r\n};\r\n\r\n/**\r\n * Resolves the specified include path against the specified origin path.\r\n * @param {string} originPath Path to the origin file\r\n * @param {string} includePath Include path relative to origin path\r\n * @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized\r\n * @returns {string} Path to the include file\r\n */\r\npath.resolve = function resolve(originPath, includePath, alreadyNormalized) {\r\n if (!alreadyNormalized)\r\n includePath = normalize(includePath);\r\n if (isAbsolute(includePath))\r\n return includePath;\r\n if (!alreadyNormalized)\r\n originPath = normalize(originPath);\r\n return (originPath = originPath.replace(/(?:\\/|^)[^/]+$/, \"\")).length ? normalize(originPath + \"/\" + includePath) : includePath;\r\n};\r\n","\"use strict\";\r\nmodule.exports = pool;\r\n\r\n/**\r\n * An allocator as used by {@link util.pool}.\r\n * @typedef PoolAllocator\r\n * @type {function}\r\n * @param {number} size Buffer size\r\n * @returns {Uint8Array} Buffer\r\n */\r\n\r\n/**\r\n * A slicer as used by {@link util.pool}.\r\n * @typedef PoolSlicer\r\n * @type {function}\r\n * @param {number} start Start offset\r\n * @param {number} end End offset\r\n * @returns {Uint8Array} Buffer slice\r\n * @this {Uint8Array}\r\n */\r\n\r\n/**\r\n * A general purpose buffer pool.\r\n * @memberof util\r\n * @function\r\n * @param {PoolAllocator} alloc Allocator\r\n * @param {PoolSlicer} slice Slicer\r\n * @param {number} [size=8192] Slab size\r\n * @returns {PoolAllocator} Pooled allocator\r\n */\r\nfunction pool(alloc, slice, size) {\r\n var SIZE = size || 8192;\r\n var MAX = SIZE >>> 1;\r\n var slab = null;\r\n var offset = SIZE;\r\n return function pool_alloc(size) {\r\n if (size < 1 || size > MAX)\r\n return alloc(size);\r\n if (offset + size > SIZE) {\r\n slab = alloc(SIZE);\r\n offset = 0;\r\n }\r\n var buf = slice.call(slab, offset, offset += size);\r\n if (offset & 7) // align to 32 bit\r\n offset = (offset | 7) + 1;\r\n return buf;\r\n };\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal UTF8 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar utf8 = exports;\r\n\r\n/**\r\n * Calculates the UTF8 byte length of a string.\r\n * @param {string} string String\r\n * @returns {number} Byte length\r\n */\r\nutf8.length = function utf8_length(string) {\r\n var len = 0,\r\n c = 0;\r\n for (var i = 0; i < string.length; ++i) {\r\n c = string.charCodeAt(i);\r\n if (c < 128)\r\n len += 1;\r\n else if (c < 2048)\r\n len += 2;\r\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\r\n ++i;\r\n len += 4;\r\n } else\r\n len += 3;\r\n }\r\n return len;\r\n};\r\n\r\n/**\r\n * Reads UTF8 bytes as a string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} String read\r\n */\r\nutf8.read = function utf8_read(buffer, start, end) {\r\n var len = end - start;\r\n if (len < 1)\r\n return \"\";\r\n var parts = null,\r\n chunk = [],\r\n i = 0, // char offset\r\n t; // temporary\r\n while (start < end) {\r\n t = buffer[start++];\r\n if (t < 128)\r\n chunk[i++] = t;\r\n else if (t > 191 && t < 224)\r\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\r\n else if (t > 239 && t < 365) {\r\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\r\n chunk[i++] = 0xD800 + (t >> 10);\r\n chunk[i++] = 0xDC00 + (t & 1023);\r\n } else\r\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\n/**\r\n * Writes a string as UTF8 bytes.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Bytes written\r\n */\r\nutf8.write = function utf8_write(string, buffer, offset) {\r\n var start = offset,\r\n c1, // character 1\r\n c2; // character 2\r\n for (var i = 0; i < string.length; ++i) {\r\n c1 = string.charCodeAt(i);\r\n if (c1 < 128) {\r\n buffer[offset++] = c1;\r\n } else if (c1 < 2048) {\r\n buffer[offset++] = c1 >> 6 | 192;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\r\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\r\n ++i;\r\n buffer[offset++] = c1 >> 18 | 240;\r\n buffer[offset++] = c1 >> 12 & 63 | 128;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else {\r\n buffer[offset++] = c1 >> 12 | 224;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n }\r\n }\r\n return offset - start;\r\n};\r\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'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","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es-x/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es-x/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'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","var global = require('../internals/global');\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 = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.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 for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var 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-x/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 if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\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 = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\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","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'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","var isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n } return O;\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'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/create-iterator-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 in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (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","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// 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","// 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","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'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');\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 () { execCalled = true; return null; };\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","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\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","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\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 = global.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 TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var 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","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var 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.exec(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","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es-x/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var 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","var global = require('../internals/global');\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 = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\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 = global.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_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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw 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 = 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","var 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 fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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-x/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 = IteratorPrototype == undefined || 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","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var 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 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 queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // 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 // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = 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","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\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 = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var global = require('../internals/global');\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 = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\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","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var 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_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 >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\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 && !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","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var 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","var 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","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var 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 if (this.head) this.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 this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","var global = require('../internals/global');\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 = global.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 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' 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.sticky) result += 'y';\n return result;\n};\n","var 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","var 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.exec('\\n') && re.flags === 's');\n});\n","var 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","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\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 var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var 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","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.7',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.7/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var 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 global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var 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","var 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 whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\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","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","var 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\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\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 listener = function (event) {\n run(event.data);\n};\n\nvar post = 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 = listener;\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(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var global = require('../internals/global');\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 = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// 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';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es-x/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'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/define-iterator');\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 kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.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 $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar TypeError = global.TypeError;\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar thisNumberValue = require('../internals/this-number-value');\nvar $repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar String = global.String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar un$ToFixed = uncurryThis(1.0.toFixed);\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar multiply = function (data, n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\n\nvar divide = function (data, n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\n\nvar dataToString = function (data) {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = fails(function () {\n return un$ToFixed(0.00008, 3) !== '0.000' ||\n un$ToFixed(0.9, 0) !== '1' ||\n un$ToFixed(1.255, 2) !== '1.25' ||\n un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n // V8 ~ Android 4.3-\n un$ToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toIntegerOrInfinity(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(data, 0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(data, 1e7, 0);\n j -= 7;\n }\n multiply(data, pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(data, 1 << 23);\n j -= 23;\n }\n divide(data, 1 << j);\n multiply(data, 1, 1);\n divide(data, 2);\n result = dataToString(data);\n } else {\n multiply(data, 0, z);\n multiply(data, 1 << -e, 0);\n result = dataToString(data) + repeat('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat('0', fractDigits - k) + result\n : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es-x/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\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(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 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","// 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';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n var exec = this.exec;\n if (!isCallable(exec)) return un$Test(this, str);\n var result = call(exec, this, str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'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 isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\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 = separator == undefined ? 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 $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","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var symbolToString = uncurryThis(SymbolPrototype.toString);\n var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = symbolValueOf(this);\n var string = symbolToString(symbol);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, constructor: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/native-symbol-registry');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","var 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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\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 if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".canvas[data-v-0a32917c]{position:absolute;top:0;left:0;margin-left:5px;cursor:ew-resize;outline:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".timeseries-scrubber[data-v-989235a2]{padding:0 8px 8px 8px}.dateWrap[data-v-989235a2]{padding:8px 0;font-size:12px;text-transform:uppercase;color:#71747c;display:flex;flex-direction:row;justify-content:space-between}#scrubber[data-v-989235a2]{background:#fff;box-shadow:inset 0 0 0 1px #c5c5c5;box-sizing:border-box;position:relative;display:flex}#canvasWrap[data-v-989235a2]{height:30px;position:relative}.noselect[data-v-989235a2]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.canvas[data-v-989235a2]{position:absolute;top:0;left:0;cursor:pointer}.canvas[dragme][data-v-989235a2]{cursor:move}.canvas[resizeme][data-v-989235a2]{cursor:ew-resize}#annotationCanvas[data-v-989235a2]{margin-top:1px}#iCanvas[data-v-989235a2]{margin-left:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".timeseries-viewer[data-v-1d6b8d00]{display:flex;flex-direction:column}#channelCanvas[data-v-1d6b8d00]{display:flex;height:100%;background-color:#fff}#channelLabels[data-v-1d6b8d00]{justify-content:space-around;line-height:normal;margin-bottom:40px;min-width:75px}#channelLabels[data-v-1d6b8d00],.chLabelWrap[data-v-1d6b8d00]{display:flex;flex-direction:column}.chLabelWrap[data-v-1d6b8d00]{align-items:center;cursor:pointer}.chLabelIndWrap[data-v-1d6b8d00]{position:relative;display:flex;flex-direction:row;justify-content:space-around;width:100%;color:#3c54a4}.chLabelInd[data-v-1d6b8d00]{font-size:.6em;min-width:70px;color:#969696;text-align:right;white-space:nowrap}.chLabelIndWrap[selected][data-v-1d6b8d00],.labelDiv[selected][data-v-1d6b8d00]{color:#295eff}.labelDiv[data-v-1d6b8d00]{align-self:flex-end;white-space:nowrap;color:var(--neuron)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".timeseries-viewer-canvas[data-v-0f680526]{display:flex;background-color:#fff;flex:1}#canvasWrapper[data-v-0f680526]{position:relative}#channelCanvas[data-v-0f680526]{display:flex}.canvas[data-v-0f680526]{position:absolute;top:0;left:0;margin-left:5px;cursor:ew-resize;outline:none}.canvas[active][data-v-0f680526]{cursor:pointer}.canvas[col_resize][data-v-0f680526]{cursor:col-resize}.canvas[point][data-v-0f680526]{cursor:default}.canvas[cursor_hover][data-v-0f680526]{cursor:col-resize}#cursorArea[data-v-0f680526]{margin-left:0}#annotationPopover[data-v-0f680526]{position:absolute;opacity:0;display:none;top:75px;z-index:1000;left:400px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".timeseries-viewer-toolbar[data-v-09a81dc6]{border-top:1px solid #dadada;background:#f7f7f7;display:flex;padding:8px 0;width:100%;justify-content:space-between;align-items:center}.icon[data-v-09a81dc6]{vertical-align:middle;padding-bottom:1px}.btn-icon[data-v-09a81dc6]{color:#928d85;margin-left:8px;margin-right:2px}.btn-icon[data-v-09a81dc6]:last-child{margin-right:8px}.btn-icon.selected[data-v-09a81dc6],.btn-icon[data-v-09a81dc6]:hover,.btn-icon[focused][data-v-09a81dc6]{color:#5039f7}.btn-icon[disabled][data-v-09a81dc6]{color:#e7e5e1}.playSelect[data-v-09a81dc6]{width:75px;margin-right:8px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","// full library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index\");\n","\"use strict\";\nmodule.exports = common;\n\nvar commonRe = /\\/|\\./;\n\n/**\n * Provides common type definitions.\n * Can also be used to provide additional google types or your own custom types.\n * @param {string} name Short name as in `google/protobuf/[name].proto` or full file name\n * @param {Object.<string,*>} json JSON definition within `google.protobuf` if a short name, otherwise the file's root definition\n * @returns {undefined}\n * @property {INamespace} google/protobuf/any.proto Any\n * @property {INamespace} google/protobuf/duration.proto Duration\n * @property {INamespace} google/protobuf/empty.proto Empty\n * @property {INamespace} google/protobuf/field_mask.proto FieldMask\n * @property {INamespace} google/protobuf/struct.proto Struct, Value, NullValue and ListValue\n * @property {INamespace} google/protobuf/timestamp.proto Timestamp\n * @property {INamespace} google/protobuf/wrappers.proto Wrappers\n * @example\n * // manually provides descriptor.proto (assumes google/protobuf/ namespace and .proto extension)\n * protobuf.common(\"descriptor\", descriptorJson);\n *\n * // manually provides a custom definition (uses my.foo namespace)\n * protobuf.common(\"my/foo/bar.proto\", myFooBarJson);\n */\nfunction common(name, json) {\n if (!commonRe.test(name)) {\n name = \"google/protobuf/\" + name + \".proto\";\n json = { nested: { google: { nested: { protobuf: { nested: json } } } } };\n }\n common[name] = json;\n}\n\n// Not provided because of limited use (feel free to discuss or to provide yourself):\n//\n// google/protobuf/descriptor.proto\n// google/protobuf/source_context.proto\n// google/protobuf/type.proto\n//\n// Stripped and pre-parsed versions of these non-bundled files are instead available as part of\n// the repository or package within the google/protobuf directory.\n\ncommon(\"any\", {\n\n /**\n * Properties of a google.protobuf.Any message.\n * @interface IAny\n * @type {Object}\n * @property {string} [typeUrl]\n * @property {Uint8Array} [bytes]\n * @memberof common\n */\n Any: {\n fields: {\n type_url: {\n type: \"string\",\n id: 1\n },\n value: {\n type: \"bytes\",\n id: 2\n }\n }\n }\n});\n\nvar timeType;\n\ncommon(\"duration\", {\n\n /**\n * Properties of a google.protobuf.Duration message.\n * @interface IDuration\n * @type {Object}\n * @property {number|Long} [seconds]\n * @property {number} [nanos]\n * @memberof common\n */\n Duration: timeType = {\n fields: {\n seconds: {\n type: \"int64\",\n id: 1\n },\n nanos: {\n type: \"int32\",\n id: 2\n }\n }\n }\n});\n\ncommon(\"timestamp\", {\n\n /**\n * Properties of a google.protobuf.Timestamp message.\n * @interface ITimestamp\n * @type {Object}\n * @property {number|Long} [seconds]\n * @property {number} [nanos]\n * @memberof common\n */\n Timestamp: timeType\n});\n\ncommon(\"empty\", {\n\n /**\n * Properties of a google.protobuf.Empty message.\n * @interface IEmpty\n * @memberof common\n */\n Empty: {\n fields: {}\n }\n});\n\ncommon(\"struct\", {\n\n /**\n * Properties of a google.protobuf.Struct message.\n * @interface IStruct\n * @type {Object}\n * @property {Object.<string,IValue>} [fields]\n * @memberof common\n */\n Struct: {\n fields: {\n fields: {\n keyType: \"string\",\n type: \"Value\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.Value message.\n * @interface IValue\n * @type {Object}\n * @property {string} [kind]\n * @property {0} [nullValue]\n * @property {number} [numberValue]\n * @property {string} [stringValue]\n * @property {boolean} [boolValue]\n * @property {IStruct} [structValue]\n * @property {IListValue} [listValue]\n * @memberof common\n */\n Value: {\n oneofs: {\n kind: {\n oneof: [\n \"nullValue\",\n \"numberValue\",\n \"stringValue\",\n \"boolValue\",\n \"structValue\",\n \"listValue\"\n ]\n }\n },\n fields: {\n nullValue: {\n type: \"NullValue\",\n id: 1\n },\n numberValue: {\n type: \"double\",\n id: 2\n },\n stringValue: {\n type: \"string\",\n id: 3\n },\n boolValue: {\n type: \"bool\",\n id: 4\n },\n structValue: {\n type: \"Struct\",\n id: 5\n },\n listValue: {\n type: \"ListValue\",\n id: 6\n }\n }\n },\n\n NullValue: {\n values: {\n NULL_VALUE: 0\n }\n },\n\n /**\n * Properties of a google.protobuf.ListValue message.\n * @interface IListValue\n * @type {Object}\n * @property {Array.<IValue>} [values]\n * @memberof common\n */\n ListValue: {\n fields: {\n values: {\n rule: \"repeated\",\n type: \"Value\",\n id: 1\n }\n }\n }\n});\n\ncommon(\"wrappers\", {\n\n /**\n * Properties of a google.protobuf.DoubleValue message.\n * @interface IDoubleValue\n * @type {Object}\n * @property {number} [value]\n * @memberof common\n */\n DoubleValue: {\n fields: {\n value: {\n type: \"double\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.FloatValue message.\n * @interface IFloatValue\n * @type {Object}\n * @property {number} [value]\n * @memberof common\n */\n FloatValue: {\n fields: {\n value: {\n type: \"float\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.Int64Value message.\n * @interface IInt64Value\n * @type {Object}\n * @property {number|Long} [value]\n * @memberof common\n */\n Int64Value: {\n fields: {\n value: {\n type: \"int64\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.UInt64Value message.\n * @interface IUInt64Value\n * @type {Object}\n * @property {number|Long} [value]\n * @memberof common\n */\n UInt64Value: {\n fields: {\n value: {\n type: \"uint64\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.Int32Value message.\n * @interface IInt32Value\n * @type {Object}\n * @property {number} [value]\n * @memberof common\n */\n Int32Value: {\n fields: {\n value: {\n type: \"int32\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.UInt32Value message.\n * @interface IUInt32Value\n * @type {Object}\n * @property {number} [value]\n * @memberof common\n */\n UInt32Value: {\n fields: {\n value: {\n type: \"uint32\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.BoolValue message.\n * @interface IBoolValue\n * @type {Object}\n * @property {boolean} [value]\n * @memberof common\n */\n BoolValue: {\n fields: {\n value: {\n type: \"bool\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.StringValue message.\n * @interface IStringValue\n * @type {Object}\n * @property {string} [value]\n * @memberof common\n */\n StringValue: {\n fields: {\n value: {\n type: \"string\",\n id: 1\n }\n }\n },\n\n /**\n * Properties of a google.protobuf.BytesValue message.\n * @interface IBytesValue\n * @type {Object}\n * @property {Uint8Array} [value]\n * @memberof common\n */\n BytesValue: {\n fields: {\n value: {\n type: \"bytes\",\n id: 1\n }\n }\n }\n});\n\ncommon(\"field_mask\", {\n\n /**\n * Properties of a google.protobuf.FieldMask message.\n * @interface IDoubleValue\n * @type {Object}\n * @property {number} [value]\n * @memberof common\n */\n FieldMask: {\n fields: {\n paths: {\n rule: \"repeated\",\n type: \"string\",\n id: 1\n }\n }\n }\n});\n\n/**\n * Gets the root definition of the specified common proto file.\n *\n * Bundled definitions are:\n * - google/protobuf/any.proto\n * - google/protobuf/duration.proto\n * - google/protobuf/empty.proto\n * - google/protobuf/field_mask.proto\n * - google/protobuf/struct.proto\n * - google/protobuf/timestamp.proto\n * - google/protobuf/wrappers.proto\n *\n * @param {string} file Proto file name\n * @returns {INamespace|null} Root definition or `null` if not defined\n */\ncommon.get = function get(file) {\n return common[file] || null;\n};\n","\"use strict\";\n/**\n * Runtime message from/to plain object converters.\n * @namespace\n */\nvar converter = exports;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial value fromObject conveter.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} prop Property reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genValuePartial_fromObject(gen, field, fieldIndex, prop) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(d%s){\", prop);\n for (var values = field.resolvedType.values, keys = Object.keys(values), i = 0; i < keys.length; ++i) {\n if (field.repeated && values[keys[i]] === field.typeDefault) gen\n (\"default:\");\n gen\n (\"case%j:\", keys[i])\n (\"case %i:\", values[keys[i]])\n (\"m%s=%j\", prop, values[keys[i]])\n (\"break\");\n } gen\n (\"}\");\n } else gen\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s=types[%i].fromObject(d%s)\", prop, fieldIndex, prop);\n } else {\n var isUnsigned = false;\n switch (field.type) {\n case \"double\":\n case \"float\": gen\n (\"m%s=Number(d%s)\", prop, prop); // also catches \"NaN\", \"Infinity\"\n break;\n case \"uint32\":\n case \"fixed32\": gen\n (\"m%s=d%s>>>0\", prop, prop);\n break;\n case \"int32\":\n case \"sint32\":\n case \"sfixed32\": gen\n (\"m%s=d%s|0\", prop, prop);\n break;\n case \"uint64\":\n isUnsigned = true;\n // eslint-disable-line no-fallthrough\n case \"int64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(util.Long)\")\n (\"(m%s=util.Long.fromValue(d%s)).unsigned=%j\", prop, prop, isUnsigned)\n (\"else if(typeof d%s===\\\"string\\\")\", prop)\n (\"m%s=parseInt(d%s,10)\", prop, prop)\n (\"else if(typeof d%s===\\\"number\\\")\", prop)\n (\"m%s=d%s\", prop, prop)\n (\"else if(typeof d%s===\\\"object\\\")\", prop)\n (\"m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)\", prop, prop, prop, isUnsigned ? \"true\" : \"\");\n break;\n case \"bytes\": gen\n (\"if(typeof d%s===\\\"string\\\")\", prop)\n (\"util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)\", prop, prop, prop)\n (\"else if(d%s.length)\", prop)\n (\"m%s=d%s\", prop, prop);\n break;\n case \"string\": gen\n (\"m%s=String(d%s)\", prop, prop);\n break;\n case \"bool\": gen\n (\"m%s=Boolean(d%s)\", prop, prop);\n break;\n /* default: gen\n (\"m%s=d%s\", prop, prop);\n break; */\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a plain object to runtime message converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.fromObject = function fromObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray;\n var gen = util.codegen([\"d\"], mtype.name + \"$fromObject\")\n (\"if(d instanceof this.ctor)\")\n (\"return d\");\n if (!fields.length) return gen\n (\"return new this.ctor\");\n gen\n (\"var m=new this.ctor\");\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n prop = util.safeProp(field.name);\n\n // Map fields\n if (field.map) { gen\n (\"if(d%s){\", prop)\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s={}\", prop)\n (\"for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){\", prop);\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop + \"[ks[i]]\")\n (\"}\")\n (\"}\");\n\n // Repeated fields\n } else if (field.repeated) { gen\n (\"if(d%s){\", prop)\n (\"if(!Array.isArray(d%s))\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": array expected\")\n (\"m%s=[]\", prop)\n (\"for(var i=0;i<d%s.length;++i){\", prop);\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop + \"[i]\")\n (\"}\")\n (\"}\");\n\n // Non-repeated fields\n } else {\n if (!(field.resolvedType instanceof Enum)) gen // no need to test for null/undefined if an enum (uses switch)\n (\"if(d%s!=null){\", prop); // !== undefined && !== null\n genValuePartial_fromObject(gen, field, /* not sorted */ i, prop);\n if (!(field.resolvedType instanceof Enum)) gen\n (\"}\");\n }\n } return gen\n (\"return m\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n};\n\n/**\n * Generates a partial value toObject converter.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} prop Property reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genValuePartial_toObject(gen, field, fieldIndex, prop) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) gen\n (\"d%s=o.enums===String?types[%i].values[m%s]:m%s\", prop, fieldIndex, prop, prop);\n else gen\n (\"d%s=types[%i].toObject(m%s,o)\", prop, fieldIndex, prop);\n } else {\n var isUnsigned = false;\n switch (field.type) {\n case \"double\":\n case \"float\": gen\n (\"d%s=o.json&&!isFinite(m%s)?String(m%s):m%s\", prop, prop, prop, prop);\n break;\n case \"uint64\":\n isUnsigned = true;\n // eslint-disable-line no-fallthrough\n case \"int64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(typeof m%s===\\\"number\\\")\", prop)\n (\"d%s=o.longs===String?String(m%s):m%s\", prop, prop, prop)\n (\"else\") // Long-like\n (\"d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s\", prop, prop, prop, prop, isUnsigned ? \"true\": \"\", prop);\n break;\n case \"bytes\": gen\n (\"d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s\", prop, prop, prop, prop, prop);\n break;\n default: gen\n (\"d%s=m%s\", prop, prop);\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a runtime message to plain object converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.toObject = function toObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray.slice().sort(util.compareFieldsById);\n if (!fields.length)\n return util.codegen()(\"return {}\");\n var gen = util.codegen([\"m\", \"o\"], mtype.name + \"$toObject\")\n (\"if(!o)\")\n (\"o={}\")\n (\"var d={}\");\n\n var repeatedFields = [],\n mapFields = [],\n normalFields = [],\n i = 0;\n for (; i < fields.length; ++i)\n if (!fields[i].partOf)\n ( fields[i].resolve().repeated ? repeatedFields\n : fields[i].map ? mapFields\n : normalFields).push(fields[i]);\n\n if (repeatedFields.length) { gen\n (\"if(o.arrays||o.defaults){\");\n for (i = 0; i < repeatedFields.length; ++i) gen\n (\"d%s=[]\", util.safeProp(repeatedFields[i].name));\n gen\n (\"}\");\n }\n\n if (mapFields.length) { gen\n (\"if(o.objects||o.defaults){\");\n for (i = 0; i < mapFields.length; ++i) gen\n (\"d%s={}\", util.safeProp(mapFields[i].name));\n gen\n (\"}\");\n }\n\n if (normalFields.length) { gen\n (\"if(o.defaults){\");\n for (i = 0; i < normalFields.length; ++i) {\n var field = normalFields[i],\n prop = util.safeProp(field.name);\n if (field.resolvedType instanceof Enum) gen\n (\"d%s=o.enums===String?%j:%j\", prop, field.resolvedType.valuesById[field.typeDefault], field.typeDefault);\n else if (field.long) gen\n (\"if(util.Long){\")\n (\"var n=new util.Long(%i,%i,%j)\", field.typeDefault.low, field.typeDefault.high, field.typeDefault.unsigned)\n (\"d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n\", prop)\n (\"}else\")\n (\"d%s=o.longs===String?%j:%i\", prop, field.typeDefault.toString(), field.typeDefault.toNumber());\n else if (field.bytes) {\n var arrayDefault = \"[\" + Array.prototype.slice.call(field.typeDefault).join(\",\") + \"]\";\n gen\n (\"if(o.bytes===String)d%s=%j\", prop, String.fromCharCode.apply(String, field.typeDefault))\n (\"else{\")\n (\"d%s=%s\", prop, arrayDefault)\n (\"if(o.bytes!==Array)d%s=util.newBuffer(d%s)\", prop, prop)\n (\"}\");\n } else gen\n (\"d%s=%j\", prop, field.typeDefault); // also messages (=null)\n } gen\n (\"}\");\n }\n var hasKs2 = false;\n for (i = 0; i < fields.length; ++i) {\n var field = fields[i],\n index = mtype._fieldsArray.indexOf(field),\n prop = util.safeProp(field.name);\n if (field.map) {\n if (!hasKs2) { hasKs2 = true; gen\n (\"var ks2\");\n } gen\n (\"if(m%s&&(ks2=Object.keys(m%s)).length){\", prop, prop)\n (\"d%s={}\", prop)\n (\"for(var j=0;j<ks2.length;++j){\");\n genValuePartial_toObject(gen, field, /* sorted */ index, prop + \"[ks2[j]]\")\n (\"}\");\n } else if (field.repeated) { gen\n (\"if(m%s&&m%s.length){\", prop, prop)\n (\"d%s=[]\", prop)\n (\"for(var j=0;j<m%s.length;++j){\", prop);\n genValuePartial_toObject(gen, field, /* sorted */ index, prop + \"[j]\")\n (\"}\");\n } else { gen\n (\"if(m%s!=null&&m.hasOwnProperty(%j)){\", prop, field.name); // !== undefined && !== null\n genValuePartial_toObject(gen, field, /* sorted */ index, prop);\n if (field.partOf) gen\n (\"if(o.oneofs)\")\n (\"d%s=%j\", util.safeProp(field.partOf.name), field.name);\n }\n gen\n (\"}\");\n }\n return gen\n (\"return d\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n};\n","\"use strict\";\nmodule.exports = decoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nfunction missing(field) {\n return \"missing required '\" + field.name + \"'\";\n}\n\n/**\n * Generates a decoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction decoder(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"r\", \"l\"], mtype.name + \"$decode\")\n (\"if(!(r instanceof Reader))\")\n (\"r=Reader.create(r)\")\n (\"var c=l===undefined?r.len:r.pos+l,m=new this.ctor\" + (mtype.fieldsArray.filter(function(field) { return field.map; }).length ? \",k,value\" : \"\"))\n (\"while(r.pos<c){\")\n (\"var t=r.uint32()\");\n if (mtype.group) gen\n (\"if((t&7)===4)\")\n (\"break\");\n gen\n (\"switch(t>>>3){\");\n\n var i = 0;\n for (; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n ref = \"m\" + util.safeProp(field.name); gen\n (\"case %i:\", field.id);\n\n // Map fields\n if (field.map) { gen\n (\"if(%s===util.emptyObject)\", ref)\n (\"%s={}\", ref)\n (\"var c2 = r.uint32()+r.pos\");\n\n if (types.defaults[field.keyType] !== undefined) gen\n (\"k=%j\", types.defaults[field.keyType]);\n else gen\n (\"k=null\");\n\n if (types.defaults[type] !== undefined) gen\n (\"value=%j\", types.defaults[type]);\n else gen\n (\"value=null\");\n\n gen\n (\"while(r.pos<c2){\")\n (\"var tag2=r.uint32()\")\n (\"switch(tag2>>>3){\")\n (\"case 1: k=r.%s(); break\", field.keyType)\n (\"case 2:\");\n\n if (types.basic[type] === undefined) gen\n (\"value=types[%i].decode(r,r.uint32())\", i); // can't be groups\n else gen\n (\"value=r.%s()\", type);\n\n gen\n (\"break\")\n (\"default:\")\n (\"r.skipType(tag2&7)\")\n (\"break\")\n (\"}\")\n (\"}\");\n\n if (types.long[field.keyType] !== undefined) gen\n (\"%s[typeof k===\\\"object\\\"?util.longToHash(k):k]=value\", ref);\n else gen\n (\"%s[k]=value\", ref);\n\n // Repeated fields\n } else if (field.repeated) { gen\n\n (\"if(!(%s&&%s.length))\", ref, ref)\n (\"%s=[]\", ref);\n\n // Packable (always check for forward and backward compatiblity)\n if (types.packed[type] !== undefined) gen\n (\"if((t&7)===2){\")\n (\"var c2=r.uint32()+r.pos\")\n (\"while(r.pos<c2)\")\n (\"%s.push(r.%s())\", ref, type)\n (\"}else\");\n\n // Non-packed\n if (types.basic[type] === undefined) gen(field.resolvedType.group\n ? \"%s.push(types[%i].decode(r))\"\n : \"%s.push(types[%i].decode(r,r.uint32()))\", ref, i);\n else gen\n (\"%s.push(r.%s())\", ref, type);\n\n // Non-repeated\n } else if (types.basic[type] === undefined) gen(field.resolvedType.group\n ? \"%s=types[%i].decode(r)\"\n : \"%s=types[%i].decode(r,r.uint32())\", ref, i);\n else gen\n (\"%s=r.%s()\", ref, type);\n gen\n (\"break\");\n // Unknown fields\n } gen\n (\"default:\")\n (\"r.skipType(t&7)\")\n (\"break\")\n\n (\"}\")\n (\"}\");\n\n // Field presence\n for (i = 0; i < mtype._fieldsArray.length; ++i) {\n var rfield = mtype._fieldsArray[i];\n if (rfield.required) gen\n (\"if(!m.hasOwnProperty(%j))\", rfield.name)\n (\"throw util.ProtocolError(%j,{instance:m})\", missing(rfield));\n }\n\n return gen\n (\"return m\");\n /* eslint-enable no-unexpected-multiline */\n}\n","\"use strict\";\nmodule.exports = encoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial message type encoder.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genTypePartial(gen, field, fieldIndex, ref) {\n return field.resolvedType.group\n ? gen(\"types[%i].encode(%s,w.uint32(%i)).uint32(%i)\", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)\n : gen(\"types[%i].encode(%s,w.uint32(%i).fork()).ldelim()\", fieldIndex, ref, (field.id << 3 | 2) >>> 0);\n}\n\n/**\n * Generates an encoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction encoder(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var gen = util.codegen([\"m\", \"w\"], mtype.name + \"$encode\")\n (\"if(!w)\")\n (\"w=Writer.create()\");\n\n var i, ref;\n\n // \"when a message is serialized its known fields should be written sequentially by field number\"\n var fields = /* initializes */ mtype.fieldsArray.slice().sort(util.compareFieldsById);\n\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n index = mtype._fieldsArray.indexOf(field),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n wireType = types.basic[type];\n ref = \"m\" + util.safeProp(field.name);\n\n // Map fields\n if (field.map) {\n gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j)){\", ref, field.name) // !== undefined && !== null\n (\"for(var ks=Object.keys(%s),i=0;i<ks.length;++i){\", ref)\n (\"w.uint32(%i).fork().uint32(%i).%s(ks[i])\", (field.id << 3 | 2) >>> 0, 8 | types.mapKey[field.keyType], field.keyType);\n if (wireType === undefined) gen\n (\"types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()\", index, ref); // can't be groups\n else gen\n (\".uint32(%i).%s(%s[ks[i]]).ldelim()\", 16 | wireType, type, ref);\n gen\n (\"}\")\n (\"}\");\n\n // Repeated fields\n } else if (field.repeated) { gen\n (\"if(%s!=null&&%s.length){\", ref, ref); // !== undefined && !== null\n\n // Packed repeated\n if (field.packed && types.packed[type] !== undefined) { gen\n\n (\"w.uint32(%i).fork()\", (field.id << 3 | 2) >>> 0)\n (\"for(var i=0;i<%s.length;++i)\", ref)\n (\"w.%s(%s[i])\", type, ref)\n (\"w.ldelim()\");\n\n // Non-packed\n } else { gen\n\n (\"for(var i=0;i<%s.length;++i)\", ref);\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref + \"[i]\");\n else gen\n (\"w.uint32(%i).%s(%s[i])\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n } gen\n (\"}\");\n\n // Non-repeated\n } else {\n if (field.optional) gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j))\", ref, field.name); // !== undefined && !== null\n\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref);\n else gen\n (\"w.uint32(%i).%s(%s)\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n }\n }\n\n return gen\n (\"return w\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n","\"use strict\";\nmodule.exports = Enum;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = \"Enum\";\n\nvar Namespace = require(\"./namespace\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new enum instance.\n * @classdesc Reflected enum.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {Object.<string,number>} [values] Enum values as an object, by name\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] The comment for this enum\n * @param {Object.<string,string>} [comments] The value comments for this enum\n */\nfunction Enum(name, values, options, comment, comments) {\n ReflectionObject.call(this, name, options);\n\n if (values && typeof values !== \"object\")\n throw TypeError(\"values must be an object\");\n\n /**\n * Enum values by id.\n * @type {Object.<number,string>}\n */\n this.valuesById = {};\n\n /**\n * Enum values by name.\n * @type {Object.<string,number>}\n */\n this.values = Object.create(this.valuesById); // toJSON, marker\n\n /**\n * Enum comment text.\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Value comment texts, if any.\n * @type {Object.<string,string>}\n */\n this.comments = comments || {};\n\n /**\n * Reserved ranges, if any.\n * @type {Array.<number[]|string>}\n */\n this.reserved = undefined; // toJSON\n\n // Note that values inherit valuesById on their prototype which makes them a TypeScript-\n // compatible enum. This is used by pbts to write actual enum definitions that work for\n // static and reflection code alike instead of emitting generic object definitions.\n\n if (values)\n for (var keys = Object.keys(values), i = 0; i < keys.length; ++i)\n if (typeof values[keys[i]] === \"number\") // use forward entries only\n this.valuesById[ this.values[keys[i]] = values[keys[i]] ] = keys[i];\n}\n\n/**\n * Enum descriptor.\n * @interface IEnum\n * @property {Object.<string,number>} values Enum values\n * @property {Object.<string,*>} [options] Enum options\n */\n\n/**\n * Constructs an enum from an enum descriptor.\n * @param {string} name Enum name\n * @param {IEnum} json Enum descriptor\n * @returns {Enum} Created enum\n * @throws {TypeError} If arguments are invalid\n */\nEnum.fromJSON = function fromJSON(name, json) {\n var enm = new Enum(name, json.values, json.options, json.comment, json.comments);\n enm.reserved = json.reserved;\n return enm;\n};\n\n/**\n * Converts this enum to an enum descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IEnum} Enum descriptor\n */\nEnum.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"values\" , this.values,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"comment\" , keepComments ? this.comment : undefined,\n \"comments\" , keepComments ? this.comments : undefined\n ]);\n};\n\n/**\n * Adds a value to this enum.\n * @param {string} name Value name\n * @param {number} id Value id\n * @param {string} [comment] Comment, if any\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a value with this name or id\n */\nEnum.prototype.add = function add(name, id, comment) {\n // utilized by the parser but not by .fromJSON\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (!util.isInteger(id))\n throw TypeError(\"id must be an integer\");\n\n if (this.values[name] !== undefined)\n throw Error(\"duplicate name '\" + name + \"' in \" + this);\n\n if (this.isReservedId(id))\n throw Error(\"id \" + id + \" is reserved in \" + this);\n\n if (this.isReservedName(name))\n throw Error(\"name '\" + name + \"' is reserved in \" + this);\n\n if (this.valuesById[id] !== undefined) {\n if (!(this.options && this.options.allow_alias))\n throw Error(\"duplicate id \" + id + \" in \" + this);\n this.values[name] = id;\n } else\n this.valuesById[this.values[name] = id] = name;\n\n this.comments[name] = comment || null;\n return this;\n};\n\n/**\n * Removes a value from this enum\n * @param {string} name Value name\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `name` is not a name of this enum\n */\nEnum.prototype.remove = function remove(name) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n var val = this.values[name];\n if (val == null)\n throw Error(\"name '\" + name + \"' does not exist in \" + this);\n\n delete this.valuesById[val];\n delete this.values[name];\n delete this.comments[name];\n\n return this;\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n","\"use strict\";\nmodule.exports = Field;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = \"Field\";\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nvar Type; // cyclic\n\nvar ruleRe = /^required|optional|repeated$/;\n\n/**\n * Constructs a new message field instance. Note that {@link MapField|map fields} have their own class.\n * @name Field\n * @classdesc Reflected message field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.<string,*>} [rule=\"optional\"] Field rule\n * @param {string|Object.<string,*>} [extend] Extended type if different from parent\n * @param {Object.<string,*>} [options] Declared options\n */\n\n/**\n * Constructs a field from a field descriptor.\n * @param {string} name Field name\n * @param {IField} json Field descriptor\n * @returns {Field} Created field\n * @throws {TypeError} If arguments are invalid\n */\nField.fromJSON = function fromJSON(name, json) {\n return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);\n};\n\n/**\n * Not an actual constructor. Use {@link Field} instead.\n * @classdesc Base class of all reflected message fields. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports FieldBase\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.<string,*>} [rule=\"optional\"] Field rule\n * @param {string|Object.<string,*>} [extend] Extended type if different from parent\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction Field(name, id, type, rule, extend, options, comment) {\n\n if (util.isObject(rule)) {\n comment = extend;\n options = rule;\n rule = extend = undefined;\n } else if (util.isObject(extend)) {\n comment = options;\n options = extend;\n extend = undefined;\n }\n\n ReflectionObject.call(this, name, options);\n\n if (!util.isInteger(id) || id < 0)\n throw TypeError(\"id must be a non-negative integer\");\n\n if (!util.isString(type))\n throw TypeError(\"type must be a string\");\n\n if (rule !== undefined && !ruleRe.test(rule = rule.toString().toLowerCase()))\n throw TypeError(\"rule must be a string rule\");\n\n if (extend !== undefined && !util.isString(extend))\n throw TypeError(\"extend must be a string\");\n\n if (rule === \"proto3_optional\") {\n rule = \"optional\";\n }\n /**\n * Field rule, if any.\n * @type {string|undefined}\n */\n this.rule = rule && rule !== \"optional\" ? rule : undefined; // toJSON\n\n /**\n * Field type.\n * @type {string}\n */\n this.type = type; // toJSON\n\n /**\n * Unique field id.\n * @type {number}\n */\n this.id = id; // toJSON, marker\n\n /**\n * Extended type if different from parent.\n * @type {string|undefined}\n */\n this.extend = extend || undefined; // toJSON\n\n /**\n * Whether this field is required.\n * @type {boolean}\n */\n this.required = rule === \"required\";\n\n /**\n * Whether this field is optional.\n * @type {boolean}\n */\n this.optional = !this.required;\n\n /**\n * Whether this field is repeated.\n * @type {boolean}\n */\n this.repeated = rule === \"repeated\";\n\n /**\n * Whether this field is a map or not.\n * @type {boolean}\n */\n this.map = false;\n\n /**\n * Message this field belongs to.\n * @type {Type|null}\n */\n this.message = null;\n\n /**\n * OneOf this field belongs to, if any,\n * @type {OneOf|null}\n */\n this.partOf = null;\n\n /**\n * The field type's default value.\n * @type {*}\n */\n this.typeDefault = null;\n\n /**\n * The field's default value on prototypes.\n * @type {*}\n */\n this.defaultValue = null;\n\n /**\n * Whether this field's value should be treated as a long.\n * @type {boolean}\n */\n this.long = util.Long ? types.long[type] !== undefined : /* istanbul ignore next */ false;\n\n /**\n * Whether this field's value is a buffer.\n * @type {boolean}\n */\n this.bytes = type === \"bytes\";\n\n /**\n * Resolved type if not a basic type.\n * @type {Type|Enum|null}\n */\n this.resolvedType = null;\n\n /**\n * Sister-field within the extended type if a declaring extension field.\n * @type {Field|null}\n */\n this.extensionField = null;\n\n /**\n * Sister-field within the declaring namespace if an extended field.\n * @type {Field|null}\n */\n this.declaringField = null;\n\n /**\n * Internally remembers whether this field is packed.\n * @type {boolean|null}\n * @private\n */\n this._packed = null;\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Determines whether this field is packed. Only relevant when repeated and working with proto2.\n * @name Field#packed\n * @type {boolean}\n * @readonly\n */\nObject.defineProperty(Field.prototype, \"packed\", {\n get: function() {\n // defaults to packed=true if not explicity set to false\n if (this._packed === null)\n this._packed = this.getOption(\"packed\") !== false;\n return this._packed;\n }\n});\n\n/**\n * @override\n */\nField.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (name === \"packed\") // clear cached before setting\n this._packed = null;\n return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);\n};\n\n/**\n * Field descriptor.\n * @interface IField\n * @property {string} [rule=\"optional\"] Field rule\n * @property {string} type Field type\n * @property {number} id Field id\n * @property {Object.<string,*>} [options] Field options\n */\n\n/**\n * Extension field descriptor.\n * @interface IExtensionField\n * @extends IField\n * @property {string} extend Extended type\n */\n\n/**\n * Converts this field to a field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IField} Field descriptor\n */\nField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"rule\" , this.rule !== \"optional\" && this.rule || undefined,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Resolves this field's type references.\n * @returns {Field} `this`\n * @throws {Error} If any reference cannot be resolved\n */\nField.prototype.resolve = function resolve() {\n\n if (this.resolved)\n return this;\n\n if ((this.typeDefault = types.defaults[this.type]) === undefined) { // if not a basic type, resolve it\n this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);\n if (this.resolvedType instanceof Type)\n this.typeDefault = null;\n else // instanceof Enum\n this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]; // first defined\n }\n\n // use explicitly set default value if present\n if (this.options && this.options[\"default\"] != null) {\n this.typeDefault = this.options[\"default\"];\n if (this.resolvedType instanceof Enum && typeof this.typeDefault === \"string\")\n this.typeDefault = this.resolvedType.values[this.typeDefault];\n }\n\n // remove unnecessary options\n if (this.options) {\n if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))\n delete this.options.packed;\n if (!Object.keys(this.options).length)\n this.options = undefined;\n }\n\n // convert to internal data type if necesssary\n if (this.long) {\n this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === \"u\");\n\n /* istanbul ignore else */\n if (Object.freeze)\n Object.freeze(this.typeDefault); // long instances are meant to be immutable anyway (i.e. use small int cache that even requires it)\n\n } else if (this.bytes && typeof this.typeDefault === \"string\") {\n var buf;\n if (util.base64.test(this.typeDefault))\n util.base64.decode(this.typeDefault, buf = util.newBuffer(util.base64.length(this.typeDefault)), 0);\n else\n util.utf8.write(this.typeDefault, buf = util.newBuffer(util.utf8.length(this.typeDefault)), 0);\n this.typeDefault = buf;\n }\n\n // take special care of maps and repeated fields\n if (this.map)\n this.defaultValue = util.emptyObject;\n else if (this.repeated)\n this.defaultValue = util.emptyArray;\n else\n this.defaultValue = this.typeDefault;\n\n // ensure proper value on prototype\n if (this.parent instanceof Type)\n this.parent.ctor.prototype[this.name] = this.defaultValue;\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n\n/**\n * Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).\n * @typedef FieldDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} fieldName Field name\n * @returns {undefined}\n */\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"string\"|\"bool\"|\"bytes\"|Object} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @param {T} [defaultValue] Default value\n * @returns {FieldDecorator} Decorator function\n * @template T extends number | number[] | Long | Long[] | string | string[] | boolean | boolean[] | Uint8Array | Uint8Array[] | Buffer | Buffer[]\n */\nField.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {\n\n // submessage: decorate the submessage and use its name as the type\n if (typeof fieldType === \"function\")\n fieldType = util.decorateType(fieldType).name;\n\n // enum reference: create a reflected copy of the enum and keep reuseing it\n else if (fieldType && typeof fieldType === \"object\")\n fieldType = util.decorateEnum(fieldType).name;\n\n return function fieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new Field(fieldName, fieldId, fieldType, fieldRule, { \"default\": defaultValue }));\n };\n};\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {Constructor<T>|string} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @returns {FieldDecorator} Decorator function\n * @template T extends Message<T>\n * @variation 2\n */\n// like Field.d but without a default value\n\n// Sets up cyclic dependencies (called in index-light)\nField._configure = function configure(Type_) {\n Type = Type_;\n};\n","\"use strict\";\nvar protobuf = module.exports = require(\"./index-minimal\");\n\nprotobuf.build = \"light\";\n\n/**\n * A node-style callback as used by {@link load} and {@link Root#load}.\n * @typedef LoadCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Root} [root] Root, if there hasn't been an error\n * @returns {undefined}\n */\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} root Root namespace, defaults to create a new one if omitted.\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n */\nfunction load(filename, root, callback) {\n if (typeof root === \"function\") {\n callback = root;\n root = new protobuf.Root();\n } else if (!root)\n root = new protobuf.Root();\n return root.load(filename, callback);\n}\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and returns a promise.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Promise<Root>} Promise\n * @see {@link Root#load}\n * @variation 3\n */\n// function load(filename:string, [root:Root]):Promise<Root>\n\nprotobuf.load = load;\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into a common root namespace (node only).\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n * @see {@link Root#loadSync}\n */\nfunction loadSync(filename, root) {\n if (!root)\n root = new protobuf.Root();\n return root.loadSync(filename);\n}\n\nprotobuf.loadSync = loadSync;\n\n// Serialization\nprotobuf.encoder = require(\"./encoder\");\nprotobuf.decoder = require(\"./decoder\");\nprotobuf.verifier = require(\"./verifier\");\nprotobuf.converter = require(\"./converter\");\n\n// Reflection\nprotobuf.ReflectionObject = require(\"./object\");\nprotobuf.Namespace = require(\"./namespace\");\nprotobuf.Root = require(\"./root\");\nprotobuf.Enum = require(\"./enum\");\nprotobuf.Type = require(\"./type\");\nprotobuf.Field = require(\"./field\");\nprotobuf.OneOf = require(\"./oneof\");\nprotobuf.MapField = require(\"./mapfield\");\nprotobuf.Service = require(\"./service\");\nprotobuf.Method = require(\"./method\");\n\n// Runtime\nprotobuf.Message = require(\"./message\");\nprotobuf.wrappers = require(\"./wrappers\");\n\n// Utility\nprotobuf.types = require(\"./types\");\nprotobuf.util = require(\"./util\");\n\n// Set up possibly cyclic reflection dependencies\nprotobuf.ReflectionObject._configure(protobuf.Root);\nprotobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);\nprotobuf.Root._configure(protobuf.Type);\nprotobuf.Field._configure(protobuf.Type);\n","\"use strict\";\nvar protobuf = exports;\n\n/**\n * Build type, one of `\"full\"`, `\"light\"` or `\"minimal\"`.\n * @name build\n * @type {string}\n * @const\n */\nprotobuf.build = \"minimal\";\n\n// Serialization\nprotobuf.Writer = require(\"./writer\");\nprotobuf.BufferWriter = require(\"./writer_buffer\");\nprotobuf.Reader = require(\"./reader\");\nprotobuf.BufferReader = require(\"./reader_buffer\");\n\n// Utility\nprotobuf.util = require(\"./util/minimal\");\nprotobuf.rpc = require(\"./rpc\");\nprotobuf.roots = require(\"./roots\");\nprotobuf.configure = configure;\n\n/* istanbul ignore next */\n/**\n * Reconfigures the library according to the environment.\n * @returns {undefined}\n */\nfunction configure() {\n protobuf.util._configure();\n protobuf.Writer._configure(protobuf.BufferWriter);\n protobuf.Reader._configure(protobuf.BufferReader);\n}\n\n// Set up buffer utility according to the environment\nconfigure();\n","\"use strict\";\nvar protobuf = module.exports = require(\"./index-light\");\n\nprotobuf.build = \"full\";\n\n// Parser\nprotobuf.tokenize = require(\"./tokenize\");\nprotobuf.parse = require(\"./parse\");\nprotobuf.common = require(\"./common\");\n\n// Configure parser\nprotobuf.Root._configure(protobuf.Type, protobuf.parse, protobuf.common);\n","\"use strict\";\nmodule.exports = MapField;\n\n// extends Field\nvar Field = require(\"./field\");\n((MapField.prototype = Object.create(Field.prototype)).constructor = MapField).className = \"MapField\";\n\nvar types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new map field instance.\n * @classdesc Reflected map field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} keyType Key type\n * @param {string} type Value type\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction MapField(name, id, keyType, type, options, comment) {\n Field.call(this, name, id, type, undefined, undefined, options, comment);\n\n /* istanbul ignore if */\n if (!util.isString(keyType))\n throw TypeError(\"keyType must be a string\");\n\n /**\n * Key type.\n * @type {string}\n */\n this.keyType = keyType; // toJSON, marker\n\n /**\n * Resolved key type if not a basic type.\n * @type {ReflectionObject|null}\n */\n this.resolvedKeyType = null;\n\n // Overrides Field#map\n this.map = true;\n}\n\n/**\n * Map field descriptor.\n * @interface IMapField\n * @extends {IField}\n * @property {string} keyType Key type\n */\n\n/**\n * Extension map field descriptor.\n * @interface IExtensionMapField\n * @extends IMapField\n * @property {string} extend Extended type\n */\n\n/**\n * Constructs a map field from a map field descriptor.\n * @param {string} name Field name\n * @param {IMapField} json Map field descriptor\n * @returns {MapField} Created map field\n * @throws {TypeError} If arguments are invalid\n */\nMapField.fromJSON = function fromJSON(name, json) {\n return new MapField(name, json.id, json.keyType, json.type, json.options, json.comment);\n};\n\n/**\n * Converts this map field to a map field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMapField} Map field descriptor\n */\nMapField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"keyType\" , this.keyType,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nMapField.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n\n // Besides a value type, map fields have a key type that may be \"any scalar type except for floating point types and bytes\"\n if (types.mapKey[this.keyType] === undefined)\n throw Error(\"invalid key type: \" + this.keyType);\n\n return Field.prototype.resolve.call(this);\n};\n\n/**\n * Map field decorator (TypeScript).\n * @name MapField.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"} fieldKeyType Field key type\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"|\"bytes\"|Object|Constructor<{}>} fieldValueType Field value type\n * @returns {FieldDecorator} Decorator function\n * @template T extends { [key: string]: number | Long | string | boolean | Uint8Array | Buffer | number[] | Message<{}> }\n */\nMapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {\n\n // submessage value: decorate the submessage and use its name as the type\n if (typeof fieldValueType === \"function\")\n fieldValueType = util.decorateType(fieldValueType).name;\n\n // enum reference value: create a reflected copy of the enum and keep reuseing it\n else if (fieldValueType && typeof fieldValueType === \"object\")\n fieldValueType = util.decorateEnum(fieldValueType).name;\n\n return function mapFieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new MapField(fieldName, fieldId, fieldKeyType, fieldValueType));\n };\n};\n","\"use strict\";\nmodule.exports = Message;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new message instance.\n * @classdesc Abstract runtime message.\n * @constructor\n * @param {Properties<T>} [properties] Properties to set\n * @template T extends object = object\n */\nfunction Message(properties) {\n // not used internally\n if (properties)\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n this[keys[i]] = properties[keys[i]];\n}\n\n/**\n * Reference to the reflected type.\n * @name Message.$type\n * @type {Type}\n * @readonly\n */\n\n/**\n * Reference to the reflected type.\n * @name Message#$type\n * @type {Type}\n * @readonly\n */\n\n/*eslint-disable valid-jsdoc*/\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.<string,*>} [properties] Properties to set\n * @returns {Message<T>} Message instance\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.create = function create(properties) {\n return this.$type.create(properties);\n};\n\n/**\n * Encodes a message of this type.\n * @param {T|Object.<string,*>} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.encode = function encode(message, writer) {\n return this.$type.encode(message, writer);\n};\n\n/**\n * Encodes a message of this type preceeded by its length as a varint.\n * @param {T|Object.<string,*>} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.$type.encodeDelimited(message, writer);\n};\n\n/**\n * Decodes a message of this type.\n * @name Message.decode\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.decode = function decode(reader) {\n return this.$type.decode(reader);\n};\n\n/**\n * Decodes a message of this type preceeded by its length as a varint.\n * @name Message.decodeDelimited\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.decodeDelimited = function decodeDelimited(reader) {\n return this.$type.decodeDelimited(reader);\n};\n\n/**\n * Verifies a message of this type.\n * @name Message.verify\n * @function\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\nMessage.verify = function verify(message) {\n return this.$type.verify(message);\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.<string,*>} object Plain object\n * @returns {T} Message instance\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.fromObject = function fromObject(object) {\n return this.$type.fromObject(object);\n};\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {T} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n * @template T extends Message<T>\n * @this Constructor<T>\n */\nMessage.toObject = function toObject(message, options) {\n return this.$type.toObject(message, options);\n};\n\n/**\n * Converts this message to JSON.\n * @returns {Object.<string,*>} JSON object\n */\nMessage.prototype.toJSON = function toJSON() {\n return this.$type.toObject(this, util.toJSONOptions);\n};\n\n/*eslint-enable valid-jsdoc*/","\"use strict\";\nmodule.exports = Method;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = \"Method\";\n\nvar util = require(\"./util\");\n\n/**\n * Constructs a new service method instance.\n * @classdesc Reflected service method.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Method name\n * @param {string|undefined} type Method type, usually `\"rpc\"`\n * @param {string} requestType Request message type\n * @param {string} responseType Response message type\n * @param {boolean|Object.<string,*>} [requestStream] Whether the request is streamed\n * @param {boolean|Object.<string,*>} [responseStream] Whether the response is streamed\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] The comment for this method\n * @param {Object.<string,*>} [parsedOptions] Declared options, properly parsed into an object\n */\nfunction Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {\n\n /* istanbul ignore next */\n if (util.isObject(requestStream)) {\n options = requestStream;\n requestStream = responseStream = undefined;\n } else if (util.isObject(responseStream)) {\n options = responseStream;\n responseStream = undefined;\n }\n\n /* istanbul ignore if */\n if (!(type === undefined || util.isString(type)))\n throw TypeError(\"type must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(requestType))\n throw TypeError(\"requestType must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(responseType))\n throw TypeError(\"responseType must be a string\");\n\n ReflectionObject.call(this, name, options);\n\n /**\n * Method type.\n * @type {string}\n */\n this.type = type || \"rpc\"; // toJSON\n\n /**\n * Request type.\n * @type {string}\n */\n this.requestType = requestType; // toJSON, marker\n\n /**\n * Whether requests are streamed or not.\n * @type {boolean|undefined}\n */\n this.requestStream = requestStream ? true : undefined; // toJSON\n\n /**\n * Response type.\n * @type {string}\n */\n this.responseType = responseType; // toJSON\n\n /**\n * Whether responses are streamed or not.\n * @type {boolean|undefined}\n */\n this.responseStream = responseStream ? true : undefined; // toJSON\n\n /**\n * Resolved request type.\n * @type {Type|null}\n */\n this.resolvedRequestType = null;\n\n /**\n * Resolved response type.\n * @type {Type|null}\n */\n this.resolvedResponseType = null;\n\n /**\n * Comment for this method\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Options properly parsed into an object\n */\n this.parsedOptions = parsedOptions;\n}\n\n/**\n * Method descriptor.\n * @interface IMethod\n * @property {string} [type=\"rpc\"] Method type\n * @property {string} requestType Request type\n * @property {string} responseType Response type\n * @property {boolean} [requestStream=false] Whether requests are streamed\n * @property {boolean} [responseStream=false] Whether responses are streamed\n * @property {Object.<string,*>} [options] Method options\n * @property {string} comment Method comments\n * @property {Object.<string,*>} [parsedOptions] Method options properly parsed into an object\n */\n\n/**\n * Constructs a method from a method descriptor.\n * @param {string} name Method name\n * @param {IMethod} json Method descriptor\n * @returns {Method} Created method\n * @throws {TypeError} If arguments are invalid\n */\nMethod.fromJSON = function fromJSON(name, json) {\n return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);\n};\n\n/**\n * Converts this method to a method descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMethod} Method descriptor\n */\nMethod.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"type\" , this.type !== \"rpc\" && /* istanbul ignore next */ this.type || undefined,\n \"requestType\" , this.requestType,\n \"requestStream\" , this.requestStream,\n \"responseType\" , this.responseType,\n \"responseStream\" , this.responseStream,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined,\n \"parsedOptions\" , this.parsedOptions,\n ]);\n};\n\n/**\n * @override\n */\nMethod.prototype.resolve = function resolve() {\n\n /* istanbul ignore if */\n if (this.resolved)\n return this;\n\n this.resolvedRequestType = this.parent.lookupType(this.requestType);\n this.resolvedResponseType = this.parent.lookupType(this.responseType);\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n","\"use strict\";\nmodule.exports = Namespace;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = \"Namespace\";\n\nvar Field = require(\"./field\"),\n OneOf = require(\"./oneof\"),\n util = require(\"./util\");\n\nvar Type, // cyclic\n Service,\n Enum;\n\n/**\n * Constructs a new namespace instance.\n * @name Namespace\n * @classdesc Reflected namespace.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.<string,*>} [options] Declared options\n */\n\n/**\n * Constructs a namespace from JSON.\n * @memberof Namespace\n * @function\n * @param {string} name Namespace name\n * @param {Object.<string,*>} json JSON object\n * @returns {Namespace} Created namespace\n * @throws {TypeError} If arguments are invalid\n */\nNamespace.fromJSON = function fromJSON(name, json) {\n return new Namespace(name, json.options).addJSON(json.nested);\n};\n\n/**\n * Converts an array of reflection objects to JSON.\n * @memberof Namespace\n * @param {ReflectionObject[]} array Object array\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {Object.<string,*>|undefined} JSON object or `undefined` when array is empty\n */\nfunction arrayToJSON(array, toJSONOptions) {\n if (!(array && array.length))\n return undefined;\n var obj = {};\n for (var i = 0; i < array.length; ++i)\n obj[array[i].name] = array[i].toJSON(toJSONOptions);\n return obj;\n}\n\nNamespace.arrayToJSON = arrayToJSON;\n\n/**\n * Tests if the specified id is reserved.\n * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedId = function isReservedId(reserved, id) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (typeof reserved[i] !== \"string\" && reserved[i][0] <= id && reserved[i][1] > id)\n return true;\n return false;\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {Array.<number[]|string>|undefined} reserved Array of reserved ranges and names\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedName = function isReservedName(reserved, name) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (reserved[i] === name)\n return true;\n return false;\n};\n\n/**\n * Not an actual constructor. Use {@link Namespace} instead.\n * @classdesc Base class of all reflection objects containing nested objects. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports NamespaceBase\n * @extends ReflectionObject\n * @abstract\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.<string,*>} [options] Declared options\n * @see {@link Namespace}\n */\nfunction Namespace(name, options) {\n ReflectionObject.call(this, name, options);\n\n /**\n * Nested objects by name.\n * @type {Object.<string,ReflectionObject>|undefined}\n */\n this.nested = undefined; // toJSON\n\n /**\n * Cached nested objects as an array.\n * @type {ReflectionObject[]|null}\n * @private\n */\n this._nestedArray = null;\n}\n\nfunction clearCache(namespace) {\n namespace._nestedArray = null;\n return namespace;\n}\n\n/**\n * Nested objects of this namespace as an array for iteration.\n * @name NamespaceBase#nestedArray\n * @type {ReflectionObject[]}\n * @readonly\n */\nObject.defineProperty(Namespace.prototype, \"nestedArray\", {\n get: function() {\n return this._nestedArray || (this._nestedArray = util.toArray(this.nested));\n }\n});\n\n/**\n * Namespace descriptor.\n * @interface INamespace\n * @property {Object.<string,*>} [options] Namespace options\n * @property {Object.<string,AnyNestedObject>} [nested] Nested object descriptors\n */\n\n/**\n * Any extension field descriptor.\n * @typedef AnyExtensionField\n * @type {IExtensionField|IExtensionMapField}\n */\n\n/**\n * Any nested object descriptor.\n * @typedef AnyNestedObject\n * @type {IEnum|IType|IService|AnyExtensionField|INamespace}\n */\n// ^ BEWARE: VSCode hangs forever when using more than 5 types (that's why AnyExtensionField exists in the first place)\n\n/**\n * Converts this namespace to a namespace descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {INamespace} Namespace descriptor\n */\nNamespace.prototype.toJSON = function toJSON(toJSONOptions) {\n return util.toObject([\n \"options\" , this.options,\n \"nested\" , arrayToJSON(this.nestedArray, toJSONOptions)\n ]);\n};\n\n/**\n * Adds nested objects to this namespace from nested object descriptors.\n * @param {Object.<string,AnyNestedObject>} nestedJson Any nested object descriptors\n * @returns {Namespace} `this`\n */\nNamespace.prototype.addJSON = function addJSON(nestedJson) {\n var ns = this;\n /* istanbul ignore else */\n if (nestedJson) {\n for (var names = Object.keys(nestedJson), i = 0, nested; i < names.length; ++i) {\n nested = nestedJson[names[i]];\n ns.add( // most to least likely\n ( nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : nested.id !== undefined\n ? Field.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n }\n return this;\n};\n\n/**\n * Gets the nested object of the specified name.\n * @param {string} name Nested object name\n * @returns {ReflectionObject|null} The reflection object or `null` if it doesn't exist\n */\nNamespace.prototype.get = function get(name) {\n return this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Gets the values of the nested {@link Enum|enum} of the specified name.\n * This methods differs from {@link Namespace#get|get} in that it returns an enum's values directly and throws instead of returning `null`.\n * @param {string} name Nested enum name\n * @returns {Object.<string,number>} Enum values\n * @throws {Error} If there is no such enum\n */\nNamespace.prototype.getEnum = function getEnum(name) {\n if (this.nested && this.nested[name] instanceof Enum)\n return this.nested[name].values;\n throw Error(\"no such enum: \" + name);\n};\n\n/**\n * Adds a nested object to this namespace.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name\n */\nNamespace.prototype.add = function add(object) {\n\n if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof Enum || object instanceof Service || object instanceof Namespace || object instanceof OneOf))\n throw TypeError(\"object must be a valid nested object\");\n\n if (!this.nested)\n this.nested = {};\n else {\n var prev = this.get(object.name);\n if (prev) {\n if (prev instanceof Namespace && object instanceof Namespace && !(prev instanceof Type || prev instanceof Service)) {\n // replace plain namespace but keep existing nested elements and options\n var nested = prev.nestedArray;\n for (var i = 0; i < nested.length; ++i)\n object.add(nested[i]);\n this.remove(prev);\n if (!this.nested)\n this.nested = {};\n object.setOptions(prev.options, true);\n\n } else\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n }\n }\n this.nested[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n};\n\n/**\n * Removes a nested object from this namespace.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this namespace\n */\nNamespace.prototype.remove = function remove(object) {\n\n if (!(object instanceof ReflectionObject))\n throw TypeError(\"object must be a ReflectionObject\");\n if (object.parent !== this)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.nested[object.name];\n if (!Object.keys(this.nested).length)\n this.nested = undefined;\n\n object.onRemove(this);\n return clearCache(this);\n};\n\n/**\n * Defines additial namespaces within this one if not yet existing.\n * @param {string|string[]} path Path to create\n * @param {*} [json] Nested types to create from JSON\n * @returns {Namespace} Pointer to the last namespace created or `this` if path is empty\n */\nNamespace.prototype.define = function define(path, json) {\n\n if (util.isString(path))\n path = path.split(\".\");\n else if (!Array.isArray(path))\n throw TypeError(\"illegal path\");\n if (path && path.length && path[0] === \"\")\n throw Error(\"path must be relative\");\n\n var ptr = this;\n while (path.length > 0) {\n var part = path.shift();\n if (ptr.nested && ptr.nested[part]) {\n ptr = ptr.nested[part];\n if (!(ptr instanceof Namespace))\n throw Error(\"path conflicts with non-namespace objects\");\n } else\n ptr.add(ptr = new Namespace(part));\n }\n if (json)\n ptr.addJSON(json);\n return ptr;\n};\n\n/**\n * Resolves this namespace's and all its nested objects' type references. Useful to validate a reflection tree, but comes at a cost.\n * @returns {Namespace} `this`\n */\nNamespace.prototype.resolveAll = function resolveAll() {\n var nested = this.nestedArray, i = 0;\n while (i < nested.length)\n if (nested[i] instanceof Namespace)\n nested[i++].resolveAll();\n else\n nested[i++].resolve();\n return this.resolve();\n};\n\n/**\n * Recursively looks up the reflection object matching the specified path in the scope of this namespace.\n * @param {string|string[]} path Path to look up\n * @param {*|Array.<*>} filterTypes Filter types, any combination of the constructors of `protobuf.Type`, `protobuf.Enum`, `protobuf.Service` etc.\n * @param {boolean} [parentAlreadyChecked=false] If known, whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n */\nNamespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {\n\n /* istanbul ignore next */\n if (typeof filterTypes === \"boolean\") {\n parentAlreadyChecked = filterTypes;\n filterTypes = undefined;\n } else if (filterTypes && !Array.isArray(filterTypes))\n filterTypes = [ filterTypes ];\n\n if (util.isString(path) && path.length) {\n if (path === \".\")\n return this.root;\n path = path.split(\".\");\n } else if (!path.length)\n return this;\n\n // Start at root if path is absolute\n if (path[0] === \"\")\n return this.root.lookup(path.slice(1), filterTypes);\n\n // Test if the first part matches any nested object, and if so, traverse if path contains more\n var found = this.get(path[0]);\n if (found) {\n if (path.length === 1) {\n if (!filterTypes || filterTypes.indexOf(found.constructor) > -1)\n return found;\n } else if (found instanceof Namespace && (found = found.lookup(path.slice(1), filterTypes, true)))\n return found;\n\n // Otherwise try each nested namespace\n } else\n for (var i = 0; i < this.nestedArray.length; ++i)\n if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i].lookup(path, filterTypes, true)))\n return found;\n\n // If there hasn't been a match, try again at the parent\n if (this.parent === null || parentAlreadyChecked)\n return null;\n return this.parent.lookup(path, filterTypes);\n};\n\n/**\n * Looks up the reflection object at the specified path, relative to this namespace.\n * @name NamespaceBase#lookup\n * @function\n * @param {string|string[]} path Path to look up\n * @param {boolean} [parentAlreadyChecked=false] Whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n * @variation 2\n */\n// lookup(path: string, [parentAlreadyChecked: boolean])\n\n/**\n * Looks up the {@link Type|type} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type\n * @throws {Error} If `path` does not point to a type\n */\nNamespace.prototype.lookupType = function lookupType(path) {\n var found = this.lookup(path, [ Type ]);\n if (!found)\n throw Error(\"no such type: \" + path);\n return found;\n};\n\n/**\n * Looks up the values of the {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Enum} Looked up enum\n * @throws {Error} If `path` does not point to an enum\n */\nNamespace.prototype.lookupEnum = function lookupEnum(path) {\n var found = this.lookup(path, [ Enum ]);\n if (!found)\n throw Error(\"no such Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Type|type} or {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type or enum\n * @throws {Error} If `path` does not point to a type or enum\n */\nNamespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path) {\n var found = this.lookup(path, [ Type, Enum ]);\n if (!found)\n throw Error(\"no such Type or Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Service|service} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Service} Looked up service\n * @throws {Error} If `path` does not point to a service\n */\nNamespace.prototype.lookupService = function lookupService(path) {\n var found = this.lookup(path, [ Service ]);\n if (!found)\n throw Error(\"no such Service '\" + path + \"' in \" + this);\n return found;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nNamespace._configure = function(Type_, Service_, Enum_) {\n Type = Type_;\n Service = Service_;\n Enum = Enum_;\n};\n","\"use strict\";\nmodule.exports = ReflectionObject;\n\nReflectionObject.className = \"ReflectionObject\";\n\nvar util = require(\"./util\");\n\nvar Root; // cyclic\n\n/**\n * Constructs a new reflection object instance.\n * @classdesc Base class of all reflection objects.\n * @constructor\n * @param {string} name Object name\n * @param {Object.<string,*>} [options] Declared options\n * @abstract\n */\nfunction ReflectionObject(name, options) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (options && !util.isObject(options))\n throw TypeError(\"options must be an object\");\n\n /**\n * Options.\n * @type {Object.<string,*>|undefined}\n */\n this.options = options; // toJSON\n\n /**\n * Parsed Options.\n * @type {Array.<Object.<string,*>>|undefined}\n */\n this.parsedOptions = null;\n\n /**\n * Unique name within its namespace.\n * @type {string}\n */\n this.name = name;\n\n /**\n * Parent namespace.\n * @type {Namespace|null}\n */\n this.parent = null;\n\n /**\n * Whether already resolved or not.\n * @type {boolean}\n */\n this.resolved = false;\n\n /**\n * Comment text, if any.\n * @type {string|null}\n */\n this.comment = null;\n\n /**\n * Defining file name.\n * @type {string|null}\n */\n this.filename = null;\n}\n\nObject.defineProperties(ReflectionObject.prototype, {\n\n /**\n * Reference to the root namespace.\n * @name ReflectionObject#root\n * @type {Root}\n * @readonly\n */\n root: {\n get: function() {\n var ptr = this;\n while (ptr.parent !== null)\n ptr = ptr.parent;\n return ptr;\n }\n },\n\n /**\n * Full name including leading dot.\n * @name ReflectionObject#fullName\n * @type {string}\n * @readonly\n */\n fullName: {\n get: function() {\n var path = [ this.name ],\n ptr = this.parent;\n while (ptr) {\n path.unshift(ptr.name);\n ptr = ptr.parent;\n }\n return path.join(\".\");\n }\n }\n});\n\n/**\n * Converts this reflection object to its descriptor representation.\n * @returns {Object.<string,*>} Descriptor\n * @abstract\n */\nReflectionObject.prototype.toJSON = /* istanbul ignore next */ function toJSON() {\n throw Error(); // not implemented, shouldn't happen\n};\n\n/**\n * Called when this object is added to a parent.\n * @param {ReflectionObject} parent Parent added to\n * @returns {undefined}\n */\nReflectionObject.prototype.onAdd = function onAdd(parent) {\n if (this.parent && this.parent !== parent)\n this.parent.remove(this);\n this.parent = parent;\n this.resolved = false;\n var root = parent.root;\n if (root instanceof Root)\n root._handleAdd(this);\n};\n\n/**\n * Called when this object is removed from a parent.\n * @param {ReflectionObject} parent Parent removed from\n * @returns {undefined}\n */\nReflectionObject.prototype.onRemove = function onRemove(parent) {\n var root = parent.root;\n if (root instanceof Root)\n root._handleRemove(this);\n this.parent = null;\n this.resolved = false;\n};\n\n/**\n * Resolves this objects type references.\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n if (this.root instanceof Root)\n this.resolved = true; // only if part of a root\n return this;\n};\n\n/**\n * Gets an option value.\n * @param {string} name Option name\n * @returns {*} Option value or `undefined` if not set\n */\nReflectionObject.prototype.getOption = function getOption(name) {\n if (this.options)\n return this.options[name];\n return undefined;\n};\n\n/**\n * Sets an option.\n * @param {string} name Option name\n * @param {*} value Option value\n * @param {boolean} [ifNotSet] Sets the option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (!ifNotSet || !this.options || this.options[name] === undefined)\n (this.options || (this.options = {}))[name] = value;\n return this;\n};\n\n/**\n * Sets a parsed option.\n * @param {string} name parsed Option name\n * @param {*} value Option value\n * @param {string} propName dot '.' delimited full path of property within the option to set. if undefined\\empty, will add a new option with that value\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setParsedOption = function setParsedOption(name, value, propName) {\n if (!this.parsedOptions) {\n this.parsedOptions = [];\n }\n var parsedOptions = this.parsedOptions;\n if (propName) {\n // If setting a sub property of an option then try to merge it\n // with an existing option\n var opt = parsedOptions.find(function (opt) {\n return Object.prototype.hasOwnProperty.call(opt, name);\n });\n if (opt) {\n // If we found an existing option - just merge the property value\n var newValue = opt[name];\n util.setProperty(newValue, propName, value);\n } else {\n // otherwise, create a new option, set it's property and add it to the list\n opt = {};\n opt[name] = util.setProperty({}, propName, value);\n parsedOptions.push(opt);\n }\n } else {\n // Always create a new option when setting the value of the option itself\n var newOpt = {};\n newOpt[name] = value;\n parsedOptions.push(newOpt);\n }\n return this;\n};\n\n/**\n * Sets multiple options.\n * @param {Object.<string,*>} options Options to set\n * @param {boolean} [ifNotSet] Sets an option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOptions = function setOptions(options, ifNotSet) {\n if (options)\n for (var keys = Object.keys(options), i = 0; i < keys.length; ++i)\n this.setOption(keys[i], options[keys[i]], ifNotSet);\n return this;\n};\n\n/**\n * Converts this instance to its string representation.\n * @returns {string} Class name[, space, full name]\n */\nReflectionObject.prototype.toString = function toString() {\n var className = this.constructor.className,\n fullName = this.fullName;\n if (fullName.length)\n return className + \" \" + fullName;\n return className;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nReflectionObject._configure = function(Root_) {\n Root = Root_;\n};\n","\"use strict\";\nmodule.exports = OneOf;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = \"OneOf\";\n\nvar Field = require(\"./field\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new oneof instance.\n * @classdesc Reflected oneof.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Oneof name\n * @param {string[]|Object.<string,*>} [fieldNames] Field names\n * @param {Object.<string,*>} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction OneOf(name, fieldNames, options, comment) {\n if (!Array.isArray(fieldNames)) {\n options = fieldNames;\n fieldNames = undefined;\n }\n ReflectionObject.call(this, name, options);\n\n /* istanbul ignore if */\n if (!(fieldNames === undefined || Array.isArray(fieldNames)))\n throw TypeError(\"fieldNames must be an Array\");\n\n /**\n * Field names that belong to this oneof.\n * @type {string[]}\n */\n this.oneof = fieldNames || []; // toJSON, marker\n\n /**\n * Fields that belong to this oneof as an array for iteration.\n * @type {Field[]}\n * @readonly\n */\n this.fieldsArray = []; // declared readonly for conformance, possibly not yet added to parent\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Oneof descriptor.\n * @interface IOneOf\n * @property {Array.<string>} oneof Oneof field names\n * @property {Object.<string,*>} [options] Oneof options\n */\n\n/**\n * Constructs a oneof from a oneof descriptor.\n * @param {string} name Oneof name\n * @param {IOneOf} json Oneof descriptor\n * @returns {OneOf} Created oneof\n * @throws {TypeError} If arguments are invalid\n */\nOneOf.fromJSON = function fromJSON(name, json) {\n return new OneOf(name, json.oneof, json.options, json.comment);\n};\n\n/**\n * Converts this oneof to a oneof descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IOneOf} Oneof descriptor\n */\nOneOf.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"oneof\" , this.oneof,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Adds the fields of the specified oneof to the parent if not already done so.\n * @param {OneOf} oneof The oneof\n * @returns {undefined}\n * @inner\n * @ignore\n */\nfunction addFieldsToParent(oneof) {\n if (oneof.parent)\n for (var i = 0; i < oneof.fieldsArray.length; ++i)\n if (!oneof.fieldsArray[i].parent)\n oneof.parent.add(oneof.fieldsArray[i]);\n}\n\n/**\n * Adds a field to this oneof and removes it from its current parent, if any.\n * @param {Field} field Field to add\n * @returns {OneOf} `this`\n */\nOneOf.prototype.add = function add(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n if (field.parent && field.parent !== this.parent)\n field.parent.remove(field);\n this.oneof.push(field.name);\n this.fieldsArray.push(field);\n field.partOf = this; // field.parent remains null\n addFieldsToParent(this);\n return this;\n};\n\n/**\n * Removes a field from this oneof and puts it back to the oneof's parent.\n * @param {Field} field Field to remove\n * @returns {OneOf} `this`\n */\nOneOf.prototype.remove = function remove(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n var index = this.fieldsArray.indexOf(field);\n\n /* istanbul ignore if */\n if (index < 0)\n throw Error(field + \" is not a member of \" + this);\n\n this.fieldsArray.splice(index, 1);\n index = this.oneof.indexOf(field.name);\n\n /* istanbul ignore else */\n if (index > -1) // theoretical\n this.oneof.splice(index, 1);\n\n field.partOf = null;\n return this;\n};\n\n/**\n * @override\n */\nOneOf.prototype.onAdd = function onAdd(parent) {\n ReflectionObject.prototype.onAdd.call(this, parent);\n var self = this;\n // Collect present fields\n for (var i = 0; i < this.oneof.length; ++i) {\n var field = parent.get(this.oneof[i]);\n if (field && !field.partOf) {\n field.partOf = self;\n self.fieldsArray.push(field);\n }\n }\n // Add not yet present fields\n addFieldsToParent(this);\n};\n\n/**\n * @override\n */\nOneOf.prototype.onRemove = function onRemove(parent) {\n for (var i = 0, field; i < this.fieldsArray.length; ++i)\n if ((field = this.fieldsArray[i]).parent)\n field.parent.remove(field);\n ReflectionObject.prototype.onRemove.call(this, parent);\n};\n\n/**\n * Decorator function as returned by {@link OneOf.d} (TypeScript).\n * @typedef OneOfDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} oneofName OneOf name\n * @returns {undefined}\n */\n\n/**\n * OneOf decorator (TypeScript).\n * @function\n * @param {...string} fieldNames Field names\n * @returns {OneOfDecorator} Decorator function\n * @template T extends string\n */\nOneOf.d = function decorateOneOf() {\n var fieldNames = new Array(arguments.length),\n index = 0;\n while (index < arguments.length)\n fieldNames[index] = arguments[index++];\n return function oneOfDecorator(prototype, oneofName) {\n util.decorateType(prototype.constructor)\n .add(new OneOf(oneofName, fieldNames));\n Object.defineProperty(prototype, oneofName, {\n get: util.oneOfGetter(fieldNames),\n set: util.oneOfSetter(fieldNames)\n });\n };\n};\n","\"use strict\";\nmodule.exports = parse;\n\nparse.filename = null;\nparse.defaults = { keepCase: false };\n\nvar tokenize = require(\"./tokenize\"),\n Root = require(\"./root\"),\n Type = require(\"./type\"),\n Field = require(\"./field\"),\n MapField = require(\"./mapfield\"),\n OneOf = require(\"./oneof\"),\n Enum = require(\"./enum\"),\n Service = require(\"./service\"),\n Method = require(\"./method\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nvar base10Re = /^[1-9][0-9]*$/,\n base10NegRe = /^-?[1-9][0-9]*$/,\n base16Re = /^0[x][0-9a-fA-F]+$/,\n base16NegRe = /^-?0[x][0-9a-fA-F]+$/,\n base8Re = /^0[0-7]+$/,\n base8NegRe = /^-?0[0-7]+$/,\n numberRe = /^(?![eE])[0-9]*(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,\n nameRe = /^[a-zA-Z_][a-zA-Z_0-9]*$/,\n typeRefRe = /^(?:\\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,\n fqTypeRefRe = /^(?:\\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;\n\n/**\n * Result object returned from {@link parse}.\n * @interface IParserResult\n * @property {string|undefined} package Package name, if declared\n * @property {string[]|undefined} imports Imports, if any\n * @property {string[]|undefined} weakImports Weak imports, if any\n * @property {string|undefined} syntax Syntax, if specified (either `\"proto2\"` or `\"proto3\"`)\n * @property {Root} root Populated root instance\n */\n\n/**\n * Options modifying the behavior of {@link parse}.\n * @interface IParseOptions\n * @property {boolean} [keepCase=false] Keeps field casing instead of converting to camel case\n * @property {boolean} [alternateCommentMode=false] Recognize double-slash comments in addition to doc-block comments.\n * @property {boolean} [preferTrailingComment=false] Use trailing comment when both leading comment and trailing comment exist.\n */\n\n/**\n * Options modifying the behavior of JSON serialization.\n * @interface IToJSONOptions\n * @property {boolean} [keepComments=false] Serializes comments.\n */\n\n/**\n * Parses the given .proto source and returns an object with the parsed contents.\n * @param {string} source Source contents\n * @param {Root} root Root to populate\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {IParserResult} Parser result\n * @property {string} filename=null Currently processing file name for error reporting, if known\n * @property {IParseOptions} defaults Default {@link IParseOptions}\n */\nfunction parse(source, root, options) {\n /* eslint-disable callback-return */\n if (!(root instanceof Root)) {\n options = root;\n root = new Root();\n }\n if (!options)\n options = parse.defaults;\n\n var preferTrailingComment = options.preferTrailingComment || false;\n var tn = tokenize(source, options.alternateCommentMode || false),\n next = tn.next,\n push = tn.push,\n peek = tn.peek,\n skip = tn.skip,\n cmnt = tn.cmnt;\n\n var head = true,\n pkg,\n imports,\n weakImports,\n syntax,\n isProto3 = false;\n\n var ptr = root;\n\n var applyCase = options.keepCase ? function(name) { return name; } : util.camelCase;\n\n /* istanbul ignore next */\n function illegal(token, name, insideTryCatch) {\n var filename = parse.filename;\n if (!insideTryCatch)\n parse.filename = null;\n return Error(\"illegal \" + (name || \"token\") + \" '\" + token + \"' (\" + (filename ? filename + \", \" : \"\") + \"line \" + tn.line + \")\");\n }\n\n function readString() {\n var values = [],\n token;\n do {\n /* istanbul ignore if */\n if ((token = next()) !== \"\\\"\" && token !== \"'\")\n throw illegal(token);\n\n values.push(next());\n skip(token);\n token = peek();\n } while (token === \"\\\"\" || token === \"'\");\n return values.join(\"\");\n }\n\n function readValue(acceptTypeRef) {\n var token = next();\n switch (token) {\n case \"'\":\n case \"\\\"\":\n push(token);\n return readString();\n case \"true\": case \"TRUE\":\n return true;\n case \"false\": case \"FALSE\":\n return false;\n }\n try {\n return parseNumber(token, /* insideTryCatch */ true);\n } catch (e) {\n\n /* istanbul ignore else */\n if (acceptTypeRef && typeRefRe.test(token))\n return token;\n\n /* istanbul ignore next */\n throw illegal(token, \"value\");\n }\n }\n\n function readRanges(target, acceptStrings) {\n var token, start;\n do {\n if (acceptStrings && ((token = peek()) === \"\\\"\" || token === \"'\"))\n target.push(readString());\n else\n target.push([ start = parseId(next()), skip(\"to\", true) ? parseId(next()) : start ]);\n } while (skip(\",\", true));\n skip(\";\");\n }\n\n function parseNumber(token, insideTryCatch) {\n var sign = 1;\n if (token.charAt(0) === \"-\") {\n sign = -1;\n token = token.substring(1);\n }\n switch (token) {\n case \"inf\": case \"INF\": case \"Inf\":\n return sign * Infinity;\n case \"nan\": case \"NAN\": case \"Nan\": case \"NaN\":\n return NaN;\n case \"0\":\n return 0;\n }\n if (base10Re.test(token))\n return sign * parseInt(token, 10);\n if (base16Re.test(token))\n return sign * parseInt(token, 16);\n if (base8Re.test(token))\n return sign * parseInt(token, 8);\n\n /* istanbul ignore else */\n if (numberRe.test(token))\n return sign * parseFloat(token);\n\n /* istanbul ignore next */\n throw illegal(token, \"number\", insideTryCatch);\n }\n\n function parseId(token, acceptNegative) {\n switch (token) {\n case \"max\": case \"MAX\": case \"Max\":\n return 536870911;\n case \"0\":\n return 0;\n }\n\n /* istanbul ignore if */\n if (!acceptNegative && token.charAt(0) === \"-\")\n throw illegal(token, \"id\");\n\n if (base10NegRe.test(token))\n return parseInt(token, 10);\n if (base16NegRe.test(token))\n return parseInt(token, 16);\n\n /* istanbul ignore else */\n if (base8NegRe.test(token))\n return parseInt(token, 8);\n\n /* istanbul ignore next */\n throw illegal(token, \"id\");\n }\n\n function parsePackage() {\n\n /* istanbul ignore if */\n if (pkg !== undefined)\n throw illegal(\"package\");\n\n pkg = next();\n\n /* istanbul ignore if */\n if (!typeRefRe.test(pkg))\n throw illegal(pkg, \"name\");\n\n ptr = ptr.define(pkg);\n skip(\";\");\n }\n\n function parseImport() {\n var token = peek();\n var whichImports;\n switch (token) {\n case \"weak\":\n whichImports = weakImports || (weakImports = []);\n next();\n break;\n case \"public\":\n next();\n // eslint-disable-line no-fallthrough\n default:\n whichImports = imports || (imports = []);\n break;\n }\n token = readString();\n skip(\";\");\n whichImports.push(token);\n }\n\n function parseSyntax() {\n skip(\"=\");\n syntax = readString();\n isProto3 = syntax === \"proto3\";\n\n /* istanbul ignore if */\n if (!isProto3 && syntax !== \"proto2\")\n throw illegal(syntax, \"syntax\");\n\n skip(\";\");\n }\n\n function parseCommon(parent, token) {\n switch (token) {\n\n case \"option\":\n parseOption(parent, token);\n skip(\";\");\n return true;\n\n case \"message\":\n parseType(parent, token);\n return true;\n\n case \"enum\":\n parseEnum(parent, token);\n return true;\n\n case \"service\":\n parseService(parent, token);\n return true;\n\n case \"extend\":\n parseExtension(parent, token);\n return true;\n }\n return false;\n }\n\n function ifBlock(obj, fnIf, fnElse) {\n var trailingLine = tn.line;\n if (obj) {\n if(typeof obj.comment !== \"string\") {\n obj.comment = cmnt(); // try block-type comment\n }\n obj.filename = parse.filename;\n }\n if (skip(\"{\", true)) {\n var token;\n while ((token = next()) !== \"}\")\n fnIf(token);\n skip(\";\", true);\n } else {\n if (fnElse)\n fnElse();\n skip(\";\");\n if (obj && (typeof obj.comment !== \"string\" || preferTrailingComment))\n obj.comment = cmnt(trailingLine) || obj.comment; // try line-type comment\n }\n }\n\n function parseType(parent, token) {\n\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"type name\");\n\n var type = new Type(token);\n ifBlock(type, function parseType_block(token) {\n if (parseCommon(type, token))\n return;\n\n switch (token) {\n\n case \"map\":\n parseMapField(type, token);\n break;\n\n case \"required\":\n case \"repeated\":\n parseField(type, token);\n break;\n\n case \"optional\":\n /* istanbul ignore if */\n if (isProto3) {\n parseField(type, \"proto3_optional\");\n } else {\n parseField(type, \"optional\");\n }\n break;\n\n case \"oneof\":\n parseOneOf(type, token);\n break;\n\n case \"extensions\":\n readRanges(type.extensions || (type.extensions = []));\n break;\n\n case \"reserved\":\n readRanges(type.reserved || (type.reserved = []), true);\n break;\n\n default:\n /* istanbul ignore if */\n if (!isProto3 || !typeRefRe.test(token))\n throw illegal(token);\n\n push(token);\n parseField(type, \"optional\");\n break;\n }\n });\n parent.add(type);\n }\n\n function parseField(parent, rule, extend) {\n var type = next();\n if (type === \"group\") {\n parseGroup(parent, rule);\n return;\n }\n\n /* istanbul ignore if */\n if (!typeRefRe.test(type))\n throw illegal(type, \"type\");\n\n var name = next();\n\n /* istanbul ignore if */\n if (!nameRe.test(name))\n throw illegal(name, \"name\");\n\n name = applyCase(name);\n skip(\"=\");\n\n var field = new Field(name, parseId(next()), type, rule, extend);\n ifBlock(field, function parseField_block(token) {\n\n /* istanbul ignore else */\n if (token === \"option\") {\n parseOption(field, token);\n skip(\";\");\n } else\n throw illegal(token);\n\n }, function parseField_line() {\n parseInlineOptions(field);\n });\n\n if (rule === \"proto3_optional\") {\n // for proto3 optional fields, we create a single-member Oneof to mimic \"optional\" behavior\n var oneof = new OneOf(\"_\" + name);\n field.setOption(\"proto3_optional\", true);\n oneof.add(field);\n parent.add(oneof);\n } else {\n parent.add(field);\n }\n\n // JSON defaults to packed=true if not set so we have to set packed=false explicity when\n // parsing proto2 descriptors without the option, where applicable. This must be done for\n // all known packable types and anything that could be an enum (= is not a basic type).\n if (!isProto3 && field.repeated && (types.packed[type] !== undefined || types.basic[type] === undefined))\n field.setOption(\"packed\", false, /* ifNotSet */ true);\n }\n\n function parseGroup(parent, rule) {\n var name = next();\n\n /* istanbul ignore if */\n if (!nameRe.test(name))\n throw illegal(name, \"name\");\n\n var fieldName = util.lcFirst(name);\n if (name === fieldName)\n name = util.ucFirst(name);\n skip(\"=\");\n var id = parseId(next());\n var type = new Type(name);\n type.group = true;\n var field = new Field(fieldName, id, name, rule);\n field.filename = parse.filename;\n ifBlock(type, function parseGroup_block(token) {\n switch (token) {\n\n case \"option\":\n parseOption(type, token);\n skip(\";\");\n break;\n\n case \"required\":\n case \"repeated\":\n parseField(type, token);\n break;\n\n case \"optional\":\n /* istanbul ignore if */\n if (isProto3) {\n parseField(type, \"proto3_optional\");\n } else {\n parseField(type, \"optional\");\n }\n break;\n\n /* istanbul ignore next */\n default:\n throw illegal(token); // there are no groups with proto3 semantics\n }\n });\n parent.add(type)\n .add(field);\n }\n\n function parseMapField(parent) {\n skip(\"<\");\n var keyType = next();\n\n /* istanbul ignore if */\n if (types.mapKey[keyType] === undefined)\n throw illegal(keyType, \"type\");\n\n skip(\",\");\n var valueType = next();\n\n /* istanbul ignore if */\n if (!typeRefRe.test(valueType))\n throw illegal(valueType, \"type\");\n\n skip(\">\");\n var name = next();\n\n /* istanbul ignore if */\n if (!nameRe.test(name))\n throw illegal(name, \"name\");\n\n skip(\"=\");\n var field = new MapField(applyCase(name), parseId(next()), keyType, valueType);\n ifBlock(field, function parseMapField_block(token) {\n\n /* istanbul ignore else */\n if (token === \"option\") {\n parseOption(field, token);\n skip(\";\");\n } else\n throw illegal(token);\n\n }, function parseMapField_line() {\n parseInlineOptions(field);\n });\n parent.add(field);\n }\n\n function parseOneOf(parent, token) {\n\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"name\");\n\n var oneof = new OneOf(applyCase(token));\n ifBlock(oneof, function parseOneOf_block(token) {\n if (token === \"option\") {\n parseOption(oneof, token);\n skip(\";\");\n } else {\n push(token);\n parseField(oneof, \"optional\");\n }\n });\n parent.add(oneof);\n }\n\n function parseEnum(parent, token) {\n\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"name\");\n\n var enm = new Enum(token);\n ifBlock(enm, function parseEnum_block(token) {\n switch(token) {\n case \"option\":\n parseOption(enm, token);\n skip(\";\");\n break;\n\n case \"reserved\":\n readRanges(enm.reserved || (enm.reserved = []), true);\n break;\n\n default:\n parseEnumValue(enm, token);\n }\n });\n parent.add(enm);\n }\n\n function parseEnumValue(parent, token) {\n\n /* istanbul ignore if */\n if (!nameRe.test(token))\n throw illegal(token, \"name\");\n\n skip(\"=\");\n var value = parseId(next(), true),\n dummy = {};\n ifBlock(dummy, function parseEnumValue_block(token) {\n\n /* istanbul ignore else */\n if (token === \"option\") {\n parseOption(dummy, token); // skip\n skip(\";\");\n } else\n throw illegal(token);\n\n }, function parseEnumValue_line() {\n parseInlineOptions(dummy); // skip\n });\n parent.add(token, value, dummy.comment);\n }\n\n function parseOption(parent, token) {\n var isCustom = skip(\"(\", true);\n\n /* istanbul ignore if */\n if (!typeRefRe.test(token = next()))\n throw illegal(token, \"name\");\n\n var name = token;\n var option = name;\n var propName;\n\n if (isCustom) {\n skip(\")\");\n name = \"(\" + name + \")\";\n option = name;\n token = peek();\n if (fqTypeRefRe.test(token)) {\n propName = token.substr(1); //remove '.' before property name\n name += token;\n next();\n }\n }\n skip(\"=\");\n var optionValue = parseOptionValue(parent, name);\n setParsedOption(parent, option, optionValue, propName);\n }\n\n function parseOptionValue(parent, name) {\n if (skip(\"{\", true)) { // { a: \"foo\" b { c: \"bar\" } }\n var result = {};\n while (!skip(\"}\", true)) {\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"name\");\n\n var value;\n var propName = token;\n if (peek() === \"{\")\n value = parseOptionValue(parent, name + \".\" + token);\n else {\n skip(\":\");\n if (peek() === \"{\")\n value = parseOptionValue(parent, name + \".\" + token);\n else {\n value = readValue(true);\n setOption(parent, name + \".\" + token, value);\n }\n }\n var prevValue = result[propName];\n if (prevValue)\n value = [].concat(prevValue).concat(value);\n result[propName] = value;\n skip(\",\", true);\n }\n return result;\n }\n\n var simpleValue = readValue(true);\n setOption(parent, name, simpleValue);\n return simpleValue;\n // Does not enforce a delimiter to be universal\n }\n\n function setOption(parent, name, value) {\n if (parent.setOption)\n parent.setOption(name, value);\n }\n\n function setParsedOption(parent, name, value, propName) {\n if (parent.setParsedOption)\n parent.setParsedOption(name, value, propName);\n }\n\n function parseInlineOptions(parent) {\n if (skip(\"[\", true)) {\n do {\n parseOption(parent, \"option\");\n } while (skip(\",\", true));\n skip(\"]\");\n }\n return parent;\n }\n\n function parseService(parent, token) {\n\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"service name\");\n\n var service = new Service(token);\n ifBlock(service, function parseService_block(token) {\n if (parseCommon(service, token))\n return;\n\n /* istanbul ignore else */\n if (token === \"rpc\")\n parseMethod(service, token);\n else\n throw illegal(token);\n });\n parent.add(service);\n }\n\n function parseMethod(parent, token) {\n // Get the comment of the preceding line now (if one exists) in case the\n // method is defined across multiple lines.\n var commentText = cmnt();\n\n var type = token;\n\n /* istanbul ignore if */\n if (!nameRe.test(token = next()))\n throw illegal(token, \"name\");\n\n var name = token,\n requestType, requestStream,\n responseType, responseStream;\n\n skip(\"(\");\n if (skip(\"stream\", true))\n requestStream = true;\n\n /* istanbul ignore if */\n if (!typeRefRe.test(token = next()))\n throw illegal(token);\n\n requestType = token;\n skip(\")\"); skip(\"returns\"); skip(\"(\");\n if (skip(\"stream\", true))\n responseStream = true;\n\n /* istanbul ignore if */\n if (!typeRefRe.test(token = next()))\n throw illegal(token);\n\n responseType = token;\n skip(\")\");\n\n var method = new Method(name, type, requestType, responseType, requestStream, responseStream);\n method.comment = commentText;\n ifBlock(method, function parseMethod_block(token) {\n\n /* istanbul ignore else */\n if (token === \"option\") {\n parseOption(method, token);\n skip(\";\");\n } else\n throw illegal(token);\n\n });\n parent.add(method);\n }\n\n function parseExtension(parent, token) {\n\n /* istanbul ignore if */\n if (!typeRefRe.test(token = next()))\n throw illegal(token, \"reference\");\n\n var reference = token;\n ifBlock(null, function parseExtension_block(token) {\n switch (token) {\n\n case \"required\":\n case \"repeated\":\n parseField(parent, token, reference);\n break;\n\n case \"optional\":\n /* istanbul ignore if */\n if (isProto3) {\n parseField(parent, \"proto3_optional\", reference);\n } else {\n parseField(parent, \"optional\", reference);\n }\n break;\n\n default:\n /* istanbul ignore if */\n if (!isProto3 || !typeRefRe.test(token))\n throw illegal(token);\n push(token);\n parseField(parent, \"optional\", reference);\n break;\n }\n });\n }\n\n var token;\n while ((token = next()) !== null) {\n switch (token) {\n\n case \"package\":\n\n /* istanbul ignore if */\n if (!head)\n throw illegal(token);\n\n parsePackage();\n break;\n\n case \"import\":\n\n /* istanbul ignore if */\n if (!head)\n throw illegal(token);\n\n parseImport();\n break;\n\n case \"syntax\":\n\n /* istanbul ignore if */\n if (!head)\n throw illegal(token);\n\n parseSyntax();\n break;\n\n case \"option\":\n\n parseOption(ptr, token);\n skip(\";\");\n break;\n\n default:\n\n /* istanbul ignore else */\n if (parseCommon(ptr, token)) {\n head = false;\n continue;\n }\n\n /* istanbul ignore next */\n throw illegal(token);\n }\n }\n\n parse.filename = null;\n return {\n \"package\" : pkg,\n \"imports\" : imports,\n weakImports : weakImports,\n syntax : syntax,\n root : root\n };\n}\n\n/**\n * Parses the given .proto source and returns an object with the parsed contents.\n * @name parse\n * @function\n * @param {string} source Source contents\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {IParserResult} Parser result\n * @property {string} filename=null Currently processing file name for error reporting, if known\n * @property {IParseOptions} defaults Default {@link IParseOptions}\n * @variation 2\n */\n","\"use strict\";\nmodule.exports = Reader;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferReader; // cyclic\n\nvar LongBits = util.LongBits,\n utf8 = util.utf8;\n\n/* istanbul ignore next */\nfunction indexOutOfRange(reader, writeLength) {\n return RangeError(\"index out of range: \" + reader.pos + \" + \" + (writeLength || 1) + \" > \" + reader.len);\n}\n\n/**\n * Constructs a new reader instance using the specified buffer.\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n * @param {Uint8Array} buffer Buffer to read from\n */\nfunction Reader(buffer) {\n\n /**\n * Read buffer.\n * @type {Uint8Array}\n */\n this.buf = buffer;\n\n /**\n * Read buffer position.\n * @type {number}\n */\n this.pos = 0;\n\n /**\n * Read buffer length.\n * @type {number}\n */\n this.len = buffer.length;\n}\n\nvar create_array = typeof Uint8Array !== \"undefined\"\n ? function create_typed_array(buffer) {\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n }\n /* istanbul ignore next */\n : function create_array(buffer) {\n if (Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n };\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup(buffer) {\n return (Reader.create = function create_buffer(buffer) {\n return util.Buffer.isBuffer(buffer)\n ? new BufferReader(buffer)\n /* istanbul ignore next */\n : create_array(buffer);\n })(buffer);\n }\n /* istanbul ignore next */\n : create_array;\n};\n\n/**\n * Creates a new reader using the specified buffer.\n * @function\n * @param {Uint8Array|Buffer} buffer Buffer to read from\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\n * @throws {Error} If `buffer` is not a valid buffer\n */\nReader.create = create();\n\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\n\n/**\n * Reads a varint as an unsigned 32 bit value.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.uint32 = (function read_uint32_setup() {\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\n return function read_uint32() {\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\n\n /* istanbul ignore if */\n if ((this.pos += 5) > this.len) {\n this.pos = this.len;\n throw indexOutOfRange(this, 10);\n }\n return value;\n };\n})();\n\n/**\n * Reads a varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.int32 = function read_int32() {\n return this.uint32() | 0;\n};\n\n/**\n * Reads a zig-zag encoded varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.sint32 = function read_sint32() {\n var value = this.uint32();\n return value >>> 1 ^ -(value & 1) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readLongVarint() {\n // tends to deopt with local vars for octet etc.\n var bits = new LongBits(0, 0);\n var i = 0;\n if (this.len - this.pos > 4) { // fast route (lo)\n for (; i < 4; ++i) {\n // 1st..4th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 5th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n i = 0;\n } else {\n for (; i < 3; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 1st..3th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 4th\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\n return bits;\n }\n if (this.len - this.pos > 4) { // fast route (hi)\n for (; i < 5; ++i) {\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n } else {\n for (; i < 5; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n }\n /* istanbul ignore next */\n throw Error(\"invalid varint encoding\");\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads a varint as a signed 64 bit value.\n * @name Reader#int64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as an unsigned 64 bit value.\n * @name Reader#uint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a zig-zag encoded varint as a signed 64 bit value.\n * @name Reader#sint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as a boolean.\n * @returns {boolean} Value read\n */\nReader.prototype.bool = function read_bool() {\n return this.uint32() !== 0;\n};\n\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\n return (buf[end - 4]\n | buf[end - 3] << 8\n | buf[end - 2] << 16\n | buf[end - 1] << 24) >>> 0;\n}\n\n/**\n * Reads fixed 32 bits as an unsigned 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.fixed32 = function read_fixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4);\n};\n\n/**\n * Reads fixed 32 bits as a signed 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.sfixed32 = function read_sfixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readFixed64(/* this: Reader */) {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 8);\n\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads fixed 64 bits.\n * @name Reader#fixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads zig-zag encoded fixed 64 bits.\n * @name Reader#sfixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a float (32 bit) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.float = function read_float() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readFloatLE(this.buf, this.pos);\n this.pos += 4;\n return value;\n};\n\n/**\n * Reads a double (64 bit float) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.double = function read_double() {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readDoubleLE(this.buf, this.pos);\n this.pos += 8;\n return value;\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @returns {Uint8Array} Value read\n */\nReader.prototype.bytes = function read_bytes() {\n var length = this.uint32(),\n start = this.pos,\n end = this.pos + length;\n\n /* istanbul ignore if */\n if (end > this.len)\n throw indexOutOfRange(this, length);\n\n this.pos += length;\n if (Array.isArray(this.buf)) // plain array\n return this.buf.slice(start, end);\n return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1\n ? new this.buf.constructor(0)\n : this._slice.call(this.buf, start, end);\n};\n\n/**\n * Reads a string preceeded by its byte length as a varint.\n * @returns {string} Value read\n */\nReader.prototype.string = function read_string() {\n var bytes = this.bytes();\n return utf8.read(bytes, 0, bytes.length);\n};\n\n/**\n * Skips the specified number of bytes if specified, otherwise skips a varint.\n * @param {number} [length] Length if known, otherwise a varint is assumed\n * @returns {Reader} `this`\n */\nReader.prototype.skip = function skip(length) {\n if (typeof length === \"number\") {\n /* istanbul ignore if */\n if (this.pos + length > this.len)\n throw indexOutOfRange(this, length);\n this.pos += length;\n } else {\n do {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n } while (this.buf[this.pos++] & 128);\n }\n return this;\n};\n\n/**\n * Skips the next element of the specified wire type.\n * @param {number} wireType Wire type received\n * @returns {Reader} `this`\n */\nReader.prototype.skipType = function(wireType) {\n switch (wireType) {\n case 0:\n this.skip();\n break;\n case 1:\n this.skip(8);\n break;\n case 2:\n this.skip(this.uint32());\n break;\n case 3:\n while ((wireType = this.uint32() & 7) !== 4) {\n this.skipType(wireType);\n }\n break;\n case 5:\n this.skip(4);\n break;\n\n /* istanbul ignore next */\n default:\n throw Error(\"invalid wire type \" + wireType + \" at offset \" + this.pos);\n }\n return this;\n};\n\nReader._configure = function(BufferReader_) {\n BufferReader = BufferReader_;\n Reader.create = create();\n BufferReader._configure();\n\n var fn = util.Long ? \"toLong\" : /* istanbul ignore next */ \"toNumber\";\n util.merge(Reader.prototype, {\n\n int64: function read_int64() {\n return readLongVarint.call(this)[fn](false);\n },\n\n uint64: function read_uint64() {\n return readLongVarint.call(this)[fn](true);\n },\n\n sint64: function read_sint64() {\n return readLongVarint.call(this).zzDecode()[fn](false);\n },\n\n fixed64: function read_fixed64() {\n return readFixed64.call(this)[fn](true);\n },\n\n sfixed64: function read_sfixed64() {\n return readFixed64.call(this)[fn](false);\n }\n\n });\n};\n","\"use strict\";\nmodule.exports = BufferReader;\n\n// extends Reader\nvar Reader = require(\"./reader\");\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer reader instance.\n * @classdesc Wire format reader using node buffers.\n * @extends Reader\n * @constructor\n * @param {Buffer} buffer Buffer to read from\n */\nfunction BufferReader(buffer) {\n Reader.call(this, buffer);\n\n /**\n * Read buffer.\n * @name BufferReader#buf\n * @type {Buffer}\n */\n}\n\nBufferReader._configure = function () {\n /* istanbul ignore else */\n if (util.Buffer)\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\n};\n\n\n/**\n * @override\n */\nBufferReader.prototype.string = function read_string_buffer() {\n var len = this.uint32(); // modifies pos\n return this.buf.utf8Slice\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\n : this.buf.toString(\"utf-8\", this.pos, this.pos = Math.min(this.pos + len, this.len));\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @name BufferReader#bytes\n * @function\n * @returns {Buffer} Value read\n */\n\nBufferReader._configure();\n","\"use strict\";\nmodule.exports = Root;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Root.prototype = Object.create(Namespace.prototype)).constructor = Root).className = \"Root\";\n\nvar Field = require(\"./field\"),\n Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n util = require(\"./util\");\n\nvar Type, // cyclic\n parse, // might be excluded\n common; // \"\n\n/**\n * Constructs a new root namespace instance.\n * @classdesc Root namespace wrapping all types, enums, services, sub-namespaces etc. that belong together.\n * @extends NamespaceBase\n * @constructor\n * @param {Object.<string,*>} [options] Top level options\n */\nfunction Root(options) {\n Namespace.call(this, \"\", options);\n\n /**\n * Deferred extension fields.\n * @type {Field[]}\n */\n this.deferred = [];\n\n /**\n * Resolved file names of loaded files.\n * @type {string[]}\n */\n this.files = [];\n}\n\n/**\n * Loads a namespace descriptor into a root namespace.\n * @param {INamespace} json Nameespace descriptor\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted\n * @returns {Root} Root namespace\n */\nRoot.fromJSON = function fromJSON(json, root) {\n if (!root)\n root = new Root();\n if (json.options)\n root.setOptions(json.options);\n return root.addJSON(json.nested);\n};\n\n/**\n * Resolves the path of an imported file, relative to the importing origin.\n * This method exists so you can override it with your own logic in case your imports are scattered over multiple directories.\n * @function\n * @param {string} origin The file name of the importing file\n * @param {string} target The file name being imported\n * @returns {string|null} Resolved path to `target` or `null` to skip the file\n */\nRoot.prototype.resolvePath = util.path.resolve;\n\n/**\n * Fetch content from file path or url\n * This method exists so you can override it with your own logic.\n * @function\n * @param {string} path File path or url\n * @param {FetchCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.fetch = util.fetch;\n\n// A symbol-like function to safely signal synchronous loading\n/* istanbul ignore next */\nfunction SYNC() {} // eslint-disable-line no-empty-function\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} options Parse options\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.load = function load(filename, options, callback) {\n if (typeof options === \"function\") {\n callback = options;\n options = undefined;\n }\n var self = this;\n if (!callback)\n return util.asPromise(load, self, filename, options);\n\n var sync = callback === SYNC; // undocumented\n\n // Finishes loading by calling the callback (exactly once)\n function finish(err, root) {\n /* istanbul ignore if */\n if (!callback)\n return;\n var cb = callback;\n callback = null;\n if (sync)\n throw err;\n cb(err, root);\n }\n\n // Bundled definition existence checking\n function getBundledFileName(filename) {\n var idx = filename.lastIndexOf(\"google/protobuf/\");\n if (idx > -1) {\n var altname = filename.substring(idx);\n if (altname in common) return altname;\n }\n return null;\n }\n\n // Processes a single file\n function process(filename, source) {\n try {\n if (util.isString(source) && source.charAt(0) === \"{\")\n source = JSON.parse(source);\n if (!util.isString(source))\n self.setOptions(source.options).addJSON(source.nested);\n else {\n parse.filename = filename;\n var parsed = parse(source, self, options),\n resolved,\n i = 0;\n if (parsed.imports)\n for (; i < parsed.imports.length; ++i)\n if (resolved = getBundledFileName(parsed.imports[i]) || self.resolvePath(filename, parsed.imports[i]))\n fetch(resolved);\n if (parsed.weakImports)\n for (i = 0; i < parsed.weakImports.length; ++i)\n if (resolved = getBundledFileName(parsed.weakImports[i]) || self.resolvePath(filename, parsed.weakImports[i]))\n fetch(resolved, true);\n }\n } catch (err) {\n finish(err);\n }\n if (!sync && !queued)\n finish(null, self); // only once anyway\n }\n\n // Fetches a single file\n function fetch(filename, weak) {\n\n // Skip if already loaded / attempted\n if (self.files.indexOf(filename) > -1)\n return;\n self.files.push(filename);\n\n // Shortcut bundled definitions\n if (filename in common) {\n if (sync)\n process(filename, common[filename]);\n else {\n ++queued;\n setTimeout(function() {\n --queued;\n process(filename, common[filename]);\n });\n }\n return;\n }\n\n // Otherwise fetch from disk or network\n if (sync) {\n var source;\n try {\n source = util.fs.readFileSync(filename).toString(\"utf8\");\n } catch (err) {\n if (!weak)\n finish(err);\n return;\n }\n process(filename, source);\n } else {\n ++queued;\n self.fetch(filename, function(err, source) {\n --queued;\n /* istanbul ignore if */\n if (!callback)\n return; // terminated meanwhile\n if (err) {\n /* istanbul ignore else */\n if (!weak)\n finish(err);\n else if (!queued) // can't be covered reliably\n finish(null, self);\n return;\n }\n process(filename, source);\n });\n }\n }\n var queued = 0;\n\n // Assembling the root namespace doesn't require working type\n // references anymore, so we can load everything in parallel\n if (util.isString(filename))\n filename = [ filename ];\n for (var i = 0, resolved; i < filename.length; ++i)\n if (resolved = self.resolvePath(\"\", filename[i]))\n fetch(resolved);\n\n if (sync)\n return self;\n if (!queued)\n finish(null, self);\n return undefined;\n};\n// function load(filename:string, options:IParseOptions, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and returns a promise.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Promise<Root>} Promise\n * @variation 3\n */\n// function load(filename:string, [options:IParseOptions]):Promise<Root>\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into this root namespace (node only).\n * @function Root#loadSync\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n */\nRoot.prototype.loadSync = function loadSync(filename, options) {\n if (!util.isNode)\n throw Error(\"not supported\");\n return this.load(filename, options, SYNC);\n};\n\n/**\n * @override\n */\nRoot.prototype.resolveAll = function resolveAll() {\n if (this.deferred.length)\n throw Error(\"unresolvable extensions: \" + this.deferred.map(function(field) {\n return \"'extend \" + field.extend + \"' in \" + field.parent.fullName;\n }).join(\", \"));\n return Namespace.prototype.resolveAll.call(this);\n};\n\n// only uppercased (and thus conflict-free) children are exposed, see below\nvar exposeRe = /^[A-Z]/;\n\n/**\n * Handles a deferred declaring extension field by creating a sister field to represent it within its extended type.\n * @param {Root} root Root instance\n * @param {Field} field Declaring extension field witin the declaring type\n * @returns {boolean} `true` if successfully added to the extended type, `false` otherwise\n * @inner\n * @ignore\n */\nfunction tryHandleExtension(root, field) {\n var extendedType = field.parent.lookup(field.extend);\n if (extendedType) {\n var sisterField = new Field(field.fullName, field.id, field.type, field.rule, undefined, field.options);\n sisterField.declaringField = field;\n field.extensionField = sisterField;\n extendedType.add(sisterField);\n return true;\n }\n return false;\n}\n\n/**\n * Called when any object is added to this root or its sub-namespaces.\n * @param {ReflectionObject} object Object added\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleAdd = function _handleAdd(object) {\n if (object instanceof Field) {\n\n if (/* an extension field (implies not part of a oneof) */ object.extend !== undefined && /* not already handled */ !object.extensionField)\n if (!tryHandleExtension(this, object))\n this.deferred.push(object);\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n object.parent[object.name] = object.values; // expose enum values as property of its parent\n\n } else if (!(object instanceof OneOf)) /* everything else is a namespace */ {\n\n if (object instanceof Type) // Try to handle any deferred extensions\n for (var i = 0; i < this.deferred.length;)\n if (tryHandleExtension(this, this.deferred[i]))\n this.deferred.splice(i, 1);\n else\n ++i;\n for (var j = 0; j < /* initializes */ object.nestedArray.length; ++j) // recurse into the namespace\n this._handleAdd(object._nestedArray[j]);\n if (exposeRe.test(object.name))\n object.parent[object.name] = object; // expose namespace as property of its parent\n }\n\n // The above also adds uppercased (and thus conflict-free) nested types, services and enums as\n // properties of namespaces just like static code does. This allows using a .d.ts generated for\n // a static module with reflection-based solutions where the condition is met.\n};\n\n/**\n * Called when any object is removed from this root or its sub-namespaces.\n * @param {ReflectionObject} object Object removed\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleRemove = function _handleRemove(object) {\n if (object instanceof Field) {\n\n if (/* an extension field */ object.extend !== undefined) {\n if (/* already handled */ object.extensionField) { // remove its sister field\n object.extensionField.parent.remove(object.extensionField);\n object.extensionField = null;\n } else { // cancel the extension\n var index = this.deferred.indexOf(object);\n /* istanbul ignore else */\n if (index > -1)\n this.deferred.splice(index, 1);\n }\n }\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose enum values\n\n } else if (object instanceof Namespace) {\n\n for (var i = 0; i < /* initializes */ object.nestedArray.length; ++i) // recurse into the namespace\n this._handleRemove(object._nestedArray[i]);\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose namespaces\n\n }\n};\n\n// Sets up cyclic dependencies (called in index-light)\nRoot._configure = function(Type_, parse_, common_) {\n Type = Type_;\n parse = parse_;\n common = common_;\n};\n","\"use strict\";\nmodule.exports = {};\n\n/**\n * Named roots.\n * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).\n * Can also be used manually to make roots available accross modules.\n * @name roots\n * @type {Object.<string,Root>}\n * @example\n * // pbjs -r myroot -o compiled.js ...\n *\n * // in another module:\n * require(\"./compiled.js\");\n *\n * // in any subsequent module:\n * var root = protobuf.roots[\"myroot\"];\n */\n","\"use strict\";\n\n/**\n * Streaming RPC helpers.\n * @namespace\n */\nvar rpc = exports;\n\n/**\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\n * @typedef RPCImpl\n * @type {function}\n * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called\n * @param {Uint8Array} requestData Request data\n * @param {RPCImplCallback} callback Callback function\n * @returns {undefined}\n * @example\n * function rpcImpl(method, requestData, callback) {\n * if (protobuf.util.lcFirst(method.name) !== \"myMethod\") // compatible with static code\n * throw Error(\"no such method\");\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\n * callback(err, responseData);\n * });\n * }\n */\n\n/**\n * Node-style callback as used by {@link RPCImpl}.\n * @typedef RPCImplCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\n * @returns {undefined}\n */\n\nrpc.Service = require(\"./rpc/service\");\n","\"use strict\";\nmodule.exports = Service;\n\nvar util = require(\"../util/minimal\");\n\n// Extends EventEmitter\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\n\n/**\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\n *\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\n * @typedef rpc.ServiceMethodCallback\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {Error|null} error Error, if any\n * @param {TRes} [response] Response message\n * @returns {undefined}\n */\n\n/**\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\n * @typedef rpc.ServiceMethod\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n * @type {function}\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message\n * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`\n */\n\n/**\n * Constructs a new RPC service instance.\n * @classdesc An RPC service as returned by {@link Service#create}.\n * @exports rpc.Service\n * @extends util.EventEmitter\n * @constructor\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n */\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\n\n if (typeof rpcImpl !== \"function\")\n throw TypeError(\"rpcImpl must be a function\");\n\n util.EventEmitter.call(this);\n\n /**\n * RPC implementation. Becomes `null` once the service is ended.\n * @type {RPCImpl|null}\n */\n this.rpcImpl = rpcImpl;\n\n /**\n * Whether requests are length-delimited.\n * @type {boolean}\n */\n this.requestDelimited = Boolean(requestDelimited);\n\n /**\n * Whether responses are length-delimited.\n * @type {boolean}\n */\n this.responseDelimited = Boolean(responseDelimited);\n}\n\n/**\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\n * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method\n * @param {Constructor<TReq>} requestCtor Request constructor\n * @param {Constructor<TRes>} responseCtor Response constructor\n * @param {TReq|Properties<TReq>} request Request message or plain object\n * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback\n * @returns {undefined}\n * @template TReq extends Message<TReq>\n * @template TRes extends Message<TRes>\n */\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\n\n if (!request)\n throw TypeError(\"request must be specified\");\n\n var self = this;\n if (!callback)\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\n\n if (!self.rpcImpl) {\n setTimeout(function() { callback(Error(\"already ended\")); }, 0);\n return undefined;\n }\n\n try {\n return self.rpcImpl(\n method,\n requestCtor[self.requestDelimited ? \"encodeDelimited\" : \"encode\"](request).finish(),\n function rpcCallback(err, response) {\n\n if (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n\n if (response === null) {\n self.end(/* endedByRPC */ true);\n return undefined;\n }\n\n if (!(response instanceof responseCtor)) {\n try {\n response = responseCtor[self.responseDelimited ? \"decodeDelimited\" : \"decode\"](response);\n } catch (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n }\n\n self.emit(\"data\", response, method);\n return callback(null, response);\n }\n );\n } catch (err) {\n self.emit(\"error\", err, method);\n setTimeout(function() { callback(err); }, 0);\n return undefined;\n }\n};\n\n/**\n * Ends this service and emits the `end` event.\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\n * @returns {rpc.Service} `this`\n */\nService.prototype.end = function end(endedByRPC) {\n if (this.rpcImpl) {\n if (!endedByRPC) // signal end to rpcImpl\n this.rpcImpl(null, null, null);\n this.rpcImpl = null;\n this.emit(\"end\").off();\n }\n return this;\n};\n","\"use strict\";\nmodule.exports = Service;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = \"Service\";\n\nvar Method = require(\"./method\"),\n util = require(\"./util\"),\n rpc = require(\"./rpc\");\n\n/**\n * Constructs a new service instance.\n * @classdesc Reflected service.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Service name\n * @param {Object.<string,*>} [options] Service options\n * @throws {TypeError} If arguments are invalid\n */\nfunction Service(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Service methods.\n * @type {Object.<string,Method>}\n */\n this.methods = {}; // toJSON, marker\n\n /**\n * Cached methods as an array.\n * @type {Method[]|null}\n * @private\n */\n this._methodsArray = null;\n}\n\n/**\n * Service descriptor.\n * @interface IService\n * @extends INamespace\n * @property {Object.<string,IMethod>} methods Method descriptors\n */\n\n/**\n * Constructs a service from a service descriptor.\n * @param {string} name Service name\n * @param {IService} json Service descriptor\n * @returns {Service} Created service\n * @throws {TypeError} If arguments are invalid\n */\nService.fromJSON = function fromJSON(name, json) {\n var service = new Service(name, json.options);\n /* istanbul ignore else */\n if (json.methods)\n for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)\n service.add(Method.fromJSON(names[i], json.methods[names[i]]));\n if (json.nested)\n service.addJSON(json.nested);\n service.comment = json.comment;\n return service;\n};\n\n/**\n * Converts this service to a service descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IService} Service descriptor\n */\nService.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"methods\" , Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */ {},\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Methods of this service as an array for iteration.\n * @name Service#methodsArray\n * @type {Method[]}\n * @readonly\n */\nObject.defineProperty(Service.prototype, \"methodsArray\", {\n get: function() {\n return this._methodsArray || (this._methodsArray = util.toArray(this.methods));\n }\n});\n\nfunction clearCache(service) {\n service._methodsArray = null;\n return service;\n}\n\n/**\n * @override\n */\nService.prototype.get = function get(name) {\n return this.methods[name]\n || Namespace.prototype.get.call(this, name);\n};\n\n/**\n * @override\n */\nService.prototype.resolveAll = function resolveAll() {\n var methods = this.methodsArray;\n for (var i = 0; i < methods.length; ++i)\n methods[i].resolve();\n return Namespace.prototype.resolve.call(this);\n};\n\n/**\n * @override\n */\nService.prototype.add = function add(object) {\n\n /* istanbul ignore if */\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Method) {\n this.methods[object.name] = object;\n object.parent = this;\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * @override\n */\nService.prototype.remove = function remove(object) {\n if (object instanceof Method) {\n\n /* istanbul ignore if */\n if (this.methods[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.methods[object.name];\n object.parent = null;\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Creates a runtime service using the specified rpc implementation.\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n * @returns {rpc.Service} RPC service. Useful where requests and/or responses are streamed.\n */\nService.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {\n var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);\n for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {\n var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\\w_]/g, \"\");\n rpcService[methodName] = util.codegen([\"r\",\"c\"], util.isReserved(methodName) ? methodName + \"_\" : methodName)(\"return this.rpcCall(m,q,s,r,c)\")({\n m: method,\n q: method.resolvedRequestType.ctor,\n s: method.resolvedResponseType.ctor\n });\n }\n return rpcService;\n};\n","\"use strict\";\nmodule.exports = tokenize;\n\nvar delimRe = /[\\s{}=;:[\\],'\"()<>]/g,\n stringDoubleRe = /(?:\"([^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\")/g,\n stringSingleRe = /(?:'([^'\\\\]*(?:\\\\.[^'\\\\]*)*)')/g;\n\nvar setCommentRe = /^ *[*/]+ */,\n setCommentAltRe = /^\\s*\\*?\\/*/,\n setCommentSplitRe = /\\n/g,\n whitespaceRe = /\\s/,\n unescapeRe = /\\\\(.?)/g;\n\nvar unescapeMap = {\n \"0\": \"\\0\",\n \"r\": \"\\r\",\n \"n\": \"\\n\",\n \"t\": \"\\t\"\n};\n\n/**\n * Unescapes a string.\n * @param {string} str String to unescape\n * @returns {string} Unescaped string\n * @property {Object.<string,string>} map Special characters map\n * @memberof tokenize\n */\nfunction unescape(str) {\n return str.replace(unescapeRe, function($0, $1) {\n switch ($1) {\n case \"\\\\\":\n case \"\":\n return $1;\n default:\n return unescapeMap[$1] || \"\";\n }\n });\n}\n\ntokenize.unescape = unescape;\n\n/**\n * Gets the next token and advances.\n * @typedef TokenizerHandleNext\n * @type {function}\n * @returns {string|null} Next token or `null` on eof\n */\n\n/**\n * Peeks for the next token.\n * @typedef TokenizerHandlePeek\n * @type {function}\n * @returns {string|null} Next token or `null` on eof\n */\n\n/**\n * Pushes a token back to the stack.\n * @typedef TokenizerHandlePush\n * @type {function}\n * @param {string} token Token\n * @returns {undefined}\n */\n\n/**\n * Skips the next token.\n * @typedef TokenizerHandleSkip\n * @type {function}\n * @param {string} expected Expected token\n * @param {boolean} [optional=false] If optional\n * @returns {boolean} Whether the token matched\n * @throws {Error} If the token didn't match and is not optional\n */\n\n/**\n * Gets the comment on the previous line or, alternatively, the line comment on the specified line.\n * @typedef TokenizerHandleCmnt\n * @type {function}\n * @param {number} [line] Line number\n * @returns {string|null} Comment text or `null` if none\n */\n\n/**\n * Handle object returned from {@link tokenize}.\n * @interface ITokenizerHandle\n * @property {TokenizerHandleNext} next Gets the next token and advances (`null` on eof)\n * @property {TokenizerHandlePeek} peek Peeks for the next token (`null` on eof)\n * @property {TokenizerHandlePush} push Pushes a token back to the stack\n * @property {TokenizerHandleSkip} skip Skips a token, returns its presence and advances or, if non-optional and not present, throws\n * @property {TokenizerHandleCmnt} cmnt Gets the comment on the previous line or the line comment on the specified line, if any\n * @property {number} line Current line number\n */\n\n/**\n * Tokenizes the given .proto source and returns an object with useful utility functions.\n * @param {string} source Source contents\n * @param {boolean} alternateCommentMode Whether we should activate alternate comment parsing mode.\n * @returns {ITokenizerHandle} Tokenizer handle\n */\nfunction tokenize(source, alternateCommentMode) {\n /* eslint-disable callback-return */\n source = source.toString();\n\n var offset = 0,\n length = source.length,\n line = 1,\n commentType = null,\n commentText = null,\n commentLine = 0,\n commentLineEmpty = false,\n commentIsLeading = false;\n\n var stack = [];\n\n var stringDelim = null;\n\n /* istanbul ignore next */\n /**\n * Creates an error for illegal syntax.\n * @param {string} subject Subject\n * @returns {Error} Error created\n * @inner\n */\n function illegal(subject) {\n return Error(\"illegal \" + subject + \" (line \" + line + \")\");\n }\n\n /**\n * Reads a string till its end.\n * @returns {string} String read\n * @inner\n */\n function readString() {\n var re = stringDelim === \"'\" ? stringSingleRe : stringDoubleRe;\n re.lastIndex = offset - 1;\n var match = re.exec(source);\n if (!match)\n throw illegal(\"string\");\n offset = re.lastIndex;\n push(stringDelim);\n stringDelim = null;\n return unescape(match[1]);\n }\n\n /**\n * Gets the character at `pos` within the source.\n * @param {number} pos Position\n * @returns {string} Character\n * @inner\n */\n function charAt(pos) {\n return source.charAt(pos);\n }\n\n /**\n * Sets the current comment text.\n * @param {number} start Start offset\n * @param {number} end End offset\n * @param {boolean} isLeading set if a leading comment\n * @returns {undefined}\n * @inner\n */\n function setComment(start, end, isLeading) {\n commentType = source.charAt(start++);\n commentLine = line;\n commentLineEmpty = false;\n commentIsLeading = isLeading;\n var lookback;\n if (alternateCommentMode) {\n lookback = 2; // alternate comment parsing: \"//\" or \"/*\"\n } else {\n lookback = 3; // \"///\" or \"/**\"\n }\n var commentOffset = start - lookback,\n c;\n do {\n if (--commentOffset < 0 ||\n (c = source.charAt(commentOffset)) === \"\\n\") {\n commentLineEmpty = true;\n break;\n }\n } while (c === \" \" || c === \"\\t\");\n var lines = source\n .substring(start, end)\n .split(setCommentSplitRe);\n for (var i = 0; i < lines.length; ++i)\n lines[i] = lines[i]\n .replace(alternateCommentMode ? setCommentAltRe : setCommentRe, \"\")\n .trim();\n commentText = lines\n .join(\"\\n\")\n .trim();\n }\n\n function isDoubleSlashCommentLine(startOffset) {\n var endOffset = findEndOfLine(startOffset);\n\n // see if remaining line matches comment pattern\n var lineText = source.substring(startOffset, endOffset);\n // look for 1 or 2 slashes since startOffset would already point past\n // the first slash that started the comment.\n var isComment = /^\\s*\\/{1,2}/.test(lineText);\n return isComment;\n }\n\n function findEndOfLine(cursor) {\n // find end of cursor's line\n var endOffset = cursor;\n while (endOffset < length && charAt(endOffset) !== \"\\n\") {\n endOffset++;\n }\n return endOffset;\n }\n\n /**\n * Obtains the next token.\n * @returns {string|null} Next token or `null` on eof\n * @inner\n */\n function next() {\n if (stack.length > 0)\n return stack.shift();\n if (stringDelim)\n return readString();\n var repeat,\n prev,\n curr,\n start,\n isDoc,\n isLeadingComment = offset === 0;\n do {\n if (offset === length)\n return null;\n repeat = false;\n while (whitespaceRe.test(curr = charAt(offset))) {\n if (curr === \"\\n\") {\n isLeadingComment = true;\n ++line;\n }\n if (++offset === length)\n return null;\n }\n\n if (charAt(offset) === \"/\") {\n if (++offset === length) {\n throw illegal(\"comment\");\n }\n if (charAt(offset) === \"/\") { // Line\n if (!alternateCommentMode) {\n // check for triple-slash comment\n isDoc = charAt(start = offset + 1) === \"/\";\n\n while (charAt(++offset) !== \"\\n\") {\n if (offset === length) {\n return null;\n }\n }\n ++offset;\n if (isDoc) {\n setComment(start, offset - 1, isLeadingComment);\n }\n ++line;\n repeat = true;\n } else {\n // check for double-slash comments, consolidating consecutive lines\n start = offset;\n isDoc = false;\n if (isDoubleSlashCommentLine(offset)) {\n isDoc = true;\n do {\n offset = findEndOfLine(offset);\n if (offset === length) {\n break;\n }\n offset++;\n } while (isDoubleSlashCommentLine(offset));\n } else {\n offset = Math.min(length, findEndOfLine(offset) + 1);\n }\n if (isDoc) {\n setComment(start, offset, isLeadingComment);\n }\n line++;\n repeat = true;\n }\n } else if ((curr = charAt(offset)) === \"*\") { /* Block */\n // check for /** (regular comment mode) or /* (alternate comment mode)\n start = offset + 1;\n isDoc = alternateCommentMode || charAt(start) === \"*\";\n do {\n if (curr === \"\\n\") {\n ++line;\n }\n if (++offset === length) {\n throw illegal(\"comment\");\n }\n prev = curr;\n curr = charAt(offset);\n } while (prev !== \"*\" || curr !== \"/\");\n ++offset;\n if (isDoc) {\n setComment(start, offset - 2, isLeadingComment);\n }\n repeat = true;\n } else {\n return \"/\";\n }\n }\n } while (repeat);\n\n // offset !== length if we got here\n\n var end = offset;\n delimRe.lastIndex = 0;\n var delim = delimRe.test(charAt(end++));\n if (!delim)\n while (end < length && !delimRe.test(charAt(end)))\n ++end;\n var token = source.substring(offset, offset = end);\n if (token === \"\\\"\" || token === \"'\")\n stringDelim = token;\n return token;\n }\n\n /**\n * Pushes a token back to the stack.\n * @param {string} token Token\n * @returns {undefined}\n * @inner\n */\n function push(token) {\n stack.push(token);\n }\n\n /**\n * Peeks for the next token.\n * @returns {string|null} Token or `null` on eof\n * @inner\n */\n function peek() {\n if (!stack.length) {\n var token = next();\n if (token === null)\n return null;\n push(token);\n }\n return stack[0];\n }\n\n /**\n * Skips a token.\n * @param {string} expected Expected token\n * @param {boolean} [optional=false] Whether the token is optional\n * @returns {boolean} `true` when skipped, `false` if not\n * @throws {Error} When a required token is not present\n * @inner\n */\n function skip(expected, optional) {\n var actual = peek(),\n equals = actual === expected;\n if (equals) {\n next();\n return true;\n }\n if (!optional)\n throw illegal(\"token '\" + actual + \"', '\" + expected + \"' expected\");\n return false;\n }\n\n /**\n * Gets a comment.\n * @param {number} [trailingLine] Line number if looking for a trailing comment\n * @returns {string|null} Comment text\n * @inner\n */\n function cmnt(trailingLine) {\n var ret = null;\n if (trailingLine === undefined) {\n if (commentLine === line - 1 && (alternateCommentMode || commentType === \"*\" || commentLineEmpty)) {\n ret = commentIsLeading ? commentText : null;\n }\n } else {\n /* istanbul ignore else */\n if (commentLine < trailingLine) {\n peek();\n }\n if (commentLine === trailingLine && !commentLineEmpty && (alternateCommentMode || commentType === \"/\")) {\n ret = commentIsLeading ? null : commentText;\n }\n }\n return ret;\n }\n\n return Object.defineProperty({\n next: next,\n peek: peek,\n push: push,\n skip: skip,\n cmnt: cmnt\n }, \"line\", {\n get: function() { return line; }\n });\n /* eslint-enable callback-return */\n}\n","\"use strict\";\nmodule.exports = Type;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Type.prototype = Object.create(Namespace.prototype)).constructor = Type).className = \"Type\";\n\nvar Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n Field = require(\"./field\"),\n MapField = require(\"./mapfield\"),\n Service = require(\"./service\"),\n Message = require(\"./message\"),\n Reader = require(\"./reader\"),\n Writer = require(\"./writer\"),\n util = require(\"./util\"),\n encoder = require(\"./encoder\"),\n decoder = require(\"./decoder\"),\n verifier = require(\"./verifier\"),\n converter = require(\"./converter\"),\n wrappers = require(\"./wrappers\");\n\n/**\n * Constructs a new reflected message type instance.\n * @classdesc Reflected message type.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Message name\n * @param {Object.<string,*>} [options] Declared options\n */\nfunction Type(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Message fields.\n * @type {Object.<string,Field>}\n */\n this.fields = {}; // toJSON, marker\n\n /**\n * Oneofs declared within this namespace, if any.\n * @type {Object.<string,OneOf>}\n */\n this.oneofs = undefined; // toJSON\n\n /**\n * Extension ranges, if any.\n * @type {number[][]}\n */\n this.extensions = undefined; // toJSON\n\n /**\n * Reserved ranges, if any.\n * @type {Array.<number[]|string>}\n */\n this.reserved = undefined; // toJSON\n\n /*?\n * Whether this type is a legacy group.\n * @type {boolean|undefined}\n */\n this.group = undefined; // toJSON\n\n /**\n * Cached fields by id.\n * @type {Object.<number,Field>|null}\n * @private\n */\n this._fieldsById = null;\n\n /**\n * Cached fields as an array.\n * @type {Field[]|null}\n * @private\n */\n this._fieldsArray = null;\n\n /**\n * Cached oneofs as an array.\n * @type {OneOf[]|null}\n * @private\n */\n this._oneofsArray = null;\n\n /**\n * Cached constructor.\n * @type {Constructor<{}>}\n * @private\n */\n this._ctor = null;\n}\n\nObject.defineProperties(Type.prototype, {\n\n /**\n * Message fields by id.\n * @name Type#fieldsById\n * @type {Object.<number,Field>}\n * @readonly\n */\n fieldsById: {\n get: function() {\n\n /* istanbul ignore if */\n if (this._fieldsById)\n return this._fieldsById;\n\n this._fieldsById = {};\n for (var names = Object.keys(this.fields), i = 0; i < names.length; ++i) {\n var field = this.fields[names[i]],\n id = field.id;\n\n /* istanbul ignore if */\n if (this._fieldsById[id])\n throw Error(\"duplicate id \" + id + \" in \" + this);\n\n this._fieldsById[id] = field;\n }\n return this._fieldsById;\n }\n },\n\n /**\n * Fields of this message as an array for iteration.\n * @name Type#fieldsArray\n * @type {Field[]}\n * @readonly\n */\n fieldsArray: {\n get: function() {\n return this._fieldsArray || (this._fieldsArray = util.toArray(this.fields));\n }\n },\n\n /**\n * Oneofs of this message as an array for iteration.\n * @name Type#oneofsArray\n * @type {OneOf[]}\n * @readonly\n */\n oneofsArray: {\n get: function() {\n return this._oneofsArray || (this._oneofsArray = util.toArray(this.oneofs));\n }\n },\n\n /**\n * The registered constructor, if any registered, otherwise a generic constructor.\n * Assigning a function replaces the internal constructor. If the function does not extend {@link Message} yet, its prototype will be setup accordingly and static methods will be populated. If it already extends {@link Message}, it will just replace the internal constructor.\n * @name Type#ctor\n * @type {Constructor<{}>}\n */\n ctor: {\n get: function() {\n return this._ctor || (this.ctor = Type.generateConstructor(this)());\n },\n set: function(ctor) {\n\n // Ensure proper prototype\n var prototype = ctor.prototype;\n if (!(prototype instanceof Message)) {\n (ctor.prototype = new Message()).constructor = ctor;\n util.merge(ctor.prototype, prototype);\n }\n\n // Classes and messages reference their reflected type\n ctor.$type = ctor.prototype.$type = this;\n\n // Mix in static methods\n util.merge(ctor, Message, true);\n\n this._ctor = ctor;\n\n // Messages have non-enumerable default values on their prototype\n var i = 0;\n for (; i < /* initializes */ this.fieldsArray.length; ++i)\n this._fieldsArray[i].resolve(); // ensures a proper value\n\n // Messages have non-enumerable getters and setters for each virtual oneof field\n var ctorProperties = {};\n for (i = 0; i < /* initializes */ this.oneofsArray.length; ++i)\n ctorProperties[this._oneofsArray[i].resolve().name] = {\n get: util.oneOfGetter(this._oneofsArray[i].oneof),\n set: util.oneOfSetter(this._oneofsArray[i].oneof)\n };\n if (i)\n Object.defineProperties(ctor.prototype, ctorProperties);\n }\n }\n});\n\n/**\n * Generates a constructor function for the specified type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nType.generateConstructor = function generateConstructor(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"p\"], mtype.name);\n // explicitly initialize mutable object/array fields so that these aren't just inherited from the prototype\n for (var i = 0, field; i < mtype.fieldsArray.length; ++i)\n if ((field = mtype._fieldsArray[i]).map) gen\n (\"this%s={}\", util.safeProp(field.name));\n else if (field.repeated) gen\n (\"this%s=[]\", util.safeProp(field.name));\n return gen\n (\"if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)\") // omit undefined or null\n (\"this[ks[i]]=p[ks[i]]\");\n /* eslint-enable no-unexpected-multiline */\n};\n\nfunction clearCache(type) {\n type._fieldsById = type._fieldsArray = type._oneofsArray = null;\n delete type.encode;\n delete type.decode;\n delete type.verify;\n return type;\n}\n\n/**\n * Message type descriptor.\n * @interface IType\n * @extends INamespace\n * @property {Object.<string,IOneOf>} [oneofs] Oneof descriptors\n * @property {Object.<string,IField>} fields Field descriptors\n * @property {number[][]} [extensions] Extension ranges\n * @property {number[][]} [reserved] Reserved ranges\n * @property {boolean} [group=false] Whether a legacy group or not\n */\n\n/**\n * Creates a message type from a message type descriptor.\n * @param {string} name Message name\n * @param {IType} json Message type descriptor\n * @returns {Type} Created message type\n */\nType.fromJSON = function fromJSON(name, json) {\n var type = new Type(name, json.options);\n type.extensions = json.extensions;\n type.reserved = json.reserved;\n var names = Object.keys(json.fields),\n i = 0;\n for (; i < names.length; ++i)\n type.add(\n ( typeof json.fields[names[i]].keyType !== \"undefined\"\n ? MapField.fromJSON\n : Field.fromJSON )(names[i], json.fields[names[i]])\n );\n if (json.oneofs)\n for (names = Object.keys(json.oneofs), i = 0; i < names.length; ++i)\n type.add(OneOf.fromJSON(names[i], json.oneofs[names[i]]));\n if (json.nested)\n for (names = Object.keys(json.nested), i = 0; i < names.length; ++i) {\n var nested = json.nested[names[i]];\n type.add( // most to least likely\n ( nested.id !== undefined\n ? Field.fromJSON\n : nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n if (json.extensions && json.extensions.length)\n type.extensions = json.extensions;\n if (json.reserved && json.reserved.length)\n type.reserved = json.reserved;\n if (json.group)\n type.group = true;\n if (json.comment)\n type.comment = json.comment;\n return type;\n};\n\n/**\n * Converts this message type to a message type descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IType} Message type descriptor\n */\nType.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"oneofs\" , Namespace.arrayToJSON(this.oneofsArray, toJSONOptions),\n \"fields\" , Namespace.arrayToJSON(this.fieldsArray.filter(function(obj) { return !obj.declaringField; }), toJSONOptions) || {},\n \"extensions\" , this.extensions && this.extensions.length ? this.extensions : undefined,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"group\" , this.group || undefined,\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nType.prototype.resolveAll = function resolveAll() {\n var fields = this.fieldsArray, i = 0;\n while (i < fields.length)\n fields[i++].resolve();\n var oneofs = this.oneofsArray; i = 0;\n while (i < oneofs.length)\n oneofs[i++].resolve();\n return Namespace.prototype.resolveAll.call(this);\n};\n\n/**\n * @override\n */\nType.prototype.get = function get(name) {\n return this.fields[name]\n || this.oneofs && this.oneofs[name]\n || this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Adds a nested object to this type.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name or, if a field, when there is already a field with this id\n */\nType.prototype.add = function add(object) {\n\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Field && object.extend === undefined) {\n // NOTE: Extension fields aren't actual fields on the declaring type, but nested objects.\n // The root object takes care of adding distinct sister-fields to the respective extended\n // type instead.\n\n // avoids calling the getter if not absolutely necessary because it's called quite frequently\n if (this._fieldsById ? /* istanbul ignore next */ this._fieldsById[object.id] : this.fieldsById[object.id])\n throw Error(\"duplicate id \" + object.id + \" in \" + this);\n if (this.isReservedId(object.id))\n throw Error(\"id \" + object.id + \" is reserved in \" + this);\n if (this.isReservedName(object.name))\n throw Error(\"name '\" + object.name + \"' is reserved in \" + this);\n\n if (object.parent)\n object.parent.remove(object);\n this.fields[object.name] = object;\n object.message = this;\n object.onAdd(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n if (!this.oneofs)\n this.oneofs = {};\n this.oneofs[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * Removes a nested object from this type.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this type\n */\nType.prototype.remove = function remove(object) {\n if (object instanceof Field && object.extend === undefined) {\n // See Type#add for the reason why extension fields are excluded here.\n\n /* istanbul ignore if */\n if (!this.fields || this.fields[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.fields[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n\n /* istanbul ignore if */\n if (!this.oneofs || this.oneofs[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.oneofs[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.<string,*>} [properties] Properties to set\n * @returns {Message<{}>} Message instance\n */\nType.prototype.create = function create(properties) {\n return new this.ctor(properties);\n};\n\n/**\n * Sets up {@link Type#encode|encode}, {@link Type#decode|decode} and {@link Type#verify|verify}.\n * @returns {Type} `this`\n */\nType.prototype.setup = function setup() {\n // Sets up everything at once so that the prototype chain does not have to be re-evaluated\n // multiple times (V8, soft-deopt prototype-check).\n\n var fullName = this.fullName,\n types = [];\n for (var i = 0; i < /* initializes */ this.fieldsArray.length; ++i)\n types.push(this._fieldsArray[i].resolve().resolvedType);\n\n // Replace setup methods with type-specific generated functions\n this.encode = encoder(this)({\n Writer : Writer,\n types : types,\n util : util\n });\n this.decode = decoder(this)({\n Reader : Reader,\n types : types,\n util : util\n });\n this.verify = verifier(this)({\n types : types,\n util : util\n });\n this.fromObject = converter.fromObject(this)({\n types : types,\n util : util\n });\n this.toObject = converter.toObject(this)({\n types : types,\n util : util\n });\n\n // Inject custom wrappers for common types\n var wrapper = wrappers[fullName];\n if (wrapper) {\n var originalThis = Object.create(this);\n // if (wrapper.fromObject) {\n originalThis.fromObject = this.fromObject;\n this.fromObject = wrapper.fromObject.bind(originalThis);\n // }\n // if (wrapper.toObject) {\n originalThis.toObject = this.toObject;\n this.toObject = wrapper.toObject.bind(originalThis);\n // }\n }\n\n return this;\n};\n\n/**\n * Encodes a message of this type. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.<string,*>} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encode = function encode_setup(message, writer) {\n return this.setup().encode(message, writer); // overrides this method\n};\n\n/**\n * Encodes a message of this type preceeded by its byte length as a varint. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.<string,*>} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer && writer.len ? writer.fork() : writer).ldelim();\n};\n\n/**\n * Decodes a message of this type.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Length of the message, if known beforehand\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError<{}>} If required fields are missing\n */\nType.prototype.decode = function decode_setup(reader, length) {\n return this.setup().decode(reader, length); // overrides this method\n};\n\n/**\n * Decodes a message of this type preceeded by its byte length as a varint.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError} If required fields are missing\n */\nType.prototype.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof Reader))\n reader = Reader.create(reader);\n return this.decode(reader, reader.uint32());\n};\n\n/**\n * Verifies that field values are valid and that required fields are present.\n * @param {Object.<string,*>} message Plain object to verify\n * @returns {null|string} `null` if valid, otherwise the reason why it is not\n */\nType.prototype.verify = function verify_setup(message) {\n return this.setup().verify(message); // overrides this method\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.<string,*>} object Plain object to convert\n * @returns {Message<{}>} Message instance\n */\nType.prototype.fromObject = function fromObject(object) {\n return this.setup().fromObject(object);\n};\n\n/**\n * Conversion options as used by {@link Type#toObject} and {@link Message.toObject}.\n * @interface IConversionOptions\n * @property {Function} [longs] Long conversion type.\n * Valid values are `String` and `Number` (the global types).\n * Defaults to copy the present value, which is a possibly unsafe number without and a {@link Long} with a long library.\n * @property {Function} [enums] Enum value conversion type.\n * Only valid value is `String` (the global type).\n * Defaults to copy the present value, which is the numeric id.\n * @property {Function} [bytes] Bytes value conversion type.\n * Valid values are `Array` and (a base64 encoded) `String` (the global types).\n * Defaults to copy the present value, which usually is a Buffer under node and an Uint8Array in the browser.\n * @property {boolean} [defaults=false] Also sets default values on the resulting object\n * @property {boolean} [arrays=false] Sets empty arrays for missing repeated fields even if `defaults=false`\n * @property {boolean} [objects=false] Sets empty objects for missing map fields even if `defaults=false`\n * @property {boolean} [oneofs=false] Includes virtual oneof properties set to the present field's name, if any\n * @property {boolean} [json=false] Performs additional JSON compatibility conversions, i.e. NaN and Infinity to strings\n */\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n */\nType.prototype.toObject = function toObject(message, options) {\n return this.setup().toObject(message, options);\n};\n\n/**\n * Decorator function as returned by {@link Type.d} (TypeScript).\n * @typedef TypeDecorator\n * @type {function}\n * @param {Constructor<T>} target Target constructor\n * @returns {undefined}\n * @template T extends Message<T>\n */\n\n/**\n * Type decorator (TypeScript).\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {TypeDecorator<T>} Decorator function\n * @template T extends Message<T>\n */\nType.d = function decorateType(typeName) {\n return function typeDecorator(target) {\n util.decorateType(target, typeName);\n };\n};\n","\"use strict\";\n\n/**\n * Common type constants.\n * @namespace\n */\nvar types = exports;\n\nvar util = require(\"./util\");\n\nvar s = [\n \"double\", // 0\n \"float\", // 1\n \"int32\", // 2\n \"uint32\", // 3\n \"sint32\", // 4\n \"fixed32\", // 5\n \"sfixed32\", // 6\n \"int64\", // 7\n \"uint64\", // 8\n \"sint64\", // 9\n \"fixed64\", // 10\n \"sfixed64\", // 11\n \"bool\", // 12\n \"string\", // 13\n \"bytes\" // 14\n];\n\nfunction bake(values, offset) {\n var i = 0, o = {};\n offset |= 0;\n while (i < values.length) o[s[i + offset]] = values[i++];\n return o;\n}\n\n/**\n * Basic type wire types.\n * @type {Object.<string,number>}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n * @property {number} bytes=2 Ldelim wire type\n */\ntypes.basic = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2,\n /* bytes */ 2\n]);\n\n/**\n * Basic type defaults.\n * @type {Object.<string,*>}\n * @const\n * @property {number} double=0 Double default\n * @property {number} float=0 Float default\n * @property {number} int32=0 Int32 default\n * @property {number} uint32=0 Uint32 default\n * @property {number} sint32=0 Sint32 default\n * @property {number} fixed32=0 Fixed32 default\n * @property {number} sfixed32=0 Sfixed32 default\n * @property {number} int64=0 Int64 default\n * @property {number} uint64=0 Uint64 default\n * @property {number} sint64=0 Sint32 default\n * @property {number} fixed64=0 Fixed64 default\n * @property {number} sfixed64=0 Sfixed64 default\n * @property {boolean} bool=false Bool default\n * @property {string} string=\"\" String default\n * @property {Array.<number>} bytes=Array(0) Bytes default\n * @property {null} message=null Message default\n */\ntypes.defaults = bake([\n /* double */ 0,\n /* float */ 0,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 0,\n /* sfixed32 */ 0,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 0,\n /* sfixed64 */ 0,\n /* bool */ false,\n /* string */ \"\",\n /* bytes */ util.emptyArray,\n /* message */ null\n]);\n\n/**\n * Basic long type wire types.\n * @type {Object.<string,number>}\n * @const\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n */\ntypes.long = bake([\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1\n], 7);\n\n/**\n * Allowed types for map keys with their associated wire type.\n * @type {Object.<string,number>}\n * @const\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n */\ntypes.mapKey = bake([\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2\n], 2);\n\n/**\n * Allowed types for packed repeated fields with their associated wire type.\n * @type {Object.<string,number>}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n */\ntypes.packed = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0\n]);\n","\"use strict\";\n\n/**\n * Various utility functions.\n * @namespace\n */\nvar util = module.exports = require(\"./util/minimal\");\n\nvar roots = require(\"./roots\");\n\nvar Type, // cyclic\n Enum;\n\nutil.codegen = require(\"@protobufjs/codegen\");\nutil.fetch = require(\"@protobufjs/fetch\");\nutil.path = require(\"@protobufjs/path\");\n\n/**\n * Node's fs module if available.\n * @type {Object.<string,*>}\n */\nutil.fs = util.inquire(\"fs\");\n\n/**\n * Converts an object's values to an array.\n * @param {Object.<string,*>} object Object to convert\n * @returns {Array.<*>} Converted array\n */\nutil.toArray = function toArray(object) {\n if (object) {\n var keys = Object.keys(object),\n array = new Array(keys.length),\n index = 0;\n while (index < keys.length)\n array[index] = object[keys[index++]];\n return array;\n }\n return [];\n};\n\n/**\n * Converts an array of keys immediately followed by their respective value to an object, omitting undefined values.\n * @param {Array.<*>} array Array to convert\n * @returns {Object.<string,*>} Converted object\n */\nutil.toObject = function toObject(array) {\n var object = {},\n index = 0;\n while (index < array.length) {\n var key = array[index++],\n val = array[index++];\n if (val !== undefined)\n object[key] = val;\n }\n return object;\n};\n\nvar safePropBackslashRe = /\\\\/g,\n safePropQuoteRe = /\"/g;\n\n/**\n * Tests whether the specified name is a reserved word in JS.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nutil.isReserved = function isReserved(name) {\n return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(name);\n};\n\n/**\n * Returns a safe property accessor for the specified property name.\n * @param {string} prop Property name\n * @returns {string} Safe accessor\n */\nutil.safeProp = function safeProp(prop) {\n if (!/^[$\\w_]+$/.test(prop) || util.isReserved(prop))\n return \"[\\\"\" + prop.replace(safePropBackslashRe, \"\\\\\\\\\").replace(safePropQuoteRe, \"\\\\\\\"\") + \"\\\"]\";\n return \".\" + prop;\n};\n\n/**\n * Converts the first character of a string to upper case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.ucFirst = function ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nvar camelCaseRe = /_([a-z])/g;\n\n/**\n * Converts a string to camel case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.camelCase = function camelCase(str) {\n return str.substring(0, 1)\n + str.substring(1)\n .replace(camelCaseRe, function($0, $1) { return $1.toUpperCase(); });\n};\n\n/**\n * Compares reflected fields by id.\n * @param {Field} a First field\n * @param {Field} b Second field\n * @returns {number} Comparison value\n */\nutil.compareFieldsById = function compareFieldsById(a, b) {\n return a.id - b.id;\n};\n\n/**\n * Decorator helper for types (TypeScript).\n * @param {Constructor<T>} ctor Constructor function\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {Type} Reflected type\n * @template T extends Message<T>\n * @property {Root} root Decorators root\n */\nutil.decorateType = function decorateType(ctor, typeName) {\n\n /* istanbul ignore if */\n if (ctor.$type) {\n if (typeName && ctor.$type.name !== typeName) {\n util.decorateRoot.remove(ctor.$type);\n ctor.$type.name = typeName;\n util.decorateRoot.add(ctor.$type);\n }\n return ctor.$type;\n }\n\n /* istanbul ignore next */\n if (!Type)\n Type = require(\"./type\");\n\n var type = new Type(typeName || ctor.name);\n util.decorateRoot.add(type);\n type.ctor = ctor; // sets up .encode, .decode etc.\n Object.defineProperty(ctor, \"$type\", { value: type, enumerable: false });\n Object.defineProperty(ctor.prototype, \"$type\", { value: type, enumerable: false });\n return type;\n};\n\nvar decorateEnumIndex = 0;\n\n/**\n * Decorator helper for enums (TypeScript).\n * @param {Object} object Enum object\n * @returns {Enum} Reflected enum\n */\nutil.decorateEnum = function decorateEnum(object) {\n\n /* istanbul ignore if */\n if (object.$type)\n return object.$type;\n\n /* istanbul ignore next */\n if (!Enum)\n Enum = require(\"./enum\");\n\n var enm = new Enum(\"Enum\" + decorateEnumIndex++, object);\n util.decorateRoot.add(enm);\n Object.defineProperty(object, \"$type\", { value: enm, enumerable: false });\n return enm;\n};\n\n\n/**\n * Sets the value of a property by property path. If a value already exists, it is turned to an array\n * @param {Object.<string,*>} dst Destination object\n * @param {string} path dot '.' delimited path of the property to set\n * @param {Object} value the value to set\n * @returns {Object.<string,*>} Destination object\n */\nutil.setProperty = function setProperty(dst, path, value) {\n function setProp(dst, path, value) {\n var part = path.shift();\n if (part === \"__proto__\") {\n return dst;\n }\n if (path.length > 0) {\n dst[part] = setProp(dst[part] || {}, path, value);\n } else {\n var prevValue = dst[part];\n if (prevValue)\n value = [].concat(prevValue).concat(value);\n dst[part] = value;\n }\n return dst;\n }\n\n if (typeof dst !== \"object\")\n throw TypeError(\"dst must be an object\");\n if (!path)\n throw TypeError(\"path must be specified\");\n\n path = path.split(\".\");\n return setProp(dst, path, value);\n};\n\n/**\n * Decorator root (TypeScript).\n * @name util.decorateRoot\n * @type {Root}\n * @readonly\n */\nObject.defineProperty(util, \"decorateRoot\", {\n get: function() {\n return roots[\"decorated\"] || (roots[\"decorated\"] = new (require(\"./root\"))());\n }\n});\n","\"use strict\";\nmodule.exports = LongBits;\n\nvar util = require(\"../util/minimal\");\n\n/**\n * Constructs new long bits.\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\n * @memberof util\n * @constructor\n * @param {number} lo Low 32 bits, unsigned\n * @param {number} hi High 32 bits, unsigned\n */\nfunction LongBits(lo, hi) {\n\n // note that the casts below are theoretically unnecessary as of today, but older statically\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\n\n /**\n * Low bits.\n * @type {number}\n */\n this.lo = lo >>> 0;\n\n /**\n * High bits.\n * @type {number}\n */\n this.hi = hi >>> 0;\n}\n\n/**\n * Zero bits.\n * @memberof util.LongBits\n * @type {util.LongBits}\n */\nvar zero = LongBits.zero = new LongBits(0, 0);\n\nzero.toNumber = function() { return 0; };\nzero.zzEncode = zero.zzDecode = function() { return this; };\nzero.length = function() { return 1; };\n\n/**\n * Zero hash.\n * @memberof util.LongBits\n * @type {string}\n */\nvar zeroHash = LongBits.zeroHash = \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n\n/**\n * Constructs new long bits from the specified number.\n * @param {number} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.fromNumber = function fromNumber(value) {\n if (value === 0)\n return zero;\n var sign = value < 0;\n if (sign)\n value = -value;\n var lo = value >>> 0,\n hi = (value - lo) / 4294967296 >>> 0;\n if (sign) {\n hi = ~hi >>> 0;\n lo = ~lo >>> 0;\n if (++lo > 4294967295) {\n lo = 0;\n if (++hi > 4294967295)\n hi = 0;\n }\n }\n return new LongBits(lo, hi);\n};\n\n/**\n * Constructs new long bits from a number, long or string.\n * @param {Long|number|string} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.from = function from(value) {\n if (typeof value === \"number\")\n return LongBits.fromNumber(value);\n if (util.isString(value)) {\n /* istanbul ignore else */\n if (util.Long)\n value = util.Long.fromString(value);\n else\n return LongBits.fromNumber(parseInt(value, 10));\n }\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\n};\n\n/**\n * Converts this long bits to a possibly unsafe JavaScript number.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {number} Possibly unsafe number\n */\nLongBits.prototype.toNumber = function toNumber(unsigned) {\n if (!unsigned && this.hi >>> 31) {\n var lo = ~this.lo + 1 >>> 0,\n hi = ~this.hi >>> 0;\n if (!lo)\n hi = hi + 1 >>> 0;\n return -(lo + hi * 4294967296);\n }\n return this.lo + this.hi * 4294967296;\n};\n\n/**\n * Converts this long bits to a long.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long} Long\n */\nLongBits.prototype.toLong = function toLong(unsigned) {\n return util.Long\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\n /* istanbul ignore next */\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\n};\n\nvar charCodeAt = String.prototype.charCodeAt;\n\n/**\n * Constructs new long bits from the specified 8 characters long hash.\n * @param {string} hash Hash\n * @returns {util.LongBits} Bits\n */\nLongBits.fromHash = function fromHash(hash) {\n if (hash === zeroHash)\n return zero;\n return new LongBits(\n ( charCodeAt.call(hash, 0)\n | charCodeAt.call(hash, 1) << 8\n | charCodeAt.call(hash, 2) << 16\n | charCodeAt.call(hash, 3) << 24) >>> 0\n ,\n ( charCodeAt.call(hash, 4)\n | charCodeAt.call(hash, 5) << 8\n | charCodeAt.call(hash, 6) << 16\n | charCodeAt.call(hash, 7) << 24) >>> 0\n );\n};\n\n/**\n * Converts this long bits to a 8 characters long hash.\n * @returns {string} Hash\n */\nLongBits.prototype.toHash = function toHash() {\n return String.fromCharCode(\n this.lo & 255,\n this.lo >>> 8 & 255,\n this.lo >>> 16 & 255,\n this.lo >>> 24 ,\n this.hi & 255,\n this.hi >>> 8 & 255,\n this.hi >>> 16 & 255,\n this.hi >>> 24\n );\n};\n\n/**\n * Zig-zag encodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzEncode = function zzEncode() {\n var mask = this.hi >> 31;\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Zig-zag decodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzDecode = function zzDecode() {\n var mask = -(this.lo & 1);\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Calculates the length of this longbits when encoded as a varint.\n * @returns {number} Length\n */\nLongBits.prototype.length = function length() {\n var part0 = this.lo,\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\n part2 = this.hi >>> 24;\n return part2 === 0\n ? part1 === 0\n ? part0 < 16384\n ? part0 < 128 ? 1 : 2\n : part0 < 2097152 ? 3 : 4\n : part1 < 16384\n ? part1 < 128 ? 5 : 6\n : part1 < 2097152 ? 7 : 8\n : part2 < 128 ? 9 : 10;\n};\n","\"use strict\";\nvar util = exports;\n\n// used to return a Promise where callback is omitted\nutil.asPromise = require(\"@protobufjs/aspromise\");\n\n// converts to / from base64 encoded strings\nutil.base64 = require(\"@protobufjs/base64\");\n\n// base class of rpc.Service\nutil.EventEmitter = require(\"@protobufjs/eventemitter\");\n\n// float handling accross browsers\nutil.float = require(\"@protobufjs/float\");\n\n// requires modules optionally and hides the call from bundlers\nutil.inquire = require(\"@protobufjs/inquire\");\n\n// converts to / from utf8 encoded strings\nutil.utf8 = require(\"@protobufjs/utf8\");\n\n// provides a node-like buffer pool in the browser\nutil.pool = require(\"@protobufjs/pool\");\n\n// utility to work with the low and high bits of a 64 bit value\nutil.LongBits = require(\"./longbits\");\n\n/**\n * Whether running within node or not.\n * @memberof util\n * @type {boolean}\n */\nutil.isNode = Boolean(typeof global !== \"undefined\"\n && global\n && global.process\n && global.process.versions\n && global.process.versions.node);\n\n/**\n * Global object reference.\n * @memberof util\n * @type {Object}\n */\nutil.global = util.isNode && global\n || typeof window !== \"undefined\" && window\n || typeof self !== \"undefined\" && self\n || this; // eslint-disable-line no-invalid-this\n\n/**\n * An immuable empty array.\n * @memberof util\n * @type {Array.<*>}\n * @const\n */\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\n\n/**\n * An immutable empty object.\n * @type {Object}\n * @const\n */\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\n\n/**\n * Tests if the specified value is an integer.\n * @function\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is an integer\n */\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};\n\n/**\n * Tests if the specified value is a string.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a string\n */\nutil.isString = function isString(value) {\n return typeof value === \"string\" || value instanceof String;\n};\n\n/**\n * Tests if the specified value is a non-null object.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a non-null object\n */\nutil.isObject = function isObject(value) {\n return value && typeof value === \"object\";\n};\n\n/**\n * Checks if a property on a message is considered to be present.\n * This is an alias of {@link util.isSet}.\n * @function\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isset =\n\n/**\n * Checks if a property on a message is considered to be present.\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isSet = function isSet(obj, prop) {\n var value = obj[prop];\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\n return typeof value !== \"object\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\n return false;\n};\n\n/**\n * Any compatible Buffer instance.\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\n * @interface Buffer\n * @extends Uint8Array\n */\n\n/**\n * Node's Buffer class if available.\n * @type {Constructor<Buffer>}\n */\nutil.Buffer = (function() {\n try {\n var Buffer = util.inquire(\"buffer\").Buffer;\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\n } catch (e) {\n /* istanbul ignore next */\n return null;\n }\n})();\n\n// Internal alias of or polyfull for Buffer.from.\nutil._Buffer_from = null;\n\n// Internal alias of or polyfill for Buffer.allocUnsafe.\nutil._Buffer_allocUnsafe = null;\n\n/**\n * Creates a new buffer of whatever type supported by the environment.\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\n * @returns {Uint8Array|Buffer} Buffer\n */\nutil.newBuffer = function newBuffer(sizeOrArray) {\n /* istanbul ignore next */\n return typeof sizeOrArray === \"number\"\n ? util.Buffer\n ? util._Buffer_allocUnsafe(sizeOrArray)\n : new util.Array(sizeOrArray)\n : util.Buffer\n ? util._Buffer_from(sizeOrArray)\n : typeof Uint8Array === \"undefined\"\n ? sizeOrArray\n : new Uint8Array(sizeOrArray);\n};\n\n/**\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\n * @type {Constructor<Uint8Array>}\n */\nutil.Array = typeof Uint8Array !== \"undefined\" ? Uint8Array /* istanbul ignore next */ : Array;\n\n/**\n * Any compatible Long instance.\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\n * @interface Long\n * @property {number} low Low bits\n * @property {number} high High bits\n * @property {boolean} unsigned Whether unsigned or not\n */\n\n/**\n * Long.js's Long class if available.\n * @type {Constructor<Long>}\n */\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\n || /* istanbul ignore next */ util.global.Long\n || util.inquire(\"long\");\n\n/**\n * Regular expression used to verify 2 bit (`bool`) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key2Re = /^true|false|0|1$/;\n\n/**\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\n\n/**\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key64Re = /^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\n\n/**\n * Converts a number or long to an 8 characters long hash string.\n * @param {Long|number} value Value to convert\n * @returns {string} Hash\n */\nutil.longToHash = function longToHash(value) {\n return value\n ? util.LongBits.from(value).toHash()\n : util.LongBits.zeroHash;\n};\n\n/**\n * Converts an 8 characters long hash string to a long or number.\n * @param {string} hash Hash\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long|number} Original value\n */\nutil.longFromHash = function longFromHash(hash, unsigned) {\n var bits = util.LongBits.fromHash(hash);\n if (util.Long)\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\n return bits.toNumber(Boolean(unsigned));\n};\n\n/**\n * Merges the properties of the source object into the destination object.\n * @memberof util\n * @param {Object.<string,*>} dst Destination object\n * @param {Object.<string,*>} src Source object\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\n * @returns {Object.<string,*>} Destination object\n */\nfunction merge(dst, src, ifNotSet) { // used by converters\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\n if (dst[keys[i]] === undefined || !ifNotSet)\n dst[keys[i]] = src[keys[i]];\n return dst;\n}\n\nutil.merge = merge;\n\n/**\n * Converts the first character of a string to lower case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.lcFirst = function lcFirst(str) {\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\n/**\n * Creates a custom error constructor.\n * @memberof util\n * @param {string} name Error name\n * @returns {Constructor<Error>} Custom error constructor\n */\nfunction newError(name) {\n\n function CustomError(message, properties) {\n\n if (!(this instanceof CustomError))\n return new CustomError(message, properties);\n\n // Error.call(this, message);\n // ^ just returns a new error instance because the ctor can be called as a function\n\n Object.defineProperty(this, \"message\", { get: function() { return message; } });\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) // node\n Error.captureStackTrace(this, CustomError);\n else\n Object.defineProperty(this, \"stack\", { value: new Error().stack || \"\" });\n\n if (properties)\n merge(this, properties);\n }\n\n (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError;\n\n Object.defineProperty(CustomError.prototype, \"name\", { get: function() { return name; } });\n\n CustomError.prototype.toString = function toString() {\n return this.name + \": \" + this.message;\n };\n\n return CustomError;\n}\n\nutil.newError = newError;\n\n/**\n * Constructs a new protocol error.\n * @classdesc Error subclass indicating a protocol specifc error.\n * @memberof util\n * @extends Error\n * @template T extends Message<T>\n * @constructor\n * @param {string} message Error message\n * @param {Object.<string,*>} [properties] Additional properties\n * @example\n * try {\n * MyMessage.decode(someBuffer); // throws if required fields are missing\n * } catch (e) {\n * if (e instanceof ProtocolError && e.instance)\n * console.log(\"decoded so far: \" + JSON.stringify(e.instance));\n * }\n */\nutil.ProtocolError = newError(\"ProtocolError\");\n\n/**\n * So far decoded message instance.\n * @name util.ProtocolError#instance\n * @type {Message<T>}\n */\n\n/**\n * A OneOf getter as returned by {@link util.oneOfGetter}.\n * @typedef OneOfGetter\n * @type {function}\n * @returns {string|undefined} Set field name, if any\n */\n\n/**\n * Builds a getter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfGetter} Unbound getter\n */\nutil.oneOfGetter = function getOneOf(fieldNames) {\n var fieldMap = {};\n for (var i = 0; i < fieldNames.length; ++i)\n fieldMap[fieldNames[i]] = 1;\n\n /**\n * @returns {string|undefined} Set field name, if any\n * @this Object\n * @ignore\n */\n return function() { // eslint-disable-line consistent-return\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\n return keys[i];\n };\n};\n\n/**\n * A OneOf setter as returned by {@link util.oneOfSetter}.\n * @typedef OneOfSetter\n * @type {function}\n * @param {string|undefined} value Field name\n * @returns {undefined}\n */\n\n/**\n * Builds a setter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfSetter} Unbound setter\n */\nutil.oneOfSetter = function setOneOf(fieldNames) {\n\n /**\n * @param {string} name Field name\n * @returns {undefined}\n * @this Object\n * @ignore\n */\n return function(name) {\n for (var i = 0; i < fieldNames.length; ++i)\n if (fieldNames[i] !== name)\n delete this[fieldNames[i]];\n };\n};\n\n/**\n * Default conversion options used for {@link Message#toJSON} implementations.\n *\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\n *\n * - Longs become strings\n * - Enums become string keys\n * - Bytes become base64 encoded strings\n * - (Sub-)Messages become plain objects\n * - Maps become plain objects with all string keys\n * - Repeated fields become arrays\n * - NaN and Infinity for float and double fields become strings\n *\n * @type {IConversionOptions}\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\n */\nutil.toJSONOptions = {\n longs: String,\n enums: String,\n bytes: String,\n json: true\n};\n\n// Sets up buffer utility according to the environment (called in index-minimal)\nutil._configure = function() {\n var Buffer = util.Buffer;\n /* istanbul ignore if */\n if (!Buffer) {\n util._Buffer_from = util._Buffer_allocUnsafe = null;\n return;\n }\n // because node 4.x buffers are incompatible & immutable\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\n /* istanbul ignore next */\n function Buffer_from(value, encoding) {\n return new Buffer(value, encoding);\n };\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\n /* istanbul ignore next */\n function Buffer_allocUnsafe(size) {\n return new Buffer(size);\n };\n};\n","\"use strict\";\nmodule.exports = verifier;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\nfunction invalid(field, expected) {\n return field.name + \": \" + expected + (field.repeated && expected !== \"array\" ? \"[]\" : field.map && expected !== \"object\" ? \"{k:\"+field.keyType+\"}\" : \"\") + \" expected\";\n}\n\n/**\n * Generates a partial value verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyValue(gen, field, fieldIndex, ref) {\n /* eslint-disable no-unexpected-multiline */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(%s){\", ref)\n (\"default:\")\n (\"return%j\", invalid(field, \"enum value\"));\n for (var keys = Object.keys(field.resolvedType.values), j = 0; j < keys.length; ++j) gen\n (\"case %i:\", field.resolvedType.values[keys[j]]);\n gen\n (\"break\")\n (\"}\");\n } else {\n gen\n (\"{\")\n (\"var e=types[%i].verify(%s);\", fieldIndex, ref)\n (\"if(e)\")\n (\"return%j+e\", field.name + \".\")\n (\"}\");\n }\n } else {\n switch (field.type) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.isInteger(%s))\", ref)\n (\"return%j\", invalid(field, \"integer\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))\", ref, ref, ref, ref)\n (\"return%j\", invalid(field, \"integer|Long\"));\n break;\n case \"float\":\n case \"double\": gen\n (\"if(typeof %s!==\\\"number\\\")\", ref)\n (\"return%j\", invalid(field, \"number\"));\n break;\n case \"bool\": gen\n (\"if(typeof %s!==\\\"boolean\\\")\", ref)\n (\"return%j\", invalid(field, \"boolean\"));\n break;\n case \"string\": gen\n (\"if(!util.isString(%s))\", ref)\n (\"return%j\", invalid(field, \"string\"));\n break;\n case \"bytes\": gen\n (\"if(!(%s&&typeof %s.length===\\\"number\\\"||util.isString(%s)))\", ref, ref, ref)\n (\"return%j\", invalid(field, \"buffer\"));\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a partial key verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyKey(gen, field, ref) {\n /* eslint-disable no-unexpected-multiline */\n switch (field.keyType) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.key32Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"integer key\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.key64Re.test(%s))\", ref) // see comment above: x is ok, d is not\n (\"return%j\", invalid(field, \"integer|Long key\"));\n break;\n case \"bool\": gen\n (\"if(!util.key2Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"boolean key\"));\n break;\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a verifier specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction verifier(mtype) {\n /* eslint-disable no-unexpected-multiline */\n\n var gen = util.codegen([\"m\"], mtype.name + \"$verify\")\n (\"if(typeof m!==\\\"object\\\"||m===null)\")\n (\"return%j\", \"object expected\");\n var oneofs = mtype.oneofsArray,\n seenFirstField = {};\n if (oneofs.length) gen\n (\"var p={}\");\n\n for (var i = 0; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n ref = \"m\" + util.safeProp(field.name);\n\n if (field.optional) gen\n (\"if(%s!=null&&m.hasOwnProperty(%j)){\", ref, field.name); // !== undefined && !== null\n\n // map fields\n if (field.map) { gen\n (\"if(!util.isObject(%s))\", ref)\n (\"return%j\", invalid(field, \"object\"))\n (\"var k=Object.keys(%s)\", ref)\n (\"for(var i=0;i<k.length;++i){\");\n genVerifyKey(gen, field, \"k[i]\");\n genVerifyValue(gen, field, i, ref + \"[k[i]]\")\n (\"}\");\n\n // repeated fields\n } else if (field.repeated) { gen\n (\"if(!Array.isArray(%s))\", ref)\n (\"return%j\", invalid(field, \"array\"))\n (\"for(var i=0;i<%s.length;++i){\", ref);\n genVerifyValue(gen, field, i, ref + \"[i]\")\n (\"}\");\n\n // required or present fields\n } else {\n if (field.partOf) {\n var oneofProp = util.safeProp(field.partOf.name);\n if (seenFirstField[field.partOf.name] === 1) gen\n (\"if(p%s===1)\", oneofProp)\n (\"return%j\", field.partOf.name + \": multiple values\");\n seenFirstField[field.partOf.name] = 1;\n gen\n (\"p%s=1\", oneofProp);\n }\n genVerifyValue(gen, field, i, ref);\n }\n if (field.optional) gen\n (\"}\");\n }\n return gen\n (\"return null\");\n /* eslint-enable no-unexpected-multiline */\n}","\"use strict\";\n\n/**\n * Wrappers for common types.\n * @type {Object.<string,IWrapper>}\n * @const\n */\nvar wrappers = exports;\n\nvar Message = require(\"./message\");\n\n/**\n * From object converter part of an {@link IWrapper}.\n * @typedef WrapperFromObjectConverter\n * @type {function}\n * @param {Object.<string,*>} object Plain object\n * @returns {Message<{}>} Message instance\n * @this Type\n */\n\n/**\n * To object converter part of an {@link IWrapper}.\n * @typedef WrapperToObjectConverter\n * @type {function}\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.<string,*>} Plain object\n * @this Type\n */\n\n/**\n * Common type wrapper part of {@link wrappers}.\n * @interface IWrapper\n * @property {WrapperFromObjectConverter} [fromObject] From object converter\n * @property {WrapperToObjectConverter} [toObject] To object converter\n */\n\n// Custom wrapper for Any\nwrappers[\".google.protobuf.Any\"] = {\n\n fromObject: function(object) {\n\n // unwrap value type if mapped\n if (object && object[\"@type\"]) {\n // Only use fully qualified type name after the last '/'\n var name = object[\"@type\"].substring(object[\"@type\"].lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type) {\n // type_url does not accept leading \".\"\n var type_url = object[\"@type\"].charAt(0) === \".\" ?\n object[\"@type\"].substr(1) : object[\"@type\"];\n // type_url prefix is optional, but path seperator is required\n if (type_url.indexOf(\"/\") === -1) {\n type_url = \"/\" + type_url;\n }\n return this.create({\n type_url: type_url,\n value: type.encode(type.fromObject(object)).finish()\n });\n }\n }\n\n return this.fromObject(object);\n },\n\n toObject: function(message, options) {\n\n // Default prefix\n var googleApi = \"type.googleapis.com/\";\n var prefix = \"\";\n var name = \"\";\n\n // decode value if requested and unmapped\n if (options && options.json && message.type_url && message.value) {\n // Only use fully qualified type name after the last '/'\n name = message.type_url.substring(message.type_url.lastIndexOf(\"/\") + 1);\n // Separate the prefix used\n prefix = message.type_url.substring(0, message.type_url.lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type)\n message = type.decode(message.value);\n }\n\n // wrap value if unmapped\n if (!(message instanceof this.ctor) && message instanceof Message) {\n var object = message.$type.toObject(message, options);\n var messageName = message.$type.fullName[0] === \".\" ?\n message.$type.fullName.substr(1) : message.$type.fullName;\n // Default to type.googleapis.com prefix if no prefix is used\n if (prefix === \"\") {\n prefix = googleApi;\n }\n name = prefix + messageName;\n object[\"@type\"] = name;\n return object;\n }\n\n return this.toObject(message, options);\n }\n};\n","\"use strict\";\nmodule.exports = Writer;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferWriter; // cyclic\n\nvar LongBits = util.LongBits,\n base64 = util.base64,\n utf8 = util.utf8;\n\n/**\n * Constructs a new writer operation instance.\n * @classdesc Scheduled writer operation.\n * @constructor\n * @param {function(*, Uint8Array, number)} fn Function to call\n * @param {number} len Value byte length\n * @param {*} val Value to write\n * @ignore\n */\nfunction Op(fn, len, val) {\n\n /**\n * Function to call.\n * @type {function(Uint8Array, number, *)}\n */\n this.fn = fn;\n\n /**\n * Value byte length.\n * @type {number}\n */\n this.len = len;\n\n /**\n * Next operation.\n * @type {Writer.Op|undefined}\n */\n this.next = undefined;\n\n /**\n * Value to write.\n * @type {*}\n */\n this.val = val; // type varies\n}\n\n/* istanbul ignore next */\nfunction noop() {} // eslint-disable-line no-empty-function\n\n/**\n * Constructs a new writer state instance.\n * @classdesc Copied writer state.\n * @memberof Writer\n * @constructor\n * @param {Writer} writer Writer to copy state from\n * @ignore\n */\nfunction State(writer) {\n\n /**\n * Current head.\n * @type {Writer.Op}\n */\n this.head = writer.head;\n\n /**\n * Current tail.\n * @type {Writer.Op}\n */\n this.tail = writer.tail;\n\n /**\n * Current buffer length.\n * @type {number}\n */\n this.len = writer.len;\n\n /**\n * Next state.\n * @type {State|null}\n */\n this.next = writer.states;\n}\n\n/**\n * Constructs a new writer instance.\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n */\nfunction Writer() {\n\n /**\n * Current length.\n * @type {number}\n */\n this.len = 0;\n\n /**\n * Operations head.\n * @type {Object}\n */\n this.head = new Op(noop, 0, 0);\n\n /**\n * Operations tail\n * @type {Object}\n */\n this.tail = this.head;\n\n /**\n * Linked forked states.\n * @type {Object|null}\n */\n this.states = null;\n\n // When a value is written, the writer calculates its byte length and puts it into a linked\n // list of operations to perform when finish() is called. This both allows us to allocate\n // buffers of the exact required size and reduces the amount of work we have to do compared\n // to first calculating over objects and then encoding over objects. In our case, the encoding\n // part is just a linked list walk calling operations with already prepared values.\n}\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup() {\n return (Writer.create = function create_buffer() {\n return new BufferWriter();\n })();\n }\n /* istanbul ignore next */\n : function create_array() {\n return new Writer();\n };\n};\n\n/**\n * Creates a new writer.\n * @function\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\n */\nWriter.create = create();\n\n/**\n * Allocates a buffer of the specified size.\n * @param {number} size Buffer size\n * @returns {Uint8Array} Buffer\n */\nWriter.alloc = function alloc(size) {\n return new util.Array(size);\n};\n\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\n/* istanbul ignore else */\nif (util.Array !== Array)\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\n\n/**\n * Pushes a new operation to the queue.\n * @param {function(Uint8Array, number, *)} fn Function to call\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @returns {Writer} `this`\n * @private\n */\nWriter.prototype._push = function push(fn, len, val) {\n this.tail = this.tail.next = new Op(fn, len, val);\n this.len += len;\n return this;\n};\n\nfunction writeByte(val, buf, pos) {\n buf[pos] = val & 255;\n}\n\nfunction writeVarint32(val, buf, pos) {\n while (val > 127) {\n buf[pos++] = val & 127 | 128;\n val >>>= 7;\n }\n buf[pos] = val;\n}\n\n/**\n * Constructs a new varint writer operation instance.\n * @classdesc Scheduled varint writer operation.\n * @extends Op\n * @constructor\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @ignore\n */\nfunction VarintOp(len, val) {\n this.len = len;\n this.next = undefined;\n this.val = val;\n}\n\nVarintOp.prototype = Object.create(Op.prototype);\nVarintOp.prototype.fn = writeVarint32;\n\n/**\n * Writes an unsigned 32 bit value as a varint.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.uint32 = function write_uint32(value) {\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\n // uint32 is by far the most frequently used operation and benefits significantly from this.\n this.len += (this.tail = this.tail.next = new VarintOp(\n (value = value >>> 0)\n < 128 ? 1\n : value < 16384 ? 2\n : value < 2097152 ? 3\n : value < 268435456 ? 4\n : 5,\n value)).len;\n return this;\n};\n\n/**\n * Writes a signed 32 bit value as a varint.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.int32 = function write_int32(value) {\n return value < 0\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\n : this.uint32(value);\n};\n\n/**\n * Writes a 32 bit value as a varint, zig-zag encoded.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sint32 = function write_sint32(value) {\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\n};\n\nfunction writeVarint64(val, buf, pos) {\n while (val.hi) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\n val.hi >>>= 7;\n }\n while (val.lo > 127) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = val.lo >>> 7;\n }\n buf[pos++] = val.lo;\n}\n\n/**\n * Writes an unsigned 64 bit value as a varint.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.uint64 = function write_uint64(value) {\n var bits = LongBits.from(value);\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a signed 64 bit value as a varint.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.int64 = Writer.prototype.uint64;\n\n/**\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sint64 = function write_sint64(value) {\n var bits = LongBits.from(value).zzEncode();\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a boolish value as a varint.\n * @param {boolean} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bool = function write_bool(value) {\n return this._push(writeByte, 1, value ? 1 : 0);\n};\n\nfunction writeFixed32(val, buf, pos) {\n buf[pos ] = val & 255;\n buf[pos + 1] = val >>> 8 & 255;\n buf[pos + 2] = val >>> 16 & 255;\n buf[pos + 3] = val >>> 24;\n}\n\n/**\n * Writes an unsigned 32 bit value as fixed 32 bits.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.fixed32 = function write_fixed32(value) {\n return this._push(writeFixed32, 4, value >>> 0);\n};\n\n/**\n * Writes a signed 32 bit value as fixed 32 bits.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\n\n/**\n * Writes an unsigned 64 bit value as fixed 64 bits.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.fixed64 = function write_fixed64(value) {\n var bits = LongBits.from(value);\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\n};\n\n/**\n * Writes a signed 64 bit value as fixed 64 bits.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\n\n/**\n * Writes a float (32 bit).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.float = function write_float(value) {\n return this._push(util.float.writeFloatLE, 4, value);\n};\n\n/**\n * Writes a double (64 bit float).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.double = function write_double(value) {\n return this._push(util.float.writeDoubleLE, 8, value);\n};\n\nvar writeBytes = util.Array.prototype.set\n ? function writeBytes_set(val, buf, pos) {\n buf.set(val, pos); // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytes_for(val, buf, pos) {\n for (var i = 0; i < val.length; ++i)\n buf[pos + i] = val[i];\n };\n\n/**\n * Writes a sequence of bytes.\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bytes = function write_bytes(value) {\n var len = value.length >>> 0;\n if (!len)\n return this._push(writeByte, 1, 0);\n if (util.isString(value)) {\n var buf = Writer.alloc(len = base64.length(value));\n base64.decode(value, buf, 0);\n value = buf;\n }\n return this.uint32(len)._push(writeBytes, len, value);\n};\n\n/**\n * Writes a string.\n * @param {string} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.string = function write_string(value) {\n var len = utf8.length(value);\n return len\n ? this.uint32(len)._push(utf8.write, len, value)\n : this._push(writeByte, 1, 0);\n};\n\n/**\n * Forks this writer's state by pushing it to a stack.\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\n * @returns {Writer} `this`\n */\nWriter.prototype.fork = function fork() {\n this.states = new State(this);\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n return this;\n};\n\n/**\n * Resets this instance to the last state.\n * @returns {Writer} `this`\n */\nWriter.prototype.reset = function reset() {\n if (this.states) {\n this.head = this.states.head;\n this.tail = this.states.tail;\n this.len = this.states.len;\n this.states = this.states.next;\n } else {\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n }\n return this;\n};\n\n/**\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\n * @returns {Writer} `this`\n */\nWriter.prototype.ldelim = function ldelim() {\n var head = this.head,\n tail = this.tail,\n len = this.len;\n this.reset().uint32(len);\n if (len) {\n this.tail.next = head.next; // skip noop\n this.tail = tail;\n this.len += len;\n }\n return this;\n};\n\n/**\n * Finishes the write operation.\n * @returns {Uint8Array} Finished buffer\n */\nWriter.prototype.finish = function finish() {\n var head = this.head.next, // skip noop\n buf = this.constructor.alloc(this.len),\n pos = 0;\n while (head) {\n head.fn(head.val, buf, pos);\n pos += head.len;\n head = head.next;\n }\n // this.head = this.tail = null;\n return buf;\n};\n\nWriter._configure = function(BufferWriter_) {\n BufferWriter = BufferWriter_;\n Writer.create = create();\n BufferWriter._configure();\n};\n","\"use strict\";\nmodule.exports = BufferWriter;\n\n// extends Writer\nvar Writer = require(\"./writer\");\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer writer instance.\n * @classdesc Wire format writer using node buffers.\n * @extends Writer\n * @constructor\n */\nfunction BufferWriter() {\n Writer.call(this);\n}\n\nBufferWriter._configure = function () {\n /**\n * Allocates a buffer of the specified size.\n * @function\n * @param {number} size Buffer size\n * @returns {Buffer} Buffer\n */\n BufferWriter.alloc = util._Buffer_allocUnsafe;\n\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \"set\"\n ? function writeBytesBuffer_set(val, buf, pos) {\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\n // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytesBuffer_copy(val, buf, pos) {\n if (val.copy) // Buffer values\n val.copy(buf, pos, 0, val.length);\n else for (var i = 0; i < val.length;) // plain array values\n buf[pos++] = val[i++];\n };\n};\n\n\n/**\n * @override\n */\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\n if (util.isString(value))\n value = util._Buffer_from(value, \"base64\");\n var len = value.length >>> 0;\n this.uint32(len);\n if (len)\n this._push(BufferWriter.writeBytesBuffer, len, value);\n return this;\n};\n\nfunction writeStringBuffer(val, buf, pos) {\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\n util.utf8.write(val, buf, pos);\n else if (buf.utf8Write)\n buf.utf8Write(val, pos);\n else\n buf.write(val, pos);\n}\n\n/**\n * @override\n */\nBufferWriter.prototype.string = function write_string_buffer(value) {\n var len = util.Buffer.byteLength(value);\n this.uint32(len);\n if (len)\n this._push(writeStringBuffer, len, value);\n return this;\n};\n\n\n/**\n * Finishes the write operation.\n * @name BufferWriter#finish\n * @function\n * @returns {Buffer} Finished buffer\n */\n\nBufferWriter._configure();\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSPlotCanvas.vue?vue&type=style&index=0&id=0a32917c&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"780c4316\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSScrubber.vue?vue&type=style&index=0&id=989235a2&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"547278ed\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewer.vue?vue&type=style&index=0&id=1d6b8d00&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"382559b1\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerCanvas.vue?vue&type=style&index=0&id=0f680526&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d03f32ea\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerToolbar.vue?vue&type=style&index=0&id=09a81dc6&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6b7aee10\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"ts_viewer\",staticClass:\"timeseries-viewer\"},[_c('timeseries-scrubber',{ref:\"scrubber\",attrs:{\"ts_start\":_vm.ts_start,\"ts_end\":_vm.ts_end,\"c-width\":_vm.cWidth,\"label-width\":_vm.labelWidth,\"cursor-loc\":_vm.cursorLoc,\"start\":_vm.start,\"duration\":_vm.duration,\"constants\":_vm.constants},on:{\"setStart\":_vm.updateStart}}),_c('div',{attrs:{\"id\":\"channelCanvas\"}},[_c('div',{ref:\"channelLabels\",style:(_vm.channelStyle),attrs:{\"id\":\"channelLabels\"}},_vm._l((_vm.viewerChannels),function(item){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.visible),expression:\"item.visible\"}],key:item.label},[_c('div',{staticClass:\"chLabelWrap\",attrs:{\"data-id\":item.id},on:{\"tap\":_vm.onLabelTap}},[_c('div',{staticClass:\"labelDiv\",style:(_vm._cpStyleLabels)},[_vm._v(\" \"+_vm._s(item.label)+\" \")]),(!_vm.hideLabelInfo)?_c('div',{staticClass:\"chLabelIndWrap\",attrs:{\"selected\":item.selected}},[_c('div',{staticClass:\"chLabelInd\"},[_vm._v(\" \"+_vm._s(_vm._computeLabelInfo(item, _vm.globalZoomMult, item.rowScale))+\" \")])]):_vm._e()])])}),0),_c('timeseries-viewer-canvas',{ref:\"viewerCanvas\",attrs:{\"window_height\":_vm.window_height,\"window_width\":_vm.window_width,\"duration\":_vm.duration,\"start\":_vm.start,\"c-width\":_vm.cWidth,\"c-height\":_vm.cHeight,\"constants\":_vm.constants,\"ts-start\":_vm.ts_start,\"ts-end\":_vm.ts_end,\"cursor-loc\":_vm.cursorLoc,\"global-zoom-mult\":_vm.globalZoomMult},on:{\"setStart\":_vm.updateStart,\"setCursor\":_vm.setCursor,\"setGlobalZoom\":_vm.setGlobalZoom,\"setDuration\":_vm.setDuration,\"channelsInitialized\":_vm.onChannelsInitialized,\"annLayersInitialized\":_vm.onAnnLayersInitialized,\"closeAnnotationLayerWindow\":_vm.onCloseAnnotationLayerWindow,\"addAnnotation\":_vm.onOpenAnnotationWindow,\"updateAnnotation\":_vm.onUpdateAnnotation}})],1),_c('timeseries-viewer-toolbar',{attrs:{\"constants\":_vm.constants,\"duration\":_vm.duration,\"start\":_vm.start},on:{\"pageBack\":_vm.onPageBack,\"pageForward\":_vm.onPageForward,\"incrementZoom\":_vm.onIncrementZoom,\"decrementZoom\":_vm.onDecrementZoom,\"updateDuration\":_vm.onUpdateDuration,\"nextAnnotation\":_vm.onNextAnnotation,\"previousAnnotation\":_vm.onPreviousAnnotation,\"setStart\":_vm.updateStart}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2, _)(1, 3)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @name __\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n * const greet = R.replace('{name}', R.__, 'Hello, {name}!');\n * greet('Alice'); //=> 'Hello, Alice!'\n */\nexport default {\n '@@functional/placeholder': true\n};","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer created by [transducerCreator] to return a new transformer\n * (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} transducerCreator transducer factory if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, transducerCreator, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var obj = arguments[arguments.length - 1];\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAll =\n/*#__PURE__*/\nfunction () {\n function XAll(f, xf) {\n this.xf = xf;\n this.f = f;\n this.all = true;\n }\n\n XAll.prototype['@@transducer/init'] = _xfBase.init;\n\n XAll.prototype['@@transducer/result'] = function (result) {\n if (this.all) {\n result = this.xf['@@transducer/step'](result, true);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAll.prototype['@@transducer/step'] = function (result, input) {\n if (!this.f(input)) {\n this.all = false;\n result = _reduced(this.xf['@@transducer/step'](result, false));\n }\n\n return result;\n };\n\n return XAll;\n}();\n\nvar _xall =\n/*#__PURE__*/\n_curry2(function _xall(f, xf) {\n return new XAll(f, xf);\n});\n\nexport default _xall;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xall from \"./internal/_xall.js\";\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n * otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n * const equals3 = R.equals(3);\n * R.all(equals3)([3, 3, 3, 3]); //=> true\n * R.all(equals3)([3, 3, 1, 3]); //=> false\n */\n\nvar all =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['all'], _xall, function all(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (!fn(list[idx])) {\n return false;\n }\n\n idx += 1;\n }\n\n return true;\n}));\n\nexport default all;","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n * _isArrayLike({nodeType: 1, length: 1}) // => false\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex, R.pluck, R.project\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.props, R.pluck, R.project, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n if (obj == null) {\n return;\n }\n\n return _isInteger(p) ? nth(p, obj) : obj[p];\n});\n\nexport default prop;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.project, R.prop, R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\n\nvar pluck =\n/*#__PURE__*/\n_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n\nexport default pluck;","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n * const isQueen = R.propEq('rank', 'Q');\n * const isSpade = R.propEq('suit', '♠︎');\n * const isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\n\nvar allPass =\n/*#__PURE__*/\n_curry1(function allPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n\n while (idx < len) {\n if (!preds[idx].apply(this, arguments)) {\n return false;\n }\n\n idx += 1;\n }\n\n return true;\n });\n});\n\nexport default allPass;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAny =\n/*#__PURE__*/\nfunction () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n\n return result;\n };\n\n return XAny;\n}();\n\nvar _xany =\n/*#__PURE__*/\n_curry2(function _xany(f, xf) {\n return new XAny(f, xf);\n});\n\nexport default _xany;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xany from \"./internal/_xany.js\";\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\n\nvar any =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}));\n\nexport default any;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n * const isClub = R.propEq('suit', '♣');\n * const isSpade = R.propEq('suit', '♠');\n * const isBlackCard = R.anyPass([isClub, isSpade]);\n *\n * isBlackCard({rank: '10', suit: '♣'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\n\nvar anyPass =\n/*#__PURE__*/\n_curry1(function anyPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n\n while (idx < len) {\n if (preds[idx].apply(this, arguments)) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n });\n});\n\nexport default anyPass;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport map from \"./map.js\";\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n * // R.ap can also be used as S combinator\n * // when only two functions are passed\n * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\n\nvar ap =\n/*#__PURE__*/\n_curry2(function ap(applyF, applyX) {\n return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n return applyF(x)(applyX(x));\n } : _reduce(function (acc, f) {\n return _concat(acc, map(f, applyX));\n }, [], applyF);\n});\n\nexport default ap;","export default function _aperture(n, list) {\n var idx = 0;\n var limit = list.length - (n - 1);\n var acc = new Array(limit >= 0 ? limit : 0);\n\n while (idx < limit) {\n acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n idx += 1;\n }\n\n return acc;\n}","import _concat from \"./_concat.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAperture =\n/*#__PURE__*/\nfunction () {\n function XAperture(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n\n XAperture.prototype['@@transducer/init'] = _xfBase.init;\n\n XAperture.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XAperture.prototype['@@transducer/step'] = function (result, input) {\n this.store(input);\n return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n };\n\n XAperture.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n XAperture.prototype.getCopy = function () {\n return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n };\n\n return XAperture;\n}();\n\nvar _xaperture =\n/*#__PURE__*/\n_curry2(function _xaperture(n, xf) {\n return new XAperture(n, xf);\n});\n\nexport default _xaperture;","import _aperture from \"./internal/_aperture.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xaperture from \"./internal/_xaperture.js\";\n/**\n * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n * R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\n\nvar aperture =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xaperture, _aperture));\n\nexport default aperture;","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys, R.toPairs\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nexport default values;","import _curry1 from \"./internal/_curry1.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport apply from \"./apply.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\nimport keys from \"./keys.js\";\nimport values from \"./values.js\"; // Use custom mapValues function to avoid issues with specs that include a \"map\" key and R.map\n// delegating calls to .map\n\nfunction mapValues(fn, obj) {\n return _isArray(obj) ? obj.map(fn) : keys(obj).reduce(function (acc, key) {\n acc[key] = fn(obj[key]);\n return acc;\n }, {});\n}\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n * producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n * const getMetrics = R.applySpec({\n * sum: R.add,\n * nested: { mul: R.multiply }\n * });\n * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\n\n\nvar applySpec =\n/*#__PURE__*/\n_curry1(function applySpec(spec) {\n spec = mapValues(function (v) {\n return typeof v == 'function' ? v : applySpec(v);\n }, spec);\n return curryN(reduce(max, 0, pluck('length', values(spec))), function () {\n var args = arguments;\n return mapValues(function (f) {\n return apply(f, args);\n }, spec);\n });\n});\n\nexport default applySpec;","import _isArray from \"./_isArray.js\";\nimport _isInteger from \"./_isInteger.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @private\n * @param {String|Number} prop The property name to set\n * @param {*} val The new value\n * @param {Object|Array} obj The object to clone\n * @return {Object|Array} A new object equivalent to the original except for the changed property.\n */\n\nexport default function _assoc(prop, val, obj) {\n if (_isInteger(prop) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[prop] = val;\n return arr;\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport _assoc from \"./internal/_assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n return _assoc(idx, val, obj);\n});\n\nexport default assocPath;","import _curry3 from \"./internal/_curry3.js\";\nimport assocPath from \"./assocPath.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> a -> {k: v} -> {k: v}\n * @param {String|Number} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n return assocPath([prop], val, obj);\n});\n\nexport default assoc;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport ap from \"./ap.js\";\nimport curryN from \"./curryN.js\";\nimport map from \"./map.js\";\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n * const madd3 = R.liftN(3, (...args) => R.sum(args));\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\n\nvar liftN =\n/*#__PURE__*/\n_curry2(function liftN(arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function () {\n return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n });\n});\n\nexport default liftN;","import _curry1 from \"./internal/_curry1.js\";\nimport liftN from \"./liftN.js\";\n/**\n * \"lifts\" a function of arity >= 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n * const madd3 = R.lift((a, b, c) => a + b + c);\n *\n * madd3([100, 200], [30, 40], [5, 6, 7]); //=> [135, 136, 137, 145, 146, 147, 235, 236, 237, 245, 246, 247]\n *\n * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n * madd5([10, 20], [1], [2, 3], [4], [100, 200]); //=> [117, 217, 118, 218, 127, 227, 128, 228]\n */\n\nvar lift =\n/*#__PURE__*/\n_curry1(function lift(fn) {\n return liftN(fn.length, fn);\n});\n\nexport default lift;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport and from \"./and.js\";\nimport lift from \"./lift.js\";\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.either, R.and\n * @example\n *\n * const gt10 = R.gt(R.__, 10)\n * const lt20 = R.lt(R.__, 20)\n * const f = R.both(gt10, lt20);\n * f(15); //=> true\n * f(30); //=> false\n *\n * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false)\n * R.both([false, false, 'a'], [11]); //=> [false, false, 11]\n */\n\nvar both =\n/*#__PURE__*/\n_curry2(function both(f, g) {\n return _isFunction(f) ? function _both() {\n return f.apply(this, arguments) && g.apply(this, arguments);\n } : lift(and)(f, g);\n});\n\nexport default both;","import _isArrayLike from \"./_isArrayLike.js\";\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\n\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n };\n}","export default function _forceReduced(x) {\n return {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _forceReduced from \"./_forceReduced.js\";\nimport _isArrayLike from \"./_isArrayLike.js\";\nimport _reduce from \"./_reduce.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar preservingReduced = function (xf) {\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return xf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n var ret = xf['@@transducer/step'](result, input);\n return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n }\n };\n};\n\nvar _flatCat = function _xcat(xf) {\n var rxf = preservingReduced(xf);\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return rxf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n }\n };\n};\n\nexport default _flatCat;","import _curry2 from \"./_curry2.js\";\nimport _flatCat from \"./_flatCat.js\";\nimport map from \"../map.js\";\n\nvar _xchain =\n/*#__PURE__*/\n_curry2(function _xchain(f, xf) {\n return map(f, _flatCat(xf));\n});\n\nexport default _xchain;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\nimport _xchain from \"./internal/_xchain.js\";\nimport map from \"./map.js\";\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries.\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n * const duplicate = n => [n, n];\n * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\n\nvar chain =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) {\n if (typeof monad === 'function') {\n return function (x) {\n return fn(monad(x))(x);\n };\n }\n\n return _makeFlat(false)(map(fn, monad));\n}));\n\nexport default chain;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Splits a list into sub-lists, based on the result of calling a key-returning function on each element,\n * and grouping the results according to values returned.\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category List\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx a => (b -> a) -> [b] -> [[b]]\n * @param {Function} fn Function :: a -> Idx\n * @param {Array} list The array to group\n * @return {Array}\n * An array of arrays where each sub-array contains items for which\n * the String-returning function has returned the same value.\n * @see R.groupBy, R.partition\n * @example\n * R.collectBy(R.prop('type'), [\n * {type: 'breakfast', item: '☕️'},\n * {type: 'lunch', item: '🌯'},\n * {type: 'dinner', item: '🍝'},\n * {type: 'breakfast', item: '🥐'},\n * {type: 'lunch', item: '🍕'}\n * ]);\n *\n * // [ [ {type: 'breakfast', item: '☕️'},\n * // {type: 'breakfast', item: '🥐'} ],\n * // [ {type: 'lunch', item: '🌯'},\n * // {type: 'lunch', item: '🍕'} ],\n * // [ {type: 'dinner', item: '🍝'} ] ]\n */\n\nvar collectBy =\n/*#__PURE__*/\n_curry2(function collectBy(fn, list) {\n var group = _reduce(function (o, x) {\n var tag = fn(x);\n\n if (o[tag] === undefined) {\n o[tag] = [];\n }\n\n o[tag].push(x);\n return o;\n }, {}, list);\n\n var newList = [];\n\n for (var tag in group) {\n newList.push(group[tag]);\n }\n\n return newList;\n});\n\nexport default collectBy;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\n\nvar not =\n/*#__PURE__*/\n_curry1(function not(a) {\n return !a;\n});\n\nexport default not;","import lift from \"./lift.js\";\nimport not from \"./not.js\";\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n * const isNotNil = R.complement(R.isNil);\n * R.isNil(null); //=> true\n * isNotNil(null); //=> false\n * R.isNil(7); //=> false\n * isNotNil(7); //=> true\n */\n\nvar complement =\n/*#__PURE__*/\nlift(not);\nexport default complement;","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","import _isArray from \"./_isArray.js\";\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implementation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nexport default slice;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nexport default tail;","import _arity from \"./internal/_arity.js\";\nimport _pipe from \"./internal/_pipe.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b)\n */\n\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\nvar reverse =\n/*#__PURE__*/\n_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n\nexport default reverse;","import pipe from \"./pipe.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Performs right-to-left function composition. The last argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n * @symb R.compose(f, g, h)(a)(b) = f(g(h(a)))(b)\n */\n\nexport default function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n\n return pipe.apply(this, reverse(arguments));\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport head from \"./head.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport tail from \"./tail.js\";\nimport identity from \"./identity.js\";\n/**\n * Performs left-to-right function composition using transforming function. The first function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of pipeWith is not automatically curried. Transforming function is not used on the\n * first argument.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z)\n * @param {Function} transformer The transforming function\n * @param {Array} functions The functions to pipe\n * @return {Function}\n * @see R.composeWith, R.pipe\n * @example\n *\n * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res));\n * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc])\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, g(...args)))\n */\n\nvar pipeWith =\n/*#__PURE__*/\n_curry2(function pipeWith(xf, list) {\n if (list.length <= 0) {\n return identity;\n }\n\n var headList = head(list);\n var tailList = tail(list);\n return _arity(headList.length, function () {\n return _reduce(function (result, f) {\n return xf.call(this, f, result);\n }, headList.apply(this, arguments), tailList);\n });\n});\n\nexport default pipeWith;","import _curry2 from \"./internal/_curry2.js\";\nimport pipeWith from \"./pipeWith.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Performs right-to-left function composition using transforming function. The last function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of composeWith is not automatically curried. Transforming function is not used\n * on the last argument.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z)\n * @param {Function} transformer The transforming function\n * @param {Array} functions The functions to compose\n * @return {Function}\n * @see R.compose, R.pipeWith\n * @example\n *\n * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res));\n *\n * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2\n * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined\n *\n * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, i(...args)))\n */\n\nvar composeWith =\n/*#__PURE__*/\n_curry2(function composeWith(xf, list) {\n return pipeWith.apply(this, [xf, reverse(list)]);\n});\n\nexport default composeWith;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter =\n/*#__PURE__*/\n_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\n\nexport default _xfilter;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));\n\nexport default filter;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 !== 0;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n\nexport default reject;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n }; // mapPairs :: (Object, [String]) -> [String]\n\n\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\n case '[object Null]':\n return 'null';\n\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\n case '[object Undefined]':\n return 'undefined';\n\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _toString from \"./internal/_toString.js\";\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\n\nvar toString =\n/*#__PURE__*/\n_curry1(function toString(val) {\n return _toString(val, []);\n});\n\nexport default toString;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport _isString from \"./internal/_isString.js\";\nimport toString from \"./toString.js\";\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\n\nvar concat =\n/*#__PURE__*/\n_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(b) + ' is not an array');\n }\n\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n\n throw new TypeError(toString(b) + ' is not a string');\n }\n\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n\nexport default concat;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * **Please note**: This is not a direct substitute for a `switch` statement.\n * Remember that both elements of every pair passed to `cond` are *functions*,\n * and `cond` returns a function.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n\n idx += 1;\n }\n });\n});\n\nexport default cond;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _curry2 from \"./internal/_curry2.js\";\nimport _map from \"./internal/_map.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. The arity of the new function is the same as the arity of\n * the longest branching function. When invoked, this new function is applied\n * to some arguments, and each branching function is applied to those same\n * arguments. The results of each branching function are passed as arguments\n * to the converging function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n * `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n * const average = R.converge(R.divide, [R.sum, R.length])\n * average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n * strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\n\nvar converge =\n/*#__PURE__*/\n_curry2(function converge(after, fns) {\n return curryN(reduce(max, 0, pluck('length', fns)), function () {\n var args = arguments;\n var context = this;\n return after.apply(context, _map(function (fn) {\n return fn.apply(context, args);\n }, fns));\n });\n});\n\nexport default converge;","import _reduce from \"./internal/_reduce.js\";\nimport curry from \"./curry.js\";\n/**\n * Returns the number of items in a given `list` matching the predicate `f`\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} predicate to match items against\n * @return {Array} list of items to count in\n * @example\n *\n * const even = x => x % 2 == 0;\n *\n * R.count(even, [1, 2, 3, 4, 5]); // => 2\n * R.map(R.count(even), [[1, 1, 1], [2, 3, 4, 5], [6]]); // => [0, 2, 1]\n */\n\nvar count =\n/*#__PURE__*/\ncurry(function (pred, list) {\n return _reduce(function (a, e) {\n return pred(e) ? a + 1 : a;\n }, 0, list);\n});\nexport default count;","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx] = value;\n refTo[idx] = copiedValue;\n\n for (var key in value) {\n if (value.hasOwnProperty(key)) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy(Object.create(Object.getPrototypeOf(value)));\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n return value.slice();\n\n default:\n return value;\n }\n}","import _curryN from \"./_curryN.js\";\nimport _has from \"./_has.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XReduceBy =\n/*#__PURE__*/\nfunction () {\n function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n this.valueFn = valueFn;\n this.valueAcc = valueAcc;\n this.keyFn = keyFn;\n this.xf = xf;\n this.inputs = {};\n }\n\n XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n\n XReduceBy.prototype['@@transducer/result'] = function (result) {\n var key;\n\n for (key in this.inputs) {\n if (_has(key, this.inputs)) {\n result = this.xf['@@transducer/step'](result, this.inputs[key]);\n\n if (result['@@transducer/reduced']) {\n result = result['@@transducer/value'];\n break;\n }\n }\n }\n\n this.inputs = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n var key = this.keyFn(input);\n this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n return result;\n };\n\n return XReduceBy;\n}();\n\nvar _xreduceBy =\n/*#__PURE__*/\n_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\n\nexport default _xreduceBy;","import _clone from \"./internal/_clone.js\";\nimport _curryN from \"./internal/_curryN.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _has from \"./internal/_has.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _reduced from \"./internal/_reduced.js\";\nimport _xreduceBy from \"./internal/_xreduceBy.js\";\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * The value function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to short circuit the iteration.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n * value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n * `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce, R.reduced\n * @example\n *\n * const groupNames = (acc, {name}) => acc.concat(name)\n * const toGrade = ({score}) =>\n * score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A'\n *\n * var students = [\n * {name: 'Abby', score: 83},\n * {name: 'Bart', score: 62},\n * {name: 'Curt', score: 88},\n * {name: 'Dora', score: 92},\n * ]\n *\n * reduceBy(groupNames, [], toGrade, students)\n * //=> {\"A\": [\"Dora\"], \"B\": [\"Abby\", \"Curt\"], \"F\": [\"Bart\"]}\n */\n\nvar reduceBy =\n/*#__PURE__*/\n_curryN(4, [],\n/*#__PURE__*/\n_dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {\n return _reduce(function (acc, elt) {\n var key = keyFn(elt);\n var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);\n\n if (value && value['@@transducer/reduced']) {\n return _reduced(acc);\n }\n\n acc[key] = value;\n return acc;\n }, {}, list);\n}));\n\nexport default reduceBy;","import reduceBy from \"./reduceBy.js\";\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1}\n *\n * const letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1}\n */\n\nvar countBy =\n/*#__PURE__*/\nreduceBy(function (acc, elem) {\n return acc + 1;\n}, 0);\nexport default countBy;","import _includes from \"./_includes.js\";\n\nvar _Set =\n/*#__PURE__*/\nfunction () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n }; //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n\n\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n }; //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n\n\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n\n return false;\n }\n } // these types can all utilise the native Set\n\n\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n }\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n\n return false;\n }\n\n return true;\n }\n\n /* falls through */\n\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n } // scan through all previously applied items\n\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;","import _curry2 from \"./internal/_curry2.js\";\nimport _Set from \"./internal/_Set.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\n\nvar difference =\n/*#__PURE__*/\n_curry2(function difference(first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n var secondLen = second.length;\n var toFilterOut = new _Set();\n\n for (var i = 0; i < secondLen; i += 1) {\n toFilterOut.add(second[i]);\n }\n\n while (idx < firstLen) {\n if (toFilterOut.add(first[idx])) {\n out[out.length] = first[idx];\n }\n\n idx += 1;\n }\n\n return out;\n});\n\nexport default difference;","import _isInteger from \"./_isInteger.js\";\nimport _isArray from \"./_isArray.js\";\nimport remove from \"../remove.js\";\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @private\n * @param {String|Number} prop The name of the property to dissociate\n * @param {Object|Array} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n */\n\nexport default function _dissoc(prop, obj) {\n if (obj == null) {\n return obj;\n }\n\n if (_isInteger(prop) && _isArray(obj)) {\n return remove(prop, 1, obj);\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n delete result[prop];\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _dissoc from \"./internal/_dissoc.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport assoc from \"./assoc.js\";\n/**\n * Makes a shallow clone of an object. Note that this copies and flattens\n * prototype properties onto the new object as well. All non-primitive\n * properties are copied by reference.\n *\n * @private\n * @param {String|Integer} prop The prop operating\n * @param {Object|Array} obj The object to clone\n * @return {Object|Array} A new object equivalent to the original.\n */\n\nfunction _shallowCloneObject(prop, obj) {\n if (_isInteger(prop) && _isArray(obj)) {\n return [].concat(obj);\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n return result;\n}\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\n\n\nvar dissocPath =\n/*#__PURE__*/\n_curry2(function dissocPath(path, obj) {\n if (obj == null) {\n return obj;\n }\n\n switch (path.length) {\n case 0:\n return obj;\n\n case 1:\n return _dissoc(path[0], obj);\n\n default:\n var head = path[0];\n var tail = Array.prototype.slice.call(path, 1);\n\n if (obj[head] == null) {\n return _shallowCloneObject(head, obj);\n } else {\n return assoc(head, dissocPath(tail, obj[head]), obj);\n }\n\n }\n});\n\nexport default dissocPath;","import _curry2 from \"./internal/_curry2.js\";\nimport dissocPath from \"./dissocPath.js\";\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc, R.omit\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\n\nvar dissoc =\n/*#__PURE__*/\n_curry2(function dissoc(prop, obj) {\n return dissocPath([prop], obj);\n});\n\nexport default dissoc;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDrop =\n/*#__PURE__*/\nfunction () {\n function XDrop(n, xf) {\n this.xf = xf;\n this.n = n;\n }\n\n XDrop.prototype['@@transducer/init'] = _xfBase.init;\n XDrop.prototype['@@transducer/result'] = _xfBase.result;\n\n XDrop.prototype['@@transducer/step'] = function (result, input) {\n if (this.n > 0) {\n this.n -= 1;\n return result;\n }\n\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDrop;\n}();\n\nvar _xdrop =\n/*#__PURE__*/\n_curry2(function _xdrop(n, xf) {\n return new XDrop(n, xf);\n});\n\nexport default _xdrop;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdrop from \"./internal/_xdrop.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.drop(3, ['foo', 'bar', 'baz']); //=> []\n * R.drop(4, ['foo', 'bar', 'baz']); //=> []\n * R.drop(3, 'ramda'); //=> 'da'\n */\n\nvar drop =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n return slice(Math.max(0, n), Infinity, xs);\n}));\n\nexport default drop;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTake =\n/*#__PURE__*/\nfunction () {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n\n XTake.prototype['@@transducer/step'] = function (result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return XTake;\n}();\n\nvar _xtake =\n/*#__PURE__*/\n_curry2(function _xtake(n, xf) {\n return new XTake(n, xf);\n});\n\nexport default _xtake;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtake from \"./internal/_xtake.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * const personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * const takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\n\nvar take =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));\n\nexport default take;","import take from \"../take.js\";\nexport default function dropLast(n, xs) {\n return take(n < xs.length ? xs.length - n : 0, xs);\n}","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropLast =\n/*#__PURE__*/\nfunction () {\n function XDropLast(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n\n XDropLast.prototype['@@transducer/init'] = _xfBase.init;\n\n XDropLast.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XDropLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.full) {\n result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n }\n\n this.store(input);\n return result;\n };\n\n XDropLast.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n return XDropLast;\n}();\n\nvar _xdropLast =\n/*#__PURE__*/\n_curry2(function _xdropLast(n, xf) {\n return new XDropLast(n, xf);\n});\n\nexport default _xdropLast;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _dropLast from \"./internal/_dropLast.js\";\nimport _xdropLast from \"./internal/_xdropLast.js\";\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(3, 'ramda'); //=> 'ra'\n */\n\nvar dropLast =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropLast, _dropLast));\n\nexport default dropLast;","import slice from \"../slice.js\";\nexport default function dropLastWhile(pred, xs) {\n var idx = xs.length - 1;\n\n while (idx >= 0 && pred(xs[idx])) {\n idx -= 1;\n }\n\n return slice(0, idx + 1, xs);\n}","import _curry2 from \"./_curry2.js\";\nimport _reduce from \"./_reduce.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropLastWhile =\n/*#__PURE__*/\nfunction () {\n function XDropLastWhile(fn, xf) {\n this.f = fn;\n this.retained = [];\n this.xf = xf;\n }\n\n XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init;\n\n XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n this.retained = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n };\n\n XDropLastWhile.prototype.flush = function (result, input) {\n result = _reduce(this.xf['@@transducer/step'], result, this.retained);\n this.retained = [];\n return this.xf['@@transducer/step'](result, input);\n };\n\n XDropLastWhile.prototype.retain = function (result, input) {\n this.retained.push(input);\n return result;\n };\n\n return XDropLastWhile;\n}();\n\nvar _xdropLastWhile =\n/*#__PURE__*/\n_curry2(function _xdropLastWhile(fn, xf) {\n return new XDropLastWhile(fn, xf);\n});\n\nexport default _xdropLastWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _dropLastWhile from \"./internal/_dropLastWhile.js\";\nimport _xdropLastWhile from \"./internal/_xdropLastWhile.js\";\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} predicate The function to be called on each element\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n * const lteThree = x => x <= 3;\n *\n * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n *\n * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n */\n\nvar dropLastWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropLastWhile, _dropLastWhile));\n\nexport default dropLastWhile;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropRepeatsWith =\n/*#__PURE__*/\nfunction () {\n function XDropRepeatsWith(pred, xf) {\n this.xf = xf;\n this.pred = pred;\n this.lastValue = undefined;\n this.seenFirstValue = false;\n }\n\n XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init;\n XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result;\n\n XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n var sameAsLast = false;\n\n if (!this.seenFirstValue) {\n this.seenFirstValue = true;\n } else if (this.pred(this.lastValue, input)) {\n sameAsLast = true;\n }\n\n this.lastValue = input;\n return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n };\n\n return XDropRepeatsWith;\n}();\n\nvar _xdropRepeatsWith =\n/*#__PURE__*/\n_curry2(function _xdropRepeatsWith(pred, xf) {\n return new XDropRepeatsWith(pred, xf);\n});\n\nexport default _xdropRepeatsWith;","import nth from \"./nth.js\";\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n * R.last(['fi', 'fo', 'fum']); //=> 'fum'\n * R.last([]); //=> undefined\n *\n * R.last('abc'); //=> 'c'\n * R.last(''); //=> ''\n */\n\nvar last =\n/*#__PURE__*/\nnth(-1);\nexport default last;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropRepeatsWith from \"./internal/_xdropRepeatsWith.js\";\nimport last from \"./last.js\";\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\n\nvar dropRepeatsWith =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) {\n var result = [];\n var idx = 1;\n var len = list.length;\n\n if (len !== 0) {\n result[0] = list[0];\n\n while (idx < len) {\n if (!pred(last(result), list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n }\n\n return result;\n}));\n\nexport default dropRepeatsWith;","import _curry1 from \"./internal/_curry1.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropRepeatsWith from \"./internal/_xdropRepeatsWith.js\";\nimport dropRepeatsWith from \"./dropRepeatsWith.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns a new list without any consecutively repeating elements.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\n\nvar dropRepeats =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_dispatchable([],\n/*#__PURE__*/\n_xdropRepeatsWith(equals),\n/*#__PURE__*/\ndropRepeatsWith(equals)));\n\nexport default dropRepeats;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropWhile =\n/*#__PURE__*/\nfunction () {\n function XDropWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XDropWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropWhile.prototype['@@transducer/result'] = _xfBase.result;\n\n XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n if (this.f) {\n if (this.f(input)) {\n return result;\n }\n\n this.f = null;\n }\n\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDropWhile;\n}();\n\nvar _xdropWhile =\n/*#__PURE__*/\n_curry2(function _xdropWhile(f, xf) {\n return new XDropWhile(f, xf);\n});\n\nexport default _xdropWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropWhile from \"./internal/_xdropWhile.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n * const lteTwo = x => x <= 2;\n *\n * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n *\n * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n */\n\nvar dropWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, xs) {\n var idx = 0;\n var len = xs.length;\n\n while (idx < len && pred(xs[idx])) {\n idx += 1;\n }\n\n return slice(idx, Infinity, xs);\n}));\n\nexport default dropWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport lift from \"./lift.js\";\nimport or from \"./or.js\";\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.both, R.or\n * @example\n *\n * const gt10 = x => x > 10;\n * const even = x => x % 2 === 0;\n * const f = R.either(gt10, even);\n * f(101); //=> true\n * f(8); //=> true\n *\n * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55)\n * R.either([false, false, 'a'], [11]) // => [11, 11, \"a\"]\n */\n\nvar either =\n/*#__PURE__*/\n_curry2(function either(f, g) {\n return _isFunction(f) ? function _either() {\n return f.apply(this, arguments) || g.apply(this, arguments);\n } : lift(or)(f, g);\n});\n\nexport default either;","/**\n * Tests whether or not an object is a typed array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is a typed array, `false` otherwise.\n * @example\n *\n * _isTypedArray(new Uint8Array([])); //=> true\n * _isTypedArray(new Float32Array([])); //=> true\n * _isTypedArray([]); //=> false\n * _isTypedArray(null); //=> false\n * _isTypedArray({}); //=> false\n */\nexport default function _isTypedArray(val) {\n var type = Object.prototype.toString.call(val);\n return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]';\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\nimport _isTypedArray from \"./internal/_isTypedArray.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`),\n * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n * R.empty(Uint8Array.from('123')); //=> Uint8Array []\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : _isTypedArray(x) ? x.constructor.from('') : void 0 // else\n ;\n});\n\nexport default empty;","import _curry2 from \"./internal/_curry2.js\";\nimport drop from \"./drop.js\";\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(3, 'ramda'); //=> 'mda'\n */\n\nvar takeLast =\n/*#__PURE__*/\n_curry2(function takeLast(n, xs) {\n return drop(n >= 0 ? xs.length - n : 0, xs);\n});\n\nexport default takeLast;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport takeLast from \"./takeLast.js\";\n/**\n * Checks if a list ends with the provided sublist.\n *\n * Similarly, checks if a string ends with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @see R.startsWith\n * @example\n *\n * R.endsWith('c', 'abc') //=> true\n * R.endsWith('b', 'abc') //=> false\n * R.endsWith(['c'], ['a', 'b', 'c']) //=> true\n * R.endsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\nvar endsWith =\n/*#__PURE__*/\n_curry2(function (suffix, list) {\n return equals(takeLast(suffix.length, list), suffix);\n});\n\nexport default endsWith;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n * R.eqBy(Math.abs, 5, -5); //=> true\n */\n\nvar eqBy =\n/*#__PURE__*/\n_curry3(function eqBy(f, x, y) {\n return equals(f(x), f(y));\n});\n\nexport default eqBy;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Reports whether two objects have the same value, in [`R.equals`](#equals)\n * terms, for the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n * const o1 = { a: 1, b: 2, c: 3, d: 4 };\n * const o2 = { a: 10, b: 20, c: 3, d: 40 };\n * R.eqProps('a', o1, o2); //=> false\n * R.eqProps('c', o1, o2); //=> true\n */\n\nvar eqProps =\n/*#__PURE__*/\n_curry3(function eqProps(prop, obj1, obj2) {\n return equals(obj1[prop], obj2[prop]);\n});\n\nexport default eqProps;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n * to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n * const transformations = {\n * firstName: R.trim,\n * lastName: R.trim, // Will not get invoked.\n * data: {elapsed: R.add(1), remaining: R.add(-1)}\n * };\n * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\n\nvar evolve =\n/*#__PURE__*/\n_curry2(function evolve(transformations, object) {\n if (!_isObject(object) && !_isArray(object)) {\n return object;\n }\n\n var result = object instanceof Array ? [] : {};\n var transformation, key, type;\n\n for (key in object) {\n transformation = transformations[key];\n type = typeof transformation;\n result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n }\n\n return result;\n});\n\nexport default evolve;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFind =\n/*#__PURE__*/\nfunction () {\n function XFind(f, xf) {\n this.xf = xf;\n this.f = f;\n this.found = false;\n }\n\n XFind.prototype['@@transducer/init'] = _xfBase.init;\n\n XFind.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, void 0);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFind.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, input));\n }\n\n return result;\n };\n\n return XFind;\n}();\n\nvar _xfind =\n/*#__PURE__*/\n_curry2(function _xfind(f, xf) {\n return new XFind(f, xf);\n});\n\nexport default _xfind;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfind from \"./internal/_xfind.js\";\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n * R.find(R.propEq('a', 4))(xs); //=> undefined\n */\n\nvar find =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['find'], _xfind, function find(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return list[idx];\n }\n\n idx += 1;\n }\n}));\n\nexport default find;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindIndex =\n/*#__PURE__*/\nfunction () {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindIndex.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n\n return result;\n };\n\n return XFindIndex;\n}();\n\nvar _xfindIndex =\n/*#__PURE__*/\n_curry2(function _xfindIndex(f, xf) {\n return new XFindIndex(f, xf);\n});\n\nexport default _xfindIndex;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindIndex from \"./internal/_xfindIndex.js\";\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce, R.indexOf\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\n\nvar findIndex =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}));\n\nexport default findIndex;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindLast =\n/*#__PURE__*/\nfunction () {\n function XFindLast(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFindLast.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindLast.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n };\n\n XFindLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.last = input;\n }\n\n return result;\n };\n\n return XFindLast;\n}();\n\nvar _xfindLast =\n/*#__PURE__*/\n_curry2(function _xfindLast(f, xf) {\n return new XFindLast(f, xf);\n});\n\nexport default _xfindLast;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindLast from \"./internal/_xfindLast.js\";\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n * R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\n\nvar findLast =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindLast, function findLast(fn, list) {\n var idx = list.length - 1;\n\n while (idx >= 0) {\n if (fn(list[idx])) {\n return list[idx];\n }\n\n idx -= 1;\n }\n}));\n\nexport default findLast;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindLastIndex =\n/*#__PURE__*/\nfunction () {\n function XFindLastIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.lastIdx = -1;\n }\n\n XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n };\n\n XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n\n if (this.f(input)) {\n this.lastIdx = this.idx;\n }\n\n return result;\n };\n\n return XFindLastIndex;\n}();\n\nvar _xfindLastIndex =\n/*#__PURE__*/\n_curry2(function _xfindLastIndex(f, xf) {\n return new XFindLastIndex(f, xf);\n});\n\nexport default _xfindLastIndex;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindLastIndex from \"./internal/_xfindLastIndex.js\";\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce, R.lastIndexOf\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\n\nvar findLastIndex =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n var idx = list.length - 1;\n\n while (idx >= 0) {\n if (fn(list[idx])) {\n return idx;\n }\n\n idx -= 1;\n }\n\n return -1;\n}));\n\nexport default findLastIndex;","import _curry1 from \"./internal/_curry1.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\n\nvar flatten =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_makeFlat(true));\n\nexport default flatten;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n\n return list;\n}));\n\nexport default forEach;","import _curry2 from \"./internal/_curry2.js\";\nimport keys from \"./keys.js\";\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n * const printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n * // logs x:1\n * // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\n\nvar forEachObjIndexed =\n/*#__PURE__*/\n_curry2(function forEachObjIndexed(fn, obj) {\n var keyList = keys(obj);\n var idx = 0;\n\n while (idx < keyList.length) {\n var key = keyList[idx];\n fn(obj[key], key, obj);\n idx += 1;\n }\n\n return obj;\n});\n\nexport default forEachObjIndexed;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport reduceBy from \"./reduceBy.js\";\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a key-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx a => (b -> a) -> [b] -> {a: [b]}\n * @param {Function} fn Function :: a -> Idx\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n * that produced that key when passed to `fn`.\n * @see R.reduceBy, R.transduce, R.indexBy\n * @example\n *\n * const byGrade = R.groupBy(function(student) {\n * const score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * const students = [{name: 'Abby', score: 84},\n * {name: 'Eddy', score: 58},\n * // ...\n * {name: 'Jack', score: 69}];\n * byGrade(students);\n * // {\n * // 'A': [{name: 'Dianne', score: 99}],\n * // 'B': [{name: 'Abby', score: 84}]\n * // // ...,\n * // 'F': [{name: 'Eddy', score: 58}]\n * // }\n */\n\nvar groupBy =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('groupBy',\n/*#__PURE__*/\nreduceBy(function (acc, item) {\n acc.push(item);\n return acc;\n}, [])));\n\nexport default groupBy;","import nth from \"./nth.js\";\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n * R.head(['fi', 'fo', 'fum']); //=> 'fi'\n * R.head([]); //=> undefined\n *\n * R.head('abc'); //=> 'a'\n * R.head(''); //=> ''\n */\n\nvar head =\n/*#__PURE__*/\nnth(0);\nexport default head;","import _objectIs from \"./internal/_objectIs.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * Note this is merely a curried version of ES6 `Object.is`.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * const o = {};\n * R.identical(o, o); //=> true\n * R.identical(1, 1); //=> true\n * R.identical(1, '1'); //=> false\n * R.identical([], []); //=> false\n * R.identical(0, -0); //=> false\n * R.identical(NaN, NaN); //=> true\n */\n\nvar identical =\n/*#__PURE__*/\n_curry2(_objectIs);\n\nexport default identical;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Also works with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\n\nvar includes =\n/*#__PURE__*/\n_curry2(_includes);\n\nexport default includes;","import reduceBy from \"./reduceBy.js\";\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx a => (b -> a) -> [b] -> {a: b}\n * @param {Function} fn Function :: a -> Idx\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @see R.groupBy\n * @example\n *\n * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n * R.indexBy(R.prop('id'), list);\n * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\n\nvar indexBy =\n/*#__PURE__*/\nreduceBy(function (acc, elem) {\n return elem;\n}, null);\nexport default indexBy;","import _curry2 from \"./internal/_curry2.js\";\nimport _indexOf from \"./internal/_indexOf.js\";\nimport _isArray from \"./internal/_isArray.js\";\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf, R.findIndex\n * @example\n *\n * R.indexOf(3, [1,2,3,4]); //=> 2\n * R.indexOf(10, [1,2,3,4]); //=> -1\n */\n\nvar indexOf =\n/*#__PURE__*/\n_curry2(function indexOf(target, xs) {\n return typeof xs.indexOf === 'function' && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0);\n});\n\nexport default indexOf;","import slice from \"./slice.js\";\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n * R.init([1, 2, 3]); //=> [1, 2]\n * R.init([1, 2]); //=> [1]\n * R.init([1]); //=> []\n * R.init([]); //=> []\n *\n * R.init('abc'); //=> 'ab'\n * R.init('ab'); //=> 'a'\n * R.init('a'); //=> ''\n * R.init(''); //=> ''\n */\n\nvar init =\n/*#__PURE__*/\nslice(0, -1);\nexport default init;","export default function _identity(x) {\n return x;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nexport default identity;","import _curry2 from \"./_curry2.js\";\nimport _Set from \"./_Set.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XUniqBy =\n/*#__PURE__*/\nfunction () {\n function XUniqBy(f, xf) {\n this.xf = xf;\n this.f = f;\n this.set = new _Set();\n }\n\n XUniqBy.prototype['@@transducer/init'] = _xfBase.init;\n XUniqBy.prototype['@@transducer/result'] = _xfBase.result;\n\n XUniqBy.prototype['@@transducer/step'] = function (result, input) {\n return this.set.add(this.f(input)) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XUniqBy;\n}();\n\nvar _xuniqBy =\n/*#__PURE__*/\n_curry2(function _xuniqBy(f, xf) {\n return new XUniqBy(f, xf);\n});\n\nexport default _xuniqBy;","import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xuniqBy from \"./internal/_xuniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xuniqBy, function (fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n\n if (set.add(appliedItem)) {\n result.push(item);\n }\n\n idx += 1;\n }\n\n return result;\n}));\n\nexport default uniqBy;","import identity from \"./identity.js\";\nimport uniqBy from \"./uniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\n\nvar uniq =\n/*#__PURE__*/\nuniqBy(identity);\nexport default uniq;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _filter from \"./internal/_filter.js\";\nimport flip from \"./flip.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\n\nvar intersection =\n/*#__PURE__*/\n_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\n\nexport default intersection;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's']\n */\n\nvar intersperse =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('intersperse', function intersperse(separator, list) {\n var out = [];\n var idx = 0;\n var length = list.length;\n\n while (idx < length) {\n if (idx === length - 1) {\n out.push(list[idx]);\n } else {\n out.push(list[idx], separator);\n }\n\n idx += 1;\n }\n\n return out;\n}));\n\nexport default intersperse;","import _has from \"./_has.js\"; // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n\n while (idx < length) {\n var source = arguments[idx];\n\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n\n idx += 1;\n }\n\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n * const matchPhrases = R.compose(\n * R.objOf('must'),\n * R.map(R.objOf('match_phrase'))\n * );\n * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\n\nvar objOf =\n/*#__PURE__*/\n_curry2(function objOf(key, val) {\n var obj = {};\n obj[key] = val;\n return obj;\n});\n\nexport default objOf;","import _objectAssign from \"./_objectAssign.js\";\nimport _identity from \"./_identity.js\";\nimport _isArrayLike from \"./_isArrayLike.js\";\nimport _isTransformer from \"./_isTransformer.js\";\nimport objOf from \"../objOf.js\";\nvar _stepCatArray = {\n '@@transducer/init': Array,\n '@@transducer/step': function (xs, x) {\n xs.push(x);\n return xs;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatString = {\n '@@transducer/init': String,\n '@@transducer/step': function (a, b) {\n return a + b;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatObject = {\n '@@transducer/init': Object,\n '@@transducer/step': function (result, input) {\n return _objectAssign(result, _isArrayLike(input) ? objOf(input[0], input[1]) : input);\n },\n '@@transducer/result': _identity\n};\nexport default function _stepCat(obj) {\n if (_isTransformer(obj)) {\n return obj;\n }\n\n if (_isArrayLike(obj)) {\n return _stepCatArray;\n }\n\n if (typeof obj === 'string') {\n return _stepCatString;\n }\n\n if (typeof obj === 'object') {\n return _stepCatObject;\n }\n\n throw new Error('Cannot create transformer for ' + obj);\n}","import _clone from \"./internal/_clone.js\";\nimport _curry3 from \"./internal/_curry3.js\";\nimport _isTransformer from \"./internal/_isTransformer.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _stepCat from \"./internal/_stepCat.js\";\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n * transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.transduce\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n * R.into([], transducer, numbers); //=> [2, 3]\n *\n * const intoArray = R.into([]);\n * intoArray(transducer, numbers); //=> [2, 3]\n */\n\nvar into =\n/*#__PURE__*/\n_curry3(function into(acc, xf, list) {\n return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);\n});\n\nexport default into;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport keys from \"./keys.js\";\n/**\n * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n * duplicate values by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys in an array.\n * @see R.invertObj\n * @example\n *\n * const raceResultsByFirstName = {\n * first: 'alice',\n * second: 'jake',\n * third: 'alice',\n * };\n * R.invert(raceResultsByFirstName);\n * //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\n\nvar invert =\n/*#__PURE__*/\n_curry1(function invert(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n var val = obj[key];\n var list = _has(val, out) ? out[val] : out[val] = [];\n list[list.length] = key;\n idx += 1;\n }\n\n return out;\n});\n\nexport default invert;","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @see R.invert\n * @example\n *\n * const raceResults = {\n * first: 'alice',\n * second: 'jake'\n * };\n * R.invertObj(raceResults);\n * //=> { 'alice': 'first', 'jake':'second' }\n *\n * // Alternatively:\n * const raceResults = ['alice', 'jake'];\n * R.invertObj(raceResults);\n * //=> { 'alice': '0', 'jake':'1' }\n */\n\nvar invertObj =\n/*#__PURE__*/\n_curry1(function invertObj(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n out[obj[key]] = key;\n idx += 1;\n }\n\n return out;\n});\n\nexport default invertObj;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport curryN from \"./curryN.js\";\nimport toString from \"./toString.js\";\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n * before the target object.\n * @param {String} method Name of any of the target object's methods to call.\n * @return {Function} A new curried function.\n * @see R.construct\n * @example\n *\n * const sliceFrom = R.invoker(1, 'slice');\n * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n * const sliceFrom6 = R.invoker(2, 'slice')(6);\n * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n *\n * const dog = {\n * speak: async () => 'Woof!'\n * };\n * const speak = R.invoker(0, 'speak');\n * speak(dog).then(console.log) //~> 'Woof!'\n *\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\n\nvar invoker =\n/*#__PURE__*/\n_curry2(function invoker(arity, method) {\n return curryN(arity + 1, function () {\n var target = arguments[arity];\n\n if (target != null && _isFunction(target[method])) {\n return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n }\n\n throw new TypeError(toString(target) + ' does not have a method named \"' + method + '\"');\n });\n});\n\nexport default invoker;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n * R.isEmpty(Uint8Array.from('')); //=> true\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","import invoker from \"./invoker.js\";\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n * const spacer = R.join(' ');\n * spacer(['a', 2, 3.4]); //=> 'a 2 3.4'\n * R.join('|', [1, 2, 3]); //=> '1|2|3'\n */\n\nvar join =\n/*#__PURE__*/\ninvoker(1, 'join');\nexport default join;","import _curry1 from \"./internal/_curry1.js\";\nimport converge from \"./converge.js\";\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n * const getRange = R.juxt([Math.min, Math.max]);\n * getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\n\nvar juxt =\n/*#__PURE__*/\n_curry1(function juxt(fns) {\n return converge(function () {\n return Array.prototype.slice.call(arguments, 0);\n }, fns);\n});\n\nexport default juxt;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf, R.findLastIndex\n * @example\n *\n * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n * R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\n\nvar lastIndexOf =\n/*#__PURE__*/\n_curry2(function lastIndexOf(target, xs) {\n if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {\n return xs.lastIndexOf(target);\n } else {\n var idx = xs.length - 1;\n\n while (idx >= 0) {\n if (equals(xs[idx], target)) {\n return idx;\n }\n\n idx -= 1;\n }\n\n return -1;\n }\n});\n\nexport default lastIndexOf;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\n\nexport default lens;","import _curry1 from \"./internal/_curry1.js\";\nimport lens from \"./lens.js\";\nimport nth from \"./nth.js\";\nimport update from \"./update.js\";\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over, R.nth\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.view(headLens, ['a', 'b', 'c']); //=> 'a'\n * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c']\n * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\n\nvar lensIndex =\n/*#__PURE__*/\n_curry1(function lensIndex(n) {\n return lens(nth(n), update(n));\n});\n\nexport default lensIndex;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int | Symbol]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","import _curry1 from \"./internal/_curry1.js\";\nimport assoc from \"./assoc.js\";\nimport lens from \"./lens.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lensProp =\n/*#__PURE__*/\n_curry1(function lensProp(k) {\n return lens(prop(k), assoc(k));\n});\n\nexport default lensProp;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport keys from \"./keys.js\";\n/**\n * An Object-specific version of [`map`](#map). The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * [`map`](#map) instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n * const xyz = { x: 1, y: 2, z: 3 };\n * const prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\n\nvar mapObjIndexed =\n/*#__PURE__*/\n_curry2(function mapObjIndexed(fn, obj) {\n return _reduce(function (acc, key) {\n acc[key] = fn(obj[key], key, obj);\n return acc;\n }, {}, keys(obj));\n});\n\nexport default mapObjIndexed;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\n/**\n * `mathMod` behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n * arguments, and returns NaN when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @see R.modulo\n * @example\n *\n * R.mathMod(-17, 5); //=> 3\n * R.mathMod(17, 5); //=> 2\n * R.mathMod(17, -5); //=> NaN\n * R.mathMod(17, 0); //=> NaN\n * R.mathMod(17.2, 5); //=> NaN\n * R.mathMod(17, 5.3); //=> NaN\n *\n * const clock = R.mathMod(R.__, 12);\n * clock(15); //=> 3\n * clock(24); //=> 0\n *\n * const seventeenMod = R.mathMod(17);\n * seventeenMod(3); //=> 2\n * seventeenMod(4); //=> 1\n * seventeenMod(10); //=> 7\n */\n\nvar mathMod =\n/*#__PURE__*/\n_curry2(function mathMod(m, p) {\n if (!_isInteger(m)) {\n return NaN;\n }\n\n if (!_isInteger(p) || p < 1) {\n return NaN;\n }\n\n return (m % p + p) % p;\n});\n\nexport default mathMod;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n * R.add(2, 3); //=> 5\n * R.add(7)(10); //=> 17\n */\n\nvar add =\n/*#__PURE__*/\n_curry2(function add(a, b) {\n return Number(a) + Number(b);\n});\n\nexport default add;","import add from \"./add.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.sum([2,4,6,8,100,1]); //=> 121\n */\n\nvar sum =\n/*#__PURE__*/\nreduce(add, 0);\nexport default sum;","import _curry1 from \"./internal/_curry1.js\";\nimport sum from \"./sum.js\";\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.median\n * @example\n *\n * R.mean([2, 7, 9]); //=> 6\n * R.mean([]); //=> NaN\n */\n\nvar mean =\n/*#__PURE__*/\n_curry1(function mean(list) {\n return sum(list) / list.length;\n});\n\nexport default mean;","import _curry1 from \"./internal/_curry1.js\";\nimport mean from \"./mean.js\";\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.mean\n * @example\n *\n * R.median([2, 9, 7]); //=> 7\n * R.median([7, 2, 10, 9]); //=> 8\n * R.median([]); //=> NaN\n */\n\nvar median =\n/*#__PURE__*/\n_curry1(function median(list) {\n var len = list.length;\n\n if (len === 0) {\n return NaN;\n }\n\n var width = 2 - len % 2;\n var idx = (len - width) / 2;\n return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }).slice(idx, idx + width));\n});\n\nexport default median;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates one new object with the own properties from a list of objects.\n * If a key exists in more than one object, the value from the last\n * object it exists in will be used.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\n\nvar mergeAll =\n/*#__PURE__*/\n_curry1(function mergeAll(list) {\n return _objectAssign.apply(null, [{}].concat(list));\n});\n\nexport default mergeAll;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const resetToDefault = R.mergeLeft({x: 0});\n * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeLeft(a, b) = {...b, ...a}\n */\n\nvar mergeLeft =\n/*#__PURE__*/\n_curry2(function mergeLeft(l, r) {\n return _objectAssign({}, r, l);\n});\n\nexport default mergeLeft;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\n\nvar mergeRight =\n/*#__PURE__*/\n_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\n\nexport default mergeRight;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n * R.mergeWith(R.concat,\n * { a: true, values: [10, 20] },\n * { b: true, values: [15, 35] });\n * //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\n\nvar mergeWith =\n/*#__PURE__*/\n_curry3(function mergeWith(fn, l, r) {\n return mergeWithKey(function (_, _l, _r) {\n return fn(_l, _r);\n }, l, r);\n});\n\nexport default mergeWith;","import _isArray from \"./_isArray.js\";\nimport _isInteger from \"./_isInteger.js\";\n/**\n * Makes a shallow clone of an object, applying the given fn to the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @private\n * @param {String|Number} prop The property name to set\n * @param {Function} fn The function to apply to the property\n * @param {Object|Array} obj The object to clone\n * @return {Object|Array} A new object equivalent to the original except for the changed property.\n */\n\nexport default function _modify(prop, fn, obj) {\n if (_isInteger(prop) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[prop] = fn(arr[prop]);\n return arr;\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = fn(result[prop]);\n return result;\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _has from \"./internal/_has.js\";\nimport _assoc from \"./internal/_assoc.js\";\nimport _modify from \"./internal/_modify.js\";\n/**\n * Creates a shallow clone of the passed object by applying an `fn` function\n * to the value at the given path.\n *\n * The function will not be invoked, and the object will not change\n * if its corresponding path does not exist in the object.\n * All non-primitive properties are copied to the new object by reference.\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category Object\n * @sig [Idx] -> (v -> v) -> {k: v} -> {k: v}\n * @param {Array} path The path to be modified.\n * @param {Function} fn The function to apply to the path.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const person = {name: 'James', address: { zipCode: '90216' }};\n * R.modifyPath(['address', 'zipCode'], R.reverse, person); //=> {name: 'James', address: { zipCode: '61209' }}\n *\n * // Can handle arrays too\n * const person = {name: 'James', addresses: [{ zipCode: '90216' }]};\n * R.modifyPath(['addresses', 0, 'zipCode'], R.reverse, person); //=> {name: 'James', addresses: [{ zipCode: '61209' }]}\n */\n\nvar modifyPath =\n/*#__PURE__*/\n_curry3(function modifyPath(path, fn, object) {\n if (!_isObject(object) && !_isArray(object) || path.length === 0) {\n return object;\n }\n\n var idx = path[0];\n\n if (!_has(idx, object)) {\n return object;\n }\n\n if (path.length === 1) {\n return _modify(idx, fn, object);\n }\n\n var val = modifyPath(Array.prototype.slice.call(path, 1), fn, object[idx]);\n\n if (val === object[idx]) {\n return object;\n }\n\n return _assoc(idx, val, object);\n});\n\nexport default modifyPath;","import _curry3 from \"./internal/_curry3.js\";\nimport modifyPath from \"./modifyPath.js\";\n/**\n * Creates a copy of the passed object by applying an `fn` function to the given `prop` property.\n *\n * The function will not be invoked, and the object will not change\n * if its corresponding property does not exist in the object.\n * All non-primitive properties are copied to the new object by reference.\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category Object\n * @sig Idx -> (v -> v) -> {k: v} -> {k: v}\n * @param {String|Number} prop The property to be modified.\n * @param {Function} fn The function to apply to the property.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const person = {name: 'James', age: 20, pets: ['dog', 'cat']};\n * R.modify('age', R.add(1), person); //=> {name: 'James', age: 21, pets: ['dog', 'cat']}\n * R.modify('pets', R.append('turtle'), person); //=> {name: 'James', age: 20, pets: ['dog', 'cat', 'turtle']}\n */\n\nvar modify =\n/*#__PURE__*/\n_curry3(function modify(prop, fn, object) {\n return modifyPath([prop], fn, object);\n});\n\nexport default modify;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport all from \"./all.js\";\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n * const isEven = n => n % 2 === 0;\n * const isOdd = n => n % 2 !== 0;\n *\n * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n */\n\nvar none =\n/*#__PURE__*/\n_curry2(function none(fn, input) {\n return all(_complement(fn), input);\n});\n\nexport default none;","import _isFunction from \"./_isFunction.js\";\nimport _toString from \"./_toString.js\";\nexport default function _assertPromise(name, p) {\n if (p == null || !_isFunction(p.then)) {\n throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, []));\n }\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _assertPromise from \"./internal/_assertPromise.js\";\n/**\n * Returns the result of applying the onFailure function to the value inside\n * a failed promise. This is useful for handling rejected promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig (e -> b) -> (Promise e a) -> (Promise e b)\n * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b)\n * @param {Function} onFailure The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(null, onFailure)`\n * @see R.andThen\n * @example\n *\n * const failedFetch = id => Promise.reject('bad ID');\n * const useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' });\n *\n * //recoverFromFailure :: String -> Promise ({ firstName, lastName })\n * const recoverFromFailure = R.pipe(\n * failedFetch,\n * R.otherwise(useDefault),\n * R.andThen(R.pick(['firstName', 'lastName'])),\n * );\n * recoverFromFailure(12345).then(console.log);\n */\n\nvar otherwise =\n/*#__PURE__*/\n_curry2(function otherwise(f, p) {\n _assertPromise('otherwise', p);\n\n return p.then(null, f);\n});\n\nexport default otherwise;","import filter from \"./filter.js\";\nimport juxt from \"./juxt.js\";\nimport reject from \"./reject.js\";\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n * predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']);\n * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]\n *\n * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]\n */\n\nvar partition =\n/*#__PURE__*/\njuxt([filter, reject]);\nexport default partition;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\nimport path from \"./path.js\";\n/**\n * Determines whether a nested path on an object has a specific value, in\n * [`R.equals`](#equals) terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n * `false` otherwise.\n * @example\n *\n * const user1 = { address: { zipCode: 90210 } };\n * const user2 = { address: { zipCode: 55555 } };\n * const user3 = { name: 'Bob' };\n * const users = [ user1, user2, user3 ];\n * const isFamous = R.pathEq(['address', 'zipCode'], 90210);\n * R.filter(isFamous, users); //=> [ user1 ]\n */\n\nvar pathEq =\n/*#__PURE__*/\n_curry3(function pathEq(_path, val, obj) {\n return equals(path(_path, obj), val);\n});\n\nexport default pathEq;","import _curry3 from \"./internal/_curry3.js\";\nimport defaultTo from \"./defaultTo.js\";\nimport path from \"./path.js\";\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nexport default pathOr;","import _curry3 from \"./internal/_curry3.js\";\nimport path from \"./path.js\";\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int | Symbol\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n * R.pathSatisfies(R.is(Object), [], {x: {y: 2}}); //=> true\n */\n\nvar pathSatisfies =\n/*#__PURE__*/\n_curry3(function pathSatisfies(pred, propPath, obj) {\n return pred(path(propPath, obj));\n});\n\nexport default pathSatisfies;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n * const double = R.multiply(2);\n * const triple = R.multiply(3);\n * double(3); //=> 6\n * triple(4); //=> 12\n * R.multiply(2, 5); //=> 10\n */\n\nvar multiply =\n/*#__PURE__*/\n_curry2(function multiply(a, b) {\n return a * b;\n});\n\nexport default multiply;","import multiply from \"./multiply.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.product([2,4,6,8,100,1]); //=> 38400\n */\n\nvar product =\n/*#__PURE__*/\nreduce(multiply, 1);\nexport default product;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\n\nvar pickAll =\n/*#__PURE__*/\n_curry2(function pickAll(names, obj) {\n var result = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n var name = names[idx];\n result[name] = obj[name];\n idx += 1;\n }\n\n return result;\n});\n\nexport default pickAll;","import _curry2 from \"./internal/_curry2.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\n\nvar useWith =\n/*#__PURE__*/\n_curry2(function useWith(fn, transformers) {\n return curryN(transformers.length, function () {\n var args = [];\n var idx = 0;\n\n while (idx < transformers.length) {\n args.push(transformers[idx].call(this, arguments[idx]));\n idx += 1;\n }\n\n return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n });\n});\n\nexport default useWith;","import _map from \"./internal/_map.js\";\nimport identity from \"./identity.js\";\nimport pickAll from \"./pickAll.js\";\nimport useWith from \"./useWith.js\";\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @see R.pluck, R.props, R.prop\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n * const kids = [abby, fred];\n * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\n\nvar project =\n/*#__PURE__*/\nuseWith(_map, [pickAll, identity]); // passing `identity` gives correct arity\n\nexport default project;","export default function _promap(f, g, profunctor) {\n return function (x) {\n return g(profunctor(f(x)));\n };\n}","import _curry3 from \"./_curry3.js\";\nimport _xfBase from \"./_xfBase.js\";\nimport _promap from \"./_promap.js\";\n\nvar XPromap =\n/*#__PURE__*/\nfunction () {\n function XPromap(f, g, xf) {\n this.xf = xf;\n this.f = f;\n this.g = g;\n }\n\n XPromap.prototype['@@transducer/init'] = _xfBase.init;\n XPromap.prototype['@@transducer/result'] = _xfBase.result;\n\n XPromap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, _promap(this.f, this.g, input));\n };\n\n return XPromap;\n}();\n\nvar _xpromap =\n/*#__PURE__*/\n_curry3(function _xpromap(f, g, xf) {\n return new XPromap(f, g, xf);\n});\n\nexport default _xpromap;","import _curry3 from \"./internal/_curry3.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _promap from \"./internal/_promap.js\";\nimport _xpromap from \"./internal/_xpromap.js\";\n/**\n * Takes two functions as pre- and post- processors respectively for a third function,\n * i.e. `promap(f, g, h)(x) === g(h(f(x)))`.\n *\n * Dispatches to the `promap` method of the third argument, if present,\n * according to the [FantasyLand Profunctor spec](https://github.com/fantasyland/fantasy-land#profunctor).\n *\n * Acts as a transducer if a transformer is given in profunctor position.\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category Function\n * @sig (a -> b) -> (c -> d) -> (b -> c) -> (a -> d)\n * @sig Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a d\n * @param {Function} f The preprocessor function, a -> b\n * @param {Function} g The postprocessor function, c -> d\n * @param {Profunctor} profunctor The profunctor instance to be promapped, e.g. b -> c\n * @return {Profunctor} The new profunctor instance, e.g. a -> d\n * @see R.transduce\n * @example\n *\n * const decodeChar = R.promap(s => s.charCodeAt(), String.fromCharCode, R.add(-8))\n * const decodeString = R.promap(R.split(''), R.join(''), R.map(decodeChar))\n * decodeString(\"ziuli\") //=> \"ramda\"\n *\n * @symb R.promap(f, g, h) = x => g(h(f(x)))\n * @symb R.promap(f, g, profunctor) = profunctor.promap(f, g)\n */\n\nvar promap =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/promap', 'promap'], _xpromap, _promap));\n\nexport default promap;","import _curry3 from \"./internal/_curry3.js\";\nimport prop from \"./prop.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\n\nvar propEq =\n/*#__PURE__*/\n_curry3(function propEq(name, val, obj) {\n return equals(val, prop(name, obj));\n});\n\nexport default propEq;","import _curry3 from \"./internal/_curry3.js\";\nimport prop from \"./prop.js\";\nimport is from \"./is.js\";\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true\n * R.propIs(Number, 'x', {x: 'foo'}); //=> false\n * R.propIs(Number, 'x', {}); //=> false\n */\n\nvar propIs =\n/*#__PURE__*/\n_curry3(function propIs(type, name, obj) {\n return is(type, prop(name, obj));\n});\n\nexport default propIs;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nexport default defaultTo;","import _curry3 from \"./internal/_curry3.js\";\nimport defaultTo from \"./defaultTo.js\";\nimport prop from \"./prop.js\";\n/**\n * Return the specified property of the given non-null object if the property\n * is present and it's value is not `null`, `undefined` or `NaN`.\n *\n * Otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\n\nvar propOr =\n/*#__PURE__*/\n_curry3(function propOr(val, p, obj) {\n return defaultTo(val, prop(p, obj));\n});\n\nexport default propOr;","import _curry3 from \"./internal/_curry3.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise. You can test multiple properties with\n * [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.where, R.propEq, R.propIs\n * @example\n *\n * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\n\nvar propSatisfies =\n/*#__PURE__*/\n_curry3(function propSatisfies(pred, name, obj) {\n return pred(prop(name, obj));\n});\n\nexport default propSatisfies;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @see R.prop, R.pluck, R.project\n * @example\n *\n * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n * const fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\n\nvar props =\n/*#__PURE__*/\n_curry2(function props(ps, obj) {\n return ps.map(function (p) {\n return path([p], obj);\n });\n});\n\nexport default props;","import _curryN from \"./internal/_curryN.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _reduced from \"./internal/_reduced.js\";\n/**\n * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n * through the list, successively calling the iterator function. `reduceWhile`\n * also takes a predicate that is evaluated before each step. If the predicate\n * returns `false`, it \"short-circuits\" the iteration and returns the current\n * value of the accumulator. `reduceWhile` may alternatively be short-circuited\n * via [`reduced`](#reduced).\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n * current element.\n * @param {Function} fn The iterator function. Receives two values, the\n * accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n * const isOdd = (acc, x) => x % 2 !== 0;\n * const xs = [1, 3, 5, 60, 777, 800];\n * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n * const ys = [2, 4, 6]\n * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\n\nvar reduceWhile =\n/*#__PURE__*/\n_curryN(4, [], function _reduceWhile(pred, fn, a, list) {\n return _reduce(function (acc, x) {\n return pred(acc, x) ? fn(acc, x) : _reduced(acc);\n }, a, list);\n});\n\nexport default reduceWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport ap from \"./ap.js\";\nimport map from \"./map.js\";\nimport prepend from \"./prepend.js\";\nimport reduceRight from \"./reduceRight.js\";\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])\n * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n * R.sequence(R.of, Nothing()); //=> [Nothing()]\n */\n\nvar sequence =\n/*#__PURE__*/\n_curry2(function sequence(of, traversable) {\n return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {\n return ap(map(prepend, x), acc);\n }, of([]), traversable);\n});\n\nexport default sequence;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n * const sortByFirstItem = R.sortBy(R.prop(0));\n * const pairs = [[-1, 1], [-2, 2], [-3, 3]];\n * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n *\n * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const bob = {\n * name: 'Bob',\n * age: -10\n * };\n * const clara = {\n * name: 'clara',\n * age: 314.159\n * };\n * const people = [clara, bob, alice];\n * sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\n\nvar sortBy =\n/*#__PURE__*/\n_curry2(function sortBy(fn, list) {\n return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n });\n});\n\nexport default sortBy;","import invoker from \"./invoker.js\";\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `sep`.\n * @see R.join\n * @example\n *\n * const pathComponents = R.split('/');\n * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\n\nvar split =\n/*#__PURE__*/\ninvoker(1, 'split');\nexport default split;","import _curry2 from \"./internal/_curry2.js\";\nimport length from \"./length.js\";\nimport slice from \"./slice.js\";\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]]\n * R.splitAt(5, 'hello world'); //=> ['hello', ' world']\n * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r']\n */\n\nvar splitAt =\n/*#__PURE__*/\n_curry2(function splitAt(index, array) {\n return [slice(0, index, array), slice(index, length(array), array)];\n});\n\nexport default splitAt;","import _curry2 from \"./internal/_curry2.js\";\nimport slice from \"./slice.js\";\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\n\nvar splitEvery =\n/*#__PURE__*/\n_curry2(function splitEvery(n, list) {\n if (n <= 0) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n\n var result = [];\n var idx = 0;\n\n while (idx < list.length) {\n result.push(slice(idx, idx += n, list));\n }\n\n return result;\n});\n\nexport default splitEvery;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport take from \"./take.js\";\n/**\n * Checks if a list starts with the provided sublist.\n *\n * Similarly, checks if a string starts with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @see R.endsWith\n * @example\n *\n * R.startsWith('a', 'abc') //=> true\n * R.startsWith('b', 'abc') //=> false\n * R.startsWith(['a'], ['a', 'b', 'c']) //=> true\n * R.startsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\nvar startsWith =\n/*#__PURE__*/\n_curry2(function (prefix, list) {\n return equals(take(prefix.length, list), prefix);\n});\n\nexport default startsWith;","import _curry2 from \"./internal/_curry2.js\";\nimport concat from \"./concat.js\";\nimport difference from \"./difference.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\n\nvar symmetricDifference =\n/*#__PURE__*/\n_curry2(function symmetricDifference(list1, list2) {\n return concat(difference(list1, list2), difference(list2, list1));\n});\n\nexport default symmetricDifference;","import _curry3 from \"./internal/_curry3.js\";\nimport concat from \"./concat.js\";\nimport differenceWith from \"./differenceWith.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n * const eqA = R.eqBy(R.prop('a'));\n * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\n\nvar symmetricDifferenceWith =\n/*#__PURE__*/\n_curry3(function symmetricDifferenceWith(pred, list1, list2) {\n return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));\n});\n\nexport default symmetricDifferenceWith;","import _curry2 from \"./internal/_curry2.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n * const isNotOne = x => x !== 1;\n *\n * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n *\n * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n */\n\nvar takeLastWhile =\n/*#__PURE__*/\n_curry2(function takeLastWhile(fn, xs) {\n var idx = xs.length - 1;\n\n while (idx >= 0 && fn(xs[idx])) {\n idx -= 1;\n }\n\n return slice(idx + 1, Infinity, xs);\n});\n\nexport default takeLastWhile;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTakeWhile =\n/*#__PURE__*/\nfunction () {\n function XTakeWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XTakeWhile.prototype['@@transducer/init'] = _xfBase.init;\n XTakeWhile.prototype['@@transducer/result'] = _xfBase.result;\n\n XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced(result);\n };\n\n return XTakeWhile;\n}();\n\nvar _xtakeWhile =\n/*#__PURE__*/\n_curry2(function _xtakeWhile(f, xf) {\n return new XTakeWhile(f, xf);\n});\n\nexport default _xtakeWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtakeWhile from \"./internal/_xtakeWhile.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n * const isNotFour = x => x !== 4;\n *\n * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n *\n * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n */\n\nvar takeWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) {\n var idx = 0;\n var len = xs.length;\n\n while (idx < len && fn(xs[idx])) {\n idx += 1;\n }\n\n return slice(0, idx, xs);\n}));\n\nexport default takeWhile;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTap =\n/*#__PURE__*/\nfunction () {\n function XTap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XTap.prototype['@@transducer/init'] = _xfBase.init;\n XTap.prototype['@@transducer/result'] = _xfBase.result;\n\n XTap.prototype['@@transducer/step'] = function (result, input) {\n this.f(input);\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XTap;\n}();\n\nvar _xtap =\n/*#__PURE__*/\n_curry2(function _xtap(f, xf) {\n return new XTap(f, xf);\n});\n\nexport default _xtap;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtap from \"./internal/_xtap.js\";\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n * const sayX = x => console.log('x is ' + x);\n * R.tap(sayX, 100); //=> 100\n * // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\n\nvar tap =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xtap, function tap(fn, x) {\n fn(x);\n return x;\n}));\n\nexport default tap;","import _cloneRegExp from \"./internal/_cloneRegExp.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _isRegExp from \"./internal/_isRegExp.js\";\nimport toString from \"./toString.js\";\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n * R.test(/^x/, 'xyz'); //=> true\n * R.test(/^y/, 'xyz'); //=> false\n */\n\nvar test =\n/*#__PURE__*/\n_curry2(function test(pattern, str) {\n if (!_isRegExp(pattern)) {\n throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));\n }\n\n return _cloneRegExp(pattern).test(str);\n});\n\nexport default test;","import _curry2 from \"./internal/_curry2.js\";\nimport _assertPromise from \"./internal/_assertPromise.js\";\n/**\n * Returns the result of applying the onSuccess function to the value inside\n * a successfully resolved promise. This is useful for working with promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Function\n * @sig (a -> b) -> (Promise e a) -> (Promise e b)\n * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b)\n * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(onSuccess)`\n * @see R.otherwise\n * @example\n *\n * const makeQuery = email => ({ query: { email }});\n * const fetchMember = request =>\n * Promise.resolve({ firstName: 'Bob', lastName: 'Loblaw', id: 42 });\n *\n * //getMemberName :: String -> Promise ({ firstName, lastName })\n * const getMemberName = R.pipe(\n * makeQuery,\n * fetchMember,\n * R.andThen(R.pick(['firstName', 'lastName']))\n * );\n *\n * getMemberName('bob@gmail.com').then(console.log);\n */\n\nvar andThen =\n/*#__PURE__*/\n_curry2(function andThen(f, p) {\n _assertPromise('andThen', p);\n\n return p.then(f);\n});\n\nexport default andThen;","import invoker from \"./invoker.js\";\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n * R.toLower('XYZ'); //=> 'xyz'\n */\n\nvar toLower =\n/*#__PURE__*/\ninvoker(0, 'toLowerCase');\nexport default toLower;","import invoker from \"./invoker.js\";\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n * R.toUpper('abc'); //=> 'ABC'\n */\n\nvar toUpper =\n/*#__PURE__*/\ninvoker(0, 'toUpperCase');\nexport default toUpper;","import _reduce from \"./internal/_reduce.js\";\nimport _xwrap from \"./internal/_xwrap.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the [`R.reduced`](#reduced) function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is\n * [`R.identity`](#identity). The init function can be used to provide an\n * initial accumulator, but is ignored by transduce.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array. Wrapped as transformer, if necessary, and used to\n * initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n *\n * const isOdd = (x) => x % 2 !== 0;\n * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n */\n\nvar transduce =\n/*#__PURE__*/\ncurryN(4, function transduce(xf, fn, acc, list) {\n return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);\n});\nexport default transduce;","import _curry3 from \"./internal/_curry3.js\";\nimport map from \"./map.js\";\nimport sequence from \"./sequence.js\";\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `traverse` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n * // Returns `Maybe.Nothing` if the given divisor is `0`\n * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d)\n *\n * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2])\n * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing\n */\n\nvar traverse =\n/*#__PURE__*/\n_curry3(function traverse(of, f, traversable) {\n return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : typeof traversable.traverse === 'function' ? traversable.traverse(f, of) : sequence(of, map(f, traversable));\n});\n\nexport default traverse;","import _curry1 from \"./internal/_curry1.js\";\nvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\nvar zeroWidth = '\\u200b';\nvar hasProtoTrim = typeof String.prototype.trim === 'function';\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n * R.trim(' xyz '); //=> 'xyz'\n * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\n\nvar trim = !hasProtoTrim ||\n/*#__PURE__*/\nws.trim() || !\n/*#__PURE__*/\nzeroWidth.trim() ?\n/*#__PURE__*/\n_curry1(function trim(str) {\n var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n return str.replace(beginRx, '').replace(endRx, '');\n}) :\n/*#__PURE__*/\n_curry1(function trim(str) {\n return str.trim();\n});\nexport default trim;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport compose from \"./compose.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @example\n *\n * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\n\nvar union =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\ncompose(uniq, _concat));\n\nexport default union;","import _curry2 from \"./_curry2.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XUniqWith =\n/*#__PURE__*/\nfunction () {\n function XUniqWith(pred, xf) {\n this.xf = xf;\n this.pred = pred;\n this.items = [];\n }\n\n XUniqWith.prototype['@@transducer/init'] = _xfBase.init;\n XUniqWith.prototype['@@transducer/result'] = _xfBase.result;\n\n XUniqWith.prototype['@@transducer/step'] = function (result, input) {\n if (_includesWith(this.pred, input, this.items)) {\n return result;\n } else {\n this.items.push(input);\n return this.xf['@@transducer/step'](result, input);\n }\n };\n\n return XUniqWith;\n}();\n\nvar _xuniqWith =\n/*#__PURE__*/\n_curry2(function _xuniqWith(pred, xf) {\n return new XUniqWith(pred, xf);\n});\n\nexport default _xuniqWith;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _includesWith from \"./internal/_includesWith.js\";\nimport _xuniqWith from \"./internal/_xuniqWith.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * const strEq = R.eqBy(String);\n * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n * R.uniqWith(strEq)([{}, {}]); //=> [{}]\n * R.uniqWith(strEq)([1, '1', 1]); //=> [1]\n * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1']\n */\n\nvar uniqWith =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xuniqWith, function (pred, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var item;\n\n while (idx < len) {\n item = list[idx];\n\n if (!_includesWith(pred, item, result)) {\n result[result.length] = item;\n }\n\n idx += 1;\n }\n\n return result;\n}));\n\nexport default uniqWith;","import _concat from \"./internal/_concat.js\";\nimport _curry3 from \"./internal/_curry3.js\";\nimport uniqWith from \"./uniqWith.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements. If an element exists\n * in both lists, the first element from the first list will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @see R.union\n * @example\n *\n * const l1 = [{a: 1}, {a: 2}];\n * const l2 = [{a: 1}, {a: 4}];\n * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\n\nvar unionWith =\n/*#__PURE__*/\n_curry3(function unionWith(pred, list1, list2) {\n return uniqWith(pred, _concat(list1, list2));\n});\n\nexport default unionWith;","import _identity from \"./internal/_identity.js\";\nimport chain from \"./chain.js\";\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\n\nvar unnest =\n/*#__PURE__*/\nchain(_identity);\nexport default unnest;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _map from \"./internal/_map.js\";\nimport _assoc from \"./internal/_assoc.js\";\n/**\n *\n * Deconstructs an array field from the input documents to output a document for each element.\n * Each output document is the input document with the value of the array field replaced by the element.\n *\n * @func\n * @memberOf R\n * @since v0.28.0\n * @category Object\n * @sig String -> {k: [v]} -> [{k: v}]\n * @param {String} key The key to determine which property of the object should be unwind\n * @param {Object} object The object containing list under property named as key which is to unwind\n * @return {List} A new list of object containing the value of input key having list replaced by each element in the object.\n * @example\n *\n * R.unwind('hobbies', {\n * name: 'alice',\n * hobbies: ['Golf', 'Hacking'],\n * colors: ['red', 'green'],\n * });\n * // [\n * // { name: 'alice', hobbies: 'Golf', colors: ['red', 'green'] },\n * // { name: 'alice', hobbies: 'Hacking', colors: ['red', 'green'] }\n * // ]\n */\n\nvar unwind =\n/*#__PURE__*/\n_curry2(function (key, object) {\n // If key is not in object or key is not as a list in object\n if (!(key in object && _isArray(object[key]))) {\n return [object];\n } // Map over object[key] which is a list and assoc each element with key\n\n\n return _map(function (item) {\n return _assoc(key, item, object);\n }, object[key]);\n});\n\nexport default unwind;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport map from \"./map.js\";\nimport where from \"./where.js\";\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in [`R.equals`](#equals) terms) as accessing that property of the\n * spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propEq, R.where\n * @example\n *\n * // pred :: Object -> Boolean\n * const pred = R.whereEq({a: 1, b: 2});\n *\n * pred({a: 1}); //=> false\n * pred({a: 1, b: 2}); //=> true\n * pred({a: 1, b: 2, c: 3}); //=> true\n * pred({a: 1, b: 1}); //=> false\n */\n\nvar whereEq =\n/*#__PURE__*/\n_curry2(function whereEq(spec, testObj) {\n return where(map(equals, spec), testObj);\n});\n\nexport default whereEq;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport flip from \"./flip.js\";\nimport reject from \"./reject.js\";\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\n\nvar without =\n/*#__PURE__*/\n_curry2(function (xs, list) {\n return reject(flip(_includes)(xs), list);\n});\n\nexport default without;","export { default as F } from \"./F.js\";\nexport { default as T } from \"./T.js\";\nexport { default as __ } from \"./__.js\";\nexport { default as add } from \"./add.js\";\nexport { default as addIndex } from \"./addIndex.js\";\nexport { default as adjust } from \"./adjust.js\";\nexport { default as all } from \"./all.js\";\nexport { default as allPass } from \"./allPass.js\";\nexport { default as always } from \"./always.js\";\nexport { default as and } from \"./and.js\";\nexport { default as any } from \"./any.js\";\nexport { default as anyPass } from \"./anyPass.js\";\nexport { default as ap } from \"./ap.js\";\nexport { default as aperture } from \"./aperture.js\";\nexport { default as append } from \"./append.js\";\nexport { default as apply } from \"./apply.js\";\nexport { default as applySpec } from \"./applySpec.js\";\nexport { default as applyTo } from \"./applyTo.js\";\nexport { default as ascend } from \"./ascend.js\";\nexport { default as assoc } from \"./assoc.js\";\nexport { default as assocPath } from \"./assocPath.js\";\nexport { default as binary } from \"./binary.js\";\nexport { default as bind } from \"./bind.js\";\nexport { default as both } from \"./both.js\";\nexport { default as call } from \"./call.js\";\nexport { default as chain } from \"./chain.js\";\nexport { default as clamp } from \"./clamp.js\";\nexport { default as clone } from \"./clone.js\";\nexport { default as collectBy } from \"./collectBy.js\";\nexport { default as comparator } from \"./comparator.js\";\nexport { default as complement } from \"./complement.js\";\nexport { default as compose } from \"./compose.js\";\nexport { default as composeWith } from \"./composeWith.js\";\nexport { default as concat } from \"./concat.js\";\nexport { default as cond } from \"./cond.js\";\nexport { default as construct } from \"./construct.js\";\nexport { default as constructN } from \"./constructN.js\";\nexport { default as converge } from \"./converge.js\";\nexport { default as count } from \"./count.js\";\nexport { default as countBy } from \"./countBy.js\";\nexport { default as curry } from \"./curry.js\";\nexport { default as curryN } from \"./curryN.js\";\nexport { default as dec } from \"./dec.js\";\nexport { default as defaultTo } from \"./defaultTo.js\";\nexport { default as descend } from \"./descend.js\";\nexport { default as difference } from \"./difference.js\";\nexport { default as differenceWith } from \"./differenceWith.js\";\nexport { default as dissoc } from \"./dissoc.js\";\nexport { default as dissocPath } from \"./dissocPath.js\";\nexport { default as divide } from \"./divide.js\";\nexport { default as drop } from \"./drop.js\";\nexport { default as dropLast } from \"./dropLast.js\";\nexport { default as dropLastWhile } from \"./dropLastWhile.js\";\nexport { default as dropRepeats } from \"./dropRepeats.js\";\nexport { default as dropRepeatsWith } from \"./dropRepeatsWith.js\";\nexport { default as dropWhile } from \"./dropWhile.js\";\nexport { default as either } from \"./either.js\";\nexport { default as empty } from \"./empty.js\";\nexport { default as endsWith } from \"./endsWith.js\";\nexport { default as eqBy } from \"./eqBy.js\";\nexport { default as eqProps } from \"./eqProps.js\";\nexport { default as equals } from \"./equals.js\";\nexport { default as evolve } from \"./evolve.js\";\nexport { default as filter } from \"./filter.js\";\nexport { default as find } from \"./find.js\";\nexport { default as findIndex } from \"./findIndex.js\";\nexport { default as findLast } from \"./findLast.js\";\nexport { default as findLastIndex } from \"./findLastIndex.js\";\nexport { default as flatten } from \"./flatten.js\";\nexport { default as flip } from \"./flip.js\";\nexport { default as forEach } from \"./forEach.js\";\nexport { default as forEachObjIndexed } from \"./forEachObjIndexed.js\";\nexport { default as fromPairs } from \"./fromPairs.js\";\nexport { default as groupBy } from \"./groupBy.js\";\nexport { default as groupWith } from \"./groupWith.js\";\nexport { default as gt } from \"./gt.js\";\nexport { default as gte } from \"./gte.js\";\nexport { default as has } from \"./has.js\";\nexport { default as hasIn } from \"./hasIn.js\";\nexport { default as hasPath } from \"./hasPath.js\";\nexport { default as head } from \"./head.js\";\nexport { default as identical } from \"./identical.js\";\nexport { default as identity } from \"./identity.js\";\nexport { default as ifElse } from \"./ifElse.js\";\nexport { default as inc } from \"./inc.js\";\nexport { default as includes } from \"./includes.js\";\nexport { default as indexBy } from \"./indexBy.js\";\nexport { default as indexOf } from \"./indexOf.js\";\nexport { default as init } from \"./init.js\";\nexport { default as innerJoin } from \"./innerJoin.js\";\nexport { default as insert } from \"./insert.js\";\nexport { default as insertAll } from \"./insertAll.js\";\nexport { default as intersection } from \"./intersection.js\";\nexport { default as intersperse } from \"./intersperse.js\";\nexport { default as into } from \"./into.js\";\nexport { default as invert } from \"./invert.js\";\nexport { default as invertObj } from \"./invertObj.js\";\nexport { default as invoker } from \"./invoker.js\";\nexport { default as is } from \"./is.js\";\nexport { default as isEmpty } from \"./isEmpty.js\";\nexport { default as isNil } from \"./isNil.js\";\nexport { default as join } from \"./join.js\";\nexport { default as juxt } from \"./juxt.js\";\nexport { default as keys } from \"./keys.js\";\nexport { default as keysIn } from \"./keysIn.js\";\nexport { default as last } from \"./last.js\";\nexport { default as lastIndexOf } from \"./lastIndexOf.js\";\nexport { default as length } from \"./length.js\";\nexport { default as lens } from \"./lens.js\";\nexport { default as lensIndex } from \"./lensIndex.js\";\nexport { default as lensPath } from \"./lensPath.js\";\nexport { default as lensProp } from \"./lensProp.js\";\nexport { default as lift } from \"./lift.js\";\nexport { default as liftN } from \"./liftN.js\";\nexport { default as lt } from \"./lt.js\";\nexport { default as lte } from \"./lte.js\";\nexport { default as map } from \"./map.js\";\nexport { default as mapAccum } from \"./mapAccum.js\";\nexport { default as mapAccumRight } from \"./mapAccumRight.js\";\nexport { default as mapObjIndexed } from \"./mapObjIndexed.js\";\nexport { default as match } from \"./match.js\";\nexport { default as mathMod } from \"./mathMod.js\";\nexport { default as max } from \"./max.js\";\nexport { default as maxBy } from \"./maxBy.js\";\nexport { default as mean } from \"./mean.js\";\nexport { default as median } from \"./median.js\";\nexport { default as memoizeWith } from \"./memoizeWith.js\";\nexport { default as mergeAll } from \"./mergeAll.js\";\nexport { default as mergeDeepLeft } from \"./mergeDeepLeft.js\";\nexport { default as mergeDeepRight } from \"./mergeDeepRight.js\";\nexport { default as mergeDeepWith } from \"./mergeDeepWith.js\";\nexport { default as mergeDeepWithKey } from \"./mergeDeepWithKey.js\";\nexport { default as mergeLeft } from \"./mergeLeft.js\";\nexport { default as mergeRight } from \"./mergeRight.js\";\nexport { default as mergeWith } from \"./mergeWith.js\";\nexport { default as mergeWithKey } from \"./mergeWithKey.js\";\nexport { default as min } from \"./min.js\";\nexport { default as minBy } from \"./minBy.js\";\nexport { default as modify } from \"./modify.js\";\nexport { default as modifyPath } from \"./modifyPath.js\";\nexport { default as modulo } from \"./modulo.js\";\nexport { default as move } from \"./move.js\";\nexport { default as multiply } from \"./multiply.js\";\nexport { default as nAry } from \"./nAry.js\";\nexport { default as partialObject } from \"./partialObject.js\";\nexport { default as negate } from \"./negate.js\";\nexport { default as none } from \"./none.js\";\nexport { default as not } from \"./not.js\";\nexport { default as nth } from \"./nth.js\";\nexport { default as nthArg } from \"./nthArg.js\";\nexport { default as o } from \"./o.js\";\nexport { default as objOf } from \"./objOf.js\";\nexport { default as of } from \"./of.js\";\nexport { default as omit } from \"./omit.js\";\nexport { default as on } from \"./on.js\";\nexport { default as once } from \"./once.js\";\nexport { default as or } from \"./or.js\";\nexport { default as otherwise } from \"./otherwise.js\";\nexport { default as over } from \"./over.js\";\nexport { default as pair } from \"./pair.js\";\nexport { default as partial } from \"./partial.js\";\nexport { default as partialRight } from \"./partialRight.js\";\nexport { default as partition } from \"./partition.js\";\nexport { default as path } from \"./path.js\";\nexport { default as paths } from \"./paths.js\";\nexport { default as pathEq } from \"./pathEq.js\";\nexport { default as pathOr } from \"./pathOr.js\";\nexport { default as pathSatisfies } from \"./pathSatisfies.js\";\nexport { default as pick } from \"./pick.js\";\nexport { default as pickAll } from \"./pickAll.js\";\nexport { default as pickBy } from \"./pickBy.js\";\nexport { default as pipe } from \"./pipe.js\";\nexport { default as pipeWith } from \"./pipeWith.js\";\nexport { default as pluck } from \"./pluck.js\";\nexport { default as prepend } from \"./prepend.js\";\nexport { default as product } from \"./product.js\";\nexport { default as project } from \"./project.js\";\nexport { default as promap } from \"./promap.js\";\nexport { default as prop } from \"./prop.js\";\nexport { default as propEq } from \"./propEq.js\";\nexport { default as propIs } from \"./propIs.js\";\nexport { default as propOr } from \"./propOr.js\";\nexport { default as propSatisfies } from \"./propSatisfies.js\";\nexport { default as props } from \"./props.js\";\nexport { default as range } from \"./range.js\";\nexport { default as reduce } from \"./reduce.js\";\nexport { default as reduceBy } from \"./reduceBy.js\";\nexport { default as reduceRight } from \"./reduceRight.js\";\nexport { default as reduceWhile } from \"./reduceWhile.js\";\nexport { default as reduced } from \"./reduced.js\";\nexport { default as reject } from \"./reject.js\";\nexport { default as remove } from \"./remove.js\";\nexport { default as repeat } from \"./repeat.js\";\nexport { default as replace } from \"./replace.js\";\nexport { default as reverse } from \"./reverse.js\";\nexport { default as scan } from \"./scan.js\";\nexport { default as sequence } from \"./sequence.js\";\nexport { default as set } from \"./set.js\";\nexport { default as slice } from \"./slice.js\";\nexport { default as sort } from \"./sort.js\";\nexport { default as sortBy } from \"./sortBy.js\";\nexport { default as sortWith } from \"./sortWith.js\";\nexport { default as split } from \"./split.js\";\nexport { default as splitAt } from \"./splitAt.js\";\nexport { default as splitEvery } from \"./splitEvery.js\";\nexport { default as splitWhen } from \"./splitWhen.js\";\nexport { default as splitWhenever } from \"./splitWhenever.js\";\nexport { default as startsWith } from \"./startsWith.js\";\nexport { default as subtract } from \"./subtract.js\";\nexport { default as sum } from \"./sum.js\";\nexport { default as symmetricDifference } from \"./symmetricDifference.js\";\nexport { default as symmetricDifferenceWith } from \"./symmetricDifferenceWith.js\";\nexport { default as tail } from \"./tail.js\";\nexport { default as take } from \"./take.js\";\nexport { default as takeLast } from \"./takeLast.js\";\nexport { default as takeLastWhile } from \"./takeLastWhile.js\";\nexport { default as takeWhile } from \"./takeWhile.js\";\nexport { default as tap } from \"./tap.js\";\nexport { default as test } from \"./test.js\";\nexport { default as andThen } from \"./andThen.js\";\nexport { default as times } from \"./times.js\";\nexport { default as toLower } from \"./toLower.js\";\nexport { default as toPairs } from \"./toPairs.js\";\nexport { default as toPairsIn } from \"./toPairsIn.js\";\nexport { default as toString } from \"./toString.js\";\nexport { default as toUpper } from \"./toUpper.js\";\nexport { default as transduce } from \"./transduce.js\";\nexport { default as transpose } from \"./transpose.js\";\nexport { default as traverse } from \"./traverse.js\";\nexport { default as trim } from \"./trim.js\";\nexport { default as tryCatch } from \"./tryCatch.js\";\nexport { default as type } from \"./type.js\";\nexport { default as unapply } from \"./unapply.js\";\nexport { default as unary } from \"./unary.js\";\nexport { default as uncurryN } from \"./uncurryN.js\";\nexport { default as unfold } from \"./unfold.js\";\nexport { default as union } from \"./union.js\";\nexport { default as unionWith } from \"./unionWith.js\";\nexport { default as uniq } from \"./uniq.js\";\nexport { default as uniqBy } from \"./uniqBy.js\";\nexport { default as uniqWith } from \"./uniqWith.js\";\nexport { default as unless } from \"./unless.js\";\nexport { default as unnest } from \"./unnest.js\";\nexport { default as until } from \"./until.js\";\nexport { default as unwind } from \"./unwind.js\";\nexport { default as update } from \"./update.js\";\nexport { default as useWith } from \"./useWith.js\";\nexport { default as values } from \"./values.js\";\nexport { default as valuesIn } from \"./valuesIn.js\";\nexport { default as view } from \"./view.js\";\nexport { default as when } from \"./when.js\";\nexport { default as where } from \"./where.js\";\nexport { default as whereAny } from \"./whereAny.js\";\nexport { default as whereEq } from \"./whereEq.js\";\nexport { default as without } from \"./without.js\";\nexport { default as xor } from \"./xor.js\";\nexport { default as xprod } from \"./xprod.js\";\nexport { default as zip } from \"./zip.js\";\nexport { default as zipObj } from \"./zipObj.js\";\nexport { default as zipWith } from \"./zipWith.js\";\nexport { default as thunkify } from \"./thunkify.js\";","export default {\n computed: {\n viewerActiveTool: function() {\n return this.$store.getters.viewerActiveTool\n },\n },\n\n watch: {\n viewerActiveTool: {\n handler: function (val) {\n if (val) {\n this.setActiveTool(val)\n }\n },\n immediate: true\n }\n },\n\n methods: {\n /**\n * Invoke method for tool if it exists\n * @param {String} activeTool\n */\n setActiveTool: function(activeTool) {\n if (activeTool) {\n // Set first character of tool to be capitalized to the method is camel case\n const methodName = 'set' + activeTool.charAt(0).toUpperCase() + activeTool.slice(1)\n\n // Check the method\n if(typeof this[methodName] === 'function') {\n this[methodName]()\n }\n }\n }\n }\n}\n","import { prop, propOr } from 'ramda'\n\nconst _isString = x => Object.prototype.toString.call(x) === '[object String]'\n\nconst _trimValues = obj => {\n Object.keys(obj).forEach(key => {\n if (_isString(obj[key])) {\n obj[key] = obj[key].trim()\n }\n })\n}\n\nexport default {\n data() {\n return {\n method: 'GET',\n body: null,\n isLoading: true\n }\n },\n methods: {\n /**\n * Sends an XHR request\n * @param {Object} opts\n * @returns {Promise}\n */\n sendXhr: function(url, opts, returnRawResponse = false) {\n if (!url) {\n return Promise.reject(new Error('Url is missing!'))\n }\n\n this.isLoading = true\n this.method = propOr('GET', 'method', opts)\n\n const optsHeader = propOr(null, 'header', opts)\n const headers = optsHeader || { 'Content-type': 'application/json' }\n\n const optsBody = propOr('', 'body', opts)\n let requestOpts = { headers, method: this.method }\n\n if (optsBody) {\n if (typeof optsBody === 'object') {\n _trimValues(optsBody)\n }\n this.body = JSON.stringify(optsBody)\n requestOpts = {\n requestOpts,\n body: this.body\n }\n }\n\n return fetch(url, requestOpts).then(resp => {\n if (resp.status >= 400) {\n return Promise.reject(resp)\n }\n\n // most common cases work processing the response as json, otherwise we have the option to parse per usecase\n if (returnRawResponse) {\n return this.finishLoading(resp)\n }\n\n // if the payload cannot be converted to json, return a clone of the original response\n return resp\n .json()\n .then(this.finishLoading.bind(this))\n .catch(() => this.finishLoading(resp))\n })\n },\n /**\n * Update isLoading on $nextTick\n * @param {Object} json\n * @returns {Object}\n */\n finishLoading: function(json) {\n this.$nextTick(() => {\n this.isLoading = false\n })\n return json\n },\n /**\n * Handles ajax errors\n * @param {Object} err\n */\n handleXhrError: function(err) {\n this.isLoading = false\n const status = prop('status', err)\n // logout\n if (status === 401) {\n return this.handleLogout()\n }\n // unauthorized\n if (status === 403) {\n console.error('unauthorized')\n // return this.$router.replace({name: 'datasets-list'})\n }\n // emit ajaxError\n this.$emit('ajaxError', err)\n },\n }\n}\n","import Request from '@/mixins/request'\n\nexport default {\n mixins: [\n Request\n ],\n\n computed: {\n activeViewer: function() {\n return this.$store.getters.activeViewer\n },\n viewerChannels: function() {\n return this.$store.getters.viewerChannels\n },\n viewerAnnotations: function() {\n return this.$store.getters.viewerAnnotations\n },\n viewerSidePanelOpen: function() {\n return this.$store.getters.viewerSidePanelOpen\n },\n activeAnnotation: function() {\n return this.$store.getters.activeAnnotation\n },\n },\n\n methods: {\n addAnnotation: function() {\n\n // assert that we only call this function on activeAnnotations without an existing ID\n if (this.activeAnnotation.id) {\n throw new TypeError(\"Trying to create an annotation that already exists\", this.activeAnnotation.id)\n }\n\n let start = this.activeAnnotation.start\n let duration = this.activeAnnotation.duration\n const onAll = this.activeAnnotation.allChannels\n const label = this.activeAnnotation.label\n const description = this.activeAnnotation.description\n const layer_id = this.activeAnnotation.layer_id\n\n // correct negative durations\n if (duration < 0 ) {\n duration = -duration;\n start = start - duration;\n }\n\n const onChannels = [];\n for (let ch = 0; ch < this.viewerChannels.length; ch++) {\n const curChannelView = this.viewerChannels[ch];\n if((curChannelView.selected && curChannelView.visible) || onAll) {\n const id = this.getChannelId(curChannelView)\n onChannels.push(id);\n }\n }\n\n const XhrBody = {\n name: '',\n channelIds: onChannels,\n label: label,\n description: description,\n layer_id: layer_id,\n start: start,\n end: start + duration\n }\n\n //Unselect current annotations\n // this.unSelectAnnotations(null, false);\n\n // Send ADD annotation request to server\n const timeseriesId = this.activeViewer.content.nodeId\n const url = `${this.config.apiUrl}/timeseries/${timeseriesId}/layers/${layer_id}/annotations`\n this.sendXhr(url, {\n method:'POST',\n header: {\n 'Authorization': `Bearer ${this.$store.state.userToken}`\n },\n body:XhrBody\n } ).then((response) => {\n const newAnn = {\n name: '',\n id: response.id,\n label: response.label,\n description: response.description,\n start: response.start,\n duration: response.end - response.start,\n end: response.end,\n cStart: null,\n cEnd: null,\n selected: true,\n channelIds: response.channelIds,\n allChannels: false,\n layer_id: response.layerId,\n userId: response.userId\n };\n if (response.linkedPackage) {\n newAnn.linkedPackage = response.linkedPackage\n }\n\n // Check if all channels are selected\n if (newAnn.channelIds.length >= this.viewerChannels.length) {\n newAnn.allChannels = true;\n }\n\n // Find layer\n let curLIndex = 0;\n for (let i = 0; i < this.viewerAnnotations.length; i++) {\n if (this.viewerAnnotations[i].id === response.layerId) {\n curLIndex = i;\n break;\n }\n }\n\n this.$store.dispatch('createAnnotation', newAnn)\n .then(() => {\n this.sortAnns(this.viewerAnnotations[curLIndex].annotations);\n this.onAnnotationCreated()\n }).catch(error => {\n console.log(error)\n })\n }).catch(error => {\n console.log(error)\n })\n },\n updateAnnotation: function() {\n\n if (!this.activeAnnotation.id) {\n throw new TypeError(\"Trying to update an annotation that doesn't exists on server\", this.activeAnnotation.id)\n }\n\n let start = this.activeAnnotation.start\n let duration = this.activeAnnotation.duration\n\n // correct negative durations\n if (duration < 0 ) {\n duration = -duration;\n start = start - duration;\n this.activeAnnotation.start = start\n this.activeAnnotation.duration = duration\n this.activeAnnotation.end = start + duration\n }\n\n const annLayerId = this.activeAnnotation.layer_id\n const timeseriesId = this.activeViewer.content.nodeId\n const url = `${this.config.apiUrl}/timeseries/${timeseriesId}/layers/${annLayerId}/annotations/${this.activeAnnotation.id}`;\n\n const XhrBody = {\n name: '',\n channelIds: this.activeAnnotation.channelIds,\n label: this.activeAnnotation.label,\n description: this.activeAnnotation.description,\n layer_id: this.activeAnnotation.layer_id,\n start: start,\n end: start + duration\n }\n\n const self = this\n self.sendXhr(url, {\n method:'PUT',\n header: {\n 'Authorization': `Bearer ${this.$store.state.userToken}`\n },\n body:XhrBody\n } ).then(() => {\n self.$store.dispatch('updateAnnotation', this.activeAnnotation)\n self.onAnnotationUpdated()\n })\n .catch(self.handleXhrError.bind(this))\n },\n removeAnnotation: function(annotation) {\n let annLayerId = ''\n // annotation data structure properties vary depending on if the user\n // is canceling newly created annotation or not\n if (annotation.layer) {\n annLayerId = annotation.layer.id\n } else {\n annLayerId = annotation.layer_id\n }\n const timeseriesId = this.activeViewer.content.nodeId\n const url = `${this.config.apiUrl}/timeseries/${timeseriesId}/layers/${annLayerId}/annotations/${annotation.id}`;\n\n const self = this\n self.sendXhr(url, {\n method:'DELETE',\n header: {\n 'Authorization': `Bearer ${this.$store.state.userToken}`\n },\n } ).then(() => {\n self.$store.dispatch('deleteAnnotation', annotation)\n self.onAnnotationDeleted()\n })\n .catch(self.handleXhrError.bind(this))\n\n },\n sortAnns: function(annArray) {\n annArray.sort(function Comparator(a, b) {\n if (a.start < b.start) return -1;\n if (a.start > b.start) return 1;\n return 0;\n });\n },\n }\n} ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timeseries-scrubber\"},[_c('div',{staticClass:\"dateWrap\"},[_c('div',[_vm._v(_vm._s(_vm.ts_start_str))]),_c('div',[_vm._v(_vm._s(_vm.fullDateStr))]),_c('div',[_vm._v(_vm._s(_vm.ts_end_str))])]),_c('div',{staticClass:\"noselect\"},[_c('div',{attrs:{\"id\":\"scrubber\",\"noselect\":\"\"}},[_c('div',{ref:\"canvasWrap\",attrs:{\"id\":\"canvasWrap\"}},[_c('canvas',{ref:\"segmentsCanvas\",staticClass:\"canvas\",style:(_vm.canvasStyle),attrs:{\"id\":\"segmentsCanvas\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio,0),\"height\":_vm._cpCanvasScaler(_vm.viewportHeight-2, _vm.pixelRatio,0)}}),_c('canvas',{ref:\"annotationCanvas\",staticClass:\"canvas\",style:(_vm.canvasStyle),attrs:{\"id\":\"annotationCanvas\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.viewportHeight-2, _vm.pixelRatio,0)}}),_c('canvas',{ref:\"iCanvas\",staticClass:\"canvas\",style:(_vm.iCanvasStyle),attrs:{\"id\":\"iCanvas\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.viewportHeight, _vm.pixelRatio,0)},on:{\"click\":_vm._onTap,\"mousemove\":_vm._onMouseMove,\"mousedown\":_vm._onMouseDown,\"mouseup\":_vm._onMouseUp,\"mouseenter\":_vm._onMouseEnter,\"mouseout\":_vm._onMouseOut}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"timeseries-scrubber\">\n <div class=\"dateWrap\">\n <div>{{ ts_start_str }}</div>\n <div>{{ fullDateStr }}</div>\n <div>{{ ts_end_str }}</div>\n </div>\n <div class=\"noselect\">\n <div id=\"scrubber\" noselect>\n <div id=\"canvasWrap\" ref=\"canvasWrap\">\n <canvas id=\"segmentsCanvas\" class=\"canvas\" ref=\"segmentsCanvas\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio,0)\"\n :height=\"_cpCanvasScaler(viewportHeight-2, pixelRatio,0)\"\n :style=\"canvasStyle\"></canvas>\n <canvas id=\"annotationCanvas\" class=\"canvas\" ref=\"annotationCanvas\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(viewportHeight-2, pixelRatio,0)\"\n :style=\"canvasStyle\"></canvas>\n <canvas id=\"iCanvas\" class=\"canvas\" ref=\"iCanvas\" :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\" :height=\"_cpCanvasScaler(viewportHeight, pixelRatio,0)\"\n @click=\"_onTap\"\n v-on:mousemove=\"_onMouseMove\"\n v-on:mousedown=\"_onMouseDown\"\n v-on:mouseup=\"_onMouseUp\"\n v-on:mouseenter=\"_onMouseEnter\"\n v-on:mouseout=\"_onMouseOut\"\n :style=\"iCanvasStyle\"></canvas>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n import { map } from 'ramda'\n import ViewerActiveTool from '@/mixins/viewer-active-tool'\n import Request from '@/mixins/request'\n export default {\n name: 'TimeseriesScrubber',\n mixins: [\n Request,\n ViewerActiveTool\n ],\n props: {\n ts_start: Number,\n ts_end: Number,\n cWidth: Number,\n constants: Object,\n start: Number,\n duration: Number,\n cursorLoc:Number,\n labelWidth:Number\n },\n computed: {\n activeViewer: function() {\n return this.$store.getters.activeViewer\n },\n viewerChannels: function() {\n return this.$store.getters.viewerChannels\n },\n viewerAnnotations: function() {\n return this.$store.getters.viewerAnnotations\n },\n ts_start_str: function() {\n return this.getUTCTimeString(this.ts_start)\n },\n ts_end_str: function() {\n return this.getUTCTimeString(this.ts_end)\n },\n fullDateStr: function(){\n if (this.hoverTxt !== '') {\n return this.hoverTxt;\n } else if(this.start > 0) {\n const d = new Date(this.start/1000).toUTCString();\n return d.substring(0, d.length - 3);\n }\n return ''\n },\n canvasStyle: function() {\n return {\n width: this.labelWidth + this.cWidth - 8 + 5 +'px',\n height: '28px'\n }\n },\n iCanvasStyle: function() {\n return {\n width: this.labelWidth + this.cWidth - 8 + 5 +'px',\n height: '30px'\n }\n },\n scrubberCWidth: function() {\n return this.cWidth + this.labelWidth - 8 + 5\n },\n period: function() {\n return Math.floor((this.ts_end - this.ts_start) / this.cWidth)\n }\n },\n watch: {\n start: function() {\n this.render()\n },\n duration: function() {\n this.render()\n },\n cWidth: function() {\n this.render()\n }\n },\n data: function () {\n return {\n pixelRatio: 1,\n scrubberHeight: 28,\n viewportHeight: 30,\n mouseDown: false,\n hoverTxt:'',\n pointerMode: 'point',\n patternCnvs: null,\n annotations: [],\n segmentSpans: [],\n segments:[]\n }\n },\n mounted: function () {\n this.segments = new Array(5000);\n this.segments = this.segments.fill(0, 0, 4999);\n this.pixelRatio = this.getScreenPixelRatio()\n this.patternCnvs = this.createPinstripeCanvas()\n this.renderViewPort()\n },\n methods: {\n _cpCanvasScaler: function(sz, pixelRatio, offset) {\n return pixelRatio * (sz + offset);\n },\n getScreenPixelRatio: function() {\n let ctx = this.$refs.iCanvas.getContext('2d');\n let dpr = window.devicePixelRatio || 1\n let bsr = ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1;\n return dpr / bsr;\n },\n getUTCTimeString: function(d) {\n if(d > 0) {\n d = d / 1000;\n d = new Date(d);\n return ( ('0' + d.getUTCHours()).slice(-2) + ':' +\n ('0' + d.getUTCMinutes()).slice(-2) + ':' + ('0' + d.getUTCSeconds()).slice(-2) );\n }\n },\n getUTCDateString: function(d, s) {\n if (s !== '') {\n return s;\n } else if(d > 0) {\n d = new Date(d/1000);\n return ( d.toDateString() );\n }\n },\n // ------- Mouse Interactions -------\n _onTap: function(e) {\n const cCoord = this.$refs.iCanvas.getBoundingClientRect();\n const cClickOffset = e.clientX - cCoord.left;\n const realStart = ( cClickOffset/this.scrubberCWidth ) * (this.ts_end - this.ts_start );\n this.$emit('setStart', realStart + this.ts_start)\n },\n _onMouseMove: function(e) {\n if (!this.mouseDown) {\n const cCoord = this.$refs.iCanvas.getBoundingClientRect();\n const cHoverOffset = e.clientX - cCoord.left;\n const cEnd = this.cStart + this.cDuration;\n const oldMode = this.pointerMode;\n const inResizeArea = cHoverOffset > this.cStart - 10 && cHoverOffset < cEnd + 10;\n if (inResizeArea) {\n this.pointerMode = 'drag';\n this.$refs.iCanvas.setAttribute('dragme', true);\n this.$refs.iCanvas.removeAttribute('resizeme');\n } else {\n this.pointerMode = 'point';\n this.$refs.iCanvas.removeAttribute('dragme');\n this.$refs.iCanvas.removeAttribute('resizeme');\n }\n //update hoverTxt\n const realStart = ( (cHoverOffset)/this.cWidth ) * (this.ts_end - this.ts_start ) + this.ts_start;\n const d = new Date(realStart/1000).toUTCString();\n this.hoverTxt = d.substring(0, d.length - 3);\n if (oldMode !== this.pointerMode) {\n this.render();\n }\n } else {\n // is Dragging\n const _dx = e.clientX - this.clickX\n const realStart = ( (_dx)/this.cWidth ) * (this.ts_end - this.ts_start );\n const setStart = this.startDragTime + realStart;\n this.$emit('setStart', setStart)\n const d = new Date((realStart+ this.ts_start)/1000);\n this.hoverTxt = d.toUTCString();\n }\n },\n _onMouseUp: function() {\n this.mouseDown = false;\n },\n _onMouseDown: function(e) {\n this.mouseDown = true;\n this.clickX = e.clientX\n this.startDragTime = this.start;\n },\n _onMouseEnter: function() {\n this.mouseDown = false;\n },\n _onMouseOut: function() {\n this.hoverTxt = '';\n },\n // -------\n // ------- Annotation Functions -------\n initSegmentSpans: function() {\n // GET SEGMENTS AND GAPS\n /*let fetchSpan = Math.min(this.constants['SEGMENTSPAN'], (this.ts_end - this.ts_start));\n for (let i=0; i<this.viewerChannels.length; i++) {\n this._requestSegmentSpan(this.viewerChannels[i].id,\n i, this.ts_start, (this.ts_start + fetchSpan), 0)\n }*/\n },\n getAnnotations: function() {\n const layerIds = map(obj => obj.id, this.viewerAnnotations);\n const baseUrl = `${this.config.apiUrl}/timeseries/${this.activeViewer.content.id}/annotations/window`;\n var url = baseUrl + `?api_key=${this.$store.state.userToken}&aggregation=count&start=${this.ts_start}&end=${this.ts_end}&period=${this.period}&mergePeriods=true`\n for (let i in layerIds) {\n url = url + `&layerIds=${layerIds[i]}`\n }\n this.sendXhr(url)\n .then(resp => {\n console.log(resp)\n this.annotations = resp;\n this.render();\n })\n },\n // -------\n // ------- Render Functions -------\n render: function() {\n this.renderViewPort();\n this.renderTimelimeLine();\n this.renderSegments();\n },\n renderViewPort: function() {\n this.$nextTick(() => {\n const ctx = this.$refs.iCanvas.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.clearRect(0, 0, this.cWidth, this.viewportHeight);\n this.cStart = ( (((this.start - this.ts_start)/(this.ts_end-this.ts_start)) * this.cWidth ) + 0.5) |0;\n this.cDuration = ((((this.duration)/(this.ts_end-this.ts_start)) * this.cWidth) +0.5) |0;\n // Viewport\n ctx.fillStyle = 'rgb(80,80,80)';\n ctx.strokeStyle= 'rgb(80,80,80)';\n ctx.strokeRect(this.cStart +0.5, 0.5, this.cDuration, this.viewportHeight-1);\n ctx.fillRect(this.cStart - 2, (this.viewportHeight/2 - 5) | 0, 2, 10);\n ctx.fillRect(this.cStart + this.cDuration + 1, (this.viewportHeight/2 - 5) | 0, 2, 10);\n // // Cursor\n const cursorCLoc = this.cStart + (this.cursorLoc*this.cDuration);\n if( cursorCLoc > (this.cStart +0.5) ) {\n ctx.strokeStyle = 'red';\n ctx.beginPath();\n ctx.moveTo(cursorCLoc, 0);\n ctx.lineTo(cursorCLoc, this.viewportHeight-1)\n ctx.stroke();\n }\n })\n },\n renderSegments: function() {\n this.$nextTick(() => {\n const ctx = this.$refs.segmentsCanvas.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.fillStyle = ctx.createPattern(this.patternCnvs, 'repeat');\n ctx.clearRect(0, 0, this.cWidth, this.viewportHeight);\n for (let i = 1; i < this.segmentSpans.length; i += 2) {\n const xStart = (this.cWidth * this.segmentSpans[i]) / 5000;\n const xEnd = (this.cWidth * this.segmentSpans[i + 1]) / 5000;\n ctx.fillRect(xStart, 2, xEnd - xStart, this.viewportHeight - 6)\n }\n })\n },\n renderTimelimeLine: function() {\n const ctx = this.$refs.annotationCanvas.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.clearRect(0, 0, this.cWidth, this.scrubberHeight);\n const xStart = this.ts_start;\n const xEnd = this.ts_end;\n const annotationLayers = this.annotations;\n let annotationIndex = 0;\n const layerSpacing = 0;\n const layerHeight = Math.floor(((this.scrubberHeight-2) / Object.keys(annotationLayers).length - layerSpacing));\n const annPanelLayers = this.viewerAnnotations;\n let color = 'rgb(0,0,0)';\n for ( const annotation in annotationLayers ) {\n // eslint-disable-next-line\n if (annotationLayers.hasOwnProperty(annotation)) {\n // find color\n for (let i=0; i<annPanelLayers.length; i++) {\n if (annPanelLayers[i].id === parseInt(annotation)) {\n annotationIndex = i;\n color = annPanelLayers[i].color;\n break;\n }\n }\n this.plotAnnotations(ctx, xStart, xEnd, layerSpacing, layerHeight, annotationLayers[annotation], annotationIndex, color);\n }\n }\n },\n plotAnnotations: function(ctx, xStart, xEnd, layerSpacing, layerHeight, annotations, rank, color) {\n this.$nextTick(() => {\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.fillStyle = color;\n for (let i = 0; i < annotations.length; i++) {\n if (annotations[i].value > 0) {\n const xPosStart = ((annotations[i].start - xStart) / (xEnd - xStart)) * this.cWidth;\n const xPosEnd = ((annotations[i].end - xStart) / (xEnd - xStart)) * this.cWidth;\n let cw = xPosEnd - xPosStart;\n if (cw < 1) {\n cw = 1;\n }\n const yPos = 1 + rank * ((layerHeight - 1) + layerSpacing) + rank;\n ctx.fillRect(xPosStart, yPos, cw, layerHeight);\n }\n }\n })\n },\n /** Creates a canvas filled with a 45-degree pinstripe.\n * @returns the filled HTMLCanvasElement. */\n createPinstripeCanvas: function() {\n const patternCanvas = document.createElement('canvas');\n const pctx = patternCanvas.getContext('2d', { antialias: true });\n const colour = 'rgb(220,220,220)';\n const CANVAS_SIDE_LENGTH = 5;\n const WIDTH = CANVAS_SIDE_LENGTH;\n const HEIGHT = CANVAS_SIDE_LENGTH;\n const DIVISIONS = 10;\n patternCanvas.width = WIDTH;\n patternCanvas.height = HEIGHT;\n pctx.fillStyle = colour;\n // Top line\n pctx.beginPath();\n pctx.moveTo(0, HEIGHT * (1 / DIVISIONS));\n pctx.lineTo(WIDTH * (1 / DIVISIONS), 0);\n pctx.lineTo(0, 0);\n pctx.lineTo(0, HEIGHT * (1 / DIVISIONS));\n pctx.fill();\n // Middle line\n pctx.beginPath();\n pctx.moveTo(WIDTH, HEIGHT * (1 / DIVISIONS));\n pctx.lineTo(WIDTH * (1 / DIVISIONS), HEIGHT);\n pctx.lineTo(0, HEIGHT);\n pctx.lineTo(0, HEIGHT * ((DIVISIONS - 1) / DIVISIONS));\n pctx.lineTo(WIDTH * ((DIVISIONS - 1) / DIVISIONS), 0);\n pctx.lineTo(WIDTH, 0);\n pctx.lineTo(WIDTH, HEIGHT * (1 / DIVISIONS));\n pctx.fill();\n // Bottom line\n pctx.beginPath();\n pctx.moveTo(WIDTH, HEIGHT * ((DIVISIONS - 1) / DIVISIONS));\n pctx.lineTo(WIDTH * ((DIVISIONS - 1) / DIVISIONS), HEIGHT);\n pctx.lineTo(WIDTH, HEIGHT);\n pctx.lineTo(WIDTH, HEIGHT * ((DIVISIONS - 1) / DIVISIONS));\n pctx.fill();\n return patternCanvas;\n },\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .timeseries-scrubber {\n //background: $white;\n padding: 0px 8px 8px 8px;\n }\n .dateWrap {\n padding: 8px 0;\n font-size: 12px;\n text-transform: uppercase;\n color: #71747C;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n }\n #scrubber {\n background: white;\n box-shadow: 0 0 0px 1px #c5c5c5 inset;\n box-sizing: border-box;\n position: relative;\n display: flex;\n }\n #canvasWrap {\n height: 30px;\n position: relative;\n }\n .noselect {\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Chrome/Safari/Opera */\n -khtml-user-select: none; /* Konqueror */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently not supported by any browser */\n }\n .canvas {\n position: absolute;\n top: 0;\n left: 0;\n cursor: pointer;\n }\n .canvas[dragme] {\n cursor: move;\n }\n .canvas[resizeme] {\n cursor: ew-resize;\n }\n #annotationCanvas {\n margin-top: 1px;\n }\n #iCanvas {\n margin-left: 0px\n }\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSScrubber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSScrubber.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-style-loader/index.js??clonedRuleSet-62[0].rules[0].use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSScrubber.vue?vue&type=style&index=0&id=989235a2&lang=scss&scoped=true&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./TSScrubber.vue?vue&type=template&id=989235a2&scoped=true&\"\nimport script from \"./TSScrubber.vue?vue&type=script&lang=js&\"\nexport * from \"./TSScrubber.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TSScrubber.vue?vue&type=style&index=0&id=989235a2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"989235a2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timeseries-viewer-canvas\"},[_c('div',{attrs:{\"id\":\"canvasWrapper\"}},[_c('timeseries-plot-canvas',{ref:\"plotCanvas\",attrs:{\"c-width\":_vm.cWidth,\"c-height\":_vm.cHeight,\"start\":_vm.start,\"ts_start\":_vm.tsStart,\"ts_end\":_vm.tsEnd,\"duration\":_vm.duration,\"constants\":_vm.constants,\"rs-period\":_vm.rsPeriod,\"global-zoom-mult\":_vm.globalZoomMult},on:{\"channelsInitialized\":_vm.channelsInitialized,\"setGlobalZoom\":_vm.setGlobalZoom}},[_c('canvas',{ref:\"axisArea\",staticClass:\"canvas\",style:(_vm.canvasStyle1),attrs:{\"slot\":\"axisCanvas\",\"id\":\"axisArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.cHeight, _vm.pixelRatio,0)},slot:\"axisCanvas\"}),_c('canvas',{ref:\"annArea\",staticClass:\"canvas\",style:(_vm.canvasStyle2),attrs:{\"slot\":\"annCanvas\",\"id\":\"annArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.pHeight, _vm.pixelRatio,0)},slot:\"annCanvas\"})]),_c('canvas',{ref:\"cursorArea\",staticClass:\"canvas\",style:(_vm.canvasStyle3),attrs:{\"id\":\"cursorArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth + 5, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.cHeight, _vm.pixelRatio,0)}}),_c('canvas',{ref:\"iArea\",staticClass:\"canvas\",style:(_vm.canvasStyle1),attrs:{\"id\":\"iArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.cHeight, _vm.pixelRatio,0),\"tabindex\":\"-1\"},on:{\"wheel\":_vm._onMouseWheel,\"mousemove\":_vm._onMouseMove,\"mousedown\":_vm._onMouseDown,\"mouseup\":_vm._onMouseUp,\"mouseout\":_vm._onMouseOut,\"mouseenter\":_vm._onMouseEnter}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timeseries-plot-canvas\"},[_c('canvas',{ref:\"blurArea\",staticClass:\"canvas\",style:(_vm.canvasStyle),attrs:{\"id\":\"blurArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.pHeight, _vm.pixelRatio, 0)}}),_vm._t(\"axisCanvas\"),_vm._t(\"annCanvas\"),_c('canvas',{ref:\"plotArea\",staticClass:\"canvas\",style:(_vm.canvasStyle),attrs:{\"id\":\"plotArea\",\"width\":_vm._cpCanvasScaler(_vm.cWidth, _vm.pixelRatio, 0),\"height\":_vm._cpCanvasScaler(_vm.pHeight, _vm.pixelRatio, 0)}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","<template>\n <div class=\"timeseries-plot-canvas\">\n <canvas id=\"blurArea\" class=\"canvas\" ref=\"blurArea\" \n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\" \n :height=\"_cpCanvasScaler(pHeight, pixelRatio, 0)\" \n :style=\"canvasStyle\" />\n <slot name=\"axisCanvas\">\n </slot>\n <slot name=\"annCanvas\">\n </slot>\n <canvas id=\"plotArea\" class=\"canvas\" ref=\"plotArea\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(pHeight, pixelRatio, 0)\"\n :style=\"canvasStyle\">\n </canvas>\n </div>\n</template>\n<script>\n import {\n compose,\n head,\n propEq,\n propOr,\n path,\n findIndex,\n sum,\n map,\n take,\n sortBy,\n prop\n } from 'ramda'\n\n import protobuf from 'protobufjs';\n\n export default {\n name: 'TimeseriesPlotCanvas',\n\n props: {\n cHeight: Number,\n cWidth: Number,\n start: Number,\n duration: Number,\n constants: Object,\n rsPeriod: Number,\n ts_start: Number,\n ts_end: Number,\n globalZoomMult: Number,\n },\n watch: {\n rsPeriod: function() {\n this.invalidate();\n this.requestedPages.clear();\n },\n viewerMontageScheme: function () {\n this.sendMontageMessage(this.viewerMontageScheme)\n }\n\n },\n computed: {\n activeViewer: function() {\n return this.$store.getters.activeViewer\n },\n viewerChannels: function() {\n return this.$store.getters.viewerChannels\n },\n viewerMontageScheme: function() {\n return this.$store.getters.viewerMontageScheme\n },\n canvasStyle: function() {\n return {\n width: this.cWidth + 'px',\n height: this.pHeight + 'px'\n }\n },\n pHeight: function () {\n return this.cHeight - 20\n },\n timeSeriesUrl: function() {\n return `wss://${process.env.VUE_APP_PENNSIEVE_API_LOCATION}/streaming/discover/ts/query?session=` + this.userToken + '&package=' + encodeURIComponent(this.packageId)\n },\n packageId: function() {\n return propOr('', 'packageId', this.activeViewer)\n },\n userToken: function() {\n return this.$store.getters.userToken\n }\n },\n data: function () {\n return {\n proto: {\n 'nested': {\n 'Event': {\n 'fields': {\n 'source': {\n 'type': 'string',\n 'id': 1\n },\n 'pageStart': {\n 'type': 'uint64',\n 'id': 2\n },\n 'pageEnd': {\n 'type': 'uint64',\n 'id': 3\n },\n 'samplePeriod': {\n 'type': 'double',\n 'id': 4\n },\n 'pointsPerEvent': {\n 'type': 'uint64',\n 'id': 5\n },\n 'isResampled': {\n 'type': 'bool',\n 'id': 6\n },\n 'data': {\n 'rule': 'repeated',\n 'type': 'double',\n 'id': 7\n },\n 'times': {\n 'rule': 'repeated',\n 'type': 'uint64',\n 'id': 8\n },\n 'spikeGroup': {\n 'rule': 'repeated',\n 'type': 'uint32',\n 'id': 9\n }\n }\n },\n 'Instruction': {\n 'fields': {\n 'command': {\n 'type': 'string',\n 'id': 1\n },\n 'argument': {\n 'type': 'string',\n 'id': 2\n }\n }\n },\n 'Segment': {\n 'fields': {\n 'startTs': {\n 'type': 'uint64',\n 'id': 1\n },\n 'source': {\n 'type': 'string',\n 'id': 2\n },\n 'lastUsed': {\n 'type': 'uint64',\n 'id': 3\n },\n 'unit': {\n 'type': 'string',\n 'id': 4\n },\n 'samplePeriod': {\n 'type': 'double',\n 'id': 5\n },\n 'requestedSamplePeriod': {\n 'type': 'double',\n 'id': 6\n },\n 'pageStart': {\n 'type': 'uint64',\n 'id': 7\n },\n 'isMinMax': {\n 'type': 'bool',\n 'id': 8\n },\n 'unitM': {\n 'type': 'uint64',\n 'id': 9\n },\n 'segmentType': {\n 'type': 'string',\n 'id': 10\n },\n 'nrPoints': {\n 'type': 'uint64',\n 'id': 11\n },\n 'data': {\n 'rule': 'repeated',\n 'type': 'double',\n 'id': 12\n },\n 'pageEnd': {\n 'type': 'uint64',\n 'id': 13\n },\n 'channelName': {\n 'type': 'string',\n 'id': 14\n }\n }\n },\n 'IngestSegment': {\n 'fields': {\n 'channelId': {\n 'type': 'string',\n 'id': 1\n },\n 'startTime': {\n 'type': 'uint64',\n 'id': 2\n },\n 'samplePeriod': {\n 'type': 'double',\n 'id': 3\n },\n 'data': {\n 'rule': 'repeated',\n 'type': 'double',\n 'id': 4\n }\n }\n },\n 'TimeSeriesMessage': {\n 'fields': {\n 'segment': {\n 'type': 'Segment',\n 'id': 3\n },\n 'event': {\n 'rule': 'repeated',\n 'type': 'Event',\n 'id': 4\n },\n 'instruction': {\n 'type': 'Instruction',\n 'id': 5\n },\n 'ingestSegment': {\n 'type': 'IngestSegment',\n 'id': 6\n },\n 'totalResponses': {\n 'type': 'uint64',\n 'id': 7\n },\n 'responseSequenceId': {\n 'type': 'uint64',\n 'id': 8\n }\n }\n }\n }\n },\n pixelRatio: 1,\n requestedPages: Object,\n chData: [],\n aSyncrequests: [],\n aSyncPreRequests: [],\n pageSize: 15000000,\n viewData: {\n start: 0,\n duration: 0,\n channels: []\n },\n renderCounter: 0,\n lastDataRender: null,\n lastViewPageRequest: null,\n prefetchTimer: Object,\n prefetchDelay: 100,\n autoScale:0,\n channelsReady:false,\n prevStart:0,\n prevDuration:0,\n websocket: Object,\n initWebsocket: true,\n segment: null,\n timeSeriesMessage:null,\n timeSeriesError:null,\n channelsList:null,\n catchUpRequestPages:null,\n }\n },\n\n mounted: function () {\n\n this.requestedPages = new Map();\n this.chData = [];\n this.aSyncrequests = [];\n this.throttledGetRenderData = this.throttle(this.renderDataOnMessage, 250, {leading:false});\n this.throttledDataRender = this.throttle(this._renderData, 50);\n\n // Timer loop to prefetch pages --> initiated in requestData()\n const that = this;\n this.preFetchRequestFnc = function() {\n const nrPending = that.aSyncPreRequests.length;\n if (nrPending > 0) {\n if (that.requestedPages.size < 3) {\n that.requestDataFromServer([that.aSyncPreRequests[0]]);\n that.aSyncPreRequests.splice(0, 1);\n }\n } else {\n clearInterval(that.prefetchTimer);\n that.isPrefetching = false;\n }\n }\n\n const protobufInstance = protobuf.Root.fromJSON(this.proto)\n this.segment = protobufInstance.Segment;\n this.timeSeriesMessage = protobufInstance.TimeSeriesMessage\n this.timeSeriesError = protobufInstance.TimeSeriesError\n this.channelsList = protobufInstance.ChannelsList\n\n this.requestedPages = new Map();\n this.openWebsocket()\n\n },\n\n methods: {\n\n throttle: function(func, wait, options) {\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n if (!options) options = {};\n const later = function() {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n },\n viewSegmComparator: function(a, b) {\n if (a.startTs< b.startTs) return -1;\n if (a.startTs > b.startTs) return 1;\n return 0;\n },\n _cpCanvasScaler: function(sz, pixelRatio, offset) {\n return pixelRatio * (sz + offset);\n },\n getScreenPixelRatio: function() {\n let ctx = this.$refs.plotArea.getContext('2d');\n let dpr = window.devicePixelRatio || 1\n let bsr = ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1;\n\n return dpr / bsr;\n },\n getChannelId: function(channel) {\n const isViewingMontage = this.viewerMontageScheme !== 'NOT_MONTAGED'\n let id = propOr('', 'id', channel)\n let list = []\n if (isViewingMontage) {\n list = id.split('_')\n id = list.length ? head(list) : id // remove channel name from id\n }\n return id\n },\n initChannels: function(channels) {\n const chObjects = [];\n if (channels.length > 0) {\n\n const channelConfig = []\n\n for (let ic=0; ic<channels.length; ic++) {\n const curC = channels[ic].content;\n const curId = this.getChannelId(curC)\n const curChannel = {\n id: curId,\n label: curC.name,\n type: curC.channelType,\n segments: [],\n start: curC.start,\n end: curC.end,\n sampleFreq: curC.rate,\n unit: curC.unit,\n gaps: [], //channels[ic].gaps\n virtualId: curC.virtualId\n };\n\n const label = curChannel.label.split(/[ _-]/, 3)\n const label_prefix = label[0];\n let label_value = ( (label.length > 1) ? parseFloat(label[1]) : 0);\n label_value = ( (isNaN(label_value) ? label[1] : label_value));\n\n channelConfig.push({\n id: curChannel.id, // id of channel\n type: curChannel.type, // Type of channel (CONTINUOUS, UNIT)\n label: curChannel.label, // Label of channel\n label_split: label, // array of label segments\n label_prefix: label_prefix, // prefix for label\n label_value: label_value, // value for label\n dataSegments: [], // vector of segments rnages (start end ...)\n rank: ic, // rank for determining display order\n visible: true, // channel visible in viewer?\n plotAgainst: null, // for montaging\n rowBaseline: null, // offset for centering\n rowScale: 1, // for individual zoom\n rowAdjust: 0, // offset for centering\n selected: false, // Item is selected\n hover: false, // User is hovering over channel\n unit: curC.unit, // unit of data\n sf: curC.rate, // sampling rate\n filter: {}, // filter object (type, var0, var1, notch)\n hideFilter: true,\n isEditing: false,\n virtualId: curChannel.virtualId\n });\n\n chObjects.push(curChannel);\n }\n\n channelConfig.sort(function(a, b) {\n\n // If split into more than 2 segments, just sort on entire string\n if (a.label_split.length > 2 || b.label_split.length > 2) {\n return (a.label > b.label) ? 1 : ((b.label > a.label) ? -1 : 0);\n }\n\n // If prefix is similar, sort on value\n if (a.label_prefix === b.label_prefix) {\n return (a.label_value > b.label_value) ? 1 : ((b.label_value > a.label_value) ? -1 : 0);\n }\n\n // Sort on prefix\n return (a.label_prefix > b.label_prefix) ? 1 : ((b.label_prefix > a.label_prefix) ? -1 : 0);\n } );\n\n // Update rank on sorted channels\n for (let i = 0; i < channelConfig.length; i++) {\n channelConfig[i].rank = i;\n }\n\n this.$store.dispatch('setChannels', channelConfig)\n this.$emit('channelsInitialized', channels)\n\n }\n\n this.computeSummary(chObjects)\n this.chData = chObjects;\n this.autoScale = channels.length;\n this.channelsReady = true;\n\n return Promise.resolve()\n\n },\n computeSummary: function(channels) {\n\n if (channels.length === 0) {\n this.globalGaps = null\n return\n }\n\n this.globalGaps = path(['gaps', 0], channels);\n\n },\n // Find segment that contains timepoint val --> search over startPage property\n segmIndexOf: function(segmArray, val, first, startAtIndex) {\n\n if (!startAtIndex) {\n startAtIndex = 0;\n }\n let index;\n index = this._indexOfStart(segmArray, val, startAtIndex, segmArray.length - 1, first);\n\n if (index === -1) {\n index = 0;\n } else if (index < 0) {\n index = -index - 2;\n }\n return index;\n },\n\n // Find segment offset in segment array\n _indexOfStart: function(segmArray, val, min, max, firstIndex) {\n\n /*\n Return code status:\n Positive number: first index of the value\n Negative 1 (-1): belongs before the start of the dataset\n Other negative value: belongs after (-value - 2)\n */\n if (max < min) {\n let pred;\n if (max >= 0) {\n //return -max - 2;\n pred = max;\n } else {\n //return max;\n pred = -max - 2;\n }\n if (pred === -1) {\n return pred;\n }\n const predVal = segmArray[pred].pageStart;\n while (pred >= 0 && segmArray[pred].pageStart === predVal) {\n pred--;\n }\n pred++;\n return -pred - 2;\n }\n\n const mid = parseInt((min + max) / 2);\n\n if (segmArray[mid].pageStart > val) {\n return this._indexOfStart(segmArray, val, min, mid - 1, firstIndex);\n } else if (segmArray[mid].pageStart < val) {\n return this._indexOfStart(segmArray, val, mid + 1, max, firstIndex);\n } else {\n let index = mid;\n if (firstIndex) {\n while (index >= 0 && segmArray[index].pageStart === val) {\n index--;\n }\n index++;\n } else {\n while (index < segmArray.length && segmArray[index].pageStart === val) {\n index++;\n }\n index--;\n }\n return index;\n }\n },\n // Initiate render of data --> check visible channels and create viewData object.\n generatePoints: function() {\n\n // If not initialized --> return\n if (!this.viewerChannels) {\n return\n }\n\n this.viewData.start = this.start;\n this.viewData.duration = this.duration;\n\n // Get hidden channels and view-ids\n const hiddenChannels = [];\n const showChannels = [];\n const curChanViewIds = [];\n\n // Get IDS from channelConfig\n for (let i = 0; i < this.viewerChannels.length; i++) {\n const curConfig = this.viewerChannels[i];\n const id = this.getChannelId(curConfig.id)\n if (!curConfig.visible) {\n hiddenChannels.push(id);\n }\n curChanViewIds.push(id);\n }\n\n // Get IDS from viewData channels\n const viewDataChIds = [];\n for (let i = 0; i< this.viewData.channels.length; i++) {\n const channel = this.viewData.channels[i]\n const channelId = this.getChannelId(channel)\n viewDataChIds.push(channelId);\n }\n\n // Iterate over all channels and populate channelConfig\n const remViewChannels = [];\n for (let iChan = 0; iChan < this.chData.length; iChan++) {\n const curChan = this.chData[iChan];\n const curChanId = this.getChannelId(curChan)\n // Only return visible channels\n if (hiddenChannels.indexOf(curChanId) >= 0) {\n remViewChannels.push(curChanId);\n } else {\n showChannels.push(curChan);\n }\n }\n\n // removing channels from viewData when not shown.\n // Iterate backwards to prevent issues of indexing\n remViewChannels.sort();\n for (let i=(remViewChannels.length-1); i>=0; i--) {\n this.splice('viewData.channels', remViewChannels[i], 1);\n viewDataChIds.splice(remViewChannels[i], 1);\n }\n\n // Get viewDataChannels\n for (let i=0; i< showChannels.length; i++) {\n const curShowChannel = showChannels[i]\n const showChannelId = this.getChannelId(curShowChannel);\n const idx = viewDataChIds.indexOf(showChannelId);\n if (idx < 0 ) {\n this.viewData.channels.push({\n id: showChannelId,\n mean: null,\n firstRenderedIndex: 0,\n lastRenderedIndex: 0,\n blocks: []\n });\n\n }\n }\n\n // Request data on visible channels\n // Only request when pageForward key is released\n // if (!this.spacePressed && this.selectedTab === 'timeseries') {\n this.requestData(showChannels, this.start, this.duration);\n // }\n },\n // Getting data from cache and queue new reqeusts from server\n requestData: function(showChannels, start, duration ) {\n\n // If number of requestedpages is getting to big, reset websocket connection\n\n // TODO: BRING BACK\n // if (this.requestedPages.size > 20 ) {\n // clearTimeout(this.preFetchTime);\n // this.aSyncPreRequests = [];\n // this.reRequestPages();\n // this.openWebsocket();\n // return;\n // }\n\n\n // Init asnch requests for viewport pages\n this.aSyncRequests = [];\n\n // If we rerender the same viewport (as data comes in) --> don't change prefetch\n let updatePrefetchPages = false\n if (this.prevStart !== start || this.prevDuration !== duration) {\n this.aSyncPreRequests= []\n updatePrefetchPages = true\n }\n\n this.prevStart = start;\n this.prevDuration = duration;\n\n // Timestamp of first value in viewport\n const viewDataChIds = [];\n for (let i=0; i<this.viewData.channels.length; i++) {\n const cChannel = this.viewData.channels[i]\n viewDataChIds.push(cChannel);\n }\n\n // Iterate over channels and populate aSyncRequests and/or chanViewData\n for (let iChan = 0; iChan < showChannels.length; iChan++) {\n let continuationSegment = false;\n const curChan = showChannels[iChan];\n const chDataSegments = curChan.segments;\n const curChanId = this.getChannelId(curChan)\n // Get dataView\n const idx = findIndex(propEq('id', curChanId), viewDataChIds)\n const chanViewData = this.viewData.channels[idx];\n chanViewData.blocks = [];\n\n // Populate chanViewData until all data in scope is added, or requested from server.\n // Independent of actual request, populate viewData by pageSegments.\n let curTime = Math.floor(start/ this.pageSize) * this.pageSize;\n if (curTime < 0) {\n curTime = 0;\n }\n\n let firstSegment = 0;\n let segmOffset = 0;\n if (chDataSegments.length > 0) {\n firstSegment = this.segmIndexOf(chDataSegments, curTime, true, 0);\n }\n\n // Iterate over blocks in viewport and add to chanView, or asyncRequests\n let endRequestTime = start + duration + this.constants['PREFETCHPAGES']*this.pageSize;\n if (endRequestTime > this.ts_end) {\n endRequestTime = this.ts_end;\n }\n\n let curSegm;\n if (chDataSegments.length > 0) {\n curSegm = chDataSegments[firstSegment];\n }\n while ((curTime < endRequestTime) || continuationSegment) {\n continuationSegment = false;\n\n // If current time == start of current page in cache then page is correct.\n let inRange = false;\n if (curSegm) {\n inRange = curTime >= curSegm.pageStart && curTime <= curSegm.pageEnd;\n }\n if (inRange) {\n /*\n Data is already cached\n */\n let isViewPage = curSegm.startTs < start + duration;\n\n segmOffset += 1;\n //curTime = curSegm.startTs + curSegm.nrPoints*curSegm.samplePeriod;\n curTime = curSegm.pageEnd;\n\n // Only add to viewData if segment is not a prefetch page\n if (isViewPage) {\n chanViewData.blocks.push(curSegm);\n }\n\n const prevPageTime = curSegm.pageStart;\n curSegm = chDataSegments[firstSegment + segmOffset];\n if (!this.isStreaming && curSegm && prevPageTime === curSegm.pageStart) {\n continuationSegment = true;\n }\n\n } else {\n /*\n Data is not present on client and needs to be requested from server\n */\n\n // Check if segment is already being requested\n if (this.requestedPages.get(curTime)) {\n curTime += this.pageSize;\n if (curSegm && curTime >= curSegm.pageEnd) {\n while (curSegm.pageEnd < curTime) {\n segmOffset += 1;\n curSegm = chDataSegments[firstSegment + segmOffset];\n if (!curSegm) {\n break;\n }\n }\n }\n continue;\n }\n\n let isViewPage = curTime < start + duration;\n\n\n // Check if requested range is already requested by other channel --> update\n let isAdded = false;\n if (isViewPage) {\n\n //remove from pre-request\n for (let iA in this.aSyncPreRequests) {\n if (this.aSyncPreRequests[iA].start === curTime) {\n this.aSyncPreRequests.splice(iA, 1);\n break;\n }\n }\n\n\n for (let iA in this.aSyncRequests) {\n if (this.aSyncRequests[iA].start === curTime) {\n this.aSyncRequests[iA].channels.push(curChan);\n isAdded = true;\n }\n }\n if (!isAdded) {\n this.aSyncRequests.push({\n channels: [curChan],\n start: curTime,\n duration: this.pageSize,\n isInViewport: true,\n pixelWidth: Math.ceil(this.rsPeriod)});\n }\n\n\n } else {\n if (updatePrefetchPages) {\n for (let iA in this.aSyncPreRequests) {\n if (this.aSyncPreRequests[iA].start === curTime) {\n this.aSyncPreRequests[iA].channels.push(curChan);\n isAdded = true;\n }\n }\n if(!isAdded) {\n this.aSyncPreRequests.push({\n channels: [curChan],\n start: curTime,\n duration: this.pageSize,\n isInViewport: false,\n pixelWidth: Math.ceil(this.rsPeriod)});\n }\n }\n }\n curTime += this.pageSize;\n if (curSegm && curTime >= curSegm.pageEnd) {\n while (curSegm.pageEnd < curTime) {\n segmOffset += 1;\n curSegm = chDataSegments[firstSegment + segmOffset];\n if (!curSegm) {\n break;\n }\n }\n }\n }\n }\n\n // Sort the ChannelView pages\n chanViewData.blocks.sort(this.viewSegmComparator);\n }\n\n // Directly request all pages that are in the viewport\n if (this.aSyncRequests.length > 0) {\n\n // order requests to make sure request with start in viewport is first.\n let firstRequest = 0;\n for (let i=0; i<this.aSyncRequests.length; i++) {\n if (this.aSyncRequests[i].start >= this.start && this.aSyncRequests[i].start < (this.start +this.duration)) {\n firstRequest = i;\n }\n }\n\n this.requestDataFromServer(this.aSyncRequests, firstRequest);\n this.lastViewPageRequest = Date.now();\n }\n\n // Requests Pre-fetch pages throttled, after viewport pages are available\n if (this.aSyncPreRequests.length > 0 ) {\n if (!this.isPrefetching) {\n this.prefetchTimer = setInterval(this.preFetchRequestFnc, 150);\n this.isPrefetching = true;\n }\n }\n },\n // Request pages from the Server\n requestDataFromServer: function(requests, firstRequest = 0) {\n // Do the actual Websocket requests.\n if (requests.length > 0) {\n\n const datasetEndTime = this.ts_end;\n // check for last block\n for(let i = 0; i < requests.length; i++) {\n let curRequest;\n if (i === 0 ) {\n curRequest = requests[firstRequest];\n } else if (i === firstRequest) {\n curRequest = requests[0];\n } else {\n curRequest = requests[i];\n }\n\n // check for last block\n let requestEndTime = curRequest.start + curRequest.duration;\n if (requestEndTime > datasetEndTime) {\n requestEndTime = datasetEndTime;\n }\n\n const ws = this._websocket;\n if (ws && ws.readyState === 1 && curRequest.pixelWidth>0) {\n\n const virtualChannels = curRequest.channels.map(channel => {\n return { id: channel.id, name: channel.label, }\n })\n\n const req = {\n session: this.userToken,\n minMax: true,\n startTime: curRequest.start,\n endTime: requestEndTime,\n packageId: this.packageId,\n pixelWidth: curRequest.pixelWidth,\n virtualChannels\n };\n const reqJson = JSON.stringify(req);\n ws.send(reqJson);\n\n // ChannelCounter will capture number of expected packages for each channel\n // This number is set when first package arrives.\n const nrChannels = curRequest.channels.length;\n const channelCounter = new Map();\n for (let j=0; j < nrChannels; j++) {\n channelCounter.set(curRequest.channels[j].id, NaN);\n }\n\n this.requestedPages.set(curRequest.start,\n { count: nrChannels,\n counter: channelCounter,\n subPageCount: NaN,\n ts: (Date.now() + 550),\n inViewport: curRequest.isInViewport} );\n\n } else {\n console.log('Websocket Closed')\n return false;\n }\n }\n this.aSyncrequests = [];\n }\n return true;\n },\n\n invalidate: function() {\n console.log('Invalidating')\n\n clearTimeout(this.preFetchTime);\n this.aSyncPreRequests = [];\n this.globalGaps = [];\n this.requestedPages.clear()\n for (let i=0; i<this.chData.length; i++) {\n this.chData[i].segments = [];\n }\n for (let i=0; i<this.viewData.channels.length; i++) {\n this.viewData.channels[i].blocks = [];\n }\n this.renderAll()\n },\n // _________________\n // RENDER METHODS\n\n renderAll: function() {\n this.generatePoints();\n this._renderData();\n },\n // computes the channelConfig properties based on current settings of viewer.\n _computeChannelViews: function() {\n\n // find channel order based on rank\n const mapped = this.viewerChannels.map(function(el, i) { return { index: i, value: el.rank }; })\n mapped.sort(function(a, b) {return +(a.value > b.value) || +(a.value === b.value) - 1;});\n const rankedIds = mapped.map(function(el) {return el.index;});\n const interChannelDist = this.pHeight / this.nrVisibleChannels;\n\n // update properties\n // TODO: Bring back\n let curIdx = 0;\n let updatedBaseline = null\n for (let i = 0; i < rankedIds.length; i++) {\n const curRow = this.viewerChannels[rankedIds[i]];\n const oldBaseline = curRow.rowBaseline\n if (curRow.visible) {\n updatedBaseline = (0.5*interChannelDist) + curIdx * interChannelDist;\n // curRow.rowBaseline = (0.5*interChannelDist) + curIdx * interChannelDist;\n curIdx++;\n }\n if (oldBaseline != updatedBaseline) {\n this.$store.dispatch('updateViewChannel', {\n channelId: curRow.id,\n data: {\n rowBaseline: updatedBaseline\n }\n })\n\n\n }\n\n }\n },\n // Compute canvas coordinates from datarray\n getPointCoords: function(channelInfo, channelData, isRedraw) {\n // Iterate over channelData on single channel ---> channelData are continuous in time\n let segmLength = channelData.blocks.length;\n\n // find mean of rendered data\n switch (channelInfo.type) {\n case 'UNIT':\n if (!isRedraw) {\n for (let iSegm = 0; iSegm < segmLength; iSegm++) {\n\n const curSeg = channelData.blocks[iSegm];\n\n // Iterate over points in segment and set cx, cy, and cy2\n const curCData = curSeg.cData;\n const curData = curSeg.parsedData;\n const xOffset = this.constants['XOFFSET'];\n\n // create local variable for speed\n const length = curSeg.parsedData[0].length;\n const cXArray = curCData[0];\n const cYArray = curCData[1];\n const cY2Array = curCData[2];\n const XArray = curData[0];\n\n // RowBaseline is offset of channel in viewPort\n const rowBaseLine = channelInfo.rowBaseline | 0;\n\n // satrtTime\n const startT = this.start;\n\n // Pixel Period\n const rsP = this.rsPeriod;\n\n const spikeHeigth = (this.cHeight / (2 * (this.nrVisibleChannels + 1))) |0;\n\n\n for(let iPoint = 0; iPoint < length; iPoint++) {\n\n cXArray[iPoint] = (((xOffset + (XArray[iPoint] - startT ) / (rsP))));\n cYArray[iPoint] = rowBaseLine - spikeHeigth;\n cY2Array[iPoint] = rowBaseLine + spikeHeigth;\n }\n }\n }\n break;\n\n case 'CONTINUOUS':\n // eslint-disable-next-line\n let totalPointsInMean = 0\n\n if (!isRedraw) {\n channelData.mean = 0;\n channelData.median = 0;\n for (let iSegm = 0; iSegm < segmLength; iSegm++) {\n const curBlock = channelData.blocks[iSegm];\n if (curBlock.nrValidPoints > 0) {\n channelData.mean = ( curBlock.sumElem +\n (totalPointsInMean * channelData.mean)) / (totalPointsInMean + curBlock.nrValidPoints);\n channelData.median = ( curBlock.median +\n (totalPointsInMean * channelData.median)) / (totalPointsInMean + curBlock.nrValidPoints);\n totalPointsInMean += curBlock.nrValidPoints;\n }\n }\n }\n\n for (var iSegm = 0; iSegm < segmLength; iSegm++) {\n\n const curSeg = channelData.blocks[iSegm];\n\n // Find startIndex viewPort\n let startIndex = Math.floor((this.start - curSeg.startTs ) / curSeg.samplePeriod);\n curSeg.renderStartIndex = ((startIndex > 0) ? startIndex : 0)\n\n let endIndex = Math.floor( ((this.start + this.duration) - (curSeg.startTs + (curSeg.nrPoints*curSeg.samplePeriod))/curSeg.samplePeriod ));\n curSeg.renderEndIndex = endIndex >= 0 ? (curSeg.nrPoints-1) : (curSeg.nrPoints + endIndex);\n\n // console.log('start: ' + this.start + \" duration: \" + this.duration)\n // console.log('render-start: ' + curSeg.renderStartIndex + \" render-end: \" + curSeg.renderEndIndex)\n\n // Iterate over points in segment and set cx, cy, and cy2\n const curCData = curSeg.cData;\n const curData = curSeg.parsedData;\n const curScale = this.globalZoomMult * channelInfo.rowScale;\n const xOffset = this.constants['XOFFSET'];\n\n // create local variable for speed\n const length = curSeg.parsedData[0].length;\n const cXArray = curCData[0];\n const cYArray = curCData[1];\n const cY2Array = curCData[2];\n const XArray = curData[0];\n const YArray = curData[1];\n const Y2Array = curData[2];\n\n // RowBaseline is offset of channel in viewPort\n const rowBaseLine = channelInfo.rowBaseline;\n\n // chDatMean is mean value of channel in viewport\n let chDatCenterer = 0;\n if (this.constants['USEMEDIAN']) {\n chDatCenterer = channelData.median;\n } else {\n chDatCenterer = channelData.mean;\n }\n\n const rsp = this.rsPeriod;\n const startT = this.start;\n for(let iPoint = 0; iPoint < length; iPoint++) {\n\n cXArray[iPoint] = (((xOffset + (XArray[iPoint] - startT ) / rsp)));\n // console.log('xOffset: ' + xOffset + \" XArray[ipoint]: \" + XArray[iPoint] + \" startT: \" + startT )\n // console.log('cXArray[ipoint]: ' + cXArray[iPoint])\n cYArray[iPoint] = (((rowBaseLine + (YArray[iPoint] - chDatCenterer) * curScale)));\n\n if (curSeg.isMinMax) {\n\n // If min and max are the same --> force 1 pixel line.\n if (YArray[iPoint] === Y2Array[iPoint]) {\n cY2Array[iPoint] = cYArray[iPoint] + 1;\n }else {\n cY2Array[iPoint] = (((rowBaseLine + (Y2Array[iPoint] - chDatCenterer) * curScale)));\n }\n }\n }\n }\n break;\n }\n },\n _renderData: function(isRedraw=false) {\n const ba = this.$refs.blurArea;\n const ctxb = ba.getContext('2d');\n ctxb.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctxb.fillStyle = 'rgb(220,220,220)'\n\n\n const pa = this.$refs.plotArea;\n const ctx = pa.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n\n // clear canvas\n ctx.clearRect(0, 0, this.cWidth, this.cHeight);\n ctxb.clearRect(0, 0, this.cWidth, this.cHeight);\n\n // update number of visible channels\n const nrVisCh = this.viewerChannels.reduce((accumulator, currentValue) => {\n if(currentValue.visible) {\n return accumulator + 1\n }\n return accumulator\n }, 0)\n\n this.nrVisibleChannels = nrVisCh;\n\n // Update label Div\n // this.$.labelTemplate.render();\n\n // Compute the channel views for returned data\n this._computeChannelViews();\n\n ctx.save();\n // let allTimes = 0;\n for (let ch in this.viewData.channels ) {\n // eslint-disable-next-line\n if (this.viewData.channels.hasOwnProperty(ch)) {\n // const chTimeStart = new Date().getTime();\n\n const curChannelData = this.viewData.channels[ch];\n\n // Get channelview for current channel\n let curChannelView = null;\n curChannelView = this.viewerChannels.find((elem) => {\n return elem.id === curChannelData.id\n })\n\n if(!curChannelView || !curChannelView.visible) {\n continue;\n }\n\n // Render segment placeholders\n const startT = this.start;\n const rsP = this.rsPeriod;\n const xOffset = this.constants['XOFFSET'];\n const blurHeight = Math.min( Math.round((this.cHeight/this.viewData.channels.length)- 2), 10);\n for (let i = 0; i < curChannelView.dataSegments.length; i+=2) {\n if (curChannelView.dataSegments[i + 1] < startT) {\n continue\n }\n if (curChannelView.dataSegments[i] > (startT + this.duration)) {\n break;\n }\n let xPos1 = Math.floor((((xOffset + (curChannelView.dataSegments[i] - startT ) / (rsP)))));\n let xPos2 = Math.floor((((xOffset + (curChannelView.dataSegments[i + 1] - startT ) / (rsP)))));\n let yPos = Math.floor(curChannelView.rowBaseline - blurHeight/2);\n ctxb.fillRect(xPos1, yPos, xPos2-xPos1, blurHeight);\n }\n\n // Get canvas points for current channel\n this.getPointCoords(curChannelView, curChannelData, isRedraw);\n\n // check Channel-Type\n const nrBlocks = curChannelData.blocks.length;\n let channelType = 'Continuous';\n if (nrBlocks) {\n channelType = curChannelData.blocks[0].type;\n }\n\n // draw channel segments.\n if(curChannelView.hover) {\n if (curChannelView.selected) {\n ctx.strokeStyle = 'rgba(39,96,255,0.70)';\n ctx.fillStyle = 'rgba(39,96,255,0.70)';\n } else {\n ctx.strokeStyle = 'rgba(39,96,255,0.60)';\n ctx.fillStyle = 'rgba(39,96,255,0.60)';\n }\n\n } else if(curChannelView.selected) {\n ctx.strokeStyle = 'rgb(39,96,255)';\n ctx.fillStyle = 'rgb(39,96,255)';\n } else if (channelType === 'Neural') {\n ctx.strokeStyle = 'rgb(120,120,120)';\n } else {\n ctx.strokeStyle = 'black';\n ctx.fillStyle = 'black';\n }\n\n let lastBlockEnd = null;\n let doPolFill = true;\n let realSamplePeriod = 1000000 * (1/curChannelView.sf);\n\n for (let block = 0; block < nrBlocks; block++) {\n\n const curBlock = curChannelData.blocks[block];\n\n if (curBlock.nrPoints === 0) {\n continue;\n }\n\n const curData = curBlock.cData;\n const curDataLength = curBlock.nrPoints;\n const xVec = curData[0];\n const yVec = curData[1];\n const y2Vec = curData[2];\n\n let startIndex = curBlock.renderStartIndex;\n let endIndex = curBlock.renderEndIndex\n\n ctxb.clearRect(Math.floor(xVec[startIndex]), Math.floor(curChannelView.rowBaseline - blurHeight/2), Math.ceil(xVec[endIndex]-xVec[startIndex] + 2), blurHeight+1);\n\n // Check if minMax and render data\n switch (curBlock.type) {\n case 'Continuous':\n case 'realtime':\n\n if (curBlock.isMinMax) {\n /*\n Data is served as min/max per timespan. Based on render settings\n we render polygon through points, or render vertical lines.\n Default is rendering polygon for accuracy.\n */\n\n if ((curBlock.samplePeriod / realSamplePeriod) < 3) {\n doPolFill = false;\n }\n\n if (doPolFill) {\n\n ctx.beginPath();\n\n // set cursor to starting point of polygon\n if (block > 0 ) {//&& !this.isStreaming){\n if(xVec[startIndex] < (lastBlockEnd.x + 3)) {\n ctx.moveTo(lastBlockEnd.x, lastBlockEnd.y);\n } else {\n ctx.moveTo(xVec[startIndex], yVec[startIndex]);\n }\n\n } else{\n ctx.moveTo(xVec[startIndex], yVec[startIndex]);\n }\n\n // Draw lines in segment\n for (let i = startIndex; i < (endIndex+1); i++) {\n ctx.lineTo(xVec[i], yVec[i]);\n }\n for (let i2 = (endIndex-1); i2 >= startIndex; i2--) {\n ctx.lineTo(xVec[i2], y2Vec[i2]);\n }\n\n // Draw line to end of last segment\n if (block > 0 ) {//&& !this.isStreaming){\n if(xVec[startIndex] < (lastBlockEnd.x + 3)) {\n ctx.lineTo(lastBlockEnd.x, lastBlockEnd.y2);\n }\n }\n\n ctx.closePath();\n ctx.fill();\n } else {\n\n ctx.beginPath();\n for (let i = startIndex; i < (endIndex+1); i++) {\n\n ctx.lineTo(xVec[i], yVec[i]);\n ctx.lineTo(xVec[i], y2Vec[i]);\n ctx.moveTo(xVec[i], yVec[i]);\n }\n ctx.stroke();\n }\n\n } else {\n if(block===0) {\n ctx.beginPath();\n ctx.moveTo(xVec[startIndex], yVec[startIndex]);\n } else if(xVec[startIndex] > (lastBlockEnd.x + 2)) {\n ctx.moveTo(xVec[startIndex], yVec[startIndex]);\n }\n for (let i = startIndex; i < (endIndex+1); i++) {\n ctx.lineTo(xVec[i], yVec[i]);\n }\n if (block===(nrBlocks-1)) {\n ctx.stroke();\n }\n\n }\n break;\n case 'Neural':\n\n /* is neural event data\n render timestamps as vertical lines. We are currently assuming\n single cluster of event --> single color. V2 should include\n coloring based on cluster number.\n */\n\n // Assume that the data is sorted by cluster\n ctx.beginPath();\n for (let i = 0; i < curDataLength; i++) {\n ctx.moveTo(xVec[i], yVec[i] );\n ctx.lineTo(xVec[i], y2Vec[i] );\n }\n ctx.stroke();\n\n\n }\n\n lastBlockEnd = {\n x: xVec[curDataLength -1],\n y: yVec[curDataLength -1],\n y2: y2Vec[curDataLength -1]\n }\n\n }\n\n // const chTimeEnd = new Date().getTime();\n // allTimes = allTimes +(chTimeEnd-chTimeStart);\n }\n }\n ctx.restore();\n // console.log('render time: ' + allTimes)\n },\n\n // Function that is called with the throttledDataRenderer\n renderDataOnMessage: function() {\n this.generatePoints();\n if (this.autoScale === 0) {\n this.autoScale--; // Set to -1 (no autoscale)\n this.autoScaleViewData();\n } else {\n this._renderData();\n }\n\n },\n // Method sets the global zoom multiplier based on the viewport data buffer.\n // This is called once when first page is available\n autoScaleViewData: function() {\n console.log('autoscale')\n let sumMedian = 0;\n let nrSeg = 0;\n let allChannels = this.viewData.channels;\n const allSums = []\n for (let i=0; i<allChannels.length; i++) {\n\n\n let curBlocks = allChannels[i].blocks;\n for (let j=0; j<curBlocks.length; j++) {\n if(curBlocks[j].type !== 'Continuous') {\n continue;\n }\n\n sumMedian += this.standardDeviation(curBlocks[j].parsedData[1]);\n nrSeg++;\n allSums.push({channel: i, sumMedian})\n }\n }\n const percentage = allSums.length * .80;\n const median = this.calcSumMedian(percentage, allSums);\n const avgStd = median / nrSeg;\n if (!isNaN(avgStd)) {\n this.$emit('setGlobalZoom', (this.cHeight / allSums.length) / (2 * avgStd))\n }\n },\n /**\n * Calculate median sum for list of channels\n * @param {Number} percentage\n * @param {Array} list\n * @returns {Number}\n */\n calcSumMedian: (percentage, list) => compose(\n sum,\n map(prop('sumMedian')),\n take(percentage),\n sortBy(prop('sumMedian'))\n )(list),\n\n // Helper function for autoscale\n standardDeviation: function(values) {\n const avg = this.average(values);\n\n const squareDiffs = values.map(function(value) {\n const diff = value - avg;\n const sqrDiff = diff * diff;\n return sqrDiff;\n });\n\n const avgSquareDiff = this.average(squareDiffs);\n\n const stdDev = Math.sqrt(avgSquareDiff);\n return stdDev;\n },\n // Helper function for autoscale\n average: function(data) {\n const sum = data.reduce(function(sum, value) {\n return sum + value;\n }, 0);\n\n const avg = sum / data.length;\n return avg;\n },\n // Get all pages that are partially returned and re-request\n reRequestPages: function() {\n\n const requestPages = [];\n this.requestedPages.forEach(function(value, key) {\n // Only rerequest pages where we already have partial return\n if (!isNaN(value.subPageCount)) {\n\n // only include channels with partial return\n const channels = [];\n value.counter.forEach(function(count, chId) {\n if (!isNaN(count) && count > 0) {\n channels.push(chId)\n }\n })\n\n if (channels.length > 0) {\n requestPages.push({\n channels: channels,\n start: key,\n duration: this.pageSize,\n isInViewport: true,\n pixelWidth: this.rsPeriod\n });\n }\n }\n }, this);\n\n // clear requestedPages\n this.requestedPages.clear();\n\n this.catchUpRequestPages = requestPages;\n },\n\n\n // _________________\n // WEBSOCKET METHODS\n openWebsocket: function() {\n //if the websocket is opening or already open, don't open a new one\n if (this._websocket && (this._websocket.readyState === 0 || this._websocket.readyState === 1) ) {\n return;\n }\n\n let url = this.timeSeriesUrl\n this._websocket = new WebSocket(url);\n this._websocket.onopen = this._onWebsocketOpen.bind(this);\n this._websocket.onclose = this._onWebsocketClose.bind(this);\n this._websocket.onmessage = this._onWebsocketMessage.bind(this);\n\n },\n sendMontageMessage: function (value) {\n if (this._websocket && this._websocket.readyState === 1) {\n const payload = { montage: value, packageId: this.packageId }\n this._websocket.send(JSON.stringify(payload))\n } else {\n this.async(() => {this.sendMontageMessage(value)}, 500)\n }\n },\n _onWebsocketClose: function() {\n console.log('Websocket closed function')\n clearTimeout(this.preFetchTime);\n this.aSyncPreRequests = [];\n this.openWebsocket();\n },\n _onWebsocketFinalClose: function() {\n console.log('Websocket closed forever');\n },\n _onWebsocketOpen: function() {\n console.log('Websocket is opened')\n if (this.initWebsocket) {\n let chIds = [];\n for (let i=0; i<this.viewerChannels.length; i++) {\n chIds.push(this.viewerChannels[i].id)\n }\n let message = {'channelFiltersToClear':chIds};\n // clear filters\n this.sendFilterMessage(message);\n // clear montage\n const payload = { montage: 'NOT_MONTAGED', packageId: this.packageId }\n this._websocket.send(JSON.stringify(payload))\n this.initWebsocket = false;\n }\n\n if (this.catchUpRequestPages && this.catchUpRequestPages.length > 0) {\n this.requestDataFromServer(this.catchUpRequestPages);\n }\n this.catchUpRequestPages = [];\n\n if(this.isStreaming) {\n this.initStream();\n }\n\n this.generatePoints();\n },\n _onWebsocketMessage: function(msg) {\n // process json messages\n if (typeof msg.data === 'string') {\n let data = {}\n\n try {\n data = JSON.parse(msg.data)\n } catch (e) {\n this.$store.dispatch('setViewerErrors', { error: 'JSON Parse Error' })\n }\n\n if (data.channelDetails) {\n // const baseChannels = this.activeViewer.channels\n const virtualChannels = data.channelDetails.map(({ id, name, unit, channelType, end, start, rate }) => {\n // const baseChannel = baseChannels.find(ch => (ch.content.id === id))\n const content = {\n id,\n name,\n channelType: channelType,\n label: name,\n unit: unit,\n rate: rate,\n start: start,\n end: end,\n virtualId: `${id}_${name}`\n }\n // ensure that channel ids are unique for montages\n if (this.viewerMontageScheme !== 'NOT_MONTAGED') {\n content.id = `${id}_${name}`\n }\n return { content, properties: [] }\n })\n\n this.initChannels(virtualChannels)\n .then(() => {\n this.invalidate()\n this.renderAll()\n })\n } else if (data.error) {\n this.$store.dispatch('setViewerErrors', data)\n }\n\n // short circuit\n return\n }\n\n // process protobuf messages\n const myReader = new FileReader();\n myReader.parent = this;\n myReader.addEventListener('loadend', function(e) {\n const buffer = e.srcElement ? e.srcElement.result : e.target.result; //arraybuffer object\n const barray = new Uint8Array(buffer)\n\n const timeSeriesMessage = this.parent.timeSeriesMessage.decode(barray);\n const segment = timeSeriesMessage.segment;\n\n // Handle Neural Data\n if (timeSeriesMessage.event && timeSeriesMessage.event.length>0 && timeSeriesMessage.event[0].pageStart) {\n\n const tsEvent = timeSeriesMessage.event[0];\n const dataPoints = [[], []];\n const nrVal = tsEvent.times.length/2;\n\n let curI = 0;\n for (let i = 0; i < nrVal; i++) {\n dataPoints[0].push( tsEvent.times[curI]);\n dataPoints[1].push( tsEvent.times[curI + 1]);\n curI += 2;\n }\n\n let cData = new Array(3);\n let k=0;\n while (k < 3) {\n cData[k] = new Float32Array(dataPoints[0].length);\n k++;\n }\n\n const segm = {\n chId: tsEvent.source,\n lastUsed: 0,\n unit: 'uV',\n samplePeriod: tsEvent.samplePeriod,\n pageStart: tsEvent.pageStart,\n pageEnd: tsEvent.pageEnd,\n startTs: tsEvent.pageStart,\n isMinMax: tsEvent.isResampled,\n unitM: 1,\n type: 'Neural',\n nrPoints: nrVal,\n parsedData: dataPoints,\n cData: cData\n };\n\n this.parent.dataCallback({\n pageStart: tsEvent.pageStart,\n data: segm,\n type: 'Neural',\n nrResponses: timeSeriesMessage.totalResponses\n });\n }\n\n // Handle Regular Timeseries data package.\n if (segment !== null) {\n // Check if viewer is still interested in the arriving data\n if (segment.requestedSamplePeriod !== Math.ceil(this.parent.rsPeriod)) {\n return\n }\n\n // create array from points of data.\n let nrVal = null;\n if (segment.isMinMax) {\n // Create min/max vectors\n nrVal = segment.data.length/2;\n } else {\n //its just one big list of values\n nrVal = segment.data.length;\n }\n\n const parsedData = new Array(3);\n const startTs = segment.startTs\n\n let sumElem = 0;\n let nrValidPoints = 0;\n let i = 0;\n while (i < 3) {\n parsedData[i] = new Float64Array(nrVal);\n i++;\n }\n\n if (segment.isMinMax) {\n // Create min/max vectors\n let curI = 0;\n for (let i = 0; i < nrVal; i++) {\n let curY = -segment.data[curI];\n let curY2 = -segment.data[curI + 1];\n parsedData[0][i] = startTs + (i * segment.samplePeriod);\n parsedData[1][i] = curY;\n parsedData[2][i] = curY2;\n if (!isNaN(curY)) {\n nrValidPoints++;\n sumElem += curY + (curY2 - curY)/2;\n }\n curI += 2;\n\n }\n\n } else {\n //its just one big list of values\n for (let i = 0; i < nrVal; i++) {\n let curY = -segment.data[i];\n parsedData[0][i] = startTs + (i * segment.samplePeriod);\n parsedData[1][i] = curY;\n if (!isNaN(curY)) {\n nrValidPoints++;\n sumElem += curY;\n }\n }\n }\n\n let elemMedian = 0;\n if (this.parent.constants['USEMEDIAN']) {\n const sortedYvals = Array.prototype.slice.call(parsedData[1]).sort();\n if (segment.isMinMax) {\n elemMedian = sortedYvals[Math.round(sortedYvals.length/2)];\n } else {\n elemMedian = sortedYvals[Math.round(sortedYvals.length)];\n }\n }\n\n let cData = new Array(3);\n let k=0;\n while (k < 3) {\n cData[k] = new Float32Array(parsedData[0].length);\n k++;\n }\n\n const segm = {\n chId: segment.source,\n lastUsed: segment.lastUsed,\n unit:segment.unit,\n samplePeriod: segment.samplePeriod,\n pageStart: segment.pageStart,\n pageEnd: segment.pageEnd,\n startTs: startTs,\n isMinMax: segment.isMinMax,\n unitM: segment.unitM,\n type: segment.segmentType,\n nrPoints: nrVal,\n cData: cData,\n parsedData: parsedData,\n median: elemMedian,\n sumElem: sumElem,\n nrValidPoints: nrValidPoints,\n name: segment.channelName,\n label: segment.channelName,\n virtualId: `${segment.source}_${segment.channelName}`\n };\n\n if(segm.nrPoints>0) {\n\n this.parent.dataCallback({\n pageStart: segment.pageStart,\n data: segm,\n type: segment.segmentType,\n nrResponses: timeSeriesMessage.totalResponses\n });\n } else {\n // Check if already in Gap Array\n this.parent.dataCallback({\n pageStart: segment.pageStart,\n data: segm,\n nrResponses: timeSeriesMessage.totalResponses,\n type: 'gap'\n });\n\n }\n }\n });\n\n myReader.readAsArrayBuffer(msg.data);\n },\n sendFilterMessage: function(msg) {\n if (this._websocket && this._websocket.readyState === 1) {\n const parms = msg.filterParameters || [];\n parms.forEach( p => {\n if (!this.isTruthy(p)) {\n return;\n }\n });\n this._websocket.send(JSON.stringify(msg));\n } else {\n this.async(() => {this.sendFilterMessage(msg)}, 200);\n }\n },\n isTruthy: val => val && val !== '' && !val.isNaN,\n calcFilterType: function(low, high, notch) {\n switch(true) {\n case !this.isTruthy(low) && !this.isTruthy(high) && !notch:\n return 'clear';\n case this.isTruthy(low) && this.isTruthy(high):\n return 'bandpass';\n case this.isTruthy(low):\n return 'highpass';\n case this.isTruthy(high):\n return 'lowpass';\n default:\n return 'bandstop';\n }\n },\n // Callback method for async data fetch from server\n dataCallback: function(obj) {\n\n // Autoscale counter is set to number > 0 for first request, and autoscale is triggered when\n // counter reaches 0.\n if (this.autoScale > 0) {\n this.autoScale--;\n }\n\n // Find channel for object in chData\n let curChData = null;\n for (let ch = 0; ch < this.chData.length; ch++) {\n if (this.chData[ch].label === obj.data.label) {\n curChData = this.chData[ch];\n break;\n }\n }\n\n // Based on Obj type, handle placement in cache differently\n switch(obj.type) {\n\n case 'gap':\n case 'Neural': //neural and continuous data get put in the cache the same way\n case 'Continuous':\n\n // Check if data already exists in chData (happens when zoom out, and back in before data is there)\n // eslint-disable-next-line\n let addData = false;\n // eslint-disable-next-line\n let curSegments = curChData && curChData.segments;\n if (curSegments && obj.type !== 'gap') {\n addData = true;\n if (curSegments.length > 0) {\n let fIndex = this.segmIndexOf(curSegments, obj.data.startTs, true, 0);\n\n // Iterate over all segments in CHData with same pageStart to see if page is already present\n while( curSegments[fIndex] && curSegments[fIndex].pageStart === obj.data.pageStart) {\n if (curSegments[fIndex].startTs === obj.data.startTs) {\n addData = false;\n break;\n }\n fIndex++;\n }\n }\n }\n\n // Remove returned page from the list of requested Pages.\n // eslint-disable-next-line\n let requestedPage = this.requestedPages.get(obj.data.pageStart);\n // array or page IDs (timestamp, based on viewport)\n // array of channel IDs\n if (requestedPage) {\n\n // Update time\n requestedPage.ts = Date.now();\n\n let countForChannel = requestedPage.counter.get(obj.data.chId);\n if (isNaN(countForChannel)) {\n countForChannel = obj.nrResponses -1;\n requestedPage.counter.set(obj.data.chId, countForChannel);\n requestedPage.subPageCount = countForChannel;\n } else {\n countForChannel = countForChannel - 1;\n requestedPage.counter.set(obj.data.chId, countForChannel);\n }\n\n if (countForChannel <= 0) {\n let isComplete = true;\n for (let value2 of requestedPage.counter.values()) {\n if (value2 > 0 || isNaN(value2)) {\n isComplete = false;\n break;\n }\n }\n if (isComplete) {\n this.requestedPages.delete(obj.data.pageStart);\n // console.log('isComplete')\n }\n\n }\n\n }\n\n // Add data to local cache\n if (addData) {\n curSegments.push(obj.data);\n\n // Resort segments in each channel afer adding data\n curSegments.sort(function Comparator(a, b) {\n if (a.startTs < b.startTs) return -1;\n if (a.startTs > b.startTs) return 1;\n return 0;\n });\n\n // Check if returned page falls in viewport\n if (obj.pageStart < (this.start + this.duration)) {\n this.throttledGetRenderData();\n }\n }\n\n break;\n\n case 'realtime':\n console.log('No Longer Supporting RealTime Data')\n break;\n }\n\n }\n\n }\n }\n\n</script>\n\n<style lang=\"scss\" scoped>\n .canvas {\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 5px;\n cursor: ew-resize;\n outline: none;\n }\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSPlotCanvas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSPlotCanvas.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-style-loader/index.js??clonedRuleSet-62[0].rules[0].use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSPlotCanvas.vue?vue&type=style&index=0&id=0a32917c&lang=scss&scoped=true&\"","import { render, staticRenderFns } from \"./TSPlotCanvas.vue?vue&type=template&id=0a32917c&scoped=true&\"\nimport script from \"./TSPlotCanvas.vue?vue&type=script&lang=js&\"\nexport * from \"./TSPlotCanvas.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TSPlotCanvas.vue?vue&type=style&index=0&id=0a32917c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a32917c\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"timeseries-viewer-canvas\">\n\n <div id=\"canvasWrapper\">\n <timeseries-plot-canvas\n ref=\"plotCanvas\"\n :c-width=\"cWidth\"\n :c-height=\"cHeight\"\n :start=\"start\"\n :ts_start=\"tsStart\"\n :ts_end=\"tsEnd\"\n :duration=\"duration\"\n :constants=\"constants\"\n :rs-period=\"rsPeriod\"\n :global-zoom-mult=\"globalZoomMult\"\n @channelsInitialized=\"channelsInitialized\"\n @setGlobalZoom=\"setGlobalZoom\"\n >\n <canvas\n id=\"axisArea\"\n ref=\"axisArea\"\n slot=\"axisCanvas\"\n class=\"canvas\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(cHeight, pixelRatio,0)\"\n :style=\"canvasStyle1\"\n />\n <canvas\n id=\"annArea\"\n ref=\"annArea\"\n slot=\"annCanvas\"\n class=\"canvas\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(pHeight, pixelRatio,0)\"\n :style=\"canvasStyle2\"\n />\n </timeseries-plot-canvas>\n\n <canvas\n id=\"cursorArea\"\n ref=\"cursorArea\"\n class=\"canvas\"\n :width=\"_cpCanvasScaler(cWidth + 5, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(cHeight, pixelRatio,0)\"\n :style=\"canvasStyle3\"\n />\n\n<!-- <timeseries-annotation-canvas-->\n<!-- ref=\"annCanvas\"-->\n<!-- :c-width=\"cWidth\"-->\n<!-- :c-height=\"cHeight\"-->\n<!-- :constants=\"constants\"-->\n<!-- :annotations-canvas=\"this.$refs.annArea\"-->\n<!-- :pixel-ratio=\"pixelRatio\"-->\n<!-- :rs-period=\"rsPeriod\"-->\n<!-- :start=\"start\"-->\n<!-- :duration=\"duration\"-->\n<!-- :ts-end=\"tsEnd\"-->\n<!-- :pointer-mode=\"pointerMode\"-->\n<!-- @annLayersInitialized=\"onAnnLayersInitialized\"-->\n<!-- @annotationsReceived=\"onAnnotationsReceived\"-->\n<!-- @closeAnnotationLayerWindow=\"onCloseAnnotationLayerWindow\"-->\n<!-- @updateAnnotation=\"onUpdateAnnotation\"-->\n<!-- />-->\n\n <canvas\n id=\"iArea\"\n ref=\"iArea\"\n class=\"canvas\"\n :width=\"_cpCanvasScaler(cWidth, pixelRatio, 0)\"\n :height=\"_cpCanvasScaler(cHeight, pixelRatio,0)\"\n :style=\"canvasStyle1\"\n tabindex=\"-1\"\n @wheel=\"_onMouseWheel\"\n @mousemove=\"_onMouseMove\"\n @mousedown=\"_onMouseDown\"\n @mouseup=\"_onMouseUp\"\n @mouseout=\"_onMouseOut\"\n @mouseenter=\"_onMouseEnter\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-case-declarations */\n import { find, propEq } from 'ramda'\n import ViewerActiveTool from '@/mixins/viewer-active-tool'\n import Request from '@/mixins/request'\n import TimeseriesPlotCanvas from '@/components/TSPlotCanvas.vue'\n export default {\n name: 'TimeseriesViewerCanvas',\n components:{\n TimeseriesPlotCanvas\n // 'timeseries-annotation-canvas': () => import('@/components/viewers/TSViewer/TSAnnotationCanvas.vue')\n },\n mixins: [\n Request,\n ViewerActiveTool\n ],\n props: {\n windowHeight: Number,\n windowWidth: Number,\n duration: Number,\n start: Number,\n cHeight: Number,\n cWidth: Number,\n globalZoomMult: Number,\n constants: Object,\n tsStart: Number,\n tsEnd: Number,\n cursorLoc: Number,\n },\n computed: {\n viewerChannels: function() {\n return this.$store.getters.viewerChannels\n },\n viewerAnnotations: function() {\n return this.$store.getters.viewerAnnotations\n },\n viewerActiveTool: function() {\n return this.$store.getters.viewerActiveTool\n },\n pHeight: function() {\n return this.cHeight -20;\n },\n cursorWidth: function() {\n return this.cWidth + this.constants['CURSOROFFSET']\n },\n blurCanvas: function() {\n return this.$refs.blurCanvas\n },\n canvasStyle1: function() {\n return {\n width: this.cWidth + 'px',\n height: this.cHeight + 'px'\n }\n },\n canvasStyle2: function() {\n return {\n width: this.cWidth + 'px',\n height: this.pHeight + 'px'\n }\n },\n canvasStyle3: function() {\n return {\n width: this.cursorWidth + 'px',\n height: this.cHeight + 'px'\n }\n },\n },\n watch: {\n cHeight: function () {\n this.resize()\n },\n cWidth: function () {\n this.resize()\n },\n start: function() {\n this.renderAll()\n },\n duration: function() {\n this.$refs.plotCanvas.invalidate()\n this.updateRsPeriod(this.cWidth, this.duration)\n this.renderAll()\n },\n globalZoomMult: function() {\n this.$nextTick(() => {\n this.$refs.plotCanvas.throttledDataRender()\n })\n },\n viewerChannels: function () {\n this.$nextTick(() => {\n this.renderAll()\n })\n },\n pointerMode: function () {\n this.$refs.iArea.removeAttribute('col_resize');\n this.$refs.iArea.removeAttribute('active');\n this.$refs.iArea.removeAttribute('point')\n switch (this.pointerMode) {\n case 'cursor_hover':\n console.log('hover')\n this.$refs.iArea.removeAttribute('point')\n this.$refs.iArea.setAttribute('cursor_hover', true)\n break\n case 'annResize-left':\n console.log('left')\n this.$refs.iArea.setAttribute('col_resize', true)\n break\n case 'annResize-right':\n console.log('right')\n this.$refs.iArea.setAttribute('col_resize', true)\n break\n case 'annSelect':\n this.$refs.iArea.setAttribute('active', true)\n break\n case 'pan':\n break;\n case 'pointer':\n this.$refs.iArea.setAttribute('point', true);\n break;\n case 'annotate':\n this.$refs.iArea.setAttribute('point', true);\n break;\n default:\n console.log('other')\n this.$refs.iArea.removeAttribute('point');\n this.$refs.iArea.removeAttribute('cursor_hover');\n break\n }\n this.$nextTick(() => {\n this.renderAnnotationCanvas()\n })\n }\n },\n data: function () {\n return {\n summary: {},\n rsPeriod:0,\n pageSize:0,\n lastrRsUpdate:0,\n pixelRatio: 1, // Pixel Ratio of screen (1 for regular, >1 for high-res screens)\n mouseDown: false,\n resizeClicked: false,\n pointerMode: 'pan',\n trackDirection: false,\n startDragCoord: {x: 0, y: 0},\n defaultLabels: ['Event', 'Artifact', 'Seizure', 'Mark', 'Stim On', 'Stim Off', 'Start', 'Stop'],\n labelSelect: 0\n }\n },\n mounted: function () {\n this.pixelRatio = this.getScreenPixelRatio();\n },\n methods: {\n // resetFocusedAnnotation: function() {\n // this.$refs.annCanvas.resetFocusedAnnotation()\n // },\n // createAnnotationLayer: function(newLayer) {\n // this.$refs.annCanvas.createAnnotationLayer(newLayer)\n // },\n // getNextAnnotation: function() {\n // let cursorOffset = (this.cursorLoc*this.cWidth - this.constants['CURSOROFFSET']) * this.rsPeriod\n // let nextAnn = this.$refs.annCanvas.findNextAnnotation(this.start + cursorOffset)\n // return nextAnn.start - cursorOffset\n // },\n // getPreviousAnnotation: function() {\n // let cursorOffset = (this.cursorLoc*this.cWidth - this.constants['CURSOROFFSET']) * this.rsPeriod\n // let nextAnn = this.$refs.annCanvas.findPreviousAnnotation(this.start + cursorOffset)\n // return nextAnn.start - cursorOffset\n // },\n // onUpdateAnnotation: function(annotation) {\n // this.$emit('updateAnnotation', annotation)\n // },\n // onCloseAnnotationLayerWindow: function() {\n // this.$emit('closeAnnotationLayerWindow')\n // },\n onAnnotationsReceived: function() {\n this.renderAll(100)\n },\n onAnnLayersInitialized: function() {\n this.$emit('annLayersInitialized')\n },\n setGlobalZoom: function(value) {\n this.$emit('setGlobalZoom', value)\n },\n channelsInitialized: function(channels) {\n this.$emit('channelsInitialized', channels)\n },\n _onMouseWheel: function(e) {\n e.stopPropagation();\n e.preventDefault();\n if(e.shiftKey) {\n if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) {\n if (e.deltaY >0) {\n this.$emit('setDuration', this.duration*1.1 )\n } else {\n this.$emit('setDuration', this.duration/1.1 )\n }\n }\n }else{\n if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) {\n if (e.deltaY > 0 ) {\n this.$emit('setGlobalZoom',this.globalZoomMult*1.2);\n } else {\n this.$emit('setGlobalZoom',this.globalZoomMult/1.2);\n }\n }\n }\n },\n _onMouseUp: function(e) {\n this.resizeClicked = false;\n this.mouseDown = false;\n switch (this.pointerMode) {\n case 'pointer':\n this.clearICanvas()\n const append = e.metaKey;\n const yEnd = e.clientY - this.$refs.iArea.getBoundingClientRect().top\n const yStart = this.startDragCoord.y - this.$refs.iArea.getBoundingClientRect().top\n const channels = this.viewerChannels.map(channel => {\n if (append === false) {\n channel.selected = false\n }\n if( (channel.rowBaseline > yStart && channel.rowBaseline < yEnd) ||\n (channel.rowBaseline < yStart && channel.rowBaseline > yEnd)) {\n channel.selected = true\n }\n return channel\n })\n this.$store.dispatch('setChannels', channels)\n break\n case 'annSelect':\n this.clearICanvas()\n // this.$refs.annCanvas.selectFocusedAnn()\n break\n case 'annotate':\n let curLIndex = null;\n for (let i=0; i<this.viewerAnnotations.length; i++) {\n if (this.viewerAnnotations[i].selected) {\n curLIndex = i;\n break;\n }\n }\n // No layers\n if (curLIndex === null) {\n return;\n }\n const selectedChannels = this.$store.getters['viewerSelectedChannels']\n const allChannels = selectedChannels.length === this.viewerChannels.length || selectedChannels.length === 0\n const duration = (e.clientX - this.startDragCoord.x) * this.rsPeriod\n const startTime = this.startDragTimeStamp + ( (this.startDragCoord.x - this.$refs.iArea.getBoundingClientRect().left) * this.rsPeriod)\n const newAnn = {\n name: '',\n id: null,\n label: this.defaultLabels[this.labelSelect],\n description: '',\n start: startTime,\n duration: duration,\n end: startTime + duration,\n cStart: null,\n cEnd: null,\n selected: true,\n channelIds: selectedChannels,\n allChannels: allChannels,\n layer_id: this.viewerAnnotations[curLIndex].id,\n userId: null\n };\n this.$store.dispatch('setActiveAnnotation', newAnn)\n this.$emit(\"addAnnotation\", startTime, duration, allChannels, this.defaultLabels[this.labelSelect], '', this.viewerAnnotations[curLIndex] )\n break;\n case 'annResize-left':\n case 'annResize-right':\n // this.$refs.annCanvas.onMouseUp()\n }\n },\n clearICanvas: function() {\n const iCanvas = this.$refs.iArea;\n const ctx = iCanvas.getContext('2d');\n ctx.clearRect(0, 0, this.cWidth, this.cHeight);\n },\n _onMouseDown: function(evt) {\n this.mouseDown = true;\n this.startDragTimeStamp = this.start\n this.startDragCoord.x = evt.clientX\n this.startDragCoord.y = evt.clientY\n // switch(this.pointerMode) {\n // case 'annResize-left':\n // case 'annResize-right':\n // this.resizeClicked = true\n // this.$refs.annCanvas.onMouseDown(evt.clientX - cCoord.left, evt.clientY - cCoord.top)\n // break;\n // }\n },\n _onMouseOut: function() {\n this.mouseDown = false;\n },\n _onMouseEnter: function(e) {\n if (e.buttons === 1) {\n this.mouseDown = true;\n } else {\n this.mouseDown = false;\n }\n },\n _onMouseMove: function(e) {\n e.preventDefault();\n e.stopPropagation();\n switch (this.viewerActiveTool) {\n case 'pan':\n if( this.mouseDown){\n // Update StartTime and get new data\n const setStart = this.startDragTimeStamp - ((e.clientX-this.startDragCoord.x) * this.rsPeriod);\n this.$emit('setStart', setStart)\n } else {\n // this.pointerMode = this.$refs.annCanvas.onMouseMove(mX,mY, this.pointerMode, this.mouseDown)\n }\n break;\n case 'pointer':\n if( this.mouseDown){\n this.renderSelectBox(e.clientX, e.clientY);\n } else {\n // this.pointerMode = this.$refs.annCanvas.onMouseMove(mX,mY, this.pointerMode , this.mouseDown)\n }\n break;\n case 'annotate':\n if( this.mouseDown && this.pointerMode == 'annotate') {\n this.renderAnnotationBox(e.clientX)\n } else if (this.mouseDown && ['annResize-left', 'annResize-right'].includes(this.pointerMode)) {\n // this.pointerMode = this.$refs.annCanvas.onMouseMove(mX,mY, this.pointerMode, this.mouseDown)\n this.renderAll()\n } else {\n // this.pointerMode = this.$refs.annCanvas.onMouseMove(mX,mY, this.pointerMode, this.mouseDown)\n }\n break;\n }\n },\n resize: function() {\n this.updateRsPeriod(this.cWidth, this.duration)\n this.renderAll(25)\n },\n updateRsPeriod: function(w, d) {\n const oldRs = this.rsPeriod;\n const newPeriod = (d / w);\n if (newPeriod !== oldRs) {\n this.invalidateCache = true;\n this.lastRsUpdate = Date.now();\n this.rsPeriod = newPeriod;\n this.pageSize = Math.floor(this.duration / this.constants['PAGESIZEDIVIDER']);\n }\n },\n _cpCanvasScaler: function(sz, pixelRatio, offset) {\n return pixelRatio * (sz + offset);\n },\n renderAll: function(delay, requestLeadingEdge = true) {\n if (!this.renderFnc || delay !== this.renderThrottle || this.requestLeadingEdge !== requestLeadingEdge) {\n this.renderFnc = this.throttle(this._renderAll, delay, {leading: requestLeadingEdge} );\n this.renderThrottle = delay;\n this.requestLeadingEdge = requestLeadingEdge;\n }\n this.renderFnc(this);\n },\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n throttle: function(func, wait, options) {\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n if (!options) options = {};\n const later = function() {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n },\n renderAnnotationCanvas: function() {\n this.clearICanvas()\n // this.$refs.annCanvas.render()\n },\n _renderAll: function() {\n this.$nextTick(() => {\n this._renderAxis();\n this._renderCursor();\n this.$refs.plotCanvas.renderAll()\n // TODO: Bring back when supporting public annotations.\n // this.$refs.annCanvas.render()\n })\n },\n // Render the X and Y axis, and time ticks\n _renderAxis: function() {\n const pa = this.$refs.axisArea;\n const ctx = pa.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n // clear canvas\n ctx.clearRect(0, 0, this.cWidth, this.cHeight);\n ctx.stroke();\n // render side/bottom line\n ctx.beginPath();\n ctx.lineWidth = 1;\n ctx.moveTo(this.constants.XOFFSET+0.5, 0.5);\n ctx.lineTo(this.constants.XOFFSET+0.5, (this.pHeight +0.5));\n ctx.lineTo(this.cWidth+0.5, (this.pHeight+0.5));\n ctx.stroke();\n // Render y-ticks\n let tickOffset = (((this.pHeight/(2*this.nrVisibleChannels))+0.5)<<1)>>1;\n ctx.lineWidth=0.5;\n for (let i = 0; i< this.nrVisibleChannels; i++) {\n ctx.beginPath();\n ctx.moveTo(this.constants.XOFFSET - 2, tickOffset);\n ctx.lineTo(this.constants.XOFFSET + 2, tickOffset);\n ctx.stroke();\n tickOffset += this.pHeight/this.nrVisibleChannels;\n }\n // --- --- --- --- ---\n // Render x-ticks\n const gridSpacing = this.constants['XGRIDSPACING'] * Math.ceil(this.duration / 100000000);\n const nrGridLines = Math.ceil(this.duration / gridSpacing) + 1;\n const labelDecimator = Math.ceil( this.constants['NRPXPERLABEL'] / (gridSpacing / this.rsPeriod));\n let curXLabelIdx = 1;\n // XLOC1 is time to first timeIndicator line\n const xLoc1 = (gridSpacing - (this.start % gridSpacing) ) % gridSpacing;\n // Iterate over all potential time-lines\n for(let i = 0; i < nrGridLines; i++) {\n // actual time of the timeline = canvas start time + xLoc1 time\n let realX = this.start + xLoc1 + i * gridSpacing;\n if (realX > this.tsEnd) {\n break;\n }\n // curLoc is pixel coordinates of realX\n const realOffset = realX - this.start;\n const curLoc = ( this.constants['XOFFSET'] + (realOffset / this.rsPeriod) );\n const roundedCurLoc = Math.round(curLoc);\n if (roundedCurLoc > 1) {\n ctx.save();\n ctx.beginPath();\n ctx.lineWidth=0.5;\n ctx.strokeStyle='rgb(235,235,235)';\n ctx.moveTo(roundedCurLoc + 0.5, 0.5);\n ctx.lineTo(roundedCurLoc+ 0.5, this.pHeight -0.5);\n ctx.stroke();\n ctx.restore();\n // Render X-Label when appropriate\n const test = (((realX / gridSpacing) + gridSpacing / 10) % labelDecimator) |0;\n if( test === 1 || labelDecimator === 1 ) {\n ctx.beginPath();\n ctx.lineWidth = 1;\n ctx.moveTo(roundedCurLoc+ 0.5, this.pHeight - 3);\n ctx.lineTo(roundedCurLoc+ 0.5, this.pHeight + 3);\n ctx.stroke();\n const d = new Date(realX/1000);\n ctx.font = '12px sans-serif';\n ctx.fillStyle = 'rgb(150,150,150)';\n ctx.fillText(this.getUTCTimeString(d), roundedCurLoc - 20.5, this.cHeight-0.2);\n curXLabelIdx = curXLabelIdx + 1;\n }\n }\n }\n },\n // Render the selection box on click-drag using point for selecting channels\n renderSelectBox: function(curX, curY) {\n const iCanvas = this.$refs.iArea;\n const ctx = iCanvas.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.clearRect(0, 0, this.cWidth, this.cHeight);\n ctx.beginPath();\n ctx.lineWidth=2;\n ctx.strokeStyle='#295eff';\n ctx.setLineDash([5, 5, 15, 5]);\n const xStart = curX - iCanvas.getBoundingClientRect().left;\n const yStart = curY - iCanvas.getBoundingClientRect().top;\n ctx.rect(xStart, yStart, -curX+this.startDragCoord.x, -curY+this.startDragCoord.y);\n ctx.stroke();\n },\n _renderCursor: function() {\n // --- --- --- --- ---\n // Render cursor\n const pa = this.$refs.cursorArea;\n const ctx = pa.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n ctx.clearRect(0, 0, (this.cWidth + this.constants['CURSOROFFSET']), this.cHeight);\n ctx.save()\n ctx.beginPath();\n ctx.fillStyle = 'red';\n const cCursorLoc = this.cursorLoc * this.cWidth\n if (cCursorLoc > this.constants['CURSOROFFSET']) {\n ctx.strokeStyle = 'red';\n ctx.moveTo(cCursorLoc, 0);\n ctx.lineTo(cCursorLoc, this.pHeight);\n ctx.stroke();\n } else {\n ctx.moveTo(cCursorLoc, this.pHeight);\n }\n ctx.beginPath();\n ctx.lineTo(cCursorLoc - 5, this.pHeight + 8);\n ctx.lineTo(cCursorLoc + 5, this.pHeight + 8);\n ctx.lineTo(cCursorLoc, this.pHeight );\n ctx.fill();\n ctx.restore();\n },\n // Render an annotation during dragging mouse while creating annotation\n renderAnnotationBox: function(curX) {\n const iCanvas = this.$refs.iArea\n const ctx = iCanvas.getContext('2d');\n ctx.setTransform(this.pixelRatio, 0, 0, this.pixelRatio, 0, 0);\n const annotationHeight = this.constants['ANNOTATIONLABELHEIGHT'];\n const halfAnnotationHeight = (annotationHeight/2) |0;\n // Find active layer\n let curLIndex = null;\n for (let i=0; i<this.viewerAnnotations.length; i++) {\n if (this.viewerAnnotations[i].selected) {\n curLIndex = i;\n break;\n }\n }\n // No active Layers\n if (curLIndex === null) {\n return;\n }\n ctx.save();\n ctx.clearRect(0, 0, this.cWidth, this.cHeight);\n ctx.lineWidth = 1;\n // Determine if the user is adding annotation to specific channels\n const selectedChannels = this.$store.getters['viewerSelectedChannels']\n const allChannels = selectedChannels.length === this.viewerChannels.length || selectedChannels.length === 0\n const xStart = curX - iCanvas.getBoundingClientRect().left;\n const dx = -curX + this.startDragCoord.x\n if (allChannels) {\n ctx.fillStyle = 'rgba(0,0,0,0.1)';\n ctx.fillRect(xStart, 0, dx, this.pHeight);\n ctx.fillStyle = this.viewerAnnotations[curLIndex].color;\n ctx.strokeStyle = ctx.fillStyle;\n let lblStart = xStart -1;\n let lblEnd = dx +2;\n if (dx < 0) {\n lblStart = xStart +1;\n lblEnd = dx-2;\n }\n ctx.fillRect(lblStart, 0, lblEnd, annotationHeight);\n ctx.setLineDash([5, 5, 5, 5]);\n ctx.beginPath();\n ctx.moveTo(xStart, annotationHeight);\n ctx.lineTo(xStart, this.pHeight );\n ctx.stroke();\n ctx.beginPath();\n ctx.moveTo(xStart+dx, annotationHeight);\n ctx.lineTo(xStart+dx, this.pHeight );\n ctx.stroke();\n } else {\n let minOffset = this.cHeight | 0;\n let maxOffset = 0;\n const channelConfig = this.viewerChannels;\n ctx.fillStyle = this.viewerAnnotations[curLIndex].color;\n ctx.strokeStyle=ctx.fillStyle;\n let lblStart = xStart -1;\n let lblEnd = dx +2;\n if (dx < 0) {\n lblStart = xStart +1;\n lblEnd = dx-2;\n }\n for (let ch=0; ch< channelConfig.length; ch++) {\n const curChannelView = channelConfig[ch];\n if(curChannelView.selected && curChannelView.visible) {\n const channelOffset = curChannelView.rowBaseline |0;\n if (channelOffset < minOffset) { minOffset = channelOffset; }\n if (channelOffset > maxOffset) { maxOffset = channelOffset; }\n ctx.fillRect(lblStart, channelOffset - halfAnnotationHeight, lblEnd, annotationHeight);\n }\n }\n ctx.fillStyle = 'rgba(0,0,0,0.1)';\n ctx.setLineDash([5, 5, 5, 5]);\n ctx.fillRect(xStart -1, minOffset+halfAnnotationHeight,\n dx +2, maxOffset-minOffset -annotationHeight);\n ctx.beginPath();\n ctx.moveTo(xStart, minOffset +halfAnnotationHeight);\n ctx.lineTo(xStart, maxOffset-halfAnnotationHeight );\n ctx.moveTo(xStart+dx, minOffset +halfAnnotationHeight);\n ctx.lineTo(xStart+dx, maxOffset -halfAnnotationHeight);\n ctx.stroke();\n }\n ctx.restore();\n },\n getScreenPixelRatio: function() {\n let ctx = this.$refs.iArea.getContext('2d');\n let dpr = window.devicePixelRatio || 1\n let bsr = ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1;\n return dpr / bsr;\n },\n getUTCTimeString: function(d) {\n return ( ('0' + d.getUTCHours()).slice(-2) + ':' +\n ('0' + d.getUTCMinutes()).slice(-2) + ':' + ('0' + d.getUTCSeconds()).slice(-2) );\n },\n setFilters: function(payload) {\n let input0 = parseFloat(payload.input0)\n let input1 = parseFloat(payload.input1)\n let message = {};\n switch (payload.filterType) {\n case 'clear':\n message = {'channelFiltersToClear':payload.selChannels};\n break;\n case 'bandpass':\n let bp_center = (input0 + input1) / 2;\n let bp_width = Math.abs( (input1 - input0) / 2 )\n message = {'filter':payload.filterType, 'filterParameters': [4, bp_center, bp_width], 'channels':payload.selChannels};\n break;\n case 'highpass':\n message = {'filter':payload.filterType, 'filterParameters': [4, input0], 'channels':payload.selChannels};\n break;\n case 'lowpass':\n message = {'filter':payload.filterType, 'filterParameters': [4, input0], 'channels':payload.selChannels};\n break;\n case 'bandstop':\n let bs_width = 10;\n const bs_center = payload.notchFreq;\n message = {'filter':payload.filterType, 'filterParameters': [4, bs_center, bs_width], 'channels':payload.selChannels};\n break;\n default:\n return;\n }\n this.$refs.plotCanvas.sendFilterMessage(message)\n for (let i=0; i<payload.selChannels.length; i++) {\n let channelId = payload.selChannels[i]\n let channel = find(propEq('id', channelId), this.viewerChannels)\n if (payload.filterType === 'clear') {\n channel.filter = {}\n } else {\n channel.filter = {\n type: payload.filterType,\n input0: input0,\n input1: input1,\n notchFreq: payload.notchFreq\n }\n }\n this.$store.dispatch('updateChannel', channel)\n }\n this.$refs.plotCanvas.invalidate();\n this.renderAll();\n }\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .timeseries-viewer-canvas {\n display: flex;\n background-color: white;\n flex: 1;\n }\n #canvasWrapper {\n position: relative;\n }\n #channelCanvas {\n display: flex;\n }\n .canvas {\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 5px;\n cursor: ew-resize;\n outline: none;\n }\n .canvas[active]{\n cursor: pointer;\n }\n .canvas[col_resize]{\n cursor: col-resize;\n }\n .canvas[point]{\n cursor: default;\n }\n .canvas[cursor_hover]{\n cursor: col-resize;\n }\n #cursorArea {\n margin-left: 0;\n }\n #annotationPopover {\n position: absolute;\n opacity: 0;\n display: none;\n top: 75px;\n z-index: 1000;\n left: 400px;\n }\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerCanvas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerCanvas.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-style-loader/index.js??clonedRuleSet-62[0].rules[0].use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerCanvas.vue?vue&type=style&index=0&id=0f680526&lang=scss&scoped=true&\"","import { render, staticRenderFns } from \"./TSViewerCanvas.vue?vue&type=template&id=0f680526&scoped=true&\"\nimport script from \"./TSViewerCanvas.vue?vue&type=script&lang=js&\"\nexport * from \"./TSViewerCanvas.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TSViewerCanvas.vue?vue&type=style&index=0&id=0f680526&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f680526\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timeseries-viewer-toolbar\"},[_c('div',{attrs:{\"id\":\"left-controls\"}},[_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Toggle Time Zoom Controls\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.toggleTimeZoom()}}},[_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M13.653125,14.3537502 L11.29125,11.9918752 C11.6475,11.4075002 11.8525,10.7200002 11.8525,9.98562517 C11.8525,7.85000017 10.001875,6.00000017 7.86625,6.00000017 C5.730625,5.99937517 4,7.73062517 4,9.86625017 C4,12.0012502 5.850625,13.8518752 7.985625,13.8518752 C8.69625,13.8518752 9.360625,13.6587502 9.9325,13.3243752 L12.306875,15.7000002 C12.539375,15.9318752 12.91625,15.9318752 13.148125,15.7000002 L13.7375,15.1106252 C13.969375,14.8787502 13.885,14.5856252 13.653125,14.3537502 Z M5.19,9.86625017 C5.19,8.38750017 6.388125,7.18937517 7.86625,7.18937517 C9.345,7.18937517 10.6625,8.50625017 10.6625,9.98562517 C10.6625,11.4637502 9.46375,12.6625002 7.985625,12.6625002 C6.506875,12.6618752 5.19,11.3443752 5.19,9.86625017 Z M16,3 L13,6 L13,4 L9,4 L9,2 L13,2 L13,6.2778623e-16 L16,3 Z M3,6 L2.66453526e-15,3 L3,-7.66951701e-17 L3,2 L9,2 L9,4 L3,4 L3,6 Z\"}})])])]),(_vm.showTimeZoom)?_c('el-input-number',{attrs:{\"precision\":1,\"step\":5,\"max\":this.constants['MAXDURATION'],\"size\":\"mini\",\"controls-position\":\"right\"},model:{value:(_vm.durationInSeconds),callback:function ($$v) {_vm.durationInSeconds=$$v},expression:\"durationInSeconds\"}}):_vm._e(),_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Toggle Vertical Zoom Controls\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.toggleVerticalZoom()}}},[_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M15.715625,12.416875 L13.35375,10.055 C13.71,9.470625 13.915,8.783125 13.915,8.04875 C13.915,5.913125 12.064375,4.063125 9.92875,4.063125 C7.793125,4.0625 6.0625,5.79375 6.0625,7.929375 C6.0625,10.064375 7.913125,11.915 10.048125,11.915 C10.75875,11.915 11.423125,11.721875 11.995,11.3875 L14.369375,13.763125 C14.601875,13.995 14.97875,13.995 15.210625,13.763125 L15.8,13.17375 C16.031875,12.941875 15.9475,12.64875 15.715625,12.416875 Z M7.2525,7.929375 C7.2525,6.450625 8.450625,5.2525 9.92875,5.2525 C11.4075,5.2525 12.725,6.569375 12.725,8.04875 C12.725,9.526875 11.52625,10.725625 10.048125,10.725625 C8.569375,10.725 7.2525,9.4075 7.2525,7.929375 Z M3,0 L6,3 L4,3 L4,7 L2,7 L2,3 L0,3 L3,0 Z M6,13 L3,16 L0,13 L2,13 L2,7 L4,7 L4,13 L6,13 Z\"}})])])]),(_vm.showVertZoom)?_c('el-button-group',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"size\":\"mini\"},on:{\"click\":_vm.incrementZoom}}),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"size\":\"mini\"},on:{\"click\":_vm.decrementZoom}})],1):_vm._e()],1),_c('div',{attrs:{\"id\":\"center-controls\"}},[_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Page Back\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.pageBack()}}},[_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"18\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\"}},[_c('path',{attrs:{\"d\":\"M10.959,0.571 L3.756,5.52 C3.756,5.52 3.477,5.721 3.477,6.001 C3.477,6.281 3.756,6.48 3.756,6.48 L10.959,11.431 C11.531,11.811 12,11.53 12,10.805 L12,1.196 C12,0.469 11.531,0.188 10.959,0.571 Z M2,0 L1,0 C0.447,0 0,0.048 0,0.6 L0,11.4 C0,11.952 0.447,12 1,12 L2,12 C2.553,12 3,11.952 3,11.4 L3,0.6 C3,0.048 2.553,0 2,0 Z\"}})])])]),_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Automatic Forward\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.togglePlayback()}}},[(_vm.isPlaying)?_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"18\",\"height\":\"12\",\"viewBox\":\"0 0 10 12\"}},[_c('path',{attrs:{\"d\":\"M2,0 C2.553,0 3,0.048 3,0.6 L3,11.4 C3,11.952 2.553,12 2,12 L1,12 C0.447,12 0,11.952 0,11.4 L0,0.6 C0,0.048 0.447,0 1,0 L2,0 Z M9,0 C9.553,0 10,0.048 10,0.6 L10,11.4 C10,11.952 9.553,12 9,12 L8,12 C7.447,12 7,11.952 7,11.4 L7,0.6 C7,0.048 7.447,0 8,0 L9,0 Z\"}})]):_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"18\",\"height\":\"12\",\"viewBox\":\"0 0 10 12\"}},[_c('path',{attrs:{\"d\":\"M10,6.001 C10,6.3 9.695,6.515 9.695,6.515 L1.134,11.818 C0.51,12.227 0,11.924 0,11.149 L0,0.852 C0,0.075 0.51,-0.226 1.135,0.182 L9.696,5.487 C9.695,5.487 10,5.702 10,6.001 Z\"}})])])]),_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Next Page\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.pageForward()}}},[_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"18\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\"}},[_c('path',{attrs:{\"d\":\"M8.244,5.52 L1.041,0.571 C0.469,0.188 0,0.469 0,1.196 L0,10.805 C0,11.53 0.469,11.811 1.041,11.43 L8.244,6.479 C8.244,6.479 8.523,6.28 8.523,6.001 C8.523,5.721 8.244,5.52 8.244,5.52 Z M10,0 L11,0 C11.553,0 12,0.048 12,0.6 L12,11.4 C12,11.952 11.553,12 11,12 L10,12 C9.447,12 9,11.952 9,11.4 L9,0.6 C9,0.048 9.447,0 10,0 Z\"}})])])])],1),_c('div',{attrs:{\"id\":\"right-controls\"}},[_c('el-tooltip',{attrs:{\"placement\":\"top-end\",\"content\":\"Toggle Play Back Speed Controls\"}},[_c('button',{staticClass:\"btn-icon\",on:{\"click\":function($event){return _vm.togglePlaybackSpeed()}}},[_c('svg',{staticClass:\"svg-fill icon\",attrs:{\"width\":\"22\",\"height\":\"20\",\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M5.1008,5.396 C4.7432,5.616 6.0584,8.7896 6.3792,9.3064 C6.6592,9.7616 7.2536,9.9 7.7056,9.6216 C8.16,9.34 8.3016,8.7464 8.0216,8.2936 C7.704,7.7752 5.4576,5.1752 5.1008,5.396 Z M4.8328,1.9216 C5.5752,1.6632 6.3704,1.52 7.2,1.52 C8.0296,1.52 8.8248,1.6632 9.5672,1.9216 C9.8304,2.0128 10.1792,1.8296 10.0248,1.4328 C9.912,1.1448 9.8032,0.8632 9.7592,0.7488 C9.6544,0.4776 9.2792,0.2536 9.116,0.2168 C8.4984,0.0776 7.8584,0 7.2,0 C6.5416,0 5.9016,0.0776 5.2832,0.2168 C5.12,0.2536 4.7456,0.4776 4.6408,0.7488 C4.5968,0.8632 4.4872,1.1448 4.3752,1.4328 C4.2208,1.8296 4.5696,2.0136 4.8328,1.9216 Z M14.4784,2.5488 C14.3248,2.3648 14.1616,2.1848 13.988,2.0112 C13.8152,1.8376 13.6352,1.6752 13.452,1.5208 C13.3296,1.4176 12.9696,1.3336 12.7416,1.5616 C12.5144,1.7896 11.4232,2.8792 11.4232,2.8792 C11.7448,3.1096 12.0576,3.3632 12.3472,3.652 C12.6368,3.9408 12.8888,4.2536 13.12,4.576 C13.12,4.576 14.2104,3.4864 14.4376,3.2584 C14.6664,3.0296 14.5824,2.6704 14.4784,2.5488 Z M7.2,2.32 C3.62,2.32 0.7192,5.2208 0.7192,8.8 C0.7192,12.38 3.62,15.2808 7.2,15.2808 C10.7784,15.2808 13.68,12.38 13.68,8.8 C13.68,5.2216 10.7784,2.32 7.2,2.32 Z M7.2,13.6808 C4.5056,13.6808 2.32,11.496 2.32,8.8008 C2.32,6.1056 4.5048,3.9208 7.2,3.9208 C9.8952,3.9208 12.0808,6.1056 12.0808,8.8008 C12.0808,11.4952 9.8952,13.6808 7.2,13.6808 Z\"}})])])]),(_vm.showPlaybackSpeed)?_c('el-select',{staticClass:\"playSelect\",attrs:{\"placeholder\":\"Select\",\"size\":\"mini\"},model:{value:(_vm.selectedPlaySpeed),callback:function ($$v) {_vm.selectedPlaySpeed=$$v},expression:\"selectedPlaySpeed\"}},_vm._l((_vm.playSpeedOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"timeseries-viewer-toolbar\">\n <div id=\"left-controls\">\n <el-tooltip\n placement=\"top-end\"\n content=\"Toggle Time Zoom Controls\">\n <button\n class=\"btn-icon\"\n @click=\"toggleTimeZoom()\">\n <svg\n class=\"svg-fill icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M13.653125,14.3537502 L11.29125,11.9918752 C11.6475,11.4075002 11.8525,10.7200002 11.8525,9.98562517 C11.8525,7.85000017 10.001875,6.00000017 7.86625,6.00000017 C5.730625,5.99937517 4,7.73062517 4,9.86625017 C4,12.0012502 5.850625,13.8518752 7.985625,13.8518752 C8.69625,13.8518752 9.360625,13.6587502 9.9325,13.3243752 L12.306875,15.7000002 C12.539375,15.9318752 12.91625,15.9318752 13.148125,15.7000002 L13.7375,15.1106252 C13.969375,14.8787502 13.885,14.5856252 13.653125,14.3537502 Z M5.19,9.86625017 C5.19,8.38750017 6.388125,7.18937517 7.86625,7.18937517 C9.345,7.18937517 10.6625,8.50625017 10.6625,9.98562517 C10.6625,11.4637502 9.46375,12.6625002 7.985625,12.6625002 C6.506875,12.6618752 5.19,11.3443752 5.19,9.86625017 Z M16,3 L13,6 L13,4 L9,4 L9,2 L13,2 L13,6.2778623e-16 L16,3 Z M3,6 L2.66453526e-15,3 L3,-7.66951701e-17 L3,2 L9,2 L9,4 L3,4 L3,6 Z\"/>\n </svg>\n </button>\n </el-tooltip>\n\n <el-input-number\n v-model=\"durationInSeconds\"\n v-if=\"showTimeZoom\"\n :precision=\"1\"\n :step=\"5\"\n :max=\"this.constants['MAXDURATION']\"\n size=\"mini\"\n controls-position=\"right\">\n </el-input-number>\n\n <el-tooltip\n placement=\"top-end\"\n content=\"Toggle Vertical Zoom Controls\">\n <button\n class=\"btn-icon\"\n @click=\"toggleVerticalZoom()\">\n <svg\n class=\"svg-fill icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M15.715625,12.416875 L13.35375,10.055 C13.71,9.470625 13.915,8.783125 13.915,8.04875 C13.915,5.913125 12.064375,4.063125 9.92875,4.063125 C7.793125,4.0625 6.0625,5.79375 6.0625,7.929375 C6.0625,10.064375 7.913125,11.915 10.048125,11.915 C10.75875,11.915 11.423125,11.721875 11.995,11.3875 L14.369375,13.763125 C14.601875,13.995 14.97875,13.995 15.210625,13.763125 L15.8,13.17375 C16.031875,12.941875 15.9475,12.64875 15.715625,12.416875 Z M7.2525,7.929375 C7.2525,6.450625 8.450625,5.2525 9.92875,5.2525 C11.4075,5.2525 12.725,6.569375 12.725,8.04875 C12.725,9.526875 11.52625,10.725625 10.048125,10.725625 C8.569375,10.725 7.2525,9.4075 7.2525,7.929375 Z M3,0 L6,3 L4,3 L4,7 L2,7 L2,3 L0,3 L3,0 Z M6,13 L3,16 L0,13 L2,13 L2,7 L4,7 L4,13 L6,13 Z\"/>\n </svg>\n </button>\n </el-tooltip>\n\n <el-button-group v-if=\"showVertZoom\">\n <el-button icon=\"el-icon-plus\" size=\"mini\" @click=\"incrementZoom\"></el-button>\n <el-button icon=\"el-icon-minus\" size=\"mini\" @click=\"decrementZoom\"></el-button>\n </el-button-group>\n </div>\n\n <div id=\"center-controls\">\n <el-tooltip\n placement=\"top-end\"\n content=\"Page Back\">\n <button\n class=\"btn-icon\"\n @click=\"pageBack()\">\n <svg\n class=\"svg-fill icon\"\n width=\"18\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n >\n <path d=\"M10.959,0.571 L3.756,5.52 C3.756,5.52 3.477,5.721 3.477,6.001 C3.477,6.281 3.756,6.48 3.756,6.48 L10.959,11.431 C11.531,11.811 12,11.53 12,10.805 L12,1.196 C12,0.469 11.531,0.188 10.959,0.571 Z M2,0 L1,0 C0.447,0 0,0.048 0,0.6 L0,11.4 C0,11.952 0.447,12 1,12 L2,12 C2.553,12 3,11.952 3,11.4 L3,0.6 C3,0.048 2.553,0 2,0 Z\"/>\n </svg>\n </button>\n </el-tooltip>\n<!-- \n <el-tooltip\n placement=\"top-end\"\n content=\"Previous Annotation\">\n <button\n class=\"btn-icon\"\n @click=\"previousAnnotation()\">\n <svg-icon\n name=\"next-annotation-left-facing\"\n height=\"12\"\n width=\"18\"/>\n </button>\n </el-tooltip> -->\n \n <el-tooltip\n placement=\"top-end\"\n content=\"Automatic Forward\">\n <button\n class=\"btn-icon\"\n @click=\"togglePlayback()\">\n <svg\n v-if=\"isPlaying\"\n class=\"svg-fill icon\"\n width=\"18\"\n height=\"12\"\n viewBox=\"0 0 10 12\"\n >\n <path d=\"M2,0 C2.553,0 3,0.048 3,0.6 L3,11.4 C3,11.952 2.553,12 2,12 L1,12 C0.447,12 0,11.952 0,11.4 L0,0.6 C0,0.048 0.447,0 1,0 L2,0 Z M9,0 C9.553,0 10,0.048 10,0.6 L10,11.4 C10,11.952 9.553,12 9,12 L8,12 C7.447,12 7,11.952 7,11.4 L7,0.6 C7,0.048 7.447,0 8,0 L9,0 Z\"/>\n </svg>\n <svg\n v-else\n class=\"svg-fill icon\"\n width=\"18\"\n height=\"12\"\n viewBox=\"0 0 10 12\"\n >\n <path d='M10,6.001 C10,6.3 9.695,6.515 9.695,6.515 L1.134,11.818 C0.51,12.227 0,11.924 0,11.149 L0,0.852 C0,0.075 0.51,-0.226 1.135,0.182 L9.696,5.487 C9.695,5.487 10,5.702 10,6.001 Z'/>\n </svg>\n </button>\n </el-tooltip>\n<!--\n <el-tooltip\n placement=\"top-end\"\n content=\"Next Annotation\">\n <button\n class=\"btn-icon\"\n @click=\"nextAnnotation()\">\n <svg-icon\n name=\"next-annotation-right-facing\"\n height=\"12\"\n width=\"18\"/>\n </button>\n \n </el-tooltip> -->\n \n <el-tooltip\n placement=\"top-end\"\n content=\"Next Page\">\n <button\n class=\"btn-icon\"\n @click=\"pageForward()\">\n <svg\n class=\"svg-fill icon\"\n width=\"18\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n >\n <path d=\"M8.244,5.52 L1.041,0.571 C0.469,0.188 0,0.469 0,1.196 L0,10.805 C0,11.53 0.469,11.811 1.041,11.43 L8.244,6.479 C8.244,6.479 8.523,6.28 8.523,6.001 C8.523,5.721 8.244,5.52 8.244,5.52 Z M10,0 L11,0 C11.553,0 12,0.048 12,0.6 L12,11.4 C12,11.952 11.553,12 11,12 L10,12 C9.447,12 9,11.952 9,11.4 L9,0.6 C9,0.048 9.447,0 10,0 Z\"/>\n </svg>\n </button>\n </el-tooltip>\n </div>\n <div id=\"right-controls\">\n<!-- <el-tooltip-->\n<!-- placement=\"top-end\"-->\n<!-- content=\"Montaging Controls\">-->\n<!-- <el-select v-model=\"selectedMontage\" placeholder=\"Select\" size=\"mini\" @change=\"updateMontageScheme\">-->\n<!-- <el-option-->\n<!-- v-for=\"item in montageOptions\"-->\n<!-- :key=\"item.value\"-->\n<!-- :label=\"item.label\"-->\n<!-- :value=\"item.value\">-->\n<!-- </el-option>-->\n<!-- </el-select>-->\n<!-- </el-tooltip>-->\n\n <el-tooltip\n placement=\"top-end\"\n content=\"Toggle Play Back Speed Controls\">\n <button\n class=\"btn-icon\"\n @click=\"togglePlaybackSpeed()\">\n <svg\n class=\"svg-fill icon\"\n width=\"22\"\n height=\"20\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M5.1008,5.396 C4.7432,5.616 6.0584,8.7896 6.3792,9.3064 C6.6592,9.7616 7.2536,9.9 7.7056,9.6216 C8.16,9.34 8.3016,8.7464 8.0216,8.2936 C7.704,7.7752 5.4576,5.1752 5.1008,5.396 Z M4.8328,1.9216 C5.5752,1.6632 6.3704,1.52 7.2,1.52 C8.0296,1.52 8.8248,1.6632 9.5672,1.9216 C9.8304,2.0128 10.1792,1.8296 10.0248,1.4328 C9.912,1.1448 9.8032,0.8632 9.7592,0.7488 C9.6544,0.4776 9.2792,0.2536 9.116,0.2168 C8.4984,0.0776 7.8584,0 7.2,0 C6.5416,0 5.9016,0.0776 5.2832,0.2168 C5.12,0.2536 4.7456,0.4776 4.6408,0.7488 C4.5968,0.8632 4.4872,1.1448 4.3752,1.4328 C4.2208,1.8296 4.5696,2.0136 4.8328,1.9216 Z M14.4784,2.5488 C14.3248,2.3648 14.1616,2.1848 13.988,2.0112 C13.8152,1.8376 13.6352,1.6752 13.452,1.5208 C13.3296,1.4176 12.9696,1.3336 12.7416,1.5616 C12.5144,1.7896 11.4232,2.8792 11.4232,2.8792 C11.7448,3.1096 12.0576,3.3632 12.3472,3.652 C12.6368,3.9408 12.8888,4.2536 13.12,4.576 C13.12,4.576 14.2104,3.4864 14.4376,3.2584 C14.6664,3.0296 14.5824,2.6704 14.4784,2.5488 Z M7.2,2.32 C3.62,2.32 0.7192,5.2208 0.7192,8.8 C0.7192,12.38 3.62,15.2808 7.2,15.2808 C10.7784,15.2808 13.68,12.38 13.68,8.8 C13.68,5.2216 10.7784,2.32 7.2,2.32 Z M7.2,13.6808 C4.5056,13.6808 2.32,11.496 2.32,8.8008 C2.32,6.1056 4.5048,3.9208 7.2,3.9208 C9.8952,3.9208 12.0808,6.1056 12.0808,8.8008 C12.0808,11.4952 9.8952,13.6808 7.2,13.6808 Z\"/>\n </svg> \n </button>\n </el-tooltip>\n\n <el-select\n v-model=\"selectedPlaySpeed\"\n v-if=\"showPlaybackSpeed\"\n placeholder=\"Select\"\n size=\"mini\"\n class=\"playSelect\">\n <el-option\n v-for=\"item in playSpeedOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\">\n </el-option>\n </el-select>\n\n </div>\n\n </div>\n</template>\n\n<script>\n export default {\n name: 'TimeseriesViewerToolbar',\n computed: {\n durationInSeconds: {\n // getter\n get: function () {\n return this.duration / 1e6\n },\n // setter\n set: function (newValue) {\n this.$emit('updateDuration', newValue)\n }\n }\n },\n props: {\n constants: Object,\n duration: Number,\n start: Number\n },\n data: function () {\n return {\n showVertZoom: true,\n showTimeZoom: true,\n showPlaybackSpeed: true,\n selectedTimeRange: 0,\n isPlaying: false,\n montageOptions: [{\n value: 'NOT_MONTAGED',\n label: 'Continuous (Default)'\n }, {\n value: 'REFERENTIAL_VS_CZ',\n label: 'Referential Montage'\n }, {\n value: 'BIPOLAR_ANT_POS',\n label: 'Ant/Post Montage'\n }, {\n value: 'BIPOLAR_TRANSVERSE',\n label: 'Transverse Montage'\n }],\n selectedMontage: '',\n playSpeedOptions: [{\n value: 0.5,\n label: '0.5x'\n }, {\n value: 1,\n label: '1x'\n }, {\n value: 2,\n label: '2x'\n }, {\n value: 5,\n label: '5x'\n },\n {\n value: 10,\n label: '10x'\n }],\n selectedPlaySpeed: null,\n intervalTimer: null,\n intervalPeriod: 150,\n intervalPage: 1000000\n }\n },\n mounted: function () {\n this.selectedMontage = 'NOT_MONTAGED'\n this.selectedPlaySpeed = 1\n },\n methods: {\n updateMontageScheme: function (value) {\n console.log('Updating Montage Scheme:' + value)\n this.$store.dispatch('setViewerMontageScheme', value)\n },\n updatePlaybackSpeed: function (value) {\n console.log('Updating Playback Speed:' + value)\n },\n toggleTimeZoom: function () {\n this.showTimeZoom = !this.showTimeZoom\n },\n toggleVerticalZoom: function () {\n this.showVertZoom = !this.showVertZoom\n },\n togglePlaybackSpeed: function () {\n this.showPlaybackSpeed = !this.showPlaybackSpeed\n },\n togglePlayback: function () {\n if(this.isPlaying === false) {\n this.startPlay();\n } else {\n this.stopPlay();\n }\n },\n pageBack: function() {\n this.$emit('pageBack')\n },\n pageForward: function() {\n this.$emit('pageForward')\n },\n incrementZoom: function() {\n this.$emit('incrementZoom')\n },\n decrementZoom: function() {\n this.$emit('decrementZoom')\n },\n updateDuration: function() {\n this.$emit('updateDuration',this.selectedTimeRange)\n },\n nextAnnotation: function () {\n this.$emit('nextAnnotation')\n },\n previousAnnotation: function () {\n this.$emit('previousAnnotation')\n },\n startPlay: function() {\n this.isPlaying = true\n let that = this;\n this.intervalTimerFnc = function() {\n that.$emit('setStart', that.start + (that.intervalPage * that.selectedPlaySpeed))\n that.intervalTimer = setTimeout( that.intervalTimerFnc, that.intervalPeriod);\n }\n this.intervalTimer = setTimeout(this.intervalTimerFnc, this.intervalPeriod);\n },\n stopPlay: function() {\n this.isPlaying = false\n this.intervalPeriod = 150;\n clearInterval(this.intervalTimer);\n }\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .timeseries-viewer-toolbar {\n border-top: 1px solid #DADADA;\n background: #F7F7F7;\n display: flex;\n padding: 8px 0;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n }\n .icon {\n vertical-align: middle;\n padding-bottom: 1px;\n }\n .btn-icon {\n color: #928D85;\n margin-left: 8px;\n margin-right: 2px;\n &:last-child {\n margin-right:8px;\n }\n &.selected, &:hover, &[focused] {\n color: #5039F7;\n }\n &[disabled] {\n color: #E7E5E1;\n }\n }\n .playSelect {\n width: 75px;\n margin-right: 8px;\n }\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerToolbar.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-style-loader/index.js??clonedRuleSet-62[0].rules[0].use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewerToolbar.vue?vue&type=style&index=0&id=09a81dc6&lang=scss&scoped=true&\"","import { render, staticRenderFns } from \"./TSViewerToolbar.vue?vue&type=template&id=09a81dc6&scoped=true&\"\nimport script from \"./TSViewerToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./TSViewerToolbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TSViewerToolbar.vue?vue&type=style&index=0&id=09a81dc6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09a81dc6\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n ref=\"ts_viewer\"\n class=\"timeseries-viewer\"\n >\n <timeseries-scrubber\n ref=\"scrubber\"\n :ts_start=\"ts_start\"\n :ts_end=\"ts_end\"\n :c-width=\"cWidth\"\n :label-width=\"labelWidth\"\n :cursor-loc=\"cursorLoc\"\n :start=\"start\"\n :duration=\"duration\"\n :constants=\"constants\"\n @setStart=\"updateStart\"\n />\n\n <div id=\"channelCanvas\">\n <!-- Channel labels -->\n <div\n id=\"channelLabels\"\n ref=\"channelLabels\"\n :style=\"channelStyle\"\n >\n <div\n v-for=\"item in viewerChannels\"\n v-show=\"item.visible\"\n :key=\"item.label\"\n >\n <div\n class=\"chLabelWrap\"\n :data-id=\"item.id\"\n @tap=\"onLabelTap\"\n >\n <div class=\"labelDiv\" :style=\"_cpStyleLabels\">\n {{ item.label }}\n </div>\n <div\n class=\"chLabelIndWrap\"\n v-if=\"!hideLabelInfo\"\n :selected=\"item.selected\"\n >\n <div\n class=\"chLabelInd\"\n\n >\n {{ _computeLabelInfo(item, globalZoomMult, item.rowScale) }}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Timeseries viewport -->\n <timeseries-viewer-canvas\n ref=\"viewerCanvas\"\n :window_height=\"window_height\"\n :window_width=\"window_width\"\n :duration=\"duration\"\n :start=\"start\"\n :c-width=\"cWidth\"\n :c-height=\"cHeight\"\n :constants=\"constants\"\n :ts-start=\"ts_start\"\n :ts-end=\"ts_end\"\n :cursor-loc=\"cursorLoc\"\n :global-zoom-mult=\"globalZoomMult\"\n @setStart=\"updateStart\"\n @setCursor=\"setCursor\"\n @setGlobalZoom=\"setGlobalZoom\"\n @setDuration=\"setDuration\"\n @channelsInitialized=\"onChannelsInitialized\"\n @annLayersInitialized=\"onAnnLayersInitialized\"\n @closeAnnotationLayerWindow=\"onCloseAnnotationLayerWindow\"\n @addAnnotation=\"onOpenAnnotationWindow\"\n @updateAnnotation=\"onUpdateAnnotation\"\n />\n </div>\n\n <timeseries-viewer-toolbar\n :constants=\"constants\"\n :duration=\"duration\"\n :start=\"start\"\n @pageBack=\"onPageBack\"\n @pageForward=\"onPageForward\"\n @incrementZoom=\"onIncrementZoom\"\n @decrementZoom=\"onDecrementZoom\"\n @updateDuration=\"onUpdateDuration\"\n @nextAnnotation=\"onNextAnnotation\"\n @previousAnnotation=\"onPreviousAnnotation\"\n @setStart=\"updateStart\"\n />\n\n<!-- <timeseries-filter-modal-->\n<!-- ref=\"filterWindow\"-->\n<!-- :filter-window-open=\"filterWindowOpen\"-->\n<!-- @closeWindow=\"onCloseFilterWindow\"-->\n<!-- />-->\n\n<!-- <timeseries-annotation-modal-->\n<!-- ref=\"annotationModal\"-->\n<!-- :visible.sync=\"annotationWindowOpen\"-->\n<!-- @closeWindow=\"onCloseAnnotationWindow\"-->\n<!-- @createUpdateAnnotation=\"onCreateUpdateAnnotation\"-->\n<!-- />-->\n\n<!-- <timeseries-annotation-layer-modal-->\n<!-- ref=\"layerModal\"-->\n<!-- :annotation-layer-window-open=\"annotationLayerWindowOpen\"-->\n<!-- @closeWindow=\"onCloseAnnotationLayerWindow\"-->\n<!-- @createLayer=\"onCreateAnnotationLayer\"-->\n<!-- />-->\n\n </div>\n</template>\n\n<script>\n import {\n head,\n propOr,\n isEmpty\n } from 'ramda'\n import ViewerActiveTool from '@/mixins/viewer-active-tool'\n import Request from '@/mixins/request'\n import TsAnnotation from '@/mixins/ts-annotation'\n import TimeseriesScrubber from '@/components/TSScrubber.vue'\n import TimeseriesViewerCanvas from '@/components/TSViewerCanvas.vue'\n import TimeseriesViewerToolbar from '@/components/TSViewerToolbar.vue'\n export default {\n name: 'TimeseriesViewer',\n components:{\n TimeseriesScrubber,\n TimeseriesViewerCanvas,\n TimeseriesViewerToolbar\n //'timeseries-filter-modal': () => import('@/components/viewers/TSViewer/TSFilterModal.vue'),\n //'timeseries-annotation-layer-modal': () => import('@/components/viewers/TSViewer/TSViewerLayerWindow.vue'),\n //'timeseries-annotation-modal': () => import('@/components/viewers/TSViewer/TSAnnotationModal.vue')\n },\n mixins: [\n Request,\n ViewerActiveTool,\n TsAnnotation,\n ],\n watch: {\n viewerSidePanelOpen: {\n handler: function() {\n // console.log('resized triggered')\n this.onResize()\n },\n immediate: true\n },\n userToken: {\n handler: async function(token) {\n await this.$store.dispatch('updateUserToken', token)\n },\n immediate: true\n },\n packageId: {\n handler: async function(id) {\n await this.$store.dispatch('openViewer', {\n packageId: id,\n packageType: this.packageType\n })\n },\n immediate: true\n }\n },\n props: {\n userToken: {\n type: String,\n default: () => ''\n },\n packageId: {\n type: String,\n default: () => ''\n },\n packageType: {\n type: String,\n default: () => ''\n }\n },\n computed: {\n viewerChannels: function() {\n return this.$store.getters.viewerChannels\n },\n viewerAnnotations: function() {\n return this.$store.getters.viewerAnnotations\n },\n viewerSidePanelOpen: function() {\n return this.$store.getters.viewerSidePanelOpen\n },\n viewerMontageScheme: function() {\n return this.$store.getters.viewerMontageScheme\n },\n channelStyle: function() {\n return {\n height: this.window_height - 110 + 'px'\n }\n },\n hideLabelInfo: function() {\n let hide = false;\n const nrChannels = this.nrVisChannels\n if (this.cHeight/nrChannels < 30) {\n hide = true;\n }\n return hide;\n },\n nrVisChannels: function() {\n return this.viewerChannels.reduce((accumulator, currentValue) => {\n if(currentValue.visible) {\n return accumulator + 1\n }\n return accumulator\n }, 0)\n },\n _cpStyleLabels: function() {\n const h = Math.max(1, Math.min(12, (this.window_height - 110)/this.nrVisChannels-2));\n return 'font-size:' + h + 'px; height:' + h + 'px';\n },\n },\n data: function () {\n return {\n constants: {\n TIMEUNIT: 'microSeconds', // Basis for time\n XOFFSET: 0, // X-offset of graph in canvas\n XGRIDSPACING: 1000000, // Time in microseconds between vertical lines\n NRPXPERLABEL: 150, // Number of pixels per label on x-axis\n USEREALTIME: true, // If true than interpret timepoints as UTC microseconds.\n DEFAULTDPI: 96, // Default pixels per inch\n ANNOTATIONLABELHEIGHT: 20, // Height of annotation label\n ROUNDDATAPIXELS: false, // If true, canvas point will be rounded to integer pixels for faster render (faster)\n MINMAXPOLYGON: true, // If true, then polygon is rendered thru minMax values, otherwise vertical lines (faster)\n PAGESIZEDIVIDER: 0.5, // Number of pages that span the current canvas.\n PREFETCHPAGES: 2, // Number of pages to read ahead of view.\n LIMITANNFETCH: 500, // Maximum number of annotations that are fetched per request\n USEMEDIAN: false, // Use Median instead of mean for centering channels\n CURSOROFFSET: 5, // Offset of cursor canvas\n SEGMENTSPAN: 1209600000000, // One week of gap-data is returned per request.\n MAXRECURSION: 20, // Maximum recursion depth of gap-data requests (max 2 years)\n MAXDURATION: 600000000, // Maximum duration window (5min)\n INITDURATION: 15000000 // Initial duration window (15sec)\n },\n summary: {},\n ts_start: null,\n ts_end: null,\n window_height: 0,\n window_width:0,\n start:0, // Start Timestamp of viewer in microseconds\n duration: 0, // Length of data in viewer in microseconds (ignore gaps)\n cWidth: 0,\n cHeight: 0,\n labelWidth:0,\n globalZoomMult: 1,\n cursorLoc: 1/10,\n filterWindowOpen: false,\n annotationWindowOpen: false,\n annotationLayerWindowOpen: false,\n annotationDelete: null,\n isTsAnnotationDeleteDialogVisible: false,\n }\n },\n mounted: function () {\n this.window_height = window.innerHeight - 144 - 250;\n this.window_width = this.$refs.ts_viewer.offsetWidth\n window.addEventListener('resize', this.onResize)\n const labelDiv = this.$refs.channelLabels\n this.labelWidth = labelDiv.clientWidth\n this.cWidth = (this.window_width - labelDiv.clientWidth - 5 - 10)\n this.cHeight = (this.window_height - 88)\n this.duration = this.constants['INITDURATION']\n },\n beforeDestroy() {\n window.removeEventListener('resize', this.onResize)\n },\n methods: {\n openEditAnnotationDialog: function(annotation) {\n this.$store.dispatch('setActiveAnnotation', annotation).then(() =>{\n this.$refs.viewerCanvas.renderAnnotationCanvas()\n this.annotationWindowOpen = true\n })\n },\n onUpdateAnnotation: function(annotation) {\n this.openEditAnnotationDialog(annotation)\n },\n onCreateUpdateAnnotation: function(annotation) {\n this.annotationWindowOpen = false\n if (annotation.id) {\n this.updateAnnotation()\n } else {\n this.addAnnotation()\n }\n },\n onAnnotationUpdated: function() {\n this.$refs.viewerCanvas.renderAnnotationCanvas()\n },\n onOpenAnnotationWindow: function() {\n this.annotationWindowOpen = true\n },\n confirmDeleteAnnotation: function(annotation) {\n this.annotationDelete = annotation\n this.isTsAnnotationDeleteDialogVisible = true\n },\n deleteAnnotation: function(annotation) {\n this.isTsAnnotationDeleteDialogVisible = false\n this.removeAnnotation(annotation)\n },\n onAnnotationDeleted: function() {\n this.$refs.viewerCanvas.renderAnnotationCanvas()\n },\n onAddAnnotation: function (start, duration, onAll, label, description, layer) {\n this.addAnnotation(start, duration, onAll, label, description, layer)\n },\n onAnnotationCreated: function() {\n this.$refs.viewerCanvas.renderAnnotationCanvas()\n },\n onCreateAnnotationLayer: function (newLayer) {\n this.$refs.viewerCanvas.createAnnotationLayer(newLayer)\n },\n onCloseAnnotationLayerWindow: function() {\n this.annotationLayerWindowOpen = false\n },\n onCloseAnnotationWindow: function() {\n this.$refs.viewerCanvas.resetFocusedAnnotation()\n this.$refs.viewerCanvas.renderAnnotationCanvas()\n this.annotationWindowOpen = false\n },\n onCloseFilterWindow: function() {\n this.filterWindowOpen = false\n },\n onLabelTap: function(e) {\n e.stopPropagation();\n e.preventDefault();\n const append = e.detail.sourceEvent.metaKey;\n this.selectChannel({channelId: e.currentTarget.dataset.id, append:append});\n this.$refs.viewerCanvas.renderAll()\n },\n onNextAnnotation: function () {\n this.start = this.$refs.viewerCanvas.getNextAnnotation()\n },\n onPreviousAnnotation: function () {\n this.start = this.$refs.viewerCanvas.getPreviousAnnotation()\n },\n onUpdateDuration: function(value) {\n this.setDuration(value * 1e6)\n },\n onIncrementZoom: function () {\n this.globalZoomMult = this.globalZoomMult * 1.25\n },\n onDecrementZoom: function () {\n this.globalZoomMult = this.globalZoomMult * 0.8\n },\n onAnnLayersInitialized: function () {\n this.$refs.scrubber.getAnnotations()\n },\n onChannelsInitialized: function (channels) {\n this.initViewerStart((channels))\n // TODO: Bring back\n // this.$refs.scrubber.initSegmentSpans()\n // Resize the canvas as label length likely changed\n this.$nextTick(() => {\n this.onResize()\n })\n },\n onPageBack: function() {\n //TODO: Update logic to track gap over all channels\n let setStart = this.start - (3*this.duration)/4\n\n //TODO: Bring back when we have segment sections information\n // let channelOneSegments = this.viewerChannels[0].dataSegments\n //\n // let i = 0;\n // for(let segment in channelOneSegments) {\n // if (channelOneSegments[segment] > setStart) {\n // break\n // }\n // i++\n // }\n //\n // // If new page completely in gap --> set start to next timestamp with data\n // if(i % 2 == 0) {\n // setStart = channelOneSegments[i-1] - 0.5*this.duration\n // }\n this.start = setStart\n },\n onPageForward: function() {\n //TODO: Update logic to track gap over all channels\n let setStart = this.start + (3*this.duration)/4\n\n //TODO: Bring back when we have segment sections information\n // let channelOneSegments = this.viewerChannels[0].dataSegments\n //\n // let i = 0;\n // for(let segment in channelOneSegments) {\n // if (channelOneSegments[segment] > setStart) {\n // break\n // }\n // i++\n // }\n //\n // // If new page completely in gap --> set start to next timestamp with data\n // if(i % 2 == 0) {\n // setStart = channelOneSegments[i] - 0.5*this.duration\n // }\n\n this.start = setStart\n },\n selectAnnotation: function(payload) {\n let rsPeriod = this.$refs.viewerCanvas.rsPeriod\n this.updateStart(payload.annotation.start - ((this.cursorLoc*this.cWidth - this.constants['CURSOROFFSET']) * rsPeriod))\n },\n selectChannel: function(payload) {\n const _channels = this.viewerChannels.map(channel => {\n const selected = channel.selected\n if (payload['append'] === false) {\n channel.selected = false\n }\n if (payload['channelId'] === channel.id) {\n channel.selected = !selected\n }\n return channel\n })\n this.$store.dispatch('setChannels', _channels)\n },\n selectChannels: function(ids, append) {\n const channels = this.viewerChannels.map(channel => {\n if (append === false) {\n channel.selected = false\n }\n if( channel.id in ids) {\n channel.selected = true\n }\n return channel\n })\n this.$store.dispatch('setChannels', channels)\n },\n updateStart: function(value) {\n // console.log('setting start to: ' + value)\n this.start = value\n },\n setCursor: function(value) {\n // set the cursor location as a fraction of the width of the canvas\n this.cursorLoc = value\n },\n setGlobalZoom: function(value) {\n // console.log('setGlobalZoom')\n this.globalZoomMult = value\n },\n setDuration: function(value) {\n if (value > this.constants['MAXDURATION']) {\n this.duration = this.constants['MAXDURATION']\n } else {\n this.duration = value\n }\n },\n getChannelId: function(channel) {\n const isViewingMontage = this.viewerMontageScheme !== 'NOT_MONTAGED'\n let id = propOr('', 'id', channel)\n let list = []\n if (isViewingMontage) {\n list = id.split('_')\n id = list.length ? head(list) : id // remove channel name from id\n }\n return id\n },\n onResize() {\n if (this.$refs.ts_viewer === undefined) {\n return\n }\n this.window_height = window.innerHeight - 144 - 250;\n this.window_width = this.$refs.ts_viewer.offsetWidth\n const labelDiv = this.$refs.channelLabels;\n this.labelWidth = labelDiv.clientWidth\n this.cWidth = (this.window_width - labelDiv.clientWidth - 16);\n this.cHeight = (this.window_height - 88);\n },\n _computeLabelInfo: function(item, globalZoomMult, rowscale) {\n const n = ( ( (this.constants['DEFAULTDPI'] * window.devicePixelRatio)/(globalZoomMult * rowscale) )/25.4).toFixed(1);\n return n+ ' ' + item.unit + '/mm'\n },\n initViewerStart: function(channels) {\n // const channels = this.activeViewer.channels\n if (channels.length > 0) {\n // Find Global start and end\n this.ts_start = channels[0].content.start\n this.ts_end = channels[0].content.end\n for (let ic = 1; ic<channels.length; ic++) {\n if (channels[ic].content.start < this.ts_start) {\n this.ts_start = channels[ic].content.start\n }\n if (channels[ic].content.end > this.ts_end) {\n this.ts_end = channels[ic].content.end\n }\n }\n this.start = this.ts_start\n }\n },\n openLayerWindow: function(payload) {\n const layerModal = this.$refs.layerModal\n layerModal.isCreating = payload.isCreating\n if (!payload.isCreating) {\n layerModal.layer = payload.layer\n } else {\n layerModal.layer = {}\n // layerModal.setColorByIndex(this.viewerAnnotations.length % layerModal.colorOptions.length)\n }\n this.annotationLayerWindowOpen = true\n },\n openFilterWindow: function(payload) {\n const channels = propOr([], 'channels', payload);\n const filter = propOr('', 'filter', payload);\n const filterWindow = this.$refs.filterWindow;\n filterWindow.onChannels = channels;\n if (!isEmpty(filter)) {\n filterWindow.input0 = filter.input0;\n filterWindow.input1 = filter.input1;\n for (let i=0; i<filterWindow._filters.length; i++) {\n if (filterWindow._filters[i].value === filter.type) {\n filterWindow.selectedFilter = filter.type;\n break;\n }\n }\n for (let i=0; i<filterWindow._notchValues.length; i++) {\n if (filterWindow._notchValues[i].value === filter.notchFreq) {\n filterWindow.selectedNotch = filter.notchFreq;\n break;\n }\n }\n } else {\n filterWindow.input0 = NaN;\n filterWindow.input1 = NaN;\n filterWindow.selectedFilter = null;\n filterWindow.selectedNotch = null;\n }\n this.filterWindowOpen = true\n },\n setTimeseriesFilters: function(payload) {\n this.$refs.viewerCanvas.setFilters(payload)\n }\n }\n }\n</script>\n\n<style lang=\"scss\" scoped>\n .timeseries-viewer {\n display: flex;\n flex-direction: column;\n }\n #channelCanvas {\n display: flex;\n height:100%;\n background-color: white;\n //flex: 1;\n }\n #channelLabels {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n line-height: normal;\n margin-bottom: 40px;\n min-width: 75px;\n }\n .chLabelWrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n cursor: pointer;\n }\n .chLabelIndWrap {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n width: 100%;\n color: #3c54a4;\n }\n .chLabelInd {\n font-size: 0.6em;\n min-width: 70px;\n color: rgb(150,150,150);\n text-align: right;\n white-space: nowrap;\n }\n .labelDiv[selected] {\n color:#295eff; /*#ff9800;/*#358855;*/\n }\n .chLabelIndWrap[selected]{\n color:#295eff; /*#ff9800; /*#358855;*/\n }\n .labelDiv {\n align-self: flex-end;\n white-space: nowrap;\n color: var(--neuron);\n }\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-80[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewer.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-style-loader/index.js??clonedRuleSet-62[0].rules[0].use[0]!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[2]!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[3]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-62[0].rules[0].use[4]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TSViewer.vue?vue&type=style&index=0&id=1d6b8d00&lang=scss&scoped=true&\"","import { render, staticRenderFns } from \"./TSViewer.vue?vue&type=template&id=1d6b8d00&scoped=true&\"\nimport script from \"./TSViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./TSViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TSViewer.vue?vue&type=style&index=0&id=1d6b8d00&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d6b8d00\",\n null\n \n)\n\nexport default component.exports","export const viewerSidePanelTypes = Object.freeze({\n INFO_PANEL: 'infoPanel',\n DISCUSSION: 'discussion',\n FILE_BROWSER: 'fileBrowser',\n ANNOTATIONS: 'annotations',\n CHANNELS: 'channels'\n})\nexport const viewerToolTypes = Object.freeze({\n PAN: 'pan',\n ANNOTATION_SHAPE: 'annotationShape',\n ANNOTATION_DRAW: 'annotationDraw',\n MEASURE: 'measure',\n ANNOTATE: 'annotate',\n POINTER: 'pointer'\n})","import { propOr, propEq, findIndex, mergeWith } from 'ramda'\nimport { viewerSidePanelTypes, viewerToolTypes } from '@/utils/constants'\n\nconst store = {\n state: {\n userToken: '',\n selectedPackage: {},\n // active viewer contains the package info response\n activeViewer: {},\n viewerSidePanelOpen: false,\n viewerSlideInfo: {\n curRotation: 0,\n curZoom: 0,\n isMeasuring: false,\n measureLength: 0,\n zoomPerClick: 0,\n minZoom: 0,\n maxZoom: 0\n },\n viewerChannels: [],\n viewerAnnotations: [],\n activeAnnotationLayer: {},\n activeAnnotation: {},\n viewerErrors: {},\n\n //TODO make strings enum constants\n viewerSidePanelView: viewerSidePanelTypes.INFO_PANEL,\n viewerActiveTool: viewerToolTypes.PAN,\n viewerMontageScheme: 'NOT_MONTAGED',\n },\n\n getters: {\n viewerSelectedChannels: state => {\n return state.viewerChannels.filter(channel => {\n return channel.selected\n })\n },\n viewerChannels: state => state.viewerChannels,\n viewerMontageScheme: state => state.viewerMontageScheme,\n activeViewer: state => state.activeViewer,\n viewerActiveTool: state => state.viewerActiveTool,\n activeAnnotation: state => state.activeAnnotation,\n viewerSidePanelOpen: state => state.viewerSidePanelOpen,\n viewerAnnotations: state => state.viewerAnnotations,\n userToken: state => state.userToken\n },\n\n mutations: {\n //TODO figure out why we clear state twice?\n CLEAR_STATE(state) {\n //reset all state to initial state\n const _initialState = initialState()\n // need to iteratively set keys to preserve reactivity\n Object.keys(_initialState).forEach(key => state[key] = _initialState[key])\n },\n OPEN_VIEWER(state, viewer) {\n state.activeViewer = viewer\n },\n SET_SIDE_PANEL(state, sidePanel) {\n state.viewerSidePanelOpen = sidePanel.open\n state.viewerSidePanelView = sidePanel.view\n },\n SET_ACTIVE_TOOL(state, tool) {\n state.viewerActiveTool = tool\n },\n UPDATE_VIEWER_SLIDE_INFO (state, newSlideInfo) {\n state.viewerSlideInfo = newSlideInfo\n },\n SET_CHANNELS (state, channels) {\n state.viewerChannels = channels\n },\n UPDATE_VIEW_CHANNEL (state, data) {\n if (data.channelId) {\n const channelIndex = findIndex(propEq('id', data.channelId), state.viewerChannels)\n for (let d in data.data) {\n state.viewerChannels[channelIndex][d] = data.data[d]\n }\n }\n },\n SET_ACTIVE_ANNOTATION_LAYER (state, data) {\n state.activeAnnotationLayer = data\n state.viewerAnnotations.forEach(index => index.selected = false)\n const layerIndex = findIndex(propEq('id', data), state.viewerAnnotations)\n state.viewerAnnotations[layerIndex].selected = true\n\n },\n SET_ACTIVE_ANNOTATION (state, data) {\n state.viewerAnnotations.forEach( index =>\n index.annotations.forEach(ann =>\n ann.selected = false\n )\n )\n if (data.id) {\n const layerIndex = findIndex(propEq('id', data.layer_id), state.viewerAnnotations)\n const annotationIndex = findIndex(propEq('id', data.id), state.viewerAnnotations[layerIndex].annotations)\n state.viewerAnnotations[layerIndex].annotations[annotationIndex].selected = true\n }\n state.activeAnnotation = data\n },\n SET_ANNOTATIONS (state, data) {\n state.viewerAnnotations = data\n },\n SET_DISCUSSIONS (state, { discussions, comments }) {\n state.viewerDiscussions = {\n discussions,\n comments\n }\n },\n SET_VIEWER_ERRORS (state, data) {\n state.viewerErrors = data\n },\n SET_VIEWER_MONTAGE_SCHEME (state, data) {\n state.viewerMontageScheme = data\n },\n UPDATE_USER_TOKEN(state, data) {\n state.userToken = data\n },\n // Leveraged to get individual package state to package details route\n SELECT_PACKAGE(state, data) {\n state.selectedPackage = data\n },\n },\n\n actions: {\n openViewer: ({ commit }, evt) =>\n commit('OPEN_VIEWER', evt),\n setSidePanel: ({ commit }, evt) =>\n commit('SET_SIDE_PANEL', evt),\n setActiveTool: ({ commit }, evt) =>\n commit('SET_ACTIVE_TOOL', evt),\n setChannels: ({ commit }, evt) => {\n commit('SET_CHANNELS', evt)},\n updateViewChannel: ({commit}, data) => {\n commit('UPDATE_VIEW_CHANNEL', data)},\n setActiveAnnotationLayer: ({ commit }, evt) =>\n commit('SET_ACTIVE_ANNOTATION_LAYER', evt),\n setAnnotations: ({ commit }, annotations) =>\n commit('SET_ANNOTATIONS', annotations),\n setActiveAnnotation: ({ commit }, data) =>\n commit('SET_ACTIVE_ANNOTATION', data),\n updateViewerSlideInfo: ({ commit }, evt) => {\n const newSlideInfo = mergeWith(this.state.viewerSlideInfo, evt)\n commit('UPDATE_VIEWER_SLIDE_INFO', newSlideInfo)\n },\n setDiscussions: ({commit}, discussionData) => {\n const discussions = propOr([], 'discussions', discussionData)\n const comments = propOr({}, 'comments', discussionData)\n commit('SET_DISCUSSIONS', { discussions, comments })\n },\n setViewerErrors: ({ commit }, evt) =>\n commit('SET_VIEWER_ERRORS', evt),\n setViewerMontageScheme: ({commit}, evt) =>\n commit('SET_VIEWER_MONTAGE_SCHEME', evt),\n setSelectedPackage: ({commit}, evt) => commit('SELECT_PACKAGE', evt),\n updateUserToken: ({commit}, evt) =>\n commit('UPDATE_USER_TOKEN', evt)\n }\n}\n\nconst initialState = () => ({\n activeViewer: {},\n viewerSidePanelOpen: false,\n viewerSlideInfo: {\n curRotation: 0,\n curZoom: 0,\n isMeasuring: false,\n measureLength: 0,\n zoomPerClick: 0,\n minZoom: 0,\n maxZoom: 0\n },\n viewerChannels: [],\n viewerAnnotations: [],\n activeAnnotationLayer: {},\n activeAnnotation: {},\n viewerErrors: {},\n\n //TODO make strings enum constants\n viewerSidePanelView: viewerSidePanelTypes.INFO_PANEL,\n viewerActiveTool: viewerToolTypes.PAN,\n viewerMontageScheme: 'NOT_MONTAGED'\n})\n\nexport default store","import TSViewer from './TSViewer.vue'\nimport store from '../store'\nexport default {\n install (Vue, options) {\n if (!options || !options.store) {\n throw new Error('Please initialise plugin with a Vuex store.')\n }\n \n options.store.registerModule('tsviewer', store)\n \n Vue.component('ts-viewer', TSViewer)\n }\n}","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_regeneratorRuntime","exports","Op","Object","hasOwn","hasOwnProperty","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","arg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","computed","viewerActiveTool","$store","getters","watch","handler","val","setActiveTool","immediate","methods","activeTool","methodName","toUpperCase","prop","propOr","_isString","x","toString","_trimValues","trim","data","body","isLoading","sendXhr","url","opts","returnRawResponse","optsHeader","headers","optsBody","requestOpts","JSON","stringify","fetch","resp","status","finishLoading","json","bind","catch","$nextTick","handleXhrError","handleLogout","console","$emit","Request","mixins","activeViewer","viewerChannels","viewerAnnotations","viewerSidePanelOpen","activeAnnotation","addAnnotation","id","start","duration","onAll","allChannels","label","description","layer_id","onChannels","ch","curChannelView","selected","visible","getChannelId","XhrBody","channelIds","end","timeseriesId","content","nodeId","config","apiUrl","header","userToken","response","newAnn","cStart","cEnd","layerId","userId","linkedPackage","curLIndex","dispatch","sortAnns","annotations","onAnnotationCreated","log","updateAnnotation","annLayerId","onAnnotationUpdated","removeAnnotation","annotation","layer","onAnnotationDeleted","annArray","sort","Comparator","a","b","ViewerActiveTool","props","ts_start","ts_end","cWidth","constants","cursorLoc","labelWidth","ts_start_str","ts_end_str","fullDateStr","canvasStyle","width","height","iCanvasStyle","scrubberCWidth","period","pixelRatio","scrubberHeight","viewportHeight","mouseDown","hoverTxt","pointerMode","patternCnvs","segmentSpans","segments","mounted","_cpCanvasScaler","getScreenPixelRatio","ctx","getUTCTimeString","d","getUTCDateString","_onTap","_onMouseMove","_onMouseUp","_onMouseDown","_onMouseEnter","_onMouseOut","initSegmentSpans","getAnnotations","render","renderViewPort","renderSegments","renderTimelimeLine","annotationIndex","color","plotAnnotations","cw","createPinstripeCanvas","antialias","patternCanvas","pctx","_arrayLikeToArray","arr","len","arr2","Array","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","test","unsupportedIterableToArray","_createForOfIteratorHelper","allowArrayLike","it","isArray","F","s","e","_e","f","normalCompletion","didErr","step","_e2","compose","head","propEq","path","findIndex","sum","map","take","sortBy","cHeight","rsPeriod","globalZoomMult","viewerMontageScheme","pHeight","timeSeriesUrl","packageId","proto","requestedPages","chData","aSyncrequests","aSyncPreRequests","pageSize","viewData","channels","renderCounter","lastDataRender","lastViewPageRequest","prefetchTimer","prefetchDelay","autoScale","channelsReady","prevStart","prevDuration","websocket","initWebsocket","segment","timeSeriesMessage","timeSeriesError","channelsList","catchUpRequestPages","leading","that","clearInterval","throttle","previous","timeout","clearTimeout","viewSegmComparator","list","initChannels","sampleFreq","unit","gaps","virtualId","label_value","channelConfig","label_split","label_prefix","dataSegments","rank","plotAgainst","rowBaseline","rowScale","rowAdjust","hover","sf","filter","hideFilter","isEditing","chObjects","computeSummary","segmIndexOf","startAtIndex","index","_indexOfStart","pred","generatePoints","hiddenChannels","curChanViewIds","viewDataChIds","remViewChannels","showChannels","mean","firstRenderedIndex","lastRenderedIndex","blocks","requestData","updatePrefetchPages","chanViewData","curTime","firstSegment","endRequestTime","curSegm","continuationSegment","inRange","segmOffset","isAdded","isInViewport","pixelWidth","firstRequest","requestDataFromServer","curRequest","requestEndTime","session","minMax","startTime","endTime","virtualChannels","ws","channelCounter","count","counter","subPageCount","ts","inViewport","invalidate","renderAll","_computeChannelViews","mapped","updatedBaseline","curIdx","channelId","getPointCoords","cXArray","cYArray","cY2Array","channelData","totalPointsInMean","curSeg","chDatCenterer","_renderData","ctxb","channelType","doPolFill","lastBlockEnd","y","y2","renderDataOnMessage","autoScaleViewData","sumMedian","nrSeg","allSums","channel","calcSumMedian","standardDeviation","average","reRequestPages","requestPages","openWebsocket","sendMontageMessage","montage","_onWebsocketClose","_onWebsocketFinalClose","_onWebsocketOpen","chIds","_onWebsocketMessage","rate","properties","myReader","dataPoints","curI","cData","k","chId","lastUsed","samplePeriod","pageStart","pageEnd","startTs","isMinMax","unitM","nrPoints","parsedData","nrResponses","nrVal","nrValidPoints","sumElem","elemMedian","median","sendFilterMessage","parms","isTruthy","calcFilterType","dataCallback","curChData","addData","fIndex","requestedPage","countForChannel","isComplete","curSegments","components","TimeseriesPlotCanvas","windowHeight","windowWidth","tsStart","tsEnd","cursorWidth","blurCanvas","canvasStyle1","canvasStyle2","canvasStyle3","summary","lastrRsUpdate","resizeClicked","trackDirection","startDragCoord","defaultLabels","labelSelect","onAnnotationsReceived","onAnnLayersInitialized","setGlobalZoom","channelsInitialized","_onMouseWheel","clearICanvas","resize","updateRsPeriod","renderAnnotationCanvas","_renderAll","_renderAxis","tickOffset","curXLabelIdx","renderSelectBox","_renderCursor","renderAnnotationBox","lblStart","lblEnd","minOffset","maxOffset","dx","setFilters","message","input0","input1","notchFreq","durationInSeconds","get","set","showVertZoom","showTimeZoom","showPlaybackSpeed","selectedTimeRange","isPlaying","montageOptions","selectedMontage","playSpeedOptions","selectedPlaySpeed","intervalTimer","intervalPeriod","intervalPage","updateMontageScheme","updatePlaybackSpeed","toggleTimeZoom","toggleVerticalZoom","togglePlaybackSpeed","togglePlayback","pageBack","pageForward","incrementZoom","decrementZoom","updateDuration","nextAnnotation","previousAnnotation","startPlay","stopPlay","isEmpty","TimeseriesScrubber","TimeseriesViewerCanvas","TimeseriesViewerToolbar","TsAnnotation","packageType","default","channelStyle","hideLabelInfo","hide","nrVisChannels","_cpStyleLabels","TIMEUNIT","XOFFSET","XGRIDSPACING","NRPXPERLABEL","USEREALTIME","DEFAULTDPI","ANNOTATIONLABELHEIGHT","ROUNDDATAPIXELS","MINMAXPOLYGON","PAGESIZEDIVIDER","PREFETCHPAGES","LIMITANNFETCH","USEMEDIAN","CURSOROFFSET","SEGMENTSPAN","MAXRECURSION","MAXDURATION","INITDURATION","window_height","window_width","filterWindowOpen","annotationWindowOpen","annotationLayerWindowOpen","annotationDelete","isTsAnnotationDeleteDialogVisible","window","beforeDestroy","openEditAnnotationDialog","onUpdateAnnotation","onCreateUpdateAnnotation","onOpenAnnotationWindow","confirmDeleteAnnotation","deleteAnnotation","onAddAnnotation","onCreateAnnotationLayer","onCloseAnnotationLayerWindow","onCloseAnnotationWindow","onCloseFilterWindow","onLabelTap","append","onNextAnnotation","onPreviousAnnotation","onUpdateDuration","onIncrementZoom","onDecrementZoom","onChannelsInitialized","onPageBack","onPageForward","selectAnnotation","selectChannel","selectChannels","updateStart","setCursor","setDuration","onResize","_computeLabelInfo","initViewerStart","openLayerWindow","layerModal","openFilterWindow","filterWindow","setTimeseriesFilters","viewerSidePanelTypes","freeze","INFO_PANEL","DISCUSSION","FILE_BROWSER","ANNOTATIONS","CHANNELS","viewerToolTypes","PAN","ANNOTATION_SHAPE","ANNOTATION_DRAW","MEASURE","ANNOTATE","POINTER","mergeWith","store","selectedPackage","viewerSlideInfo","curRotation","curZoom","isMeasuring","measureLength","zoomPerClick","minZoom","maxZoom","activeAnnotationLayer","viewerErrors","viewerSidePanelView","viewerSelectedChannels","mutations","CLEAR_STATE","_initialState","initialState","OPEN_VIEWER","viewer","SET_SIDE_PANEL","sidePanel","open","view","SET_ACTIVE_TOOL","tool","UPDATE_VIEWER_SLIDE_INFO","newSlideInfo","SET_CHANNELS","UPDATE_VIEW_CHANNEL","channelIndex","SET_ACTIVE_ANNOTATION_LAYER","layerIndex","SET_ACTIVE_ANNOTATION","ann","SET_ANNOTATIONS","SET_DISCUSSIONS","discussions","comments","viewerDiscussions","SET_VIEWER_ERRORS","SET_VIEWER_MONTAGE_SCHEME","UPDATE_USER_TOKEN","SELECT_PACKAGE","actions","openViewer","evt","commit","setSidePanel","setChannels","updateViewChannel","setActiveAnnotationLayer","setAnnotations","setActiveAnnotation","updateViewerSlideInfo","setDiscussions","discussionData","setViewerErrors","setViewerMontageScheme","setSelectedPackage","updateUserToken","TSViewer","install","Vue","options","registerModule","component"],"sourceRoot":""}