{"version":3,"file":"vendors.js","mappings":";;;;;;;;;;;AAAA;AAC+B;;AAE/B,wCAAwC,gDAAmB;AAC3D,6BAA6B,6CAAgB;AAC7C;;AAE+C;AAC/C;;;;;;;;;;;;;ACRA;AACA;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACO;AACP;;;;;;;;;;;;;;;;;;;ACV0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,eAAe,gBAAM;AACrB,IAAI,mBAAS;AACb;AACA,KAAK;AACL;AACA;;;ACdA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;;;;;;ACRA,6CAAe;AACf;AACA,CAAC;;ACFyB;AAC1B,6DAAe,mBAAmB,MAAM;;ACDjC;AACP;AACA;;ACFoG;AAC9B;AACnC;AACT;AACO;AACH;AACoB;AACY;AACjB;AACtC;AACA;AACA;AACA;AACA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B,iBAAiB,YAAY;AAC7B,iBAAiB,YAAY;AAC7B,gBAAgB,YAAY;AAC5B;AACA;AACA,mBAAmB,YAAY;AAC/B,qBAAqB,QAAQ,SAAS,SAAS;AAC/C,QAAQ;AACR;AACA;AACA;AACA,WAAW;AACX;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,yBAAyB,QAAQ,SAAS,IAAI;AAC9C,YAAY;AACZ;AACA;AACA;AACA,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,gCAAc;;AAEhB;AACA;;AAEA;AACA,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE,qBAAoB,QAAQ;AACnG;AACA;;AAEA,oBAAoB,WAAW;AAC/B;;AAEA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oDAAoD,qBAAoB;AACxE;AACA;;AAEA;AACA,qEAAqE;AACrE;;AAEA,+BAA+B,MAAM;AACrC;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,qDAAqD,qBAAoB,QAAQ;;AAEjF,iBAAiB,MAAM;AACvB;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iEAAiE,qBAAoB;AACrF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;;AAElD;AACA;AACA;AACA,MAAM,mBAAmB,CAAC,sBAAsB;AAChD;AACA,OAAO,kEAAkE,kBAAkB,CAAC,cAAc;AAC1G;AACA;;AAEA;AACA,CAAC,CAAC,eAAe;;AAEjB,yBAAyB,sBAAsB;AAC/C,uBAAuB,MAAqC,GAAG,CA0L9D,CAAC,MAAM;;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAe,UAAU;;;;;;;;;AChnBV;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;ACXuC;;AAEvC;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;;;;ACpBO,IAAI,QAAG;AACP,IAAI,QAAG;AACP;;ACFQ;AACf;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;ACVgD;AACjC;AACf,gDAAgD,WAAW;AAC3D;;ACH2D;AAClB;AACF;AACc;AACtC;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,aAAa;AACnC,uCAAuC,KAAK;AAC5C,wCAAwC,KAAK;AAC7C;;AAEA,aAAa,SAAS,YAAY,SAAS;AAC3C;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCuC;AACxB;AACf,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;ACTe;AACf;AACA;AACA;AACA;AACA;;ACLmD;AACZ;AACS;AACa;AAC9C;AACf,eAAe,SAAS,WAAW,aAAa;AAChD,WAAW,eAAe;AAC1B,IAAI;AACJ,WAAW,oBAAoB;AAC/B;AACA;;ACVe;AACf;AACA;;ACF4C;AAC7B;AACf;AACA,WAAW,SAAS;AACpB;AACA;;ACL+D;AACN;AACN;AACpC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qBAAqB,CAAC,kBAAkB,kBAAkB,eAAe;AAClF;;ACZuC;AACxB;AACf,SAAS,SAAS;AAClB;;ACHqD;AACtC;AACf;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;;AAEA;AACA;;ACT+D;AAChB;AACJ;AACK;AACW;AACF;AACR;AACR;;AAEzC;AACA;AACA,eAAe,KAAK;AACpB,eAAe,KAAK;AACpB;AACA,EAAE;AACF;;;AAGe;AACf;AACA;AACA;;AAEA,gCAAgC,aAAa;AAC7C,6BAA6B,aAAa;AAC1C,wBAAwB,kBAAkB;AAC1C,aAAa,qBAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,WAAW;AACnB,IAAI,cAAc;AAClB,eAAe,aAAa;AAC5B;;AAEA,QAAQ,aAAa;AACrB,gBAAgB,qBAAqB;AACrC;AACA;AACA,MAAM;AACN,kBAAkB,mBAAmB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzD+D,CAAC;AAChE;;AAEe;AACf,mBAAmB,qBAAqB,WAAW;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxB2C;AACc;AACV;AAChC;AACf,MAAM,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;AAChB;AACA,IAAI,kBAAkB;;AAEtB;AACA;;AClB+C;AACE;AACN;AACK;AACjC;AACf,4CAA4C,WAAW;AACvD;AACA;AACA;;AAEA,MAAM,aAAa,UAAU,cAAc;AAC3C;AACA;;AAEA,yBAAyB,aAAa;AACtC;;ACfmD;AACJ;AACR;AACU;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;;AAEA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;AACA,YAAY,SAAS;AACrB,+DAA+D,cAAc;AAC7E;AACA;AACA,uCAAuC,aAAa;AACpD;;ACzB2C;AAC5B;AACf,uCAAuC,WAAW;AAClD;;ACHuC;AACI;AACU;AACS;AACb;AACF;AACC;;AAEhD;AACA,OAAO,aAAa;AACpB,EAAE,gBAAgB;AAClB;AACA;;AAEA;AACA,EAAE;AACF;;;AAGA;AACA,kCAAkC,WAAW;AAC7C,6BAA6B,WAAW;;AAExC,cAAc,aAAa;AAC3B;AACA,qBAAqB,gBAAgB;;AAErC;AACA;AACA;AACA;;AAEA,oBAAoB,aAAa;;AAEjC,MAAM,YAAY;AAClB;AACA;;AAEA,SAAS,aAAa,0CAA0C,WAAW;AAC3E,cAAc,gBAAgB,eAAe;AAC7C;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,EAAE;AACF;;;AAGe;AACf,eAAe,SAAS;AACxB;;AAEA,yBAAyB,cAAc,kBAAkB,gBAAgB;AACzE;AACA;;AAEA,uBAAuB,WAAW,6BAA6B,WAAW,6BAA6B,gBAAgB;AACvH;AACA;;AAEA;AACA;;ACpEO,IAAI,SAAG;AACP;AACA;AACA;AACA;AACA,sBAAsB,SAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA,CAAC;AACM,IAAI,gBAAU;AACrB;AACA,CAAC,OAAO;;AAED;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;;AC9BsC,CAAC;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEe;AACf;AACA,2CAA2C;;AAE3C,SAAS,cAAc;AACvB;AACA;AACA,KAAK;AACL,GAAG;AACH;;AC3Ce;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;;ACde;AACf;AACA;AACA,sDAAsD;AACtD,+BAA+B;AAC/B,4BAA4B;AAC5B,KAAK;AACL;AACA,GAAG,IAAI,GAAG;;AAEV;AACA;AACA,GAAG;AACH;;ACb+D;AACN;AACQ;AACJ;AACN;AACZ;AACM;AACM;AACD;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B,uBAAuB;AACvB;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,qBAAqB,SAAS,cAAc,iBAAiB,yCAAyC,iBAAiB;AACvH,kBAAkB,iBAAiB;AACnC,WAAW;AACX;;AAEA,+BAA+B,cAAc,CAAC,WAAW,yDAAyD;;AAElH;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA,UAAU;;;AAGV;AACA,qBAAqB,gBAAgB,YAAY,eAAe;AAChE,kBAAkB,aAAa;AAC/B,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA,6CAA6C,KAAK;;AAElD;AACA,sEAAsE;AACtE,SAAS;;AAET,4BAA4B,uCAAuC;AACnE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gEAAgE;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACO,gCAAgC,iEAAiB,IAAE;;;;ACpMR,CAAC;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,EAAE;;;AAGF,qDAAe;AACf;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,CAAC;;AChDkC;AACpB;AACf;AACA;;ACHe;AACf;AACA;;ACFe;AACf;AACA;;ACFqD;AACR;AACwB;AACF;AACpD;AACf;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD,8BAA8B,YAAY;AAC1C;AACA;AACA;;AAEA;AACA,SAAS,SAAG;AACZ;AACA;AACA;AACA;AACA;;AAEA,SAAS,MAAM;AACf;AACA;AACA;AACA;AACA;;AAEA,SAAS,KAAK;AACd;AACA;AACA;AACA;AACA;;AAEA,SAAS,IAAI;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,wBAAwB;;AAEzD;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;;AAEA,WAAW,GAAG;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;ACrEwD;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;;AAGF,8DAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;ACxB2D;AACE;AACZ;AACkB;AACJ;AACJ;AACR;AACX,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAK;AACZ,OAAO,KAAK;AACZ;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB,cAAc,SAAG;AACjB;;AAEA;AACA,uBAAuB,eAAe;AACtC;AACA;;AAEA,yBAAyB,SAAS;AAClC,qBAAqB,kBAAkB;;AAEvC,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA,sBAAsB,SAAG,mBAAmB,IAAI,kBAAkB,KAAK,mBAAmB,GAAG;AAC7F,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,IAAI,mBAAmB,SAAG,kBAAkB,MAAM,mBAAmB,GAAG;AAC9F,cAAc,KAAK;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG,EAAE,SAAS;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2BAA2B,oCAAoC;AAC/D;;AAEA,yBAAyB,qCAAqC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,mDAAmD;AAC7F;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,yCAAyC,kDAAkD;AAC3F;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,4CAA4C;AAC5C;AACA,GAAG;AACH,EAAE;;;AAGF,8DAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;ACxKqD;AACK,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC,SAAS,aAAa,cAAc,WAAW;AAC/C;AACA,MAAM;AACN;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,SAAS,kBAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uHAAuH;;AAEvH;AACA;AACA;AACA,OAAO,IAAI,GAAG;;AAEd,WAAW,aAAa,cAAc,WAAW;AACjD;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,EAAE;;;AAGF,4DAAe;AACf;AACA;AACA;AACA;AACA,UAAU,kBAAM;AAChB;AACA,CAAC;;ACnF2D;AACD,CAAC;;AAErD;AACP,sBAAsB,gBAAgB;AACtC,wBAAwB,IAAI,EAAE,SAAG;;AAEjC,mEAAmE;AACnE;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,UAAU,IAAI,EAAE,KAAK;AACrB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAU;AACvB;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF,uDAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;ACrDD;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,GAAG;AACH;;ACVA,IAAI,kCAAI;AACR;AACA;AACA;AACe;AACf;AACA,WAAW,kCAAI;AACf,GAAG;AACH;;ACRuC;AACkB;AACE;AACN;AACtC;AACf,YAAY,SAAS;AACrB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,gBAAgB;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;;AC9ByD;AACJ;AACM;AACR;AACZ,CAAC;AACxC;;AAEe;AACf;;AAEA,aAAa,kBAAkB;AAC/B,kBAAkB,eAAe;AACjC;AACA,cAAc,QAAG;AACjB,eAAe,QAAG;AAClB,kCAAkC,mBAAmB;AACrD;;AAEA,MAAM,gBAAgB;AACtB,SAAS,QAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5B+C;AAChC;AACf,2DAA2D;;AAE3D;AACA;AACA,IAAI;AACJ,uBAAuB,YAAY;AACnC;;AAEA;AACA;AACA;AACA,UAAU;;;AAGV;AACA,QAAQ;AACR,MAAM;;;AAGN;AACA;;ACtBe;AACf,yBAAyB;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;;ACPuC;AACY;AACA;AACI;AACJ;AACM;AACJ;AACM;AACI;AAChB;AACV;AACM;AACiB;AAChB;;AAE5C;AACA,aAAa,qBAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,QAAQ,GAAG,gBAAgB,CAAC,eAAe,uBAAuB,SAAS,0EAA0E,gBAAgB,CAAC,eAAe,CAAC,kBAAkB;AACpO,EAAE;AACF;AACA;;;AAGA;AACA,wBAAwB,iBAAiB,CAAC,aAAa;AACvD,wDAAwD,gBAAgB;AACxE,4CAA4C,aAAa,YAAY,eAAe;;AAEpF,OAAO,SAAS;AAChB;AACA,IAAI;;;AAGJ;AACA,WAAW,SAAS,oBAAoB,QAAQ,oCAAoC,WAAW;AAC/F,GAAG;AACH,EAAE;AACF;;;AAGe;AACf;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAG;AACrB,oBAAoB,QAAG;AACvB,qBAAqB,QAAG;AACxB,mBAAmB,QAAG;AACtB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;ACrEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;ACPyD;AAC1C;AACf,yBAAyB,EAAE,kBAAkB;AAC7C;;ACHe;AACf;AACA;AACA;AACA,GAAG,IAAI;AACP;;ACL8D;AACM;AACM;AACzB;AACI;AAC0D;AACxD;AACE;AACN,CAAC;;AAErC;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,eAAe;AAC/D;AACA,wDAAwD,QAAQ;AAChE;AACA,0DAA0D,MAAM;AAChE;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,yCAAyC,eAAe,UAAU,cAAc;AACxH,sCAAsC,MAAM,GAAG,SAAS,GAAG,MAAM;AACjE;AACA;AACA,2BAA2B,eAAe,CAAC,SAAS,gDAAgD,kBAAkB;AACtH,4BAA4B,qBAAqB;AACjD,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,gBAAgB,iBAAiB;AAC1D,6CAA6C,MAAM,2CAA2C;AAC9F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C,yBAAyB,MAAM;AAC/B;AACA;AACA,sBAAsB,KAAK,EAAE,MAAM;AACnC,kBAAkB,SAAG,EAAE,MAAM;AAC7B;AACA,KAAK;AACL;;AAEA;AACA;;AChE6C;AACkD;AAC9C;AACI;AACtC;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,gBAAa;AAC9E,kBAAkB,YAAY;AAC9B,gDAAgD,mBAAmB,GAAG,mBAAmB;AACzF,WAAW,YAAY;AACvB,GAAG,IAAI,cAAc;AACrB;AACA;AACA,GAAG;;AAEH;AACA;AACA,IAAI;;;AAGJ;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA,KAAK,EAAE,gBAAgB;AACvB;AACA,GAAG,IAAI;AACP;AACA;AACA,GAAG;AACH;;AC1CoE;AACR;AAC0B;AAC9B;AACY;AACA;AAChB,CAAC;;AAErD;AACA,MAAM,gBAAgB,gBAAgB,IAAI;AAC1C;AACA;;AAEA,0BAA0B,oBAAoB;AAC9C,UAAU,6BAA6B,gCAAgC,6BAA6B;AACpG;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA,iGAAiG,oBAAoB;AACrH;AACA,sBAAsB,gBAAgB,gBAAgB,IAAI,GAAG,oBAAoB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;;AAEA,yBAAyB,gBAAgB;;AAEzC,2BAA2B,YAAY,gBAAgB,KAAK;AAC5D,sBAAsB,SAAG,EAAE,MAAM;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4DAA4D,KAAK,GAAG,IAAI,sBAAsB,MAAM,GAAG,SAAG;;AAE1G;AACA,0BAA0B,oBAAoB;AAC9C;;AAEA,2BAA2B,oBAAoB;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF,qDAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AClJc;AACf;AACA;;ACF2D;AACpD;AACP,SAAS,QAAO,MAAM,QAAO;AAC7B;AACO;AACP;AACA;AACA;;ACP8D;AACF;AACgB;AAC5B;AACY;AACF;AACI;AACN;AACJ;AACY;AACE;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,gBAAgB;AACtC,kBAAkB,YAAY;AAC9B;AACA,iBAAiB,wBAAwB;AACzC,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,SAAG,GAAG,IAAI;AAChD,qCAAqC,MAAM,GAAG,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC,+BAA+B,KAAK,2CAA2C;AAC/E;;AAEA;AACA,6CAA6C,aAAa;AAC1D;AACA;AACA;AACA,yHAAyH,kBAAkB;AAC3I;AACA,uDAAuD;AACvD;AACA;AACA;AACA;;AAEA,mBAAmB,MAAM;AACzB;AACA;AACA,oDAAoD,eAAe;AACnE;AACA;AACA;AACA;AACA,0BAA0B,MAAM,UAAU,QAAO,yCAAyC,QAAO;AACjG;AACA;AACA;;AAEA;AACA;;AAEA,uCAAuC,SAAG,GAAG,IAAI;;AAEjD,sCAAsC,MAAM,GAAG,KAAK;;AAEpD;;AAEA;;AAEA;;AAEA;;AAEA,wBAAwB,SAAG,EAAE,IAAI;;AAEjC;;AAEA;;AAEA;;AAEA,oDAAoD,cAAc,oCAAoC,MAAM;;AAE5G;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF,gEAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;AC7I2D;AACF;AACV;AACc;AACc;AAChC;AACoB;AACN;AACa,CAAC;;AAExE;AACA,oEAAoE;AACpE;AACA,GAAG;AACH,SAAS,kBAAkB,yCAAyC,eAAe,UAAU,cAAc;AAC3G;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC,aAAa,wBAAwB;AACrC,oBAAoB,IAAI,EAAE,KAAK;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,aAAa;AAC/B,+BAA+B,SAAG,GAAG,IAAI;AACzC,+BAA+B,MAAM,GAAG,KAAK;AAC7C;AACA;AACA,0BAA0B,eAAe;AACzC;AACA,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA,eAAe,MAAM,oBAAoB;;AAEzC;AACA,yDAAyD;AACzD;;AAEA,SAAS,YAAM;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO,QAAQ;AACf;AACA;;AAEA;AACA,EAAE;;;AAGF,sDAAe;AACf;AACA;AACA;AACA;AACA,UAAU,YAAM;AAChB;AACA;AACA,CAAC;;ACzFsD;AACC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;AAClC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,GAAG;AACH,EAAE;;;AAGF,qDAAe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;;AC5DmE;AACT;AACF;AACA;AACJ;AACV;AACJ;AACsB;AACpB;AACF;AACvC,wBAAwB,cAAc,EAAE,uBAAa,EAAE,uBAAa,EAAE,qBAAW,EAAE,gBAAM,EAAE,cAAI,EAAE,yBAAe,EAAE,eAAK,EAAE,cAAI;AAC7H,IAAI,mBAAY,gBAAgB,eAAe;AAC/C;AACA,CAAC,GAAG;;AAEuE,CAAC;;AAER,CAAC;;;;;;;ACjBtC;;AAE/B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,2FAA2F,aAAa;AACxG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;;AAEO,oHAAoH,qBAAqB,GAAG,eAAe;;ACpDnI;AACO;AAC+B;AAC5B;AACwB;AACjE;AACO;AACP;AACA;AACA;;AAEA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;;AAEA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mBAAkB;AAC1B;AACA,oBAAoB,WAAW;AAC/B,0DAA0D;AAC1D,aAAa;AACb,wBAAwB,WAAW;AACnC;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,GAAG;AACH,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,QAAQ,4BAAO;AACf;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH,0BAA0B,YAAY;AACtC,EAAE,yBAAyB;AAC3B;AACA;AACA;AACA,GAAG;AACH,EAAE,yBAAyB;AAC3B;AACA;AACA;;AAEA,+CAA+C,mBAAmB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACrGuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,oBAAoB,gBAAM;AAC1B,cAAc,qBAAW,eAAe,2BAA2B;AACnE,IAAI,mBAAS;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;AClB2D;AACV;AAC+B;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,0BAA0B,6BAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA,MAAM,KAAqC,EAAE,EAI1C;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;ACrCgD;AACQ;AACA;AACjD;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,oBAAoB,YAAY;;AAEhC;AACA,0CAA0C,kBAAQ;AAClD,iCAAiC,oBAAU,CAAC,iBAAiB;AAC7D,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;AC/DA;AACA;AACA;AACO;AACP;;ACJmD;AACjB;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,aAAM;AACnB;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;;AAEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,YAAY,QAAQ,KAAK,KAAK,QAAQ,MAAM,KAAK,0BAAW;AAC5D;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ,OAAO,KAAK,QAAQ,KAAK,KAAK,yBAAU;AAC5D;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ,MAAM,KAAK,QAAQ,KAAK;AAC3C;AACA;AACA;;ACxG2D;AACR;AACH;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,6BAAa;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACO,8BAA8B,oBAAU;AACxC;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,wBAAwB,iBAAO;AAC/B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,eAAe,aAAM,mBAAmB,aAAM;AAC9C;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB;AACzC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,IAAI,EAAE,oBAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAM;AACnB;AACA,aAAa,aAAM;AACnB;AACA;AACA;;ACrFA,mBAAmB,YAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgC;;;ACdY;AACX;AACM;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE,SAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACO,MAAM,aAAM;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,oCAAoC,kBAAQ;AAC5C;AACA,EAAE,mBAAS;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,6BAA6B;;AAEhC;AACA,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA,oCAAoC,YAAY;AAChD;AACA;AACA,GAAG;AACH,kCAAkC,sBAAqB;AACvD;AACA;;;;ACvFqC;AACrC;AACA;AACA;AACO;AACA,MAAM,uBAAW,GAAG,qCAAM;AACjC;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,IAAI;AACJ;AACA,oBAAoB,KAAK;AACzB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,+CAA+C,SAAS;AACxD,+CAA+C,SAAS;AACxD,+CAA+C,SAAS;AACxD,+CAA+C,SAAS;AACxD;AACA,CAAC;AACD;;AC3CqC;AAC9B,MAAM,+BAAe,GAAG,qCAAM;AACrC;AACA;AACA;AACA;;ACLsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEwD;AACpB;AACgD;AAC3C;AAC2B;AACd;AACA;AACsC;AACxC;AACqB;AACY;;AAErF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,4BAA4B,oBAAU;AAC7C;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,cAAc;;AAEpC;AACA;AACA,kDAAkD,kBAAQ;AAC1D,EAAE,aAAa;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,wBAAwB,qBAAW;AACnC;AACA,GAAG;AACH,8BAA8B,0BAAU;;AAExC;AACA;AACA,0CAA0C,kBAAQ;AAClD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,SAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,EAAE,mBAAS;AACX;AACA;AACA;AACA,GAAG;AACH,gDAAgD,uBAAkB;AAClE;AACA,8BAA8B,uBAAkB;AAChD;AACA,wDAAwD,+BAAsB;AAC9E;AACA,kCAAkC,+BAAsB;AACxD;AACA,oDAAoD,aAAa;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAM;AACpB;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA;AACA;AACA;AACA,IAAI;AACJ,4BAA4B,oBAAU,CAAC,0CAAe,yBAAyB;;AAE/E,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA,IAAI,8BAAQ;AACZ;AACA,GAAG,6BAA6B,mBAAmB,CAAC,oBAAoB;AACxE;AACA,GAAG,eAAe,mBAAmB,kBAAkB,8BAAQ;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI;AACZ,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG,8DAA8D,mBAAmB;AACpF,CAAC;AACD;AACA;;AC7OqC;AACM;AACpC,iCAAiC,qCAAM,CAAC,uBAAW;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,qBAAqB,qCAAM;AAClC;AACA,CAAC;AACD;AACA,aAAa;AACb;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;ACrB0B;AAC+B;AACH;AAC/C;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA;AACA,sBAAsB,MAAM,GAAG,MAAM;AACrC,sBAAsB,mBAAmB,CAAC,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA,GAAG;AACH;AACA;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;;AChEsD;AACZ;AACoC;AAC5C;AAC3B,wCAAwC,oBAAU;AACzD;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,mBAAmB,CAAC,wBAAwB,EAAE,8BAAQ,GAAG;AAC/E;AACA,GAAG,gBAAgB,mBAAmB,CAAC,MAAM;AAC7C;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,yBAAyB,uBAAuB,EAAE,aAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI,GAAG,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC1DqC;AACU;AACxC,+BAA+B,qCAAM;AAC5C;AACA;AACA,IAAI;AACJ;AACA,kEAAkE,gCAAY,uBAAuB;AACrG,4DAA4D,gCAAY,yBAAyB;AACjG,iDAAiD,gCAAY,2BAA2B;AACxF;AACA;AACA;;AAEA,qBAAqB,gCAAY;AACjC,uBAAuB,gCAAY;AACnC,uBAAuB,gCAAY;AACnC;AACA,CAAC;AACD;AACA;AACA,IAAI;AACJ;AACA,QAAQ,aAAa;AACrB,IAAI;AACJ,CAAC;AACD;;AC1BsD;AACZ;AACe;AACiB;AAC1E;AACA;AACA;AACA;AACA;AACO,sCAAsC,oBAAU;AACvD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,sBAAsB,mBAAmB,CAAC,sBAAsB,EAAE,8BAAQ,GAAG;AAC7E;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;AC1BsD;AACX;AACD;AACe;AACS;AACnB;AAC/C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,4CAA4C,oBAAU;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,uCAAuC,gCAAY,yBAAyB;AAC5E,uCAAuC,gCAAY,2BAA2B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB,CAAC,mCAAU;AACpD;AACA;AACA,MAAM;AACN,wBAAwB,mBAAmB;AAC3C;AACA;AACA,qBAAqB,mCAAmC,OAAO,cAAc;AAC7E;AACA;AACA,oBAAoB,mCAAmC,QAAQ,cAAc;AAC7E,UAAU,IAAI;AACd,OAAO;AACP,KAAK,eAAe,mBAAmB,CAAC,gBAAgB,EAAE,8BAAQ,GAAG;AACrE;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB,IAAI,sCAAsC;AACnF,OAAO;AACP,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;;;;AC9EsD;AACP;AACqB;AAChB;AACE;AACnB;AAC6B;AACK;AACQ;AACE;AACjC;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;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;AACA;AACA;AACO;AACP;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,sBAAsB,gBAAM;;AAE5B;AACA,0BAA0B,gBAAM;AAChC;AACA,8CAA8C,kBAAQ;AACtD,+BAA+B,gBAAM;;AAErC;AACA,EAAE,mBAAS;AACX;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,4BAA4B,iBAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,yBAAyB,WAAW;AACpC,6EAA6E,6CAAqB;AAClG,sBAAsB,mBAAmB,CAAC,cAAU;AACpD;AACA;AACA;AACA;AACA;AACA,YAAY,0CAAkB;AAC9B,KAAK;AACL;AACA,GAAG;AACH,wBAAwB,mBAAmB,CAAC,MAAM,EAAE,8BAAQ,GAAG,EAAE,6CAAqB;AACtF;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,QAAQ;AACR,0BAA0B,mBAAmB,CAAC,sBAAsB;AACpE;AACA;AACA;AACA;AACA;AACA,OAAO,mDAAmD,mBAAmB,CAAC,kBAAkB,EAAE,8BAAQ,GAAG;AAC7G,sFAAsF,gCAAY,uBAAuB;AACzH;AACA,cAAc,gBAAgB;AAC9B;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;;;;;;AC7KA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,UAAU;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC1IA;;AAEyB;AACzB;;;;;;;ACHuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,gCAAc;AACtB;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,yFAAyF,sBAAQ;AACjG;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEqB;AACrB;;;AChCoF;AACvC;AACO;AACsB;AAC9B;;AAE5C;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,6BAAW,0CAA0C;;AAEtE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,kCAAkC,kBAAI,QAAQ,kBAAI;AAClD;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qEAAqE,gCAAc;AACnF;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,MAAM;;;AAGN;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;;AAEA;AACA,2FAA2F;;AAE3F;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;AACN;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAI1C;;AAEL,4BAA4B,oCAAkB,IAAI;;AAElD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA,uCAAuC;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA+G;;AAE/G,mCAAmC;;AAEnC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,YAAY,oCAAgB;AAC5B;AACA;AACA;AACA,SAAS;AACT;;AAEA,WAAW,oCAAgB;AAC3B;;AAEA;AACA;AACA;;AAEA,YAAY,KAAqC,EAAE,EAE1C;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;;AAGP,mBAAmB,iCAAa;AAChC;AACA;AACA;AACA;;AAEA;AACA,cAAc,KAAqC,EAAE,EAE1C;;AAEX;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,yBAAyB,4BAAQ;AACjC;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA,cAAc,oCAAgB;AAC9B,qBAAqB;AACrB;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEiB;AACjB;;;;;AC1diF;AAC7C;AACgB;AACF;;AAElD;AACA,yBAAyB,gCAAY;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8FAA8F,uCAAqB;AACnH;;AAEA;AACA,kBAAkB,KAAK;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,iCAAe;;AAErC;AACA;AACA;;AAEA,sCAAsC,4BAAU;AAChD;;AAEA;AACA,sBAAsB,iCAAe;AACrC,0EAA0E,4BAAU;AACpF;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;;AAEsB;AACtB;;;AC9H6C;AACO;AACR;AACY;;AAExD;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA,mCAAmC,aAAa;AAChD;AACA,iCAAiC,wBAAe;AAChD;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,iCAAa;AAClC;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS,GAAG;;AAEZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,4CAA4C;;AAE5C;AACA,iMAAiM;;AAEjM;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA,YAAY,KAAqC,EAAE,EAE1C;;AAET,kMAAkM;;AAElM;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAAQ;AAC/B;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,SAAS,wBAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqC;AACrC;;;ACpQoD;AACV;AACQ;AACA;;AAElD;AACA,4BAA4B,gCAAY;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2CAA2C,+BAAa;AACxD;;AAEA;AACA,6CAA6C,+BAAa;AAC1D;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,kCAAa,wGAAwG,kBAAI;AACtI,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEyB;AACzB;;;;;;;AC5FA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,WAAW;AACX,WAAW;;;AAGX;;AAEA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,kHAAkH;;AAElH,wJAAwJ;;AAExJ,0BAA0B,qBAAqB;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEuG;AACvG;;;ACjJ4I;AAC9F;AACM;AACF;AACE;AACA;AACgB;AACvB;;AAE7C;AACA;AACA,yBAAyB;AACzB,+CAA+C,UAAU;AACzD,qDAAqD,aAAa;AAClE,mCAAmC,aAAa;AAChD;AACA;AACA;AACA;;AAEA,QAAQ,KAAsD,EAAE,EAE3D;AACL;;AAEA;AACA;AACA;AACA,4BAA4B,gCAAY;AACxC,UAAU,gCAAY;AACtB;AACA;AACA;AACA,KAAK;AACL,6BAA6B,kCAAa;AAC1C,UAAU,kCAAa;AACvB;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iCAAe;AACrC;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,gCAAc;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,iBAAiB,kCAAgB;;AAEjC;AACA;AACA;;AAEA,0BAA0B,gCAAc;AACxC;AACA,yEAAyE;AACzE;AACA,KAAK;AACL;;AAEA;AACA,WAAW,kCAAa;AACxB;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,iCAAe;AACrC;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,+BAA+B,iCAAe;AAC9C;AACA;AACA;AACA;AACA;AACA,WAAW,kCAAa;AACxB;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC,IAAI,iCAAe;;AAEzD;AACA;AACA;;AAEA,qBAAqB,kCAAa;AAClC,sCAAsC,kBAAI,QAAQ,kBAAI;AACtD;;AAEA;AACA,+BAA+B,iCAAe;AAC9C,WAAW,kCAAa;AACxB;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,+BAA+B,iCAAe;AAC9C,qBAAqB,kCAAa;AAClC;;AAEA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,6CAA6C,kBAAI;;AAEjD;AACA,8BAA8B,kBAAI;AAClC;;AAEA;AACA;;AAEA;AACA,0BAA0B,gCAAc;AACxC,sEAAsE;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,kBAAI,QAAQ,kBAAI;AAClE;;AAEA;AACA,0BAA0B,gCAAc;AACxC,6BAA6B,qBAAqB;AAClD;AACA;;AAEA;AACA,0DAA0D,kBAAI,QAAQ,kBAAI;AAC1E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gDAAgD,8BAAY,eAAe,8BAAY;;AAEvF;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN,+DAA+D,iCAAe,yBAAyB;;AAEvG,QAAQ,KAAqC,EAAE,EAO1C;;AAEL;AACA;;AAEA;AACA,mDAAmD,8BAAY,kBAAkB,8BAAY;;AAE7F;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN,kEAAkE,iCAAe,+BAA+B;;AAEhH,QAAQ,KAAqC,EAAE,EAO1C;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,uCAAqB;AACxD,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEuB;AACvB;;;;;;;;;;;;;;;;;;;;;;;;ACnWiC;AACI;AAC9B,kBAAkB,iCAAM;AAC/B,oHAAoH;AACpH,YAAY,8BAAQ,CAAC,8BAAQ,GAAG,uDAAuD,iBAAiB,+KAA+K;AACvR,CAAC;AACD,0FAA0F;AAC1F;AACA,iBAAiB,8BAAQ,CAAC,8BAAQ,GAAG,yGAAyG,aAAa,iKAAiK;AAC5T,KAAK;AACL,CAAC;AACD;AACA;;ACZyC;AACC;AACF;AACI;AACrC,WAAW,oBAAU;AAC5B,qTAAqT,4BAAM;AAC3T,iCAAiC,0BAAS;AAC1C,+BAA+B,0BAAS;AACxC,QAAQ,KAAqC,EAAE,wBAS1C;AACL;AACA,gBAAgB,mBAAmB,CAAC,WAAW,EAAE,8BAAQ,GAAG,2GAA2G;AACvK,YAAY,mBAAmB;AAC/B;AACA;AACA,gBAAgB,mBAAmB,CAAC,WAAW,EAAE,8BAAQ,GAAG,2GAA2G,WAAW;AAClL;AACA,eAAe;AACf;AACA;AACA,gBAAgB,mBAAmB,CAAC,WAAW,EAAE,8BAAQ,GAAG,2GAA2G;AACvK;AACA;AACA,CAAC;AACD;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACjCqC;AACU;AACxC,0BAA0B,qCAAM;AACvC,4CAA4C;AAC5C;AACA;AACA,IAAI;AACJ,SAAS,gCAAY;AACrB,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,IAAI;AACJ,4CAA4C,gCAAY,4BAA4B;AACpF;AACA;AACA;AACA;;ACxBsD;AACZ;AACe;AACO;;AAEhE;AACA;AACO,iCAAiC,oBAAU;AAClD;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,sBAAsB,mBAAmB,CAAC,iBAAiB,EAAE,8BAAQ,GAAG;AACxE;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAE6C;;;;;;;;;ACvChC;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC,EAAE,EAS1C;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA,EAAE,0CAA6D;AAC/D,EAAE,KAAK,EAEN;;;;;;;;;;;;;;;;;ACrC6E;AACtB;AACA;AACA;AACjD,qBAAqB,+EAAM;AAClC;AACA,sBAAsB,gFAAK;AAC3B,kBAAkB,gFAAK;AACvB,iBAAiB,gFAAK;AACtB,GAAG;AACH;AACA,sBAAsB,uEAAM;AAC5B,kBAAkB,uEAAM;AACxB,GAAG;AACH;AACA,UAAU,gFAAK;AACf,WAAW,gFAAK;AAChB,GAAG;AACH;AACA;AACA,WAAW,2EAAU;AACrB;AACA;AACA,oBAAoB,2EAAU;AAC9B,KAAK;AACL;AACA;AACA,oBAAoB,2EAAU;AAC9B,KAAK;AACL;AACA;AACA,oBAAoB,2EAAU;AAC9B;AACA,GAAG;AACH;AACA,UAAU,2EAAU;AACpB,WAAW,2EAAU;AACrB,GAAG;AACH;AACA;AACA,wBAAwB,2EAAU;AAClC,oBAAoB,2EAAU;AAC9B,KAAK;AACL,WAAW,2EAAU;AACrB,GAAG;AACH;AACA;AACA;AACA,oBAAoB,sEAAK;AACzB,KAAK;AACL;AACA;AACA;AACA;AACA,6BAA6B,sEAAK,UAAU,EAAE,sEAAK,UAAU,EAAE,sEAAK,SAAS;AAC7E,yBAAyB,sEAAK,UAAU,EAAE,sEAAK,UAAU,EAAE,sEAAK,SAAS;AACzE,OAAO;AACP;AACA,+BAA+B,sEAAK,UAAU,EAAE,sEAAK,SAAS;AAC9D,2BAA2B,sEAAK,UAAU,EAAE,sEAAK,SAAS;AAC1D,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iCAAiC,sEAAK,UAAU,EAAE,sEAAK,SAAS;AAChE,6BAA6B,sEAAK,SAAS;AAC3C,OAAO;AACP;AACA,+BAA+B,sEAAK,SAAS;AAC7C;AACA,OAAO;AACP;AACA;AACA;AACA,0BAA0B,sEAAK;AAC/B,sBAAsB,sEAAK;AAC3B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B,0EAAkB,CAAC;AAC9C,oBAAoB,uEAAM;AAC1B,KAAK;AACL;AACA,2BAA2B,0EAAkB,KAAK;AAClD,oBAAoB,uEAAM;AAC1B;AACA;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtHA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;ACrgKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,aAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACO;AACP;AACA;AACA;AACA;AACA;;ACfO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACO;AACP;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA,qCAAqC,mBAAmB;AACxD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,6BAA6B;AAC7B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;;AAEO;AACP;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;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;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;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;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;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;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;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;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;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;;AC9pBA;AACA;AACA;AACA;;AAEO,MAAM,yBAAM;AACnB;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;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;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;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;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;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;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;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;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;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;;AChqBA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;AACA;AACA;;AC1ZA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;;AC/dA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;;AC/dA;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;;AAEP;AACA;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;AACA,mCAAmC;;AAE1C;AACA;AACA;AACO;AACA;AACA,kCAAkC;AAClC,sBAAsB,wDAAQ;AAC9B;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA,+BAA+B,iEAAiB;AAChD;;AAEP;AACA;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;AACA;;AAEP;AACA;AACA;AACO;AACA,6BAA6B;AAC7B,MAAM,oBAAK;AACX,8BAA8B;AAC9B,gCAAgC;AAChC,gCAAgC;;AAEhC,0BAA0B;AAC1B;AACA,mCAAmC;;AAE1C;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACO,0BAA0B,6DAAa;;AAE9C;AACA;AACA;AACO,qCAAqC;AACrC,iDAAiD;AACjD,gDAAgD;AAChD,qCAAqC;;AAE5C;AACA;AACA;AACO;AACA;AACA;AACP;;ACjO0D;AACnD,qBAAqB,WAAW;AACQ;AACA;AACA;AACF;AACU;AACI;AACgB;AACX;AACR;AACF;AACI;AAC1D;;;;;;;;;;;ACbO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACTiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,kCAAkC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAC7G,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D,QAAQ,mBAAmB,WAAW,+QAA+Q;AACrT;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACuB;AACzD;AACA,YAAY,QAAW;AACvB;AACA,kBAAkB,+BAAc;AACzB,gBAAgB,oBAAU;AACjC,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;;;;;;;;;AClB+G;AAC3D;AACF;AACA;AACS;;AAE3D,4BAA4B,oEAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,KAAgH,EAAE,EAErH;;AAEL,SAAS,yEAAmB;AAC5B;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA,yCAAyC;;AAEzC;AACA;AACA,MAAM;;;AAGN,sCAAsC;;AAEtC;AACA;AACA;;AAEA,+DAA+D;;AAE/D;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAI;AACR,wBAAwB;AACxB;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+BAA+B;AAC/B;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,wBAAwB;;AAExB;;AAEA;AACA,8BAA8B,sDAAI;AAClC;;AAEA;AACA;;AAEA;AACA;;AAEA,QAAQ,0DAAQ,mCAAmC,oEAAc;AACjE;AACA;;AAEA,iBAAiB,oEAAc,4DAA4D;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,0DAAQ,uCAAuC,oEAAc;AACrE;AACA;;AAEA;AACA,sDAAsD,oEAAY;AAClE;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,MAAM;AACN;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,gEAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,iBAAiB,iEAAW;AAC5B;AACA;AACA,UAAU;AACV,cAAc,KAAqC,EAAE,EAE1C;;AAEX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;;;AAGN;AACA,2BAA2B;;AAE3B;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ,gBAAgB,KAAqC,EAAE,EAE1C;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iEAAW;AAC1B;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C,QAAQ,yEAAmB;AAC3B;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,qCAAqC,wEAAgB;AAC3D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI,sEAAa;AACjB;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,QAAQ;;;AAGR;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA,OAAO,yEAAmB;AAC1B;AACA,IAAI;;;AAGJ;AACA;;AAEyB;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnkBa;;AAEb;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,GAAG;AACd,aAAa,UAAU;AACvB;AACe;AACf;AACA;AACA;AACA;;;ACba;;AAEwB;;AAErC;;AAEA,QAAQ,QAAQ,mBAAG;AACnB,QAAQ,iBAAiB;AACzB,QAAQ,wBAAwB;;AAEhC;AACA,MAAM,oBAAc;AACpB,KAAK,gBAAgB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,oBAAc;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B;AACA,aAAa,GAAG;AAChB;AACA;AACA;;AAEA;AACA,cAAc,cAAQ;AACtB;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,QAAQ,UAAU;;AAElB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,UAAU;AACrB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA,4BAA4B,qBAAqB,IAAI;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,GAAG,SAAS;AAC9C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAc;AACnC;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,iCAAiC,aAAa,IAAI;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA,QAAQ,uBAAuB;;AAE/B;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,WAAW,cAAc;AAChC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA,4CAAe;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,gBAAgB;AAChB,cAAc,oBAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;ACx/BW;;AAEmB;;AAEhC;AACA;AACA,0BAA0B,KAAK;AAC/B;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,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,mDAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA,CAAC,EAAC;;;ACpEW;;AAEmB;;AAEhC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAK;AACX;AACA;;AAEA;AACA;;AAEO;AACP;;AAEO;AACP;;AAEO;AACP;;AAEA,EAAE,KAAK;AACP;AACA,GAAG;;AAEH;AACA;;;AC3Da;;AAEmB;AACsB;AACkB;;AAExE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,KAAK,8CAA8C,mBAAmB;AAC/E;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,KAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,KAAK;;AAEZ,MAAM,KAAK;AACX;AACA;;AAEA,MAAM,KAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,KAAK;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,KAAK;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAK;;AAEX,QAAQ,KAAK;AACb;AACA,MAAM,SAAS,KAAK;AACpB,iBAAiB,YAAY;AAC7B,MAAM,SAAS,KAAK,qBAAqB,KAAK;AAC9C;AACA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;;AAEA;;AAEA,YAAY,KAAK;AACjB;AACA,qBAAqB,KAAK;AAC1B,UAAU;AACV;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,KAAK;AACjB;AACA;;AAEA,YAAY,KAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAAK;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,KAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,KAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAK;AACT,kBAAkB,KAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,KAAK;AACT;AACA;AACA,oCAAoC,KAAK;AACzC,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAK;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,8CAA8C,OAAO;AAC1D,oDAAoD;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,KAAK;;AAEL,wDAAe,YAAY,EAAC;;;AC9Vf;;AAEmB;AACa;;AAE7C;;AAEA;AACA,MAAM,KAAK;AACX;AACA;;AAEA;;AAEA;AACA,QAAQ,KAAK;AACb;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAK;AACb;;AAEA,0BAA0B,iBAAY;AACtC;AACA;;AAEA;;AAEA;AACA,QAAQ,KAAK;AACb;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA,OAAO;AACP,MAAM;AACN,WAAW,KAAK;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,KAAK;AACtC;AACA,MAAM,KAAK;AACX;AACA,UAAU,KAAK;;AAEf;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;AACA;AACA;AACA;AACA;;AAEA,sDAAe,UAAU,EAAC;;;AC3L1B;AACA,mDAAe,IAAI,EAAC;;;ACDP;;AAEmB;AACe;AAC/C;AACoE;;AAEpE;AACA;AACO;;AAEP;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA,SAAS,KAAK,yBAAyB,KAAK;AAC5C;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,KAAK;AACd;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA,SAAS,KAAK;AACd;;AAEA,mBAAmB,KAAK,cAAc,KAAK,IAAI;AAC/C;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,QAAQ;AACnB,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA,OAAO,KAAK;AACZ;AACA;;AAEA;AACA,8BAA8B,YAAgB;;AAE9C;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,cAAc,KAAK;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,KAAK;AAChC;;AAEA,OAAO,KAAK;AACZ;AACA;;AAEA;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;;AAEA,oBAAoB,KAAK;AACzB,gBAAgB,eAAU;AAC1B;;AAEA,QAAQ,KAAK,yBAAyB,KAAK;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,eAAU,iDAAiD,eAAU;AACrF;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB,eAAU;AAC1B;AACA,QAAQ,eAAU;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,GAAG;AAChB,aAAa,eAAe;AAC5B,aAAa,sBAAsB;AACnC,YAAY;AACZ;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA,QAAQ,KAAK,4BAA4B,KAAK;AAC9C;AACA;AACA;;AAEA;AACA,UAAU,KAAK,kBAAkB;AACjC;AACA;AACA;AACA;AACA,QAAQ;AACR,SAAS,KAAK;AACd,UAAU,KAAK,sBAAsB,KAAK,gCAAgC,KAAK;AAC/E;AACA;AACA;;AAEA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,KAAK;;AAEb;;AAEA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAK;AACT;AACA,UAAU,KAAK;AACf,mCAAmC,KAAK;;AAExC;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,OAAO,KAAK;AACZ;AACA;;AAEA;;AAEA;AACA;;AAEA,yDAAe,UAAU,EAAC;;;AC5Rb;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,kBAAU;AACtB;;AAEA,MAAM,8BAAS;;AAEf,8BAAS;AACT;AACA;;AAEA,8BAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,mEAAe,oBAAoB,EAAC;;;AC1DvB;;AAEmB;AAC6B;;AAE7D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACO,SAAS,eAAM;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,oBAAoB;AAC/B;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;AAEA,mBAAmB,KAAK;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,KAAK,oCAAoC,eAAM;AACjE,sBAAsB,KAAK;;AAE3B;;AAEA;AACA;AACA,IAAI;AACJ,uBAAuB,KAAK;AAC5B;AACA,YAAY,4BAAoB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;ACpEa;;AAEmB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,aAAa,QAAQ;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,KAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,8DAAe,kBAAkB,EAAC;;;ACvErB;;AAEb,4DAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;ACTW;;AAE+D;AAC5E,8DAAe,2DAA2D,4BAAoB,EAAC;;;ACHlF;;AAEb,uDAAe,iDAAiD,EAAC;;;ACFpD;;AAEb,mDAAe,yCAAyC,EAAC;;;ACFE;AACd;AACR;;AAErC,8CAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA,CAAC,EAAC;;;ACZF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAQE;;;ACnDqC;AACI;;AAE3C,+CAAe;AACf,KAAK,4BAAK;AACV,KAAK,OAAQ;AACb,CAAC,EAAC;;;ACNW;;AAEmB;AACS;AACG;;AAE7B;AACf,SAAS,kBAAU,WAAW,QAAQ;AACtC;AACA,UAAU,QAAQ,WAAW,KAAK;AAClC;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;;;AClBa;;AAEmB;AACe;AACe;;AAE9D,kBAAkB,2BAA2B;;AAE7C;AACA;AACA,cAAc,eAAU;AACxB;AACA,MAAM,eAAU;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,oBAAoB,KAAK;;AAEzB;AACA,UAAU,KAAK;AACf,uBAAuB,KAAK;AAC5B;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,SAAS,KAAK,8BAA8B,KAAK;AACjD;AACA;;AAEA;;AAEA,kBAAkB,KAAK;AACvB;AACA;;AAEA;AACA;;AAEA,MAAM,KAAK,yBAAyB,KAAK;AACzC;;AAEA,IAAI,KAAK;AACT;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,6DAAe,cAAc,EAAC;;;ACtHjB;;AAEmB;AACe;AACM;AACH;AACY;AAClB;AACc;;AAE1D,0CAA0C,KAAK;;AAE/C;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,MAAM,KAAK;AACX;AACA;AACA,aAAa,KAAK;AAClB,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,qBAAoB;;AAEpC;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,KAAK;;AAEnC,6BAA6B,KAAK;AAClC;AACA;;AAEA,yBAAyB,KAAK;;AAE9B;AACA,mDAAmD,sBAAc;AACjE;;AAEA;AACA,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA,UAAU,KAAK;AACf,kEAAkE;AAClE;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAU;AAC3B,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAK,qBAAqB,KAAK;AACzC;AACA;;AAEA;AACA;AACA,QAAQ,KAAK;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,oBAAoB,eAAU,SAAS,eAAU;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB,UAAU,QAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,KAAK;AACL;AACA,CAAC;;AAED,mDAAe,QAAQ,EAAC;;;AChLX;;AAEmB;AACY;AACO;;AAEnD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB;AACA,aAAa,GAAG;AAChB;AACe;AACf,yBAAyB,YAAQ;AACjC;AACA,kBAAkB,iBAAY;AAC9B;;AAEA,EAAE,KAAK;AACP;AACA,GAAG;;AAEH;;AAEA;AACA;;;AC3Ba;;AAEE;AACf;AACA;;;ACJa;;AAEkC;;AAE/C,4BAA4B,eAAU;AACtC;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA,eAAe,eAAe;AAC9B;AACA;AACA,kDAAkD,eAAU;AAC5D;AACA;AACA;AACA;;AAEA,2DAAe,aAAa,EAAC;;;ACrBhB;;AAE4B;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA,IAAI;AACJ,eAAe,eAAU;AACzB;AACA,wDAAwD,eAAU,mBAAmB,eAAU;AAC/F;AACA;AACA;AACA;AACA;AACA;;;AC1Ba;;AAEE;AACf,0BAA0B,KAAK;AAC/B;AACA;;;ACLa;;AAEb;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,0DAAe,WAAW,EAAC;;;ACtD3B;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uDAAe,QAAQ,EAAC;;;AC3CmB;AACN;AACL;;AAEzB;AACP;AACA,uBAAuB,mBAAW;;AAElC,SAAS,gBAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA,IAAI,KAAK;;;ACrDmC;;AAE5C,sDAAe,QAAQ;AACvB;AACA,yBAAyB,QAAQ;;AAEjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,cAAc,QAAQ;AACtB,MAAM,QAAQ,qCAAqC,QAAQ;AAC3D;AACA,cAAc,EAAC;;;ACfiB;AACY;;AAE5C,8CAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA,2BAA2B,KAAK,GAAG,0BAA0B;;AAE7D,YAAY,KAAK;AACjB,iCAAiC,gCAAgC;AACjE;AACA,YAAY,KAAK;AACjB,8BAA8B,KAAK;AACnC;AACA,YAAY,KAAK;AACjB,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,kCAAkC,SAAS;AAC3C;;AAEA,yCAAyC;AACzC,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF,cAAc;AACd,gDAAgD;AAChD,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,OAAO;AACP,iBAAiB;AACjB,KAAK,EAAC;;;AC/DO;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AClBa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;AACA;;;ACda;;AAE4B;AACe;AACJ;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,eAAU;AACxB;AACA,MAAM,eAAU;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA,uBAAuB,aAAa;AACpC;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;;;ACjDa;;AAEmB;AACa;;AAE7C,qDAAqD,iBAAY,KAAK,WAAW;;AAEjF;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,KAAK,0BAA0B,KAAK;AAC5C,aAAa,KAAK,cAAc,UAAU;AAC1C,MAAM,SAAS,KAAK;AACpB,aAAa,KAAK,SAAS;AAC3B,MAAM,SAAS,KAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA,SAAS,KAAK;AACd;AACA,MAAM,UAAU,KAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA,SAAS,KAAK;AACd;AACA;AACA;;AAEA;AACA;AACA,SAAS,KAAK;AACd;AACA,MAAM,UAAU,KAAK;AACrB;AACA;AACA;;AAEA;AACA,0BAA0B,KAAK;;AAE/B,SAAS,KAAK;AACd,UAAU,KAAK;AACf,YAAY,KAAK;AACjB;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,0BAA0B,KAAK;;AAE/B,QAAQ,KAAK,iCAAiC,KAAK;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,KAAK;AACb;AACA,MAAM,SAAS,KAAK;AACpB;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;AACA;;AAEA,EAAE,KAAK,uBAAuB,wBAAwB;AACtD;AACA,kBAAkB,KAAK;AACvB,cAAc,KAAK;AACnB,cAAc,KAAK;AACnB;AACA,KAAK,KAAK;AACV,GAAG;;AAEH;AACA,IAAI,KAAK;AACT,IAAI,KAAK;AACT;AACA;AACA,QAAQ,KAAK;AACb;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;;AC9J4C;AACZ;AACe;AACI;AAChB;AACkB;AACJ;AACE;AACd;;AAErC;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,8CAA8C,EAAE;AAChD;AACA;;AAEA;AACA,oBAAoB,WAAW,GAAG;;AAElC;AACA;AACA,wBAAwB,KAAK;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,iBAAY;;AAE5C,kBAAkB,QAAQ;AAC1B,IAAI,aAAa;AACjB;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,KAAK;AAC1B,qBAAqB,KAAK;;AAE1B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,YAAY,eAAU,SAAS,eAAU;AACzC;AACA;;AAEA,MAAM,KAAK;AACX;AACA,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,KAAK;AACX;AACA,yCAAyC;AACzC,MAAM,SAAS,KAAK;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,QAAQ;AACd,QAAQ,KAAK;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,0DAA0D,eAAe;;AAEzE;AACA,4DAA4D,OAAO;;AAEnE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4DAAe,aAAa,EAAC;;;ACtHG;AACO;AACwB;AAChB;AACQ;AACC;AACZ;AACO;AACuB;AAClB;AACqB;;AAE7E;;AAEA,0CAAe;AACf;AACA;AACA,sBAAsB,qBAAa;AACnC;AACA,6BAA6B,iBAAY;AACzC,YAAY,qDAAqD;AACjE;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,0CAA0C;;AAE1C;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iBAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,MAAM;AACd;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,eAAU,oBAAoB,eAAU;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,wBAAwB,eAAU,MAAM,eAAU;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qBAAoB;AACzE;AACA;AACA;AACA;AACA,cAAc,eAAU;AACxB;AACA,+CAA+C,eAAU,aAAa,eAAU;AAChF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,KAAK,SAAS,wBAAwB;AAC9C;AACA,SAAS;AACT;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,oBAAoB;AACjE;AACA;;AAEA;AACA;AACA,yCAAyC,oBAAoB;;AAE7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,oBAAa;AAC3D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,aAAa;;AAEpC,uBAAuB,QAAQ;AAC/B;AACA,cAAc,eAAU;AACxB;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG,EAAC;;;ACnOmD;AACR;AACf;;AAEhC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAU;AACjC;AACA,gBAAgB,oBAAa;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,eAAU,eAAe,QAAQ,cAAc,eAAU;AAC3E,KAAK;;AAEL;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,0EAA0E,YAAY;;AAEtF,UAAU,SAAS;;AAEnB,6BAA6B,KAAK;;AAElC;AACA;;AAEA,6DAAe,cAAc,EAAC;;;ACxDvB;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,6BAA6B;;AAE7B,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;AACA;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;;ACxGO;;ACAqC;AACZ;AACe;AACW;AACF;AACL;AAKP;AACY;AACjB;AAC6C;AAC3C;AACoC;;AAE7E;;AAEA,QAAQ,UAAU,qBAAG,EAAE,KAAK;;AAE5B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA,MAAM,gBAAU;AAChB,8CAA8C,EAAE;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAK;AACZ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,KAAK,yBAAyB,KAAK;AACvC,QAAQ,KAAK;AACb;AACA,UAAU,8BAA8B;;AAExC,QAAQ,KAAK;AACb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,UAAU,qCAAqC;AAC/C,sCAAsC,gBAAU;AAChD,6BAA6B,gBAAU;AACvC,8BAA8B,gBAAU;;AAExC;AACA;AACA;;AAEA,wDAAwD,gBAAU;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,KAAK;;AAEpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,eAAU;AAChC,gCAAgC,KAAK;AACrC,cAAc,eAAU;AACxB;AACA;AACA,WAAW;AACX,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;;AAEA,QAAQ,KAAK;AACb,mCAAmC,QAAQ;AAC3C;AACA;AACA,OAAO;AACP;AACA;;AAEA,QAAQ,KAAK,4BAA4B,KAAK;AAC9C;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;AACA;;AAEA;AACA,mBAAmB,KAAK;;AAExB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE,qBAAa;;AAErB,gCAAgC,KAAK;AACrC,6BAA6B,KAAK;AAClC,0BAA0B,KAAK;;AAE/B;;AAEA;;AAEA,yBAAyB,sBAAc;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA,UAAU,eAAU;AACpB;AACA,QAAQ,eAAU;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,KAAK;AAC9B,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,QAAQ;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,gBAAU;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,2BAA2B;AACrD;AACA,oBAAoB,eAAU;AAC9B;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,6BAA6B,KAAK,2BAA2B,KAAK;;AAElE;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA,cAAc,KAAK;AACnB;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA,kBAAkB,oBAAoB,CAAC,cAAc;AACrD;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAU;AAC5B;AACA,UAAU,eAAU;AACpB;AACA;AACA;AACA;;AAEA,WAAW,KAAK;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,OAAO;;AAElD;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,8BAA8B,iBAAY;;AAE1C;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA,oBAAoB,eAAU;AAC9B;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET,sCAAsC,KAAK;;AAE3C;AACA;AACA,YAAY,sBAAsB;AAClC;AACA,cAAc,oBAAoB,CAAC,cAAc;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAU;AAClC;AACA,gBAAgB,eAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,WAAW;AACrB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;;AAEA,yCAAyC,KAAK;AAC9C;AACA;AACA;;AAEA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAU;AAC9B;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,QAAQ,MAAM;AACd;AACA,mBAAmB,iBAAY;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,MAAM;AACN;;AAEA;AACA;AACA;AACA,uFAAuF,eAAU;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,eAAU;AACnC;AACA;AACA;;AAEA;AACA,iCAAiC,eAAU;AAC3C;AACA,UAAU,eAAU;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,YAAY,eAAU;AACtB;AACA;AACA;;AAEA;;AAEO;AACP;AACA,UAAU,2BAA2B;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,qDAAe,uDAAO,IAAC;;;ACloBS;AACI;AACF;AACS;AACI;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ,YAAW;AACnB,OAAO,GAAU;AACjB;AACA,SAAS,QAAqB;AAC9B,GAAG;AACH;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0CAA0C,wBAAwB;AAClE,MAAM;AACN;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA,sCAAsC,OAAO;;AAE7C;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,aAAa;AACb;AACA;AACA,EAAE,KAAK;;AAEP;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY,YAAY;AACxB,aAAa,UAAU;AACvB;AACA;AACA,aAAa,KAAK;;AAElB,UAAU,SAAS;AACnB;AACA;;AAEA;;AAEA,kBAAkB,YAAY;AAC9B;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,kBAAkB,eAAU,qBAAqB,GAAG;AACpD;AACA;;AAEA,oBAAoB,KAAK;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,IAAI;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,eAAU;AACxB;AACA,MAAM,eAAU;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAAe;AACf;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,CAAC,EAAC;;;ACnIW;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,oBAAa;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACe;AACf;;AAEA,mBAAmB,iBAAY;;AAE/B;AACA,gBAAgB,aAAa;;AAE7B;AACA;AACA;;AAEA,kBAAkB,QAAQ,8BAA8B,YAAQ;;AAEhE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,QAAQ;AACR;AACA;;AAEA,yBAAyB,iBAAY;;AAErC;AACA,KAAK;AACL;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oCAAoC,iBAAY;AAChD;AACA;;AAEA;AACA;AACA;AACA;;;ACxFa;;AAE4B;AACM;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,eAAU;AAC1B;AACA,QAAQ,eAAU;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,KAAK,6BAA6B,gBAAgB;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA,cAAc,eAAU,8BAA8B,eAAU;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAU;AAC5B;AACA,UAAU,eAAU;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB,eAAU,0BAA0B,eAAU;AAC9D;AACA;AACA;;AAEA,gDAAe;AACf;AACA;AACA,CAAC,EAAC;;;AC/GW;;AAEmB;AACc;AACW;AACN;AACR;AACI;AACC;AACH;AACkB;;AAE/D,MAAM,gBAAU,GAAG,SAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAkB;AACrC,oBAAoB,uBAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,WAAW;;AAExB,YAAY,0CAA0C;;AAEtD;AACA,MAAM,SAAS;AACf;AACA;AACA,6BAA6B,gBAAU,cAAc,gBAAU;AAC/D,6BAA6B,gBAAU,cAAc,gBAAU;AAC/D,+BAA+B,gBAAU,cAAc,gBAAU;AACjE,2CAA2C,gBAAU,cAAc,gBAAU;AAC7E,uCAAuC,gBAAU,cAAc,gBAAU;AACzE,2CAA2C,gBAAU,cAAc,gBAAU;AAC7E,SAAS;AACT;AACA;AACA;;AAEA;AACA,UAAU,KAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,SAAS;AACjB;AACA;AACA,oBAAoB,gBAAU;AAC9B,uBAAuB,gBAAU;AACjC,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA,IAAI,SAAS;AACb;AACA;AACA,iBAAiB,gBAAU;AAC3B,uBAAuB,gBAAU;AACjC,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,KAAK;;AAEzC;AACA,MAAM,KAAK;AACX;AACA,OAAO;;AAEP,qBAAqB,iBAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kDAAkD,qBAAoB;AACtE;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,eAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB,qBAAqB,aAAa;AAClC,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM,WAAW,aAAa;AAC9B;AACA;AACA,wBAAwB,KAAK;AAC7B,OAAO;AACP;AACA;AACA,CAAC;;AAED,KAAK;AACL;AACA;AACA;AACA,QAAQ,WAAW,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAe,KAAK,EAAC;;;AC1RR;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,oBAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,yDAAe,WAAW,EAAC;;;ACtId;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;;;AC3Ba;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACe;AACf,SAAS,KAAK;AACd;;;ACbA;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;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,6DAAe,cAAc,EAAC;;;AC5EjB;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACJ;AACS;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,UAAK;AAC3B,mBAAmB,IAAI,CAAC,UAAK;;AAE7B;AACA,EAAE,KAAK,kBAAkB,UAAK,uBAAuB,kBAAkB;;AAEvE;AACA,EAAE,KAAK,mCAAmC,kBAAkB;;AAE5D;AACA;AACA,0BAA0B,WAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,YAAQ;;AAErC;AACA,cAAc,UAAK;;AAEnB;AACA,sBAAsB,oBAAa;AACnC,oBAAoB,kBAAW;AAC/B,iBAAiB,QAAQ;AACzB,gBAAgB,OAAO;AACvB,mBAAmB,kBAAU;;AAE7B;AACA,mBAAmB,eAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,MAAM;;AAErB;AACA,qBAAqB,YAAY;;AAEjC;AACA,oBAAoB,WAAW;;AAE/B,qBAAqB,iBAAY;;AAEjC,8BAA8B,sBAAc,CAAC,KAAK;;AAElD,mBAAmB,QAAQ;;AAE3B,uBAAuB,sBAAc;;AAErC;;AAEA;AACA,gDAAe,KAAK,EAAC;;;;;;;;;;;;;;;;;ACxFrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,gBAAgB,sCAAsC,kBAAkB;AACjF,wBAAwB;AACxB;AACA;;AAEO;AACP;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEO;AACP;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP,kCAAkC;AAClC;;AAEO;AACP,uBAAuB,uFAAuF;AAC9G;AACA;AACA,yGAAyG;AACzG;AACA,sCAAsC,QAAQ;AAC9C;AACA,gEAAgE;AAChE;AACA,8CAA8C,yFAAyF;AACvI,8DAA8D,2CAA2C;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,4CAA4C,yEAAyE;AACrH;;AAEO;AACP;AACA;;AAEO;AACP,0BAA0B,+DAA+D,iBAAiB;AAC1G;AACA,kCAAkC,MAAM,+BAA+B,YAAY;AACnF,iCAAiC,MAAM,mCAAmC,YAAY;AACtF,8BAA8B;AAC9B;AACA,GAAG;AACH;;AAEO;AACP,YAAY,6BAA6B,0BAA0B,cAAc,qBAAqB;AACtG,2IAA2I,cAAc;AACzJ,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,iCAAiC,SAAS;AAC1C,iCAAiC,WAAW,UAAU;AACtD,wCAAwC,cAAc;AACtD;AACA,4GAA4G,OAAO;AACnH,+EAA+E,iBAAiB;AAChG,uDAAuD,gBAAgB,QAAQ;AAC/E,6CAA6C,gBAAgB,gBAAgB;AAC7E;AACA,gCAAgC;AAChC;AACA;AACA,QAAQ,YAAY,aAAa,SAAS,UAAU;AACpD,kCAAkC,SAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAEM;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACO;AACP,2BAA2B,sBAAsB;AACjD;AACA;AACA;;AAEA;AACO;AACP,gDAAgD,QAAQ;AACxD,uCAAuC,QAAQ;AAC/C,uDAAuD,QAAQ;AAC/D;AACA;AACA;;AAEO;AACP,2EAA2E,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,wMAAwM,cAAc;AACtN,4BAA4B,sBAAsB;AAClD,wBAAwB,YAAY,sBAAsB,qCAAqC,2CAA2C,MAAM;AAChJ,0BAA0B,MAAM,iBAAiB,YAAY;AAC7D,qBAAqB;AACrB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B;;AAEO;AACP;AACA,eAAe,6CAA6C,UAAU,sDAAsD,cAAc;AAC1I,wBAAwB,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AAClI;;AAEO;AACP;AACA;AACA,yGAAyG,uFAAuF,cAAc;AAC9M,qBAAqB,8BAA8B,gDAAgD,wDAAwD;AAC3J,2CAA2C,sCAAsC,UAAU,mBAAmB,IAAI;AAClH;;AAEO;AACP,+BAA+B,uCAAuC,YAAY,KAAK,OAAO;AAC9F;AACA;;AAEA;AACA,wCAAwC,4BAA4B;AACpE,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,qDAAqD,cAAc;AACnE;AACA;AACA;;AAEO;AACP,2CAA2C;AAC3C;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,MAAM,oBAAoB,YAAY;AAC5E,qBAAqB,8CAA8C;AACnE;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,SAAS,gBAAgB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,sEAAe;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,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChZF;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,aAAa;AACb;AACA;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,GAAG,qBAAqB;AACxB;AACA;AACA,+BAA+B;AAC/B;AACA,GAAG,qBAAqB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,IAAI;;;AAGJ;;AAEA;AACA;AACA,IAAI;;;AAGJ;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEua;AACva;;;;;;;;;;;;;;;;;;;;AC/TA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAE4B;AAC5B;;;ACVA;AAC+B;AACgB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kFAAkF,gBAAgB;AAClG;;AAEoF;AACpF;;;;;;;;;;;;;;;AC3BkD;AACX;;AAEvC,2BAA2B,oEAAY;AACvC;AACA;;AAEA;AACA;AACA;AACA,WAAW,0DAAQ;AACnB,0CAA0C;;;AAG1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEsC;AACtC;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACa,OAAO,mBAAO,CAAC,IAAO,IAAI,mBAAO,CAAC,IAAe,IAAI,mBAAO,CAAC,IAAW,EAAE,cAAc,yEAAyE,mBAAmB,mDAAmD,oCAAoC,2HAA2H;AACnZ,+BAA+B,8CAA8C,IAAI,aAAa,SAAS,iBAAiB,oCAAoC,oBAAoB,MAAM,OAAO,+BAA+B,MAAM,QAAQ,uBAAuB,+BAA+B,yBAAyB,OAAO,OAAO,SAAS,MAAM,QAAQ,yBAAyB,kBAAkB;AACzY,mBAAmB,8BAA8B,sBAAsB,iBAAiB,qBAAqB;AAC7G,cAAc,uBAAuB,4BAA4B,gCAAgC,WAAW,yCAAyC,QAAQ,eAAe,gBAAgB,aAAa,mBAAmB,6CAA6C,QAAQ,gCAAgC,MAAM,6CAA6C,KAAK,+DAA+D;AACxa,mBAAmB,+BAA+B,QAAQ,mCAAmC,eAAe,MAAM,OAAO,eAAe,WAAW,mCAAmC,WAAW,qCAAqC,+BAA+B,QAAQ,MAAM,QAAQ;AAC3R,eAAe,YAAY,8CAA8C,kBAAkB,uCAAuC,eAAe,6BAA6B,cAAc,OAAO,cAAc,WAAW,MAAM,aAAa,WAAW,cAAc,iBAAiB,YAAY,uBAAuB,kBAAkB,eAAe,sBAAsB,cAAc;AACjY,mBAAmB,oBAAoB,MAAM,IAAI,iBAAiB,QAAQ,YAAY,6YAA6Y;AACne,eAAe,0BAA0B,0BAA0B,8BAA8B,SAAS,SAAS,qBAAqB,iCAAiC,iBAAiB,uCAAuC,6BAA6B,qCAAqC,6BAA6B,+BAA+B;AAC/V,qBAAqB,0DAA0D,cAAc,2BAA2B,gBAAgB,oBAAoB,uBAAuB,4BAA4B,SAAS,wBAAwB,yCAAyC,qBAAqB,0BAA0B,uBAAuB,oBAAoB,YAAY,mBAAmB;AAClZ,sKAAsK,6BAA6B,EAAE,4HAA4H,WAAW,gCAAgC,EAAE,yEAAyE,2CAA2C;AACle,4FAA4F,6BAA6B,EAAE,uPAAuP,2CAA2C;AAC7Z,8DAA8D,6BAA6B,EAAE,2CAA2C,6BAA6B,EAAE,kDAAkD,6BAA6B,EAAE,wCAAwC,2CAA2C,EAAE,uBAAuB,eAAe;AACnX,ylCAAylC;AACzlC,IAAI,6BAA6B,EAAE,0GAA0G,uBAAuB,uDAAuD,EAAE,wDAAwD,uBAAuB,+DAA+D,EAAE,+CAA+C,2CAA2C;AACvc,mFAAmF,yDAAyD,2CAA2C,EAAE,6DAA6D,yEAAyE,aAAa,EAAE,2EAA2E,cAAc;AACva,qBAAqB,oCAAoC,mGAAmG;AAC5J;AACA,kKAAkK,eAAe,6CAA6C,6BAA6B,mCAAmC,eAAe,mBAAmB,YAAY,cAAc,MAAM,YAAY,mBAAmB,qDAAqD,aAAa,yCAAyC;AAC1e,eAAe,uBAAuB,4DAA4D,gCAAgC,UAAU,yBAAyB,uBAAuB,yBAAyB,2BAA2B,yBAAyB,6BAA6B,0CAA0C,iCAAiC,iCAAiC,uBAAuB,4BAA4B;AACrc,cAAc,0BAA0B,4BAA4B,uDAAuD,YAAY,eAAe,SAAS,GAAG,gBAAgB,oDAAoD,QAAQ,0DAA0D,OAAO,kBAAkB,IAAI,KAAK,wFAAwF,+BAA+B,KAAK,WAAW,SAAS;AAC1d,eAAe,iBAAiB,mFAAmF,kBAAkB,eAAe,aAAa;AACjK,eAAe,qGAAqG,uGAAuG,oBAAoB,2BAA2B,+BAA+B,oBAAoB,iBAAiB,OAAO,gBAAgB,EAAE,2BAA2B,wBAAwB,EAAE,OAAO,oBAAoB,SAAS,sBAAsB,OAAO,yBAAyB;AACtf,KAAK,eAAe,eAAe,yCAAyC,eAAe,eAAe,sBAAsB,eAAe,mBAAmB,SAAS,8CAA8C,IAAI,mCAAmC,iBAAiB,gBAAgB,WAAW,IAAI,wGAAwG;AACxZ,iBAAiB,0FAA0F,8BAA8B,iBAAiB,gHAAgH,iBAAiB,YAAY;AACvS,iBAAiB,QAAQ,2BAA2B,4BAA4B,gDAAgD,oCAAoC,mCAAmC,2BAA2B,OAAO,2GAA2G;AACpV,mBAAmB,gEAAgE,aAAa,yEAAyE,kCAAkC,4BAA4B,iBAAiB,SAAS,oBAAoB,kDAAkD;AACvU,mBAAmB,uJAAuJ,eAAe,SAAS,kCAAkC,gBAAgB,EAAE,SAAS,iBAAiB,KAAK,gBAAgB,IAAI,iCAAiC;AAC1U,qBAAqB,YAAY,MAAM,KAAK,YAAY,WAAW,mBAAmB,QAAQ,WAAW,4GAA4G,KAAK,WAAW,OAAO,QAAQ,WAAW,KAAK,mBAAmB,iBAAiB,6BAA6B,OAAO,kCAAkC;AAC9W,iBAAiB,sDAAsD,WAAW,IAAI,0EAA0E,EAAE,iBAAiB,cAAc,YAAY,aAAa,iBAAiB,YAAY,8BAA8B,qBAAqB,qCAAqC,OAAO,IAAI,gBAAgB,IAAI,iBAAiB;AAC/X,iBAAiB,uCAAuC,wGAAwG,+BAA+B,eAAe,oBAAoB,gEAAgE,QAAQ;AAC1S,eAAe,UAAU,8CAA8C,uDAAuD,8CAA8C,iBAAiB;AAC7L,sBAAsB,kFAAkF,yCAAyC,kBAAkB,EAAE,GAAG,eAAe,0DAA0D,KAAK,qCAAqC,qDAAqD,oBAAoB,aAAa,6BAA6B,KAAK,aAAa,8BAA8B;AAC9b,iBAAiB,MAAM,mBAAmB,uCAAuC,cAAc,QAAQ,gBAAgB,iBAAiB,SAAS,mCAAmC,yBAAyB,mBAAmB,SAAS,QAAQ,mMAAmM,MAAM;AAC1b,oPAAoP,eAAe,sBAAsB,mBAAmB,cAAc,6DAA6D;AACvX,0XAA0X,eAAe,gBAAgB,oCAAoC;AAC7b,eAAe,YAAY,oBAAoB,SAAS,YAAY,KAAK,IAAI,uDAAuD,SAAS,wBAAwB,eAAe,eAAe,sBAAsB,wDAAwD,gCAAgC,YAAY,eAAe;AAC5U,eAAe,kBAAkB,OAAO,QAAQ,gCAAgC,oBAAoB,iBAAiB,EAAE,eAAe,kBAAkB,kBAAkB,aAAa,WAAW,aAAa,IAAI,SAAS,MAAM,sBAAsB,cAAc,EAAE,EAAE,wBAAwB,wBAAwB,YAAY,qBAAqB,+BAA+B,KAAK,uBAAuB,EAAE,EAAE,UAAU,KAAK,IAAI,IAAI,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,YAAY,OAAO,cAAc,EAAE,EAAE;AACzf,GAAG,KAAK,IAAI,IAAI,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,YAAY,4BAA4B,wCAAwC,iCAAiC,mCAAmC,eAAe,QAAQ,kBAAkB,aAAa,EAAE,iCAAiC,sCAAsC,KAAK,eAAe,KAAK,WAAW,EAAE,uCAAuC,WAAW,0BAA0B,aAAa;AACrc,iBAAiB,8BAA8B,oBAAoB,qBAAqB,+CAA+C,UAAU,SAAS,4CAA4C,mBAAmB,+CAA+C;AACxQ,eAAe,MAAM,kDAAkD,gCAAgC,sCAAsC,oBAAoB,kBAAkB,0BAA0B,0BAA0B,4CAA4C,eAAe,wBAAwB,KAAK,QAAQ,MAAM,SAAS,yBAAyB;AAC/W,eAAe,iCAAiC,yDAAyD,qCAAqC,eAAe,gBAAgB,SAAS,oBAAoB,6DAA6D,+BAA+B,SAAS,UAAU,eAAe,oBAAoB,mBAAmB,kBAAkB,qBAAqB;AACtZ,qBAAqB,cAAc,eAAe,iBAAiB,qBAAqB,gBAAgB,eAAe,SAAS,OAAO;AACvI,eAAe,uBAAuB,GAAG,OAAO,oBAAoB,MAAM,QAAQ,yCAAyC,KAAK,KAAK,SAAS,YAAY,2CAA2C,YAAY,QAAQ,kCAAkC,QAAQ,SAAS,QAAQ,qBAAqB,KAAK,iBAAiB,wBAAwB,iBAAiB,yCAAyC,eAAe,mBAAmB,YAAY,KAAK,YAAY;AAChd,SAAS,OAAO,mBAAmB,cAAc,UAAU,gCAAgC,MAAM,0CAA0C,gBAAgB,mBAAmB,oBAAoB,MAAM,6CAA6C,MAAM,gDAAgD,mCAAmC;AAC9U;AACA,iBAAiB,YAAY,uBAAuB,UAAU,EAAE,uBAAuB,UAAU,EAAE,uBAAuB,OAAO;AACjI,iBAAiB,UAAU,iCAAiC,MAAM,0CAA0C,MAAM,yCAAyC,MAAM,4DAA4D,MAAM,2EAA2E,yBAAyB,4FAA4F,sBAAsB;AACzb,uBAAuB,UAAU,2CAA2C,+CAA+C,+CAA+C,qCAAqC,wCAAwC,SAAS,yFAAyF;AACzV,eAAe,mBAAmB,aAAa,YAAY,+BAA+B,qBAAqB,cAAc,iDAAiD,MAAM,EAAE,QAAQ,oCAAoC,qDAAqD,QAAQ,iBAAiB,eAAe,+BAA+B,sEAAsE,aAAa,YAAY,gBAAgB,cAAc,SAAS;AACpe,mBAAmB,mBAAmB,cAAc,UAAU,YAAY,EAAE,YAAY,uBAAuB,kBAAkB,gBAAgB,MAAM,sEAAsE,kCAAkC,6BAA6B,6BAA6B,6BAA6B,eAAe,eAAe,iBAAiB;AACrY,eAAe,cAAc,eAAe,gBAAgB,YAAY,YAAY,YAAY,KAAK,YAAY,qCAAqC,oBAAoB,oBAAoB,oBAAoB,cAAc,cAAc,QAAQ,YAAY,gDAAgD,KAAK,0CAA0C;AACjW,SAAS;AACT,oHAAoH,iBAAiB,YAAY,WAAW,MAAM,2DAA2D,GAAG,yBAAyB,+BAA+B,mCAAmC,YAAY,YAAY;AACnV;AACA,qSAAqS,SAAS,gHAAgH,aAAa;AAC3a,2EAA2E,gBAAgB,WAAW,mBAAmB,gBAAgB,uBAAuB,6BAA6B,MAAM,6BAA6B,MAAM,8BAA8B,wDAAwD,qBAAqB,SAAS,cAAc,MAAM,IAAI,cAAc,QAAQ,cAAc,qBAAqB;AAC3a,qBAAqB,qEAAqE,KAAK,kBAAkB,oBAAoB,oDAAoD,wBAAwB,QAAQ,iBAAiB,IAAI,SAAS,QAAQ;AAC/P,qBAAqB,QAAQ,QAAQ,aAAa,YAAY,mBAAmB,KAAK,YAAY,WAAW,QAAQ,qBAAqB,OAAO,eAAe,uEAAuE,OAAO,sBAAsB,cAAc,IAAI,SAAS,QAAQ,MAAM;AAC7S,QAAQ;AACR,0HAA0H,8BAA8B,oCAAoC,uBAAuB,6CAA6C,YAAY,EAAE,EAAE,mBAAmB;AACnS,iBAAiB,UAAU,uCAAuC,yCAAyC,4BAA4B,6BAA6B,UAAU,YAAY,EAAE,yHAAyH;AACrT,iBAAiB,MAAM,uFAAuF,oCAAoC,uCAAuC,4GAA4G;AACrS,iBAAiB,oDAAoD,UAAU,kLAAkL,kBAAkB,eAAe,iBAAiB,oDAAoD,YAAY,QAAQ,YAAY,WAAW,iBAAiB;AACna,eAAe,qDAAqD,sCAAsC,IAAI,+BAA+B,SAAS,eAAe,eAAe,KAAK,gBAAgB,gBAAgB,SAAS,iBAAiB,YAAY,IAAI,UAAU,EAAE,EAAE,mBAAmB,yBAAyB,qBAAqB,mBAAmB,IAAI,GAAG,KAAK,EAAE,EAAE,kBAAkB,gBAAgB,QAAQ,eAAe,SAAS;AACvb,iBAAiB,gLAAgL,cAAc,wBAAwB,iCAAiC,EAAE,IAAI,sDAAsD,SAAS,KAAK,uBAAuB,WAAW,iBAAiB;AACrY,eAAe,8CAA8C,+JAA+J,mDAAmD,iBAAiB,UAAU,6EAA6E;AACvX,iBAAiB,sOAAsO,gHAAgH,eAAe,KAAK,QAAQ,iBAAiB,iBAAiB,sBAAsB;AAC3b,eAAe,oBAAoB,YAAY,EAAE,EAAE,mBAAmB,aAAa,2BAA2B,kBAAkB,IAAI,iBAAiB,oBAAoB,YAAY;AACrL,eAAe,YAAY,cAAc,uBAAuB,EAAE,EAAE,mBAAmB,cAAc,wDAAwD,SAAS,EAAE,oBAAoB,QAAQ,SAAS,IAAI,eAAe,YAAY,eAAe,eAAe,6DAA6D,eAAe,2CAA2C,oBAAoB,eAAe;AACpa,eAAe,cAAc,oBAAoB;AACjD,iBAAiB,kBAAkB,kBAAkB,YAAY,kBAAkB,OAAO,YAAY,sUAAsU,KAAK,QAAQ,aAAa,iBAAiB;AACvd,aAAa,SAAS,mBAAmB,uJAAuJ,eAAe,gDAAgD,6BAA6B,EAAE,mBAAmB,eAAe,MAAM,uBAAuB,QAAQ,WAAW;AAChX,mBAAmB,wLAAwL,eAAe,+DAA+D,eAAe,SAAS;AACjT,cAAc,gBAAgB,0EAA0E,QAAQ,iBAAiB,KAAK,UAAU,QAAQ,sBAAsB,KAAK,oCAAoC,cAAc,SAAS,cAAc;AAC5P,oBAAoB,sBAAsB,mBAAmB,mBAAmB,6BAA6B,oGAAoG,+FAA+F,6BAA6B;AAC7U,eAAe,0BAA0B,yBAAyB,uBAAuB,yHAAyH,4BAA4B,uBAAuB,+HAA+H,oBAAoB,qBAAqB,uCAAuC;AACpd,EAAE,wBAAwB,2DAA2D,qDAAqD,sDAAsD,EAAE,aAAa,+CAA+C,YAAY,oEAAoE,+BAA+B;AAC7W,qBAAqB,cAAc,aAAa,+BAA+B,WAAW,wBAAwB,YAAY,iBAAiB,cAAc,0BAA0B,gBAAgB,gBAAgB,kBAAkB,MAAM,UAAU,MAAM,qBAAqB,0BAA0B,2BAA2B,qBAAqB,SAAS;AACvW,eAAe,4CAA4C,eAAe,iDAAiD,eAAe,eAAe,eAAe,aAAa,iBAAiB,UAAU,eAAe,UAAU,6DAA6D;AACtS,mGAAmG,aAAa,yBAAyB,wDAAwD,gEAAgE,iBAAiB,yBAAyB,8DAA8D,gFAAgF,mBAAmB,yBAAyB;AACre,qCAAqC,kFAAkF,oBAAoB,yBAAyB,oEAAoE,oFAAoF;AAC5T,iBAAiB,UAAU,8CAA8C,sCAAsC,sDAAsD,kBAAkB,eAAe,WAAW,kDAAkD,UAAU,iBAAiB,UAAU,mCAAmC,4CAA4C,MAAM,UAAU,mDAAmD;AAC1b,iBAAiB,mFAAmF,UAAU,yBAAyB,2EAA2E,yCAAyC,+CAA+C,YAAY,6DAA6D;AACnX,QAAQ,8CAA8C,MAAM,SAAS,UAAU,kDAAkD,QAAQ,0CAA0C,QAAQ,gDAAgD,QAAQ,SAAS,+FAA+F;AAC3V,mEAAmE,oFAAoF,oCAAoC,KAAK,mJAAmJ,eAAe,8CAA8C;AAChZ,QAAQ,QAAQ,yBAAyB,8CAA8C,yFAAyF,mBAAmB,+BAA+B,gBAAgB,MAAM,MAAM,SAAS,oBAAoB,eAAe,MAAM,eAAe,YAAY,kBAAkB,iBAAiB,yBAAyB,UAAU;AACjZ,cAAc,uDAAuD,eAAe,iEAAiE,KAAK,MAAM,IAAI,SAAS,QAAQ,aAAa,mBAAmB,oFAAoF,eAAe,mEAAmE,iBAAiB,4BAA4B,iBAAiB;AACzb,QAAQ,wEAAwE,4DAA4D,uDAAuD,yBAAyB,KAAK,KAAK,SAAS,+FAA+F,kCAAkC,YAAY,0FAA0F,cAAc,sBAAsB;AAC1f,IAAI,gEAAgE,eAAe,uBAAuB,oEAAoE,cAAc;AAC5L,wCAAwC,qMAAqM,iFAAiF,uBAAuB,sCAAsC,SAAS,aAAa,uDAAuD,uBAAuB;AAC/d,SAAS,aAAa,wDAAwD,gBAAgB,6IAA6I,MAAM,YAAY,sEAAsE,aAAa,sEAAsE,eAAe,4EAA4E,eAAe;AAChgB,2CAA2C,KAAK,gDAAgD,4EAA4E,uEAAuE,0EAA0E,MAAM,+DAA+D,YAAY,uCAAuC,YAAY,qBAAqB;AACtd,GAAG,SAAS,oBAAoB,oBAAoB,cAAc,iGAAiG,kBAAkB,kBAAkB,uBAAuB,iBAAiB,WAAW,kBAAkB,uBAAuB,iBAAiB,WAAW,kBAAkB,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,YAAY,KAAK,MAAM,aAAa,KAAK,MAAM,aAAa,KAAK,IAAI,EAAE;AAC3d,QAAQ,QAAQ,OAAO,YAAY,IAAI,SAAS,SAAS,EAAE,cAAc,yBAAyB,UAAU,QAAQ,SAAS,SAAS,EAAE,cAAc,yBAAyB,UAAU,QAAQ,QAAQ,WAAW,yBAAyB,eAAe,MAAM,uBAAuB,8BAA8B,iBAAiB,+CAA+C;AACvX,iBAAiB,oBAAoB,yEAAyE,sCAAsC,gCAAgC,QAAQ,WAAW,uDAAuD;AAC9P,oEAAoE,QAAQ,yBAAyB,8CAA8C,2GAA2G;AAC9P,iBAAiB,+DAA+D,wCAAwC,KAAK,+BAA+B,0CAA0C,6EAA6E,oGAAoG,EAAE;AACzX,QAAQ,kDAAkD,gEAAgE,YAAY,GAAG,QAAQ,cAAc,YAAY,WAAW,qBAAqB,KAAK,QAAQ,KAAK,KAAK,iBAAiB,iBAAiB,UAAU,oEAAoE,MAAM,0BAA0B,MAAM,uBAAuB,MAAM,sEAAsE;AAC3d,2CAA2C,aAAa,cAAc,uDAAuD,eAAe,0BAA0B,gEAAgE,gBAAgB,mBAAmB,EAAE,eAAe,gBAAgB,wDAAwD,eAAe;AACjX,QAAQ,2MAA2M,KAAK;AACxN,qHAAqH,eAAe,gBAAgB,UAAU,uBAAuB,+BAA+B,gJAAgJ,oIAAoI;AACxe,eAAe,qBAAqB,uDAAuD,mBAAmB,kFAAkF,gBAAgB,kBAAkB,gBAAgB,4HAA4H,eAAe,sDAAsD,gBAAgB,mBAAmB;AACtd,mBAAmB,oBAAoB,8FAA8F,4BAA4B,MAAM,8CAA8C,gBAAgB,kBAAkB,UAAU,yCAAyC,iCAAiC,MAAM,8BAA8B,MAAM,yCAAyC;AAC9Z,GAAG,MAAM,+HAA+H,MAAM,2EAA2E,MAAM,6BAA6B,MAAM,aAAa,MAAM,mBAAmB,MAAM,kBAAkB,MAAM,yCAAyC,MAAM;AACrX,GAAG,MAAM,YAAY,uBAAuB,MAAM,WAAW,0BAA0B,oKAAoK,KAAK,UAAU,MAAM,MAAM,MAAM,IAAI,kHAAkH,EAAE,gBAAgB,cAAc;AAClb,gBAAgB,KAAK,iBAAiB,YAAY,SAAS,IAAI,WAAW,IAAI,WAAW,OAAO,iBAAiB,0BAA0B,gBAAgB,kBAAkB,2GAA2G,QAAQ,GAAG,qBAAqB,iHAAiH,SAAS,cAAc,sBAAsB;AACtd,cAAc,KAAK,KAAK,mBAAmB,sCAAsC,OAAO,OAAO,mBAAmB,kBAAkB,sBAAsB,kDAAkD,sBAAsB,mEAAmE,WAAW,KAAK,IAAI,eAAe,mEAAmE,aAAa,OAAO,eAAe;AAC9a,mBAAmB,kBAAkB,0BAA0B,qFAAqF;AACpJ,2UAA2U,yDAAyD,uDAAuD;AAC3b,cAAc,aAAa,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,8BAA8B,eAAe,UAAU,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,8BAA8B,iBAAiB,QAAQ,eAAe,mBAAmB,QAAQ,iBAAiB,eAAe,2CAA2C,UAAU,cAAc,cAAc,SAAS,QAAQ,MAAM;AAC/e,cAAc,mBAAmB,MAAM,QAAQ,IAAI,SAAS,iBAAiB,KAAK,WAAW,KAAK,WAAW,WAAW,iBAAiB,EAAE,QAAQ,SAAS,iDAAiD,QAAQ,QAAQ,mBAAmB,MAAM,kDAAkD,iBAAiB,sBAAsB,MAAM,IAAI,iBAAiB,0CAA0C,SAAS,QAAQ,aAAa,yBAAyB,cAAc;AACzd,eAAe,iBAAiB,MAAM,gCAAgC,iBAAiB,KAAK,SAAS,EAAE,kBAAkB,gHAAgH,kEAAkE,WAAW,YAAY,iBAAiB,KAAK,WAAW,iBAAiB;AACpX,iBAAiB,0BAA0B,yDAAyD,GAAG,oCAAoC,cAAc,iCAAiC,KAAK,iBAAiB,iDAAiD,kBAAkB,uBAAuB,UAAU,eAAe,eAAe,iDAAiD,aAAa;AAChZ,iBAAiB,gBAAgB,mCAAmC,8EAA8E,EAAE,iBAAiB,GAAG,8EAA8E,gBAAgB,iBAAiB,gBAAgB,aAAa,WAAW,gBAAgB,2CAA2C;AAC1X,iBAAiB,kBAAkB,kBAAkB,gBAAgB,cAAc;AACnF,qBAAqB,oBAAoB,MAAM,qCAAqC,aAAa,aAAa,aAAa,cAAc,SAAS,IAAI,sBAAsB,cAAc,sDAAsD,aAAa,SAAS,2CAA2C,aAAa,QAAQ,GAAG,mBAAmB,QAAQ,QAAQ,2HAA2H;AACve,oBAAoB,WAAW,KAAK,qBAAqB,oHAAoH,EAAE,uBAAuB,GAAG,YAAY,IAAI,KAAK,cAAc,mBAAmB,0BAA0B,iBAAiB,QAAQ,IAAI,QAAQ,wCAAwC,mBAAmB,yCAAyC,gCAAgC,MAAM,MAAM,QAAQ,cAAc;AACpe,+DAA+D,SAAS,wDAAwD,oEAAoE,SAAS,sBAAsB,cAAc,cAAc,MAAM,mBAAmB;AACxR,mBAAmB,YAAY,eAAe,oBAAoB,WAAW,KAAK,wBAAwB,aAAa,gBAAgB,IAAI,IAAI,+CAA+C,YAAY,6DAA6D,qBAAqB,kBAAkB,SAAS,6BAA6B,MAAM,kBAAkB;AAC5W,QAAQ,sBAAsB,6CAA6C,iCAAiC,wBAAwB,yBAAyB,YAAY,UAAU,YAAY,qCAAqC,QAAQ,QAAQ,qCAAqC,wBAAwB,yBAAyB,YAAY,UAAU,QAAQ,YAAY,qCAAqC,QAAQ,QAAQ,kCAAkC,wBAAwB;AACne,YAAY,UAAU,QAAQ,qCAAqC,QAAQ,UAAU,2BAA2B,cAAc;AAC9H,mBAAmB,cAAc,oBAAoB,mHAAmH,aAAa,8DAA8D,aAAa,cAAc,wBAAwB,iHAAiH;AACvZ,qBAAqB,UAAU,kFAAkF,gGAAgG;AACjN,qBAAqB,kBAAkB,UAAU,wBAAwB,UAAU,MAAM,oBAAoB,sFAAsF,YAAY,wBAAwB,6BAA6B,6DAA6D;AACjU,oPAAoP,0DAA0D;AAC9S,mBAAmB,QAAQ,yDAAyD,aAAa,WAAW,MAAM,iCAAiC,kBAAkB,4BAA4B,WAAW,wFAAwF,cAAc,aAAa,oBAAoB,EAAE,6BAA6B,eAAe,SAAS,2CAA2C,oCAAoC;AACzd,iBAAiB,iHAAiH,8BAA8B;AAChK,eAAe,gBAAgB,MAAM,mBAAmB,sEAAsE,kBAAkB,eAAe,gBAAgB,kBAAkB,KAAK,SAAS,oBAAoB,YAAY,gBAAgB,cAAc,SAAS,0DAA0D,SAAS,gBAAgB,UAAU,UAAU,eAAe,SAAS,kBAAkB,UAAU,eAAe,cAAc;AAC9c,OAAO,cAAc,SAAS,cAAc,uCAAuC,SAAS,oBAAoB,4DAA4D,SAAS,WAAW,SAAS,oBAAoB,uFAAuF,yCAAyC,gBAAgB,WAAW,SAAS,oBAAoB;AACrZ,sDAAsD,sBAAsB,WAAW,SAAS,sBAAsB,8DAA8D,SAAS,WAAW,SAAS,kBAAkB,oFAAoF,kCAAkC,mBAAmB,wFAAwF,6CAA6C;AACjf,gDAAgD,QAAQ,YAAY,oBAAoB,0BAA0B,+EAA+E,kCAAkC,mBAAmB,iFAAiF,yCAAyC,qDAAqD,QAAQ,YAAY,sBAAsB;AAC/c,6BAA6B,kCAAkC,mBAAmB,0GAA0G,8DAA8D,wDAAwD,QAAQ,YAAY,qBAAqB,uCAAuC,qBAAqB,KAAK,mCAAmC,oBAAoB,aAAa,gBAAgB,MAAM;AACtf,8BAA8B,WAAW,yBAAyB,IAAI,IAAI,gCAAgC,aAAa,KAAK,WAAW,sEAAsE,SAAS,aAAa,WAAW,gIAAgI,yBAAyB,cAAc,EAAE,SAAS,oBAAoB,YAAY,6CAA6C;AAC7e,+BAA+B,6CAA6C,kBAAkB,gBAAgB,mCAAmC,uBAAuB,aAAa,gBAAgB,MAAM,iCAAiC,WAAW,yBAAyB,IAAI,IAAI,0BAA0B,aAAa,KAAK,QAAQ,oFAAoF,SAAS,aAAa,QAAQ;AAC9b,qFAAqF,yBAAyB,cAAc,EAAE,SAAS,yBAAyB,+DAA+D,wBAAwB,oCAAoC,wBAAwB,WAAW,QAAQ,QAAQ,SAAS,EAAE,cAAc,cAAc,uBAAuB,eAAe,wBAAwB,WAAW,IAAI,QAAQ,MAAM,mCAAmC;AACnf,WAAW,eAAe,gBAAgB,WAAW,IAAI,SAAS,OAAO,MAAM,YAAY,YAAY,6IAA6I,YAAY,WAAW,YAAY,SAAS,EAAE,uHAAuH,eAAe,sBAAsB,WAAW,IAAI,QAAQ,KAAK,OAAO,MAAM,YAAY;AACnf,UAAU,iBAAiB,WAAW,IAAI,YAAY,qKAAqK,4BAA4B,2BAA2B,WAAW,4CAA4C,+EAA+E,eAAe,6BAA6B,KAAK,WAAW,KAAK,WAAW,KAAK;AACze,eAAe,8BAA8B,SAAS,iBAAiB,QAAQ,QAAQ,SAAS,aAAa,UAAU,kEAAkE,MAAM,4EAA4E,MAAM,QAAQ,cAAc,MAAM,MAAM,MAAM,eAAe,eAAe,qBAAqB,mBAAmB,yBAAyB,eAAe,8BAA8B,OAAO;AAC5c,eAAe,YAAY,SAAS,EAAE,eAAe,sBAAsB,0EAA0E,0DAA0D,iCAAiC,wBAAwB,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,6CAA6C,WAAW,0BAA0B,YAAY,YAAY,iBAAiB,OAAO;AACrd,+FAA+F,aAAa,qBAAqB,iBAAiB,qBAAqB,YAAY,uBAAuB,+BAA+B;AACzO,yBAAyB,KAAK,IAAI,qBAAqB,mBAAmB,mBAAmB,kDAAkD,SAAS,0BAA0B,IAAI,GAAG,mBAAmB,+BAA+B,KAAK,SAAS,mBAAmB,cAAc,SAAS,6BAA6B,cAAc,0BAA0B,KAAK,WAAW,MAAM,yBAAyB;AACvZ,cAAc,OAAO,uEAAuE,wCAAwC,SAAS,cAAc,aAAa,kBAAkB,gCAAgC,cAAc,sCAAsC,oBAAoB,KAAK,gCAAgC,IAAI,GAAG,mGAAmG,wCAAwC;AACzd,iBAAiB;AACjB,eAAe,qBAAqB,gCAAgC,wBAAwB,kCAAkC,aAAa,aAAa,aAAa,cAAc,SAAS,gBAAgB,eAAe,aAAa,SAAS,cAAc,mBAAmB,GAAG,uBAAuB,SAAS,OAAO,+IAA+I,gCAAgC;AAC3e,2BAA2B,0BAA0B,wIAAwI,yEAAyE,SAAS,uBAAuB,sBAAsB,+BAA+B,kBAAkB,cAAc,cAAc,sBAAsB;AAC/Z,eAAe,qBAAqB,gCAAgC,wBAAwB,+CAA+C,aAAa,eAAe,eAAe,4BAA4B,aAAa,+BAA+B,kBAAkB,oCAAoC,sBAAsB;AAC1U,eAAe,WAAW,+BAA+B,8BAA8B,WAAW,uEAAuE,+BAA+B,0BAA0B,qBAAqB,GAAG,2CAA2C,gBAAgB,aAAa,gBAAgB,oIAAoI;AACtd,cAAc,0BAA0B,qBAAqB,WAAW,eAAe,mDAAmD,qBAAqB,WAAW,oBAAoB,aAAa,aAAa,sBAAsB,YAAY,2BAA2B,YAAY,QAAQ,eAAe,8BAA8B,iBAAiB,qBAAqB,iBAAiB,qBAAqB,iBAAiB;AACnb,iBAAiB,sDAAsD,SAAS,4DAA4D,gBAAgB,mBAAmB,0CAA0C,mCAAmC,eAAe,iBAAiB,yCAAyC,SAAS,iBAAiB,WAAW,oBAAoB,sBAAsB,8CAA8C,sBAAsB;AACxd,iBAAiB,WAAW,oBAAoB,sBAAsB,8CAA8C,MAAM,sBAAsB,SAAS,mBAAmB,WAAW,wBAAwB,MAAM,EAAE,wBAAwB,kBAAkB,8BAA8B,IAAI,UAAU,QAAQ,eAAe;AACpU,mBAAmB,yBAAyB,YAAY,GAAG,wFAAwF,gBAAgB,2CAA2C,YAAY,cAAc,wEAAwE,KAAK,kGAAkG,mCAAmC,iBAAiB,eAAe,kBAAkB,UAAU,SAAS;AAC/f;AACA,QAAQ,2MAA2M,KAAK,6FAA6F,0CAA0C,mCAAmC,+BAA+B,mBAAmB,uBAAuB,WAAW,oBAAoB,MAAM;AAChf,GAAG,SAAS,4BAA4B,WAAW,oBAAoB,8BAA8B,WAAW,sEAAsE,+BAA+B,0BAA0B,oBAAoB,WAAW,GAAG,WAAW,yBAAyB,6EAA6E,0BAA0B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ;AAC3e,GAAG,QAAQ,SAAS,2BAA2B,oBAAoB,OAAO,uCAAuC,KAAK,0JAA0J,cAAc,iEAAiE,2BAA2B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ,eAAe,QAAQ,SAAS,2BAA2B;AACpgB,cAAc,OAAO,uCAAuC,KAAK,0JAA0J,cAAc,iEAAiE,2BAA2B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ,eAAe,QAAQ,SAAS,2BAA2B,oBAAoB,OAAO;AAC1e,gBAAgB,uBAAuB,iBAAiB,wBAAwB,wBAAwB,iBAAiB,cAAc,WAAW,cAAc;AAChK,iBAAiB,cAAc,oBAAoB,oEAAoE,sCAAsC,0FAA0F,iBAAiB;AACxQ,eAAe,OAAO,SAAS,MAAM,QAAQ,aAAa,oBAAoB,iBAAiB,gCAAgC,MAAM,KAAK,OAAO,SAAS,KAAK,oBAAoB,iDAAiD,eAAe,eAAe,2CAA2C,YAAY;AACzT,eAAe,mBAAmB,6BAA6B,aAAa,sEAAsE,EAAE,6BAA6B,MAAM,eAAe,kBAAkB,6BAA6B,0BAA0B,GAAG,gBAAgB,QAAQ,EAAE,EAAE,mBAAmB,aAAa,WAAW,UAAU,qBAAqB,QAAQ,IAAI,iCAAiC,gBAAgB,SAAS,4CAA4C;AAC1e,cAAc,WAAW,MAAM,kCAAkC,oBAAoB,kDAAkD,uBAAuB,WAAW,YAAY,QAAQ,kBAAkB,0HAA0H,eAAe,WAAW;AACnW,yBAAyB,aAAa,aAAa,8IAA8I,kCAAkC,YAAY,WAAW,iBAAiB,UAAU,+FAA+F,eAAe,UAAU,YAAY,WAAW;AACpa,yBAAyB,+HAA+H,iBAAiB,YAAY,4DAA4D,uBAAuB,wBAAwB,UAAU,QAAQ,kBAAkB,0HAA0H,eAAe,WAAW;AACxd,uBAAuB,SAAS,SAAS,MAAM,UAAU,QAAQ,8GAA8G,kBAAkB,oCAAoC,UAAU,gCAAgC,sEAAsE,wGAAwG;AAC7b,6EAA6E,MAAM,sBAAsB,UAAU,YAAY,kBAAkB;AACjJ,oPAAoP;AACpP;AACA;AACA,wNAAwN;AACxN,yBAAyB,QAAQ,2BAA2B,yCAAyC,cAAc,aAAa,wEAAwE,eAAe,6EAA6E,wBAAwB,cAAc,eAAe,eAAe,kBAAkB,mGAAmG;AAC7d,QAAQ;AACR,mBAAmB,iDAAiD,4EAA4E,2HAA2H,SAAS,aAAa,2BAA2B,MAAM,aAAa,oBAAoB,WAAW,+EAA+E,SAAS,wBAAwB,iBAAiB;AAC/e,EAAE,YAAY,mBAAmB,UAAU,SAAS,aAAa,qBAAqB,8BAA8B,2BAA2B,UAAU,YAAY,MAAM,aAAa,uBAAuB,WAAW,8FAA8F,SAAS,wBAAwB,UAAU,WAAW,YAAY,wBAAwB,mBAAmB,UAAU,SAAS,6BAA6B,qBAAqB;AAC1e,EAAE,UAAU,MAAM,aAAa,oBAAoB,WAAW,UAAU,uBAAuB,+EAA+E,SAAS,wBAAwB,iBAAiB,WAAW,YAAY,eAAe,wBAAwB,mBAAmB,UAAU,SAAS,qBAAqB;AACzV,iBAAiB,yCAAyC,kBAAkB,mDAAmD,eAAe,yBAAyB,sBAAsB,0BAA0B,yGAAyG;AAChU,mBAAmB,8CAA8C,oBAAoB,YAAY,qCAAqC,KAAK,kDAAkD,SAAS,EAAE,8CAA8C,2BAA2B,wBAAwB,iBAAiB,UAAU,SAAS,iBAAiB,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY,KAAK,OAAO;AAC5d,KAAK,eAAe,0BAA0B,WAAW,SAAS,yDAAyD,IAAI,+DAA+D,4BAA4B,MAAM,wBAAwB,UAAU,iBAAiB,SAAS,EAAE,cAAc,2BAA2B,UAAU,MAAM,YAAY,YAAY,IAAI,IAAI,+BAA+B,MAAM,uDAAuD,MAAM,6BAA6B;AACtf,mBAAmB,0CAA0C,uBAAuB,aAAa,uCAAuC,mDAAmD,mBAAmB,UAAU,uBAAuB,UAAU,eAAe,iBAAiB,yDAAyD,eAAe,eAAe;AAChX,iBAAiB,kBAAkB,SAAS,EAAE,mDAAmD,mCAAmC,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,wCAAwC,WAAW,0BAA0B,cAAc;AAC1S,uBAAuB,sBAAsB,UAAU,kBAAkB,eAAe,OAAO,UAAU,uBAAuB,UAAU,KAAK,MAAM,wBAAwB,UAAU,KAAK,MAAM,oBAAoB,IAAI,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,KAAK,MAAM,0BAA0B,UAAU,KAAK,MAAM,qFAAqF,QAAQ,QAAQ,OAAO;AACxa,kDAAkD,WAAW,kMAAkM,YAAY,WAAW,sBAAsB,uEAAuE,kEAAkE,WAAW,sDAAsD;AACtf,WAAW,oCAAoC,4VAA4V,6BAA6B,IAAI;AAC5a,qBAAqB,yBAAyB,iBAAiB,mBAAmB,uBAAuB,eAAe,SAAS,uCAAuC,oCAAoC,MAAM,0BAA0B,eAAe,SAAS,uCAAuC;AAC3S,mBAAmB,qBAAqB,cAAc,uFAAuF,mCAAmC,8KAA8K,aAAa,iBAAiB,aAAa,+EAA+E,KAAK,OAAO;AACpe,YAAY,iBAAiB,UAAU,cAAc,SAAS,sBAAsB,QAAQ,QAAQ,UAAU,qDAAqD,MAAM,kCAAkC,YAAY,eAAe,MAAM,2BAA2B,MAAM,iDAAiD,YAAY,MAAM,yBAAyB,cAAc,MAAM,6BAA6B,MAAM,qBAAqB,eAAe,iBAAiB,MAAM;AAC3d,CAAC,0BAA0B,eAAe,iBAAiB,MAAM,wDAAwD,QAAQ,OAAO,uCAAuC,WAAW,iLAAiL,UAAU,mBAAmB,WAAW,MAAM,sBAAsB,MAAM,MAAM,kCAAkC;AAC7d,eAAe,IAAI,gBAAgB,2BAA2B,KAAK,mCAAmC,kBAAkB,4JAA4J,QAAQ,uHAAuH,QAAQ,QAAQ,cAAc,cAAc,UAAU,UAAU;AACnd,GAAG,IAAI,MAAM,kCAAkC,YAAY,eAAe,IAAI,MAAM,2BAA2B,IAAI,MAAM,iDAAiD,YAAY,IAAI,MAAM,yBAAyB,cAAc,IAAI,MAAM,6BAA6B,IAAI,MAAM,qBAAqB,UAAU,eAAe,iBAAiB,MAAM,wBAAwB,MAAM,+BAA+B,0BAA0B,MAAM,IAAI,aAAa,EAAE,eAAe,iBAAiB,MAAM;AACnf,GAAG,UAAU,eAAe,iBAAiB,MAAM,YAAY,QAAQ,QAAQ,mCAAmC,WAAW,kVAAkV,UAAU,mBAAmB;AAC5e,MAAM,sBAAsB,MAAM,MAAM,oEAAoE,MAAM,sCAAsC,UAAU,2FAA2F,MAAM,sDAAsD,0BAA0B,iCAAiC,YAAY,yDAAyD,KAAK;AAC9b,iBAAiB,eAAe,iKAAiK,YAAY,aAAa,kBAAkB,oDAAoD,WAAW,KAAK;AAChT,sCAAsC,wHAAwH,KAAK,uBAAuB,qCAAqC,uBAAuB,YAAY,8BAA8B,0BAA0B,oCAAoC,aAAa,kBAAkB,wBAAwB,uBAAuB,cAAc,0BAA0B,KAAK;AACzd,kBAAkB,SAAS,EAAE,QAAQ,aAAa,gBAAgB,SAAS,gBAAgB,2CAA2C,0CAA0C,0BAA0B,cAAc,SAAS;AACjO,6LAA6L,oFAAoF,cAAc,mBAAmB,eAAe,aAAa,KAAK,2BAA2B;AAC9W,6DAA6D,mIAAmI,+FAA+F,wNAAwN;AACvf,SAAS,eAAe,cAAc,uBAAuB,kBAAkB,8CAA8C,YAAY,KAAK,KAAK,cAAc,kCAAkC,uBAAuB,SAAS,yBAAyB,yEAAyE,yBAAyB,wBAAwB,0BAA0B,qBAAqB,iBAAiB,OAAO;AAC7b,+CAA+C,iBAAiB,yBAAyB,8BAA8B,qBAAqB,UAAU,gCAAgC,IAAI,iBAAiB,SAAS,sBAAsB,SAAS,GAAG,iBAAiB,IAAI,yEAAyE,SAAS,SAAS,eAAe,YAAY,yCAAyC,QAAQ,SAAS,QAAQ;AACnc,iBAAiB,cAAc,sCAAsC,qCAAqC,wCAAwC,cAAc,qEAAqE,wCAAwC,OAAO,2CAA2C;AAC/T,iBAAiB,gBAAgB,6BAA6B,aAAa,eAAe,GAAG,kBAAkB,gBAAgB,iBAAiB,gBAAgB,SAAS,cAAc,iBAAiB,gBAAgB,6BAA6B,aAAa,eAAe,GAAG,kBAAkB,eAAe,cAAc,SAAS;AAC5U,mBAAmB,cAAc,uCAAuC,OAAO,qBAAqB,mDAAmD,KAAK,wEAAwE,8EAA8E,gBAAgB,oBAAoB,OAAO,uBAAuB,aAAa,OAAO,sCAAsC,2BAA2B,MAAM,2BAA2B,UAAU;AACpf,qBAAqB,+DAA+D,OAAO,cAAc,cAAc,eAAe,yHAAyH,OAAO,uCAAuC;AAC7S,mBAAmB,8BAA8B,cAAc,uDAAuD,wCAAwC,aAAa,wBAAwB,QAAQ,GAAG,gBAAgB,eAAe,QAAQ,IAAI,IAAI,SAAS,SAAS,SAAS,aAAa,EAAE,MAAM,aAAa,cAAc,oDAAoD,MAAM,aAAa,MAAM;AACrZ,eAAe,kBAAkB,cAAc,aAAa,qBAAqB,mBAAmB,oBAAoB,iBAAiB,mBAAmB,kBAAkB,oBAAoB,qBAAqB,iBAAiB,gBAAgB,eAAe;AACvQ,eAAe,GAAG,mBAAmB,SAAS,EAAE,UAAU,QAAQ,QAAQ,WAAW,qBAAqB,cAAc,cAAc,gBAAgB,MAAM,yBAAyB,KAAK,MAAM,yBAAyB,KAAK,MAAM,6BAA6B,4CAA4C,aAAa,EAAE,KAAK,iBAAiB,EAAE,kCAAkC,OAAO,QAAQ,WAAW,0BAA0B,gBAAgB,iCAAiC,EAAE;AAC7d,wCAAwC,gCAAgC,qBAAqB,cAAc,SAAS;AACpH,mBAAmB,2BAA2B,0QAA0Q,8DAA8D,SAAS;AAC/X,mBAAmB,2BAA2B,iFAAiF,8DAA8D,SAAS;AACtM,mBAAmB,sBAAsB,EAAE,OAAO,WAAW,QAAQ,EAAE,gCAAgC,cAAc,cAAc,YAAY,QAAQ,yBAAyB,KAAK,QAAQ,yBAAyB,KAAK,QAAQ,WAAW,KAAK,yBAAyB,2BAA2B,mEAAmE,KAAK,iBAAiB,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY;AAClf,wGAAwG,mBAAmB,mBAAmB,4BAA4B,KAAK,iBAAiB,UAAU,UAAU,kCAAkC,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,wCAAwC,WAAW,kBAAkB,0BAA0B;AACha,iBAAiB,cAAc,+CAA+C,OAAO,cAAc,yBAAyB,YAAY,mDAAmD,SAAS,oBAAoB,mBAAmB,aAAa,QAAQ,qDAAqD,QAAQ,UAAU,QAAQ,WAAW,MAAM,oBAAoB,6FAA6F,UAAU,qBAAqB;AAChf,wBAAwB,MAAM,sPAAsP,OAAO,iDAAiD,sCAAsC,OAAO,qBAAqB,8CAA8C,OAAO,eAAe,YAAY;AAC9d,8BAA8B,uBAAuB,EAAE,mRAAmR,6DAA6D,+EAA+E,kBAAkB,WAAW;AACnf,EAAE,SAAS,wBAAwB,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY,MAAM,OAAO,cAAc,OAAO,eAAe,qBAAqB,eAAe,oBAAoB,aAAa,mBAAmB,kBAAkB,iCAAiC,sBAAsB,wBAAwB,iCAAiC;AACnd,+CAA+C,mBAAmB,aAAa,QAAQ,WAAW,cAAc,cAAc,sBAAsB,iBAAiB,SAAS;AAC9K,mBAAmB,aAAa,QAAQ,sCAAsC,0BAA0B,cAAc,qBAAqB,QAAQ,aAAa,kBAAkB,0EAA0E,2EAA2E,cAAc,gCAAgC,6BAA6B,EAAE,EAAE;AACtZ,kSAAkS,cAAc;AAChT,mBAAmB,SAAS,+BAA+B,WAAW,iDAAiD,uBAAuB,2CAA2C,eAAe,qBAAqB,MAAM,wBAAwB,MAAM,gCAAgC,MAAM,YAAY,MAAM,6BAA6B,qBAAqB;AAC3W,iBAAiB,0CAA0C,UAAU,aAAa,WAAW,yEAAyE;AACtK,iBAAiB,yCAAyC,kBAAkB,mDAAmD,sBAAsB,qCAAqC,UAAU,SAAS,EAAE,cAAc,mDAAmD,6DAA6D,+BAA+B,cAAc,MAAM,WAAW,mDAAmD;AAC9b,eAAe,wBAAwB,kBAAkB,qBAAqB,qBAAqB,uBAAuB,0BAA0B,UAAU;AAC9J,cAAc,sHAAsH,KAAK,6BAA6B,0FAA0F,KAAK,WAAW,gHAAgH,aAAa,yBAAyB,6CAA6C,cAAc;AACje,EAAE,qBAAqB,2DAA2D,+BAA+B,EAAE;AACnH,iBAAiB,KAAK,qCAAqC,YAAY,UAAU,iBAAiB,uCAAuC,KAAK,sBAAsB,aAAa,QAAQ,MAAM,WAAW,OAAO,KAAK,MAAM,SAAS,QAAQ,SAAS,KAAK,IAAI,aAAa,4CAA4C,iGAAiG,oCAAoC,sBAAsB,MAAM,gBAAgB;AACze,uCAAuC,yCAAyC,OAAO,uBAAuB,gBAAgB,mBAAmB,QAAQ,OAAO,QAAQ,sBAAsB,iBAAiB,mBAAmB,MAAM,sCAAsC,MAAM,MAAM,MAAM,gBAAgB,sBAAsB,uCAAuC,yCAAyC,mBAAmB,QAAQ,MAAM,QAAQ,sBAAsB,iBAAiB;AACte,EAAE,MAAM,0OAA0O,SAAS,sCAAsC,MAAM,MAAM,MAAM,uCAAuC,KAAK,SAAS,wBAAwB,4FAA4F,SAAS,QAAQ;AAC7e,sBAAsB,OAAO,MAAM,MAAM,6BAA6B,KAAK,8CAA8C;AACzH,eAAe,wBAAwB,qBAAqB,uCAAuC,KAAK,sBAAsB,aAAa,QAAQ,MAAM,WAAW,OAAO,KAAK,MAAM,SAAS,QAAQ,SAAS,KAAK,IAAI,aAAa,4CAA4C,gCAAgC,mCAAmC,2BAA2B,OAAO,MAAM,KAAK,YAAY,cAAc,cAAc,SAAS,QAAQ,wBAAwB,QAAQ,KAAK,EAAE;AACle,iBAAiB,QAAQ,KAAK,IAAI,YAAY,QAAQ,iBAAiB,iBAAiB,QAAQ,MAAM,MAAM,IAAI,YAAY,QAAQ;AACpI,iBAAiB,oBAAoB,2BAA2B,sBAAsB,mCAAmC,2BAA2B,SAAS,EAAE,QAAQ,cAAc,kCAAkC,2BAA2B,MAAM,YAAY,KAAK,KAAK,MAAM,aAAa,MAAM,YAAY,MAAM,aAAa,MAAM,aAAa,MAAM,cAAc,WAAW,IAAI,qBAAqB,IAAI,KAAK,QAAQ,iBAAiB,QAAQ,KAAK;AAChc,iBAAiB,GAAG,IAAI,KAAK,cAAc,gCAAgC,SAAS,EAAE,cAAc,2BAA2B,SAAS,KAAK,WAAW,MAAM,qDAAqD,GAAG,2BAA2B,IAAI,kBAAkB,gCAAgC,8DAA8D,QAAQ,mBAAmB,kBAAkB;AAClZ,2BAA2B,4BAA4B,GAAG,MAAM,iBAAiB,sBAAsB,wCAAwC,KAAK,uBAAuB,yEAAyE,MAAM,oBAAoB,aAAa,cAAc,SAAS,gBAAgB,cAAc,mBAAmB,gBAAgB,mBAAmB,4CAA4C,KAAK,0BAA0B,QAAQ,QAAQ;AACje,QAAQ,SAAS,IAAI,kBAAkB,qGAAqG,cAAc,SAAS,0BAA0B,YAAY,kBAAkB,mBAAmB,QAAQ,WAAW,gBAAgB,yOAAyO;AAC1f,WAAW,UAAU,IAAI,GAAG,cAAc,WAAW,kBAAkB,mBAAmB,gBAAgB,QAAQ,QAAQ,WAAW,4BAA4B,0JAA0J,kBAAkB,mBAAmB,iBAAiB,SAAS,SAAS,WAAW,gBAAgB,QAAQ,UAAU,KAAK,SAAS,MAAM;AACpc,cAAc,iBAAiB,cAAc,qBAAqB,iBAAiB,kBAAkB,iCAAiC,eAAe,aAAa,cAAc,KAAK,SAAS,SAAS,cAAc,KAAK,gBAAgB,SAAS,eAAe,0BAA0B,+BAA+B,oBAAoB,gBAAgB;AAC/V,eAAe,IAAI,GAAG,kBAAkB,WAAW,2BAA2B,YAAY,qCAAqC,sBAAsB,SAAS,EAAE,+CAA+C,WAAW,WAAW,YAAY,wBAAwB,qBAAqB;AAC9R,wEAAwE,KAAK,QAAQ,uCAAuC,8DAA8D,YAAY,qBAAqB,IAAI,gBAAgB,eAAe,YAAY,eAAe,uBAAuB,wBAAwB,eAAe,eAAe,WAAW,yBAAyB;AAC1Y,iBAAiB,QAAQ,iBAAiB,uCAAuC,gDAAgD,wBAAwB,oBAAoB,2BAA2B,qCAAqC,oBAAoB,2BAA2B,sBAAsB,0BAA0B,YAAY,qBAAqB;AAC7W,KAAK,0CAA0C,4CAA4C,sBAAsB,kGAAkG,aAAa,QAAQ,MAAM,gBAAgB,MAAM,WAAW,UAAU,+BAA+B,2CAA2C,QAAQ,6CAA6C,uCAAuC,wBAAwB,eAAe;AACte,cAAc,gBAAgB,IAAI,sBAAsB,UAAU,OAAO,QAAQ,sCAAsC,QAAQ,EAAE,WAAW,EAAE,sCAAsC,sCAAsC,wCAAwC,iCAAiC,IAAI,IAAI,MAAM,EAAE,iBAAiB,uBAAuB,sBAAsB,kCAAkC,IAAI,eAAe,IAAI,uBAAuB,eAAe,YAAY,MAAM,eAAe;AACjf,KAAK,IAAI,2DAA2D,MAAM,IAAI,OAAO,KAAK,UAAU,gCAAgC,SAAS,eAAe,gBAAgB,IAAI,OAAO,YAAY,SAAS,EAAE,kBAAkB,yBAAyB,UAAU,kBAAkB,aAAa,YAAY,0DAA0D,eAAe,aAAa,gBAAgB,MAAM,aAAa,gBAAgB,kBAAkB,MAAM,6BAA6B,MAAM;AAClf,MAAM,kBAAkB,MAAM,yBAAyB,MAAM,2BAA2B,gBAAgB,UAAU,gCAAgC,SAAS,eAAe,gBAAgB,KAAK,OAAO,gBAAgB,mBAAmB,qEAAqE;AAC9S,mbAAmb,KAAK,QAAQ,eAAe,yBAAyB;AACxe,gBAAgB,EAAE,uCAAuC,QAAQ,WAAW,iEAAiE,QAAQ,WAAW,YAAY,IAAI,OAAO,QAAQ,SAAS,EAAE,mBAAmB,2BAA2B,WAAW,SAAS,aAAa,cAAc,mBAAmB,cAAc,YAAY,MAAM,aAAa,2CAA2C,gBAAgB,UAAU,gCAAgC,SAAS,eAAe,gBAAgB;AACpf,KAAK,KAAK,IAAI,iBAAiB,sBAAsB,aAAa,SAAS,sCAAsC,qBAAqB,iBAAiB,4CAA4C,0CAA0C,KAAK,iCAAiC,0BAA0B,KAAK,YAAY,cAAc,KAAK,SAAS,EAAE,kBAAkB,+BAA+B,yCAAyC,KAAK,YAAY,GAAG;AAC1c,cAAc,YAAY,kBAAkB,MAAM,iBAAiB,cAAc,sBAAsB,SAAS,QAAQ,uCAAuC,QAAQ,MAAM,4BAA4B,SAAS,EAAE,IAAI,QAAQ,uCAAuC,gDAAgD,SAAS,gCAAgC,QAAQ,eAAe,kBAAkB,IAAI,IAAI,KAAK;AACtZ,mBAAmB,UAAU,qBAAqB,QAAQ,mBAAmB,eAAe,iBAAiB,uBAAuB,wBAAwB,SAAS,EAAE,cAAc,UAAU,MAAM,mBAAmB,kBAAkB,0HAA0H,UAAU,qBAAqB,QAAQ,mBAAmB,eAAe,OAAO;AACpb,mBAAmB,kBAAkB,sBAAsB,2IAA2I,iBAAiB,kBAAkB,sBAAsB,IAAI,+BAA+B,UAAU,eAAe;AAC3T,mBAAmB,uBAAuB,aAAa,qBAAqB,wCAAwC,KAAK,QAAQ,MAAM,cAAc,aAAa,KAAK,MAAM,aAAa,kFAAkF,MAAM,wBAAwB,MAAM,uCAAuC,MAAM,gCAAgC,kBAAkB,sBAAsB,kBAAkB,MAAM,mCAAmC;AAChe,gCAAgC,iBAAiB,YAAY,+BAA+B,iBAAiB,MAAM,mCAAmC,yBAAyB,sBAAsB,gBAAgB,kBAAkB,yCAAyC,eAAe,kBAAkB,iBAAiB,OAAO,WAAW,mBAAmB,cAAc,gBAAgB,6DAA6D,iBAAiB,kBAAkB,QAAQ;AAC7e,WAAW,eAAe,qFAAqF,QAAQ,qBAAqB,mBAAmB,SAAS,SAAS,MAAM,UAAU,8DAA8D,MAAM,iCAAiC,mCAAmC,aAAa,cAAc,wBAAwB,YAAY,sBAAsB,qCAAqC,SAAS,WAAW,gBAAgB;AACve,sCAAsC,iBAAiB,MAAM,iCAAiC,YAAY,SAAS,cAAc,UAAU,UAAU,0BAA0B,QAAQ,0BAA0B,QAAQ,2BAA2B,QAAQ,wCAAwC,QAAQ,0BAA0B,SAAS,oFAAoF;AACna,aAAa,gBAAgB,0CAA0C,iBAAiB,kBAAkB,0BAA0B,QAAQ,eAAe,0BAA0B,0BAA0B,KAAK,kFAAkF,oCAAoC,EAAE,6CAA6C,qBAAqB,UAAU,SAAS;AACja,mLAAmL,mCAAmC,yBAAyB,kHAAkH,qFAAqF,8CAA8C;AACpe,qCAAqC,wDAAwD,WAAW,kBAAkB,iBAAiB,kBAAkB,UAAU,sBAAsB,sBAAsB,kBAAkB,oIAAoI,wCAAwC,YAAY,SAAS,0CAA0C,SAAS,EAAE,qBAAqB;AAChf,GAAG,UAAU,yBAAyB,SAAS,EAAE,0CAA0C,0CAA0C,yCAAyC,cAAc,mDAAmD,eAAe,yCAAyC,MAAM,UAAU,uDAAuD,uBAAuB,aAAa,SAAS,EAAE,UAAU,OAAO,MAAM,YAAY,aAAa,kBAAkB,IAAI,MAAM,WAAW;AACpf,EAAE,oBAAoB,UAAU,SAAS,sIAAsI,8EAA8E,iDAAiD;AAC9S,YAAY,yBAAyB,4BAA4B,oBAAoB,eAAe,gEAAgE,qCAAqC,2CAA2C,IAAI,kBAAkB,eAAe,IAAI,8DAA8D,YAAY,eAAe,IAAI,4BAA4B,YAAY,UAAU;AAC5a,qBAAqB,WAAW,WAAW,mFAAmF,aAAa,cAAc,oBAAoB,8EAA8E,YAAY,iBAAiB,sDAAsD,+CAA+C,oBAAoB,qBAAqB;AACta,eAAe,cAAc,iCAAiC,eAAe,0CAA0C,yBAAyB,aAAa,oBAAoB,oBAAoB;AACrM,iBAAiB,kBAAkB,4NAA4N,4CAA4C,kCAAkC,gBAAgB,gCAAgC,gCAAgC,4BAA4B,iBAAiB,8BAA8B;AACxe,qDAAqD,oBAAoB,gBAAgB,YAAY;AACrG,yBAAyB,QAAQ,IAAI,sCAAsC,gCAAgC,iBAAiB,oCAAoC,YAAY,KAAK,MAAM,YAAY,KAAK,MAAM,gFAAgF,8EAA8E,oEAAoE,4DAA4D;AAC5e,GAAG,QAAQ,YAAY,QAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,OAAO,QAAQ,aAAa,QAAQ,2CAA2C,cAAc,gBAAgB,SAAS,mBAAmB,SAAS,qBAAqB,cAAc,mBAAmB,SAAS,mBAAmB,iBAAiB,mBAAmB;AAC9V,mBAAmB,gDAAgD,mBAAmB,aAAa,oFAAoF;AACvL,mBAAmB,WAAW,kBAAkB,qBAAqB,yCAAyC,8BAA8B,uBAAuB,sBAAsB,sCAAsC,eAAe,uBAAuB,yBAAyB;AAC9R,iBAAiB,2BAA2B,sBAAsB,yBAAyB,iBAAiB,iDAAiD,8BAA8B,oCAAoC,0CAA0C;AACzQ,iBAAiB,6CAA6C,2BAA2B,0LAA0L,iBAAiB,wBAAwB;AAC5T,qBAAqB,qCAAqC,YAAY,QAAQ,wBAAwB,GAAG,4CAA4C,QAAQ,GAAG,cAAc,6BAA6B,QAAQ,qBAAqB,wDAAwD,SAAS,WAAW,gBAAgB,qBAAqB,cAAc,aAAa,SAAS,YAAY,SAAS,IAAI,UAAU,gDAAgD,UAAU,WAAW,WAAW;AAChf,SAAS,yBAAyB,QAAQ,QAAQ,SAAS,eAAe,YAAY,wBAAwB,oBAAoB,gCAAgC,kCAAkC,iBAAiB,kBAAkB,8DAA8D,iBAAiB,QAAQ;AAC9T,mBAAmB,0BAA0B,wDAAwD,YAAY,cAAc,MAAM,gBAAgB,iDAAiD,qBAAqB,gCAAgC,oCAAoC,gCAAgC,2CAA2C,0BAA0B,WAAW;AAC/Y,eAAe,6HAA6H,iBAAiB,uHAAuH,gBAAgB,cAAc,kBAAkB,qBAAqB,WAAW;AACpW,uBAAuB,4BAA4B,MAAM,sBAAsB,0BAA0B,QAAQ,aAAa,YAAY,WAAW,YAAY,KAAK,gCAAgC,kBAAkB,0BAA0B,QAAQ,aAAa,YAAY,WAAW,cAAc,YAAY,EAAE,aAAa,mBAAmB,kEAAkE,OAAO;AACna,eAAe,eAAe,uBAAuB,QAAQ,UAAU,eAAe,+BAA+B,eAAe,eAAe,WAAW,eAAe,QAAQ;AACrL,mBAAmB,UAAU,qBAAqB,SAAS,8BAA8B,QAAQ,aAAa,gBAAgB,2EAA2E,QAAQ,WAAW,KAAK,WAAW,2BAA2B,YAAY,yBAAyB,MAAM,UAAU,MAAM,wBAAwB,MAAM,2DAA2D;AAC3Z,uBAAuB,QAAQ,KAAK,IAAI,mCAAmC,QAAQ,kBAAkB,cAAc,gCAAgC,iBAAiB,QAAQ,KAAK,IAAI,YAAY,QAAQ,kBAAkB,iBAAiB,kEAAkE,8BAA8B,sBAAsB,QAAQ,sCAAsC,SAAS,iBAAiB,WAAW;AACrb,aAAa,gCAAgC,cAAc,IAAI,yKAAyK,QAAQ,iCAAiC,qCAAqC,mBAAmB,qHAAqH,GAAG,GAAG;AACpc,gCAAgC,EAAE,0DAA0D,IAAI,oBAAoB,IAAI,mBAAmB,aAAa,uBAAuB,2BAA2B,4BAA4B,eAAe,oDAAoD,oCAAoC,QAAQ,4BAA4B;AACjX,iBAAiB,eAAe,uCAAuC,QAAQ,KAAK,IAAI,6BAA6B,QAAQ,WAAW,eAAe,iBAAiB,8BAA8B,0BAA0B,cAAc,iBAAiB,8BAA8B;AAC7R,8BAA8B,aAAa,6BAA6B,4CAA4C,6BAA6B,2BAA2B,WAAW,EAAE,UAAU,+BAA+B,IAAI,6BAA6B,eAAe;AAClR,2CAA2C,mBAAmB,8BAA8B,8DAA8D,uBAAuB,eAAe;;;;;;;;;;;;;;;;;;;;ACnSxI;AACL;AACE;AACrD;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,mBAAmB,gBAAM;AACzB,oBAAoB,0BAAU;;AAE9B;AACA,sBAAsB,iBAAO,OAAO,qBAAK;AACzC;;AAEA;AACA,2BAA2B,qBAAW;AACtC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7C6D;AACI;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,KAAqC,EAAE,EAM1C;AACuC;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,IAAI;AACJ,8BAA8B,kBAAQ;AACtC,qBAAqB,gBAAM;AAC3B,qBAAqB,qBAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,qBAAW;AACjC;AACA;AACA,GAAG;AACH,0BAA0B,qBAAW;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH,2BAA2B,qBAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,GAAG;AACH,4BAA4B,qBAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,qBAAW;AAC1B,sBAAsB,qBAAW;AACjC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,sBAAsB,+BAAe;AACrC,sBAAsB,+BAAe;AACrC,iBAAiB,+BAAe;AAChC,gBAAgB,+BAAe;AAC/B;AACA,KAAK;AACL;AACA;AACA;AACA;;;;;;ACjJsC;AAC0B;AACpB;AACe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,cAAc;AACpB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,oCAAY;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,6CAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,OAAO,6CAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,EAAE,SAAS;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,IAAI;AACZ;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC/GiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,2CAA2C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACtH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,kGAAkG;AACxI,QAAQ,mBAAmB,WAAW,sOAAsO;AAC5Q,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACkD;AACpF;AACA,YAAY,iBAAoB;AAChC;AACA,kBAAkB,+BAAc;AACzB,yBAAyB,oBAAU;AAC1C,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA,cAAc,kCAAkC,iBAAiB,UAAU,0BAA0B,mDAAmD,kCAAkC,4CAA4C,kBAAkB,kBAAkB,cAAc,gBAAgB,iBAAiB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc;AAC/e,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,aAAa,uBAAuB,wBAAwB,GAAG,yBAAyB,aAAa,iBAAiB,yBAAyB,aAAa,iBAAiB,iBAAiB,aAAa,qDAAqD,oBAAoB,aAAa,iBAAiB,kBAAkB,aAAa,iBAAiB,cAAc,aAAa;AAC3c,cAAc,aAAa,iBAAiB,gBAAgB,aAAa,iBAAiB,kBAAkB,aAAa,iBAAiB,oBAAoB,aAAa,iBAAiB,kBAAkB,aAAa;AAC3N,0BAA0B,aAAa,6QAA6Q,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;ACd3T;AACP;AACA;AACA;AACA;AACA;;;;ACLsD;AACjB;AAC8B;AACjC;AACiB;AACO;AACC;AACpD;AACP;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,gCAAgC,kBAAQ;AACxC,EAAE,mBAAS;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB,YAAY,8BAAQ;AAC7D;AACA;AACA,GAAG;AACH;AACA,GAAG,2BAA2B,mBAAmB,CAAC,qBAAM;AACxD,mBAAmB,4BAAW;AAC9B,GAAG;AACH;AACA,kBAAkB,qCAAM;AACxB;AACA;AACA,aAAa;AACb;AACA;AACA,IAAI;AACJ,yBAAyB,qBAAO;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,IAAI;AACJ,SAAS,2BAA2B;AACpC,EAAE;AACF,aAAa;AACb;AACA;AACA,IAAI;AACJ,SAAS,2BAA2B;AACpC,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC/DqD;AACQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7C0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;;ACjCgC;AAChC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP,sEAAsE,aAAa;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AC3B+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,qBAAU;AAC1B;AACA;AACA;AACA;AACA;;AClB6D;AACI;AACX;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;ACpEkE;AACtB;AACrC;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBqE;AACd;AACvD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;ACvDoC;;AAEpC;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,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;ACpDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6BAA6B,2BAA2B,SAAS,aAAa;AAC9E;AACA,CAAC;AACD;;ACb+B;AAC/B;AACA,0CAA0C,qBAAM;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACO;AACP;AACA,4BAA4B,iBAAiB,EAAE,aAAa,CAAC,GAAG,YAAY;AAC5E;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CwD;AACuC;AACpC;AACA;AACY;AAC8B;AACrB;AACzC;AACqB;AACH;AACzB;AACC;AACJ;AACM;AACH;AACwC;AACxE;;AChB2D;AACpD,0BAA0B,aAAa;AAC9C;;ACFA;AACA;AACA;AACA;;AAEuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,2BAA2B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACO;AACP;AACA,6GAA6G,wBAAc;AAC3H;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;;ACrIgE;AACzB;AACvC;;;;;;;;;;;;;;ACFA;AAC+B;;AAE/B,oCAAoC,gDAAmB;AACvD,+CAA+C,gDAAmB,SAAS;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE,IAAI;AACN,sBAAsB,6CAAgB,gCAAgC,6CAAgB;;AAEtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,EAAE,4CAAe;AACjB;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,KAAuD,EAAE,EAE5D;;AAEH;AACA,sBAAsB,gDAAmB;AACzC;AACA,GAAG,eAAe,gDAAmB;AACrC;AACA,GAAG;AACH;;AAE+D;AAC/D;;;;;;;;;;;;;ACjEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;;;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAEqE;AACtE;;;;;;;;;;;;;;;ACvBkD;AACX;;AAEvC;AACA,4BAA4B,oEAAY;AACxC;AACA;;AAEA;AACA;AACA;AACA,WAAW,0DAAQ;AACnB,2CAA2C;;;AAG3C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEwC;AACxC;;;;;;;;;;;;;;;;AC5FA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;ACRkC;AAClC;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;;;ACVkC;AACS;AAC3C;AACA,UAAU,WAAW;AACrB,qBAAqB,OAAO;AAC5B;;;ACL+C;AAC/C;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAAe,OAAO,EAAC;;;ACRgB;;AAEvC,m7HAAm7H;;AAEn7H,YAAY,mBAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gEAAe,KAAK,EAAC;;;;;;;;;ACdmD;AACxB;AACC;AACc;AACI;AACd;;AAErD,+BAA+B,yBAAW;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,iEAAiE,GAAG,kCAAkC;;AAEvU,iCAAiC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,uDAAuD,eAAe,6BAA6B,KAAK,6CAA6C,6EAA6E,OAAO,iDAAiD,mFAAmF,OAAO;AACtgB,gRAAgR,uCAAuC;;AAEvT;AACA;AACA;;AAEA;AACA,MAAM,KAAqC,EAAE,EAI1C;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA,MAAM;AACN,UAAU,KAAiE,EAAE,EAEtE;;AAEP;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,YAAY,KAAiE,EAAE,EAEtE;;AAET;AACA;AACA,MAAM;;;AAGN,iBAAiB,6CAAgB;AACjC,0BAA0B,uBAAa,CAAC,qCAAY;AACpD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,gDAAmB;AACzC,UAAU;AACV;AACA;;AAEA,yBAAyB,gDAAe;AACxC,oBAAoB,yCAAY;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,YAAY,KAAuD,EAAE,EAE5D;;AAET,+BAA+B,uBAAa;AAC5C,gDAAgD,uBAAa;;;AAG7D,4BAA4B,uBAAa,CAAC,cAAQ;AAClD,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAoB,mBAAmB,EAE3E,CAAC;;;AAGV;AACA;AACA,KAAK;;AAEL;AACA,+EAA+E,eAAe,IAAI;AAClG;;AAEA;AACA;AACA;;AAEA,8DAAe,YAAY,EAAC;;;ACzKc;;AAE1C;AACA;;AAEA,gBAAgB,uBAAM;AACtB;AACA;AACA,CAAC;;AAED,yDAAe,SAAS,EAAC;;;;;;;;;;;;;;;ACVzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEwD;AACA;AACjD,uBAAuB,+EAAM;AACpC,cAAc,gFAAK;AACnB;AACA;AACA;AACA,kBAAkB,gFAAK;AACvB;AACA,CAAC;;AAED;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qCAAqC,SAAS,IAAI,eAAe,IAAI,yBAAyB;;AAE9F;AACA,+DAA+D,qBAAqB,SAAS,SAAS,IAAI,eAAe;AACzH;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA,WAAW;AACX;AACA;;AAEA,WAAW,cAAc,IAAI;AAC7B;AACA;AACA;AACA;AACA,qBAAqB;;AAErB,sBAAsB,UAAU,WAAW;AAC3C,6BAA6B;;AAE7B;;AAEA,sCAAsC,eAAe,KAAK;AAC1D;AACA;AACA;AACA,2DAA2D,MAAM;AACjE;;;;;;;;ACpEa;;AAEb,cAAc,mBAAO,CAAC,IAAU;;AAEhC;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;;AAEA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,IAAI,cAAc;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrBkD;AACE;AAChB;;AAEpC;AACA;AACA;;AAEA;AACA,uEAAuE,sEAAa;AACpF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,oEAAY,oDAAoD,sEAAa;;AAE1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;;AAEtB,2EAA2E;;AAE3E,MAAM,2DAAK;AACX;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,KAAK;AACL,KAAK;;;AAGL;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEqE;AACrE;;;;;;;;;;;;;;;;;;;;;;;;ACtKiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,2CAA2C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACtH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,8EAA8E;AACpH,QAAQ,mBAAmB,WAAW,sMAAsM;AAC5O,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACkD;AACpF;AACA,YAAY,iBAAoB;AAChC;AACA,kBAAkB,+BAAc;AACzB,yBAAyB,oBAAU;AAC1C,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;;;;;;;;;;;;;;;;AClBiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,+CAA+C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAC1H,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,iLAAiL;AACvN,QAAQ,mBAAmB,WAAW,+bAA+b;AACre,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC8D;AAChG;AACA,YAAY,qBAAwB;AACpC;AACA,kBAAkB,+BAAc;AACzB,6BAA6B,oBAAU;AAC9C,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB;AACjB;;AAEA,mBAAmB;AACnB;;AAEA;;AAEwB;AACxB;;;;;;;;;AC/Ba;;AAEb,IAAI,IAAqC;AACzC,EAAE,0CAA4D;AAC9D,EAAE,KAAK,EAEN;;;;;;;;;;;;;;;;;;;;;;;;;;ACNmD;AACA;AACA;AACF;;AAElD,8BAA8B,gCAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,IAAI,kCAAa;AACjB;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,4BAAU;AAChB;AACA,OAAO;AACP,MAAM,4BAAU;AAChB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6DAA6D,kCAAa;AAC1E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,2BAAS;AAC7B;AACA;AACA;;AAEA;AACA,IAAI,kCAAa;AACjB;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL;;AAEA;;AAE2B;AAC3B;;;;;;;;;;;;;;;ACvKA;AAC+B;AACuC;AACJ;AACP;AACR;AACwB;AACyC;AACxB;;AAE5F;AACA;AACA;AACA,CAAC;AACD,sBAAsB,8CAAc;AACpC;AACA,GAAG;AACH,sBAAsB,yCAAc;AACpC,6BAA6B,6DAA0B;AACvD,2BAA2B,aAAa;AACxC,uEAAuE;;AAEvE;AACA;AACA,GAAG;AACH;AACA,IAAI,oCAAe;AACnB,IAAI,8DAA+B;AACnC,GAAG;AACH,EAAE,yDAA0B;AAC5B,qBAAqB,cAAc,WAAW,eAAe;AAC7D;AACA,EAAE,oDAAoB,CAAC,iBAAiB,qEAAqE,kCAAa;AAC1H,EAAE,eAAe;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,2EAA2E,kCAAa;AACxF;AACA;AACA;;AAEA;AACA,UAAU,kCAAa;AACvB,eAAe,oCAAe;AAC9B,QAAQ,SAAS,8BAAS;AAC1B,aAAa,oCAAe;AAC5B;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,WAAW,0CAAW;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEsB;AACtB;;;;;;;;;;;;;;;;;;;;;;;;AChFiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,0CAA0C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACrH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,4QAA4Q;AAClT,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC+C;AACjF;AACA,YAAY,gBAAmB;AAC/B;AACA,kBAAkB,+BAAc;AACzB,wBAAwB,oBAAU;AACzC,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;;;;;;;;;;;;;;;;AClBiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,8CAA8C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACzH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,qyCAAqyC;AAC30C,QAAQ,mBAAmB,WAAW,gRAAgR;AACtT,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC2D;AAC7F;AACA,YAAY,oBAAuB;AACnC;AACA,kBAAkB,+BAAc;AACzB,4BAA4B,oBAAU;AAC7C,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;;;;;;AClBiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ,oCAAoC,+CAAQ;AAC5C,8BAA8B,6CAAM;AACpC,qCAAqC,kDAAW;;AAEhD;AACA;AACA;AACA;AACA,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kDAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa,MAAM,mBAAO,CAAC,IAAe;AAC1C,oDAAoD,cAAc,yEAAyE,mBAAmB,mDAAmD,oCAAoC;AACrP,OAAO,qBAAqB,SAAS,gCAAgC,iCAAiC,8BAA8B,MAAM,kBAAkB,aAAa,eAAe,YAAY,kBAAkB,gCAAgC,mCAAmC,0EAA0E,mDAAmD,oCAAoC;AAC1b,cAAc,wBAAwB,kBAAkB,aAAa,eAAe,YAAY,kBAAkB,wBAAwB,gBAAgB,iBAAiB,0BAA0B,OAAO,aAAa,sCAAsC;AAC/P,kBAAkB,UAAU,eAAe,4HAA4H,yBAAyB,sBAAsB,aAAa,uBAAuB,IAAI,wBAAwB,aAAa,4EAA4E,OAAO;AACtX,gBAAgB,OAAO,sEAAsE,cAAc,oDAAoD,mBAAmB,OAAO,mBAAmB,6CAA6C,YAAY,EAAE,kBAAkB,oBAAoB,aAAa,cAAc,WAAW,cAAc,SAAS,YAAY,UAAU,SAAS,OAAO;AAChZ,cAAc,cAAc,iBAAiB,YAAY,eAAe,UAAU;AAClF,oBAAoB,eAAe,yCAAyC,SAAS,iBAAiB,eAAe,iCAAiC,MAAM,iCAAiC,oBAAoB,yCAAyC,IAAI,mBAAmB,gCAAgC,WAAW,KAAK,OAAO,eAAe,cAAc;AACrW,EAAE,mBAAmB,sCAAsC,sFAAsF,8BAA8B,SAAS,SAAS,kBAAkB,6BAA6B,gBAAgB,8EAA8E,gBAAgB;AAC9V,mBAAmB,6BAA6B,qCAAqC,qCAAqC,SAAS,wGAAwG,sBAAsB,SAAS,yCAAyC,aAAa,UAAU,KAAK,OAAO,cAAc,aAAa,gBAAgB,gCAAgC;AACja,QAAQ,kDAAkD,cAAc,2CAA2C,WAAW,WAAW,gBAAgB,EAAE,oBAAoB,oBAAoB,SAAS,gBAAgB,SAAS,yBAAyB,oBAAoB,mBAAmB,SAAS,KAAK,mBAAmB,sBAAsB,YAAY,OAAO,qBAAqB,SAAS,uBAAuB,SAAS,EAAE,SAAS,kBAAkB,6BAA6B;AACve,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,0DAA0D;AACpL,oBAAoB,iBAAiB,8CAA8C,UAAU,qCAAqC,YAAY,sCAAsC,6BAA6B,yDAAyD,yFAAyF,yBAAyB,sBAAsB,aAAa,WAAW,YAAY,IAAI,wBAAwB,aAAa,OAAO;AACte,+BAA+B,qBAAqB,eAAe,qBAAqB,GAAG,gHAAgH,YAAY,uBAAuB,qBAAqB,qBAAqB,GAAG,qBAAqB,aAAa,qBAAqB,SAAS,UAAU,iBAAiB,YAAY,OAAO,eAAe,kBAAkB,aAAa,OAAO,sBAAsB,sBAAsB;AAC1e,YAAY,aAAa,OAAO,6CAA6C,YAAY,eAAe,OAAO,8CAA8C,mBAAmB,eAAe,6BAA6B,kBAAkB,eAAe,4BAA4B,qBAAqB,cAAc,iBAAiB,eAAe,2BAA2B,2BAA2B,iBAAiB;AACna,uBAAuB,eAAe,iCAAiC,eAAe,eAAe,yBAAyB,kBAAkB,iBAAiB,8BAA8B,cAAc,aAAa,sBAAsB,gBAAgB,aAAa,wBAAwB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxB7S,IAAI,yBAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,yBAAY,KAAK,yBAAY,KAAK;AACrC;;ACtBO,IAAI,6BAAc;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,6BAAc,KAAK,6BAAc,KAAK;AACzC;;ACPsD;AACI;AACnD;AACP;AACA,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACO;AACP,wDAAwD,6BAAc;AACtE;AACO;AACP,wDAAwD,6BAAc;AACtE;AACO;AACP,wDAAwD,6BAAc;AACtE;AACO;AACP,wDAAwD,6BAAc;AACtE;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAY;AACxC,4BAA4B,yBAAY;AACxC;AACA;AACA,4BAA4B,yBAAY;AACxC;AACA;AACA,4BAA4B,yBAAY;AACxC;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP,4BAA4B;AAC5B,4BAA4B;AAC5B,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;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,CAAC;AAC4B;AAC7B;;AC3BkC;AACiB;AACwB;AAC3E;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB;AAChE;AACA,+BAA+B,iBAAiB;AAChD,oCAAoC,mBAAS;AAC7C,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACwB;AACzB;;;;ACjCA,IAAI,+BAAa;;AAEjB;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,SAAS,aAAa;;AAEtB,kCAAkC,mCAAmC;;AAErE,0BAA0B,wBAAwB;AAClD;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;;;AAGA,kBAAkB,iCAAiC;AACnD;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;;AAEA,oDAAoD,+BAAa;AACjE;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;;AAEqB;;;AC3ItB;AACA,WAAW;AACX,YAAY;AACZ;AACO;;AAEP;AACA,WAAW;AACX,YAAY;AACZ;AACO,IAAI,YAAI;;AAEf;AACA,WAAW;AACX,YAAY;AACZ;AACO,IAAI,cAAM;;AAEjB;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,QAAQ,cAAM,wCAAwC,cAAM,oBAAoB,cAAM,oBAAoB,cAAM,oBAAoB,cAAM;AAC1I;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,aAAK;AACrB;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,eAAO;AACvB;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,cAAM;AACtB;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,cAAM;AACtB;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,cAAM;AACtB;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACO,SAAS,cAAM;AACtB;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,YAAY;AACZ;AACO,SAAS,cAAM;AACtB;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACO,SAAS,eAAO;AACvB;AACA;;;AClH+E;;AAExE;AACA;AACA,IAAI,gBAAM;AACV;AACA;AACA;;AAEP;AACA,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,WAAW,QAAQ;AACnB;AACO;AACP,SAAS;AACT;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,cAAI;AACpB,QAAQ,cAAM,iDAAiD,qBAAqB;AACpF;;AAEA;AACA,YAAY;AACZ;AACO,SAAS,cAAI;AACpB;AACA;;AAEA;AACA,YAAY;AACZ;AACO;AACP,4BAA4B,cAAM;;AAElC;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ;AACO;AACP,wBAAwB,gBAAM,GAAG,cAAM;;AAEvC;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ;AACO;AACP,QAAQ,cAAM;AACd;;AAEA;AACA,YAAY;AACZ;AACO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,QAAQ,cAAM;AACd;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,2BAA2B,gBAAM,GAAG,cAAM;AAC1C;;AAEA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;AACO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,QAAQ,IAAI;AACZ;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO,SAAS,kBAAQ;AACxB;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,YAAI;AACtD;;AAEA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;;AAEA;AACA;;;ACrPO,IAAI,OAAE;AACN,IAAI,QAAG;AACP,IAAI,WAAM;;AAEV;AACA,IAAI,YAAO;AACX,IAAI,gBAAW;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAS;AACb;AACA;AACA;AACA;;;ACpB0E;AACtC;;AAE3C;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACO,SAAS,oBAAS;AACzB;AACA,cAAc,cAAM;;AAEpB,iBAAiB,YAAY;AAC7B;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACO;AACP;AACA,OAAO,KAAK;AACZ,OAAO,MAAM,OAAO,gBAAW;AAC/B,OAAO,OAAO;AACd,OAAO,cAAS,4CAA4C,IAAI,oBAAS,iCAAiC;AAC1G,OAAO,YAAO;AACd;;AAEA,QAAQ,cAAM,YAAY,oBAAS,mEAAmE,iBAAiB;AACvH;;;ACnC0E;AACU;AACvC;AACJ;AACL;;AAEpC;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACO;AACP,cAAc,cAAM;;AAEpB;AACA;;AAEA,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iDAAiD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,yDAAyD;AACnG;AACA;AACA;AACA,yBAAyB,iEAAiE;AAC1F,yBAAyB,wDAAwD;AACjF,yBAAyB,uDAAuD;AAChF;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACO;AACP;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,IAAI;AACJ;AACA;;;AC3GuD;AAC+C;AACkC;;AAExI;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,QAAQ,OAAO,2CAA2C,KAAK;AAC/D;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,IAAI;AAChD;AACA;AACA,2BAA2B,cAAM;AACjC,SAAS,OAAO,eAAe,eAAO,CAAC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA,kBAAkB,UAAU;AAC5B;AACA;AACA;AACA,kBAAkB,QAAQ,CAAC,KAAK;AAChC;AACA;AACA;AACA,YAAY,IAAI;AAChB;AACA,MAAM,cAAM,SAAS,SAAS,CAAC,IAAI,IAAI,KAAK;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAM;AAC5B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,yDAAyD,eAAO;AAChE,2BAA2B,cAAM;AACjC,OAAO,cAAM,4CAA4C,2CAA2C,eAAO,0BAA0B;AACrI;AACA;AACA,8BAA8B;AAC9B,UAAU;AACV;AACA,MAAM,cAAM;;AAEZ;AACA;AACA;AACA;AACA,iCAAiC,cAAM;AACvC;AACA;AACA,qDAAqD,cAAM;AAC3D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,cAAM;AACvB;AACA;AACA;AACA;AACA,qDAAqD,IAAI;AACzD;;AAEA,0BAA0B,YAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAM;AAC/B;AACA;AACA;AACA;AACA,UAAU,IAAI;AACd,qBAAqB,OAAO,CAAC,IAAI;;AAEjC,eAAe,IAAI,sBAAsB,cAAM,sBAAsB,UAAU,CAAC,KAAK;AACrF;AACA;AACA;AACA,6BAA6B,cAAM;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP;AACA;AACA,YAAY,cAAM;;AAElB,+BAA+B,WAAW;AAC1C,sBAAsB,cAAM,yBAAyB,GAAG,6BAA6B,UAAU;AAC/F,WAAW,IAAI,6BAA6B,eAAO;AACnD;;AAEA,QAAQ,IAAI,qCAAqC,YAAO;AACxD;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,YAAY;AACZ;AACO;AACP,QAAQ,IAAI,sBAAsB,OAAO,EAAE,YAAI,CAAC,cAAI,KAAK,cAAM;AAC/D;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACO;AACP,QAAQ,IAAI,sBAAsB,gBAAW,EAAE,cAAM,oBAAoB,cAAM;AAC/E;;;AC9L4C;AACqN;AAClO;AACL;;AAE1B;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,IAAI,IAAI;;AAExB;AACA;AACA;;AAEA,QAAQ,KAAK;AACb;AACA;;AAEA,IAAI,IAAI;AACR;;AAEA,SAAS,KAAK,QAAQ,QAAQ;AAC9B;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY,KAAK;AACjB;AACA;AACA,gCAAgC,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA,qDAAqD,QAAQ;AAC7D;;AAEA;AACA,yBAAyB,OAAO;AAChC;;AAEA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;;AAEA;;AAEA;AACA,yBAAyB,YAAI;AAC7B;AACA,IAAI,mBAAmB,IAAI;;AAE3B;AACA;;AAEA;AACA,SAAS,OAAO,SAAS,KAAK;AAC9B,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,kBAAkB;AAC3C,oBAAoB,wBAAwB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAS,gCAAM;AACf,UAAU,IAAI;AACd;AACA;AACA,aAAa,WAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAM,WAAW,QAAG,WAAW,OAAE;AAC9C;;AAEA;AACA;AACA,aAAa,WAAM,WAAW,OAAE;AAChC;;AAEA;AACA,aAAa,WAAM,WAAW,OAAE;AAChC;;AAEA;AACA,aAAa,WAAM,WAAW,eAAO,0BAA0B,WAAM,gBAAgB,OAAE;AACvF;;AAEA;AACA,aAAa,WAAM,WAAW,OAAE,kBAAkB,eAAO;AACzD;;AAEA;AACA,aAAa,WAAM,WAAW,OAAE,sBAAsB,eAAO;AAC7D;;AAEA;AACA,aAAa,WAAM,WAAW,OAAE,GAAG,eAAO;AAC1C;;AAEA;AACA,aAAa,WAAM,WAAW,OAAE,GAAG,eAAO;AAC1C;;AAEA;AACA,aAAa,WAAM,YAAY,eAAO,uBAAuB,WAAM,WAAW,OAAE,GAAG,eAAO;AAC1F;;AAEA;AACA,aAAa,WAAM,GAAG,eAAO,qCAAqC,WAAM;AACxE;;AAEA;AACA,aAAa,eAAO,CAAC,eAAO,CAAC,eAAO,wBAAwB,WAAM,yBAAyB,WAAM;AACjG;;AAEA;AACA;AACA,aAAa,eAAO,6BAA6B,WAAM;AACvD;;AAEA;AACA,aAAa,eAAO,CAAC,eAAO,6BAA6B,WAAM,mBAAmB,OAAE,6BAA6B,kBAAkB,WAAM;AACzI;;AAEA;AACA;AACA;AACA;AACA,aAAa,eAAO,2BAA2B,WAAM;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAM,kCAAkC,cAAM;AACxD;AACA;AACA;AACA,cAAc,cAAM;AACpB;;AAEA;AACA,iBAAiB,eAAO,mCAAmC,WAAM,oBAAoB,QAAG,IAAI,cAAM;AAClG;;AAEA;AACA,kBAAkB,OAAO,qBAAqB,gCAAM,CAAC,eAAO;AAC5D;AACA;AACA;;AAEA;AACA;AACA,UAAU,cAAM;AAChB;;AAEA;AACA,cAAc,cAAM,QAAQ,cAAM,gBAAgB,OAAO;AACzD;AACA;AACA,iBAAiB,eAAO,mBAAmB,WAAM;AACjD;;AAEA;AACA,iBAAiB,eAAO,kBAAkB,MAAM,gBAAgB,WAAM,IAAI,cAAM,wDAAwD,WAAM,mBAAmB,OAAE;AACnK;;AAEA;AACA;;AAEA;AACA,cAAc,cAAM;AACpB;AACA;AACA,iBAAiB,WAAM,WAAW,OAAE,GAAG,eAAO,yBAAyB,EAAE;AACzE;;AAEA;AACA,iBAAiB,WAAM,WAAW,OAAE,GAAG,eAAO,yBAAyB,EAAE;AACzE;;AAEA;AACA,iBAAiB,WAAM,WAAW,OAAE,GAAG,eAAO,yBAAyB,EAAE;AACzE;;AAEA,aAAa,WAAM,WAAW,OAAE;AAChC;;AAEA;AACA;;AAEA,IAAI,kCAAQ;AACZ;AACA,SAAS,gBAAW;AACpB,0BAA0B,gCAAM;AAChC;;AAEA,SAAS,cAAS;AAClB,aAAa,oBAAS,EAAE,cAAI;AAC5B,eAAe,eAAO,2BAA2B,WAAM;AACvD,OAAO;;AAEP,SAAS,YAAO;AAChB,iCAAiC,eAAO;AACxC,gBAAgB,aAAK;AACrB;AACA;AACA;AACA,mBAAmB,oBAAS,EAAE,cAAI;AAClC,sBAAsB,eAAO,6BAA6B,QAAG;AAC7D,aAAa;AACb;;AAEA;AACA,mBAAmB,oBAAS,EAAE,cAAI;AAClC,sBAAsB,eAAO,4BAA4B,WAAM;AAC/D,aAAa,GAAG,cAAI;AACpB,sBAAsB,eAAO,4BAA4B,QAAG;AAC5D,aAAa,GAAG,cAAI;AACpB,sBAAsB,eAAO,sBAAsB,OAAE;AACrD,aAAa;AACb;;AAEA;AACA,OAAO;AACP;AACA;;AAEA,4BAA4B,kCAAQ;;AAEpC;AACA;;AAEA;AACA,oFAAoF;AACpF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA,6BAA6B,SAAS,EAAE,SAAS;AACjD;AACA,KAAK;AACL,qBAAqB,UAAU;;AAE/B;AACA,aAAa,oBAAS,CAAC,OAAO;AAC9B;;AAEA;AACA;;AAEA,qCAAqC,0BAA0B;;AAE/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;AAEkC;;;ACrblC;;AAEA,SAAS,6CAAmB;AAC5B;AACA;AACA;AACA,sDAAsD;AACtD,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,wCAAc;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,sCAAY;AAChB,EAAE,wCAAc;AAChB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAE6D;;;AC5C7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAE8B;;;ACtD9B;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;;AAEmC;;;ACnDnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAE8B;;;ACRS;AACE;AACF;;AAEvC,IAAI,mCAAa;;AAEjB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,OAAO;AAC7C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA,MAAM,YAAQ;AACd;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mDAAmD;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,gBAAgB;AACpC,yEAAyE;AACzE;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA,4BAA4B,6BAA6B;AACzD,UAAU;AACV,uFAAuF;AACvF;AACA,QAAQ;AACR,+CAA+C,mCAAa;AAC5D;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA,4FAA4F;AAC5F;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;;AAEA;AACA;;AAEA,kCAAkC,qBAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oCAAoC,QAAQ,OAAO;AACnD;;AAEA;AACA,SAAS,qCAAe;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;;;AAGJ,kBAAkB,iBAAiB;AACnC;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA,aAAa,OAAU;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAE2B;;;AC3OI;;AAE/B;AACA;AACA;;AAEA,yBAAyB,qBAAK,8BAA8B,qBAAK;AACjE,IAAI,gGAAwC;AAC5C,IAAI,4FAAoC,yBAAyB,qBAAqB;;AAEI;;;ACV3D;AACgB;AACN;AACiB;AACV;AACsD;AACnB;AAC9B;AACmD;;AAExG,IAAI,kDAAa;;AAEjB,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA,oDAAoD,WAAW;AAC/D;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA,IAAI,qDAAgB;AACpB,sBAAsB,oBAAU;AAChC;AACA,gBAAgB,oBAAU;AAC1B;AACA,GAAG;AACH;;AAEA,IAAI,iDAAY,kBAAkB,mBAAmB,GAAG;;AAExD;AACA,0BAA0B,iDAAY;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB;AACpB;;AAEA,0CAA0C;AAC1C;AACA;AACA,GAAG;AACH,CAAC,CAAC;AACF;AACA,+BAA+B,iDAAY;;AAE3C;AACA;AACA;;AAEA,0CAA0C,iDAAY;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,iCAAiC,iDAAY;AAC7C;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA,eAAe;;AAEf;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,wCAAc;AAChB,EAAE,gGAAwC;AAC1C,WAAW,sCAAY;AACvB,GAAG;;AAEH;AACA;;AAEA,6BAA6B,qDAAgB;AAC7C,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,6CAAmB;AACnC,IAAI;AACJ;AACA;;AAEA,mBAAmB,qCAAe,8BAA8B,gBAAgB,CAAC,iDAAY;;AAE7F;AACA;;AAEA;AACA,oFAAoF,kDAAa;AACjG;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,sBAAsB,mBAAmB,CAAC,cAAc,qBAAqB,mBAAmB;AAChG;AACA;AACA;AACA,GAAG,gBAAgB,mBAAmB;AACtC,CAAC;;AAED;;AAEoO;;;;;AC3JvD;AAC8B;AAC5K;AACoD;AAC2D;AACzF;AAC7B;AACgB;AACT;AAC6C;AAC3C;;AAEjC;AACA;AACA;;AAEA,wBAAwB,MAAM;AAC9B,WAAW,mBAAmB;AAC9B;;AAEA;AACA;AACA,6BAA6B,SAAO;AACpC,6BAA6B,kBAAkB;;AAE/C,kBAAkB,gBAAgB;AAClC;AACA;;AAEA,SAAS,mBAAmB;AAC5B;;AAEA;AACA;;AAEA,qBAAqB,0CAA0C;AAC/D,CAAC,kBAAkB;;AAEnB;AACA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC,CAAC;;AAEF;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,mCAAS;AACb;AACA;AACA;;AAEA,oBAAoB,0BAA0B;AAC9C;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2EAA2E,eAAe;AAC1F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,mCAAS;AAC1G;AACA;AACA,GAAG;AACH,CAAC,CAAC;;AAEuE;;;;;;;;;;;ACpPxC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,uCAAuC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAClH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,gIAAgI;AACtK,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACsC;AACxE;AACA,YAAY,aAAgB;AAC5B;AACA,kBAAkB,+BAAc;AACzB,qBAAqB,oBAAU;AACtC,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;AClBuC;;AAEvC;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;;AAEP;AACA;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;AACA,mCAAmC;;AAE1C;AACA;AACA;AACO;AACA;AACA,kCAAkC;AAClC,sBAAsB,wDAAQ;AAC9B;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA,+BAA+B,iEAAiB;AAChD;;AAEP;AACA;AACA;AACA;AACO;AACA;AACA;AACA,2BAA2B,6DAAa;AACxC;AACA;;AAEP;AACA;AACA;AACO;AACA,6BAA6B;AAC7B,MAAM,YAAK;AACX,8BAA8B;AAC9B,gCAAgC;AAChC,gCAAgC;;AAEhC,0BAA0B;AAC1B;AACA,mCAAmC;;AAE1C;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACA;AACA;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEP;AACO,0BAA0B,6DAAa;;AAE9C;AACA;AACA;AACO,qCAAqC;AACrC,iDAAiD;AACjD,gDAAgD;AAChD,qCAAqC;;AAE5C;AACA;AACA;AACO;AACA;AACA;;AAEP;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,KAAqC,EAAE,EAG1C;AACH;AACA;AACA;AACA;AACA,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AACrC;AACA;;ACpPO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;;;;;;;;;;;;ACbiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,qCAAqC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAChH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,4mDAA4mD;AAClpD,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACgC;AAClE,IAAI,oBAAO;AACX,YAAY,WAAc;AAC1B;AACA,IAAI,wBAAW,GAAG,+BAAc,CAAC,oBAAO;AACjC,mBAAmB,oBAAU;AACpC,6CAA6C,wBAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,oBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,0CAA0C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACrH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,4OAA4O;AAClR,QAAQ,mBAAmB,WAAW,orEAAorE;AAC1tE,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC+C;AACjF,IAAI,yBAAO;AACX,YAAY,gBAAmB;AAC/B;AACA,IAAI,6BAAW,GAAG,+BAAc,CAAC,yBAAO;AACjC,wBAAwB,oBAAU;AACzC,6CAA6C,6BAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,yBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,iCAAiC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAC5G,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,g6CAAg6C;AACt8C,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACoB;AACtD,IAAI,gBAAO;AACX,YAAY,OAAU;AACtB;AACA,IAAI,oBAAW,GAAG,+BAAc,CAAC,gBAAO;AACjC,eAAe,oBAAU;AAChC,6CAA6C,oBAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,gBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,iCAAiC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,oCAAoC;AAC1H,IAAI,mBAAmB,WAAW,4KAA4K;AAC9M,IAAI,mBAAmB,WAAW,uLAAuL;AACzN;;ACTyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACoB;AACtD,IAAI,gBAAO;AACX,YAAY,OAAU;AACtB;AACA,IAAI,oBAAW,GAAG,+BAAc,CAAC,gBAAO;AACjC,eAAe,oBAAU;AAChC,6CAA6C,oBAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,gBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBiC;AACF;AAC/B,wCAAwC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,oFAAoF;AAC1K,IAAI,mBAAmB,UAAU,+HAA+H;AAChK,QAAQ,mBAAmB,WAAW,oWAAoW;AAC1Y,QAAQ,mBAAmB,WAAW,kWAAkW;AACxY,QAAQ,mBAAmB,WAAW,yEAAyE;AAC/G,QAAQ,mBAAmB,WAAW,oWAAoW;AAC1Y,QAAQ,mBAAmB,WAAW,yEAAyE;AAC/G,QAAQ,mBAAmB,WAAW,oWAAoW;AAC1Y,QAAQ,mBAAmB,WAAW,yEAAyE;AAC/G,QAAQ,mBAAmB,WAAW,kWAAkW;AACxY,QAAQ,mBAAmB,WAAW,oWAAoW;AAC1Y,kDAAe,cAAc,EAAC;AAC9B;;ACdiC;AACF;AAC/B;AACA,YAAY,mBAAmB,QAAQ,8BAAQ,GAAG,sGAAsG;AACxJ,QAAQ,mBAAmB,WAAW,gHAAgH;AACtJ,QAAQ,mBAAmB,WAAW,gIAAgI;AACtK;AACA,+CAAe,WAAW,EAAC;AAC3B;;ACRO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;ACf6C;AACnB;AACoL;AACxJ;AACR;AACN;AACH;AACa;AAC3C;AACP;AACA;AACA,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,kDAAqB,IAAI,sBAAsB;AACtF,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,oDAAsB,IAAI,sBAAsB;AACvF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,4CAAkB,IAAI,sBAAsB;AACnF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,8CAAmB,IAAI,sBAAsB;AACpF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,4CAAkB,IAAI,sBAAsB;AACnF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,YAAY,IAAI,sBAAsB;AAC7E,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,kDAAqB,IAAI,sBAAsB;AACtF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,CAAC,iBAAiB,IAAI,sBAAsB;AAClF,aAAa,yBAAY;AACzB;AACA,mBAAmB,mBAAmB,CAAC,QAAQ,IAAI,sBAAsB;AACzE,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,uBAAuB,sBAAsB;AACnF,aAAa,yBAAY;AACzB,mBAAmB,mBAAmB,0BAA0B,sBAAsB;AACtF,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB,aAAa,yBAAY;AACzB;AACA,mBAAmB,mBAAmB,CAAC,QAAQ,IAAI,sBAAsB;AACzE;AACA;AACA,yBAAyB,qCAAM,CAAC,QAAQ,0CAA0C,0CAAoB,uBAAuB,qBAAqB,4BAA4B,qBAAqB,QAAQ,KAAK,QAAQ,KAAK;AACtN,4BAA4B,qCAAM,CAAC,WAAW,0CAA0C,0CAAoB,uBAAuB,qBAAqB,4BAA4B,qBAAqB,QAAQ,KAAK,QAAQ,KAAK;AAC1O;AACA;;ACjD6C;AAC7C;AACqC;AACA;AACkC;AACpB;AACb;AAC4B;AAClE,yBAAyB,iCAAM,KAAK,kCAAgB,KAAK,kCAAgB,GAAG,0CAAoB,2CAA2C,uBAAuB,gCAAgC,qBAAqB,uBAAuB,sBAAsB,kBAAkB,4BAA4B,WAAW,sBAAsB,gDAAgD,uBAAuB,gCAAgC,qBAAqB,uBAAuB,sBAAsB,kBAAkB,4BAA4B,WAAW,sBAAsB;AAC3kB;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,0DAA0D;AAC1D;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,GAAG,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,QAAQ,GAAG,UAAU;AACrB;AACA;AACA;AACA,eAAe;AACf,2BAA2B,GAAG,CAAC,0BAAS,IAAI,eAAe,MAAM,oBAAoB,aAAoB,EAAE;AAC3G,6BAA6B,GAAG,uBAAuB,8DAA8D,MAAM,6DAA6D;AACxL,gBAAgB,GAAG,CAAC,cAAc;AAClC,QAAQ,GAAG,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAqB;AACrD,iBAAiB;AACjB;AACA,sBAAsB,cAAqB;AAC3C;AACA,aAAa,yBAAyB,MAAM,YAAY;AACxD,YAAY,GAAG,UAAU,OAAO,gCAAgC,EAAE,uBAAuB;AACzF,YAAY,GAAG,UAAU,OAAO,WAAW;AAC3C;AACA,IAAI,kCAAgB;AACpB;;ACzD6C;AACR;AACX;AACY;AACtC;AACA;AACA,oJAAoJ;AACpJ,wBAAwB,iCAAM,KAAK,4BAAgB,KAAK,4BAAgB,GAAG,0CAAoB,sBAAsB,mBAAmB,kBAAkB,0BAA0B,qCAAqC,6BAA6B,4BAA4B,kCAAkC,6DAA6D,yCAAyC,cAAc,0CAA0C,WAAW,8BAA8B,yCAAyC,WAAW,OAAO,2BAA2B,mBAAmB,kBAAkB,0BAA0B,qCAAqC,6BAA6B,4BAA4B,kCAAkC,6DAA6D,yCAAyC,cAAc,0CAA0C,WAAW,8BAA8B,yCAAyC,WAAW,OAAO,2BAA2B,sBAAsB,qBAAqB,qBAAqB;AACtmC;AACP;AACA,YAAY,mBAAmB,sBAAsB,eAAe,MAAM,6CAA6C;AACvH;AACA,IAAI,4BAAgB;AACpB;;ACbiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,uCAAuC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAClH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,oYAAoY;AAC1a,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACsC;AACxE,IAAI,sBAAO;AACX,YAAY,aAAgB;AAC5B;AACA,IAAI,0BAAW,GAAG,+BAAc,CAAC,sBAAO;AACjC,qBAAqB,oBAAU;AACtC,6CAA6C,0BAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,sBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBA;AACoC;AACwB;AACrD;AACP;AACA,YAAY,+BAAG,UAAU;AACzB;AACA;AACA;AACA;AACA,WAAW;AACX,QAAQ,+BAAG,CAAC,cAAc,IAAI,sBAAsB,sBAAsB;AAC1E;AACA;AACA;;ACdiC;AACjC,YAAY,oBAAoB;AAC4C;AACZ;AACJ;AACrD;AACP;AACA;AACA,2BAA2B,iBAAiB;AAC5C,qBAAqB,WAAW;AAChC,mBAAmB,SAAS;AAC5B;AACA;AACA,eAAe,8BAAQ,CAAC,8BAAQ,GAAG;AACnC;AACA;AACA;AACA;;ACjBwD;AACxD,IAAI,qCAAkB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,+BAA+B,iBAAiB;AAChD,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC6B;AAC9B;;ACrEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;;ACfA;AACoC;AACiB;AACd;AAC2C;AAC3B;AACP;AAC6B;AACF;AACzC;AACsB;AACjD;AACP,2jBAA2jB,yBAAyB;AACplB,aAAa,kBAAQ,KAAK,qCAAkB;AAC5C,mDAAmD,qCAAkB;AACrE,uBAAuB,iBAAO;AAC9B,eAAe,eAAe;AAC9B,KAAK;AACL,mBAAmB,iBAAO;AAC1B,mBAAmB,aAAa;AAChC,KAAK;AACL,aAAa,kBAAQ,CAAC,sBAAsB;AAC5C,IAAI,mBAAS;AACb,sCAAsC,sBAAsB;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qCAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,aAAa;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qCAAkB;AAC5D;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qCAAkB;AAC5D;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iBAAiB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,+BAAG,UAAU,eAAe,MAAM;AAC9C;AACA;AACA;AACA,WAAW;AACX,QAAQ,+BAAG,CAAC,iBAAiB,IAAI,4cAA4c;AAC7e;AACA;;AC/J0B;;AAE1B,SAAS,qBAAQ;AACjB,EAAE,qBAAQ;AACV,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,qBAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,0DAA0D;;AAE1D,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;;AAEA,gEAAgE,qBAAqB,GAAG,eAAe;;AAEvG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;;AAEA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,EAAE,eAAe;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;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;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA,GAAG;;AAEH,wBAAwB,cAAc;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA,eAAe,iBAAiB;AAChC;AACA,GAAG;;AAEH,yBAAyB,cAAc,GAAG;AAC1C;AACA;;AAEA,gBAAgB,iBAAiB;AACjC,8BAA8B;AAC9B,GAAG;AACH,uCAAuC,YAAY;AACnD,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,uBAAuB,YAAY;AACnC;AACA,qBAAqB,aAAa;AAClC;;AAEA;AACA;AACA;;AAEA,iBAAiB,qBAAQ,CAAC,qBAAQ,GAAG,kBAAkB;AACvD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,qBAAQ,CAAC,qBAAQ,GAAG,UAAU,iBAAiB;AACtE,eAAe;AACf;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA,0CAA0C,SAAS;AACnD;AACA;;AAEA;AACA,GAAG;AACH,mBAAmB,YAAY;AAC/B;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA,GAAG;AACH,uBAAuB,iBAAiB;AACxC,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH,yBAAyB,iBAAiB;AAC1C,uCAAuC;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,6BAA6B,qBAAQ;AACrC;AACA,KAAK;AACL,GAAG;AACH,sBAAsB,iBAAiB;AACvC,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE6C;AAC7C;;;AC/eqD;AACQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7C0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;;ACjCgC;AAChC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP,sEAAsE,aAAa;AACnF;AACA;AACA,SAAS,iBAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AC3B+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,qBAAU;AAC1B;AACA;AACA;AACA;AACA;;AClB6D;AACI;AACX;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;ACpEkE;AACtB;AACrC;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBqE;AACd;AACvD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;ACvDoC;;AAEpC;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,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;ACpDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6BAA6B,2BAA2B,SAAS,aAAa;AAC9E;AACA,CAAC;AACD;;ACb+B;AAC/B,MAAM,yBAAS;AACf,qBAAqB,yEAAS,YAAY,qBAAM;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACO;AACP;AACA,4BAA4B,iBAAiB,EAAE,cAAc,GAAG,YAAY;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CwD;AACuC;AACpC;AACA;AACY;AAC8B;AACrB;AACzC;AACqB;AACH;AACzB;AACC;AACJ;AACM;AACH;AACwC;AACxE;;AChBA;AACqC;AACW;AACd;AACsB;AACjD;AACP;AACA;AACA,oCAAoC,gBAAM;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAe;AACnB;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,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA,YAAY,GAAG,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,MAAM,qaAAqa;AACrc;AACA;;AC9DyC;AACzC;AACqC;AACH;AAC3B;AACP,kGAAkG,4BAAM;AACxG;AACA;AACA;AACA,YAAY,GAAG,OAAO,8BAAQ,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qDAAqD,MAAM,oCAAoC;AACxG;AACA;;ACnBiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ,oCAAoC,kBAAQ;AAC5C,8BAA8B,gBAAM;AACpC,qCAAqC,qBAAW;;AAEhD;AACA;AACA;AACA;AACA,EAAE,mBAAS;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;ACzEA;AACoC;AACmB;AAC0C;AACtB;AACT;AACN;AACa;AACjB;AACC;AAClD;AACP,qeAAqe,cAAc;AACnf;AACA,oBAAoB,gBAAM;AAC1B;AACA,mBAAmB,gBAAM;AACzB,0BAA0B,YAAY,IAAI,YAAY;AACtD,yBAAyB,UAAU;AACnC;AACA;AACA,sBAAsB,iBAAiB,eAAe,OAAO,0BAA0B,GAAG;AAC1F;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA,mBAAmB,qBAAqB;AACxC,SAAS;AACT,KAAK;AACL;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,2BAA2B,oBAAoB;AAC/C,YAAY,WAAW;AACvB;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;AACA;AACA;AACA,SAAS;AACT;AACA,IAAI,yBAAe;AACnB;AACA,KAAK;AACL,YAAY,+BAAG,UAAU;AACzB;AACA;AACA;AACA,WAAW;AACX,QAAQ,+BAAG,CAAC,iBAAiB,IAAI;AACjC;AACA,eAAe;AACf;AACA,oBAAoB,+BAAG,CAAC,mBAAmB,IAAI,waAAwa;AACvd,gBAAgB,+BAAG,aAAa,oNAAoN;AACpP;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA,SAAS;AACT;AACA;AACA,QAAQ,SAAS;AACjB;AACA,eAAe,+BAAG;AAClB;AACA,QAAQ,QAAQ;AAChB;AACA;AACA,eAAe,+BAAG,cAAc,4BAA4B;AAC5D;AACA;AACA;;AC/JO,IAAI,6BAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,6BAAc,KAAK,6BAAc,KAAK;AACzC;;ACTO,IAAI,2BAAa;AACxB;AACA;AACA;AACA,CAAC,EAAE,2BAAa,KAAK,2BAAa,KAAK;AACvC;;ACLwD;AACxD;AACA;AACA;AACA;AACA,0FAA0F,0BAA0B;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC+B;AAChC;;AClEiC;AACyB;AACJ;AACI;AACF;AACqB;AAClB;AACgB;AACM;AAC1E;AACP;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA,+BAA+B,yBAAY;AAC3C;AACA,6BAA6B,WAAW,6BAAc,MAAM;AAC5D;AACA;AACA,aAAa;AACb;AACA,eAAe,8BAAQ,CAAC,8BAAQ,GAAG,cAAc,0CAA0C;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C;AACO;AACP;AACA;AACA;AACA,2CAA2C,yBAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,IAAI;AAC9C;AACO;AACP;AACA;AACA;AACA,2CAA2C,yBAAY;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,8CAA8C,uBAAuB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,2CAA2C,yBAAY;AACvD;AACA;AACA;AACA;AACA;AACO;AACP;AACA,sDAAsD,6BAA6B;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,6BAAc;AAC3G;AACA,kEAAkE,gBAAgB;AAClF;AACA;AACA;AACA,eAAe,8BAAQ,CAAC,8BAAQ,GAAG,kBAAkB;AACrD,2BAA2B,6BAAc;AACzC;AACA,eAAe;AACf;AACA;AACA,WAAW,8BAAQ,GAAG;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;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,wBAAwB,oBAAoB;AAC5C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,4BAA4B;AAChF;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,yBAAY;AAC9C,gDAAgD,WAAW,6BAAc;AACzE;AACA;AACA;AACA;AACA,8FAA8F,6BAAc;AAC5G;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAY;AAC5D,+CAA+C,yBAAY;AAC3D;AACA,+CAA+C,yBAAY;AAC3D,8CAA8C,yBAAY;AAC1D;AACA;AACA,+CAA+C,yBAAY;AAC3D,8CAA8C,yBAAY;AAC1D;AACA;AACA;AACA;AACA,2BAA2B,yBAAY;AACvC,kDAAkD,yBAAY;AAC9D;AACA;AACA,iDAAiD,yBAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW,6BAAc;AAC9C;AACA;AACA;AACA,6BAA6B,6BAAc;AAC3C;AACA;AACA,6CAA6C,yBAAY;AACzD,4CAA4C,yBAAY;AACxD;AACA,wFAAwF,6BAAc;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5RyD;AACX;AAC+B;AACO;AAC1B;AACK;AAC/D;AACA;AACA;AACO;AACP;AACA,g3BAAg3B,qCAAkB,qEAAqE,qCAAkB;AACz9B,aAAa,kBAAQ;AACrB,aAAa,kBAAQ;AACrB;AACA,2BAA2B,qCAAkB;AAC7C;AACA,aAAa,kBAAQ;AACrB;AACA,2BAA2B,qCAAkB;AAC7C;AACA;AACA,QAAQ,qBAAW,mCAAmC,OAAO,+BAAS;AACtE;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA,8CAA8C,qCAAkB;AAChE;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA,8CAA8C,8BAAQ,CAAC,8BAAQ,GAAG,oBAAoB,aAAa,WAAW,6BAAc,YAAY;AACxI,mCAAmC,mBAAmB;AACtD,yBAAyB;AACzB;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb,SAAS,IAAI;AACb;AACA,QAAQ,qBAAW;AACnB;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA,sCAAsC,qCAAkB;AACxD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ,qBAAW;AACnB;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA,sCAAsC,qCAAkB;AACxD;AACA;AACA;AACA;AACA,SAAS;AACT;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;;ACnI0D;AACH;AACG;AAC1D;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;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,CAAC;AACD;AACA;AACA;AACA;;AC3I0D;AACnD;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;ACVO;AACP;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;;ACL2D;AACQ;AACF;AACE;AACoB;AACZ;AACJ;AACZ;AACuB;AAC0I;AACvK;AACoB;AAChB;AACI;AACR;AACI;AACiB;AACM;AACJ;AAC5E;;;;;;;;;;;ACnBe;AACf;AACA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;ACfmC;AACmB;AACL;AAC1C;AACP,gBAAgB,iDAAU,CAAC,uEAAe;AAC1C;AACA;AACA,iBAAiB,YAAoB,mBAAmB,EAErD;AACH,mBAAmB,kEAAa;AAChC;AACA;;;;;;;;;;;;ACZA;AACuG;;AAEvG,6BAA6B,uFAAsB;;AAEnB;AAChC;;;;;;;;;ACNa;;AAEb,IAAI,IAAqC;AACzC,EAAE,0CAAyD;AAC3D,EAAE,KAAK,EAEN;;;;;;;;;;;;;;;;ACND;AACA;AACA;AACA,GAAG;AACH;;;ACJiD;AACjD;AACA,yEAAyE,eAAc;AACvF;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,GAAG,SAAS,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,kGAAC;AACJ,GAAG,KAAK,EAEN;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC5EgC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,4CAA4C,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AACvH,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,uHAAuH;AAC7J,QAAQ,mBAAmB,WAAW,ubAAub;AAC7d,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACXyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AACqD;AACvF;AACA,YAAY,kBAAqB;AACjC;AACA,kBAAkB,+BAAc;AACzB,0BAA0B,oBAAU;AAC3C,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;AACb,oEAAoE,+BAA+B,gBAAgB,6BAA6B,QAAQ,OAAO,SAAS,0BAA0B,cAAc,oBAAoB,YAAY,qBAAqB,cAAc,kDAAkD,gBAAgB,mBAAmB,aAAa,iBAAiB,aAAa,UAAU,EAAE,+BAA+B,cAAc,KAAK;AACjd,0CAA0C,iCAAiC,kCAAkC,2MAA2M,+KAA+K;AACve,oCAAoC,oBAAoB,YAAY,gBAAgB,KAAK,cAAc,oBAAoB,YAAY,kBAAkB,6BAA6B,aAAa,kCAAkC,eAAe,+BAA+B,aAAa,wKAAwK,mCAAmC;AAC3e,WAAW,aAAa,6BAA6B,MAAM,IAAI,0CAA0C,SAAS,8BAA8B,WAAW,cAAc,IAAI,+BAA+B,gBAAgB,eAAe,0BAA0B,KAAK,aAAa,KAAK,MAAM,gBAAgB,eAAe,UAAU,QAAQ,EAAE,qBAAqB,0CAA0C,cAAc,cAAc,OAAO;AACvb,cAAc,WAAW,eAAe,cAAc,UAAU,OAAO,yBAAyB,IAAI,EAAE,oCAAoC,qFAAqF,+CAA+C,cAAc,SAAS,YAAY,gBAAgB,8BAA8B,yBAAyB;AACxX,cAAc,eAAe,SAAS,EAAE,0BAA0B,gEAAgE,WAAW,QAAQ,cAAc,KAAK,KAAK,+BAA+B,KAAK,WAAW;AAC5N,gBAAgB,KAAK,cAAc,KAAK,QAAQ,IAAI,KAAK,WAAW,2CAA2C,EAAE,iBAAiB,aAAa,gBAAgB,kBAAkB,6BAA6B,yBAAyB,kDAAkD,KAAK,UAAU,OAAO,qBAAqB,KAAK,WAAW,6BAA6B,KAAK,SAAS,QAAQ;AACvY,cAAc,UAAU,gBAAgB,kBAAkB,yBAAyB,kBAAkB,oBAAoB,QAAQ,6BAA6B,GAAG,kCAAkC,GAAG,4BAA4B,GAAG,+BAA+B,GAAG,0BAA0B,MAAM,qCAAqC,GAAG,+BAA+B,aAAa,iBAAiB,kCAAkC,YAAY;AAC1b,wCAAwC,YAAY,UAAU,qCAAqC,YAAY,aAAa,qBAAqB,aAAa,UAAU,6BAA6B,MAAM,YAAY,QAAQ,IAAI,IAAI,WAAW,QAAQ,MAAM,+BAA+B,cAAc,6BAA6B,GAAG,gCAAgC,eAAe,UAAU,yCAAyC,YAAY,QAAQ,IAAI,IAAI,WAAW,QAAQ;AAC9d,iCAAiC,iBAAiB,6BAA6B,kCAAkC,cAAc,iCAAiC,6CAA6C,gBAAgB,MAAM,GAAG,6EAA6E,iHAAiH;AACpa,4BAA4B,YAAY,6BAA6B,KAAK,WAAW,6GAA6G,6BAA6B,aAAa,QAAQ,kBAAkB,QAAQ,IAAI,IAAI,+BAA+B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBxR;AACuC;AACrE,wBAAwB,sDAAwB,CAAC,qCAAM;AAC9D;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd;AACA;AACA,IAAI;AACJ;AACA;;AAEA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;;;ACnDwD;AACjD,uBAAuB,qBAAM;AACpC;AACA;AACA;AACA;AACA,CAAC;AACD;;ACPsD;AACU;AACV;AACmB;AACd;AACF;AACzD;AACA;AACA;AACO,+BAA+B,oBAAU;AAChD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,kBAAkB,qBAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,qBAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,0BAA0B,iBAAO,4BAA4B,sDAAqB;AAClF;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,sBAAsB,mBAAmB,CAAC,eAAe,EAAE,8BAAQ,GAAG;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;;;;;;;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAe,OAAO,EAAC;;;ACtDvB;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;;AAEA,2DAAe,YAAY,EAAC;;;ACjD5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAAe,OAAO,EAAC;;;ACRgB;AACE;AACF;;AAEvC,gRAAgR,uCAAuC;AACvT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,mBAAO;AAC9B;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA,MAAM,oBAAQ;AACd;AACA;;AAEA;AACA;;AAEA,IAAI,KAAqC,EAAE,4GA0B1C;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,KAA6F,EAAE,EAElG;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;;AAEhD,cAAc,KAAwE,EAAE,EAE7E;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC,EAAE,EAEjD;;AAET;AACA;;AAEA;AACA,UAAU,KAAqC,EAAE,0BAW1C;;AAEP;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;;AAEA,MAAM,KAA6I,EAAE,EAGlJ;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,6BAA6B,0BAA0B;AACvD,UAAU;AACV,sFAAsF;AACtF;AACA,QAAQ;AACR,gDAAgD,YAAoB,mBAAmB,EAE9E;;AAET;AACA,2BAA2B,mBAAmB;AAC9C;AACA,8FAA8F;AAC9F;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;;AAEA;AACA;AACA,oBAAoB,KAA6D,EAAE,EAElE;;AAEjB,mCAAmC,qBAAqB;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mCAAmC,GAAG,OAAO;AAC7C;;AAEA,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,QAAQ,KAAiE,EAAE,EAEtE;;AAEL;AACA,IAAI;;;AAGJ,kBAAkB,iBAAiB;AACnC;;AAEA;AACA,UAAU,KAAiE,EAAE,EAEtE;;AAEP;AACA;AACA;;AAEA;;AAEA,MAAM,KAAqC,EAAE,EAK1C,CAAC;;;AAGJ;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA,aAAa,gBAAU;;AAEvB,MAAM,KAAqC,EAAE,EAW1C;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAE2B;;;;;;;;;;;;;;;;;;;;;;ACjUY;AACb;AACnB;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ,MAAM,KAAqC,EAAE,EAiB1C;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,IAAI,WAAW;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,sBAAsB,EAAE,qBAAqB,cAAc,OAAO;AAChH;AACA;AACA;AACA,QAAQ;AACR,0BAA0B,mBAAmB,CAAC,+BAAM;AACpD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AClEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;ACrgKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,aAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACO;AACP;AACA;AACA;AACA;AACA;;ACfO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACO;AACP;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA,qCAAqC,mBAAmB;AACxD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,6BAA6B;AAC7B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;;AAEO;AACP;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;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;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;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;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;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;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;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;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;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;;AC9pBA;AACA;AACA;AACA;;AAEO,MAAM,yBAAM;AACnB;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;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;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;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;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;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;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;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;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;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;;AChqBA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;AACA;AACA;;AC1ZA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;;AC/dA;AACA;AACA;AACA;AACA;AACO;AACP;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;;AC/d0D;AACnD,qBAAqB,WAAW;AACQ;AACA;AACA;AACF;AACU;AACI;AACgB;AACX;AACR;AACF;AACI;AAC1D;;ACbuC;AACkB;AACY;AAC3C;AACqC;AACH;AAC5D;AACA;AACA;AACA;AACA,EAAE,EAAE,mBAAmB;AACvB,UAAU,YAAY;AACtB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uCAAuC,yCAAyC;AAChF,mCAAmC,yCAAyC;AAC5E,4BAA4B,yCAAyC;AACrE;AACA,QAAQ;AACR;AACA,GAAG;AACH;AACO;AACP;;ACrF4C;AACkC;AAC9E;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;ACpC0E;AACO;AAC/B;AAClD;;;;;;;;;;;;;ACHmC;AACnC,wBAAwB,qDAAS;AACjC;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;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,2BAA2B;AAC3B;AACO;AACP;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;;;;;;;ACjFA;AACA,EAAE,KAA4D,oBAAoB,mBAAO,CAAC,IAAY,GAAG,mBAAO,CAAC,IAAO;AACxH,EAAE,CAC6I;AAC/I,CAAC,6CAA6C;;AAE9C,uCAAuC,4DAA4D;;AAEnG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,YAAY,6EAA6E;AACnG,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,SAAS;AACpD;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;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;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,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,4BAA4B;AAC9F;AACA,OAAO;AACP;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,KAAK;AACL;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,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B,kBAAkB,UAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;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,WAAW;AACX;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;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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;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,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH;AACA;AACA;;AAEA,iDAAiD,aAAa;;AAE9D,CAAC;AACD;;;;;;;;;;;;;;AC3qBA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,gDAAmB,iBAAiB;;AAExF,yCAAyC,6CAAgB,kCAAkC;;AAE3F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;;AAE+D;AAC/D;;;;;;;;;;;;;;AChCgD;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,MAAM,uEAAiB;AACvB;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,uEAAiB;AACvB;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAE8C;AAC9C;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;AACb,YAAY,mBAAO,CAAC,IAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,0CAA0C;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,YAAY;AAChE,KAAK;AACL;AACA;AACA;AACA;AACA,oDAAoD,YAAY;AAChE;AACA,sDAAsD,YAAY;AAClE,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;AAC+B;AACsB;AACa;AACS;AAChB;AACR;AACiE;AACnC;;AAEjF;AACA,sBAAsB,8CAAc;AACpC;AACA,GAAG;AACH,sBAAsB,yCAAc;AACpC,6BAA6B,6DAA0B;AACvD,qEAAqE;;AAErE,oFAAoF;;AAEpF;AACA,+BAA+B,kCAAa;AAC5C;;AAEA;AACA,iCAAiC,kCAAa;AAC9C;;AAEA;AACA,iCAAiC,kCAAa;AAC9C;;AAEA,EAAE,oCAAe;AACjB,EAAE,8DAA+B;AACjC,EAAE,yDAA0B;AAC5B,qBAAqB,cAAc;AACnC;AACA,EAAE,oDAAoB,CAAC,iBAAiB;AACxC,2EAA2E,kCAAa,6BAA6B;AACrH;;AAEA;AACA;AACA,GAAG;AACH,EAAE,eAAe;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,iCAAiC;;AAEpC,MAAM,kCAAa;AACnB,UAAU,oCAAe;AACzB,IAAI;;;AAGJ,MAAM,0CAAW;AACjB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,IAAI;;;AAGJ;AACA;;AAEwB;AACxB;;;ACvEA;AACqE;AACnB;;AAElD;AACA,wBAAwB,gCAAc;AACtC,SAAS,YAAY,gBAAgB,kCAAa;AAClD;;AAEoB;AACpB;;;;;;;;;;;;;;;;ACVuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO,2BAA2B,6DAAa;AAC/C;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO,2BAA2B,6DAAa;AAC/C;AACA;AACA;AACO;;AAEP;AACA;AACA;AACO,mCAAmC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO,kCAAkC;AACzC;AACA;AACA;AACO,sBAAsB,wDAAQ;AACrC;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO,+BAA+B,iEAAiB;AACvD;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO,2BAA2B,6DAAa;AAC/C;AACA;AACA;AACO;;AAEP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACO,6BAA6B;AACpC;AACA;AACA;AACO;AACP;AACA;AACA;AACO,8BAA8B;AACrC;AACA;AACA;AACO,gCAAgC;AACvC;AACA;AACA;AACO,gCAAgC;;AAEvC;AACA;AACA;AACO,0BAA0B;AACjC;AACA;AACA;AACO;AACP;AACA;AACA;AACO,mCAAmC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACO,0BAA0B,6DAAa;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACO,qCAAqC;AAC5C;AACA;AACA;AACO,iDAAiD;AACxD;AACA;AACA;AACO,gDAAgD;AACvD;AACA;AACA;AACO,qCAAqC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,KAAqC,EAAE,EAG1C;AACH;AACA;AACA;AACA;AACA,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AACrC;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACrpBA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,SAAS,aAAa;;AAEtB,kCAAkC,mCAAmC;;AAErE,0BAA0B,wBAAwB;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;;;AAGA,kBAAkB,iCAAiC;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD,YAAoB;AACvE;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oFAAoF;AACpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,YAAY,KAAqC,EAAE,EAE1C;AACT;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;;AAEqB;;;ACtItB;AACA;AACA,0KAA0K,MAAM;AAChL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,MAAM;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,UAAU;AACxC;;AAEA;AACA;AACA,8BAA8B,UAAU;AACxC;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B,UAAU;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4CAA4C,OAAO;AACnD;AACA;;AAEA;;AAEA;AACA;;AAEA,qBAAqB,OAAO;AAC5B,0BAA0B,OAAO;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA,kFAAkF,qCAAqC,yCAAyC;AAChK;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iMAAiM;AACjM;;AAEA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,8DAA8D,OAAO;AACrH;AACA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yDAAe,UAAU,EAAC;;;ACtmBkB;AACP;AACN;;AAE/B;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,mCAAmC;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,kBAAM;;AAEzB,MAAM,KAAqC,EAAE,EAK1C;;AAEH,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,KAAqE,EAAE,YAO1E;;AAEP;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,iCA8C1C;;AAEH;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA,wDAAe,WAAW,EAAC;;;;;;;ACjNmB;AAC6B;AAClC;AAC0B;AACd;;AAErD,IAAI,mDAAc;;AAElB,uCAAuC,uBAAa;AACpD;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAW;AAChD,gCAAgC,uBAAa,GAAG;AAChD;;AAEA;AACA;AACA,wBAAwB,uBAAa;AACrC;AACA,KAAK;AACL,KAAK;;;AAGL,sBAAsB,oBAAU;AAChC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KACyB,EAAE,EAE9B;;AAEH;;AAEA;AACA,QAAQ,mDAAc;AACtB;AACA;AACA;;AAEA,iCAAiC;;AAEjC,MAAM,KAAqC,EAAE,qBAgB1C;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,gDAAmB;AACnC,IAAI;AACJ;AACA;;AAEA,mBAAmB,gDAAe;;AAElC,MAAM,KAA4E,EAAE,uBAMjF;;AAEH,cAAc,yCAAY;AAC1B;AACA;;AAEA;AACA,QAAQ,mDAAc,+DAA+D,KAAqC,IAAI,CAAqB;AACnJ;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,uBAAa;AACtC,0CAA0C,uBAAa;;;AAGvD,sBAAsB,uBAAa,CAAC,cAAQ;AAC5C,GAAG;;;AAGH;AACA;AACA,wBAAwB,uBAAa;AACrC;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED,IAAI,KAAqC,EAAE,EAE1C;;AAEmI;;;AC7I/E;;AAErD,SAAS,mBAAG;AACZ,sEAAsE,aAAa;AACnF;AACA;;AAEA,SAAS,gDAAe;AACxB;;AAEA,sDAAe,mBAAG,EAAC;;;ACVmD;AACX;AACnC;AACyI;AACxC;AACtD;AACd;AACT;AACb;AACe;;AAE9C;AACA;;AAEA,wBAAwB,mDAAc;AACtC;AACA,WAAW,mBAAa;AACxB;;AAEA;AACA;AACA,6BAA6B,OAAO;AACpC,6BAA6B,kBAAkB;;AAE/C,kBAAkB,gBAAgB;AAClC;AACA,IAAI;;;AAGJ,SAAS,mBAAa;AACtB;;AAEA;AACA,4BAA4B,gBAAgB;AAC5C,MAAM,KAIyB,EAAE,EAG9B;;AAEH;;AAEA;AACA,wBAAwB,uBAAa,CAAC,YAAY;AAClD,uBAAuB,gDAAe;AACtC,0BAA0B,uBAAa;AACvC;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA,mBAAmB,gDAAe;AAClC,sBAAsB,uBAAa;AACnC;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,EAAE,gCAAc;;AAEhB;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA,KAAK,GAAG;;AAER;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,yCAAY;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,CAAC,CAAC,eAAS;;AAEX;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,gDAAmB;;AAExC;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,qBAAI;AACR;AACA;;AAEA,iBAAiB,gBAAgB;AACjC,sBAAsB,uBAAa,CAAC,YAAY;AAChD;;AAEA;AACA,yBAAyB,YAAoB,mBAAmB,EAEzD;;AAEP,0EAA0E,aAAa;AACvF;AACA;;AAEA,uBAAuB,gDAAe;;AAEtC;AACA,QAAQ,yCAAY;AACpB;;AAEA;AACA;;AAEA;AACA,yBAAyB,YAAoB,mBAAmB,EAEzD;;AAEP,6EAA6E,eAAe;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uBAAa,CAAC,qBAAI;;;AAG9D,wBAAwB,uBAAa,CAAC,cAAQ;AAC9C,GAAG;AACH,CAAC;;AAEmE;;;;;;;;;;;;;;;;;;;;;;;;;AC5Pf;AACQ;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7C0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qBAAqB,gBAAM;;AAE3B;AACA,EAAE,mBAAS;AACX;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;;ACjCgC;AAChC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP,sEAAsE,aAAa;AACnF;AACA;AACA,SAAS,iBAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AC3B+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,qBAAU;AAC1B;AACA;AACA;AACA;AACA;;AClB6D;AACI;AACX;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;ACpEkE;AACtB;AACrC;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBqE;AACd;AACvD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACO,SAAS,+BAAe;AAC/B,qEAAqE,aAAa;AAClF;AACA;AACA;AACA,2EAA2E,eAAe;AAC1F;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;ACjBoC;;AAEpC;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,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACO;AACP,SAAS,qBAAW;AACpB;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;ACpDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6BAA6B,2BAA2B,SAAS,aAAa;AAC9E;AACA,CAAC;AACD;;ACb+B;AAC/B;AACA,0CAA0C,qBAAM;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACO;AACP;AACA,4BAA4B,iBAAiB,EAAE,aAAa,CAAC,GAAG,YAAY;AAC5E;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CwD;AACuC;AACpC;AACA;AACY;AAC8B;AACrB;AACzC;AACqB;AACH;AACzB;AACC;AACJ;AACM;AACH;AACwC;AACxE;;;;;;;;;;;;;;;AChByE;AACjB;AACX;AACa;AACnD;AACP;AACA,gBAAgB,gFAAe,0BAA0B,6EAAY;AACrE;AACA;AACA,UAAU,gFAAK;AACf,2BAA2B,8DAAK,SAAS,KAAK,8DAAK,SAAS;AAC5D;AACA,oBAAoB,8DAAK,QAAQ;AACjC;AACA,iBAAiB,gFAAK;AACtB;AACA,KAAK;AACL;AACA,aAAa,6FAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC3BwD;AACA;;AAExD;AACA;AACA,IAAI,sBAAsB;AAC1B;AACA;AACO;;AAEP;AACA;AACA;AACA,IAAI,sBAAsB;AAC1B;AACA;AACO;AACP,uBAAuB,0BAAM;AAC7B,SAAS,qBAAK;AACd,CAAC;;AAED;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA,QAAQ;AACR;AACA;;AAEA,OAAO,8BAA8B,cAAc,OAAO,IAAI;AAC9D;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,kBAAkB,OAAO;AACzB,mBAAmB,OAAO;AAC1B,iBAAiB,OAAO;AACxB,kBAAkB,YAAY,WAAW;AACzC,yBAAyB,qDAAqD,aAAa;AAC3F;AACA;AACA;AACA;AACA;;AC7DsD;AACX;AACD;AACkB;;AAE5D;AACA;AACA;AACA,8EAA8E,wBAAwB;AACtG,0CAA0C,mCAAmC;AAC7E,qCAAqC,qCAAqC;AAC1E;AACO;AACP,+FAA+F,6BAA6B;AAC5H,oCAAoC,oBAAU;AAC9C,wBAAwB,mBAAmB,CAAC,mCAAU;AACtD;AACA;AACA,QAAQ;AACR,0BAA0B,mBAAmB,iBAAiB,8BAAQ,GAAG;AACzE;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,gCAAgC,wDAAwD;AACxF;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5ByD;AACD;AACX;AACa;AACnD;AACP;AACA,gBAAgB,0CAAe,qBAAqB,6BAAY;AAChE;AACA;AACA;AACA,cAAc,oBAAK,OAAO;AAC1B,oBAAoB,oBAAK,OAAO;AAChC;AACA,iBAAiB,8CAAK;AACtB;AACA,KAAK;AACL;AACA,oBAAoB,oBAAK,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzByD;AACD;AACX;AACa;AACnD;AACP;AACA,gBAAgB,0CAAe,sBAAsB,6BAAY;AACjE;AACA;AACA;AACA,cAAc,oBAAK,OAAO;AAC1B,oBAAoB,oBAAK,OAAO;AAChC;AACA,iBAAiB,8CAAK;AACtB;AACA,KAAK;AACL;AACA,oBAAoB,oBAAK,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBiD;AACA;AACR;AACzC;AACA,gBAAgB,SAAS;AACzB,eAAe,aAAa;AAC5B,oBAAoB,kCAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;;AChBsD;AACjB;AACsB;AACpB;AACK;AACc;AACnD,wBAAwB,6BAAa,GAAG;AAC/C,4BAA4B,iCAAM;AAClC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,gBAAgB,iBAAO;AACvB,WAAW,QAAQ;AACnB,GAAG;AACH,uBAAuB,iBAAO;AAC9B,WAAW,0CAAe;AAC1B,GAAG;AACH,sBAAsB,mBAAmB;AACzC;AACA,GAAG,eAAe,mBAAmB,sBAAsB,8BAAQ;AACnE;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,mCAAmC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAC9G,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D,QAAQ,mBAAmB,WAAW,0PAA0P;AAChS;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC0B;AAC5D;AACA,YAAY,SAAY;AACxB;AACA,kBAAkB,+BAAc;AACzB,iBAAiB,oBAAU;AAClC,sEAAsE,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,6BAA6B;AAC3H,CAAC;AACD;AACA;;;;AClBe;AACf;AACA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;ACfqC;AAC9B,mBAAmB,qCAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,2EAA2E,OAAO;AAClF,yEAAyE,MAAM;AAC/E;AACA;AACA,CAAC;AACD;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;ACjDsD;AACZ;AACA;AAC1C;AACA;AACA;AACO,MAAM,SAAI,gBAAgB,oBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,MAAM,KAAqC,EAAE,EAQ1C;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB,CAAC,UAAU,EAAE,QAAQ,GAAG;AACnE;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ,wBAAwB,mBAAmB,CAAC,UAAU;AACtD;AACA;AACA,CAAC;AACD,SAAI;AACJ;AACA;AACA,cAAc,KAAK;AACnB,IAAI;AACJ;AACA,IAAI;AACJ,cAAc,YAAY;AAC1B;AACA;AACA;;ACjEO;AACP;;ACDsD;AACvB;AACI;AACnC,kDAAkD,mBAAmB,QAAQ,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uBAAuB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD,gCAAgC,oBAAU;AAC1C,kDAAe,UAAU,EAAC;AAC1B;;AClBsD;AACvB;AACI;AACnC,MAAM,wBAAY,gCAAgC,mBAAmB,QAAQ,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uBAAuB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,sBAAU,gBAAgB,oBAAU,CAAC,wBAAY;AACvD,kDAAe,sBAAU,EAAC;AAC1B;;AClBsD;AACvB;AACI;AACnC,MAAM,wBAAY,gCAAgC,mBAAmB,QAAQ,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uBAAuB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,sBAAU,gBAAgB,oBAAU,CAAC,wBAAY;AACvD,kDAAe,sBAAU,EAAC;AAC1B;;AClBsD;AACtD;AACA;AACA;AACA;AACmE;AACzB;AACQ;AACsC;AAChD;AACA;AACA;AACxC;AACA;AACA,+BAA+B,mBAAmB,CAAC,WAAW;AAC9D;AACA;AACA;AACA,KAAK,iBAAiB,mBAAmB,CAAC,WAAW;AACrD;AACA;AACA,KAAK;AACL,+BAA+B,mBAAmB,CAAC,WAAW;AAC9D;AACA;AACA;AACA,KAAK,iBAAiB,mBAAmB,CAAC,WAAW;AACrD;AACA;AACA,KAAK;AACL,+BAA+B,mBAAmB,CAAC,WAAW;AAC9D;AACA;AACA;AACA,KAAK,iBAAiB,mBAAmB,CAAC,WAAW;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEO,+BAA+B,oBAAU;AAChD;AACA;AACA,mBAAmB,uBAAuB,GAAG,IAAI,qBAAO,qCAAqC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,mBAAmB,CAAC,SAAI,EAAE,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;;;;;ACpEO;AACP;AACA;AACA;AACA;AACA;;;;;;ACLiC;AACjC;AACA;AACA;AACA;AAC0B;AACnB,mCAAmC,QAAQ,mBAAmB,QAAQ,8BAAQ,GAAG,sBAAsB;AAC9G,IAAI,mBAAmB,QAAQ,mCAAmC;AAClE,QAAQ,mBAAmB,WAAW,uUAAuU;AAC7W,QAAQ,mBAAmB,WAAW,oBAAoB;AAC1D;;ACVyC;AACzC;AACA;AACA;AACA;AAC0C;AAC0B;AAClC;AAC0B;AAC5D,IAAI,kBAAO;AACX,YAAY,SAAY;AACxB;AACA,IAAI,sBAAW,GAAG,+BAAc,CAAC,kBAAO;AACjC,iBAAiB,oBAAU;AAClC,6CAA6C,sBAAW,cAAc,4BAAM;AAC5E,YAAY,mBAAmB,CAAC,gBAAI,EAAE,8BAAQ,GAAG,wBAAwB,sCAAqB,CAAC,kBAAO,qBAAqB;AAC3H,CAAC;AACD;AACA;;AClBsD;AACvB;AACI;AACnC,MAAM,kCAAY,gCAAgC,mBAAmB,QAAQ,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uBAAuB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,gCAAU,gBAAgB,oBAAU,CAAC,kCAAY;AACvD,4DAAe,gCAAU,EAAC;AAC1B;;AClBsD;AACvB;AACI;AACnC,MAAM,kCAAY,gCAAgC,mBAAmB,QAAQ,QAAQ;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uBAAuB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA,CAAC;AACD,MAAM,gCAAU,gBAAgB,oBAAU,CAAC,kCAAY;AACvD,4DAAe,gCAAU,EAAC;AAC1B;;AClBsD;AACtD;AACA;AACA;AACA;AACmE;AACzB;AACQ;AACsC;AAC5B;AACA;AAC5D,MAAM,8BAAU;AAChB;AACA,+BAA+B,mBAAmB,CAAC,qBAAqB;AACxE;AACA;AACA;AACA,KAAK,iBAAiB,mBAAmB,CAAC,qBAAqB;AAC/D;AACA;AACA,KAAK;AACL,+BAA+B,mBAAmB,CAAC,qBAAqB;AACxE;AACA;AACA;AACA,KAAK,iBAAiB,mBAAmB,CAAC,qBAAqB;AAC/D;AACA;AACA,KAAK;AACL;AACA;AACO,yCAAyC,oBAAU;AAC1D;AACA;AACA,mBAAmB,uBAAuB,GAAG,IAAI,qBAAO,qCAAqC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,mBAAmB,CAAC,SAAI,EAAE,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG,GAAG,8BAAU;AAChB,CAAC;AACD;AACA;;;;ACvDA;AACA;AACO;AACP;AACA;AACA;;;;;;;;ACLmD;AACK;AACA;AACJ;AAC7C;AACA,uBAAuB,0BAAM;AACpC;AACA;AACA;AACA,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,wBAAwB,qBAAK;AAC7B,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA;AACA,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,GAAG;AACH;AACA,WAAW,qBAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oBAAY;AACpC,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,wBAAwB,oBAAY;AACpC,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,wBAAwB,qBAAK;AAC7B,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,wBAAwB,qBAAK;AAC7B,oBAAoB,qBAAK;AACzB,KAAK;AACL;AACA,wBAAwB,qBAAK;AAC7B,oBAAoB,qBAAK;AACzB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,sBAAsB,qCAAM;AAC5B,kBAAkB,qCAAM;AACxB,GAAG;AACH;AACA,sBAAsB,qCAAM;AAC5B,kBAAkB,qCAAM;AACxB,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C,6BAA6B,cAAc;AAC3C,OAAO;AACP;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C,kCAAkC,cAAc;AAChD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C,6BAA6B,cAAc;AAC3C,OAAO;AACP;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C,kCAAkC,cAAc;AAChD,OAAO;AACP;AACA,iCAAiC,cAAc;AAC/C,6BAA6B,cAAc;AAC3C;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU,qBAAK;AACf,cAAc,qBAAK;AACnB,GAAG;AACH;AACA,UAAU,qBAAK;AACf;AACA,wBAAwB,qBAAK;AAC7B,oBAAoB,qBAAK;AACzB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;;AClUqC;AACa;AAClD;AACO,oCAAoC,qCAAM;AACjD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,cAAc,cAAc,uCAAuC;AACnE,IAAI;AACJ,cAAc,cAAc,iCAAiC;AAC7D,IAAI;AACJ,cAAc,cAAc,+BAA+B;AAC3D;AACA;AACA;;ACzBqC;AACa;AAClD;AACO,qCAAqC,qCAAM;AAClD,oBAAoB,uCAAU;AAC9B;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yCAAyC,cAAc,8BAA8B;AACrF;AACA,cAAc,cAAc,gCAAgC;AAC5D;AACA,YAAY,cAAc,8BAA8B;AACxD;AACA;;ACvBqC;AAC8B;AAC5D,oBAAoB,qCAAM;AACjC;AACA,iBAAiB;AACjB;AACA;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB;AACA,mBAAmB;AACnB;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB,EAAE;AACF,mBAAmB;AACnB;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB;;AAEA;AACA;AACA,mBAAmB,iBAAiB,MAAM;AAC1C;AACA;;AAEA,aAAa;AACb;AACA;AACA,IAAI;AACJ,2CAA2C,cAAc,2BAA2B;AACpF;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,IAAI;AACJ,qBAAqB,cAAc,6EAA6E,cAAc,kCAAkC;AAChK;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,IAAI;AACJ,iDAAiD,cAAc,kCAAkC;AACjG;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,cAAc,cAAc,iBAAiB,eAAe;AAC5D;AACA;AACA;AACA,KAAK,cAAc;AACnB,IAAI;AACJ,cAAc,cAAc,iCAAiC;AAC7D,IAAI;AACJ,cAAc,cAAc,mCAAmC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,cAAc,cAAc,iBAAiB,eAAe;AAC5D;AACA;AACA;AACA,KAAK,cAAc;AACnB,IAAI;AACJ,cAAc,cAAc,iCAAiC;AAC7D,IAAI;AACJ,cAAc,cAAc,mCAAmC;AAC/D;AACA;AACA;;ACtHqC;AAC9B,6BAA6B,qCAAM;AAC1C;AACA;AACA;AACA;AACA;;;;ACNqC;AACwC;AAC3B;AAC3C,0BAA0B,qCAAM;AACvC;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,IAAI;AACJ,qCAAqC,8CAA8C,IAAI,cAAc,QAAQ,wBAAwB,0CAA0C;AAC/K;AACA;AACA;AACA;;AChBqC;AACuC;AACA;AACpB;AAC8C;AAC/F,yBAAyB,sDAAwB,CAAC,qCAAM,CAAC,iBAAiB;AACjF;AACA,oBAAoB,cAAc,CAAC;AACnC,oBAAoB,cAAc;AAClC,qBAAqB;AACrB;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB;AACA,wBAAwB,kBAAkB;AAC1C;AACA,qBAAqB;AACrB;AACA;AACA,IAAI;AACJ;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ,SAAS,cAAc,iCAAiC,sDAAqB;AAC7E,SAAS,cAAc;AACvB,wDAAwD,cAAc,gCAAgC,cAAc;AACpH,qBAAqB,cAAc;AACnC;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;ACzCqC;AACmB;AAC0B;AAC3E,+BAA+B,qCAAM,CAAC,iBAAiB;AAC9D,cAAc,gDAAgD;AAC9D,2BAA2B,cAAc;AACzC,oBAAoB,cAAc,CAAC;AACnC,qBAAqB,gDAAgD;AACrE,wBAAwB,yCAAkB;AAC1C;AACA;AACA;AACA;AACA,SAAS,yCAAkB;AAC3B;AACA;AACA;AACA,IAAI;AACJ;AACA,WAAW,cAAc;AACzB,IAAI;AACJ,WAAW,cAAc;AACzB;AACA;AACA;;ACxBsD;AACa;AACC;AAChB;AACR;AACU;AACoB;AAC9B;AACuC;AACE;AAClC;AACkB;AACR;AACY;;AAEzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,+BAA+B,oBAAU;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,2BAA2B,wBAAwB;AACnD,oCAAoC,kBAAQ;AAC5C,oCAAoC,kBAAQ;AAC5C,uBAAuB,0DAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yDAAqB,cAAc,IAAI;AAC/D,sBAAsB,yDAAqB,YAAY,IAAI;AAC3D,6CAA6C,gBAAgB,GAAG,sBAAsB;AACtF;AACA;AACA,IAAI,EAAE,oCAAY;AAClB,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC,mBAAmB,CAAC,4BAA4B;AACnF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG,iCAAiC,mBAAmB,CAAC,oBAAoB,qBAAqB,mBAAmB,CAAC,WAAW,EAAE,8BAAQ;AAC1I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,kCAAkC,mBAAmB,CAAC,2BAA2B;AACpF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;AC/HoC;AACC;AACmB;AACK;AACQ;AACQ;AACpC;AACS;AAC3C,qBAAqB,qCAAM;AAClC;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,IAAI;AACJ,SAAS,cAAc,uBAAuB,wBAAwB;AACtE;AACA,aAAa;AACb;AACA;AACA;AACA,IAAI;AACJ,SAAS,cAAc,uBAAuB,wBAAwB;AACtE;AACA,cAAc;AACd;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ,SAAS,2CAAc;AACvB;AACA,yBAAyB;AACzB;AACA;AACA,IAAI;AACJ,SAAS,cAAc;AACvB;AACA;AACA;AACO,yBAAyB,gCAAG;AACnC;AACA;AACA;AACA;AACO,iCAAiC,qCAAM,CAAC,UAAU;AAClD,6BAA6B,qCAAM,CAAC,mBAAmB;AACvD,wBAAwB,qCAAM,CAAC,SAAS;AAC/C;AACA,uBAAuB;AACvB;AACA;AACA;;AChEsD;AACE;AACA;AACA;AACL;AACR;AACR;AACmB;AACY;AACQ;AACjC;AAC4F;AAC5E;AACzD,mBAAmB,0BAAM;AACzB;AACA,mCAAmC,mBAAmB,CAAC,wBAAwB;AAC/E;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,+BAA+B,mBAAmB,CAAC,oBAAoB;AACvE;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,GAAG;AACH;AACA,mCAAmC,mBAAmB,CAAC,wBAAwB;AAC/E;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,+BAA+B,mBAAmB,CAAC,oBAAoB;AACvE;AACA,aAAa,qBAAK;AAClB,KAAK;AACL;AACA,CAAC;AACD,kBAAkB,0BAAM;AACxB;AACA,mCAAmC,mBAAmB,CAAC,UAAU;AACjE;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,+BAA+B,mBAAmB,CAAC,SAAS;AAC5D;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,GAAG;AACH;AACA,mCAAmC,mBAAmB,CAAC,UAAU;AACjE;AACA,aAAa,qBAAK;AAClB,KAAK;AACL,+BAA+B,mBAAmB,CAAC,SAAS;AAC5D;AACA,aAAa,qBAAK;AAClB,KAAK;AACL;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA,4BAA4B,qBAAW;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB,CAAC,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACO,iCAAiC,oBAAU;AAClD;AACA;AACA,IAAI,EAAE,4BAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,2BAA2B,wBAAwB;AACnD;AACA,sBAAsB,mBAAmB,CAAC,eAAe,EAAE,8BAAQ;AACnE;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,4BAA4B,mBAAmB,CAAC,0BAAS,EAAE,8BAAQ,GAAG;AACtE;AACA,2BAA2B,2CAAc;AACzC,oBAAoB,cAAc;AAClC;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR,0BAA0B,mBAAmB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG;AACH,CAAC;AACD;AACA;;;;;;;;ACjJa;;AAEb,IAAI,IAAqC;AACzC,EAAE,0CAA6E;AAC/E,EAAE,KAAK,EAEN;;;;;;;;ACND;AACA,EAAE,KAA4D;AAC9D,EAAE,CACqG;AACvG,CAAC,uBAAuB;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,wBAAwB,0BAA0B;AACjE;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX,wCAAwC;AACxC,kCAAkC;AAClC;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;AAC5W;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,wBAAwB,0BAA0B;AACjE;AACA;;AAEA,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;;AAE5W;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,SAAS,GAAG,+DAA+D,yBAAyB;;AAEpG;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,UAAU;AAC1C;AACA;AACA,wBAAwB;AACxB;;AAEA,oCAAoC,UAAU;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB;AAClD,8BAA8B,8BAA8B;AAC5D,8BAA8B,YAAY;AAC1C,8BAA8B,qBAAqB;AACnD,8BAA8B,cAAc;AAC5C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA,gCAAgC,UAAU;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,SAAS;AACnC;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,SAAS;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA,kCAAkC,UAAU;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA,kCAAkC,UAAU;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;;AAEA;AACA;AACA;;AAEA,gCAAgC,UAAU;AAC1C;AACA;AACA,wBAAwB;AACxB;;AAEA,oCAAoC,UAAU;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gEAAgE;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,kBAAkB,eAAe;;;AAGjC;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb,YAAY;AACZ;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;;AAE5W;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;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gGAAgG;;AAEhG;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,yBAAyB;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,eAAe;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,cAAc;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,QAAQ;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,cAAc;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;;AAER;AACA;;AAEA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,oEAAoE;AACnF;AACA;;AAEA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,mBAAmB;AACvC;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,aAAa;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC,uCAAuC;;AAEvC,iCAAiC;;AAEjC;AACA,iEAAiE;;AAEjE,iEAAiE;;AAEjE,iCAAiC;;AAEjC;AACA,iEAAiE;;AAEjE,iEAAiE;;AAEjE,iCAAiC;;AAEjC;AACA,iEAAiE;;AAEjE,iEAAiE;;AAEjE;;AAEA,kBAAkB,SAAS;AAC3B,4IAA4I;;AAE5I,gJAAgJ;;AAEhJ,gJAAgJ;;AAEhJ,gJAAgJ;AAChJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;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;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA,UAAU;;AAEV,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAwB,UAAU;AAClC;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA,wBAAwB,UAAU;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA,gBAAgB,YAAY;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,eAAe;AACf;AACA,gBAAgB;;AAEhB;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,UAAU;AAC5B,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iEAAiE;AACjE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;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,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,0BAA0B;AACvC,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,+BAA+B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,6MAA6M;AAC7M;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kBAAkB,QAAQ;AAC1B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kBAAkB,QAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;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;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;AAC5W;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;;AAE9E;AACA;;AAEA,8DAA8D;;AAE9D;AACA,WAAW,MAA8B,GAAG,CAAW,uCAAuC,QAAa,uBAAuB,KAA4B,IAAI,wBAAU;AAC5K,MAAM,EAED;AACL,IAAI,aAAa;AACjB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B,oCAAoC;;AAEpC;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;;AAEA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf,cAAc;AACd;AACA;AACA;AACA,eAAe;AACf,cAAc;AACd;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA,kBAAkB,UAAU;AAC5B;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,YAAY;AACZ;AACA,kFAAkF;;AAElF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,kFAAkF;;AAElF;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA,8EAA8E;;AAE9E;AACA,QAAQ;AACR;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO,kBAAkB;;AAEzB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;;AAEhB;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,8BAA8B;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;;AAEA;AACA,UAAU;AACV;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,mCAAmC;;AAEnC;AACA,wCAAwC;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;;AAEA,oBAAoB,cAAc;AAClC;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;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;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;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;AACA;;AAEA;AACA;AACA,6BAA6B;;AAE7B,mCAAmC;;AAEnC,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,WAAW;AAC3B;AACA;AACA;;AAEA;AACA,0BAA0B,QAAQ;AAClC;AACA;AACA;AACA;;AAEA,uDAAuD;;AAEvD;AACA;;AAEA,gBAAgB,0BAA0B;AAC1C;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0CAA0C;;AAE1C;AACA;AACA,oCAAoC;;AAEpC,yCAAyC;;AAEzC;AACA;AACA,yCAAyC;;AAEzC,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yCAAyC,oBAAoB,sCAAsC;AAC1I;AACA;AACA,UAAU;AACV;;AAEA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+FAA+F;AAC/F;;AAEA;AACA;;AAEA;AACA,mDAAmD;AACnD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;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,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B,2BAA2B;;AAE3B,kCAAkC;;AAElC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA,yEAAyE;;AAEzE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,QAAQ;;;AAGR;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC,mCAAmC;;AAEnC;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B,8DAA8D;;AAE9D;AACA;;AAEA;AACA,KAAK;AACL;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;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;;;AAGV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,UAAU;;;AAGV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA,wBAAwB,QAAQ;AAChC,uFAAuF;AACvF;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA,kCAAkC;;AAElC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kCAAkC,SAAS;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,YAAY;AAC5B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,UAAU;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB,UAAU;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,sBAAsB;;AAEtB,mCAAmC;;AAEnC,0BAA0B;;AAE1B,8BAA8B;;AAE9B,yBAAyB;;AAEzB,iCAAiC;;AAEjC;AACA,8CAA8C;AAC9C;;AAEA,4BAA4B;AAC5B;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,QAAQ;AAC1B;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA,UAAU;AACV,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qEAAqE;;AAErE;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,YAAY;AACZ;AACA,8EAA8E;AAC9E;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,UAAU;AACV,yEAAyE;AACzE,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;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;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;;;AAGV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,sBAAsB,UAAU;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,UAAU;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,+CAA+C;;AAE/C;AACA;;AAEA,oBAAoB,UAAU;AAC9B;;AAEA;AACA;AACA,kGAAkG;;AAElG;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,gBAAgB;AAChB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,UAAU;;AAEV;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gGAAgG;AAChG;;AAEA,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN,sBAAsB,QAAQ;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B,QAAQ;AAClC;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,uBAAuB;AAC9D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD,kCAAkC,IAAI,kCAAkC;;AAE7H;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC,kCAAkC,IAAI,kCAAkC;;AAEjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,8CAA8C;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qCAAqC;;AAErC,8DAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA,8DAA8D;;AAE9D;AACA;AACA,gEAAgE;;AAEhE;AACA,gCAAgC;;AAEhC,2DAA2D;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA,oDAAoD;AACpD;;AAEA;AACA;AACA,gEAAgE;;AAEhE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,QAAQ;AAC1B;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uFAAuF;;AAEvF,kDAAkD;;AAElD,gDAAgD;;AAEhD,iDAAiD;;AAEjD,wDAAwD;AACxD,UAAU;AACV,qFAAqF;AACrF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ,gCAAgC;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,UAAU;AAC5B;;AAEA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;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;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,UAAU;AAC5B;AACA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD,mDAAmD;;AAEnD,+CAA+C;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA,YAAY;AACZ;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA,wBAAwB,UAAU;AAClC;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA,YAAY;AACZ;AACA,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,YAAY;AACZ;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA,sBAAsB,UAAU;AAChC;AACA;AACA;;AAEA,wBAAwB,UAAU;AAClC;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;;AAEzD,4EAA4E;AAC5E;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;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;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;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;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,gCAAgC;;AAEhC;AACA,kCAAkC;;AAElC;AACA,gCAAgC;;AAEhC;AACA,8BAA8B;;AAE9B;AACA,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,eAAe;AAC1C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,QAAQ;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,QAAQ;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,qCAAqC;;AAErC,kDAAkD;;AAElD;AACA,0CAA0C;;AAE1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,wCAAwC;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,sBAAsB;;AAEtB,mCAAmC;;AAEnC,0BAA0B;;AAE1B,8BAA8B;;AAE9B,yBAAyB;;AAEzB,iCAAiC;;AAEjC;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA,cAAc;;AAEd,cAAc;;AAEd,cAAc;;AAEd,+BAA+B;AAC/B,QAAQ;AACR;;AAEA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,oCAAoC;AAC1D;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wHAAwH;;AAExH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;;;AAGR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;;;AAGV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA,mHAAmH;;AAEnH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sBAAsB,QAAQ;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yCAAyC;;;AAGzC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,WAAW;AAChC;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;;AAE5W;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;;AAEzB,6HAA6H;;AAE7H,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,+BAA+B;;AAE/B,sBAAsB;;AAEtB,yBAAyB;AACzB;;AAEA;AACA;AACA,kBAAkB;;AAElB,kBAAkB;;AAElB,oBAAoB;AACpB;;AAEA,4BAA4B;AAC5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B;;AAE7B,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,YAAY;;;AAGZ;AACA,gCAAgC;AAChC;AACA,UAAU;AACV;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA,kBAAkB,WAAW;AAC7B;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;;AAGA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,2BAA2B,2EAA2E,oCAAoC,wBAAwB,OAAO,oCAAoC,mIAAmI;;AAE5W;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf,eAAe;AACf,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf,eAAe;;AAEf,eAAe;AACf,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,wBAAwB,0EAA0E;;AAElG,uEAAuE,YAAY,oBAAoB,QAAQ;;AAE/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,eAAe;AACrC,8DAA8D;AAC9D;;AAEA;AACA,UAAU;;;AAGV;AACA;AACA;;AAEA;AACA,sBAAsB,eAAe;AACrC,4FAA4F;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,eAAe;AACxC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,eAAe;AACtC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;;AAEA,wFAAwF,UAAU;;AAElG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6CAA6C;;AAE7C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU,iCAAiC;AAC3C,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;;AAEA,wEAAwE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH,0BAA0B,2BAA2B,2EAA2E,kCAAkC,wBAAwB,OAAO,kCAAkC,mIAAmI;;AAEtW;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,eAAe;AACnC;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4JAA4J;AAC5J;AACA,QAAQ;AACR;AACA;AACA,iJAAiJ;;AAEjJ;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B,mJAAmJ;AACnJ;;AAEA;AACA;;AAEA;AACA;;AAEA,wIAAwI;AACxI;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4IAA4I;AAC5I;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0JAA0J;AAC1J;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,qEAAqE;AACrE;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,WAAW;AACnC;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;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;AACA,+DAA+D;;AAE/D;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,gDAAgD;;AAEhD,+EAA+E;AAC/E;AACA;AACA;;AAEA,2FAA2F;;AAE3F;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;AC3rnBY;;AAEb,IAAI,IAAqC;AACzC,EAAE,0CAA6D;AAC/D,EAAE,KAAK,EAEN","sources":["webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/tooltipConstants.js","webpack://smartsheet-calendar/./node_modules/@react-hookz/web/esm/usePrevious/usePrevious.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://smartsheet-calendar/./node_modules/react-transition-group/esm/config.js","webpack://smartsheet-calendar/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://smartsheet-calendar/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://smartsheet-calendar/./node_modules/react-transition-group/esm/Transition.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/math.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/enums.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/createPopper.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/utils/within.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://smartsheet-calendar/./node_modules/@popperjs/core/lib/popper.js","webpack://smartsheet-calendar/./node_modules/react-popper/lib/esm/utils.js","webpack://smartsheet-calendar/./node_modules/react-popper/lib/esm/usePopper.js","webpack://smartsheet-calendar/./node_modules/@react-hookz/web/esm/useIsMounted/useIsMounted.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/StackOrder/StackOrderContext.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/StackOrder/useStackOrder.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/constants/grid.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/constants/layers.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/layerContext/LayerContext.js","webpack://smartsheet-calendar/./node_modules/tiny-invariant/dist/esm/tiny-invariant.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/portal/components/Portal.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/flyout/styled/FlyoutArrow.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/flyout/styled/FlyoutContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/flyout/Flyout.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/styled/TooltipFlyoutArrowStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/styled/ArrowsStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/components/Arrows.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/components/TooltipFlyoutArrow.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/styled/TooltipContainerStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/components/TooltipContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/components/TooltipFlyoutContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/Tooltip.js","webpack://smartsheet-calendar/./node_modules/react-fast-compare/index.js","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/logger.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/removable.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/query.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/queryCache.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/mutation.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/mutationCache.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/infiniteQueryBehavior.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/queryClient.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/icon/IconWrapper.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/icon/Icon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/styled/TooltipBodyStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/components/TooltipBody.js","webpack://smartsheet-calendar/./node_modules/@emotion/utils/dist/utils.browser.esm.js","webpack://smartsheet-calendar/./node_modules/react-dom/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/tooltipTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/color-tokens.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/layers.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/border.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/motion.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/space.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/typography.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/system/ursaColors.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/system/ursaColorsInternal.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/lodestar-light.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/ursa-light.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/ursa-dark.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/system/lodestarColors.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/design-tokens/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/icon/constants.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/Check.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/CheckIcon.js","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/bind.js","webpack://smartsheet-calendar/./node_modules/axios/lib/utils.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/sanitizeHeaderValue.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/AxiosError.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/null.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/toFormData.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/buildURL.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/InterceptorManager.js","webpack://smartsheet-calendar/./node_modules/axios/lib/defaults/transitional.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/browser/index.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/common/utils.js","webpack://smartsheet-calendar/./node_modules/axios/lib/platform/index.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://smartsheet-calendar/./node_modules/axios/lib/defaults/index.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/transformData.js","webpack://smartsheet-calendar/./node_modules/axios/lib/cancel/isCancel.js","webpack://smartsheet-calendar/./node_modules/axios/lib/cancel/CanceledError.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/settle.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/speedometer.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/throttle.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/cookies.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/combineURLs.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/buildFullPath.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/mergeConfig.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://smartsheet-calendar/./node_modules/axios/lib/adapters/xhr.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/composeSignals.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/trackStream.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","webpack://smartsheet-calendar/./node_modules/axios/lib/env/data.js","webpack://smartsheet-calendar/./node_modules/axios/lib/adapters/fetch.js","webpack://smartsheet-calendar/./node_modules/axios/lib/adapters/adapters.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/dispatchRequest.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/validator.js","webpack://smartsheet-calendar/./node_modules/axios/lib/core/Axios.js","webpack://smartsheet-calendar/./node_modules/axios/lib/cancel/CancelToken.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/spread.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://smartsheet-calendar/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://smartsheet-calendar/./node_modules/axios/lib/axios.js","webpack://smartsheet-calendar/./node_modules/tslib/tslib.es6.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/utils.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/utils.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/focusManager.mjs","webpack://smartsheet-calendar/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/flyout/useFlyout.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/flyout/hooks/useDelayedOpen.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/tooltip/useTooltip.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeFolder.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeFolderIcon.js","webpack://smartsheet-calendar/./node_modules/react-is/cjs/react-is.production.min.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/spinner/constants.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/spinner/Spinner.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useActive/useActive.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useEnsuredForwardedRef/useEnsuredForwardedRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useForkRef/useForkRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useLiveRef/useLiveRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useIsScrolling/useIsScrolling.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useRequestAnimationFrame/useRequestAnimationFrame.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useResizeObserver/useResizeObserver.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/util/isComposing/useIsComposingHandler.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/util/focusUtil.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/util/genId.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/globalContextSelector/ContextSelector.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/node_modules/@smartsheet/lodestar-utils/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/dist/esm/context/LodestarCoreTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/dist/esm/util/themed.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/sds-theme-internal/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/constants/spacing.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/utils/getThemeClasses.js","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/suspense.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://smartsheet-calendar/./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/createFocusRingStyles.js","webpack://smartsheet-calendar/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/utils/getCSSVariables.js","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/retryer.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeSheets.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeSheetsIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeDashboards.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeDashboardsIcon.js","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/subscribable.mjs","webpack://smartsheet-calendar/./node_modules/react-is/index.js","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/useQueries.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/AlertErrorAlt.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/AlertErrorAltIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeWorkgroup.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeWorkgroupIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/focusMode/hooks/useFocusMode.js","webpack://smartsheet-calendar/./node_modules/object-assign/index.js","webpack://smartsheet-calendar/./node_modules/react/cjs/react.production.min.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/models/TreeItemType.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/models/ChildLoadState.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/ContainerUtil.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/UniqueContainerId/UniqueContainerId.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/ContainerRefs.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Utility.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Tokenizer.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Enum.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Serializer.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Middleware.js","webpack://smartsheet-calendar/./node_modules/stylis/src/Parser.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/ArrowRight.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/ArrowRightIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/node_modules/@smartsheet/lodestar-core/dist/esm/constants/colors.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/TestId.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/Favorite.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/FavoriteIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeForms.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeFormsIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/Link.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/LinkIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/forms/medium/Null.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/forms/NullIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/icons/DynamicView.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/icons/Projects.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/node_modules/@smartsheet/lodestar-core/dist/esm/constants/spacing.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/getIcons.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/defaults/components/ContainerListItem.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/defaults/components/LoadingLine.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/AlertError.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/AlertErrorIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/defaults/components/ErrorNode.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/getComponents.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/UniqueContainerId/UniqueContainerSet.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/constants.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/ContainerTree.js","webpack://smartsheet-calendar/./node_modules/react-virtual/dist/react-virtual.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useActive/useActive.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useEnsuredForwardedRef/useEnsuredForwardedRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useForkRef/useForkRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useLiveRef/useLiveRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useIsScrolling/useIsScrolling.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useRequestAnimationFrame/useRequestAnimationFrame.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useResizeObserver/useResizeObserver.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/util/isComposing/useIsComposingHandler.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/util/focusUtil.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/util/genId.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/globalContextSelector/ContextSelector.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-utils/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/VirtualizedListItem.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/ContainerTreeList.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/node_modules/@smartsheet/lodestar-core/dist/esm/components/focusMode/hooks/useFocusMode.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/ContainerTreeBase.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/models/APIAccessLevel.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/models/WorkspaceType.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/UniqueContainerId/UniqueContainerIdSet.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/API/conversionMethods.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/components/useContainerTree.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/API/getMockData.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/Utils/exportedHelpers.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/models/FailedLoadReason.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/container-tree/dist/esm/src/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/utils/useTheme.js","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","webpack://smartsheet-calendar/./node_modules/react/index.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://smartsheet-calendar/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://smartsheet-calendar/./node_modules/classnames/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/medium/FileTypeReports.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/fileType/FileTypeReportsIcon.js","webpack://smartsheet-calendar/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/clickable/styled/ClickableStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/clickable/styled/clickableTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/clickable/Clickable.js","webpack://smartsheet-calendar/./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/dist/esm/tokenInjector/createTokenInjector.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/color-tokens.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/layers.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/border.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/motion.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/space.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/token-groups/typography.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/system/ursaColors.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/system/ursaColorsInternal.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/lodestar-light.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/ursa-light.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/build/ts/ursa-dark.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/node_modules/@smartsheet/design-tokens/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/dist/esm/tokenInjector/CommonTokenInjector.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/dist/esm/hooks/useThemeKey.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/design-tokens-react/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/utils.js","webpack://smartsheet-calendar/./node_modules/lottie-react/build/index.umd.js","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","webpack://smartsheet-calendar/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/useBaseQuery.mjs","webpack://smartsheet-calendar/./node_modules/@tanstack/react-query/build/lib/useQuery.mjs","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/constants/colors.js","webpack://smartsheet-calendar/./node_modules/@emotion/sheet/dist/sheet.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/cache/dist/cache.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/core/dist/emotion-element-04d85134.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/css/dist/css.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@emotion/core/dist/core.browser.esm.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useActive/useActive.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useEnsuredForwardedRef/useEnsuredForwardedRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useForkRef/useForkRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useLiveRef/useLiveRef.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useIsScrolling/useIsScrolling.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useRequestAnimationFrame/useRequestAnimationFrame.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/hooks/useResizeObserver/useResizeObserver.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/util/callAllHandlers.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/util/isComposing/useIsComposingHandler.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/util/focusUtil.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/util/genId.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/globalContextSelector/ContextSelector.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/node_modules/@smartsheet/lodestar-utils/dist/esm/index.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/lodestarTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/focusRing.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/withFocusClassName.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/ursaDarkTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/ursaTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/utils/getTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/theme/SDSThemeProvider.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/Delete.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/DeleteIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/components/icon/IconStyled.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/components/icon/Icon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/components/icon/getUrsaIconColorVarName.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/CloseIcon/CloseIcon16.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/CloseIcon/CloseIcon20.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/CloseIcon/CloseIcon24.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/CloseIcon/CloseIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/util/inputFieldBaseProps.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/medium/Search.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-icons/dist/esm/components/iconLibrary/core/SearchIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/MagnifyingGlassIcon/MagnifyingGlassIcon20.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/MagnifyingGlassIcon/MagnifyingGlassIcon24.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/ursa-icons/dist/esm/generated/MagnifyingGlassIcon/MagnifyingGlassIcon.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/constants/noop.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/formInputTheme.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/StyledContentAfterContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/StyledContentBeforeContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/StyledInput.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/StyledInputContainer.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/TextInputRootBase.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/TextInputRootBox.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/TextInputRootUnderline.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/TextInput.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/styled/StyledSearchInputComponents.js","webpack://smartsheet-calendar/./node_modules/@smartsheet/lodestar-core/dist/esm/components/textinput/SearchInput.js","webpack://smartsheet-calendar/./node_modules/use-sync-external-store/shim/index.js","webpack://smartsheet-calendar/./node_modules/lottie-web/build/player/lottie.js","webpack://smartsheet-calendar/./node_modules/scheduler/index.js"],"sourcesContent":["'use client';\nimport * as React from 'react';\n\nconst IsRestoringContext = /*#__PURE__*/React.createContext(false);\nconst useIsRestoring = () => React.useContext(IsRestoringContext);\nconst IsRestoringProvider = IsRestoringContext.Provider;\n\nexport { IsRestoringProvider, useIsRestoring };\n//# sourceMappingURL=isRestoring.mjs.map\n","const noopCloseRequested = () => undefined;\nconst DEFAULT_TOOLTIP_DISTANCE = 8;\nexport const tooltipFlyoutDefaults = {\n hasArrow: true,\n offset: {\n distance: DEFAULT_TOOLTIP_DISTANCE\n },\n onCloseRequested: noopCloseRequested\n};\nexport const ANIMATION_DURATION = 500;\n//# sourceMappingURL=tooltipConstants.js.map","import { useEffect, useRef } from 'react';\n/**\n * Returns the value passed to the hook on previous render.\n *\n * Yields `undefined` on first render.\n *\n * @param value Value to yield on next render\n */\nexport function usePrevious(value) {\n var prev = useRef();\n useEffect(function () {\n prev.current = value;\n });\n return prev.current;\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import { useCallback, useEffect, useRef } from 'react';\n/**\n * Returns function that yields current mount state.\n *\n * Returned function yields `true` only in case component is mounted. This hook\n * is handy for the cases when you have to detect component mount state within\n * async effects.\n */\nexport function useIsMounted() {\n var isMounted = useRef(false);\n var get = useCallback(function () { return isMounted.current; }, []);\n useEffect(function () {\n isMounted.current = true;\n return function () {\n isMounted.current = false;\n };\n }, []);\n return get;\n}\n","import { createContext } from \"@smartsheet/lodestar-utils\";\nimport React, { useState, useMemo } from \"react\";\nimport { createDefaultStackOrderManager } from \"./StackOrderManagerDefaultImpl\";\n/**\n * Used to keep track of the stack order of components subscribing to the context.\n *\n * This can be null because its consumers should be able to check whether or not there's a stack\n * around them. If there's no stack around them, floating elements shouldn't make assumptions\n * about stacking, in general.\n *\n * @see: useStackOrder\n */\nexport const StackOrderContext = createContext(null, \"StackOrderContext\");\n/**\n * ComponentsContainers rendered within a `StackOrderProvider`, allows closing coordination\n * among Components that subscribe to the behavior. The `StackOrderContextProvider` if not passed anything\n * will use a default implementation to manage the stackOrder, which should be sufficient for most cases (the exception being\n * coordinating across react instances, which would require a state-service or similar).\n */\nexport const StackOrderContextProvider = _ref => {\n let {\n children,\n stackOrderManager: providedStackOrderManager\n } = _ref;\n const [stackManager] = useState(() => providedStackOrderManager || createDefaultStackOrderManager());\n if (process.env.NODE_ENV !== \"production\") {\n if (providedStackOrderManager !== undefined && stackManager !== providedStackOrderManager) {\n throw new Error(\"The stackManager has changed. The manager should never change.\");\n }\n }\n const contextValue = useMemo(() => ({\n stackOrderManager: stackManager\n }), [stackManager]);\n return /*#__PURE__*/React.createElement(StackOrderContext.Provider, {\n value: contextValue\n }, children);\n};\n//# sourceMappingURL=StackOrderContext.js.map","import { useIsMounted } from \"@react-hookz/web\";\nimport { useState, useEffect, useContext } from \"react\";\nimport { StackOrderContext } from \"./StackOrderContext\";\nexport const useStackOrder = _ref => {\n let {\n isOpen,\n onCloseRequested,\n shouldCloseOnEscape = true\n } = _ref;\n // const [stackOrderSub, setStackOrderSub] = useState(null);\n const isMounted = useIsMounted();\n\n // Null here means no stack order context provider is present.\n const [isActiveItem, setIsActiveItem] = useState(null);\n const stackOrderContextValue = useContext(StackOrderContext);\n useEffect(() => {\n if (isOpen && stackOrderContextValue) {\n const stackSubscription = stackOrderContextValue.stackOrderManager.addToStack({\n onStackChange: _ref2 => {\n let {\n isActiveItem\n } = _ref2;\n setIsActiveItem(isActiveItem);\n }\n });\n // setStackOrderSub(stackSubscription);\n setIsActiveItem(stackSubscription.isActiveItem());\n return () => {\n stackSubscription?.remove();\n if (isMounted()) {\n // setStackOrderSub(null);\n }\n };\n }\n }, [stackOrderContextValue, isOpen, isMounted]);\n useEffect(() => {\n if (isOpen) {\n const handleKeyDown = event => {\n // bail if we are in a stack but aren't the active item.\n if (stackOrderContextValue && isActiveItem === false) {\n return;\n }\n if (event.key === \"Esc\" || event.key === \"Escape\") {\n // This line is necessary for Safari fullscreen mode, which overtakes\n // any Escape key press to exit fullscreen mode. We want to have\n // control to first exist our active components, e.g. modals.\n event.preventDefault();\n if (shouldCloseOnEscape) {\n onCloseRequested();\n }\n }\n };\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }\n }, [isOpen, stackOrderContextValue, onCloseRequested, shouldCloseOnEscape, isActiveItem]);\n return {\n isActiveItem: !!isActiveItem,\n isWithinStack: !!stackOrderContextValue && isActiveItem !== null\n };\n};\n//# sourceMappingURL=useStackOrder.js.map","/**\n * @deprecated - This property is being removed in V6+, February 2025\n */\nexport const gridSize = 4;\n//# sourceMappingURL=grid.js.map","import { shadowMenu, shadowModal } from \"./colors\";\nimport { gridSize } from \"./grid\";\n\n/**\n * These constants are used to express the different layers of the application.\n * They map to z-index.\n *\n * These layers are intended to be a deterministic order for elements that float\n * above the rest of the application. These kinds of elements should normally be\n * attached near the DOM's body element, either in the root div of the app or\n * whichever element is the parent for the normal app surface and floating elements.\n *\n * We're leaving a LOT of space between these to ensure we have room to mutate.\n *\n * To use these, apply their values as the z-index of whatever element you want to lift up.\n * If possible, don't add/subtract from them. In many cases, DOM order will take care of the\n * stacking i.e. a modal w/ z-index 600 that renders a Flyout w/ z-index 600 will be in\n * the correct order since the Flyout is added after the Modal.\n *\n * @deprecated This object is being removed in V6+, February 2025, in favor of `layers` from `smartsheet/design-tokens`.\n */\nexport const layers = {\n /**\n * This is applied to the base layer of the application. This means that it will\n * never interact with any other floating elements.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n surface: 0,\n /**\n * This is for the left/right panels. The rails and the panels should both be contained\n * within this layer, and the proper sub-z-indexes should be appled to ensure the panels\n * slide behind the rails i.e. 200 on the rail/panel container, 2 on the rail itself, 1\n * on the panel itself.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n panel: 100,\n /**\n * This is just for the modal's blanket\n *\n * TODO it would be nice to get rid of this. We don't need to formalize this layer. It should\n * just be modal-1.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n blanket: 300,\n /**\n * This is for flyouts that operate just above the surface layer.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n flyout: 490,\n /**\n * This is just for the toast layer which needs to be behind the modals, but on top of\n * flyouts.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n toast: 540,\n /**\n * For modals and any of their floating children.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n modal: 600,\n /**\n * Originally for tooltips above Modals, but it doesn't actually make much sense.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`. Specifically, use the `tooltip` layer instead of this one.\n */\n // TODO: not used by many: https://git.lab.smartsheet.com/search?repository_ref=mainline&scope=blobs&search=layers.context&snippets=false\n context: 900,\n /**\n * For tooltips which should be above everything else.\n *\n * @deprecated This property is being removed in V6+, February 2025, in favor of values from the `layers` object in `smartsheet/design-tokens`.\n */\n tooltip: 900\n};\n\n/**\n * @deprecated This object is being removed in V6+, February 2025\n */\nexport const shadows = {\n /**\n * @deprecated This property is being removed in V6+, February 2025\n */\n modal: () => `\n 0 ${gridSize * 6}px ${gridSize * 16}px ${shadowModal}\n `,\n /**\n * @deprecated This property is being removed in V6+, February 2025\n */\n context: () => `\n 0 ${gridSize * 0.5}px ${gridSize * 3}px ${shadowMenu}\n `,\n /**\n * @deprecated This property is being removed in V6+, February 2025\n */\n notifications: () => `\n 0 ${gridSize * 12}px ${gridSize * 8}px rgba(128, 127, 127, 0.24)\n `\n};\n//# sourceMappingURL=layers.js.map","import { createContext } from \"@smartsheet/lodestar-utils\";\nimport React, { useContext, useMemo } from \"react\";\nimport { layers } from \"../../constants/layers\";\n\n// This is to support the weird case where our select menu doesn't\n// portal to the same container as the rest, causing z-index ordering not to work.\nconst __unstable_select_v1_menu = \"__unstable-select-v1-menu\";\n\n/**\n * The goal here is to allow our components to make a best-guess at their current layer and\n * try to render within it.\n *\n * This avoids people having to specify the modal layer every time they are rendering a\n * Flyout within a Modal.\n */\n\nconst LayerContext = createContext({\n layer: \"surface\"\n}, \"LayerContext\");\n/**\n * If this returns a layer, apply the same layer to your component, it should be\n * rendered within that layer.\n *\n * @returns the current LayerContext value, or null if there is no context available.\n */\nexport const useLayerContext = () => useContext(LayerContext);\nexport const LayerContextProvider = _ref => {\n let {\n children,\n defaultLayer\n } = _ref;\n // Look upwards to see if we're in a higher layer. If so, use that one.\n // Ex: A Flyout inside a Modal. The `defaultLayer` for a flyout is 490, but we should use 600\n // since the Flyout should sit on top of the modal layer.\n const {\n layer: inheritedLayer\n } = useLayerContext();\n const memoizedValue = useMemo(() => {\n // For now, if we're anywhere inside the menu, use that layer.\n if (inheritedLayer === __unstable_select_v1_menu || defaultLayer === __unstable_select_v1_menu) {\n return {\n layer: __unstable_select_v1_menu\n };\n } else {\n return {\n layer: layers[inheritedLayer] > layers[defaultLayer] ? inheritedLayer : defaultLayer\n };\n }\n }, [defaultLayer, inheritedLayer]);\n return /*#__PURE__*/React.createElement(LayerContext.Provider, {\n value: memoizedValue\n }, children);\n};\n\n/**\n *\n * @returns the z-index of the layer this hook is run within, or undefined if there's no layer.\n * undefined is nice because generally it is the same as not passing the property/prop.\n */\nexport const useLayerZIndex = layerOverride => {\n let {\n layer\n } = useContext(LayerContext);\n //TODO: remove layer check when we can remove the select v1\n if (layerOverride && layer !== \"__unstable-select-v1-menu\") {\n layer = layerOverride;\n }\n switch (layer) {\n case \"surface\":\n // This is the default case.\n // Don't apply 0 everywhere, please. That's confusing since it's not the CSS\n // default of 'auto'. 0 creates a new stacking context, which is not always what we want\n // to do.\n return undefined;\n case \"__unstable-select-v1-menu\":\n //TODO: remove when we can remove the select v1\n // For the select v1 menu, make sure anything in it will have a higher z-index.\n // This covers the case where there is a portal already in the DOM, then the\n // select menu renders, and then the select menu creates another portalled floating\n // element (like a Tooltip).\n return layers.context + 1;\n default:\n return layers[layer];\n }\n};\n//# sourceMappingURL=LayerContext.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import { useState, useEffect } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport invariant from \"tiny-invariant\";\nconst createContainer = portalProps => {\n const container = document.createElement(\"div\");\n container.setAttribute(\"class\", \"lodestar-portal\");\n //if there are other portalProps add them to the container\n if (portalProps && Object.keys(portalProps).length > 0) {\n Object.entries(portalProps).forEach(_ref => {\n let [key, value] = _ref;\n if (typeof value === \"function\") {\n const vanillaKey = key.replace(/^on/, \"\").toLowerCase();\n container.addEventListener(vanillaKey, value);\n } else if (typeof value === \"string\" || typeof value === \"number\") {\n container.setAttribute(key, value);\n }\n });\n }\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, \"cannot find document.body\");\n return document.body;\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector(\"body > .lodestar-portal-container\");\n if (!parentElement) {\n const parent = document.createElement(\"div\");\n parent.setAttribute(\"class\", \"lodestar-portal-container\");\n parent.setAttribute(\"style\", `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\nexport const Portal = _ref2 => {\n let {\n children,\n appendTo: customContainerElement,\n zIndex,\n ...rest\n } = _ref2;\n const [container, setContainer] = useState(null);\n // Choose a container.\n useEffect(() => {\n const newContainer = customContainerElement || createContainer(rest);\n setContainer(newContainer);\n\n // If we are creating our own portal container element, manage it.\n // Otherwise assume nothing about the provided container element.\n if (!customContainerElement) {\n getPortalParent().appendChild(newContainer);\n return () => {\n // Don't forget to clean up! But there might not be anything\n // to clean up if there was a custom container provided.\n getPortalParent().removeChild(newContainer);\n // clean up parent element if there are no more portals.\n const portals = !!document.querySelector(\"body > .lodestar-portal-container > .lodestar-portal\");\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n if (Object.keys(rest).length > 0) {\n //remove any event listeners that might have been added to the container\n //via the portalProps\n Object.entries(rest).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === \"function\") {\n newContainer.removeEventListener(key, value);\n }\n });\n }\n };\n }\n }, [customContainerElement]); //eslint-disable-line react-hooks/exhaustive-deps\n\n // Sync the z-index to the chosen container.\n useEffect(() => {\n if (container) {\n // If we have a custom element, only set the z-index if it's specified, we don't\n // even want to set a z-index of 0 to the custom element if it's not asked for.\n if (customContainerElement && zIndex !== undefined || !customContainerElement) {\n container.style.zIndex = `${zIndex || 0}`;\n }\n }\n }, [container, zIndex, customContainerElement]);\n return container ? /*#__PURE__*/ReactDOM.createPortal(children, container) : null;\n};\n//# sourceMappingURL=Portal.js.map","import styled from \"@emotion/styled\";\nfunction startsWith(str, prefix) {\n return str.startsWith(prefix);\n}\nexport const defaultArrowSize = 4;\nexport const FlyoutArrow = styled(\"div\")({\n width: 0,\n height: 0,\n borderStyle: \"solid\"\n}, _ref => {\n let {\n size = defaultArrowSize\n } = _ref;\n return {\n borderWidth: `${size}px`\n };\n},\n// Choose the right border color based on positioning.\n_ref2 => {\n let {\n backgroundColor,\n placement\n } = _ref2;\n return {\n borderRightColor: startsWith(placement, \"right\") && backgroundColor || \"transparent\",\n borderLeftColor: startsWith(placement, \"left\") && backgroundColor || \"transparent\",\n borderTopColor: startsWith(placement, \"top\") && backgroundColor || \"transparent\",\n borderBottomColor: startsWith(placement, \"bottom\") && backgroundColor || \"transparent\"\n };\n},\n// Offset the arrow a bit to account for its size.\n_ref3 => {\n let {\n placement,\n size = defaultArrowSize\n } = _ref3;\n return {\n bottom: startsWith(placement, \"top\") ? `-${size * 2}px` : \"initial\",\n top: startsWith(placement, \"bottom\") ? `-${size * 2}px` : \"initial\",\n right: startsWith(placement, \"left\") ? `-${size * 2}px` : \"initial\",\n left: startsWith(placement, \"right\") ? `-${size * 2}px` : \"initial\"\n };\n});\n//# sourceMappingURL=FlyoutArrow.js.map","import styled from \"@emotion/styled\";\nexport const FlyoutContainer = styled(\"div\")`\n background-color: transparent;\n isolation: isolate;\n`;\n//# sourceMappingURL=FlyoutContainer.js.map","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * The Flyout shows a floating content area on screen, positioning it next to\n * the given target element. It detects screen edges and will re-position itself\n * to another side of the target element if it gets too close to an edge.\n *\n * It exposes props that control its visibility and is leveraged by components\n * such as Tooltip and FlyoutButton.\n */\n\nimport { useForkRef } from \"@smartsheet/lodestar-utils\";\nimport classNames from \"classnames\";\nimport React, { useState, forwardRef, useEffect, useCallback, useRef } from \"react\";\nimport { usePopper } from \"react-popper\";\nimport { getThemeClasses } from \"../../theme/utils/getThemeClasses\";\nimport { useTheme } from \"../../theme/utils/useTheme\";\nimport { useStackOrder } from \"../../util/StackOrder\";\nimport { LayerContextProvider, useLayerZIndex } from \"../../util/layerContext/LayerContext\";\nimport { Portal as DefaultPortal } from \"../portal\";\nimport { FlyoutArrow as DefaultFlyoutArrow } from \"./styled/FlyoutArrow\";\nimport { FlyoutContainer as DefaultFlyoutContainer } from \"./styled/FlyoutContainer\";\n\n/**\n * This is the only piece that Popper needs to position itself.\n * To support virtual elements, we'll only require this interface for\n * the target element.\n */\n\nfunction thingIsRefObject(thing) {\n return Object.prototype.hasOwnProperty.call(thing, \"current\");\n}\nfunction thingIsLikeHTMLElementEnough(thing) {\n return \"getBoundingClientRect\" in thing;\n}\nfunction elementOrNull(elementRefOrNull) {\n if (!elementRefOrNull) {\n return null;\n } else if (thingIsRefObject(elementRefOrNull)) {\n return elementRefOrNull.current;\n } else if (thingIsLikeHTMLElementEnough(elementRefOrNull)) {\n // This is kind of a weird check, but we want to allow fake elements to be passed in here\n // that just satisfy popper's requirements on a bounding rect.\n // This is for test and to allow a flyout to be free e.g. follow the mouse or some other feature.\n // https://popper.js.org/docs/v2/virtual-elements/\n return elementRefOrNull;\n }\n return null;\n}\nexport const Flyout = /*#__PURE__*/forwardRef((_ref, providedRef) => {\n let {\n arrowColor = \"transparent\",\n children,\n clientId,\n components = {},\n hasArrow = false,\n isOpen,\n offset,\n onCloseRequested,\n placement = \"auto\",\n popperProps,\n portalProps,\n targetElement,\n role = \"dialog\",\n style,\n updateKey,\n closeOnEscape = true,\n closeOnScroll = false,\n ignoreStackOrder = false,\n ...rest\n } = _ref;\n const layerZIndex = useLayerZIndex(role === \"tooltip\" ? \"tooltip\" : undefined);\n\n // Using state vs RefObject since Popper needs to re-render once its\n // refs are available.\n const [containerElement, setContainerElement] = useState(null);\n useStackOrder({\n // Generally, isOpen is enough here, though we'll allow this to be overridden in case\n // someone wants to manually control the stack order more carefully. I'm looking at you,\n // SelectV2.\n isOpen: isOpen && !ignoreStackOrder,\n onCloseRequested,\n shouldCloseOnEscape: closeOnEscape\n });\n\n // Sync the content element back to the provided ref (if there is one).\n const setElementRef = useCallback(newContainerElement => {\n setContainerElement(newContainerElement);\n }, []);\n const containerElementRef = useForkRef(providedRef, setElementRef);\n\n // One more \"ref\" for the arrow element. Again, popper needs to re-render\n // if this element changes.\n const [arrowElement, setArrowElement] = useState(null);\n const target = elementOrNull(targetElement);\n const {\n modifiers,\n ...popperPropsWithoutModifiers\n } = popperProps || {};\n const {\n styles,\n attributes,\n state,\n update\n } = usePopper(target, containerElement, {\n //strategy: 'fixed', TODO: v5 - enable this by default.\n //Hesitant to enable this as of yet. It's not likely, but possible that users are leveraging the default absolute positioning.\n //I think the most prudent thing to do is to wait for a major version to change this. This fixes the\n //scrolling issue with the flyout. https://app.smartsheet.com/sheets/J26gVQgGrGQ64wq5q9gRRMr2QcCGV5J8CMVhrgV1?rowId=5886713693507460\n //Strangely the problem is only evident in the DatePicker and ToggleTip components. It's fixed in those components via the popperProps prop.\n //If we notice unintended scrolling in other components using Flyout, we should turn this on prior to v5.\n ...popperPropsWithoutModifiers,\n placement,\n modifiers: [{\n name: \"offset\",\n options: {\n offset: [offset?.skidding || 0, offset?.distance || 0]\n }\n }, {\n name: \"arrow\",\n options: {\n element: arrowElement\n }\n }, ...(modifiers || [])]\n });\n useEffect(() => {\n if (closeOnScroll && isOpen && state?.scrollParents.reference) {\n let closeRequested = false;\n const handleCloseOnScroll = () => {\n if (!closeRequested) {\n closeRequested = true;\n onCloseRequested();\n }\n };\n const scrollParents = state.scrollParents.reference;\n scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener(\"scroll\", handleCloseOnScroll, {\n passive: true\n });\n });\n return () => {\n scrollParents.forEach(scrollParent => {\n scrollParent.removeEventListener(\"scroll\", handleCloseOnScroll);\n });\n };\n }\n }, [closeOnScroll, onCloseRequested, state?.scrollParents, isOpen]);\n\n // Because the target and container elements might not be instantiated immediately,\n // we need to fire off an update post-render once they are.\n // This solves issues where the flyout and arrow aren't properly positioned the first render.\n // This *should* only happen once as `update` is initially null but is defined once after the initial render.\n useEffect(() => {\n if (update) {\n void update();\n }\n }, [update, updateKey]);\n const FlyoutArrow = components.FlyoutArrow || DefaultFlyoutArrow;\n if (!FlyoutArrow.displayName) {\n FlyoutArrow.displayName = DefaultFlyoutArrow.displayName;\n }\n const FlyoutContainer = components.FlyoutContainer || DefaultFlyoutContainer;\n if (!FlyoutContainer.displayName) {\n FlyoutContainer.displayName = DefaultFlyoutContainer.displayName;\n }\n const Portal = components && components.Portal || DefaultPortal;\n const getArrowProps = () => ({\n backgroundColor: arrowColor,\n placement: state?.placement || \"auto\",\n ref: setArrowElement,\n style: styles.arrow,\n // This attribute is only for test.\n [\"data-flyout-arrow\"]: \"true\",\n [\"data-client-id\"]: \"flyout-arrow\",\n ...attributes.arrow\n });\n const isChildrenFunction = typeof children === \"function\";\n\n // Popper requires 2 renders to show itself in the right spot:\n //\n // 1. initial render at 0,0 to get its width and height.\n // 2. a follow-up render to move the popup to the correct location, given the measurements\n // from #1.\n //\n // We set opacity to 0 to prevent the user noticing this initial render. It is hard to\n // reproduce and only happens in some environments. That said, it has been consistently\n // reproduced in those environments: storybook on some machines.\n const ref = useRef(true);\n const firstRender = ref.current;\n ref.current = false;\n const popperOpacity = firstRender ? 0 : 1;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const {\n className,\n ...otherHtmlAttributes\n } = rest;\n const combinedClassName = classNames(getThemeClasses(themeMode), className); //this enables custom classNames while still including required theme classNames\n\n return isOpen && /*#__PURE__*/React.createElement(Portal\n // Ensure we allow overriding this z-index manually.\n // We'd love to have Flyout use layers[\"flyout\"] by default, but that would be\n // a breaking change since everyone has already manually specified z-indexes\n // everywhere from 3 to 490. We'll have to do this in a major version bump.\n // See https://git.lab.smartsheet.com/design-systems-team/lodestar-core/-/issues/501\n , _extends({\n zIndex: layerZIndex\n }, portalProps), /*#__PURE__*/React.createElement(LayerContextProvider, {\n defaultLayer: \"flyout\"\n }, /*#__PURE__*/React.createElement(FlyoutContainer, _extends({\n style: {\n opacity: popperOpacity,\n ...style,\n ...styles.popper,\n // On the first render, we don't want to mess with the document's\n // scroll positioning at all. This can happen when focus is moved\n // into the Flyout on the first render before it has properly\n // positioned itself. Using position: fixed will allow the Flyout to\n // render at 0,0 of the current viewport, not the document's 0,0.\n // Careful! Don't actually add the position attribute if it's not\n // the first render. We don't want to mess up any styles by setting\n // this to a bad value. The styles from styles.popper provide a\n // \"position\" as well.\n ...(firstRender ? {\n position: \"fixed\"\n } : {})\n },\n ref: containerElementRef,\n \"data-client-id\": clientId || undefined,\n role: role || undefined,\n className: combinedClassName\n }, attributes.popper, otherHtmlAttributes), typeof children === \"function\" ? children({\n getArrowProps\n }) : children, !isChildrenFunction && hasArrow && /*#__PURE__*/React.createElement(FlyoutArrow, getArrowProps())))) || null;\n});\nFlyout.displayName = \"Flyout\";\n//# sourceMappingURL=Flyout.js.map","import styled from \"@emotion/styled\";\nimport { FlyoutArrow } from \"../../flyout\";\nexport const TooltipFlyoutArrowStyled = styled(FlyoutArrow)`\n // Turn off (rest) the default arrow styles from the Flyout so we can do some\n // fancier stuff w/ icons here.\n // We originally thought we might take this code and apply it all to the Flyout so all\n // Flyouts could have the same arrow styling, but that would require also managing the corners\n // of all Flyouts to get the right rounding. We'll have to pass that by UX before we do anything.\n width: 8px;\n height: 8px;\n background-color: transparent;\n border: none;\n`;\n//# sourceMappingURL=TooltipFlyoutArrowStyled.js.map","import styled from \"@emotion/styled\";\nconst shouldForwardProp = prop => {\n switch (prop) {\n // Add any props here that should not be forwarded to the underlying DOM element.\n case \"color\":\n return false;\n default:\n return true;\n }\n};\nexport const ArrowsStyled = styled(\"svg\", {\n shouldForwardProp\n})`\n position: absolute;\n color: ${_ref => {\n let {\n color\n } = _ref;\n return color;\n}};\n`;\n//# sourceMappingURL=ArrowsStyled.js.map","import React from \"react\";\nimport { useTheme } from \"../../../theme/utils/useTheme\";\nimport { ArrowsStyled } from \"../styled/ArrowsStyled\";\nexport const Arrows = _ref => {\n let {\n align,\n color,\n rotation\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const theme = themeMode.includes(\"ursa\") ? \"ursa-light\" : themeMode;\n const arrowKey = `${theme}-${align}`;\n return /*#__PURE__*/React.createElement(ArrowsStyled, {\n xmlns: \"http://www.w3.org/2000/svg\"\n // These are all locked to 8x8 px so the arrow's size is always the same, even for the\n // Lodestar arrows which are sometimes 4x8. This is incredibly important since popper\n // will reposition it whenever it changes size. If we're not careful, we can get into an\n // infinite loop of reposition=>resize=>reposition=>...\n ,\n viewBox: \"0 0 8 8\",\n width: \"8\",\n height: \"8\",\n color: color,\n style: {\n transform: `rotate(${rotation}deg)`\n }\n }, (() => {\n switch (arrowKey) {\n case \"ursa-light-left\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0H0V4C0 4.82405 0.940764 5.29443 1.6 4.8L8 0Z\",\n fill: \"currentColor\"\n });\n case \"ursa-light-center\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.16795 4.75192C3.56377 5.34566 4.43623 5.34566 4.83205 4.75192L8 0H0L3.16795 4.75192Z\",\n fill: \"currentColor\"\n });\n case \"ursa-light-right\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M-2.38419e-07 0H8V4C8 4.82405 7.05924 5.29443 6.4 4.8L-2.38419e-07 0Z\",\n fill: \"currentColor\"\n });\n case \"lodestar-light-left\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 0H0V6L4 0Z\",\n fill: \"currentColor\"\n });\n case \"lodestar-light-center\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 6L8 0H0L4 6Z\",\n fill: \"currentColor\"\n });\n case \"lodestar-light-right\":\n return /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 0h4v6L4 0Z\",\n fill: \"currentColor\"\n });\n }\n })());\n};\n//# sourceMappingURL=Arrows.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nimport { TooltipFlyoutArrowStyled } from \"../styled/TooltipFlyoutArrowStyled\";\nimport { Arrows } from \"./Arrows\";\nexport const TooltipFlyoutArrow = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n arrowAtEdge,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(TooltipFlyoutArrowStyled, _extends({}, props, {\n ref: ref\n }), /*#__PURE__*/React.createElement(Arrows, {\n align: getAlign(props.placement, arrowAtEdge),\n color: props.backgroundColor,\n rotation: getRotation(props.placement)\n }));\n});\nTooltipFlyoutArrow.displayName = \"TooltipFlyoutArrow\";\n\n// This is a mapping of {actual arrow placement}-{arrowAtEdge} => the kind of arrow alignment we\n// should choose. Note that all the combinations are not listed here, only the ones that are\n// actually possible. For example, you can't have a \"top-top\" or \"top-bottom\" arrow placement.\nconst arrowAlignLookup = {\n \"top-left\": \"left\",\n \"top-right\": \"right\",\n \"left-top\": \"right\",\n \"left-bottom\": \"left\",\n \"right-top\": \"left\",\n \"right-bottom\": \"right\",\n \"bottom-left\": \"right\",\n \"bottom-right\": \"left\"\n};\nfunction getAlign(placement, arrowAtEdge) {\n const dir = placement.split(\"-\")[0];\n const arrowKey = `${dir}-${arrowAtEdge || \"false\"}`;\n return arrowAlignLookup[arrowKey] ?? \"center\";\n}\nfunction getRotation(placement) {\n switch (placement) {\n case \"top\":\n case \"top-start\":\n case \"top-end\":\n return 0;\n case \"right\":\n case \"right-start\":\n case \"right-end\":\n return 90;\n case \"bottom\":\n case \"bottom-start\":\n case \"bottom-end\":\n return 180;\n case \"left\":\n case \"left-start\":\n case \"left-end\":\n default:\n return 270;\n }\n}\n//# sourceMappingURL=TooltipFlyoutArrow.js.map","import styled from \"@emotion/styled\";\nimport { tooltipTheme } from \"../tooltipTheme\";\nexport const TooltipContainerStyled = styled(\"div\")(_ref => {\n let {\n themeMode\n } = _ref;\n return `\n background-color: var(--sds--tooltip--background-color, ${tooltipTheme.background(themeMode)});\n border-radius: var(--sds--tooltip--border-radius, ${tooltipTheme.borderRadius(themeMode)});\n color: var(--sds--tooltip--text-color, ${tooltipTheme.textColor.body(themeMode)});\n max-width: 256px;\n // Allow breaking inside words so the max-width will work even when a single word is > 256px wide.\n overflow-wrap: break-word;\n\n font-size: ${tooltipTheme.fontSize.basic(themeMode)};\n line-height: ${tooltipTheme.lineHeight.body(themeMode)};\n font-weight: ${tooltipTheme.fontWeight.body(themeMode)};\n `;\n}, _ref2 => {\n let {\n squareCorner\n } = _ref2;\n return squareCorner && {\n [`${squareCorner}Radius`]: 0\n } || \"\";\n});\n//# sourceMappingURL=TooltipContainerStyled.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nimport { useTheme } from \"../../../theme/utils/useTheme\";\nimport { TooltipContainerStyled } from \"../styled/TooltipContainerStyled\";\n/**\n * This component is mostly for presentation, and is exposed to our consumers in case they want to\n * use these styles in their own components. Generally, that has taken the form of a custom Flyout\n * so it can have interactive elements inside of it.\n */\nexport const TooltipContainer = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n children,\n squareCorner = undefined,\n ...rest\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n return /*#__PURE__*/React.createElement(TooltipContainerStyled, _extends({}, rest, {\n squareCorner: squareCorner,\n themeMode: themeMode,\n ref: ref\n }), children);\n});\nTooltipContainer.displayName = \"TooltipContainer\";\n//# sourceMappingURL=TooltipContainer.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { ClassNames } from \"@emotion/core\";\nimport React, { forwardRef } from \"react\";\nimport { useTheme } from \"../../../theme/utils/useTheme\";\nimport { TooltipContainer } from \"../components/TooltipContainer\";\nimport { tooltipTheme } from \"../tooltipTheme\";\nconst slideTransitionStyles = {\n top: {\n transform: \"translateY(4px)\"\n },\n bottom: {\n transform: \"translateY(-4px)\"\n },\n left: {\n transform: \"translateX(4px)\"\n },\n right: {\n transform: \"translateX(-4px)\"\n }\n};\nconst extraPaddingStyles = {\n top: \"Bottom\",\n bottom: \"Top\",\n left: \"Right\",\n right: \"Left\"\n};\n/**\n * This component's job is to apply the correct animations and border radius to the Tooltip.\n */\nexport const TooltipFlyoutContainer = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n children,\n enterDirection,\n showTransition,\n transitionStatus,\n offset,\n ...props\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const slideTransition = `transform ${tooltipTheme.motion.slide(themeMode)}`;\n const opacityTransition = `opacity ${tooltipTheme.motion.opacity(themeMode)}`;\n const wrapperSize = () => {\n if (offset) {\n if (enterDirection.includes(\"top\") || enterDirection.includes(\"bottom\")) {\n return offset[1];\n }\n return offset[0];\n }\n return \"8\";\n };\n return /*#__PURE__*/React.createElement(ClassNames, null, _ref2 => {\n let {\n css\n } = _ref2;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: css({\n ...(enterDirection !== \"auto\" ? {\n [`padding${extraPaddingStyles[enterDirection]}`]: `${wrapperSize()}px`,\n // do not remove this margin, doing so will cause an infinite loop of popper updates\n // why you ask? the jury is still out, but popper's looking real guilty like.\n [`margin${extraPaddingStyles[enterDirection]}`]: `-${wrapperSize()}px`\n } : {})\n })\n }, /*#__PURE__*/React.createElement(TooltipContainer, _extends({}, props, {\n ref: ref,\n className: css({\n opacity: transitionStatus === \"entered\" ? 1 : 0,\n transform: transitionStatus === \"entering\" && enterDirection !== \"auto\" ? slideTransitionStyles[enterDirection].transform : \"translateY(0) translateX(0)\",\n // Always show opacity, slide transition nees to happen AFTER the first popper update.\n transition: `${opacityTransition}, ${showTransition ? slideTransition : \"\"}`\n })\n }), children));\n });\n});\nTooltipFlyoutContainer.displayName = \"TooltipFlyoutContainer\";\n//# sourceMappingURL=TooltipFlyoutContainer.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { usePrevious } from \"@react-hookz/web\";\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Transition } from \"react-transition-group\";\nimport { useTheme } from \"../../theme/utils/useTheme\";\nimport { Flyout } from \"../flyout\";\nimport { defaultArrowSize } from \"../flyout/styled/FlyoutArrow\";\nimport { TooltipFlyoutArrow } from \"./components/TooltipFlyoutArrow\";\nimport { TooltipFlyoutContainer } from \"./components/TooltipFlyoutContainer\";\nimport { ANIMATION_DURATION, tooltipFlyoutDefaults } from \"./tooltipConstants\";\nimport { tooltipTheme } from \"./tooltipTheme\";\n/**\n * For each placement, we need to figure out if we should square off a corner of the flyout\n * to mesh well with the arrow when it's at the edge.\n * @param placement\n */\nfunction placementToSquaredCorner(placement) {\n switch (placement) {\n case \"auto\":\n case \"auto-end\":\n case \"auto-start\":\n return undefined;\n case \"top-start\":\n case \"left-start\":\n return \"borderBottomRight\";\n case \"top-end\":\n case \"right-start\":\n return \"borderBottomLeft\";\n case \"right-end\":\n case \"bottom-end\":\n return \"borderTopLeft\";\n case \"bottom-start\":\n case \"left-end\":\n return \"borderTopRight\";\n default:\n return undefined;\n }\n}\nfunction getArrowEdge(placement, offset) {\n if (offset === 0) {\n return false;\n }\n switch (placement) {\n case \"auto\":\n case \"auto-end\":\n case \"auto-start\":\n return false;\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return offset > 0 ? \"left\" : \"right\";\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return offset > 0 ? \"top\" : \"bottom\";\n default:\n return false;\n }\n}\n\n/**\n * Basic tooltip container.\n * Adds a standard backdrop to the Flyout and should be combined with an\n * inner wrapper like TooltipBody to provide the correct spacing.\n */\nexport const Tooltip = props => {\n const {\n key\n } = useTheme();\n const themeMode = key;\n const arrowAtEdge = useRef(false);\n\n // If auto, the actual placement can be different with different target dimensions and/or scroll positions.\n const actualPlacement = useRef(props.placement || \"auto\");\n // Initially do not transition until this is true.\n const [showTransition, setShowTransition] = useState(false);\n const showTransitionRafRef = useRef();\n\n // Clean this up so we aren't setting state on unmounted components.\n useEffect(() => () => {\n if (showTransitionRafRef.current) {\n cancelAnimationFrame(showTransitionRafRef.current);\n }\n }, []);\n\n // Adds a write-phase modifer to check if the arrow is going to be rendered at the edge of the\n // Flyout's content. If so, we want to render a different arrow shape.\n const arrowEdgeModifier = useMemo(() => ({\n name: \"arrowAtEdge\",\n enabled: true,\n phase: \"write\",\n fn(_ref) {\n let {\n state\n } = _ref;\n if (state.elements.arrow && state.modifiersData.arrow) {\n actualPlacement.current = state.placement;\n if (state.modifiersData.arrow.centerOffset !== undefined && Math.abs(state.modifiersData.arrow.centerOffset) > 0) {\n arrowAtEdge.current = getArrowEdge(state.placement, state.modifiersData.arrow.centerOffset);\n } else {\n arrowAtEdge.current = false;\n }\n }\n }\n }), []);\n const enterDirection = actualPlacement.current.split(\"-\")[0];\n const {\n isOpen\n } = props;\n const previousIsOpen = usePrevious(isOpen);\n const showTooltipArrow = props.hasArrow || props.hasArrow === undefined && tooltipFlyoutDefaults.hasArrow;\n return /*#__PURE__*/React.createElement(Transition\n // The tooltip should animate on mount so this is always true.\n , {\n in: isOpen,\n timeout: {\n enter: 0,\n exit: ANIMATION_DURATION\n },\n appear: true\n }, transitionStatus => {\n return /*#__PURE__*/React.createElement(Flyout, _extends({}, tooltipFlyoutDefaults, {\n role: \"tooltip\"\n }, props, {\n // We want to remove this from the stack order so it doesn't interfere with\n // other floating elements participating in a StackOrderContext. When a\n // Tooltip opens on top of another Floating element, like a Flyout, it would\n // be considered the top-most element. Since you cannot close the Tooltip\n // with Escape (currently), Escape would be swallowed up by the Tooltip and\n // nothing would happen. If we want to allow Escape to close the Tooltip, we\n // can remove this line, but we MUST then teach the Tooltip how to close\n // itself until it's requested to open again.\n ignoreStackOrder: true,\n popperProps: {\n ...props.popperProps,\n modifiers: [arrowEdgeModifier, ...(props.popperProps?.modifiers || [])],\n onFirstUpdate: args => {\n if (typeof props.popperProps?.onFirstUpdate === \"function\") {\n props.popperProps.onFirstUpdate(args);\n }\n showTransitionRafRef.current = requestAnimationFrame(() => {\n setShowTransition(true);\n });\n }\n }\n // Once isOpen is set to false, we want to keep it rendered until the exit animation completes.\n ,\n isOpen: isOpen || !!previousIsOpen && !isOpen && transitionStatus !== \"exited\"\n }), _ref2 => {\n let {\n getArrowProps\n } = _ref2;\n return /*#__PURE__*/React.createElement(TooltipFlyoutContainer, {\n enterDirection: enterDirection,\n transitionStatus: transitionStatus,\n showTransition: showTransition,\n offset: props.popperProps?.modifiers?.find(m => m.name === \"offset\")?.options?.offset,\n squareCorner: arrowAtEdge && placementToSquaredCorner(actualPlacement.current) || undefined\n }, props.children, showTooltipArrow && /*#__PURE__*/React.createElement(TooltipFlyoutArrow, _extends({}, getArrowProps(), {\n backgroundColor: props.arrowColor || `var(--sds--tooltip--background-color, ${tooltipTheme.background(themeMode)})`,\n arrowAtEdge: arrowAtEdge.current,\n size: defaultArrowSize,\n placement: actualPlacement.current\n })));\n });\n });\n};\n//# sourceMappingURL=Tooltip.js.map","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","const defaultLogger = console;\n\nexport { defaultLogger };\n//# sourceMappingURL=logger.mjs.map\n","import { isValidTimeout, isServer } from './utils.mjs';\n\nclass Removable {\n destroy() {\n this.clearGcTimeout();\n }\n\n scheduleGc() {\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.cacheTime);\n }\n }\n\n updateCacheTime(newCacheTime) {\n // Default to 5 minutes (Infinity for server-side) if no cache time is set\n this.cacheTime = Math.max(this.cacheTime || 0, newCacheTime != null ? newCacheTime : isServer ? Infinity : 5 * 60 * 1000);\n }\n\n clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n }\n }\n\n}\n\nexport { Removable };\n//# sourceMappingURL=removable.mjs.map\n","import { replaceData, noop, timeUntilStale, getAbortController } from './utils.mjs';\nimport { defaultLogger } from './logger.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { createRetryer, isCancelledError, canFetch } from './retryer.mjs';\nimport { Removable } from './removable.mjs';\n\n// CLASS\nclass Query extends Removable {\n constructor(config) {\n super();\n this.abortSignalConsumed = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.logger = config.logger || defaultLogger;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || getDefaultState(this.options);\n this.state = this.initialState;\n this.scheduleGc();\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this);\n }\n }\n\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options); // Set data and mark it as cached\n\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt,\n manual: options == null ? void 0 : options.manual\n });\n return data;\n }\n\n setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state,\n setStateOptions\n });\n }\n\n cancel(options) {\n var _this$retryer;\n\n const promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n\n destroy() {\n super.destroy();\n this.cancel({\n silent: true\n });\n }\n\n reset() {\n this.destroy();\n this.setState(this.initialState);\n }\n\n isActive() {\n return this.observers.some(observer => observer.options.enabled !== false);\n }\n\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(observer => observer.getCurrentResult().isStale);\n }\n\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n\n onFocus() {\n var _this$retryer2;\n\n const observer = this.observers.find(x => x.shouldFetchOnWindowFocus());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n }\n\n onOnline() {\n var _this$retryer3;\n\n const observer = this.observers.find(x => x.shouldFetchOnReconnect());\n\n if (observer) {\n observer.refetch({\n cancelRefetch: false\n });\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter(x => x !== observer);\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n this.scheduleGc();\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer\n });\n }\n }\n\n getObserversCount() {\n return this.observers.length;\n }\n\n invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n }\n\n fetch(options, fetchOptions) {\n var _this$options$behavio, _context$fetchOptions;\n\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions != null && fetchOptions.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n const observer = this.observers.find(x => x.options.queryFn);\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\"As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']\");\n }\n }\n\n const abortController = getAbortController(); // Create query function context\n\n const queryFnContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta\n }; // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n });\n };\n\n addSignalProperty(queryFnContext); // Create fetch function\n\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\"Missing queryFn for queryKey '\" + this.options.queryHash + \"'\");\n }\n\n this.abortSignalConsumed = false;\n return this.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n (_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch(context); // Store state in case the current fetch needs to be reverted\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (this.state.fetchStatus === 'idle' || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n }\n\n const onError = error => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n var _this$cache$config$on, _this$cache$config, _this$cache$config$on2, _this$cache$config2;\n\n // Notify cache callback\n (_this$cache$config$on = (_this$cache$config = this.cache.config).onError) == null ? void 0 : _this$cache$config$on.call(_this$cache$config, error, this);\n (_this$cache$config$on2 = (_this$cache$config2 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on2.call(_this$cache$config2, this.state.data, error, this);\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n }; // Try to fetch the data\n\n\n this.retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : abortController.abort.bind(abortController),\n onSuccess: data => {\n var _this$cache$config$on3, _this$cache$config3, _this$cache$config$on4, _this$cache$config4;\n\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\"Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: \" + this.queryHash);\n }\n\n onError(new Error(this.queryHash + \" data is undefined\"));\n return;\n }\n\n this.setData(data); // Notify cache callback\n\n (_this$cache$config$on3 = (_this$cache$config3 = this.cache.config).onSuccess) == null ? void 0 : _this$cache$config$on3.call(_this$cache$config3, data, this);\n (_this$cache$config$on4 = (_this$cache$config4 = this.cache.config).onSettled) == null ? void 0 : _this$cache$config$on4.call(_this$cache$config4, data, this.state.error, this);\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc();\n }\n\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.promise = this.retryer.promise;\n return this.promise;\n }\n\n dispatch(action) {\n const reducer = state => {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return { ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n fetchStatus: 'paused'\n };\n\n case 'continue':\n return { ...state,\n fetchStatus: 'fetching'\n };\n\n case 'fetch':\n return { ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n fetchStatus: canFetch(this.options.networkMode) ? 'fetching' : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n })\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null\n })\n };\n\n case 'error':\n const error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState,\n fetchStatus: 'idle'\n };\n }\n\n return { ...state,\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error'\n };\n\n case 'invalidate':\n return { ...state,\n isInvalidated: true\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onQueryUpdate(action);\n });\n this.cache.notify({\n query: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\n\nfunction getDefaultState(options) {\n const data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n const hasData = typeof data !== 'undefined';\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle'\n };\n}\n\nexport { Query };\n//# sourceMappingURL=query.mjs.map\n","import { hashQueryKeyByOptions, parseFilterArgs, matchQuery } from './utils.mjs';\nimport { Query } from './query.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\nclass QueryCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.queries = [];\n this.queriesMap = {};\n }\n\n build(client, options, state) {\n var _options$queryHash;\n\n const queryKey = options.queryKey;\n const queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n\n return query;\n }\n\n add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'added',\n query\n });\n }\n }\n\n remove(query) {\n const queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(x => x !== query);\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'removed',\n query\n });\n }\n }\n\n clear() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n this.remove(query);\n });\n });\n }\n\n get(queryHash) {\n return this.queriesMap[queryHash];\n }\n\n getAll() {\n return this.queries;\n }\n\n find(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(query => matchQuery(filters, query));\n }\n\n findAll(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n return Object.keys(filters).length > 0 ? this.queries.filter(query => matchQuery(filters, query)) : this.queries;\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n onFocus() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onFocus();\n });\n });\n }\n\n onOnline() {\n notifyManager.batch(() => {\n this.queries.forEach(query => {\n query.onOnline();\n });\n });\n }\n\n}\n\nexport { QueryCache };\n//# sourceMappingURL=queryCache.mjs.map\n","import { defaultLogger } from './logger.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { Removable } from './removable.mjs';\nimport { createRetryer, canFetch } from './retryer.mjs';\n\n// CLASS\nclass Mutation extends Removable {\n constructor(config) {\n super();\n this.defaultOptions = config.defaultOptions;\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.logger = config.logger || defaultLogger;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n\n setOptions(options) {\n this.options = { ...this.defaultOptions,\n ...options\n };\n this.updateCacheTime(this.options.cacheTime);\n }\n\n get meta() {\n return this.options.meta;\n }\n\n setState(state) {\n this.dispatch({\n type: 'setState',\n state\n });\n }\n\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer); // Stop the mutation from being garbage collected\n\n this.clearGcTimeout();\n this.mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer\n });\n }\n }\n\n removeObserver(observer) {\n this.observers = this.observers.filter(x => x !== observer);\n this.scheduleGc();\n this.mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer\n });\n }\n\n optionalRemove() {\n if (!this.observers.length) {\n if (this.state.status === 'loading') {\n this.scheduleGc();\n } else {\n this.mutationCache.remove(this);\n }\n }\n }\n\n continue() {\n var _this$retryer$continu, _this$retryer;\n\n return (_this$retryer$continu = (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.continue()) != null ? _this$retryer$continu : this.execute();\n }\n\n async execute() {\n const executeMutation = () => {\n var _this$options$retry;\n\n this.retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return this.options.mutationFn(this.state.variables);\n },\n onFail: (failureCount, error) => {\n this.dispatch({\n type: 'failed',\n failureCount,\n error\n });\n },\n onPause: () => {\n this.dispatch({\n type: 'pause'\n });\n },\n onContinue: () => {\n this.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.retryer.promise;\n };\n\n const restored = this.state.status === 'loading';\n\n try {\n var _this$mutationCache$c3, _this$mutationCache$c4, _this$options$onSucce, _this$options2, _this$mutationCache$c5, _this$mutationCache$c6, _this$options$onSettl, _this$options3;\n\n if (!restored) {\n var _this$mutationCache$c, _this$mutationCache$c2, _this$options$onMutat, _this$options;\n\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n }); // Notify cache callback\n\n await ((_this$mutationCache$c = (_this$mutationCache$c2 = this.mutationCache.config).onMutate) == null ? void 0 : _this$mutationCache$c.call(_this$mutationCache$c2, this.state.variables, this));\n const context = await ((_this$options$onMutat = (_this$options = this.options).onMutate) == null ? void 0 : _this$options$onMutat.call(_this$options, this.state.variables));\n\n if (context !== this.state.context) {\n this.dispatch({\n type: 'loading',\n context,\n variables: this.state.variables\n });\n }\n }\n\n const data = await executeMutation(); // Notify cache callback\n\n await ((_this$mutationCache$c3 = (_this$mutationCache$c4 = this.mutationCache.config).onSuccess) == null ? void 0 : _this$mutationCache$c3.call(_this$mutationCache$c4, data, this.state.variables, this.state.context, this));\n await ((_this$options$onSucce = (_this$options2 = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options2, data, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c5 = (_this$mutationCache$c6 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c5.call(_this$mutationCache$c6, data, null, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl = (_this$options3 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options3, data, null, this.state.variables, this.state.context));\n this.dispatch({\n type: 'success',\n data\n });\n return data;\n } catch (error) {\n try {\n var _this$mutationCache$c7, _this$mutationCache$c8, _this$options$onError, _this$options4, _this$mutationCache$c9, _this$mutationCache$c10, _this$options$onSettl2, _this$options5;\n\n // Notify cache callback\n await ((_this$mutationCache$c7 = (_this$mutationCache$c8 = this.mutationCache.config).onError) == null ? void 0 : _this$mutationCache$c7.call(_this$mutationCache$c8, error, this.state.variables, this.state.context, this));\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error);\n }\n\n await ((_this$options$onError = (_this$options4 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options4, error, this.state.variables, this.state.context)); // Notify cache callback\n\n await ((_this$mutationCache$c9 = (_this$mutationCache$c10 = this.mutationCache.config).onSettled) == null ? void 0 : _this$mutationCache$c9.call(_this$mutationCache$c10, undefined, error, this.state.variables, this.state.context, this));\n await ((_this$options$onSettl2 = (_this$options5 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options5, undefined, error, this.state.variables, this.state.context));\n throw error;\n } finally {\n this.dispatch({\n type: 'error',\n error: error\n });\n }\n }\n }\n\n dispatch(action) {\n const reducer = state => {\n switch (action.type) {\n case 'failed':\n return { ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n\n case 'pause':\n return { ...state,\n isPaused: true\n };\n\n case 'continue':\n return { ...state,\n isPaused: false\n };\n\n case 'loading':\n return { ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: 'loading',\n variables: action.variables\n };\n\n case 'success':\n return { ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false\n };\n\n case 'error':\n return { ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error'\n };\n\n case 'setState':\n return { ...state,\n ...action.state\n };\n }\n };\n\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach(observer => {\n observer.onMutationUpdate(action);\n });\n this.mutationCache.notify({\n mutation: this,\n type: 'updated',\n action\n });\n });\n }\n\n}\nfunction getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nexport { Mutation, getDefaultState };\n//# sourceMappingURL=mutation.mjs.map\n","import { notifyManager } from './notifyManager.mjs';\nimport { Mutation } from './mutation.mjs';\nimport { matchMutation, noop } from './utils.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\n// CLASS\nclass MutationCache extends Subscribable {\n constructor(config) {\n super();\n this.config = config || {};\n this.mutations = [];\n this.mutationId = 0;\n }\n\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined\n });\n this.add(mutation);\n return mutation;\n }\n\n add(mutation) {\n this.mutations.push(mutation);\n this.notify({\n type: 'added',\n mutation\n });\n }\n\n remove(mutation) {\n this.mutations = this.mutations.filter(x => x !== mutation);\n this.notify({\n type: 'removed',\n mutation\n });\n }\n\n clear() {\n notifyManager.batch(() => {\n this.mutations.forEach(mutation => {\n this.remove(mutation);\n });\n });\n }\n\n getAll() {\n return this.mutations;\n }\n\n find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(mutation => matchMutation(filters, mutation));\n }\n\n findAll(filters) {\n return this.mutations.filter(mutation => matchMutation(filters, mutation));\n }\n\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(event);\n });\n });\n }\n\n resumePausedMutations() {\n var _this$resuming;\n\n this.resuming = ((_this$resuming = this.resuming) != null ? _this$resuming : Promise.resolve()).then(() => {\n const pausedMutations = this.mutations.filter(x => x.state.isPaused);\n return notifyManager.batch(() => pausedMutations.reduce((promise, mutation) => promise.then(() => mutation.continue().catch(noop)), Promise.resolve()));\n }).then(() => {\n this.resuming = undefined;\n });\n return this.resuming;\n }\n\n}\n\nexport { MutationCache };\n//# sourceMappingURL=mutationCache.mjs.map\n","function infiniteQueryBehavior() {\n return {\n onFetch: context => {\n context.fetchFn = () => {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n const refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n const fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n const pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n const isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n const isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n const oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n const oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n let newPageParams = oldPageParams;\n let cancelled = false;\n\n const addSignalProperty = object => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n var _context$signal;\n\n if ((_context$signal = context.signal) != null && _context$signal.aborted) {\n cancelled = true;\n } else {\n var _context$signal2;\n\n (_context$signal2 = context.signal) == null ? void 0 : _context$signal2.addEventListener('abort', () => {\n cancelled = true;\n });\n }\n\n return context.signal;\n }\n });\n }; // Get query function\n\n\n const queryFn = context.options.queryFn || (() => Promise.reject(\"Missing queryFn for queryKey '\" + context.options.queryHash + \"'\"));\n\n const buildNewPages = (pages, param, page, previous) => {\n newPageParams = previous ? [param, ...newPageParams] : [...newPageParams, param];\n return previous ? [page, ...pages] : [...pages, page];\n }; // Create function to fetch a page\n\n\n const fetchPage = (pages, manual, param, previous) => {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const queryFnResult = queryFn(queryFnContext);\n const promise = Promise.resolve(queryFnResult).then(page => buildNewPages(pages, param, page, previous));\n return promise;\n };\n\n let promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined';\n const param = manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param, true);\n } // Refetch pages\n else {\n newPageParams = [];\n const manual = typeof context.options.getNextPageParam === 'undefined';\n const shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then(pages => {\n const shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n const param = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n return fetchPage(pages, manual, param);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n }\n }\n\n const finalPromise = promise.then(pages => ({\n pages,\n pageParams: newPageParams\n }));\n return finalPromise;\n };\n }\n };\n}\nfunction getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nfunction getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n\n return;\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nfunction hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n\n return;\n}\n\nexport { getNextPageParam, getPreviousPageParam, hasNextPage, hasPreviousPage, infiniteQueryBehavior };\n//# sourceMappingURL=infiniteQueryBehavior.mjs.map\n","import { parseFilterArgs, parseQueryArgs, functionalUpdate, noop, hashQueryKey, partialMatchKey, hashQueryKeyByOptions } from './utils.mjs';\nimport { QueryCache } from './queryCache.mjs';\nimport { MutationCache } from './mutationCache.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior.mjs';\nimport { defaultLogger } from './logger.mjs';\n\n// CLASS\nclass QueryClient {\n constructor(config = {}) {\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.logger = config.logger || defaultLogger;\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n this.mountCount = 0;\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\"Passing a custom logger has been deprecated and will be removed in the next major version.\");\n }\n }\n\n mount() {\n this.mountCount++;\n if (this.mountCount !== 1) return;\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.queryCache.onOnline();\n }\n });\n }\n\n unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n this.mountCount--;\n if (this.mountCount !== 0) return;\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n this.unsubscribeFocus = undefined;\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n this.unsubscribeOnline = undefined;\n }\n\n isFetching(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n filters.fetchStatus = 'fetching';\n return this.queryCache.findAll(filters).length;\n }\n\n isMutating(filters) {\n return this.mutationCache.findAll({ ...filters,\n fetching: true\n }).length;\n }\n\n getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n }\n\n ensureQueryData(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const cachedData = this.getQueryData(parsedOptions.queryKey);\n return cachedData ? Promise.resolve(cachedData) : this.fetchQuery(parsedOptions);\n }\n\n getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey,\n state\n }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n\n setQueryData(queryKey, updater, options) {\n const query = this.queryCache.find(queryKey);\n const prevData = query == null ? void 0 : query.state.data;\n const data = functionalUpdate(updater, prevData);\n\n if (typeof data === 'undefined') {\n return undefined;\n }\n\n const parsedOptions = parseQueryArgs(queryKey);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(data, { ...options,\n manual: true\n });\n }\n\n setQueriesData(queryKeyOrFilters, updater, options) {\n return notifyManager.batch(() => this.getQueryCache().findAll(queryKeyOrFilters).map(({\n queryKey\n }) => [queryKey, this.setQueryData(queryKey, updater, options)]));\n }\n\n getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n }\n\n removeQueries(arg1, arg2) {\n const [filters] = parseFilterArgs(arg1, arg2);\n const queryCache = this.queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n queryCache.remove(query);\n });\n });\n }\n\n resetQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const queryCache = this.queryCache;\n const refetchFilters = {\n type: 'active',\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach(query => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n cancelQueries(arg1, arg2, arg3) {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3);\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).map(query => query.cancel(cancelOptions)));\n return Promise.all(promises).then(noop).catch(noop);\n }\n\n invalidateQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n return notifyManager.batch(() => {\n var _ref, _filters$refetchType;\n\n this.queryCache.findAll(filters).forEach(query => {\n query.invalidate();\n });\n\n if (filters.refetchType === 'none') {\n return Promise.resolve();\n }\n\n const refetchFilters = { ...filters,\n type: (_ref = (_filters$refetchType = filters.refetchType) != null ? _filters$refetchType : filters.type) != null ? _ref : 'active'\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n\n refetchQueries(arg1, arg2, arg3) {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3);\n const promises = notifyManager.batch(() => this.queryCache.findAll(filters).filter(query => !query.isDisabled()).map(query => {\n var _options$cancelRefetc;\n\n return query.fetch(undefined, { ...options,\n cancelRefetch: (_options$cancelRefetc = options == null ? void 0 : options.cancelRefetch) != null ? _options$cancelRefetc : true,\n meta: {\n refetchPage: filters.refetchPage\n }\n });\n }));\n let promise = Promise.all(promises).then(noop);\n\n if (!(options != null && options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n fetchQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n const defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n const query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n\n prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n fetchInfiniteQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n }\n\n prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n }\n\n resumePausedMutations() {\n return this.mutationCache.resumePausedMutations();\n }\n\n getQueryCache() {\n return this.queryCache;\n }\n\n getMutationCache() {\n return this.mutationCache;\n }\n\n getLogger() {\n return this.logger;\n }\n\n getDefaultOptions() {\n return this.defaultOptions;\n }\n\n setDefaultOptions(options) {\n this.defaultOptions = options;\n }\n\n setQueryDefaults(queryKey, options) {\n const result = this.queryDefaults.find(x => hashQueryKey(queryKey) === hashQueryKey(x.queryKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey,\n defaultOptions: options\n });\n }\n }\n\n getQueryDefaults(queryKey) {\n if (!queryKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.queryDefaults.find(x => partialMatchKey(queryKey, x.queryKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter(x => partialMatchKey(queryKey, x.queryKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several query defaults match with key '\" + JSON.stringify(queryKey) + \"'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n setMutationDefaults(mutationKey, options) {\n const result = this.mutationDefaults.find(x => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey));\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey,\n defaultOptions: options\n });\n }\n }\n\n getMutationDefaults(mutationKey) {\n if (!mutationKey) {\n return undefined;\n } // Get the first matching defaults\n\n\n const firstMatchingDefaults = this.mutationDefaults.find(x => partialMatchKey(mutationKey, x.mutationKey)); // Additional checks and error in dev mode\n\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter(x => partialMatchKey(mutationKey, x.mutationKey)); // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n\n if (matchingDefaults.length > 1) {\n this.logger.error(\"[QueryClient] Several mutation defaults match with key '\" + JSON.stringify(mutationKey) + \"'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.\");\n }\n }\n\n return firstMatchingDefaults == null ? void 0 : firstMatchingDefaults.defaultOptions;\n }\n\n defaultQueryOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n const defaultedOptions = { ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options == null ? void 0 : options.queryKey),\n ...options,\n _defaulted: true\n };\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n } // dependent default values\n\n\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== 'always';\n }\n\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense;\n }\n\n return defaultedOptions;\n }\n\n defaultMutationOptions(options) {\n if (options != null && options._defaulted) {\n return options;\n }\n\n return { ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options == null ? void 0 : options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n\n clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n }\n\n}\n\nexport { QueryClient };\n//# sourceMappingURL=queryClient.mjs.map\n","import { __assign } from \"tslib\";\nimport styled from \"@emotion/styled\";\nexport var IconWrapper = styled.span(function (_a) {\n var color = _a.color, height = _a.height, width = _a.width, _b = _a.wrapperCss, wrapperCss = _b === void 0 ? {} : _b;\n return (__assign(__assign({ display: \"inline-block\", flexShrink: 0, lineHeight: 1 }, wrapperCss), { color: color, height: \"var(--lodestar-icon-height, var(--lodestar-icon-size, \" + height + \"))\", width: \"var(--lodestar-icon-width, var(--lodestar-icon-size, \" + width + \"))\" }));\n}, function (_a) {\n var height = _a.height, width = _a.width, _b = _a.svgCss, svgCss = _b === void 0 ? {} : _b;\n return ({\n \"> svg\": __assign(__assign({ maxHeight: \"100%\", maxWidth: \"100%\", overflow: \"hidden\", pointerEvents: \"none\", verticalAlign: \"bottom\" }, svgCss), { height: \"var(--lodestar-icon-height, var(--lodestar-icon-size, \" + height + \"))\", width: \"var(--lodestar-icon-width, var(--lodestar-icon-size, \" + width + \"))\" })\n });\n});\nIconWrapper.displayName = \"IconWrapper\";\n//# sourceMappingURL=IconWrapper.js.map","import { __assign, __rest } from \"tslib\";\nimport React, { forwardRef } from \"react\";\nimport { iconSizes } from \"./constants\";\nimport { IconWrapper } from \"./IconWrapper\";\nexport var Icon = forwardRef(function (_a, ref) {\n var Component = _a.svgComponent, dangerouslySetSvg = _a.dangerouslySetSvg, _b = _a.size, size = _b === void 0 ? \"medium\" : _b, _c = _a[\"aria-hidden\"], ariaHidden = _c === void 0 ? true : _c, _d = _a.role, role = _d === void 0 ? \"presentation\" : _d, clientId = _a.clientId, children = _a.children, props = __rest(_a, [\"svgComponent\", \"dangerouslySetSvg\", \"size\", \"aria-hidden\", \"role\", \"clientId\", \"children\"]);\n var height = props.height || iconSizes[size];\n var width = props.width || iconSizes[size];\n if (process.env.NODE_ENV !== \"production\") {\n var renderableProps = [\n children ? \"children\" : null,\n Component ? \"Component\" : null,\n dangerouslySetSvg ? \"dangerouslySetSvg\" : null,\n ].filter(Boolean);\n if (renderableProps.length > 1) {\n console.warn(\"Icon: please pass only one of children, svgComponent, or dangerouslySetSvg, got [\" + renderableProps.join(\", \") + \"]\");\n }\n }\n if (Component) {\n return (React.createElement(IconWrapper, __assign({ height: height, width: width, \"aria-hidden\": ariaHidden, role: role, ref: ref, \"data-client-id\": clientId }, props),\n React.createElement(Component, null)));\n }\n else if (dangerouslySetSvg) {\n return (React.createElement(IconWrapper, __assign({ height: height, width: width, \"aria-hidden\": ariaHidden, role: role, ref: ref, \"data-client-id\": clientId }, props, { dangerouslySetInnerHTML: {\n __html: dangerouslySetSvg\n } })));\n }\n else if (children) {\n return (React.createElement(IconWrapper, __assign({ height: height, width: width, \"aria-hidden\": ariaHidden, role: role, ref: ref, \"data-client-id\": clientId }, props), children));\n }\n return null;\n});\nIcon.displayName = \"Icon\";\n//# sourceMappingURL=Icon.js.map","import styled from \"@emotion/styled\";\nimport { tooltipTheme } from \"../tooltipTheme\";\nexport const TooltipBodyStyled = styled(\"div\")`\n padding: var(--sds--tooltip--padding, ${_ref => {\n let {\n themeMode\n } = _ref;\n return tooltipTheme.padding.body(themeMode);\n}});\n\n // These are set to ensure the arrow calculations don't create an infinite loop due. See #468.\n min-height: 8px;\n min-width: 8px;\n\n *,\n a {\n color: ${_ref2 => {\n let {\n themeMode\n } = _ref2;\n return `var(--sds--tooltip--text-color, ${tooltipTheme.textColor.title(themeMode)})`;\n}};\n }\n`;\n//# sourceMappingURL=TooltipBodyStyled.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nimport { useTheme } from \"../../../theme/utils/useTheme\";\nimport { TooltipBodyStyled } from \"../styled/TooltipBodyStyled\";\n\n// Nothing here on purpose, just keeping the namespace open.\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport const TooltipBody = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n children,\n ...rest\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n return /*#__PURE__*/React.createElement(TooltipBodyStyled, _extends({}, rest, {\n themeMode: themeMode,\n ref: ref\n }), children);\n});\nTooltipBody.displayName = \"TooltipBody\";\n//# sourceMappingURL=TooltipBody.js.map","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import { border, motion, space, typography } from \"@smartsheet/design-tokens\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { themed } from \"@smartsheet/sds-theme-internal\";\nimport { ANIMATION_DURATION } from \"./tooltipConstants\";\nexport const tooltipTheme = themed({\n background: {\n \"lodestar-light\": color(\"color--background--spectrum-slate--strongest\"),\n \"ursa-light\": color(\"color--background--primary--strongest\"),\n \"ursa-dark\": color(\"color--background--primary--weakest\")\n },\n borderRadius: {\n \"lodestar-light\": border.radius05,\n \"ursa-light\": border.radius20\n },\n textColor: {\n body: color(\"color--text--primary--weakest\"),\n title: color(\"color--text--primary--weakest\")\n },\n fontSize: {\n // Yay these are all the same.\n basic: typography.fontSize.size20,\n multiLineTitle: {\n \"lodestar-light\": \"13px\",\n \"ursa-light\": typography.fontSize.size30\n },\n multiLine: {\n \"lodestar-light\": \"13px\",\n \"ursa-light\": typography.fontSize.size20\n },\n multilineTitleDeprecated: {\n \"lodestar-light\": \"13px\",\n \"ursa-light\": typography.fontSize.size30\n }\n },\n fontWeight: {\n body: typography.fontWeight.regular,\n title: typography.fontWeight.semiBold\n },\n lineHeight: {\n body: {\n \"lodestar-light\": typography.lineHeight.size30,\n \"ursa-light\": typography.lineHeight.size20\n },\n title: typography.lineHeight.size30\n },\n padding: {\n body: {\n \"lodestar-light\": \"3px 8px\",\n \"ursa-light\": space.space30\n },\n // These styles are from the old Lodestar version that didn't use the TooltipBody so these\n // components provided all the necessary padding.\n multiLineDeprecated: {\n title: {\n \"lodestar-light\": `${space.space20} ${space.space40} ${space.space10}`,\n \"ursa-light\": `${space.space30} ${space.space30} ${space.space10}`\n },\n subtext: {\n \"lodestar-light\": `0 ${space.space40} ${space.space30}`,\n \"ursa-light\": `0 ${space.space30} ${space.space30}`\n },\n subtextShift: {\n \"lodestar-light\": \"-8px\",\n \"ursa-light\": \"-4px\"\n }\n },\n // These styles require the TooltipBody to wrap the components that use them.\n multiLine: {\n title: {\n \"lodestar-light\": `9px ${space.space20} ${space.space10}`,\n \"ursa-light\": `0 0 ${space.space10}`\n },\n text: {\n \"lodestar-light\": `0 ${space.space20}`,\n \"ursa-light\": `0`\n },\n // The distance between tooltip text siblings. The title has the gap between title and\n // text.\n textGap: {\n \"lodestar-light\": space.space10,\n \"ursa-light\": space.space20\n },\n textEndGap: {\n // This is the special gap added to get the right padding-bottom in the Lodestar\n // version of the multiline tooltip.\n \"lodestar-light\": \"9px\",\n \"ursa-light\": \"0\"\n }\n }\n },\n motion: {\n slide: {\n \"lodestar-light\": `${ANIMATION_DURATION}ms cubic-bezier(0.23, 1, 0.32, 1)`,\n \"ursa-light\": motion.animation.default\n },\n opacity: {\n \"lodestar-light\": `${ANIMATION_DURATION / 2}ms`,\n \"ursa-light\": motion.animation.default\n }\n }\n});\nexport const getTooltipMultilineTitleTypeRampProps = themeMode => {\n switch (themeMode) {\n case \"ursa-light\":\n case \"ursa-dark\":\n return {\n system: \"ursa\",\n variant: \"Inter--14px--600w\"\n };\n case \"lodestar-light\":\n case \"oldestar\":\n default:\n return {\n system: \"lodestar\",\n variant: \"headerSmall\"\n };\n }\n};\n//# sourceMappingURL=tooltipTheme.js.map","/** This file is generated from clean-figma-tokens.js and pulls directly from Figma\n * Please do not edit values here directly!\n */\n\nexport const colorTokens = [{\n name: \"aqua--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"aqua--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--50, #B5F2E6)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"aqua--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"aqua--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"aqua--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"aqua--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"aqua--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"azure--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"azure--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"azure--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"azure--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"azure--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"azure--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--800, #022A36)\"\n }\n}, {\n name: \"azure--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--700, #064355)\"\n }\n}, {\n name: \"blue--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"blue--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"blue--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"blue--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"blue--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"blue--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"blue--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--background--ai-icon-wrapper--default\",\n description: \"The default background for icons used in the AI Panel Experiences. Do not use this token outside of that surface.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--indigo--35, #F5F0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--400, #8959E8)\"\n }\n}, {\n name: \"color--background--destructive--default\",\n description: \"The default version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--background--destructive--strong\",\n description: \"The strong version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#a62833\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--background--destructive--stronger\",\n description: \"The stronger version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--700, #7F050D)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--destructive--strongest\",\n description: \"The strongest version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#531419\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--background--destructive--weak\",\n description: \"The weak version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#db656f\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--background--destructive--weaker\",\n description: \"The weaker version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--700, #7F050D)\"\n }\n}, {\n name: \"color--background--destructive--weakest\",\n description: \"The weakest version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#efc8cb\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"color--background--error--default\",\n description: \"The default version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--background--error--weak\",\n description: \"The weak version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--background--error--weaker\",\n description: \"The weaker version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--info--default\",\n description: \"The default version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--25, #EBFAFF)\"\n }\n}, {\n name: \"color--background--info--weak\",\n description: \"The weak version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--azure--50, #C6EFFA)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--60, #B6E8F7)\"\n }\n}, {\n name: \"color--background--info--weaker\",\n description: \"The weaker version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--azure--25, #EBFAFF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--background--neutral--default\",\n description: \"The default version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--background--neutral--strong\",\n description: \"The strong version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--neutral--stronger\",\n description: \"The stronger version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--neutral--strongest\",\n description: \"The strongest version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--neutral--weak\",\n description: \"The weak version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--background--neutral--weaker\",\n description: \"The weaker version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--background--neutral--weakest\",\n description: \"The weakest version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--35, #EEF0F6)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--neutral-inverse--default\",\n description: \"The default version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--background--neutral-inverse--strong\",\n description: \"The strong version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--neutral-inverse--stronger\",\n description: \"The stronger version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--background--neutral-inverse--strongest\",\n description: \"The strongest version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weak\",\n description: \"The weak version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weaker\",\n description: \"The weaker version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weakest\",\n description: \"The weakest version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--notifications--default\",\n description: \"The weak version of backgrounds for notifications.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--background--notifications--weak\",\n description: \"The weak version of backgrounds for notifications.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--500, #5F6786)\"\n }\n}, {\n name: \"color--background--primary--default\",\n description: \"The default version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--background--primary--strong\",\n description: \"The strong version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--background--primary--stronger\",\n description: \"The stronger version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--background--primary--strongest\",\n description: \"The strongest version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--background--primary--weak\",\n description: \"The weak version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--background--primary--weaker\",\n description: \"The weaker version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--background--primary--weakest\",\n description: \"The weakest version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--background--slate--default\",\n description: \"The default version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--default, #6B7394)\"\n }\n}, {\n name: \"color--background--slate--strong\",\n description: \"The strong version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--strong, #878DAB)\"\n }\n}, {\n name: \"color--background--slate--stronger\",\n description: \"The stronger version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--stronger, #A6ACC4)\"\n }\n}, {\n name: \"color--background--slate--strongest\",\n description: \"The strongest version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--strongest, #B8BDD1)\"\n }\n}, {\n name: \"color--background--slate--weak\",\n description: \"The weak version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weak, #5F6786)\"\n }\n}, {\n name: \"color--background--slate--weaker\",\n description: \"The weaker version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weaker, #4C5470)\"\n }\n}, {\n name: \"color--background--slate--weakest\",\n description: \"The weakest version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--slate--35, #EEF0F6)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weakest, #363C54)\"\n }\n}, {\n name: \"color--background--slate-inverse--default\",\n description: \"The default version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--600, #4C5470)\"\n }\n}, {\n name: \"color--background--slate-inverse--strong\",\n description: \"The strong version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--700, #363C54)\"\n }\n}, {\n name: \"color--background--slate-inverse--stronger\",\n description: \"The stronger version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--800, #212536)\"\n }\n}, {\n name: \"color--background--slate-inverse--strongest\",\n description: \"The strongest version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--900, #11131D)\"\n }\n}, {\n name: \"color--background--slate-inverse--weak\",\n description: \"The weak version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--500, #5F6786)\"\n }\n}, {\n name: \"color--background--slate-inverse--weaker\",\n description: \"The weaker version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--background--slate-inverse--weakest\",\n description: \"The weakest version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#4eaa9b\",\n \"ursa-light\": \"var(--smar--com--color--aqua--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--75, #86E4D1)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--strong\",\n description: \"The strong version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008476\",\n \"ursa-light\": \"var(--smar--com--color--aqua--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--60, #9CECDC)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--stronger\",\n description: \"The stronger version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--50, #B5F2E6)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--strongest\",\n description: \"The strongest version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--25, #E8FDF9)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weak\",\n description: \"The weak version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a1c9c2\",\n \"ursa-light\": \"var(--smar--com--color--aqua--200, #30C0A3)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--100, #5AD3BB)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weaker\",\n description: \"The weaker version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#dceae7\",\n \"ursa-light\": \"var(--smar--com--color--aqua--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--200, #30C0A3)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weakest\",\n description: \"The weakest version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f1f7f6\",\n \"ursa-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--300, #28A98F)\"\n }\n}, {\n name: \"color--background--spectrum-azure--default\",\n description: \"The default version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--background--spectrum-azure--strong\",\n description: \"The strong version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--60, #B6E8F7)\"\n }\n}, {\n name: \"color--background--spectrum-azure--stronger\",\n description: \"The stronger version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--50, #C6EFFA)\"\n }\n}, {\n name: \"color--background--spectrum-azure--strongest\",\n description: \"The strongest version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--25, #EBFAFF)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weak\",\n description: \"The weak version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weaker\",\n description: \"The weaker version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weakest\",\n description: \"The weakest version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--background--spectrum-blue--default\",\n description: \"The default version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--strong\",\n description: \"The strong version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--stronger\",\n description: \"The stronger version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--strongest\",\n description: \"The strongest version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weak\",\n description: \"The weak version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weaker\",\n description: \"The weaker version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weakest\",\n description: \"The weakest version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--background--spectrum-gold--default\",\n description: \"The default version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e18502\",\n \"ursa-light\": \"var(--smar--com--color--gold--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--spectrum-gold--strong\",\n description: \"The strong version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ab6600\",\n \"ursa-light\": \"var(--smar--com--color--gold--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--50, #FDE6AF)\"\n }\n}, {\n name: \"color--background--spectrum-gold--stronger\",\n description: \"The stronger version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--35, #FFF0CC)\"\n }\n}, {\n name: \"color--background--spectrum-gold--strongest\",\n description: \"The strongest version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--gold--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weak\",\n description: \"The weak version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffb761\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--75, #F9CD67)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weaker\",\n description: \"The weaker version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fee3c0\",\n \"ursa-light\": \"var(--smar--com--color--gold--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--100, #EFB32A)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weakest\",\n description: \"The weakest version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff4e6\",\n \"ursa-light\": \"var(--smar--com--color--gold--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--background--spectrum-green--default\",\n description: \"The default version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#70a13c\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"color--background--spectrum-green--strong\",\n description: \"The strong version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#488306\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--spectrum-green--stronger\",\n description: \"The stronger version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"color--background--spectrum-green--strongest\",\n description: \"The strongest version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--spectrum-green--weak\",\n description: \"The weak version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b2c997\",\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"color--background--spectrum-green--weaker\",\n description: \"The weaker version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e1ebd6\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\"\n }\n}, {\n name: \"color--background--spectrum-green--weakest\",\n description: \"The weakest version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f3f7ef\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#848be9\",\n \"ursa-light\": \"var(--smar--com--color--indigo--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--75, #D6C2FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--strong\",\n description: \"The strong version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--60, #E0D1FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--stronger\",\n description: \"The stronger version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--50, #EBE0FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--strongest\",\n description: \"The strongest version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--25, #F8F5FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--indigo--200, #BB99FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--100, #C9ADFF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weaker\",\n description: \"The weaker version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--indigo--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--200, #BB99FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weakest\",\n description: \"The weakest version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--indigo--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--background--spectrum-mint--default\",\n description: \"The default version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#01af6a\",\n \"ursa-light\": \"var(--smar--com--color--mint--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--75, #8EE69D)\"\n }\n}, {\n name: \"color--background--spectrum-mint--strong\",\n description: \"The strong version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--mint--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--spectrum-mint--stronger\",\n description: \"The stronger version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--35, #D2F9D8)\"\n }\n}, {\n name: \"color--background--spectrum-mint--strongest\",\n description: \"The strongest version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--mint--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weak\",\n description: \"The weak version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#40c28f\",\n \"ursa-light\": \"var(--smar--com--color--mint--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--100, #62D574)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weaker\",\n description: \"The weaker version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--mint--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weakest\",\n description: \"The weakest version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bbe7d6\",\n \"ursa-light\": \"var(--smar--com--color--mint--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--strong\",\n description: \"The strong version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--60, #DCDEEA)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--stronger\",\n description: \"The stronger version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--strongest\",\n description: \"The strongest version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weak\",\n description: \"The weak version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weaker\",\n description: \"The weaker version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weakest\",\n description: \"The weakest version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--spectrum-orange--default\",\n description: \"The default version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e18502\",\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"color--background--spectrum-orange--strong\",\n description: \"The strong version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ab6600\",\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--60, #FED5CD)\"\n }\n}, {\n name: \"color--background--spectrum-orange--stronger\",\n description: \"The stronger version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--orange--600, #973421)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--50, #FFE1DC)\"\n }\n}, {\n name: \"color--background--spectrum-orange--strongest\",\n description: \"The strongest version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--35, #FFEEEB)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weak\",\n description: \"The weak version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffb761\",\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weaker\",\n description: \"The weaker version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fee3c0\",\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weakest\",\n description: \"The weakest version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff4e6\",\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--strong\",\n description: \"The strong version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--60, #F5D0FB)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--stronger\",\n description: \"The stronger version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--50, #F8DDFD)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--strongest\",\n description: \"The strongest version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--25, #FDF5FF)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weak\",\n description: \"The weak version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weaker\",\n description: \"The weaker version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weakest\",\n description: \"The weakest version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--background--spectrum-pink--default\",\n description: \"The default version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--pink--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"color--background--spectrum-pink--strong\",\n description: \"The strong version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--60, #FDD3EC)\"\n }\n}, {\n name: \"color--background--spectrum-pink--stronger\",\n description: \"The stronger version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"color--background--spectrum-pink--strongest\",\n description: \"The strongest version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--25, #FFF5FA)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weak\",\n description: \"The weak version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--pink--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weaker\",\n description: \"The weaker version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--200, #F589C8)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weakest\",\n description: \"The weakest version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-red--default\",\n description: \"The default version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ee6f4c\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--background--spectrum-red--strong\",\n description: \"The strong version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--background--spectrum-red--stronger\",\n description: \"The stronger version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"color--background--spectrum-red--strongest\",\n description: \"The strongest version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--background--spectrum-red--weak\",\n description: \"The weak version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f6b09d\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--background--spectrum-red--weaker\",\n description: \"The weaker version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--background--spectrum-red--weakest\",\n description: \"The weakest version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--spectrum-rose--default\",\n description: \"The default version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--rose--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--75, #FDC4E4)\"\n }\n}, {\n name: \"color--background--spectrum-rose--strong\",\n description: \"The strong version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--rose--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--60, #FDD3EC)\"\n }\n}, {\n name: \"color--background--spectrum-rose--stronger\",\n description: \"The stronger version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--50, #FEE1F2)\"\n }\n}, {\n name: \"color--background--spectrum-rose--strongest\",\n description: \"The strongest version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--rose--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--25, #FFF5FA)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weak\",\n description: \"The weak version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--rose--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--100, #F9A4D6)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weaker\",\n description: \"The weaker version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--rose--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weakest\",\n description: \"The weakest version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--rose--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-slate--default\",\n description: \"The default version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--75, #D0D3E2)\"\n }\n}, {\n name: \"color--background--spectrum-slate--strong\",\n description: \"The strong version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--60, #DCDEEA)\"\n }\n}, {\n name: \"color--background--spectrum-slate--stronger\",\n description: \"The stronger version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--50, #E5E7F0)\"\n }\n}, {\n name: \"color--background--spectrum-slate--strongest\",\n description: \"The strongest version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--25, #F5F6FA)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weak\",\n description: \"The weak version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weaker\",\n description: \"The weaker version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weakest\",\n description: \"The weakest version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--background--spectrum-teal--default\",\n description: \"The default version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#4eaa9b\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"color--background--spectrum-teal--strong\",\n description: \"The strong version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008476\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--60, #9CECDC)\"\n }\n}, {\n name: \"color--background--spectrum-teal--stronger\",\n description: \"The stronger version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"color--background--spectrum-teal--strongest\",\n description: \"The strongest version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--25, #E8FDF9)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weak\",\n description: \"The weak version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a1c9c2\",\n \"ursa-light\": \"var(--smar--com--color--teal--200, #30C0A3)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weaker\",\n description: \"The weaker version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#dceae7\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--200, #30C0A3)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weakest\",\n description: \"The weakest version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f1f7f6\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"color--background--spectrum-violet--default\",\n description: \"The default version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#848be9\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--strong\",\n description: \"The strong version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--60, #E0D1FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--stronger\",\n description: \"The stronger version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--strongest\",\n description: \"The strongest version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--25, #F8F5FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weak\",\n description: \"The weak version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weaker\",\n description: \"The weaker version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weakest\",\n description: \"The weakest version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6a907\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--strong\",\n description: \"The strong version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#996f00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--50, #FDE6AF)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--stronger\",\n description: \"The stronger version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--35, #FFF0CC)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--strongest\",\n description: \"The strongest version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#3d2c00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weak\",\n description: \"The weak version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5cf6a\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weaker\",\n description: \"The weaker version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffefc5\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weakest\",\n description: \"The weakest version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff8e7\",\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"color--background--success--default\",\n description: \"The default version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--mint--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--success--weak\",\n description: \"The weak version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--mint--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--success--weaker\",\n description: \"The weaker version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#bbe7d6\",\n \"ursa-light\": \"var(--smar--com--color--mint--25, #E7FDEB)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--background--surfaces--body\",\n description: \"The background color for the document body.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--surfaces--canvas\",\n description: \"The background color for the canvas surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--slate--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--surfaces--overlay\",\n description: \"The background color for the overlay.\",\n value: {\n \"lodestar-light\": \"rgba(0, 0, 0, 0.1)\",\n \"ursa-light\": \"#24273214\",\n \"ursa-dark\": \"#6B739480\"\n }\n}, {\n name: \"color--background--surfaces--stage\",\n description: \"The background color for the stage surface.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--surfaces--work\",\n description: \"The background color the work surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--background--warning--default\",\n description: \"The default version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#cc9c31\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--warning--weak\",\n description: \"The weak version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--gold--50, #FDE6AF)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--warning--weaker\",\n description: \"The weaker version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#fbeccb\",\n \"ursa-light\": \"var(--smar--com--color--gold--25, #FFF6E0)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--border--error--default\",\n description: \"The default border to indicate an error.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--neutral--default\",\n description: \"The default neutral color border.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--border--neutral--strong\",\n description: \"The strong neutral color border.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--border--neutral--stronger\",\n description: \"The stronger neutral color border.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--border--neutral--strongest\",\n description: \"The strongest neutral color border.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--border--neutral--weak\",\n description: \"The weak neutral color border.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--border--neutral--weaker\",\n description: \"The weaker neutral color border.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--border--neutral--weakest\",\n description: \"The weakest neutral color border.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--border--primary--default\",\n description: \"The weakest primary color border.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--border--primary--weak\",\n description: \"The weak primary color border.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--border--primary--weaker\",\n description: \"The weaker primary color border.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--border--primary--weakest\",\n description: \"The weakest primary color border.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--border--slate--default\",\n description: \"The default slate color border.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--default, #878DAB)\"\n }\n}, {\n name: \"color--border--slate--strong\",\n description: \"The strong slate color border.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--strong, #A6ACC4)\"\n }\n}, {\n name: \"color--border--slate--stronger\",\n description: \"The stronger slate color border.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--stronger, #B8BDD1)\"\n }\n}, {\n name: \"color--border--slate--strongest\",\n description: \"The strongest slate color border.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--strongest, #D0D3E2)\"\n }\n}, {\n name: \"color--border--slate--weak\",\n description: \"The weak slate color border.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weak, #6B7394)\"\n }\n}, {\n name: \"color--border--slate--weaker\",\n description: \"The weaker slate color border.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weaker, #5F6786)\"\n }\n}, {\n name: \"color--border--slate--weakest\",\n description: \"The weakest slate color border.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weakest, #363C54)\"\n }\n}, {\n name: \"color--border--spectrum-aqua--default\",\n description: \"The border color for spectrum aqua. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--300, #28A98F)\"\n }\n}, {\n name: \"color--border--spectrum-azure--default\",\n description: \"The border color for spectrum azure. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--border--spectrum-blue--default\",\n description: \"The border color for spectrum blue. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--border--spectrum-slate--default\",\n description: \"The border color for spectrum slate. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--border--spectrum-gold--default\",\n description: \"The border color for spectrum gold. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--300, #BF8E1D)\"\n }\n}, {\n name: \"color--border--spectrum-green--default\",\n description: \"The border color for spectrum green. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--border--spectrum-indigo--default\",\n description: \"The border color for spectrum indigo. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--border--spectrum-mint--default\",\n description: \"The border color for spectrum mint. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--border--spectrum-neutral--default\",\n description: \"The border color for spectrum neutral. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--border--spectrum-orange--default\",\n description: \"The border color for spectrum orange. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--border--spectrum-orchid--default\",\n description: \"The border color for spectrum orchid. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--border--spectrum-pink--default\",\n description: \"The border color for spectrum pink. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"color--border--spectrum-red--default\",\n description: \"The border color for spectrum red. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--spectrum-rose--default\",\n description: \"The border color for spectrum rose. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--border--spectrum-teal--default\",\n description: \"The border color for spectrum teal. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"color--border--spectrum-violet--default\",\n description: \"The border color for spectrum violet. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"color--border--spectrum-yellow--default\",\n description: \"The border color for spectrum yellow. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"color--border--success--default\",\n description: \"The default border to indicate success.\",\n value: {\n \"lodestar-light\": \"#01af6a\",\n \"ursa-light\": \"var(--smar--com--color--mint--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--border--surfaces--body\",\n description: \"The border color that matches the document body.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--body, #11131D)\"\n }\n}, {\n name: \"color--border--surfaces--canvas\",\n description: \"The border color that matches the canvas surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--canvas, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--canvas, #11131D)\"\n }\n}, {\n name: \"color--border--surfaces--focus\",\n description: \"The border color for focus\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--border--surfaces--stage\",\n description: \"The border color that matches the stage surface.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--stage, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--stage, #363C54)\"\n }\n}, {\n name: \"color--border--surfaces--work\",\n description: \"The border color that matches the work surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--body, #11131D)\"\n }\n}, {\n name: \"color--border--warning--default\",\n description: \"The default border to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#ffc33e\",\n \"ursa-light\": \"var(--smar--com--color--gold--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--300, #BF8E1D)\"\n }\n}, {\n name: \"color--icons--destructive--default\",\n description: \"The default version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#ee6f4c\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--icons--destructive--strong\",\n description: \"The strong version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--icons--destructive--stronger\",\n description: \"The stronger version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--icons--destructive--strongest\",\n description: \"The strongest version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--icons--destructive--weak\",\n description: \"The weak version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#f6b09d\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--icons--destructive--weaker\",\n description: \"The weaker version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--icons--destructive--weakest\",\n description: \"The weakest version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--icons--destructive-inverse--stronger\",\n description: \"The stronger version of destructive inverse icons.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--icons--error--default\",\n description: \"The default version of error icons. Used for icons that denote an error.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--icons--error--weak\",\n description: \"The weak version of error icons. Used for icons that denote an error.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--icons--info--default\",\n description: \"The default version of info icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--icons--info--weak\",\n description: \"The weak version of info icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--icons--neutral--default\",\n description: \"The default version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--icons--neutral--strong\",\n description: \"The strong version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--icons--neutral--stronger\",\n description: \"The stronger version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--icons--neutral--strongest\",\n description: \"The strongest version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--icons--neutral--weak\",\n description: \"The weak version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--icons--neutral--weaker\",\n description: \"The weaker version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--icons--neutral--weakest\",\n description: \"The weakest version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--icons--neutral-inverse--default\",\n description: \"The default version of neutral inverse for icons.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--neutral-inverse--weak\",\n description: \"The weaker version of neutral inverse for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--60, #DCDEEA)\"\n }\n}, {\n name: \"color--icons--primary--default\",\n description: \"The default version of primary icons.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--icons--primary--strong\",\n description: \"The strong version of primary icons.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--icons--primary--stronger\",\n description: \"The stronger version of primary icons.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--icons--primary--strongest\",\n description: \"The strongest version of primary icons.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--icons--primary--weak\",\n description: \"The weak version of primary icons.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--icons--primary--weaker\",\n description: \"The weaker version of primary icons.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--icons--primary--weakest\",\n description: \"The weakest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--icons--primary-inverse--stronger\",\n description: \"The stronger version of primary inverse icons\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--25, #F5F8FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--icons--slate--default\",\n description: \"The default version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--default, #878DAB)\"\n }\n}, {\n name: \"color--icons--slate--strong\",\n description: \"The strong version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--strong, #A6ACC4)\"\n }\n}, {\n name: \"color--icons--slate--stronger\",\n description: \"The stronger version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--stronger, #B8BDD1)\"\n }\n}, {\n name: \"color--icons--slate--strongest\",\n description: \"The strongest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--strongest, #D0D3E2)\"\n }\n}, {\n name: \"color--icons--slate--weak\",\n description: \"The weak version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weak, #6B7394)\"\n }\n}, {\n name: \"color--icons--slate--weaker\",\n description: \"The weaker version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weaker, #5F6786)\"\n }\n}, {\n name: \"color--icons--slate--weakest\",\n description: \"The weakest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weakest, #4C5470)\"\n }\n}, {\n name: \"color--icons--slate-inverse--default\",\n description: \"The default version of slate inverse for icons.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--slate-inverse--weak\",\n description: \"The weak version of slate inverse for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--60, #DCDEEA)\"\n }\n}, {\n name: \"color--icons--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-aqua--default, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-aqua--default, #042A23)\"\n }\n}, {\n name: \"color--icons--spectrum-azure--default\",\n description: \"The default version of spectrum azure for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-azure--default, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-azure--default, #022A36)\"\n }\n}, {\n name: \"color--icons--spectrum-blue--default\",\n description: \"The default version of spectrum blue for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-blue--default, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-blue--default, #031C59)\"\n }\n}, {\n name: \"color--icons--spectrum-gold--default\",\n description: \"The default version of spectrum gold for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-gold--default, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-gold--default, #322301)\"\n }\n}, {\n name: \"color--icons--spectrum-green--default\",\n description: \"The default version of spectrum green for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-green--default, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-green--default, #042F0A)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-indigo--default, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-indigo--default, #26026E)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--500, #7847DC)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weaker\",\n description: \"The weaker version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--indigo--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weakest\",\n description: \"The weakest version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--indigo--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--100, #C9ADFF)\"\n }\n}, {\n name: \"color--icons--spectrum-mint--default\",\n description: \"The default version of spectrum mint for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-mint--default, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-mint--default, #042F0A)\"\n }\n}, {\n name: \"color--icons--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--text--neutral--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--strong, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--spectrum-orange--default\",\n description: \"The default version of spectrum orange for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-orange--default, #4C1106)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-orange--default, #4C1106)\"\n }\n}, {\n name: \"color--icons--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-orchid--default, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-orchid--default, #41064B)\"\n }\n}, {\n name: \"color--icons--spectrum-pink--default\",\n description: \"The default version of spectrum pink for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-pink--default, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-pink--default, #4C062F)\"\n }\n}, {\n name: \"color--icons--spectrum-red--default\",\n description: \"The default version of spectrum red for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-red--default, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-red--default, #570006)\"\n }\n}, {\n name: \"color--icons--spectrum-rose--default\",\n description: \"The default version of spectrum rose for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-rose--default, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-rose--default, #4C062F)\"\n }\n}, {\n name: \"color--icons--spectrum-slate--default\",\n description: \"The default version of spectrum slate for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--text--slate--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--slate--strong)\"\n }\n}, {\n name: \"color--icons--spectrum-teal--default\",\n description: \"The default version of spectrum teal for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-teal--default, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-teal--default, #042A23)\"\n }\n}, {\n name: \"color--icons--spectrum-violet--default\",\n description: \"The default version of spectrum violet for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-violet--default, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-violet--default, #26026E)\"\n }\n}, {\n name: \"color--icons--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-yellow--default, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-yellow--default, #322301)\"\n }\n}, {\n name: \"color--icons--success--default\",\n description: \"The default version of success icons. Used for icons that denote success.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--400, #1D862F)\"\n }\n}, {\n name: \"color--icons--success--weak\",\n description: \"The weak version of success icons. Used for icons that denote success.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--icons--warning--default\",\n description: \"The default version of warning icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--500, #88620C)\"\n }\n}, {\n name: \"color--icons--warning--weak\",\n description: \"The weak version of warning icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#ffc33e\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--text--destructive--default\",\n description: \"The default version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--text--destructive--strong\",\n description: \"The strong version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--text--destructive--stronger\",\n description: \"The stronger version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--700, #7F050D)\",\n \"ursa-dark\": \"var(--smar--com--color--red--700, #7F050D)\"\n }\n}, {\n name: \"color--text--destructive--strongest\",\n description: \"The strongest version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-dark\": \"var(--smar--com--color--red--900, #330003)\"\n }\n}, {\n name: \"color--text--destructive--weak\",\n description: \"The weak version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--text--destructive--weaker\",\n description: \"The weaker version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--60, #FED7DA)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--text--destructive--weakest\",\n description: \"The weakest version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--text--error--default\",\n description: \"The default version of error text colors. Used on error text.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--text--error--weak\",\n description: \"The weak version of error text colors. Used on error text.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--text--info--default\",\n description: \"The default version of info text colors. Used on info text.\",\n value: {\n \"lodestar-light\": \"#3f4952\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"color--text--info--weak\",\n description: \"The weak version of info text colors. Used on info text.\",\n value: {\n \"lodestar-light\": \"#5e6d7b\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--text--neutral--default\",\n description: \"The default version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"color--text--neutral--strong\",\n description: \"The strong version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral--stronger\",\n description: \"The stronger version of neutral text colors. In v4 this is the same as neutral--strong.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--text--neutral--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral--weak\",\n description: \"The weak version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--text--neutral--weaker\",\n description: \"The weaker version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--text--neutral--weakest\",\n description: \"The weakest version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--text--neutral-inverse--default\",\n description: \"The weaker version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--text--neutral-inverse--strong\",\n description: \"The weak version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral-inverse--weak\",\n description: \"The weakest version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--text--primary--default\",\n description: \"The default version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\"\n }\n}, {\n name: \"color--text--primary--strong\",\n description: \"The strong version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"color--text--primary--stronger\",\n description: \"The stronger version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--text--primary--strongest\",\n description: \"The strongest version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--text--primary--weak\",\n description: \"The weak version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"color--text--primary--weaker\",\n description: \"The weaker version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--35, #EBF1FF)\"\n }\n}, {\n name: \"color--text--primary--weakest\",\n description: \"The weakest version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--25, #F5F8FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--text--slate--default\",\n description: \"The default version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--default, #E5E7F0)\"\n }\n}, {\n name: \"color--text--slate--strong\",\n description: \"The strong version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--strong, #FFFFFF)\"\n }\n}, {\n name: \"color--text--slate--weak\",\n description: \"The weak version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weak, #B8BDD1)\"\n }\n}, {\n name: \"color--text--slate--weaker\",\n description: \"The weaker version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weaker, #A6ACC4)\"\n }\n}, {\n name: \"color--text--slate--weakest\",\n description: \"The weakest version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weakest, #878DAB)\"\n }\n}, {\n name: \"color--text--slate-inverse--default\",\n description: \"The default version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--25, #F5F6FA)\"\n }\n}, {\n name: \"color--text--slate-inverse--strong\",\n description: \"The strong version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--slate-inverse--weak\",\n description: \"The weak version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--50, #E5E7F0)\"\n }\n}, {\n name: \"color--text--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--800, #042A23)\"\n }\n}, {\n name: \"color--text--spectrum-aqua--strong\",\n description: \"The strong version of spectrum aqua for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--aqua--900, #001A17)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--600, #0F6151)\"\n }\n}, {\n name: \"color--text--spectrum-azure--default\",\n description: \"The default version of spectrum azure for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--800, #022A36)\"\n }\n}, {\n name: \"color--text--spectrum-azure--strong\",\n description: \"The strong version of spectrum azure for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--azure--900, #001F33)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--text--spectrum-blue--default\",\n description: \"The default version of spectrum blue for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--text--spectrum-blue--strong\",\n description: \"The strong version of spectrum blue for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--text--spectrum-gold--default\",\n description: \"The default version of spectrum gold for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--gold--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--800, #322301)\"\n }\n}, {\n name: \"color--text--spectrum-gold--strong\",\n description: \"The strong version of spectrum gold for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--gold--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--600, #705006)\"\n }\n}, {\n name: \"color--text--spectrum-green--default\",\n description: \"The default version of spectrum green for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"color--text--spectrum-green--strong\",\n description: \"The strong version of spectrum green for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--green--900, #081A00)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--800, #26026E)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--strong\",\n description: \"The strong version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--indigo--900, #160042)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--600, #6329D6)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--900, #160042)\"\n }\n}, {\n name: \"color--text--spectrum-mint--default\",\n description: \"The default version of spectrum mint for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--800, #042F0A)\"\n }\n}, {\n name: \"color--text--spectrum-mint--strong\",\n description: \"The strong version of spectrum mint for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--mint--900, #081A00)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--600, #0F621C)\"\n }\n}, {\n name: \"color--text--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--text--spectrum-neutral--strong\",\n description: \"The strong version of spectrum neutral for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--text--spectrum-orange--default\",\n description: \"The default version of spectrum orange for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--orange--800, #4C1106)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--800, #4C1106)\"\n }\n}, {\n name: \"color--text--spectrum-orange--strong\",\n description: \"The strong version of spectrum orange for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--orange--900, #2D0800)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--600, #973421)\"\n }\n}, {\n name: \"color--text--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--800, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--800, #41064B)\"\n }\n}, {\n name: \"color--text--spectrum-orchid--strong\",\n description: \"The strong version of spectrum orchid for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--orchid--900, #27002D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\"\n }\n}, {\n name: \"color--text--spectrum-pink--default\",\n description: \"The default version of spectrum pink for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"color--text--spectrum-pink--strong\",\n description: \"The strong version of spectrum pink for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--pink--900, #2E001C)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--600, #992468)\"\n }\n}, {\n name: \"color--text--spectrum-red--default\",\n description: \"The default version of spectrum red for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"color--text--spectrum-red--strong\",\n description: \"The strong version of spectrum red for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--text--spectrum-rose--default\",\n description: \"The default version of spectrum rose for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--800, #4C062F)\"\n }\n}, {\n name: \"color--text--spectrum-rose--strong\",\n description: \"The strong version of spectrum rose for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--rose--900, #2E001C)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--600, #992468)\"\n }\n}, {\n name: \"color--text--spectrum-slate--default\",\n description: \"The default version of spectrum slate for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--800, #212536)\"\n }\n}, {\n name: \"color--text--spectrum-slate--strong\",\n description: \"The strong version of spectrum slate for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--600, #4C5470)\"\n }\n}, {\n name: \"color--text--spectrum-teal--default\",\n description: \"The default version of spectrum teal for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"color--text--spectrum-teal--strong\",\n description: \"The strong version of spectrum teal for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--teal--900, #001A17)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"color--text--spectrum-violet--default\",\n description: \"The default version of spectrum violet for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"color--text--spectrum-violet--strong\",\n description: \"The strong version of spectrum violet for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--violet--900, #160042)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--600, #6329D6)\"\n }\n}, {\n name: \"color--text--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"color--text--spectrum-yellow--strong\",\n description: \"The strong version of spectrum yellow for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#3d2c00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"color--text--success--default\",\n description: \"The default version of success text colors. Used on success text.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--text--success--weak\",\n description: \"The weak version of success text colors. Used on success text.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--text--warning--default\",\n description: \"The default version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"#664e18\",\n \"ursa-light\": \"var(--smar--com--color--gold--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--text--warning--weak\",\n description: \"The weak version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"elevation--default\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 4px 6px rgba(54, 60, 84, 0.12), 0px 6px 16px 6px rgba(54, 60, 84, 0.16)\",\n \"ursa-dark\": \"0px 4px 6px rgba(17, 19, 29, 0.24), 0px 6px 16px 6px rgba(17, 19, 29, 0.24)\"\n }\n}, {\n name: \"elevation--high\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.12), 0px 12px 24px 8px rgba(54, 60, 84, 0.2)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.2), 0px 12px 24px 8px rgba(17, 19, 29, 0.28)\"\n }\n}, {\n name: \"elevation--low\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-0\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-1\",\n description: \"For menus - both Menu and Select\",\n value: {\n \"lodestar-light\": \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-2\",\n description: \"Card uses this, Contact Card uses this, Pagination\",\n value: {\n \"lodestar-light\": \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 4px 6px rgba(54, 60, 84, 0.12), 0px 6px 16px 6px rgba(54, 60, 84, 0.16)\",\n \"ursa-dark\": \"0px 4px 6px rgba(17, 19, 29, 0.24), 0px 6px 16px 6px rgba(17, 19, 29, 0.24)\"\n }\n}, {\n name: \"elevation--shadow-3\",\n description: \"For modals, left rails\",\n value: {\n \"lodestar-light\": \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.12), 0px 12px 24px 8px rgba(54, 60, 84, 0.2)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.2), 0px 12px 24px 8px rgba(17, 19, 29, 0.28)\"\n }\n}, {\n name: \"focus-indicator--border-primary\",\n description: \"This is the main outer border for a focus ring\",\n value: {\n \"lodestar-light\": \"#6097d2\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"focus-indicator--border-secondary\",\n description: \"This inner border provides more contrast between the focused element for scenarios where the element is on a background other than the work-surface\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"form-input--border--active\",\n description: \"Used for form elements that have an accompanying menu or popup. When that popup is open, this color is used for the associated control's border.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"form-input--border--error\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"form-input--border--focus\",\n description: \"The border applied to form elements which are currently focused\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"form-input--border--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"form-input--border--readonly\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"form-input--border--rest\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"gold--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"gold--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"gold--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"gold--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"gold--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"gold--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"gold--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"gradient--background--ai-static-default--rest\",\n description: \"The linear gradient for static ai elements at rest\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--rest\",\n description: \"The linear gradient for ai elements at rest\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--hover\",\n description: \"The linear gradient for ai elements when hovered\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--press\",\n description: \"The linear gradient for ai elements when pressed\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\"\n }\n}, {\n name: \"gradient--navigation\",\n description: \"The linear gradient to power Smartsheet's navigation bar\",\n value: {\n \"lodestar-light\": \"#003059\",\n \"ursa-light\": \"linear-gradient(180deg, #184BC3, #5A43D7)\",\n \"ursa-dark\": \"linear-gradient(180deg, #184BC3, #5A43D7)\"\n }\n}, {\n name: \"gradient--progress-bar\",\n description: \"The linear gradient to power Smartsheet's progress bar\",\n value: {\n \"lodestar-light\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n \"ursa-light\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n \"ursa-dark\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\"\n }\n}, {\n name: \"gradient--upsell\",\n description: \"The linear gradient to power Smartsheet's upsell banner\",\n value: {\n \"lodestar-light\": \"#003059\",\n \"ursa-light\": \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n \"ursa-dark\": \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\"\n }\n}, {\n name: \"green--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"green--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"green--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"green--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"green--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"green--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"green--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"indigo--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"indigo--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--50, #EBE0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"indigo--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"indigo--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"indigo--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"indigo--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"indigo--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"mint--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"mint--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"mint--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"mint--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"mint--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"mint--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"mint--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"neutral--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"neutral--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"neutral--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"neutral--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"neutral--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"neutral--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"neutral--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"orange--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"orange--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"orange--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"orange--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"orange--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"orange--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--900, #2D0800)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--900, #2D0800)\"\n }\n}, {\n name: \"orange--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--700, #732111)\"\n }\n}, {\n name: \"orchid--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"orchid--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--50, #F8DDFD)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--50, #F8DDFD)\"\n }\n}, {\n name: \"orchid--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\"\n }\n}, {\n name: \"orchid--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"orchid--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"orchid--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--800, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--800, #41064B)\"\n }\n}, {\n name: \"orchid--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\"\n }\n}, {\n name: \"pink--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"pink--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--50, #FEE1F2)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"pink--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"pink--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"pink--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--400, #CE3B91)\"\n }\n}, {\n name: \"pink--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"pink--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--600, #992468)\"\n }\n}, {\n name: \"red--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"red--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"red--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"red--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"red--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"red--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"red--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"rose--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--200, #F589C8)\"\n }\n}, {\n name: \"rose--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--50, #FEE1F2)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"rose--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"rose--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"rose--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--400, #CE3B91)\"\n }\n}, {\n name: \"rose--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"rose--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--500, #B53680)\"\n }\n}, {\n name: \"selection--border\",\n description: \"Default select border\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"selection--border-alt\",\n description: \"Card hover\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"selection--border-glow\",\n description: \"Selection outer/inner glow\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"selection--range--border\",\n description: \"Default select range/container border\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"semantic--error--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"semantic--error--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"semantic--error--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"semantic--error--border\",\n description: \"Background color for elements that present critical information\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"semantic--error--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"semantic--error--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"semantic--error--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"semantic--info--background\",\n description: \"Backgrounds for banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"semantic--info--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#cbd8e3\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"semantic--info--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#cbd8e3\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"semantic--info--border\",\n description: \"Background color for elements that inform the user of some information\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--500, #10718E)\"\n }\n}, {\n name: \"semantic--info--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"semantic--info--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--900, #001F33)\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"semantic--info--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"semantic--success--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"semantic--success--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"semantic--success--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"semantic--success--border\",\n description: \"Background color for elements that present a favorable outcome\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"semantic--success--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"semantic--success--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--900, #081A00)\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"semantic--success--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"semantic--warning--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"semantic--warning--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"semantic--warning--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"semantic--warning--border\",\n description: \"Background color for elements that provide caution\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"semantic--warning--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"semantic--warning--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"semantic--warning--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"slate--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"slate--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"slate--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"slate--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"slate--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"slate--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"slate--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"surface--canvas--background\",\n description: \"Default canvas surface background color\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"surface--canvas--border\",\n description: \"top of work surface line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--canvas--border-scroll\",\n description: \"Scroll border when scrolling below fixed areas like headers.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"surface--canvas--divider\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"surface--canvas--text\",\n description: \"Default canvas surface text color\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"surface--work--background\",\n description: \"Default work surface background color\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"surface--work--background--hint\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"surface--work--divider\",\n description: \"column header line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--work--divider-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"surface--work--divider-scroll\",\n description: \"scroll or column freeze line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--work--text\",\n description: \"Default work surface text color\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"surface--work--text--inactive\",\n description: \"Used for readonly form fields sometimes\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"surface--work--text--inactive-hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"teal--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"teal--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--50, #B5F2E6)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"teal--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"teal--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"teal--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"teal--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"teal--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"violet--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"violet--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--50, #EBE0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"violet--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"violet--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"violet--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"violet--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"violet--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"yellow--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"yellow--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"yellow--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"yellow--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"yellow--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"yellow--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"yellow--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"color--border--destructive--default\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"lodestar-light\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--border--destructive--weak\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"lodestar-light\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--destructive--weaker\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"lodestar-light\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--border--destructive--weakest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"lodestar-light\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--icons--destructive-inverse--weakest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"lodestar-light\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--elevation-high--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541A\",\n \"ursa-dark\": \"#11131D33\",\n \"lodestar-light\": \"#363C541A\"\n }\n}, {\n name: \"color--elevation-high--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C5424\",\n \"ursa-dark\": \"#11131D47\",\n \"lodestar-light\": \"#363C5424\"\n }\n}, {\n name: \"color--elevation-default--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-default--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-low--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-low--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C5429\",\n \"ursa-dark\": \"#11131D52\",\n \"lodestar-light\": \"#363C5429\"\n }\n}, {\n name: \"color--charts--high-contrast--1--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--charts--high-contrast--1--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--900, #000F33)\"\n }\n}, {\n name: \"color--charts--high-contrast--2--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--high-contrast--2--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--high-contrast--3--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"color--charts--high-contrast--3--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--500, #167461)\"\n }\n}, {\n name: \"color--charts--high-contrast--4--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"color--charts--high-contrast--4--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"color--charts--high-contrast--5--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--charts--high-contrast--5--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--charts--high-contrast--6--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--charts--high-contrast--6--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--charts--high-contrast--7--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--high-contrast--7--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--500, #10718E)\"\n }\n}, {\n name: \"color--charts--high-contrast--8--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--400, #966E13)\"\n }\n}, {\n name: \"color--charts--high-contrast--8--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"color--charts--high-contrast--9--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--700, #094814)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"lodestar-light\": \"var(--smar--com--color--green--700, #094814)\"\n }\n}, {\n name: \"color--charts--high-contrast--9--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"lodestar-light\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"color--charts--high-contrast--10--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--high-contrast--10--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--60, #A1EDAD)\",\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"color--charts--high-contrast--11--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"color--charts--high-contrast--11--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--500, #A531B9)\"\n }\n}, {\n name: \"color--charts--high-contrast--12--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--600, #973421)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--600, #973421)\"\n }\n}, {\n name: \"color--charts--high-contrast--12--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--700, #732111)\"\n }\n}, {\n name: \"color--charts--colorful--1--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--colorful--1--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--colorful--2--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"lodestar-light\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"color--charts--colorful--2--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"lodestar-light\": \"var(--smar--com--color--green--200, #32C84C)\"\n }\n}, {\n name: \"color--charts--colorful--3--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--60, #FBDA8D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--60, #FBDA8D)\"\n }\n}, {\n name: \"color--charts--colorful--3--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--50, #FDE6AF)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--charts--colorful--4--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--charts--colorful--4--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--charts--colorful--5--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"color--charts--colorful--5--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"color--charts--colorful--6--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--60, #F5D0FB)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--60, #F5D0FB)\"\n }\n}, {\n name: \"color--charts--colorful--6--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--charts--colorful--7--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--charts--colorful--7--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"color--charts--colorful--8--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--charts--colorful--8--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--50, #C6EFFA)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"color--charts--colorful--9--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--charts--colorful--9--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--colorful--10--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--charts--colorful--10--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--charts--semantic-not-started--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--charts--semantic-not-started--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--charts--semantic-in-progress--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--semantic-in-progress--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--semantic-at-risk--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"color--charts--semantic-at-risk--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"color--charts--semantic-completed--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--charts--semantic-completed--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--semantic-blocked--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\",\n \"lodestar-light\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--charts--semantic-blocked--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"lodestar-light\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--background--notifications--strong\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--background--notifications--primary\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--assets-dashboard--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--charts--assets-dashboard--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--assets-workspace--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--charts--assets-workspace--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--assets-sheet--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"color--charts--assets-sheet--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"color--charts--assets-report--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--charts--assets-report--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--icons--assets-workspace--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--icons--assets-workspace--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--icons--assets-portfolio--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--200, #30C0A3)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"color--icons--assets-portfolio--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"#86E4D1\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"lodestar-light\": \"#86E4D1\"\n }\n}, {\n name: \"color--icons--assets-dashboard--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"color--icons--assets-dashboard--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"color--icons--assets-reports--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--icons--assets-reports--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--600, #973421)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"color--icons--assets-sheet--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--600, #6329D6)\"\n }\n}, {\n name: \"color--icons--assets-sheet--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"color--icons--assets-form--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--500, #A531B9)\"\n }\n}, {\n name: \"color--icons--assets-form--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--icons--assets-collection--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"color--icons--assets-collection--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--icons--assets-workapp--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--icons--assets-workapp--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--icons--assets-blueprint--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--200, #30C0A3)\",\n \"lodestar-light\": \"var(--smar--com--color--aqua--600, #0F6151)\"\n }\n}, {\n name: \"color--icons--assets-blueprint--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"lodestar-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\"\n }\n}, {\n name: \"color--text--ai--default\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}];\n//# sourceMappingURL=color-tokens.js.map","/**\n * These constants are used to express the different layers of the application.\n * They map to z-index.\n *\n * These layers are intended to be a deterministic order for elements that float\n * above the rest of the application. These kinds of elements should normally be\n * attached near the DOM's body element, either in the root div of the app or\n * whichever element is the parent for the normal app surface and floating elements.\n *\n * We're leaving a lot of space between these to ensure we have room to mutate.\n *\n * To use these, apply their values as the z-index of whatever element you want to lift up.\n * If possible, don't add/subtract from them. In many cases, DOM order will take care of the\n * stacking i.e. a modal w/ z-index 600 that renders a Flyout w/ z-index 600 will be in\n * the correct order since the Flyout is added after the Modal.\n */\nexport const layers = {\n /**\n * This is for the left/right panels. The rails and the panels should both be contained\n * within this layer, and the proper sub-z-indexes should be appled to ensure the panels\n * slide behind the rails i.e. 200 on the rail/panel container, 2 on the rail itself, 1\n * on the panel itself.\n */\n panel: 100,\n /**\n * This is for flyouts that operate just above the surface layer.\n */\n flyout: 490,\n /**\n * For modals and any of their floating children.\n */\n modal: 600,\n /**\n * For toasts, which sit above modals but beneath transient entities like tooltips.\n */\n toast: 700,\n /**\n * Tooltips should show above everything, regardless of the target's layering.\n */\n tooltip: 900\n};\n//# sourceMappingURL=layers.js.map","export const border = {\n width10: \"1px\",\n width20: \"2px\",\n radius05: \"2px\",\n radius10: \"4px\",\n radius20: \"6px\",\n radius30: \"8px\",\n radius35: \"10px\",\n radius40: \"12px\",\n radius50: \"16px\"\n};\n//# sourceMappingURL=border.js.map","// Animation timing values. Exposed for use in js-based animations.\nconst timing = {\n default: 200\n};\nconst easing = {\n default: \"cubic-bezier(0.3, 0.3, 0.2, 1)\"\n};\nconst animation = {\n default: `200ms ${easing.default}`\n};\nexport const motion = {\n easing,\n animation,\n timing\n};\n//# sourceMappingURL=motion.js.map","export const space = {\n space05: \"2px\",\n space10: \"4px\",\n space20: \"8px\",\n space30: \"12px\",\n space40: \"16px\",\n space45: \"20px\",\n space50: \"24px\",\n space55: \"28px\",\n space60: \"32px\",\n space65: \"40px\",\n space70: \"48px\"\n};\n//# sourceMappingURL=space.js.map","const fallbackFontFamily = `Arial, Helvetica, sans-serif, \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const typography = {\n fontFamily: {\n /**\n * For most body styles.\n */\n inter: `\"Inter var\", ${fallbackFontFamily}`,\n /**\n * For some headings and other text that needs to be a bit bolder.\n */\n ttNorms: `\"TT Norms Pro Bold\", ${fallbackFontFamily}`\n },\n fontSize: {\n size10: \"10px\",\n size20: \"12px\",\n size30: \"14px\",\n size40: \"16px\",\n size50: \"20px\",\n size60: \"24px\",\n size70: \"28px\",\n size80: \"32px\"\n },\n // Font size * 1.2, rounded to the next nearest even number\n lineHeight: {\n size10: \"12px\",\n size20: \"16px\",\n size30: \"18px\",\n size40: \"20px\",\n size50: \"24px\",\n size60: \"30px\",\n size70: \"34px\",\n size80: \"46px\"\n },\n fontWeight: {\n bold: 700,\n medium: 500,\n regular: 400,\n semiBold: 600\n }\n};\n/**\n * Returns a font-size and line-height combo to use for each size key.\n */\n// Generics here provide better intellisense:\n//\n// const x: {\n// fontSize: \"14px\";\n// lineHeight: \"18px\";\n// } = lineSize('size30')\n// TODO use this or delete it. Left here since we're considering it.\nconst _lineSize = (size, style) => {\n const result = {\n fontSize: typography.fontSize[size],\n lineHeight: typography.lineHeight[size]\n };\n switch (style) {\n case \"css\":\n return `\n font-size: ${result.fontSize};\n line-height: ${result.lineHeight};\n `;\n case \"object\":\n default:\n return result;\n }\n};\n//# sourceMappingURL=typography.js.map","/**\n * The standard colors available to designs in Ursa a.k.a. New Views a.k.a. Smartsheet Design\n * System. This file was generated by Style Dictionary in the @smartsheet/design-tokens package.\n * These now reference global primitive tokens.\n */\n\nexport const colors = {\n focus: \"var(--smar--com--color--blue--400, #1F66FF)\",\n linkDark: \"var(--smar--com--color--blue--700,#0F3B99)\",\n linkDefault: \"var(--smar--com--color--blue--500,#1957DE)\",\n neutral25: \"var(--smar--com--color--neutral--25,#f5f6fa)\",\n neutral35: \"var(--smar--com--color--neutral--35,#eef0f6)\",\n neutral50: \"var(--smar--com--color--neutral--50,#e5e7f0)\",\n neutral60: \"var(--smar--com--color--neutral--60,#dcdeea)\",\n neutral75: \"var(--smar--com--color--neutral--75,#d0d3e2)\",\n neutral100: \"var(--smar--com--color--neutral--100,#b8bdd1)\",\n neutral200: \"var(--smar--com--color--neutral--200,#a6acc4)\",\n neutral300: \"var(--smar--com--color--neutral--300,#878dab)\",\n neutral400: \"var(--smar--com--color--neutral--400,#6b7394)\",\n neutral500: \"var(--smar--com--color--neutral--500,#5f6786)\",\n neutral600: \"var(--smar--com--color--neutral--600,#4c5470)\",\n neutral700: \"var(--smar--com--color--neutral--700,#363c54)\",\n neutral800: \"var(--smar--com--color--neutral--800,#212536)\",\n neutral900: \"var(--smar--com--color--neutral--900,#11131d)\",\n neutral00: \"var(--smar--com--color--neutral--00,#ffffff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate25: \"var(--smar--com--color--slate--25,#f5f6fa)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate35: \"var(--smar--com--color--slate--35,#eef0f6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate50: \"var(--smar--com--color--slate--50,#e5e7f0)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate60: \"var(--smar--com--color--slate--60,#dcdeea)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate75: \"var(--smar--com--color--slate--75,#d0d3e2)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate100: \"var(--smar--com--color--slate--100,#b8bdd1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate200: \"var(--smar--com--color--slate--200,#a6acc4)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate300: \"var(--smar--com--color--slate--300,#878dab)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate400: \"var(--smar--com--color--slate--400,#6b7394)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate500: \"var(--smar--com--color--slate--500,#5f6786)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate600: \"var(--smar--com--color--slate--600,#4c5470)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate700: \"var(--smar--com--color--slate--700,#363c54)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate800: \"var(--smar--com--color--slate--800,#212536)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate900: \"var(--smar--com--color--slate--900,#11131d)\",\n red25: \"var(--smar--com--color--red--25,#fff5f6)\",\n red35: \"var(--smar--com--color--red--35,#ffebed)\",\n red50: \"var(--smar--com--color--red--50,#ffe0e3)\",\n red60: \"var(--smar--com--color--red--60,#fed7da)\",\n red75: \"var(--smar--com--color--red--75,#fbc6c9)\",\n red100: \"var(--smar--com--color--red--100,#f7abb0)\",\n red200: \"var(--smar--com--color--red--200,#f29298)\",\n red300: \"var(--smar--com--color--red--300,#e96d75)\",\n red400: \"var(--smar--com--color--red--400,#df2a36)\",\n red500: \"var(--smar--com--color--red--500,#ce1723)\",\n red600: \"var(--smar--com--color--red--600,#ab0d17)\",\n red700: \"var(--smar--com--color--red--700,#7f050d)\",\n red800: \"var(--smar--com--color--red--800,#570006)\",\n red900: \"var(--smar--com--color--red--900,#330003)\",\n pink25: \"var(--smar--com--color--pink--25,#fff5fa)\",\n pink35: \"var(--smar--com--color--pink--35,#ffebf6)\",\n pink50: \"var(--smar--com--color--pink--50,#fee1f2)\",\n pink60: \"var(--smar--com--color--pink--60,#fdd3ec)\",\n pink75: \"var(--smar--com--color--pink--75,#fdc4e4)\",\n pink100: \"var(--smar--com--color--pink--100,#f9a4d6)\",\n pink200: \"var(--smar--com--color--pink--200,#f589c8)\",\n pink300: \"var(--smar--com--color--pink--300,#e76ab3)\",\n pink400: \"var(--smar--com--color--pink--400,#ce3b91)\",\n pink500: \"var(--smar--com--color--pink--500,#b53680)\",\n pink600: \"var(--smar--com--color--pink--600,#992468)\",\n pink700: \"var(--smar--com--color--pink--700,#73114a)\",\n pink800: \"var(--smar--com--color--pink--800,#4c062f)\",\n pink900: \"var(--smar--com--color--pink--900,#2e001c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose25: \"var(--smar--com--color--rose--25,#fff5fa)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose35: \"var(--smar--com--color--rose--35,#ffebf6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose50: \"var(--smar--com--color--rose--50,#fee1f2)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose60: \"var(--smar--com--color--rose--60,#fdd3ec)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose75: \"var(--smar--com--color--rose--75,#fdc4e4)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose100: \"var(--smar--com--color--rose--100,#f9a4d6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose200: \"var(--smar--com--color--rose--200,#f589c8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose300: \"var(--smar--com--color--rose--300,#e76ab3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose400: \"var(--smar--com--color--rose--400,#ce3b91)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose500: \"var(--smar--com--color--rose--500,#b53680)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose600: \"var(--smar--com--color--rose--600,#992468)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose700: \"var(--smar--com--color--rose--700,#73114a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose800: \"var(--smar--com--color--rose--800,#4c062f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose900: \"var(--smar--com--color--rose--900,#2e001c)\",\n orchid25: \"var(--smar--com--color--orchid--25,#fdf5ff)\",\n orchid35: \"var(--smar--com--color--orchid--35,#fcebff)\",\n orchid50: \"var(--smar--com--color--orchid--50,#f8ddfd)\",\n orchid60: \"var(--smar--com--color--orchid--60,#f5d0fb)\",\n orchid75: \"var(--smar--com--color--orchid--75,#f0c3f8)\",\n orchid100: \"var(--smar--com--color--orchid--100,#e5a7f1)\",\n orchid200: \"var(--smar--com--color--orchid--200,#db91e8)\",\n orchid300: \"var(--smar--com--color--orchid--300,#ce73de)\",\n orchid400: \"var(--smar--com--color--orchid--400,#b53dcc)\",\n orchid500: \"var(--smar--com--color--orchid--500,#a531b9)\",\n orchid600: \"var(--smar--com--color--orchid--600,#8b259d)\",\n orchid700: \"var(--smar--com--color--orchid--700,#661575)\",\n orchid800: \"var(--smar--com--color--orchid--800,#41064b)\",\n orchid900: \"var(--smar--com--color--orchid--900,#27002d)\",\n violet25: \"var(--smar--com--color--violet--25,#f8f5ff)\",\n violet35: \"var(--smar--com--color--violet--35,#f5f0ff)\",\n violet50: \"var(--smar--com--color--violet--50,#ebe0ff)\",\n violet60: \"var(--smar--com--color--violet--60,#e0d1ff)\",\n violet75: \"var(--smar--com--color--violet--75,#d6c2ff)\",\n violet100: \"var(--smar--com--color--violet--100,#c9adff)\",\n violet200: \"var(--smar--com--color--violet--200,#bb99ff)\",\n violet300: \"var(--smar--com--color--violet--300,#a87efb)\",\n violet400: \"var(--smar--com--color--violet--400,#8959e8)\",\n violet500: \"var(--smar--com--color--violet--500,#7847dc)\",\n violet600: \"var(--smar--com--color--violet--600,#6329d6)\",\n violet700: \"var(--smar--com--color--violet--700,#440fae)\",\n violet800: \"var(--smar--com--color--violet--800,#26026e)\",\n violet900: \"var(--smar--com--color--violet--900,#160042)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo25: \"var(--smar--com--color--indigo--25,#f8f5ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo35: \"var(--smar--com--color--indigo--35,#f5f0ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo50: \"var(--smar--com--color--indigo--50,#ebe0ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo60: \"var(--smar--com--color--indigo--60,#e0d1ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo75: \"var(--smar--com--color--indigo--75,#d6c2ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo100: \"var(--smar--com--color--indigo--100,#c9adff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo200: \"var(--smar--com--color--indigo--200,#bb99ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo300: \"var(--smar--com--color--indigo--300,#a87efb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo400: \"var(--smar--com--color--indigo--400,#8959e8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo500: \"var(--smar--com--color--indigo--500,#7847dc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo600: \"var(--smar--com--color--indigo--600,#6329d6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo700: \"var(--smar--com--color--indigo--700,#440fae)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo800: \"var(--smar--com--color--indigo--800,#26026e)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo900: \"var(--smar--com--color--indigo--900,#160042)\",\n blue25: \"var(--smar--com--color--blue--25,#f5f8ff)\",\n blue35: \"var(--smar--com--color--blue--35,#ebf1ff)\",\n blue50: \"var(--smar--com--color--blue--50,#dbe6ff)\",\n blue60: \"var(--smar--com--color--blue--60,#c7d8ff)\",\n blue75: \"var(--smar--com--color--blue--75,#b8cdff)\",\n blue100: \"var(--smar--com--color--blue--100,#9ebbff)\",\n blue200: \"var(--smar--com--color--blue--200,#80a6ff)\",\n blue300: \"var(--smar--com--color--blue--300,#6692fa)\",\n blue400: \"var(--smar--com--color--blue--400,#3a6fe9)\",\n blue500: \"var(--smar--com--color--blue--500,#2d60d7)\",\n blue600: \"var(--smar--com--color--blue--600,#184bc3)\",\n blue700: \"var(--smar--com--color--blue--700,#0d3491)\",\n blue800: \"var(--smar--com--color--blue--800,#031c59)\",\n blue900: \"var(--smar--com--color--blue--900,#000f33)\",\n azure25: \"var(--smar--com--color--azure--25,#ebfaff)\",\n azure35: \"var(--smar--com--color--azure--35,#d8f5fd)\",\n azure50: \"var(--smar--com--color--azure--50,#c6effa)\",\n azure60: \"var(--smar--com--color--azure--60,#b6e8f7)\",\n azure75: \"var(--smar--com--color--azure--75,#98dcf1)\",\n azure100: \"var(--smar--com--color--azure--100,#6acae7)\",\n azure200: \"var(--smar--com--color--azure--200,#3ab9df)\",\n azure300: \"var(--smar--com--color--azure--300,#1ea0c8)\",\n azure400: \"var(--smar--com--color--azure--400,#157e9d)\",\n azure500: \"var(--smar--com--color--azure--500,#10718e)\",\n azure600: \"var(--smar--com--color--azure--600,#0b5c75)\",\n azure700: \"var(--smar--com--color--azure--700,#064355)\",\n azure800: \"var(--smar--com--color--azure--800,#022a36)\",\n azure900: \"var(--smar--com--color--azure--900,#001f33)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua25: \"var(--smar--com--color--aqua--25,#e8fdf9)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua35: \"var(--smar--com--color--aqua--35,#d2f9f1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua50: \"var(--smar--com--color--aqua--50,#b5f2e6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua60: \"var(--smar--com--color--aqua--60,#9cecdc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua75: \"var(--smar--com--color--aqua--75,#86e4d1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua100: \"var(--smar--com--color--aqua--100,#5ad3bb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua200: \"var(--smar--com--color--aqua--200,#30c0a3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua300: \"var(--smar--com--color--aqua--300,#28a98f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua400: \"var(--smar--com--color--aqua--400,#1c826d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua500: \"var(--smar--com--color--aqua--500,#167461)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua600: \"var(--smar--com--color--aqua--600,#0f6151)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua700: \"var(--smar--com--color--aqua--700,#084438)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua800: \"var(--smar--com--color--aqua--800,#042a23)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua900: \"var(--smar--com--color--aqua--900,#001a17)\",\n teal25: \"var(--smar--com--color--teal--25,#e8fdf9)\",\n teal35: \"var(--smar--com--color--teal--35,#d2f9f1)\",\n teal50: \"var(--smar--com--color--teal--50,#b5f2e6)\",\n teal60: \"var(--smar--com--color--teal--60,#9cecdc)\",\n teal75: \"var(--smar--com--color--teal--75,#86e4d1)\",\n teal100: \"var(--smar--com--color--teal--100,#5ad3bb)\",\n teal200: \"var(--smar--com--color--teal--200,#30c0a3)\",\n teal300: \"var(--smar--com--color--teal--300,#28a98f)\",\n teal400: \"var(--smar--com--color--teal--400,#1c826d)\",\n teal500: \"var(--smar--com--color--teal--500,#167461)\",\n teal600: \"var(--smar--com--color--teal--600,#0f6151)\",\n teal700: \"var(--smar--com--color--teal--700,#084438)\",\n teal800: \"var(--smar--com--color--teal--800,#042a23)\",\n teal900: \"var(--smar--com--color--teal--900,#001a17)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint25: \"var(--smar--com--color--mint--25,#e7fdeb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint35: \"var(--smar--com--color--mint--35,#d2f9d8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint50: \"var(--smar--com--color--mint--50,#b9f4c3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint60: \"var(--smar--com--color--mint--60,#a1edad)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint75: \"var(--smar--com--color--mint--75,#8ee69d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint100: \"var(--smar--com--color--mint--100,#62d574)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint200: \"var(--smar--com--color--mint--200,#32c84c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint300: \"var(--smar--com--color--mint--300,#29ae40)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint400: \"var(--smar--com--color--mint--400,#1d862f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint500: \"var(--smar--com--color--mint--500,#177827)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint600: \"var(--smar--com--color--mint--600,#0f621c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint700: \"var(--smar--com--color--mint--700,#094814)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint800: \"var(--smar--com--color--mint--800,#042f0a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint900: \"var(--smar--com--color--mint--900,#081a00)\",\n green25: \"var(--smar--com--color--green--25,#e7fdeb)\",\n green35: \"var(--smar--com--color--green--35,#d2f9d8)\",\n green50: \"var(--smar--com--color--green--50,#b9f4c3)\",\n green60: \"var(--smar--com--color--green--60,#a1edad)\",\n green75: \"var(--smar--com--color--green--75,#8ee69d)\",\n green100: \"var(--smar--com--color--green--100,#62d574)\",\n green200: \"var(--smar--com--color--green--200,#32c84c)\",\n green300: \"var(--smar--com--color--green--300,#29ae40)\",\n green400: \"var(--smar--com--color--green--400,#1d862f)\",\n green500: \"var(--smar--com--color--green--500,#177827)\",\n green600: \"var(--smar--com--color--green--600,#0f621c)\",\n green700: \"var(--smar--com--color--green--700,#094814)\",\n green800: \"var(--smar--com--color--green--800,#042f0a)\",\n green900: \"var(--smar--com--color--green--900,#081a00)\",\n yellow25: \"var(--smar--com--color--yellow--25,#fff6e0)\",\n yellow35: \"var(--smar--com--color--yellow--35,#fff0cc)\",\n yellow50: \"var(--smar--com--color--yellow--50,#fde6af)\",\n yellow60: \"var(--smar--com--color--yellow--60,#fbda8d)\",\n yellow75: \"var(--smar--com--color--yellow--75,#f9cd67)\",\n yellow100: \"var(--smar--com--color--yellow--100,#efb32a)\",\n yellow200: \"var(--smar--com--color--yellow--200,#dea41b)\",\n yellow300: \"var(--smar--com--color--yellow--300,#bf8e1d)\",\n yellow400: \"var(--smar--com--color--yellow--400,#966e13)\",\n yellow500: \"var(--smar--com--color--yellow--500,#88620c)\",\n yellow600: \"var(--smar--com--color--yellow--600,#705006)\",\n yellow700: \"var(--smar--com--color--yellow--700,#543b03)\",\n yellow800: \"var(--smar--com--color--yellow--800,#322301)\",\n yellow900: \"var(--smar--com--color--yellow--900,#1a1200)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold25: \"var(--smar--com--color--gold--25,#fff6e0)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold35: \"var(--smar--com--color--gold--35,#fff0cc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold50: \"var(--smar--com--color--gold--50,#fde6af)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold60: \"var(--smar--com--color--gold--60,#fbda8d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold75: \"var(--smar--com--color--gold--75,#f9cd67)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold100: \"var(--smar--com--color--gold--100,#efb32a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold200: \"var(--smar--com--color--gold--200,#dea41b)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold300: \"var(--smar--com--color--gold--300,#bf8e1d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold400: \"var(--smar--com--color--gold--400,#966e13)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold500: \"var(--smar--com--color--gold--500,#88620c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold600: \"var(--smar--com--color--gold--600,#705006)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold700: \"var(--smar--com--color--gold--700,#543b03)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold800: \"var(--smar--com--color--gold--800,#322301)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold900: \"var(--smar--com--color--gold--900,#1a1200)\",\n orange25: \"var(--smar--com--color--orange--25,#fff6f5)\",\n orange35: \"var(--smar--com--color--orange--35,#ffeeeb)\",\n orange50: \"var(--smar--com--color--orange--50,#ffe1dc)\",\n orange60: \"var(--smar--com--color--orange--60,#fed5cd)\",\n orange75: \"var(--smar--com--color--orange--75,#fec8be)\",\n orange100: \"var(--smar--com--color--orange--100,#fda796)\",\n orange200: \"var(--smar--com--color--orange--200,#fb8f79)\",\n orange300: \"var(--smar--com--color--orange--300,#f06b51)\",\n orange400: \"var(--smar--com--color--orange--400,#d64529)\",\n orange500: \"var(--smar--com--color--orange--500,#b84028)\",\n orange600: \"var(--smar--com--color--orange--600,#973421)\",\n orange700: \"var(--smar--com--color--orange--700,#732111)\",\n orange800: \"var(--smar--com--color--orange--800,#4c1106)\",\n orange900: \"var(--smar--com--color--orange--900,#2d0800)\"\n};\n//# sourceMappingURL=ursaColors.js.map","/**\n * The standard colors available to designs in Ursa a.k.a. New Views a.k.a. Smartsheet Design\n * System. This file was generated by Style Dictionary in the @smartsheet/design-tokens package.\n */\n\nexport const colors = {\n focus: \"#1F66FF\",\n // blue400 hardcoded\n linkDark: \"#0F3B99\",\n // blue700 hardcoded\n linkDefault: \"#1957DE\",\n // blue500 hardcoded\n neutral25: \"#f5f6fa\",\n neutral35: \"#eef0f6\",\n neutral50: \"#e5e7f0\",\n neutral60: \"#dcdeea\",\n neutral75: \"#d0d3e2\",\n neutral100: \"#b8bdd1\",\n neutral200: \"#a6acc4\",\n neutral300: \"#878dab\",\n neutral400: \"#6b7394\",\n neutral500: \"#5f6786\",\n neutral600: \"#4c5470\",\n neutral700: \"#363c54\",\n neutral800: \"#212536\",\n neutral900: \"#11131d\",\n neutral00: \"#ffffff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate25: \"#f5f6fa\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate35: \"#eef0f6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate50: \"#e5e7f0\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate60: \"#dcdeea\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate75: \"#d0d3e2\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate100: \"#b8bdd1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate200: \"#a6acc4\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate300: \"#878dab\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate400: \"#6b7394\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate500: \"#5f6786\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate600: \"#4c5470\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate700: \"#363c54\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate800: \"#212536\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate900: \"#11131d\",\n red25: \"#fff5f6\",\n red35: \"#ffebed\",\n red50: \"#ffe0e3\",\n red60: \"#fed7da\",\n red75: \"#fbc6c9\",\n red100: \"#f7abb0\",\n red200: \"#f29298\",\n red300: \"#e96d75\",\n red400: \"#df2a36\",\n red500: \"#ce1723\",\n red600: \"#ab0d17\",\n red700: \"#7f050d\",\n red800: \"#570006\",\n red900: \"#330003\",\n pink25: \"#fff5fa\",\n pink35: \"#ffebf6\",\n pink50: \"#fee1f2\",\n pink60: \"#fdd3ec\",\n pink75: \"#fdc4e4\",\n pink100: \"#f9a4d6\",\n pink200: \"#f589c8\",\n pink300: \"#e76ab3\",\n pink400: \"#ce3b91\",\n pink500: \"#b53680\",\n pink600: \"#992468\",\n pink700: \"#73114a\",\n pink800: \"#4c062f\",\n pink900: \"#2e001c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose25: \"#fff5fa\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose35: \"#ffebf6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose50: \"#fee1f2\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose60: \"#fdd3ec\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose75: \"#fdc4e4\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose100: \"#f9a4d6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose200: \"#f589c8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose300: \"#e76ab3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose400: \"#ce3b91\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose500: \"#b53680\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose600: \"#992468\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose700: \"#73114a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose800: \"#4c062f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose900: \"#2e001c\",\n orchid25: \"#fdf5ff\",\n orchid35: \"#fcebff\",\n orchid50: \"#f8ddfd\",\n orchid60: \"#f5d0fb\",\n orchid75: \"#f0c3f8\",\n orchid100: \"#e5a7f1\",\n orchid200: \"#db91e8\",\n orchid300: \"#ce73de\",\n orchid400: \"#b53dcc\",\n orchid500: \"#a531b9\",\n orchid600: \"#8b259d\",\n orchid700: \"#661575\",\n orchid800: \"#41064b\",\n orchid900: \"#27002d\",\n violet25: \"#f8f5ff\",\n violet35: \"#f5f0ff\",\n violet50: \"#ebe0ff\",\n violet60: \"#e0d1ff\",\n violet75: \"#d6c2ff\",\n violet100: \"#c9adff\",\n violet200: \"#bb99ff\",\n violet300: \"#a87efb\",\n violet400: \"#8959e8\",\n violet500: \"#7847dc\",\n violet600: \"#6329d6\",\n violet700: \"#440fae\",\n violet800: \"#26026e\",\n violet900: \"#160042\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo25: \"#f8f5ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo35: \"#f5f0ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo50: \"#ebe0ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo60: \"#e0d1ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo75: \"#d6c2ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo100: \"#c9adff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo200: \"#bb99ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo300: \"#a87efb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo400: \"#8959e8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo500: \"#7847dc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo600: \"#6329d6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo700: \"#440fae\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo800: \"#26026e\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo900: \"#160042\",\n blue25: \"#f5f8ff\",\n blue35: \"#ebf1ff\",\n blue50: \"#dbe6ff\",\n blue60: \"#c7d8ff\",\n blue75: \"#b8cdff\",\n blue100: \"#9ebbff\",\n blue200: \"#80a6ff\",\n blue300: \"#6692fa\",\n blue400: \"#3a6fe9\",\n blue500: \"#2d60d7\",\n blue600: \"#184bc3\",\n blue700: \"#0d3491\",\n blue800: \"#031c59\",\n blue900: \"#000f33\",\n azure25: \"#ebfaff\",\n azure35: \"#d8f5fd\",\n azure50: \"#c6effa\",\n azure60: \"#b6e8f7\",\n azure75: \"#98dcf1\",\n azure100: \"#6acae7\",\n azure200: \"#3ab9df\",\n azure300: \"#1ea0c8\",\n azure400: \"#157e9d\",\n azure500: \"#10718e\",\n azure600: \"#0b5c75\",\n azure700: \"#064355\",\n azure800: \"#022a36\",\n azure900: \"#001f33\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua25: \"#e8fdf9\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua35: \"#d2f9f1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua50: \"#b5f2e6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua60: \"#9cecdc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua75: \"#86e4d1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua100: \"#5ad3bb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua200: \"#30c0a3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua300: \"#28a98f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua400: \"#1c826d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua500: \"#167461\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua600: \"#0f6151\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua700: \"#084438\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua800: \"#042a23\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua900: \"#001a17\",\n teal25: \"#e8fdf9\",\n teal35: \"#d2f9f1\",\n teal50: \"#b5f2e6\",\n teal60: \"#9cecdc\",\n teal75: \"#86e4d1\",\n teal100: \"#5ad3bb\",\n teal200: \"#30c0a3\",\n teal300: \"#28a98f\",\n teal400: \"#1c826d\",\n teal500: \"#167461\",\n teal600: \"#0f6151\",\n teal700: \"#084438\",\n teal800: \"#042a23\",\n teal900: \"#001a17\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint25: \"#e7fdeb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint35: \"#d2f9d8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint50: \"#b9f4c3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint60: \"#a1edad\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint75: \"#8ee69d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint100: \"#62d574\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint200: \"#32c84c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint300: \"#29ae40\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint400: \"#1d862f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint500: \"#177827\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint600: \"#0f621c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint700: \"#094814\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint800: \"#042f0a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint900: \"#081a00\",\n green25: \"#e7fdeb\",\n green35: \"#d2f9d8\",\n green50: \"#b9f4c3\",\n green60: \"#a1edad\",\n green75: \"#8ee69d\",\n green100: \"#62d574\",\n green200: \"#32c84c\",\n green300: \"#29ae40\",\n green400: \"#1d862f\",\n green500: \"#177827\",\n green600: \"#0f621c\",\n green700: \"#094814\",\n green800: \"#042f0a\",\n green900: \"#081a00\",\n yellow25: \"#fff6e0\",\n yellow35: \"#fff0cc\",\n yellow50: \"#fde6af\",\n yellow60: \"#fbda8d\",\n yellow75: \"#f9cd67\",\n yellow100: \"#efb32a\",\n yellow200: \"#dea41b\",\n yellow300: \"#bf8e1d\",\n yellow400: \"#966e13\",\n yellow500: \"#88620c\",\n yellow600: \"#705006\",\n yellow700: \"#543b03\",\n yellow800: \"#322301\",\n yellow900: \"#1a1200\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold25: \"#fff6e0\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold35: \"#fff0cc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold50: \"#fde6af\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold60: \"#fbda8d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold75: \"#f9cd67\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold100: \"#efb32a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold200: \"#dea41b\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold300: \"#bf8e1d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold400: \"#966e13\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold500: \"#88620c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold600: \"#705006\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold700: \"#543b03\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold800: \"#322301\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold900: \"#1a1200\",\n orange25: \"#fff6f5\",\n orange35: \"#ffeeeb\",\n orange50: \"#ffe1dc\",\n orange60: \"#fed5cd\",\n orange75: \"#fec8be\",\n orange100: \"#fda796\",\n orange200: \"#fb8f79\",\n orange300: \"#f06b51\",\n orange400: \"#d64529\",\n orange500: \"#b84028\",\n orange600: \"#973421\",\n orange700: \"#732111\",\n orange800: \"#4c1106\",\n orange900: \"#2d0800\"\n};\n//# sourceMappingURL=ursaColorsInternal.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the lodestar-light theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const lodestarLightColors = {\n colorBackgroundAiIconWrapperDefault: \"#f5f5fe\",\n colorBackgroundDestructiveDefault: \"#d03340\",\n colorBackgroundDestructiveStrong: \"#a62833\",\n colorBackgroundDestructiveStronger: \"#7c1e26\",\n colorBackgroundDestructiveStrongest: \"#531419\",\n colorBackgroundDestructiveWeak: \"#db656f\",\n colorBackgroundDestructiveWeaker: \"#e4969c\",\n colorBackgroundDestructiveWeakest: \"#efc8cb\",\n colorBackgroundErrorDefault: \"#d14424\",\n colorBackgroundErrorWeak: \"#ffe0d7\",\n colorBackgroundErrorWeaker: \"#fff3ef\",\n colorBackgroundInfoDefault: \"#007cc5\",\n colorBackgroundInfoWeak: \"#a7c1e4\",\n colorBackgroundInfoWeaker: \"#d8e4fa\",\n colorBackgroundNeutralDefault: \"#e0e0e0\",\n colorBackgroundNeutralStrong: \"#c0c0c0\",\n colorBackgroundNeutralStronger: \"#979797\",\n colorBackgroundNeutralStrongest: \"#444444\",\n colorBackgroundNeutralWeak: \"#ebebeb\",\n colorBackgroundNeutralWeaker: \"#f2f2f2\",\n colorBackgroundNeutralWeakest: \"#ffffff\",\n colorBackgroundNeutralInverseDefault: \"#979797\",\n colorBackgroundNeutralInverseStrong: \"#727272\",\n colorBackgroundNeutralInverseStronger: \"#444444\",\n colorBackgroundNeutralInverseStrongest: \"#444444\",\n colorBackgroundNeutralInverseWeak: \"#c0c0c0\",\n colorBackgroundNeutralInverseWeaker: \"#e0e0e0\",\n colorBackgroundNeutralInverseWeakest: \"#ebebeb\",\n colorBackgroundNotificationsDefault: \"#d14424\",\n colorBackgroundNotificationsWeak: \"#007cc5\",\n colorBackgroundPrimaryDefault: \"#5996d6\",\n colorBackgroundPrimaryStrong: \"#007cc5\",\n colorBackgroundPrimaryStronger: \"#004173\",\n colorBackgroundPrimaryStrongest: \"#002847\",\n colorBackgroundPrimaryWeak: \"#a7c1e4\",\n colorBackgroundPrimaryWeaker: \"#d8e4fa\",\n colorBackgroundPrimaryWeakest: \"#f0f5fd\",\n colorBackgroundSlateDefault: \"#e0e0e0\",\n colorBackgroundSlateStrong: \"#c0c0c0\",\n colorBackgroundSlateStronger: \"#979797\",\n colorBackgroundSlateStrongest: \"#444444\",\n colorBackgroundSlateWeak: \"#ebebeb\",\n colorBackgroundSlateWeaker: \"#f2f2f2\",\n colorBackgroundSlateWeakest: \"#ffffff\",\n colorBackgroundSlateInverseDefault: \"#979797\",\n colorBackgroundSlateInverseStrong: \"#727272\",\n colorBackgroundSlateInverseStronger: \"#444444\",\n colorBackgroundSlateInverseStrongest: \"#444444\",\n colorBackgroundSlateInverseWeak: \"#c0c0c0\",\n colorBackgroundSlateInverseWeaker: \"#e0e0e0\",\n colorBackgroundSlateInverseWeakest: \"#ebebeb\",\n colorBackgroundSpectrumAquaDefault: \"#4eaa9b\",\n colorBackgroundSpectrumAquaStrong: \"#008476\",\n colorBackgroundSpectrumAquaStronger: \"#004e43\",\n colorBackgroundSpectrumAquaStrongest: \"#002923\",\n colorBackgroundSpectrumAquaWeak: \"#a1c9c2\",\n colorBackgroundSpectrumAquaWeaker: \"#dceae7\",\n colorBackgroundSpectrumAquaWeakest: \"#f1f7f6\",\n colorBackgroundSpectrumAzureDefault: \"#5996d6\",\n colorBackgroundSpectrumAzureStrong: \"#007cc5\",\n colorBackgroundSpectrumAzureStronger: \"#004173\",\n colorBackgroundSpectrumAzureStrongest: \"#002847\",\n colorBackgroundSpectrumAzureWeak: \"#a7c1e4\",\n colorBackgroundSpectrumAzureWeaker: \"#d8e4fa\",\n colorBackgroundSpectrumAzureWeakest: \"#f0f5fd\",\n colorBackgroundSpectrumBlueDefault: \"#5996d6\",\n colorBackgroundSpectrumBlueStrong: \"#007cc5\",\n colorBackgroundSpectrumBlueStronger: \"#004173\",\n colorBackgroundSpectrumBlueStrongest: \"#002847\",\n colorBackgroundSpectrumBlueWeak: \"#a7c1e4\",\n colorBackgroundSpectrumBlueWeaker: \"#d8e4fa\",\n colorBackgroundSpectrumBlueWeakest: \"#f0f5fd\",\n colorBackgroundSpectrumGoldDefault: \"#e18502\",\n colorBackgroundSpectrumGoldStrong: \"#ab6600\",\n colorBackgroundSpectrumGoldStronger: \"#653300\",\n colorBackgroundSpectrumGoldStrongest: \"#492400\",\n colorBackgroundSpectrumGoldWeak: \"#ffb761\",\n colorBackgroundSpectrumGoldWeaker: \"#fee3c0\",\n colorBackgroundSpectrumGoldWeakest: \"#fff4e6\",\n colorBackgroundSpectrumGreenDefault: \"#70a13c\",\n colorBackgroundSpectrumGreenStrong: \"#488306\",\n colorBackgroundSpectrumGreenStronger: \"#275600\",\n colorBackgroundSpectrumGreenStrongest: \"#193700\",\n colorBackgroundSpectrumGreenWeak: \"#b2c997\",\n colorBackgroundSpectrumGreenWeaker: \"#e1ebd6\",\n colorBackgroundSpectrumGreenWeakest: \"#f3f7ef\",\n colorBackgroundSpectrumIndigoDefault: \"#848be9\",\n colorBackgroundSpectrumIndigoStrong: \"#566ae3\",\n colorBackgroundSpectrumIndigoStronger: \"#0c3491\",\n colorBackgroundSpectrumIndigoStrongest: \"#0c245b\",\n colorBackgroundSpectrumIndigoWeak: \"#bab8f1\",\n colorBackgroundSpectrumIndigoWeaker: \"#e6e5fa\",\n colorBackgroundSpectrumIndigoWeakest: \"#f5f5fe\",\n colorBackgroundSpectrumMintDefault: \"#01af6a\",\n colorBackgroundSpectrumMintStrong: \"#008c54\",\n colorBackgroundSpectrumMintStronger: \"#00693f\",\n colorBackgroundSpectrumMintStrongest: \"#00462a\",\n colorBackgroundSpectrumMintWeak: \"#40c28f\",\n colorBackgroundSpectrumMintWeaker: \"#7dd4b1\",\n colorBackgroundSpectrumMintWeakest: \"#bbe7d6\",\n colorBackgroundSpectrumNeutralDefault: \"#c0c0c0\",\n colorBackgroundSpectrumNeutralStrong: \"#979797\",\n colorBackgroundSpectrumNeutralStronger: \"#727272\",\n colorBackgroundSpectrumNeutralStrongest: \"#444444\",\n colorBackgroundSpectrumNeutralWeak: \"#e0e0e0\",\n colorBackgroundSpectrumNeutralWeaker: \"#ebebeb\",\n colorBackgroundSpectrumNeutralWeakest: \"#f2f2f2\",\n colorBackgroundSpectrumOrangeDefault: \"#e18502\",\n colorBackgroundSpectrumOrangeStrong: \"#ab6600\",\n colorBackgroundSpectrumOrangeStronger: \"#653300\",\n colorBackgroundSpectrumOrangeStrongest: \"#492400\",\n colorBackgroundSpectrumOrangeWeak: \"#ffb761\",\n colorBackgroundSpectrumOrangeWeaker: \"#fee3c0\",\n colorBackgroundSpectrumOrangeWeakest: \"#fff4e6\",\n colorBackgroundSpectrumOrchidDefault: \"#c76ca1\",\n colorBackgroundSpectrumOrchidStrong: \"#b94d90\",\n colorBackgroundSpectrumOrchidStronger: \"#8b2066\",\n colorBackgroundSpectrumOrchidStrongest: \"#610e44\",\n colorBackgroundSpectrumOrchidWeak: \"#e5b8d1\",\n colorBackgroundSpectrumOrchidWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumOrchidWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumPinkDefault: \"#c76ca1\",\n colorBackgroundSpectrumPinkStrong: \"#b94d90\",\n colorBackgroundSpectrumPinkStronger: \"#8b2066\",\n colorBackgroundSpectrumPinkStrongest: \"#610e44\",\n colorBackgroundSpectrumPinkWeak: \"#e5b8d1\",\n colorBackgroundSpectrumPinkWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumPinkWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumRedDefault: \"#ee6f4c\",\n colorBackgroundSpectrumRedStrong: \"#d14424\",\n colorBackgroundSpectrumRedStronger: \"#9d0c00\",\n colorBackgroundSpectrumRedStrongest: \"#6d0800\",\n colorBackgroundSpectrumRedWeak: \"#f6b09d\",\n colorBackgroundSpectrumRedWeaker: \"#ffe0d7\",\n colorBackgroundSpectrumRedWeakest: \"#fff3ef\",\n colorBackgroundSpectrumRoseDefault: \"#c76ca1\",\n colorBackgroundSpectrumRoseStrong: \"#b94d90\",\n colorBackgroundSpectrumRoseStronger: \"#8b2066\",\n colorBackgroundSpectrumRoseStrongest: \"#610e44\",\n colorBackgroundSpectrumRoseWeak: \"#e5b8d1\",\n colorBackgroundSpectrumRoseWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumRoseWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumSlateDefault: \"#c0c0c0\",\n colorBackgroundSpectrumSlateStrong: \"#979797\",\n colorBackgroundSpectrumSlateStronger: \"#727272\",\n colorBackgroundSpectrumSlateStrongest: \"#444444\",\n colorBackgroundSpectrumSlateWeak: \"#e0e0e0\",\n colorBackgroundSpectrumSlateWeaker: \"#ebebeb\",\n colorBackgroundSpectrumSlateWeakest: \"#f2f2f2\",\n colorBackgroundSpectrumTealDefault: \"#4eaa9b\",\n colorBackgroundSpectrumTealStrong: \"#008476\",\n colorBackgroundSpectrumTealStronger: \"#004e43\",\n colorBackgroundSpectrumTealStrongest: \"#002923\",\n colorBackgroundSpectrumTealWeak: \"#a1c9c2\",\n colorBackgroundSpectrumTealWeaker: \"#dceae7\",\n colorBackgroundSpectrumTealWeakest: \"#f1f7f6\",\n colorBackgroundSpectrumVioletDefault: \"#848be9\",\n colorBackgroundSpectrumVioletStrong: \"#566ae3\",\n colorBackgroundSpectrumVioletStronger: \"#0c3491\",\n colorBackgroundSpectrumVioletStrongest: \"#0c245b\",\n colorBackgroundSpectrumVioletWeak: \"#bab8f1\",\n colorBackgroundSpectrumVioletWeaker: \"#e6e5fa\",\n colorBackgroundSpectrumVioletWeakest: \"#f5f5fe\",\n colorBackgroundSpectrumYellowDefault: \"#e6a907\",\n colorBackgroundSpectrumYellowStrong: \"#996f00\",\n colorBackgroundSpectrumYellowStronger: \"#5a4000\",\n colorBackgroundSpectrumYellowStrongest: \"#3d2c00\",\n colorBackgroundSpectrumYellowWeak: \"#f5cf6a\",\n colorBackgroundSpectrumYellowWeaker: \"#ffefc5\",\n colorBackgroundSpectrumYellowWeakest: \"#fff8e7\",\n colorBackgroundSuccessDefault: \"#008c54\",\n colorBackgroundSuccessWeak: \"#7dd4b1\",\n colorBackgroundSuccessWeaker: \"#bbe7d6\",\n colorBackgroundSurfacesBody: \"#ffffff\",\n colorBackgroundSurfacesCanvas: \"#ffffff\",\n colorBackgroundSurfacesOverlay: \"#000000\",\n colorBackgroundSurfacesStage: \"#111111\",\n colorBackgroundSurfacesWork: \"#ffffff\",\n colorBackgroundWarningDefault: \"#cc9c31\",\n colorBackgroundWarningWeak: \"#fcde9b\",\n colorBackgroundWarningWeaker: \"#fbeccb\",\n colorBorderErrorDefault: \"#d03340\",\n colorBorderNeutralDefault: \"#c0c0c0\",\n colorBorderNeutralStrong: \"#979797\",\n colorBorderNeutralStronger: \"#727272\",\n colorBorderNeutralStrongest: \"#444444\",\n colorBorderNeutralWeak: \"#e0e0e0\",\n colorBorderNeutralWeaker: \"#ebebeb\",\n colorBorderNeutralWeakest: \"#f2f2f2\",\n colorBorderPrimaryDefault: \"#5996d6\",\n colorBorderPrimaryWeak: \"#a7c1e4\",\n colorBorderPrimaryWeaker: \"#d8e4fa\",\n colorBorderPrimaryWeakest: \"#f0f5fd\",\n colorBorderSlateDefault: \"#c0c0c0\",\n colorBorderSlateStrong: \"#979797\",\n colorBorderSlateStronger: \"#727272\",\n colorBorderSlateStrongest: \"#444444\",\n colorBorderSlateWeak: \"#e0e0e0\",\n colorBorderSlateWeaker: \"#ebebeb\",\n colorBorderSlateWeakest: \"#f2f2f2\",\n colorBorderSpectrumAquaDefault: \"#004e43\",\n colorBorderSpectrumAzureDefault: \"#004173\",\n colorBorderSpectrumBlueDefault: \"#004173\",\n colorBorderSpectrumSlateDefault: \"#727272\",\n colorBorderSpectrumGoldDefault: \"#997525\",\n colorBorderSpectrumGreenDefault: \"#275600\",\n colorBorderSpectrumIndigoDefault: \"#0c3491\",\n colorBorderSpectrumMintDefault: \"#00693f\",\n colorBorderSpectrumNeutralDefault: \"#727272\",\n colorBorderSpectrumOrangeDefault: \"#997525\",\n colorBorderSpectrumOrchidDefault: \"#8b2066\",\n colorBorderSpectrumPinkDefault: \"#8b2066\",\n colorBorderSpectrumRedDefault: \"#7c1e26\",\n colorBorderSpectrumRoseDefault: \"#8b2066\",\n colorBorderSpectrumTealDefault: \"#004e43\",\n colorBorderSpectrumVioletDefault: \"#0c3491\",\n colorBorderSpectrumYellowDefault: \"#5a4000\",\n colorBorderSuccessDefault: \"#01af6a\",\n colorBorderSurfacesBody: \"#ffffff\",\n colorBorderSurfacesCanvas: \"#ffffff\",\n colorBorderSurfacesFocus: \"#5996d6\",\n colorBorderSurfacesStage: \"#111111\",\n colorBorderSurfacesWork: \"#ffffff\",\n colorBorderWarningDefault: \"#ffc33e\",\n colorIconsNeutralDefault: \"#c0c0c0\",\n colorIconsNeutralStrong: \"#979797\",\n colorIconsNeutralStronger: \"#727272\",\n colorIconsNeutralStrongest: \"#444444\",\n colorIconsNeutralWeak: \"#f2f2f2\",\n colorIconsNeutralWeaker: \"#ebebeb\",\n colorIconsNeutralWeakest: \"#f2f2f2\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#f2f2f2\",\n colorIconsPrimaryDefault: \"#5996d6\",\n colorIconsPrimaryStrong: \"#007cc5\",\n colorIconsPrimaryStronger: \"#004173\",\n colorIconsPrimaryStrongest: \"#002847\",\n colorIconsPrimaryWeak: \"#a7c1e4\",\n colorIconsPrimaryWeaker: \"#d8e4fa\",\n colorIconsPrimaryWeakest: \"#f0f5fd\",\n colorIconsPrimaryInverseStronger: \"#a7c1e4\",\n colorIconsSlateDefault: \"#c0c0c0\",\n colorIconsSlateStrong: \"#979797\",\n colorIconsSlateStronger: \"#727272\",\n colorIconsSlateStrongest: \"#444444\",\n colorIconsSlateWeak: \"#f2f2f2\",\n colorIconsSlateWeaker: \"#ebebeb\",\n colorIconsSlateWeakest: \"#f2f2f2\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#f2f2f2\",\n colorIconsSpectrumAquaDefault: \"#004e43\",\n colorIconsSpectrumAzureDefault: \"#002847\",\n colorIconsSpectrumBlueDefault: \"#002847\",\n colorIconsSpectrumGoldDefault: \"#653300\",\n colorIconsSpectrumGreenDefault: \"#193700\",\n colorIconsSpectrumIndigoDefault: \"#0c245b\",\n colorIconsSpectrumIndigoWeak: \"#566ae3\",\n colorIconsSpectrumIndigoWeaker: \"#bab8f1\",\n colorIconsSpectrumIndigoWeakest: \"#e6e5fa\",\n colorIconsSpectrumMintDefault: \"#00462a\",\n colorIconsSpectrumNeutralDefault: \"#444444\",\n colorIconsSpectrumOrangeDefault: \"#653300\",\n colorIconsSpectrumOrchidDefault: \"#610e44\",\n colorIconsSpectrumPinkDefault: \"#610e44\",\n colorIconsSpectrumRedDefault: \"#6d0800\",\n colorIconsSpectrumRoseDefault: \"#610e44\",\n colorIconsSpectrumSlateDefault: \"#444444\",\n colorIconsSpectrumTealDefault: \"#004e43\",\n colorIconsSpectrumVioletDefault: \"#0c245b\",\n colorIconsSpectrumYellowDefault: \"#5a4000\",\n colorIconsSuccessDefault: \"#00693f\",\n colorIconsSuccessWeak: \"#008c54\",\n colorIconsWarningDefault: \"#997525\",\n colorIconsWarningWeak: \"#ffc33e\",\n colorIconsInfoDefault: \"#004173\",\n colorIconsInfoWeak: \"#007cc5\",\n colorIconsErrorDefault: \"#7c1e26\",\n colorIconsErrorWeak: \"#d03340\",\n colorIconsDestructiveDefault: \"#ee6f4c\",\n colorIconsDestructiveStrong: \"#d14424\",\n colorIconsDestructiveStronger: \"#9d0c00\",\n colorIconsDestructiveStrongest: \"#6d0800\",\n colorIconsDestructiveWeak: \"#f6b09d\",\n colorIconsDestructiveWeaker: \"#ffe0d7\",\n colorIconsDestructiveWeakest: \"#fff3ef\",\n colorIconsDestructiveInverseStronger: \"#fff3ef\",\n colorTextErrorDefault: \"#6d0800\",\n colorTextErrorWeak: \"#9d0c00\",\n colorTextInfoDefault: \"#3f4952\",\n colorTextInfoWeak: \"#5e6d7b\",\n colorTextNeutralDefault: \"#444444\",\n colorTextNeutralStrong: \"#111111\",\n colorTextNeutralWeak: \"#727272\",\n colorTextNeutralWeaker: \"#979797\",\n colorTextNeutralWeakest: \"#c0c0c0\",\n colorTextNeutralInverseDefault: \"#f2f2f2\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseWeak: \"#ebebeb\",\n colorTextPrimaryDefault: \"#5996d6\",\n colorTextPrimaryStrong: \"#007cc5\",\n colorTextPrimaryStronger: \"#004173\",\n colorTextPrimaryStrongest: \"#002847\",\n colorTextPrimaryWeak: \"#a7c1e4\",\n colorTextPrimaryWeaker: \"#d8e4fa\",\n colorTextPrimaryWeakest: \"#f0f5fd\",\n colorTextSlateDefault: \"#444444\",\n colorTextSlateStrong: \"#111111\",\n colorTextSlateWeak: \"#727272\",\n colorTextSlateWeaker: \"#979797\",\n colorTextSlateWeakest: \"#c0c0c0\",\n colorTextSlateInverseDefault: \"#f2f2f2\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseWeak: \"#ebebeb\",\n colorTextSpectrumAquaDefault: \"#004e43\",\n colorTextSpectrumAquaStrong: \"#002923\",\n colorTextSpectrumAzureDefault: \"#004173\",\n colorTextSpectrumAzureStrong: \"#002847\",\n colorTextSpectrumBlueDefault: \"#004173\",\n colorTextSpectrumBlueStrong: \"#002847\",\n colorTextSpectrumGoldDefault: \"#653300\",\n colorTextSpectrumGoldStrong: \"#492400\",\n colorTextSpectrumGreenDefault: \"#275600\",\n colorTextSpectrumGreenStrong: \"#193700\",\n colorTextSpectrumIndigoDefault: \"#0c3491\",\n colorTextSpectrumIndigoStrong: \"#0c245b\",\n colorTextSpectrumIndigoWeak: \"#566ae3\",\n colorTextSpectrumMintDefault: \"#00693f\",\n colorTextSpectrumMintStrong: \"#00462a\",\n colorTextSpectrumNeutralDefault: \"#727272\",\n colorTextSpectrumNeutralStrong: \"#444444\",\n colorTextSpectrumOrangeDefault: \"#653300\",\n colorTextSpectrumOrangeStrong: \"#492400\",\n colorTextSpectrumOrchidDefault: \"#8b2066\",\n colorTextSpectrumOrchidStrong: \"#610e44\",\n colorTextSpectrumPinkDefault: \"#8b2066\",\n colorTextSpectrumPinkStrong: \"#610e44\",\n colorTextSpectrumRedDefault: \"#9d0c00\",\n colorTextSpectrumRedStrong: \"#6d0800\",\n colorTextSpectrumRoseDefault: \"#8b2066\",\n colorTextSpectrumRoseStrong: \"#610e44\",\n colorTextSpectrumSlateDefault: \"#727272\",\n colorTextSpectrumSlateStrong: \"#444444\",\n colorTextSpectrumTealDefault: \"#004e43\",\n colorTextSpectrumTealStrong: \"#002923\",\n colorTextSpectrumVioletDefault: \"#0c3491\",\n colorTextSpectrumVioletStrong: \"#0c245b\",\n colorTextSpectrumYellowDefault: \"#5a4000\",\n colorTextSpectrumYellowStrong: \"#3d2c00\",\n colorTextSuccessDefault: \"#00462a\",\n colorTextSuccessWeak: \"#00693f\",\n colorTextWarningDefault: \"#664e18\",\n colorTextWarningWeak: \"#997525\",\n bannerBackgroundColorInfo: \"#CAE8FC\",\n bannerBackgroundColorWarning: \"#FFEECC\",\n bannerBackgroundColorError: \"#FAD1D4\",\n bannerBackgroundColorSuccess: \"#E0F2E4\",\n bannerTextColorInfo: \"#001F33\",\n bannerTextColorWarning: \"#4C1D00\",\n bannerTextColorError: \"#280104\",\n bannerTextColorSuccess: \"#001A06\",\n bannerIconColorInfo: \"#027ED1\",\n bannerIconColorWarning: \"#CC7E00\",\n bannerIconColorError: \"#C21823\",\n bannerIconColorSuccess: \"#067321\",\n symbolBackgroundColorYellowDefault: \"#ffc33e\",\n symbolBackgroundColorYellowHover: \"#fcde9b\",\n tooltipBackgroundColor: \"#444444\",\n elevationLow: \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n elevationDefault: \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n elevationHigh: \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n gradientNavigation: \"#003059\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n FocusIndicatorBorderPrimary: \"#005d95\",\n semanticErrorBackground: \"#fbc6c9\",\n semanticErrorBackgroundActive: \"#e4969c\",\n semanticErrorBackgroundHover: \"#e4969c\",\n semanticErrorIcon: \"#ab0d17\",\n semanticErrorText: \"#330003\",\n semanticErrorTextInline: \"#ab0d17\",\n semanticInfoBackground: \"#98dcf1\",\n semanticInfoBackgroundActive: \"#cbd8e3\",\n semanticInfoBackgroundHover: \"#cbd8e3\",\n semanticInfoIcon: \"#0b5c75\",\n semanticInfoText: \"#001f33\",\n semanticInfoTextInline: \"#0b5c75\",\n semanticSuccessBackground: \"#b9f4c3\",\n semanticSuccessBackgroundActive: \"#7dd4b1\",\n semanticSuccessBackgroundHover: \"#7dd4b1\",\n semanticSuccessIcon: \"#177827\",\n semanticSuccessText: \"#081a00\",\n semanticSuccessTextInline: \"#0f621c\",\n semanticWarningBackground: \"#f9cd67\",\n semanticWarningBackgroundActive: \"#fcde9b\",\n semanticWarningBackgroundHover: \"#fcde9b\",\n semanticWarningIcon: \"#543b03\",\n semanticWarningText: \"#1a1200\",\n semanticWarningTextInline: \"#543b03\",\n surfaceCanvasBackground: \"#ffffff\",\n surfaceWorkBackground: \"#ffffff\",\n surfaceWorkText: \"#111111\"\n};\n//# sourceMappingURL=lodestar-light.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the ursa-light theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const ursaLightColors = {\n colorBackgroundSurfacesOverlay: \"#242732\",\n colorBackgroundSurfacesStage: \"#363c54\",\n colorBackgroundSurfacesCanvas: \"#f5f6fa\",\n colorBackgroundSurfacesBody: \"#ffffff\",\n colorBackgroundSurfacesWork: \"#ffffff\",\n colorBackgroundNeutralWeakest: \"#eef0f6\",\n colorBackgroundNeutralWeaker: \"#e5e7f0\",\n colorBackgroundNeutralWeak: \"#dcdeea\",\n colorBackgroundNeutralDefault: \"#d0d3e2\",\n colorBackgroundNeutralStrong: \"#b8bdd1\",\n colorBackgroundNeutralStronger: \"#a6acc4\",\n colorBackgroundNeutralStrongest: \"#878dab\",\n colorBackgroundNeutralInverseWeakest: \"#a6acc4\",\n colorBackgroundNeutralInverseWeaker: \"#878dab\",\n colorBackgroundNeutralInverseWeak: \"#5f6786\",\n colorBackgroundNeutralInverseStrongest: \"#11131d\",\n colorBackgroundNeutralInverseStronger: \"#212536\",\n colorBackgroundNeutralInverseStrong: \"#363c54\",\n colorBackgroundNeutralInverseDefault: \"#4c5470\",\n colorBackgroundSlateStrongest: \"#878dab\",\n colorBackgroundSlateStronger: \"#a6acc4\",\n colorBackgroundSlateStrong: \"#b8bdd1\",\n colorBackgroundSlateDefault: \"#d0d3e2\",\n colorBackgroundSlateWeak: \"#dcdeea\",\n colorBackgroundSlateWeaker: \"#e5e7f0\",\n colorBackgroundSlateWeakest: \"#eef0f6\",\n colorBackgroundSlateInverseStrongest: \"#11131d\",\n colorBackgroundSlateInverseStronger: \"#212536\",\n colorBackgroundSlateInverseStrong: \"#363c54\",\n colorBackgroundSlateInverseDefault: \"#4c5470\",\n colorBackgroundSlateInverseWeak: \"#5f6786\",\n colorBackgroundSlateInverseWeaker: \"#878dab\",\n colorBackgroundSlateInverseWeakest: \"#a6acc4\",\n colorBackgroundPrimaryStrongest: \"#031c59\",\n colorBackgroundPrimaryStronger: \"#0d3491\",\n colorBackgroundPrimaryStrong: \"#184bc3\",\n colorBackgroundPrimaryDefault: \"#2d60d7\",\n colorBackgroundPrimaryWeak: \"#9ebbff\",\n colorBackgroundPrimaryWeaker: \"#b8cdff\",\n colorBackgroundPrimaryWeakest: \"#dbe6ff\",\n colorBackgroundDestructiveStrongest: \"#570006\",\n colorBackgroundDestructiveStronger: \"#7f050d\",\n colorBackgroundDestructiveStrong: \"#ab0d17\",\n colorBackgroundDestructiveDefault: \"#ce1723\",\n colorBackgroundDestructiveWeak: \"#f7abb0\",\n colorBackgroundDestructiveWeaker: \"#fbc6c9\",\n colorBackgroundDestructiveWeakest: \"#ffe0e3\",\n colorBackgroundNotificationsStrong: \"#b84028\",\n colorBackgroundNotificationsWeak: \"#6b7394\",\n colorBackgroundNotificationsPrimary: \"#2d60d7\",\n colorBackgroundInfoDefault: \"#157e9d\",\n colorBackgroundInfoWeak: \"#c6effa\",\n colorBackgroundInfoWeaker: \"#ebfaff\",\n colorBackgroundSuccessDefault: \"#29ae40\",\n colorBackgroundSuccessWeak: \"#b9f4c3\",\n colorBackgroundSuccessWeaker: \"#e7fdeb\",\n colorBackgroundWarningDefault: \"#dea41b\",\n colorBackgroundWarningWeak: \"#fde6af\",\n colorBackgroundWarningWeaker: \"#fff6e0\",\n colorBackgroundErrorDefault: \"#e96d75\",\n colorBackgroundErrorWeak: \"#fbc6c9\",\n colorBackgroundErrorWeaker: \"#fff5f6\",\n colorBackgroundSpectrumAzureStrongest: \"#064355\",\n colorBackgroundSpectrumAzureStronger: \"#0b5c75\",\n colorBackgroundSpectrumAzureStrong: \"#10718e\",\n colorBackgroundSpectrumAzureDefault: \"#1ea0c8\",\n colorBackgroundSpectrumAzureWeak: \"#3ab9df\",\n colorBackgroundSpectrumAzureWeaker: \"#6acae7\",\n colorBackgroundSpectrumAzureWeakest: \"#98dcf1\",\n colorBackgroundSpectrumMintStrongest: \"#0f621c\",\n colorBackgroundSpectrumMintStronger: \"#177827\",\n colorBackgroundSpectrumMintStrong: \"#1d862f\",\n colorBackgroundSpectrumMintDefault: \"#29ae40\",\n colorBackgroundSpectrumMintWeak: \"#32c84c\",\n colorBackgroundSpectrumMintWeaker: \"#62d574\",\n colorBackgroundSpectrumMintWeakest: \"#8ee69d\",\n colorBackgroundSpectrumRedStrongest: \"#ab0d17\",\n colorBackgroundSpectrumRedStronger: \"#ce1723\",\n colorBackgroundSpectrumRedStrong: \"#df2a36\",\n colorBackgroundSpectrumRedDefault: \"#e96d75\",\n colorBackgroundSpectrumRedWeak: \"#f29298\",\n colorBackgroundSpectrumRedWeaker: \"#f7abb0\",\n colorBackgroundSpectrumRedWeakest: \"#fbc6c9\",\n colorBackgroundSpectrumPinkStrongest: \"#992468\",\n colorBackgroundSpectrumPinkStronger: \"#b53680\",\n colorBackgroundSpectrumPinkStrong: \"#ce3b91\",\n colorBackgroundSpectrumPinkDefault: \"#e76ab3\",\n colorBackgroundSpectrumPinkWeak: \"#f589c8\",\n colorBackgroundSpectrumPinkWeaker: \"#f9a4d6\",\n colorBackgroundSpectrumPinkWeakest: \"#fdc4e4\",\n colorBackgroundSpectrumRoseStrongest: \"#992468\",\n colorBackgroundSpectrumRoseStronger: \"#b53680\",\n colorBackgroundSpectrumRoseStrong: \"#ce3b91\",\n colorBackgroundSpectrumRoseDefault: \"#e76ab3\",\n colorBackgroundSpectrumRoseWeak: \"#f589c8\",\n colorBackgroundSpectrumRoseWeaker: \"#f9a4d6\",\n colorBackgroundSpectrumRoseWeakest: \"#fdc4e4\",\n colorBackgroundSpectrumOrchidStrongest: \"#8b259d\",\n colorBackgroundSpectrumOrchidStronger: \"#a531b9\",\n colorBackgroundSpectrumOrchidStrong: \"#b53dcc\",\n colorBackgroundSpectrumOrchidDefault: \"#ce73de\",\n colorBackgroundSpectrumOrchidWeak: \"#db91e8\",\n colorBackgroundSpectrumOrchidWeaker: \"#e5a7f1\",\n colorBackgroundSpectrumOrchidWeakest: \"#f0c3f8\",\n colorBackgroundSpectrumVioletStrongest: \"#6329d6\",\n colorBackgroundSpectrumVioletStronger: \"#7847dc\",\n colorBackgroundSpectrumVioletStrong: \"#8959e8\",\n colorBackgroundSpectrumVioletDefault: \"#a87efb\",\n colorBackgroundSpectrumVioletWeak: \"#bb99ff\",\n colorBackgroundSpectrumVioletWeaker: \"#c9adff\",\n colorBackgroundSpectrumVioletWeakest: \"#d6c2ff\",\n colorBackgroundSpectrumIndigoStrongest: \"#6329d6\",\n colorBackgroundSpectrumIndigoStronger: \"#7847dc\",\n colorBackgroundSpectrumIndigoStrong: \"#8959e8\",\n colorBackgroundSpectrumIndigoDefault: \"#a87efb\",\n colorBackgroundSpectrumIndigoWeak: \"#bb99ff\",\n colorBackgroundSpectrumIndigoWeaker: \"#c9adff\",\n colorBackgroundSpectrumIndigoWeakest: \"#d6c2ff\",\n colorBackgroundSpectrumBlueStrongest: \"#184bc3\",\n colorBackgroundSpectrumBlueStronger: \"#2d60d7\",\n colorBackgroundSpectrumBlueStrong: \"#3a6fe9\",\n colorBackgroundSpectrumBlueDefault: \"#6692fa\",\n colorBackgroundSpectrumBlueWeak: \"#80a6ff\",\n colorBackgroundSpectrumBlueWeaker: \"#9ebbff\",\n colorBackgroundSpectrumBlueWeakest: \"#b8cdff\",\n colorBackgroundSpectrumAquaStrongest: \"#0f6151\",\n colorBackgroundSpectrumAquaStronger: \"#167461\",\n colorBackgroundSpectrumAquaStrong: \"#1c826d\",\n colorBackgroundSpectrumAquaDefault: \"#28a98f\",\n colorBackgroundSpectrumAquaWeak: \"#30c0a3\",\n colorBackgroundSpectrumAquaWeaker: \"#5ad3bb\",\n colorBackgroundSpectrumAquaWeakest: \"#86e4d1\",\n colorBackgroundSpectrumTealStrongest: \"#0f6151\",\n colorBackgroundSpectrumTealStronger: \"#167461\",\n colorBackgroundSpectrumTealStrong: \"#1c826d\",\n colorBackgroundSpectrumTealDefault: \"#28a98f\",\n colorBackgroundSpectrumTealWeak: \"#30c0a3\",\n colorBackgroundSpectrumTealWeaker: \"#5ad3bb\",\n colorBackgroundSpectrumTealWeakest: \"#86e4d1\",\n colorBackgroundSpectrumGreenStrongest: \"#0f621c\",\n colorBackgroundSpectrumGreenStronger: \"#177827\",\n colorBackgroundSpectrumGreenStrong: \"#1d862f\",\n colorBackgroundSpectrumGreenDefault: \"#29ae40\",\n colorBackgroundSpectrumGreenWeak: \"#32c84c\",\n colorBackgroundSpectrumGreenWeaker: \"#62d574\",\n colorBackgroundSpectrumGreenWeakest: \"#8ee69d\",\n colorBackgroundSpectrumYellowStrongest: \"#543b03\",\n colorBackgroundSpectrumYellowStronger: \"#705006\",\n colorBackgroundSpectrumYellowStrong: \"#88620c\",\n colorBackgroundSpectrumYellowDefault: \"#bf8e1d\",\n colorBackgroundSpectrumYellowWeak: \"#dea41b\",\n colorBackgroundSpectrumYellowWeaker: \"#efb32a\",\n colorBackgroundSpectrumYellowWeakest: \"#f9cd67\",\n colorBackgroundSpectrumOrangeStrongest: \"#732111\",\n colorBackgroundSpectrumOrangeStronger: \"#973421\",\n colorBackgroundSpectrumOrangeStrong: \"#b84028\",\n colorBackgroundSpectrumOrangeDefault: \"#f06b51\",\n colorBackgroundSpectrumOrangeWeak: \"#fb8f79\",\n colorBackgroundSpectrumOrangeWeaker: \"#fda796\",\n colorBackgroundSpectrumOrangeWeakest: \"#fec8be\",\n colorBackgroundSpectrumGoldStrongest: \"#705006\",\n colorBackgroundSpectrumGoldStronger: \"#88620c\",\n colorBackgroundSpectrumGoldStrong: \"#966e13\",\n colorBackgroundSpectrumGoldDefault: \"#bf8e1d\",\n colorBackgroundSpectrumGoldWeak: \"#dea41b\",\n colorBackgroundSpectrumGoldWeaker: \"#efb32a\",\n colorBackgroundSpectrumGoldWeakest: \"#f9cd67\",\n colorBackgroundSpectrumNeutralStrongest: \"#4c5470\",\n colorBackgroundSpectrumNeutralStronger: \"#5f6786\",\n colorBackgroundSpectrumNeutralStrong: \"#6b7394\",\n colorBackgroundSpectrumNeutralDefault: \"#878dab\",\n colorBackgroundSpectrumNeutralWeak: \"#a6acc4\",\n colorBackgroundSpectrumNeutralWeaker: \"#b8bdd1\",\n colorBackgroundSpectrumNeutralWeakest: \"#d0d3e2\",\n colorBackgroundSpectrumSlateStrongest: \"#4c5470\",\n colorBackgroundSpectrumSlateStronger: \"#5f6786\",\n colorBackgroundSpectrumSlateStrong: \"#6b7394\",\n colorBackgroundSpectrumSlateDefault: \"#878dab\",\n colorBackgroundSpectrumSlateWeak: \"#a6acc4\",\n colorBackgroundSpectrumSlateWeaker: \"#b8bdd1\",\n colorBackgroundSpectrumSlateWeakest: \"#d0d3e2\",\n colorBackgroundAiIconWrapperDefault: \"#f5f0ff\",\n colorTextNeutralStronger: \"#212536\",\n colorTextNeutralStrong: \"#212536\",\n colorTextNeutralDefault: \"#4c5470\",\n colorTextNeutralWeak: \"#5f6786\",\n colorTextNeutralWeaker: \"#6b7394\",\n colorTextNeutralWeakest: \"#878dab\",\n colorTextAiDefault: \"#7847dc\",\n colorTextSlateStrong: \"#212536\",\n colorTextSlateDefault: \"#4c5470\",\n colorTextSlateWeak: \"#5f6786\",\n colorTextSlateWeaker: \"#6b7394\",\n colorTextSlateWeakest: \"#878dab\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseDefault: \"#d0d3e2\",\n colorTextNeutralInverseWeak: \"#a6acc4\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseDefault: \"#f5f6fa\",\n colorTextSlateInverseWeak: \"#e5e7f0\",\n colorTextPrimaryStrongest: \"#000f33\",\n colorTextPrimaryStronger: \"#031c59\",\n colorTextPrimaryStrong: \"#0d3491\",\n colorTextPrimaryDefault: \"#184bc3\",\n colorTextPrimaryWeak: \"#6692fa\",\n colorTextPrimaryWeaker: \"#b8cdff\",\n colorTextPrimaryWeakest: \"#f5f8ff\",\n colorTextInfoDefault: \"#022a36\",\n colorTextInfoWeak: \"#064355\",\n colorTextSuccessDefault: \"#1d862f\",\n colorTextSuccessWeak: \"#177827\",\n colorTextWarningDefault: \"#1a1200\",\n colorTextWarningWeak: \"#88620c\",\n colorTextErrorDefault: \"#570006\",\n colorTextErrorWeak: \"#ce1723\",\n colorTextDestructiveStrongest: \"#330003\",\n colorTextDestructiveStronger: \"#7f050d\",\n colorTextDestructiveStrong: \"#ab0d17\",\n colorTextDestructiveDefault: \"#ce1723\",\n colorTextDestructiveWeak: \"#fbc6c9\",\n colorTextDestructiveWeaker: \"#fed7da\",\n colorTextDestructiveWeakest: \"#fff5f6\",\n colorTextSpectrumSlateDefault: \"#212536\",\n colorTextSpectrumSlateStrong: \"#11131d\",\n colorTextSpectrumAzureDefault: \"#022a36\",\n colorTextSpectrumAzureStrong: \"#001f33\",\n colorTextSpectrumMintDefault: \"#042f0a\",\n colorTextSpectrumMintStrong: \"#081a00\",\n colorTextSpectrumRedDefault: \"#570006\",\n colorTextSpectrumRedStrong: \"#330003\",\n colorTextSpectrumPinkDefault: \"#4c062f\",\n colorTextSpectrumPinkStrong: \"#2e001c\",\n colorTextSpectrumRoseDefault: \"#4c062f\",\n colorTextSpectrumRoseStrong: \"#2e001c\",\n colorTextSpectrumOrchidDefault: \"#41064b\",\n colorTextSpectrumOrchidStrong: \"#27002d\",\n colorTextSpectrumIndigoWeak: \"#6329d6\",\n colorTextSpectrumIndigoDefault: \"#26026e\",\n colorTextSpectrumIndigoStrong: \"#160042\",\n colorTextSpectrumVioletDefault: \"#26026e\",\n colorTextSpectrumVioletStrong: \"#160042\",\n colorTextSpectrumBlueDefault: \"#031c59\",\n colorTextSpectrumBlueStrong: \"#000f33\",\n colorTextSpectrumAquaDefault: \"#042a23\",\n colorTextSpectrumAquaStrong: \"#001a17\",\n colorTextSpectrumTealDefault: \"#042a23\",\n colorTextSpectrumTealStrong: \"#001a17\",\n colorTextSpectrumGreenDefault: \"#042f0a\",\n colorTextSpectrumGreenStrong: \"#081a00\",\n colorTextSpectrumOrangeDefault: \"#4c1106\",\n colorTextSpectrumOrangeStrong: \"#2d0800\",\n colorTextSpectrumNeutralDefault: \"#212536\",\n colorTextSpectrumNeutralStrong: \"#11131d\",\n colorTextSpectrumGoldDefault: \"#322301\",\n colorTextSpectrumGoldStrong: \"#1a1200\",\n colorTextSpectrumYellowDefault: \"#322301\",\n colorTextSpectrumYellowStrong: \"#1a1200\",\n colorBorderSurfacesBody: \"#ffffff\",\n colorBorderSurfacesWork: \"#ffffff\",\n colorBorderSurfacesCanvas: \"#f5f6fa\",\n colorBorderSurfacesStage: \"#363c54\",\n colorBorderSurfacesFocus: \"#3a6fe9\",\n colorBorderNeutralStrongest: \"#11131d\",\n colorBorderNeutralStronger: \"#363c54\",\n colorBorderNeutralStrong: \"#5f6786\",\n colorBorderNeutralDefault: \"#878dab\",\n colorBorderNeutralWeak: \"#a6acc4\",\n colorBorderNeutralWeaker: \"#d0d3e2\",\n colorBorderNeutralWeakest: \"#e5e7f0\",\n colorBorderSlateStrongest: \"#11131d\",\n colorBorderSlateStronger: \"#363c54\",\n colorBorderSlateStrong: \"#5f6786\",\n colorBorderSlateDefault: \"#878dab\",\n colorBorderSlateWeak: \"#a6acc4\",\n colorBorderSlateWeaker: \"#d0d3e2\",\n colorBorderSlateWeakest: \"#e5e7f0\",\n colorBorderPrimaryDefault: \"#2d60d7\",\n colorBorderPrimaryWeak: \"#6692fa\",\n colorBorderPrimaryWeaker: \"#9ebbff\",\n colorBorderPrimaryWeakest: \"#b8cdff\",\n colorBorderDestructiveDefault: \"#ce1723\",\n colorBorderDestructiveWeak: \"#e96d75\",\n colorBorderDestructiveWeaker: \"#f7abb0\",\n colorBorderDestructiveWeakest: \"#fbc6c9\",\n colorBorderSuccessDefault: \"#1d862f\",\n colorBorderWarningDefault: \"#966e13\",\n colorBorderErrorDefault: \"#ce1723\",\n colorBorderSpectrumRedDefault: \"#ab0d17\",\n colorBorderSpectrumOrangeDefault: \"#732111\",\n colorBorderSpectrumGoldDefault: \"#705006\",\n colorBorderSpectrumYellowDefault: \"#705006\",\n colorBorderSpectrumGreenDefault: \"#0f621c\",\n colorBorderSpectrumMintDefault: \"#0f621c\",\n colorBorderSpectrumTealDefault: \"#0f6151\",\n colorBorderSpectrumAquaDefault: \"#0f6151\",\n colorBorderSpectrumAzureDefault: \"#0b5c75\",\n colorBorderSpectrumBlueDefault: \"#184bc3\",\n colorBorderSpectrumIndigoDefault: \"#6329d6\",\n colorBorderSpectrumVioletDefault: \"#6329d6\",\n colorBorderSpectrumOrchidDefault: \"#8b259d\",\n colorBorderSpectrumRoseDefault: \"#992468\",\n colorBorderSpectrumPinkDefault: \"#992468\",\n colorBorderSpectrumNeutralDefault: \"#4c5470\",\n colorBorderSpectrumSlateDefault: \"#4c5470\",\n colorIconsNeutralStrongest: \"#212536\",\n colorIconsNeutralStronger: \"#4c5470\",\n colorIconsNeutralStrong: \"#5f6786\",\n colorIconsNeutralDefault: \"#6b7394\",\n colorIconsNeutralWeak: \"#878dab\",\n colorIconsNeutralWeaker: \"#a6acc4\",\n colorIconsNeutralWeakest: \"#d0d3e2\",\n colorIconsSlateStrongest: \"#11131d\",\n colorIconsSlateStronger: \"#4c5470\",\n colorIconsSlateStrong: \"#5f6786\",\n colorIconsSlateDefault: \"#6b7394\",\n colorIconsSlateWeak: \"#878dab\",\n colorIconsSlateWeaker: \"#a6acc4\",\n colorIconsSlateWeakest: \"#d0d3e2\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#dcdeea\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#dcdeea\",\n colorIconsPrimaryStrongest: \"#031c59\",\n colorIconsPrimaryStronger: \"#184bc3\",\n colorIconsPrimaryStrong: \"#2d60d7\",\n colorIconsPrimaryDefault: \"#3a6fe9\",\n colorIconsPrimaryWeak: \"#6692fa\",\n colorIconsPrimaryWeaker: \"#80a6ff\",\n colorIconsPrimaryWeakest: \"#b8cdff\",\n colorIconsPrimaryInverseStronger: \"#f5f8ff\",\n colorIconsDestructiveStrongest: \"#570006\",\n colorIconsDestructiveStronger: \"#ab0d17\",\n colorIconsDestructiveStrong: \"#ce1723\",\n colorIconsDestructiveDefault: \"#df2a36\",\n colorIconsDestructiveWeak: \"#e96d75\",\n colorIconsDestructiveWeaker: \"#f29298\",\n colorIconsDestructiveWeakest: \"#fbc6c9\",\n colorIconsDestructiveInverseWeakest: \"#fff5f6\",\n colorIconsInfoDefault: \"#0b5c75\",\n colorIconsInfoWeak: \"#80a6ff\",\n colorIconsSuccessDefault: \"#177827\",\n colorIconsSuccessWeak: \"#32c84c\",\n colorIconsWarningDefault: \"#88620c\",\n colorIconsWarningWeak: \"#dea41b\",\n colorIconsErrorDefault: \"#ce1723\",\n colorIconsErrorWeak: \"#f29298\",\n colorIconsSpectrumRedDefault: \"#570006\",\n colorIconsSpectrumOrangeDefault: \"#4c1106\",\n colorIconsSpectrumGoldDefault: \"#322301\",\n colorIconsSpectrumYellowDefault: \"#322301\",\n colorIconsSpectrumGreenDefault: \"#042f0a\",\n colorIconsSpectrumMintDefault: \"#042f0a\",\n colorIconsSpectrumTealDefault: \"#042a23\",\n colorIconsSpectrumAquaDefault: \"#042a23\",\n colorIconsSpectrumAzureDefault: \"#022a36\",\n colorIconsSpectrumBlueDefault: \"#031c59\",\n colorIconsSpectrumIndigoDefault: \"#26026e\",\n colorIconsSpectrumIndigoWeak: \"#7847dc\",\n colorIconsSpectrumIndigoWeaker: \"#a87efb\",\n colorIconsSpectrumIndigoWeakest: \"#c9adff\",\n colorIconsSpectrumVioletDefault: \"#26026e\",\n colorIconsSpectrumOrchidDefault: \"#41064b\",\n colorIconsSpectrumRoseDefault: \"#4c062f\",\n colorIconsSpectrumPinkDefault: \"#4c062f\",\n colorIconsSpectrumNeutralDefault: \"#212536\",\n colorIconsSpectrumSlateDefault: \"#212536\",\n colorIconsAssetsWorkspaceStroke: \"#0b5c75\",\n colorIconsAssetsWorkspaceFill: \"#98dcf1\",\n colorIconsAssetsPortfolioStroke: \"#0f6151\",\n colorIconsAssetsPortfolioFill: \"#86e4d1\",\n colorIconsAssetsDashboardStroke: \"#177827\",\n colorIconsAssetsDashboardFill: \"#8ee69d\",\n colorIconsAssetsReportsStroke: \"#b84028\",\n colorIconsAssetsReportsFill: \"#fec8be\",\n colorIconsAssetsSheetStroke: \"#6329d6\",\n colorIconsAssetsSheetFill: \"#d6c2ff\",\n colorIconsAssetsFormStroke: \"#a531b9\",\n colorIconsAssetsFormFill: \"#f0c3f8\",\n colorIconsAssetsCollectionStroke: \"#88620c\",\n colorIconsAssetsCollectionFill: \"#f9cd67\",\n colorIconsAssetsWorkappStroke: \"#184bc3\",\n colorIconsAssetsWorkappFill: \"#b8cdff\",\n colorIconsAssetsBlueprintStroke: \"#0f6151\",\n colorIconsAssetsBlueprintFill: \"#86e4d1\",\n colorElevationHighTop: \"#363c54\",\n colorElevationHighBottom: \"#363c54\",\n colorElevationDefaultTop: \"#363c54\",\n colorElevationDefaultBottom: \"#363c54\",\n colorElevationLowTop: \"#363c54\",\n colorElevationLowBottom: \"#363c54\",\n colorChartsHighContrast1Rest: \"#031c59\",\n colorChartsHighContrast1Hover: \"#000f33\",\n colorChartsHighContrast2Rest: \"#3a6fe9\",\n colorChartsHighContrast2Hover: \"#2d60d7\",\n colorChartsHighContrast3Rest: \"#1c826d\",\n colorChartsHighContrast3Hover: \"#167461\",\n colorChartsHighContrast4Rest: \"#8959e8\",\n colorChartsHighContrast4Hover: \"#7847dc\",\n colorChartsHighContrast5Rest: \"#4c5470\",\n colorChartsHighContrast5Hover: \"#363c54\",\n colorChartsHighContrast6Rest: \"#d64529\",\n colorChartsHighContrast6Hover: \"#b84028\",\n colorChartsHighContrast7Rest: \"#157e9d\",\n colorChartsHighContrast7Hover: \"#10718e\",\n colorChartsHighContrast8Rest: \"#966e13\",\n colorChartsHighContrast8Hover: \"#88620c\",\n colorChartsHighContrast9Rest: \"#094814\",\n colorChartsHighContrast9Hover: \"#042f0a\",\n colorChartsHighContrast10Rest: \"#1d862f\",\n colorChartsHighContrast10Hover: \"#177827\",\n colorChartsHighContrast11Rest: \"#b53dcc\",\n colorChartsHighContrast11Hover: \"#a531b9\",\n colorChartsHighContrast12Rest: \"#973421\",\n colorChartsHighContrast12Hover: \"#732111\",\n colorChartsColorful1Rest: \"#3a6fe9\",\n colorChartsColorful1Hover: \"#2d60d7\",\n colorChartsColorful2Rest: \"#62d574\",\n colorChartsColorful2Hover: \"#32c84c\",\n colorChartsColorful3Rest: \"#fbda8d\",\n colorChartsColorful3Hover: \"#f9cd67\",\n colorChartsColorful4Rest: \"#f06b51\",\n colorChartsColorful4Hover: \"#d64529\",\n colorChartsColorful5Rest: \"#fda796\",\n colorChartsColorful5Hover: \"#fb8f79\",\n colorChartsColorful6Rest: \"#f5d0fb\",\n colorChartsColorful6Hover: \"#f0c3f8\",\n colorChartsColorful7Rest: \"#ce73de\",\n colorChartsColorful7Hover: \"#b53dcc\",\n colorChartsColorful8Rest: \"#98dcf1\",\n colorChartsColorful8Hover: \"#6acae7\",\n colorChartsColorful9Rest: \"#1ea0c8\",\n colorChartsColorful9Hover: \"#157e9d\",\n colorChartsColorful10Rest: \"#0d3491\",\n colorChartsColorful10Hover: \"#0d3491\",\n colorChartsSemanticNotStartedRest: \"#878dab\",\n colorChartsSemanticNotStartedHover: \"#6b7394\",\n colorChartsSemanticInProgressRest: \"#3a6fe9\",\n colorChartsSemanticInProgressHover: \"#2d60d7\",\n colorChartsSemanticAtRiskRest: \"#efb32a\",\n colorChartsSemanticAtRiskHover: \"#dea41b\",\n colorChartsSemanticCompletedRest: \"#29ae40\",\n colorChartsSemanticCompletedHover: \"#1d862f\",\n colorChartsSemanticBlockedRest: \"#e96d75\",\n colorChartsSemanticBlockedHover: \"#df2a36\",\n colorChartsAssetsDashboardRest: \"#29ae40\",\n colorChartsAssetsDashboardHover: \"#1d862f\",\n colorChartsAssetsWorkspaceRest: \"#1ea0c8\",\n colorChartsAssetsWorkspaceHover: \"#157e9d\",\n colorChartsAssetsSheetRest: \"#8959e8\",\n colorChartsAssetsSheetHover: \"#7847dc\",\n colorChartsAssetsReportRest: \"#f06b51\",\n colorChartsAssetsReportHover: \"#d64529\",\n symbolBackgroundColorYellowDefault: \"#efb32a\",\n symbolBackgroundColorYellowHover: \"#f9cd67\",\n tooltipBackgroundColor: \"#031c59\",\n tooltipTextColor: \"#f5f8ff\",\n gradientNavigation: \"linear-gradient(180deg, #184bc3, #5A43D7)\",\n gradientUpsell: \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n gradientProgressBar: \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n elevationLengthTopLow: \"0px 6px 12px\",\n elevationLengthTopDefault: \"0px 6px 16px\",\n elevationLengthTopHigh: \"0px 12px 24px\",\n elevationLengthBottomLow: \"0px 2px 4px\",\n elevationLengthBottomDefault: \"0px 4px 6px\",\n elevationLengthBottomHigh: \"0px 6px 8px\",\n elevationLow: \"0px 6px 12px #363c54, 0px 2px 4px #363c54\",\n elevationDefault: \"0px 6px 16px #363c54, 0px 4px 6px #363c54\",\n elevationHigh: \"0px 12px 24px #363c54, 0px 6px 8px #363c54\"\n};\n//# sourceMappingURL=ursa-light.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the ursa-dark theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const ursaDarkColors = {\n colorBackgroundSurfacesOverlay: \"#6b7394\",\n colorBackgroundSurfacesStage: \"#363c54\",\n colorBackgroundSurfacesCanvas: \"#11131d\",\n colorBackgroundSurfacesBody: \"#11131d\",\n colorBackgroundSurfacesWork: \"#212536\",\n colorBackgroundNeutralWeakest: \"#363c54\",\n colorBackgroundNeutralWeaker: \"#4c5470\",\n colorBackgroundNeutralWeak: \"#5f6786\",\n colorBackgroundNeutralDefault: \"#6b7394\",\n colorBackgroundNeutralStrong: \"#878dab\",\n colorBackgroundNeutralStronger: \"#a6acc4\",\n colorBackgroundNeutralStrongest: \"#b8bdd1\",\n colorBackgroundNeutralInverseWeakest: \"#a6acc4\",\n colorBackgroundNeutralInverseWeaker: \"#878dab\",\n colorBackgroundNeutralInverseWeak: \"#5f6786\",\n colorBackgroundNeutralInverseStrongest: \"#11131d\",\n colorBackgroundNeutralInverseStronger: \"#212536\",\n colorBackgroundNeutralInverseStrong: \"#363c54\",\n colorBackgroundNeutralInverseDefault: \"#4c5470\",\n colorBackgroundSlateStrongest: \"#b8bdd1\",\n colorBackgroundSlateStronger: \"#a6acc4\",\n colorBackgroundSlateStrong: \"#878dab\",\n colorBackgroundSlateDefault: \"#6b7394\",\n colorBackgroundSlateWeak: \"#5f6786\",\n colorBackgroundSlateWeaker: \"#4c5470\",\n colorBackgroundSlateWeakest: \"#363c54\",\n colorBackgroundSlateInverseStrongest: \"#11131d\",\n colorBackgroundSlateInverseStronger: \"#212536\",\n colorBackgroundSlateInverseStrong: \"#363c54\",\n colorBackgroundSlateInverseDefault: \"#4c5470\",\n colorBackgroundSlateInverseWeak: \"#5f6786\",\n colorBackgroundSlateInverseWeaker: \"#878dab\",\n colorBackgroundSlateInverseWeakest: \"#a6acc4\",\n colorBackgroundPrimaryStrongest: \"#80a6ff\",\n colorBackgroundPrimaryStronger: \"#6692fa\",\n colorBackgroundPrimaryStrong: \"#3a6fe9\",\n colorBackgroundPrimaryDefault: \"#2d60d7\",\n colorBackgroundPrimaryWeak: \"#184bc3\",\n colorBackgroundPrimaryWeaker: \"#0d3491\",\n colorBackgroundPrimaryWeakest: \"#031c59\",\n colorBackgroundDestructiveStrongest: \"#f29298\",\n colorBackgroundDestructiveStronger: \"#e96d75\",\n colorBackgroundDestructiveStrong: \"#df2a36\",\n colorBackgroundDestructiveDefault: \"#ce1723\",\n colorBackgroundDestructiveWeak: \"#ab0d17\",\n colorBackgroundDestructiveWeaker: \"#7f050d\",\n colorBackgroundDestructiveWeakest: \"#570006\",\n colorBackgroundNotificationsStrong: \"#b84028\",\n colorBackgroundNotificationsWeak: \"#5f6786\",\n colorBackgroundNotificationsPrimary: \"#184bc3\",\n colorBackgroundInfoDefault: \"#ebfaff\",\n colorBackgroundInfoWeak: \"#b6e8f7\",\n colorBackgroundInfoWeaker: \"#157e9d\",\n colorBackgroundSuccessDefault: \"#e7fdeb\",\n colorBackgroundSuccessWeak: \"#a1edad\",\n colorBackgroundSuccessWeaker: \"#29ae40\",\n colorBackgroundWarningDefault: \"#fff6e0\",\n colorBackgroundWarningWeak: \"#fbda8d\",\n colorBackgroundWarningWeaker: \"#dea41b\",\n colorBackgroundErrorDefault: \"#fff5f6\",\n colorBackgroundErrorWeak: \"#fed7da\",\n colorBackgroundErrorWeaker: \"#e96d75\",\n colorBackgroundSpectrumAzureStrongest: \"#ebfaff\",\n colorBackgroundSpectrumAzureStronger: \"#c6effa\",\n colorBackgroundSpectrumAzureStrong: \"#b6e8f7\",\n colorBackgroundSpectrumAzureDefault: \"#98dcf1\",\n colorBackgroundSpectrumAzureWeak: \"#6acae7\",\n colorBackgroundSpectrumAzureWeaker: \"#3ab9df\",\n colorBackgroundSpectrumAzureWeakest: \"#1ea0c8\",\n colorBackgroundSpectrumMintStrongest: \"#e7fdeb\",\n colorBackgroundSpectrumMintStronger: \"#d2f9d8\",\n colorBackgroundSpectrumMintStrong: \"#a1edad\",\n colorBackgroundSpectrumMintDefault: \"#8ee69d\",\n colorBackgroundSpectrumMintWeak: \"#62d574\",\n colorBackgroundSpectrumMintWeaker: \"#32c84c\",\n colorBackgroundSpectrumMintWeakest: \"#29ae40\",\n colorBackgroundSpectrumRedStrongest: \"#fff5f6\",\n colorBackgroundSpectrumRedStronger: \"#ffe0e3\",\n colorBackgroundSpectrumRedStrong: \"#fed7da\",\n colorBackgroundSpectrumRedDefault: \"#fbc6c9\",\n colorBackgroundSpectrumRedWeak: \"#f7abb0\",\n colorBackgroundSpectrumRedWeaker: \"#f29298\",\n colorBackgroundSpectrumRedWeakest: \"#e96d75\",\n colorBackgroundSpectrumPinkStrongest: \"#fff5fa\",\n colorBackgroundSpectrumPinkStronger: \"#fee1f2\",\n colorBackgroundSpectrumPinkStrong: \"#fdd3ec\",\n colorBackgroundSpectrumPinkDefault: \"#fdc4e4\",\n colorBackgroundSpectrumPinkWeak: \"#f9a4d6\",\n colorBackgroundSpectrumPinkWeaker: \"#f589c8\",\n colorBackgroundSpectrumPinkWeakest: \"#e76ab3\",\n colorBackgroundSpectrumRoseStrongest: \"#fff5fa\",\n colorBackgroundSpectrumRoseStronger: \"#fee1f2\",\n colorBackgroundSpectrumRoseStrong: \"#fdd3ec\",\n colorBackgroundSpectrumRoseDefault: \"#fdc4e4\",\n colorBackgroundSpectrumRoseWeak: \"#f9a4d6\",\n colorBackgroundSpectrumRoseWeaker: \"#e76ab3\",\n colorBackgroundSpectrumRoseWeakest: \"#e76ab3\",\n colorBackgroundSpectrumOrchidStrongest: \"#fdf5ff\",\n colorBackgroundSpectrumOrchidStronger: \"#f8ddfd\",\n colorBackgroundSpectrumOrchidStrong: \"#f5d0fb\",\n colorBackgroundSpectrumOrchidDefault: \"#f0c3f8\",\n colorBackgroundSpectrumOrchidWeak: \"#e5a7f1\",\n colorBackgroundSpectrumOrchidWeaker: \"#db91e8\",\n colorBackgroundSpectrumOrchidWeakest: \"#ce73de\",\n colorBackgroundSpectrumVioletStrongest: \"#f8f5ff\",\n colorBackgroundSpectrumVioletStronger: \"#ebe0ff\",\n colorBackgroundSpectrumVioletStrong: \"#e0d1ff\",\n colorBackgroundSpectrumVioletDefault: \"#d6c2ff\",\n colorBackgroundSpectrumVioletWeak: \"#c9adff\",\n colorBackgroundSpectrumVioletWeaker: \"#bb99ff\",\n colorBackgroundSpectrumVioletWeakest: \"#a87efb\",\n colorBackgroundSpectrumIndigoStrongest: \"#f8f5ff\",\n colorBackgroundSpectrumIndigoStronger: \"#ebe0ff\",\n colorBackgroundSpectrumIndigoStrong: \"#e0d1ff\",\n colorBackgroundSpectrumIndigoDefault: \"#d6c2ff\",\n colorBackgroundSpectrumIndigoWeak: \"#c9adff\",\n colorBackgroundSpectrumIndigoWeaker: \"#bb99ff\",\n colorBackgroundSpectrumIndigoWeakest: \"#a87efb\",\n colorBackgroundSpectrumBlueStrongest: \"#f5f8ff\",\n colorBackgroundSpectrumBlueStronger: \"#dbe6ff\",\n colorBackgroundSpectrumBlueStrong: \"#c7d8ff\",\n colorBackgroundSpectrumBlueDefault: \"#b8cdff\",\n colorBackgroundSpectrumBlueWeak: \"#9ebbff\",\n colorBackgroundSpectrumBlueWeaker: \"#80a6ff\",\n colorBackgroundSpectrumBlueWeakest: \"#6692fa\",\n colorBackgroundSpectrumAquaStrongest: \"#e8fdf9\",\n colorBackgroundSpectrumAquaStronger: \"#b5f2e6\",\n colorBackgroundSpectrumAquaStrong: \"#9cecdc\",\n colorBackgroundSpectrumAquaDefault: \"#86e4d1\",\n colorBackgroundSpectrumAquaWeak: \"#5ad3bb\",\n colorBackgroundSpectrumAquaWeaker: \"#30c0a3\",\n colorBackgroundSpectrumAquaWeakest: \"#28a98f\",\n colorBackgroundSpectrumTealStrongest: \"#e8fdf9\",\n colorBackgroundSpectrumTealStronger: \"#b5f2e6\",\n colorBackgroundSpectrumTealStrong: \"#9cecdc\",\n colorBackgroundSpectrumTealDefault: \"#86e4d1\",\n colorBackgroundSpectrumTealWeak: \"#5ad3bb\",\n colorBackgroundSpectrumTealWeaker: \"#30c0a3\",\n colorBackgroundSpectrumTealWeakest: \"#28a98f\",\n colorBackgroundSpectrumGreenStrongest: \"#e7fdeb\",\n colorBackgroundSpectrumGreenStronger: \"#b9f4c3\",\n colorBackgroundSpectrumGreenStrong: \"#a1edad\",\n colorBackgroundSpectrumGreenDefault: \"#8ee69d\",\n colorBackgroundSpectrumGreenWeak: \"#62d574\",\n colorBackgroundSpectrumGreenWeaker: \"#32c84c\",\n colorBackgroundSpectrumGreenWeakest: \"#29ae40\",\n colorBackgroundSpectrumYellowStrongest: \"#fff6e0\",\n colorBackgroundSpectrumYellowStronger: \"#fff0cc\",\n colorBackgroundSpectrumYellowStrong: \"#fde6af\",\n colorBackgroundSpectrumYellowDefault: \"#fbda8d\",\n colorBackgroundSpectrumYellowWeak: \"#f9cd67\",\n colorBackgroundSpectrumYellowWeaker: \"#efb32a\",\n colorBackgroundSpectrumYellowWeakest: \"#dea41b\",\n colorBackgroundSpectrumOrangeStrongest: \"#ffeeeb\",\n colorBackgroundSpectrumOrangeStronger: \"#ffe1dc\",\n colorBackgroundSpectrumOrangeStrong: \"#fed5cd\",\n colorBackgroundSpectrumOrangeDefault: \"#fec8be\",\n colorBackgroundSpectrumOrangeWeak: \"#fda796\",\n colorBackgroundSpectrumOrangeWeaker: \"#fb8f79\",\n colorBackgroundSpectrumOrangeWeakest: \"#f06b51\",\n colorBackgroundSpectrumGoldStrongest: \"#fff6e0\",\n colorBackgroundSpectrumGoldStronger: \"#fff0cc\",\n colorBackgroundSpectrumGoldStrong: \"#fde6af\",\n colorBackgroundSpectrumGoldDefault: \"#fbda8d\",\n colorBackgroundSpectrumGoldWeak: \"#f9cd67\",\n colorBackgroundSpectrumGoldWeaker: \"#efb32a\",\n colorBackgroundSpectrumGoldWeakest: \"#dea41b\",\n colorBackgroundSpectrumNeutralStrongest: \"#f5f6fa\",\n colorBackgroundSpectrumNeutralStronger: \"#e5e7f0\",\n colorBackgroundSpectrumNeutralStrong: \"#dcdeea\",\n colorBackgroundSpectrumNeutralDefault: \"#d0d3e2\",\n colorBackgroundSpectrumNeutralWeak: \"#b8bdd1\",\n colorBackgroundSpectrumNeutralWeaker: \"#a6acc4\",\n colorBackgroundSpectrumNeutralWeakest: \"#878dab\",\n colorBackgroundSpectrumSlateStrongest: \"#f5f6fa\",\n colorBackgroundSpectrumSlateStronger: \"#e5e7f0\",\n colorBackgroundSpectrumSlateStrong: \"#dcdeea\",\n colorBackgroundSpectrumSlateDefault: \"#d0d3e2\",\n colorBackgroundSpectrumSlateWeak: \"#b8bdd1\",\n colorBackgroundSpectrumSlateWeaker: \"#a6acc4\",\n colorBackgroundSpectrumSlateWeakest: \"#878dab\",\n colorBackgroundAiIconWrapperDefault: \"#8959e8\",\n colorTextNeutralStronger: \"#ffffff\",\n colorTextNeutralStrong: \"#ffffff\",\n colorTextNeutralDefault: \"#e5e7f0\",\n colorTextNeutralWeak: \"#b8bdd1\",\n colorTextNeutralWeaker: \"#a6acc4\",\n colorTextNeutralWeakest: \"#878dab\",\n colorTextAiDefault: \"#7847dc\",\n colorTextSlateStrong: \"#ffffff\",\n colorTextSlateDefault: \"#e5e7f0\",\n colorTextSlateWeak: \"#b8bdd1\",\n colorTextSlateWeaker: \"#a6acc4\",\n colorTextSlateWeakest: \"#878dab\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseDefault: \"#d0d3e2\",\n colorTextNeutralInverseWeak: \"#a6acc4\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseDefault: \"#f5f6fa\",\n colorTextSlateInverseWeak: \"#e5e7f0\",\n colorTextPrimaryStrongest: \"#3a6fe9\",\n colorTextPrimaryStronger: \"#6692fa\",\n colorTextPrimaryStrong: \"#9ebbff\",\n colorTextPrimaryDefault: \"#c7d8ff\",\n colorTextPrimaryWeak: \"#dbe6ff\",\n colorTextPrimaryWeaker: \"#ebf1ff\",\n colorTextPrimaryWeakest: \"#f5f8ff\",\n colorTextInfoDefault: \"#3ab9df\",\n colorTextInfoWeak: \"#157e9d\",\n colorTextSuccessDefault: \"#32c84c\",\n colorTextSuccessWeak: \"#29ae40\",\n colorTextWarningDefault: \"#dea41b\",\n colorTextWarningWeak: \"#dea41b\",\n colorTextErrorDefault: \"#f29298\",\n colorTextErrorWeak: \"#e96d75\",\n colorTextDestructiveStrongest: \"#330003\",\n colorTextDestructiveStronger: \"#7f050d\",\n colorTextDestructiveStrong: \"#ab0d17\",\n colorTextDestructiveDefault: \"#f7abb0\",\n colorTextDestructiveWeak: \"#fbc6c9\",\n colorTextDestructiveWeaker: \"#fed7da\",\n colorTextDestructiveWeakest: \"#fff5f6\",\n colorTextSpectrumSlateDefault: \"#212536\",\n colorTextSpectrumSlateStrong: \"#4c5470\",\n colorTextSpectrumAzureDefault: \"#022a36\",\n colorTextSpectrumAzureStrong: \"#0b5c75\",\n colorTextSpectrumMintDefault: \"#042f0a\",\n colorTextSpectrumMintStrong: \"#0f621c\",\n colorTextSpectrumRedDefault: \"#570006\",\n colorTextSpectrumRedStrong: \"#ab0d17\",\n colorTextSpectrumPinkDefault: \"#4c062f\",\n colorTextSpectrumPinkStrong: \"#992468\",\n colorTextSpectrumRoseDefault: \"#4c062f\",\n colorTextSpectrumRoseStrong: \"#992468\",\n colorTextSpectrumOrchidDefault: \"#41064b\",\n colorTextSpectrumOrchidStrong: \"#8b259d\",\n colorTextSpectrumIndigoWeak: \"#160042\",\n colorTextSpectrumIndigoDefault: \"#26026e\",\n colorTextSpectrumIndigoStrong: \"#6329d6\",\n colorTextSpectrumVioletDefault: \"#26026e\",\n colorTextSpectrumVioletStrong: \"#6329d6\",\n colorTextSpectrumBlueDefault: \"#031c59\",\n colorTextSpectrumBlueStrong: \"#184bc3\",\n colorTextSpectrumAquaDefault: \"#042a23\",\n colorTextSpectrumAquaStrong: \"#0f6151\",\n colorTextSpectrumTealDefault: \"#042a23\",\n colorTextSpectrumTealStrong: \"#0f6151\",\n colorTextSpectrumGreenDefault: \"#042f0a\",\n colorTextSpectrumGreenStrong: \"#0f621c\",\n colorTextSpectrumOrangeDefault: \"#4c1106\",\n colorTextSpectrumOrangeStrong: \"#973421\",\n colorTextSpectrumNeutralDefault: \"#212536\",\n colorTextSpectrumNeutralStrong: \"#363c54\",\n colorTextSpectrumGoldDefault: \"#322301\",\n colorTextSpectrumGoldStrong: \"#705006\",\n colorTextSpectrumYellowDefault: \"#322301\",\n colorTextSpectrumYellowStrong: \"#705006\",\n colorBorderSurfacesBody: \"#11131d\",\n colorBorderSurfacesWork: \"#11131d\",\n colorBorderSurfacesCanvas: \"#11131d\",\n colorBorderSurfacesStage: \"#363c54\",\n colorBorderSurfacesFocus: \"#3a6fe9\",\n colorBorderNeutralStrongest: \"#d0d3e2\",\n colorBorderNeutralStronger: \"#b8bdd1\",\n colorBorderNeutralStrong: \"#a6acc4\",\n colorBorderNeutralDefault: \"#878dab\",\n colorBorderNeutralWeak: \"#6b7394\",\n colorBorderNeutralWeaker: \"#5f6786\",\n colorBorderNeutralWeakest: \"#363c54\",\n colorBorderSlateStrongest: \"#d0d3e2\",\n colorBorderSlateStronger: \"#b8bdd1\",\n colorBorderSlateStrong: \"#a6acc4\",\n colorBorderSlateDefault: \"#878dab\",\n colorBorderSlateWeak: \"#6b7394\",\n colorBorderSlateWeaker: \"#5f6786\",\n colorBorderSlateWeakest: \"#363c54\",\n colorBorderPrimaryDefault: \"#6692fa\",\n colorBorderPrimaryWeak: \"#3a6fe9\",\n colorBorderPrimaryWeaker: \"#2d60d7\",\n colorBorderPrimaryWeakest: \"#184bc3\",\n colorBorderDestructiveDefault: \"#e96d75\",\n colorBorderDestructiveWeak: \"#df2a36\",\n colorBorderDestructiveWeaker: \"#ce1723\",\n colorBorderDestructiveWeakest: \"#ab0d17\",\n colorBorderSuccessDefault: \"#29ae40\",\n colorBorderWarningDefault: \"#bf8e1d\",\n colorBorderErrorDefault: \"#e96d75\",\n colorBorderSpectrumRedDefault: \"#e96d75\",\n colorBorderSpectrumOrangeDefault: \"#f06b51\",\n colorBorderSpectrumGoldDefault: \"#bf8e1d\",\n colorBorderSpectrumYellowDefault: \"#bf8e1d\",\n colorBorderSpectrumGreenDefault: \"#29ae40\",\n colorBorderSpectrumMintDefault: \"#29ae40\",\n colorBorderSpectrumTealDefault: \"#28a98f\",\n colorBorderSpectrumAquaDefault: \"#28a98f\",\n colorBorderSpectrumAzureDefault: \"#1ea0c8\",\n colorBorderSpectrumBlueDefault: \"#6692fa\",\n colorBorderSpectrumIndigoDefault: \"#a87efb\",\n colorBorderSpectrumVioletDefault: \"#a87efb\",\n colorBorderSpectrumOrchidDefault: \"#ce73de\",\n colorBorderSpectrumRoseDefault: \"#e76ab3\",\n colorBorderSpectrumPinkDefault: \"#e76ab3\",\n colorBorderSpectrumNeutralDefault: \"#878dab\",\n colorBorderSpectrumSlateDefault: \"#878dab\",\n colorIconsNeutralStrongest: \"#d0d3e2\",\n colorIconsNeutralStronger: \"#b8bdd1\",\n colorIconsNeutralStrong: \"#a6acc4\",\n colorIconsNeutralDefault: \"#878dab\",\n colorIconsNeutralWeak: \"#6b7394\",\n colorIconsNeutralWeaker: \"#5f6786\",\n colorIconsNeutralWeakest: \"#4c5470\",\n colorIconsSlateStrongest: \"#d0d3e2\",\n colorIconsSlateStronger: \"#b8bdd1\",\n colorIconsSlateStrong: \"#a6acc4\",\n colorIconsSlateDefault: \"#878dab\",\n colorIconsSlateWeak: \"#6b7394\",\n colorIconsSlateWeaker: \"#5f6786\",\n colorIconsSlateWeakest: \"#4c5470\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#dcdeea\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#dcdeea\",\n colorIconsPrimaryStrongest: \"#031c59\",\n colorIconsPrimaryStronger: \"#184bc3\",\n colorIconsPrimaryStrong: \"#2d60d7\",\n colorIconsPrimaryDefault: \"#3a6fe9\",\n colorIconsPrimaryWeak: \"#6692fa\",\n colorIconsPrimaryWeaker: \"#80a6ff\",\n colorIconsPrimaryWeakest: \"#b8cdff\",\n colorIconsPrimaryInverseStronger: \"#f5f8ff\",\n colorIconsDestructiveStrongest: \"#fbc6c9\",\n colorIconsDestructiveStronger: \"#f7abb0\",\n colorIconsDestructiveStrong: \"#f29298\",\n colorIconsDestructiveDefault: \"#e96d75\",\n colorIconsDestructiveWeak: \"#df2a36\",\n colorIconsDestructiveWeaker: \"#ce1723\",\n colorIconsDestructiveWeakest: \"#ab0d17\",\n colorIconsDestructiveInverseWeakest: \"#fff5f6\",\n colorIconsInfoDefault: \"#0b5c75\",\n colorIconsInfoWeak: \"#80a6ff\",\n colorIconsSuccessDefault: \"#1d862f\",\n colorIconsSuccessWeak: \"#32c84c\",\n colorIconsWarningDefault: \"#88620c\",\n colorIconsWarningWeak: \"#dea41b\",\n colorIconsErrorDefault: \"#ce1723\",\n colorIconsErrorWeak: \"#e96d75\",\n colorIconsSpectrumRedDefault: \"#570006\",\n colorIconsSpectrumOrangeDefault: \"#4c1106\",\n colorIconsSpectrumGoldDefault: \"#322301\",\n colorIconsSpectrumYellowDefault: \"#322301\",\n colorIconsSpectrumGreenDefault: \"#042f0a\",\n colorIconsSpectrumMintDefault: \"#042f0a\",\n colorIconsSpectrumTealDefault: \"#042a23\",\n colorIconsSpectrumAquaDefault: \"#042a23\",\n colorIconsSpectrumAzureDefault: \"#022a36\",\n colorIconsSpectrumBlueDefault: \"#031c59\",\n colorIconsSpectrumIndigoDefault: \"#26026e\",\n colorIconsSpectrumIndigoWeak: \"#7847dc\",\n colorIconsSpectrumIndigoWeaker: \"#a87efb\",\n colorIconsSpectrumIndigoWeakest: \"#c9adff\",\n colorIconsSpectrumVioletDefault: \"#26026e\",\n colorIconsSpectrumOrchidDefault: \"#41064b\",\n colorIconsSpectrumRoseDefault: \"#4c062f\",\n colorIconsSpectrumPinkDefault: \"#4c062f\",\n colorIconsSpectrumNeutralDefault: \"#ffffff\",\n colorIconsSpectrumSlateDefault: \"#ffffff\",\n colorIconsAssetsWorkspaceStroke: \"#3ab9df\",\n colorIconsAssetsWorkspaceFill: \"#0b5c75\",\n colorIconsAssetsPortfolioStroke: \"#30c0a3\",\n colorIconsAssetsPortfolioFill: \"#0f6151\",\n colorIconsAssetsDashboardStroke: \"#32c84c\",\n colorIconsAssetsDashboardFill: \"#0f621c\",\n colorIconsAssetsReportsStroke: \"#fb8f79\",\n colorIconsAssetsReportsFill: \"#973421\",\n colorIconsAssetsSheetStroke: \"#bb99ff\",\n colorIconsAssetsSheetFill: \"#6329d6\",\n colorIconsAssetsFormStroke: \"#db91e8\",\n colorIconsAssetsFormFill: \"#8b259d\",\n colorIconsAssetsCollectionStroke: \"#dea41b\",\n colorIconsAssetsCollectionFill: \"#705006\",\n colorIconsAssetsWorkappStroke: \"#80a6ff\",\n colorIconsAssetsWorkappFill: \"#184bc3\",\n colorIconsAssetsBlueprintStroke: \"#30c0a3\",\n colorIconsAssetsBlueprintFill: \"#0f6151\",\n colorElevationHighTop: \"#11131d\",\n colorElevationHighBottom: \"#11131d\",\n colorElevationDefaultTop: \"#11131d\",\n colorElevationDefaultBottom: \"#11131d\",\n colorElevationLowTop: \"#11131d\",\n colorElevationLowBottom: \"#11131d\",\n colorChartsHighContrast1Rest: \"#9ebbff\",\n colorChartsHighContrast1Hover: \"#b8cdff\",\n colorChartsHighContrast2Rest: \"#3a6fe9\",\n colorChartsHighContrast2Hover: \"#6692fa\",\n colorChartsHighContrast3Rest: \"#1c826d\",\n colorChartsHighContrast3Hover: \"#28a98f\",\n colorChartsHighContrast4Rest: \"#8959e8\",\n colorChartsHighContrast4Hover: \"#a87efb\",\n colorChartsHighContrast5Rest: \"#6b7394\",\n colorChartsHighContrast5Hover: \"#878dab\",\n colorChartsHighContrast6Rest: \"#fda796\",\n colorChartsHighContrast6Hover: \"#fec8be\",\n colorChartsHighContrast7Rest: \"#3ab9df\",\n colorChartsHighContrast7Hover: \"#6acae7\",\n colorChartsHighContrast8Rest: \"#dea41b\",\n colorChartsHighContrast8Hover: \"#efb32a\",\n colorChartsHighContrast9Rest: \"#1d862f\",\n colorChartsHighContrast9Hover: \"#29ae40\",\n colorChartsHighContrast10Rest: \"#62d574\",\n colorChartsHighContrast10Hover: \"#a1edad\",\n colorChartsHighContrast11Rest: \"#ce73de\",\n colorChartsHighContrast11Hover: \"#db91e8\",\n colorChartsHighContrast12Rest: \"#d64529\",\n colorChartsHighContrast12Hover: \"#f06b51\",\n colorChartsColorful1Rest: \"#9ebbff\",\n colorChartsColorful1Hover: \"#c7d8ff\",\n colorChartsColorful2Rest: \"#b9f4c3\",\n colorChartsColorful2Hover: \"#b9f4c3\",\n colorChartsColorful3Rest: \"#efb32a\",\n colorChartsColorful3Hover: \"#fde6af\",\n colorChartsColorful4Rest: \"#f06b51\",\n colorChartsColorful4Hover: \"#fb8f79\",\n colorChartsColorful5Rest: \"#fda796\",\n colorChartsColorful5Hover: \"#fec8be\",\n colorChartsColorful6Rest: \"#e5a7f1\",\n colorChartsColorful6Hover: \"#f0c3f8\",\n colorChartsColorful7Rest: \"#ce73de\",\n colorChartsColorful7Hover: \"#db91e8\",\n colorChartsColorful8Rest: \"#98dcf1\",\n colorChartsColorful8Hover: \"#c6effa\",\n colorChartsColorful9Rest: \"#1ea0c8\",\n colorChartsColorful9Hover: \"#3ab9df\",\n colorChartsColorful10Rest: \"#3a6fe9\",\n colorChartsColorful10Hover: \"#6692fa\",\n colorChartsSemanticNotStartedRest: \"#a6acc4\",\n colorChartsSemanticNotStartedHover: \"#b8bdd1\",\n colorChartsSemanticInProgressRest: \"#80a6ff\",\n colorChartsSemanticInProgressHover: \"#9ebbff\",\n colorChartsSemanticAtRiskRest: \"#efb32a\",\n colorChartsSemanticAtRiskHover: \"#f9cd67\",\n colorChartsSemanticCompletedRest: \"#32c84c\",\n colorChartsSemanticCompletedHover: \"#62d574\",\n colorChartsSemanticBlockedRest: \"#f29298\",\n colorChartsSemanticBlockedHover: \"#f7abb0\",\n colorChartsAssetsDashboardRest: \"#32c84c\",\n colorChartsAssetsDashboardHover: \"#62d574\",\n colorChartsAssetsWorkspaceRest: \"#3ab9df\",\n colorChartsAssetsWorkspaceHover: \"#6acae7\",\n colorChartsAssetsSheetRest: \"#a87efb\",\n colorChartsAssetsSheetHover: \"#bb99ff\",\n colorChartsAssetsReportRest: \"#fb8f79\",\n colorChartsAssetsReportHover: \"#fda796\",\n symbolBackgroundColorYellowDefault: \"#efb32a\",\n symbolBackgroundColorYellowHover: \"#dea41b\",\n tooltipBackgroundColor: \"#363c54\",\n tooltipTextColor: \"#f5f8ff\",\n gradientNavigation: \"linear-gradient(180deg, #184bc3, #5A43D7)\",\n gradientUpsell: \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n gradientProgressBar: \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n elevationLengthTopLow: \"0px 6px 12px\",\n elevationLengthTopDefault: \"0px 6px 16px\",\n elevationLengthTopHigh: \"0px 12px 24px\",\n elevationLengthBottomLow: \"0px 2px 4px\",\n elevationLengthBottomDefault: \"0px 4px 6px\",\n elevationLengthBottomHigh: \"0px 6px 8px\",\n elevationLow: \"0px 6px 12px #11131d, 0px 2px 4px #11131d\",\n elevationDefault: \"0px 6px 16px #11131d, 0px 4px 6px #11131d\",\n elevationHigh: \"0px 12px 24px #11131d, 0px 6px 8px #11131d\"\n};\n//# sourceMappingURL=ursa-dark.js.map","/**\n * Button Primary\n */\nexport const buttonPrimary = \"#3576ba\";\nexport const buttonPrimaryHover = \"#005D95\";\nexport const buttonPrimaryPressed = \"#004173\";\nexport const buttonPrimaryFocus = buttonPrimary;\nexport const buttonPrimaryDisabled = \"#b3ccea\";\n\n/**\n * Button Secondary\n */\n// todo: rename to buttonSecondary to match color names in style guide.\nexport const buttonDefault = \"#eeeeee\";\nexport const buttonDefaultHover = \"#e0e0e0\";\nexport const buttonDefaultPressed = \"#c0c0c0\";\nexport const buttonDefaultFocus = buttonDefault;\nexport const buttonDefaultDisabled = \"#f2f2f2\";\nexport const buttonSecondary = \"#32b1ad\"; // todo: remove, obsolete.\n\n/**\n * Button Share\n */\nexport const ctaShare = \"#007e84\";\nexport const ctaShareHover = \"#40bac0\";\nexport const ctaShareActive = \"#01595d\"; // todo: rename to Pressed\nexport const ctaShareFocus = ctaShare;\nexport const ctaShareDisabled = \"#aed5d6\";\n\n/**\n * Button Destructive\n */\nexport const buttonDestructive = \"#cc2e3b\";\nexport const buttonDestructiveHover = \"#d8656f\";\nexport const buttonDestructivePressed = \"#a62833\";\nexport const buttonDestructiveFocus = buttonDestructive;\nexport const buttonDestructiveDisabled = \"#edbec2\";\n\n/**\n * Button Upgrade\n */\n// todo: replace existing ctaUpgrade with this set.\nexport const buttonUpgrade = \"#007a49\";\nexport const buttonUpgradeHover = \"#40c28f\";\nexport const buttonUpgradePressed = \"#00693f\";\nexport const buttonUpgradeFocus = buttonUpgrade;\nexport const buttonUpgradeDisabled = \"#b3d7c8\";\nexport const ctaUpgrade = \"#2c6665\";\n\n/**\n * Link and Focus\n */\nexport const ctaLink = \"#0970be\";\nexport const focusDark = \"#4c649d\"; // focus dark 10 in figma\nexport const focus = \"#6097d2\";\nexport const focusLight = \"#b0cae9\"; // todo: remove, obsolete?\nexport const focusLight10 = \"#b3ccea\"; // focus light 10 in figma\nexport const focusLight20 = \"#c5d7ed\"; // focus light 20 in figma\n\nexport const active = \"#204a76\"; // todo: remove, obsolete?\nexport const focusActiveLight = \"#b0cae9\";\nexport const focusActiveDark = \"#566ae3\"; // visPurpleDark10\n\n/**\n * Success\n */\nexport const successDark30 = \"#00462a\";\nexport const successDark20 = \"#00693f\";\nexport const successDark10 = \"#008c54\";\nexport const success = \"#01af6a\";\nexport const successLight10 = \"#40c28f\";\nexport const successLight20 = \"#7dd4b1\";\nexport const successLight30 = \"#bbe7d6\";\n\n/**\n * Warning\n */\nexport const warningDark30 = \"#664e18\";\nexport const warningDark20 = \"#997525\";\nexport const warningDark10 = \"#cc9c31\";\nexport const warning = \"#ffc33e\";\nexport const warningLight10 = \"#fdd16e\";\nexport const warningLight20 = \"#fcde9b\";\nexport const warningLight30 = \"#fbeccb\";\n\n/**\n * Danger\n */\nexport const dangerDark30 = \"#531419\";\nexport const dangerDark20 = \"#7c1e26\";\nexport const dangerDark10 = \"#a62833\";\nexport const danger = \"#d03340\";\nexport const dangerLight10 = \"#db656f\";\nexport const dangerLight20 = \"#e4969c\";\nexport const dangerLight30 = \"#efc8cb\";\n\n/**\n * Info\n */\nexport const infoDark30 = \"#3f4952\";\nexport const infoDark20 = \"#5e6d7b\";\nexport const infoDark10 = \"#7e92a4\";\nexport const info = \"#9eb7ce\";\nexport const infoLight10 = \"#b6c8da\";\nexport const infoLight20 = \"#cbd8e3\";\nexport const infoLight30 = \"#e3e9ef\";\n\n/**\n * Visualization Blue\n */\nexport const visBlueDark30 = \"#002847\";\nexport const visBlueDark20 = \"#004173\";\nexport const visBlueDark10 = \"#007cc5\";\nexport const visBlue = \"#5996d6\";\nexport const visBlueLight10 = \"#a7c1e4\";\nexport const visBlueLight20 = \"#d8e4fa\";\nexport const visBlueLight30 = \"#f0f5fd\";\n\n/**\n * Visualization Green\n */\nexport const visGreenDark30 = \"#193700\";\nexport const visGreenDark20 = \"#275600\";\nexport const visGreenDark10 = \"#488306\";\nexport const visGreen = \"#70a13c\";\nexport const visGreenLight10 = \"#b2c997\";\nexport const visGreenLight20 = \"#e1ebd6\";\nexport const visGreenLight30 = \"#f3f7ef\";\n\n/**\n * Visualization Orange\n */\nexport const visOrangeDark30 = \"#492400\";\nexport const visOrangeDark20 = \"#653300\";\nexport const visOrangeDark10 = \"#ab6600\";\nexport const visOrange = \"#e18502\";\nexport const visOrangeLight10 = \"#ffb761\";\nexport const visOrangeLight20 = \"#fee3c0\";\nexport const visOrangeLight30 = \"#fff4e6\";\n\n/**\n * Visualization Yellow\n */\nexport const visYellowDark30 = \"#3d2c00\";\nexport const visYellowDark20 = \"#5a4000\";\nexport const visYellowDark10 = \"#996f00\";\nexport const visYellow = \"#e6a907\";\nexport const visYellowLight10 = \"#f5cf6a\";\nexport const visYellowLight20 = \"#ffefc5\";\nexport const visYellowLight30 = \"#fff8e7\";\n\n/**\n * Visualization Red\n */\nexport const visRedDark30 = \"#6d0800\";\nexport const visRedDark20 = \"#9d0c00\";\nexport const visRedDark10 = \"#d14424\";\nexport const visRed = \"#ee6f4c\";\nexport const visRedLight10 = \"#f6b09d\";\nexport const visRedLight20 = \"#ffe0d7\";\nexport const visRedLight30 = \"#fff3ef\";\n\n/**\n * Visualization Purple\n */\nexport const visPurpleDark30 = \"#0c245b\";\nexport const visPurpleDark20 = \"#0c3491\";\nexport const visPurpleDark10 = \"#566ae3\";\nexport const visPurple = \"#848be9\";\nexport const visPurpleLight10 = \"#bab8f1\";\nexport const visPurpleLight20 = \"#e6e5fa\";\nexport const visPurpleLight30 = \"#f5f5fd\";\n\n/**\n * Visualization Berry\n */\nexport const visBerryDark30 = \"#610e44\";\nexport const visBerryDark20 = \"#8b2066\";\nexport const visBerryDark10 = \"#b94d90\";\nexport const visBerry = \"#c76ca1\";\nexport const visBerryLight10 = \"#e5b8d1\";\nexport const visBerryLight20 = \"#f5e1ec\";\nexport const visBerryLight30 = \"#fbf3f8\";\n\n/**\n * Visualization Teal\n */\nexport const visTealDark30 = \"#002923\";\nexport const visTealDark20 = \"#004e43\";\nexport const visTealDark10 = \"#008476\";\nexport const visTeal = \"#4eaa9b\";\nexport const visTealLight10 = \"#a1c9c2\";\nexport const visTealLight20 = \"#dceae7\";\nexport const visTealLight30 = \"#f1f7f6\";\n\n/**\n * Neutrals\n */\nexport const neutralDark40 = \"#111111\";\nexport const neutralDark30 = \"#444444\";\nexport const neutralDark20 = \"#727272\";\nexport const neutralDark10 = \"#979797\";\nexport const neutral = \"#c0c0c0\";\nexport const neutralLight10 = \"#e0e0e0\";\nexport const neutralLight20 = \"#ebebeb\";\nexport const neutralLight30 = \"#f2f2f2\";\nexport const neutralLight40 = \"#ffffff\";\n\n// This is \"accessible\" against black (7:1) but not against white(2.9:1).\nexport const neutralAccessible = neutralDark10;\n\n/**\n * Backgrounds\n */\nexport const defaultBackground = \"#f8f7f5\"; // figma: light bg\nexport const tooltipBackground = \"rgba(84, 84, 84, 1)\"; // figma: tooltip gray\nexport const blanketBackground = \"rgba(0, 0, 0, 0.1)\"; // figma: light overlay\nexport const leftNavBackground = \"#003059\"; // figma: left nav\n\n/**\n * Shadows\n */\nexport const shadowMenu = \"rgba(0, 0, 0, 0.16)\";\nexport const shadowModal = \"rgba(0, 0, 0, 0.12)\";\nexport const shadowBorder = \"rgba(0, 0, 0, 0.12)\";\n//# sourceMappingURL=lodestarColors.js.map","import { colorTokens } from \"./token-groups/color-tokens\";\nexport const commonTokens = colorTokens;\nexport { layers } from \"./token-groups/layers\";\nexport { border } from \"./token-groups/border\";\nexport { motion } from \"./token-groups/motion\";\nexport { space } from \"./token-groups/space\";\nexport { typography } from \"./token-groups/typography\";\nexport { colors as ursaColors } from \"./system/ursaColors\";\nexport { colors as ursaColorsInternal } from \"./system/ursaColorsInternal\";\nexport { lodestarLightColors } from \"./build/ts/lodestar-light\";\nexport { ursaLightColors } from \"./build/ts/ursa-light\";\nexport { ursaDarkColors } from \"./build/ts/ursa-dark\";\nexport * as lodestarColors from \"./system/lodestarColors\";\n//# sourceMappingURL=index.js.map","export var iconSizes = {\n xxSmall: \"14px\",\n xSmall: \"16px\",\n small: \"20px\",\n medium: \"24px\",\n large: \"32px\",\n xLarge: \"48px\",\n xxLarge: \"64px\"\n};\n//# sourceMappingURL=constants.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgCheck = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" }),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"nonzero\", d: \"M18.216 5.24l.027.017c.753.5.981 1.51.517 2.288l-6.516 10.923a1.084 1.084 0 01-1.736.175l-5.06-5.565a1.725 1.725 0 01.05-2.372 1.548 1.548 0 012.083-.11l.143.132 3.244 3.568 5.094-8.538a1.545 1.545 0 011.988-.61l.166.092z\" })))); };\n//# sourceMappingURL=Check.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgCheck as CheckMedium } from \"./medium/Check\";\nvar sizeMap = {\n medium: CheckMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var CheckIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nCheckIcon.displayName = \"CheckIcon\";\n//# sourceMappingURL=CheckIcon.js.map","import { shallowEqualObjects, noop, isServer, isValidTimeout, timeUntilStale, replaceData } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { canFetch, isCancelledError } from './retryer.mjs';\n\nclass QueryObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.options = options;\n this.trackedProps = new Set();\n this.selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n\n bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n }\n\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n\n destroy() {\n this.listeners = new Set();\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n this.currentQuery.removeObserver(this);\n }\n\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryOptions(options);\n\n if (process.env.NODE_ENV !== 'production' && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {\n this.client.getLogger().error(\"The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option\");\n }\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this\n });\n }\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n const mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n const nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n }\n\n getOptimisticResult(options) {\n const query = this.client.getQueryCache().build(this.client, options);\n const result = this.createResult(query, options);\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result;\n this.currentResultOptions = this.options;\n this.currentResultState = this.currentQuery.state;\n }\n\n return result;\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n\n getCurrentQuery() {\n return this.currentQuery;\n }\n\n remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n }\n\n refetch({\n refetchPage,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n refetchPage\n }\n });\n }\n\n fetchOptimistic(options) {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const query = this.client.getQueryCache().build(this.client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n\n fetch(fetchOptions) {\n var _fetchOptions$cancelR;\n\n return this.executeFetch({ ...fetchOptions,\n cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true\n }).then(() => {\n this.updateResult();\n return this.currentResult;\n });\n }\n\n executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n let promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions != null && fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n updateStaleTimeout() {\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n const time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n const timeout = time + 1;\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n\n computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n }\n\n updateRefetchInterval(nextInterval) {\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.executeFetch();\n }\n }, this.currentRefetchInterval);\n }\n\n updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n }\n\n clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n }\n\n clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n }\n\n createResult(query, options) {\n const prevQuery = this.currentQuery;\n const prevOptions = this.options;\n const prevResult = this.currentResult;\n const prevResultState = this.currentResultState;\n const prevResultOptions = this.currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n const prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n const {\n state\n } = query;\n let {\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPreviousData = false;\n let isPlaceholderData = false;\n let data; // Optimistically set result in fetching state if needed\n\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult == null ? void 0 : prevResult.data, data, options);\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'loading') {\n let placeholderData; // Memoize placeholder data\n\n if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = replaceData(prevResult == null ? void 0 : prevResult.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n const isFetching = fetchStatus === 'fetching';\n const isLoading = status === 'loading';\n const isError = status === 'error';\n const result = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n }\n\n updateResult(notifyOptions) {\n const prevResult = this.currentResult;\n const nextResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify and update result if something has changed\n\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n\n this.currentResult = nextResult; // Determine which callbacks to trigger\n\n const defaultNotifyOptions = {\n cache: true\n };\n\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === 'function' ? notifyOnChangeProps() : notifyOnChangeProps;\n\n if (notifyOnChangePropsValue === 'all' || !notifyOnChangePropsValue && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangePropsValue != null ? notifyOnChangePropsValue : this.trackedProps);\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error');\n }\n\n return Object.keys(this.currentResult).some(key => {\n const typedKey = key;\n const changed = this.currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify({ ...defaultNotifyOptions,\n ...notifyOptions\n });\n }\n\n updateQuery() {\n const query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n const prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n }\n\n onQueryUpdate(action) {\n const notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n }\n\n notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;\n\n (_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, this.currentResult.data);\n (_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, this.currentResult.data, null);\n } else if (notifyOptions.onError) {\n var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;\n\n (_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, this.currentResult.error);\n (_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, this.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n }\n\n}\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n} // this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\n\n\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult, options) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false;\n } // this means we want to put some placeholder data when pending and queryKey\n // changed.\n\n\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData;\n } // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n\n\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n } // basically, just keep previous properties if nothing changed\n\n\n return false;\n}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.mjs.map\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Walk the prototype chain (excluding the shared Object.prototype) looking for\n * an own `prop`. This distinguishes genuine own/inherited members — including\n * class accessors and template prototypes — from members injected via\n * Object.prototype pollution (e.g. `Object.prototype.username = '...'`), which\n * live on Object.prototype itself and are therefore never matched.\n *\n * @param {*} thing The value whose chain to inspect\n * @param {string|symbol} prop The property key to look for\n *\n * @returns {boolean} True when `prop` is owned below Object.prototype\n */\nconst hasOwnInPrototypeChain = (thing, prop) => {\n let obj = thing;\n const seen = [];\n\n while (obj != null && obj !== Object.prototype) {\n if (seen.indexOf(obj) !== -1) {\n return false;\n }\n seen.push(obj);\n\n if (hasOwnProperty(obj, prop)) {\n return true;\n }\n obj = getPrototypeOf(obj);\n }\n return false;\n};\n\n/**\n * Read `obj[prop]` only when it is safe from Object.prototype pollution. Own\n * properties and members inherited from a non-Object.prototype source (a class\n * instance or template object) are honored; a value reachable only through a\n * polluted Object.prototype is ignored and `undefined` is returned.\n *\n * @param {*} obj The source object\n * @param {string|symbol} prop The property key to read\n *\n * @returns {*} The resolved value, or undefined when unsafe/absent\n */\nconst getSafeProp = (obj, prop) =>\n obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : undefined;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (!isObject(val)) {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n getPrototypeOf(prototype) === null) &&\n // Treat any genuine (non-Object.prototype-polluted) Symbol.toStringTag or\n // Symbol.iterator as evidence the value is a tagged/iterable type rather\n // than a plain object, while ignoring keys injected onto Object.prototype.\n !hasOwnInPrototypeChain(val, toStringTag) &&\n !hasOwnInPrototypeChain(val, iterator)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n *\n * @param {*} value The value to test\n *\n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n};\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n *\n * @param {*} formData The formData to test\n *\n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a FileList, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n if (!thing) return false;\n if (FormDataCtor && thing instanceof FormDataCtor) return true;\n // Reject plain objects inheriting directly from Object.prototype so prototype-pollution gadgets can't spoof FormData.\n const proto = getPrototypeOf(thing);\n if (!proto || proto === Object.prototype) return false;\n if (!isFunction(thing.append)) return false;\n const kind = kindOf(thing);\n return (\n kind === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(...objs) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n // findKey lowercases the key, so caseless lookup only applies to strings —\n // symbol keys are identity-matched.\n const targetKey = (caseless && typeof key === 'string' && findKey(result, key)) || key;\n // Read via own-prop only — a bare `result[targetKey]` walks the prototype\n // chain, so a polluted Object.prototype value could surface here and get\n // copied into the merged result.\n const existing = hasOwnProperty(result, targetKey) ? result[targetKey] : undefined;\n if (isPlainObject(existing) && isPlainObject(val)) {\n result[targetKey] = merge(existing, val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = objs.length; i < l; i++) {\n const source = objs[i];\n if (!source || isBuffer(source)) {\n continue;\n }\n\n forEach(source, assignValue);\n\n if (typeof source !== 'object' || isArray(source)) {\n continue;\n }\n\n const symbols = Object.getOwnPropertySymbols(source);\n for (let j = 0; j < symbols.length; j++) {\n const symbol = symbols[j];\n if (propertyIsEnumerable.call(source, symbol)) {\n assignValue(source[symbol], symbol);\n }\n }\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n // Null-proto descriptor so a polluted Object.prototype.get cannot\n // hijack defineProperty's accessor-vs-data resolution.\n __proto__: null,\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n __proto__: null,\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n __proto__: null,\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n __proto__: null,\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\nconst { propertyIsEnumerable } = Object.prototype;\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].includes(name)) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const visited = new WeakSet();\n\n const visit = (source) => {\n if (isObject(source)) {\n if (visited.has(source)) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n // add-on descent / delete-on-ascent: preserves path semantics, so DAG nodes serialise at every occurrence (see #7230).\n visited.add(source);\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n visited.delete(source);\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n/**\n * Determine if a value is iterable via an iterator that is NOT sourced solely\n * from a polluted Object.prototype. Use this instead of `isIterable` whenever\n * the iterable comes from untrusted input (e.g. user-supplied header sources),\n * so `Object.prototype[Symbol.iterator] = ...` cannot turn an ordinary object\n * into an attacker-controlled entries iterator.\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value has a non-polluted iterator\n */\nconst isSafeIterable = (thing) =>\n thing != null && hasOwnInPrototypeChain(thing, iterator) && isIterable(thing);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n hasOwnInPrototypeChain,\n getSafeProp,\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n isSafeIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nfunction trimSPorHTAB(str) {\n let start = 0;\n let end = str.length;\n\n while (start < end) {\n const code = str.charCodeAt(start);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n start += 1;\n }\n\n while (end > start) {\n const code = str.charCodeAt(end - 1);\n\n if (code !== 0x09 && code !== 0x20) {\n break;\n }\n\n end -= 1;\n }\n\n return start === 0 && end === str.length ? str : str.slice(start, end);\n}\n\n// The control-code ranges are intentional: header sanitization strips C0/DEL bytes.\n// eslint-disable-next-line no-control-regex\nconst INVALID_UNICODE_HEADER_VALUE_CHARS = new RegExp('[\\\\u0000-\\\\u0008\\\\u000a-\\\\u001f\\\\u007f]+', 'g');\n// eslint-disable-next-line no-control-regex\nconst INVALID_BYTE_STRING_HEADER_VALUE_CHARS = new RegExp('[^\\\\u0009\\\\u0020-\\\\u007e\\\\u0080-\\\\u00ff]+', 'g');\n\nfunction sanitizeValue(value, invalidChars) {\n if (utils.isArray(value)) {\n return value.map((item) => sanitizeValue(item, invalidChars));\n }\n\n return trimSPorHTAB(String(value).replace(invalidChars, ''));\n}\n\nexport const sanitizeHeaderValue = (value) =>\n sanitizeValue(value, INVALID_UNICODE_HEADER_VALUE_CHARS);\n\nexport const sanitizeByteStringHeaderValue = (value) =>\n sanitizeValue(value, INVALID_BYTE_STRING_HEADER_VALUE_CHARS);\n\nexport function toByteStringHeaderObject(headers) {\n const byteStringHeaders = Object.create(null);\n\n utils.forEach(headers.toJSON(), (value, header) => {\n byteStringHeaders[header] = sanitizeByteStringHeaderValue(value);\n });\n\n return byteStringHeaders;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\nimport { sanitizeHeaderValue } from '../helpers/sanitizeHeaderValue.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : sanitizeHeaderValue(String(value));\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n return;\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isSafeIterable(header)) {\n let obj = Object.create(null),\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw new TypeError('Object iterator must return a key-value pair');\n }\n\n key = entry[0];\n\n if (utils.hasOwnProp(obj, key)) {\n dest = obj[key];\n obj[key] = utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]];\n } else {\n obj[key] = entry[1];\n }\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst REDACTED = '[REDACTED ****]';\n\nfunction hasOwnOrPrototypeToJSON(source) {\n if (utils.hasOwnProp(source, 'toJSON')) {\n return true;\n }\n\n let prototype = Object.getPrototypeOf(source);\n\n while (prototype && prototype !== Object.prototype) {\n if (utils.hasOwnProp(prototype, 'toJSON')) {\n return true;\n }\n\n prototype = Object.getPrototypeOf(prototype);\n }\n\n return false;\n}\n\n// Build a plain-object snapshot of `config` and replace the value of any key\n// (case-insensitive) listed in `redactKeys` with REDACTED. Walks through arrays\n// and AxiosHeaders, and short-circuits on circular references.\nfunction redactConfig(config, redactKeys) {\n const lowerKeys = new Set(redactKeys.map((k) => String(k).toLowerCase()));\n const seen = [];\n\n const visit = (source) => {\n if (source === null || typeof source !== 'object') return source;\n if (utils.isBuffer(source)) return source;\n if (seen.indexOf(source) !== -1) return undefined;\n\n if (source instanceof AxiosHeaders) {\n source = source.toJSON();\n }\n\n seen.push(source);\n\n let result;\n if (utils.isArray(source)) {\n result = [];\n source.forEach((v, i) => {\n const reducedValue = visit(v);\n if (!utils.isUndefined(reducedValue)) {\n result[i] = reducedValue;\n }\n });\n } else {\n if (!utils.isPlainObject(source) && hasOwnOrPrototypeToJSON(source)) {\n seen.pop();\n return source;\n }\n\n result = Object.create(null);\n for (const [key, value] of Object.entries(source)) {\n const reducedValue = lowerKeys.has(key.toLowerCase()) ? REDACTED : visit(value);\n if (!utils.isUndefined(reducedValue)) {\n result[key] = reducedValue;\n }\n }\n }\n\n seen.pop();\n return result;\n };\n\n return visit(config);\n}\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n // Match native `Error` `cause` semantics: non-enumerable. The wrapped\n // error often carries circular internals (sockets, requests, agents), so\n // an enumerable `cause` makes structured loggers (pino/winston) and any\n // own-property walk throw \"Converting circular structure to JSON\".\n // Regression from #6982; see #7205. `__proto__: null` mirrors the\n // `message` descriptor below (prototype-pollution-safe descriptor).\n Object.defineProperty(axiosError, 'cause', {\n __proto__: null,\n value: error,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n\n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: message,\n enumerable: true,\n writable: true,\n configurable: true,\n });\n\n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n // Opt-in redaction: when the request config carries a `redact` array, the\n // value of any matching key (case-insensitive, at any depth) is replaced\n // with REDACTED in the serialized snapshot. Undefined or empty leaves the\n // existing serialization behavior unchanged.\n const config = this.config;\n const redactKeys = config && utils.hasOwnProp(config, 'redact') ? config.redact : undefined;\n const serializedConfig =\n utils.isArray(redactKeys) && redactKeys.length > 0\n ? redactConfig(config, redactKeys)\n : utils.toJSONObject(config);\n\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: serializedConfig,\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ECONNREFUSED = 'ECONNREFUSED';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\nAxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED = 'ERR_FORM_DATA_DEPTH_EXCEEDED';\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n// Default nesting limit shared with the inverse transform (formDataToJSON) so\n// the FormData <-> JSON round-trip stays symmetric.\nexport const DEFAULT_FORM_DATA_MAX_DEPTH = 100;\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const maxDepth = options.maxDepth === undefined ? DEFAULT_FORM_DATA_MAX_DEPTH : options.maxDepth;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n const stack = [];\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n if (useBlob && typeof _Blob === 'function') {\n return new _Blob([value]);\n }\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(value);\n }\n throw new AxiosError('Blob is not supported. Use a Buffer instead.', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return value;\n }\n\n function throwIfMaxDepthExceeded(depth) {\n if (depth > maxDepth) {\n throw new AxiosError(\n 'Object is too deeply nested (' + depth + ' levels). Max depth: ' + maxDepth,\n AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED\n );\n }\n }\n\n function stringifyWithDepthLimit(value, depth) {\n if (maxDepth === Infinity) {\n return JSON.stringify(value);\n }\n\n const ancestors = [];\n\n return JSON.stringify(value, function limitDepth(_key, currentValue) {\n if (!utils.isObject(currentValue)) {\n return currentValue;\n }\n\n while (ancestors.length && ancestors[ancestors.length - 1] !== this) {\n ancestors.pop();\n }\n\n ancestors.push(currentValue);\n throwIfMaxDepthExceeded(depth + ancestors.length - 1);\n\n return currentValue;\n });\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = stringifyWithDepthLimit(value, 1);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path, depth = 0) {\n if (utils.isUndefined(value)) return;\n\n throwIfMaxDepthExceeded(depth);\n\n if (stack.indexOf(value) !== -1) {\n throw new Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key], depth + 1);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? (value) => encoder.call(this, value, encode)\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from './AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nexport function encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n url = url || '';\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n // Read serializer options pollution-safely: own properties and methods on a\n // class/template prototype are honored, but values injected onto a polluted\n // Object.prototype are ignored.\n const _encode = utils.getSafeProp(_options, 'encode') || encode;\n const serializeFn = utils.getSafeProp(_options, 'serialize');\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n advertiseZstdAcceptEncoding: false,\n validateStatusUndefinedResolves: true,\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport { DEFAULT_FORM_DATA_MAX_DEPTH } from './toFormData.js';\n\nconst MAX_DEPTH = DEFAULT_FORM_DATA_MAX_DEPTH;\n\nfunction throwIfDepthExceeded(index) {\n if (index > MAX_DEPTH) {\n throw new AxiosError(\n 'FormData field is too deeply nested (' + index + ' levels). Max depth: ' + MAX_DEPTH,\n AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED\n );\n }\n}\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n const path = [];\n const pattern = /\\w+|\\[(\\w*)]/g;\n let match;\n\n while ((match = pattern.exec(name)) !== null) {\n throwIfDepthExceeded(path.length);\n path.push(match[0] === '[]' ? '' : match[1] || match[0]);\n }\n\n return path;\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n throwIfDepthExceeded(index);\n\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = utils.isArray(target[name])\n ? target[name].concat(value)\n : [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!utils.hasOwnProp(target, name) || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst own = (obj, key) => (obj != null && utils.hasOwnProp(obj, key) ? obj[key] : undefined);\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n const formSerializer = own(this, 'formSerializer');\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const env = own(this, 'env');\n const _FormData = env && env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = own(this, 'transitional') || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const responseType = own(this, 'responseType');\n const JSONRequested = responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, own(this, 'parseReviver'));\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, own(this, 'response'));\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n response.status >= 400 && response.status < 500 ? AxiosError.ERR_BAD_REQUEST : AxiosError.ERR_BAD_RESPONSE,\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25}):(?:\\/\\/)?/.exec(url);\n return (match && match[1]) || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n if (!e || typeof e.loaded !== 'number') {\n return;\n }\n const rawLoaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;\n const progressBytes = Math.max(0, loaded - bytesNotified);\n const rate = _speedometer(progressBytes);\n\n bytesNotified = Math.max(bytesNotified, loaded);\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n // Match name=value by splitting on the semicolon separator instead of building a\n // RegExp from `name` — interpolating an unescaped string into a RegExp would let\n // metacharacters (e.g. `.+?` in an attacker-influenced cookie name) cause ReDoS or\n // match the wrong cookie. Browsers may serialize cookie pairs as either \";\" or\n // \"; \", so ignore optional whitespace before each cookie name.\n const cookies = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].replace(/^\\s+/, '');\n const eq = cookie.indexOf('=');\n if (eq !== -1 && cookie.slice(0, eq) === name) {\n try {\n return decodeURIComponent(cookie.slice(eq + 1));\n } catch (e) {\n return cookie.slice(eq + 1);\n }\n }\n }\n return null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\nconst malformedHttpProtocol = /^https?:(?!\\/\\/)/i;\nconst httpProtocolControlCharacters = /[\\t\\n\\r]/g;\n\nfunction stripLeadingC0ControlOrSpace(url) {\n let i = 0;\n while (i < url.length && url.charCodeAt(i) <= 0x20) {\n i++;\n }\n return url.slice(i);\n}\n\nfunction normalizeURLForProtocolCheck(url) {\n return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, '');\n}\n\nfunction assertValidHttpProtocolURL(url, config) {\n if (typeof url === 'string' && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url))) {\n throw new AxiosError(\n 'Invalid URL: missing \"//\" after protocol',\n AxiosError.ERR_INVALID_URL,\n config\n );\n }\n}\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls, config) {\n assertValidHttpProtocolURL(requestedURL, config);\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) {\n assertValidHttpProtocolURL(baseURL, config);\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config1 = config1 || {};\n config2 = config2 || {};\n\n // Use a null-prototype object so that downstream reads such as `config.auth`\n // or `config.baseURL` cannot inherit polluted values from Object.prototype.\n // `hasOwnProperty` is restored as a non-enumerable own slot to preserve\n // ergonomics for user code that relies on it.\n const config = Object.create(null);\n Object.defineProperty(config, 'hasOwnProperty', {\n // Null-proto descriptor so a polluted Object.prototype.get cannot turn\n // this data descriptor into an accessor descriptor on the way in.\n __proto__: null,\n value: Object.prototype.hasOwnProperty,\n enumerable: false,\n writable: true,\n configurable: true,\n });\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n function getMergedTransitionalOption(prop) {\n const transitional2 = utils.hasOwnProp(config2, 'transitional') ? config2.transitional : undefined;\n\n if (!utils.isUndefined(transitional2)) {\n if (utils.isPlainObject(transitional2)) {\n if (utils.hasOwnProp(transitional2, prop)) {\n return transitional2[prop];\n }\n } else {\n return undefined;\n }\n }\n\n const transitional1 = utils.hasOwnProp(config1, 'transitional') ? config1.transitional : undefined;\n\n if (utils.isPlainObject(transitional1) && utils.hasOwnProp(transitional1, prop)) {\n return transitional1[prop];\n }\n\n return undefined;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (utils.hasOwnProp(config2, prop)) {\n return getMergedValue(a, b);\n } else if (utils.hasOwnProp(config1, prop)) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n allowedSocketPaths: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const a = utils.hasOwnProp(config1, prop) ? config1[prop] : undefined;\n const b = utils.hasOwnProp(config2, prop) ? config2[prop] : undefined;\n const configValue = merge(a, b, prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n if (\n utils.hasOwnProp(config2, 'validateStatus') &&\n utils.isUndefined(config2.validateStatus) &&\n getMergedTransitionalOption('validateStatusUndefinedResolves') === false\n ) {\n if (utils.hasOwnProp(config1, 'validateStatus')) {\n config.validateStatus = getMergedValue(undefined, config1.validateStatus);\n } else {\n delete config.validateStatus;\n }\n }\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nconst FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length'];\n\nfunction setFormDataHeaders(headers, formHeaders, policy) {\n if (policy !== 'content-only') {\n headers.set(formHeaders);\n return;\n }\n\n Object.entries(formHeaders || {}).forEach(([key, val]) => {\n if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n}\n\n/**\n * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().\n * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.\n *\n * @param {string} str The string to encode\n *\n * @returns {string} UTF-8 bytes as a Latin-1 string\n */\nconst encodeUTF8 = (str) =>\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) =>\n String.fromCharCode(parseInt(hex, 16))\n );\n\nfunction resolveConfig(config) {\n const newConfig = mergeConfig({}, config);\n\n // Read only own properties to prevent prototype pollution gadgets\n // (e.g. Object.prototype.baseURL = 'https://evil.com').\n const own = (key) => (utils.hasOwnProp(newConfig, key) ? newConfig[key] : undefined);\n\n const data = own('data');\n let withXSRFToken = own('withXSRFToken');\n const xsrfHeaderName = own('xsrfHeaderName');\n const xsrfCookieName = own('xsrfCookieName');\n let headers = own('headers');\n const auth = own('auth');\n const baseURL = own('baseURL');\n const allowAbsoluteUrls = own('allowAbsoluteUrls');\n const url = own('url');\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(baseURL, url, allowAbsoluteUrls, newConfig),\n own('params'),\n own('paramsSerializer')\n );\n\n // HTTP basic authentication\n if (auth) {\n const username = utils.getSafeProp(auth, 'username') || '';\n const password = utils.getSafeProp(auth, 'password') || '';\n\n try {\n headers.set(\n 'Authorization',\n 'Basic ' + btoa(username + ':' + (password ? encodeUTF8(password) : ''))\n );\n } catch (e) {\n throw AxiosError.from(e, AxiosError.ERR_BAD_OPTION_VALUE, config);\n }\n }\n\n if (utils.isFormData(data)) {\n if (\n platform.hasStandardBrowserEnv ||\n platform.hasStandardBrowserWebWorkerEnv ||\n utils.isReactNative(data)\n ) {\n headers.setContentType(undefined); // browser/web worker/RN handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n setFormDataHeaders(headers, data.getHeaders(), own('formDataHeaderPolicy'));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n if (utils.isFunction(withXSRFToken)) {\n withXSRFToken = withXSRFToken(newConfig);\n }\n\n // Strict boolean check — prevents proto-pollution gadgets (e.g. Object.prototype.withXSRFToken = 1)\n // and misconfigurations (e.g. \"false\") from short-circuiting the same-origin check and leaking\n // the XSRF token cross-origin.\n const shouldSendXSRF =\n withXSRFToken === true || (withXSRFToken == null && isURLSameOrigin(newConfig.url));\n\n if (shouldSendXSRF) {\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\nexport default resolveConfig;\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport { toByteStringHeaderObject } from '../helpers/sanitizeHeaderValue.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.startsWith('file:'))\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n done();\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n done();\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n done();\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(toByteStringHeaderObject(requestHeaders), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n done();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && !platform.protocols.includes(protocol)) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n done();\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n signals = signals ? signals.filter(Boolean) : [];\n\n if (!timeout && !signals.length) {\n return;\n }\n\n const controller = new AbortController();\n\n let aborted = false;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (!signals) { return; }\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort, { once: true }));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: compute the exact percent-decoded UTF-8 byte length.\n *\n * @param {string} url\n * @returns {number}\n */\nconst isHexDigit = (charCode) =>\n (charCode >= 48 && charCode <= 57) ||\n (charCode >= 65 && charCode <= 70) ||\n (charCode >= 97 && charCode <= 102);\n\nconst isPercentEncodedByte = (str, i, len) =>\n i + 2 < len && isHexDigit(str.charCodeAt(i + 1)) && isHexDigit(str.charCodeAt(i + 2));\n\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex = isHexDigit(a) && isHexDigit(b);\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n // Compute UTF-8 byte length directly from UTF-16 code units without allocating\n // a byte buffer (TextEncoder.encode would defeat the DoS guard on large bodies).\n // Valid %XX triplets count as one decoded byte; this matches the bytes that\n // decodeURIComponent(body) would produce before Buffer re-encodes the string.\n let bytes = 0;\n for (let i = 0, len = body.length; i < len; i++) {\n const c = body.charCodeAt(i);\n if (c === 37 /* '%' */ && isPercentEncodedByte(body, i, len)) {\n bytes += 1;\n i += 2;\n } else if (c < 0x80) {\n bytes += 1;\n } else if (c < 0x800) {\n bytes += 2;\n } else if (c >= 0xd800 && c <= 0xdbff && i + 1 < len) {\n const next = body.charCodeAt(i + 1);\n if (next >= 0xdc00 && next <= 0xdfff) {\n bytes += 4;\n i++;\n } else {\n bytes += 3;\n }\n } else {\n bytes += 3;\n }\n }\n return bytes;\n}\n","export const VERSION = \"1.18.1\";","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\nimport { VERSION } from '../env/data.js';\nimport { toByteStringHeaderObject } from '../helpers/sanitizeHeaderValue.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\n/**\n * Encode a UTF-8 string to a Latin-1 byte string for use with btoa().\n * This is a modern replacement for the deprecated unescape(encodeURIComponent(str)) pattern.\n *\n * @param {string} str The string to encode\n *\n * @returns {string} UTF-8 bytes as a Latin-1 string\n */\nconst encodeUTF8 = (str) =>\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/gi, (_, hex) =>\n String.fromCharCode(parseInt(hex, 16))\n );\n\n// Node's WHATWG URL parser returns `username` and `password` percent-encoded.\n// Decode before composing the `auth` option so credentials such as\n// `my%40email.com:pass` are sent as `my@email.com:pass`. Falls back to the\n// original value for malformed input so a bad encoding never throws.\nconst decodeURIComponentSafe = (value) => {\n if (!utils.isString(value)) {\n return value;\n }\n\n try {\n return decodeURIComponent(value);\n } catch (error) {\n return value;\n }\n};\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst maybeWithAuthCredentials = (url) => {\n const protocolIndex = url.indexOf('://');\n let urlToCheck = url;\n if (protocolIndex !== -1) {\n urlToCheck = urlToCheck.slice(protocolIndex + 3);\n }\n return urlToCheck.includes('@') || urlToCheck.includes(':');\n};\n\nconst factory = (env) => {\n const globalObject =\n utils.global !== undefined && utils.global !== null\n ? utils.global\n : globalThis;\n const { ReadableStream, TextEncoder } = globalObject;\n\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n {\n Request: globalObject.Request,\n Response: globalObject.Response,\n },\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const request = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n });\n\n const hasContentType = request.headers.has('Content-Type');\n\n if (request.body != null) {\n request.body.cancel();\n }\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n maxContentLength,\n maxBodyLength,\n } = resolveConfig(config);\n\n const hasMaxContentLength = utils.isNumber(maxContentLength) && maxContentLength > -1;\n const hasMaxBodyLength = utils.isNumber(maxBodyLength) && maxBodyLength > -1;\n const own = (key) => (utils.hasOwnProp(config, key) ? config[key] : undefined);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n // AxiosError we raise while the request body is being streamed. Captured\n // by identity so the catch block can surface it directly, regardless of\n // how the runtime wraps the resulting fetch rejection (undici exposes it\n // as `err.cause`; some browsers drop the original error entirely).\n let pendingBodyError = null;\n\n const maxBodyLengthError = () =>\n new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config,\n request\n );\n\n try {\n // HTTP basic authentication\n let auth = undefined;\n const configAuth = own('auth');\n\n if (configAuth) {\n const username = utils.getSafeProp(configAuth, 'username') || '';\n const password = utils.getSafeProp(configAuth, 'password') || '';\n auth = {\n username,\n password\n };\n }\n\n if (maybeWithAuthCredentials(url)) {\n const parsedURL = new URL(url, platform.origin);\n\n if (!auth && (parsedURL.username || parsedURL.password)) {\n const urlUsername = decodeURIComponentSafe(parsedURL.username);\n const urlPassword = decodeURIComponentSafe(parsedURL.password);\n auth = {\n username: urlUsername,\n password: urlPassword\n };\n }\n\n if (parsedURL.username || parsedURL.password) {\n parsedURL.username = '';\n parsedURL.password = '';\n url = parsedURL.href;\n }\n }\n\n if (auth) {\n headers.delete('authorization');\n headers.set(\n 'Authorization',\n 'Basic ' + btoa(encodeUTF8((auth.username || '') + ':' + (auth.password || '')))\n );\n }\n\n // Enforce maxContentLength for data: URLs up-front so we never materialize\n // an oversized payload. The HTTP adapter applies the same check (see http.js\n // \"if (protocol === 'data:')\" branch).\n if (hasMaxContentLength && typeof url === 'string' && url.startsWith('data:')) {\n const estimated = estimateDataURLDecodedBytes(url);\n if (estimated > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n // Enforce maxBodyLength against known-size bodies before dispatch using\n // the body's *actual* size — never a caller-declared Content-Length,\n // which could under-report to slip an oversized body past the check.\n // Unknown-size streams return undefined here and are counted per-chunk\n // below as fetch consumes them.\n if (hasMaxBodyLength && method !== 'get' && method !== 'head') {\n const outboundLength = await getBodyLength(data);\n if (typeof outboundLength === 'number' && isFinite(outboundLength)) {\n requestContentLength = outboundLength;\n if (outboundLength > maxBodyLength) {\n throw maxBodyLengthError();\n }\n }\n }\n\n // A streamed body under maxBodyLength must be counted as fetch consumes\n // it; its size is never trusted from a caller-declared Content-Length.\n const mustEnforceStreamBody =\n hasMaxBodyLength && (utils.isReadableStream(data) || utils.isStream(data));\n\n const trackRequestStream = (stream, onProgress, flush) =>\n trackStream(\n stream,\n DEFAULT_CHUNK_SIZE,\n (loadedBytes) => {\n if (hasMaxBodyLength && loadedBytes > maxBodyLength) {\n throw (pendingBodyError = maxBodyLengthError());\n }\n onProgress && onProgress(loadedBytes);\n },\n flush\n );\n\n if (\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (onUploadProgress || mustEnforceStreamBody)\n ) {\n requestContentLength =\n requestContentLength == null ? await resolveBodyLength(headers, data) : requestContentLength;\n\n // A declared length of 0 is only trusted to skip the wrap when we are\n // not enforcing a stream limit (which must not rely on that header).\n if (requestContentLength !== 0 || mustEnforceStreamBody) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] =\n (onUploadProgress &&\n progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n )) ||\n [];\n\n data = trackRequestStream(_request.body, onProgress, flush);\n }\n }\n } else if (\n mustEnforceStreamBody &&\n !isRequestSupported &&\n isReadableStreamSupported &&\n method !== 'get' &&\n method !== 'head'\n ) {\n data = trackRequestStream(data);\n } else if (\n mustEnforceStreamBody &&\n isRequestSupported &&\n !supportsRequestStream &&\n method !== 'get' &&\n method !== 'head'\n ) {\n throw new AxiosError(\n 'Stream request bodies are not supported by the current fetch implementation',\n AxiosError.ERR_NOT_SUPPORT,\n config,\n request\n );\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n // If data is FormData and Content-Type is multipart/form-data without boundary,\n // delete it so fetch can set it correctly with the boundary\n if (utils.isFormData(data)) {\n const contentType = headers.getContentType();\n if (\n contentType &&\n /^multipart\\/form-data/i.test(contentType) &&\n !/boundary=/i.test(contentType)\n ) {\n headers.delete('content-type');\n }\n }\n\n // Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: toByteStringHeaderObject(headers.normalize()),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const responseHeaders = AxiosHeaders.from(response.headers);\n\n // Cheap pre-check: if the server honestly declares a content-length that\n // already exceeds the cap, reject before we start streaming.\n if (hasMaxContentLength) {\n const declaredLength = utils.toFiniteNumber(responseHeaders.getContentLength());\n if (declaredLength != null && declaredLength > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (\n supportsResponseStream &&\n response.body &&\n (onDownloadProgress || hasMaxContentLength || (isStreamResponse && unsubscribe))\n ) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(responseHeaders.getContentLength());\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n let bytesRead = 0;\n const onChunkProgress = (loadedBytes) => {\n if (hasMaxContentLength) {\n bytesRead = loadedBytes;\n if (bytesRead > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n onProgress && onProgress(loadedBytes);\n };\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onChunkProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n // Fallback enforcement for environments without ReadableStream support\n // (legacy runtimes). Detect materialized size from typed output; skip\n // streams/Response passthrough since the user will read those themselves.\n if (hasMaxContentLength && !supportsResponseStream && !isStreamResponse) {\n let materializedSize;\n if (responseData != null) {\n if (typeof responseData.byteLength === 'number') {\n materializedSize = responseData.byteLength;\n } else if (typeof responseData.size === 'number') {\n materializedSize = responseData.size;\n } else if (typeof responseData === 'string') {\n materializedSize =\n typeof TextEncoder === 'function'\n ? new TextEncoder().encode(responseData).byteLength\n : responseData.length;\n }\n }\n if (typeof materializedSize === 'number' && materializedSize > maxContentLength) {\n throw new AxiosError(\n 'maxContentLength size of ' + maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n request\n );\n }\n }\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n // Safari can surface fetch aborts as a DOMException-like object whose\n // branded getters throw. Prefer our composed signal reason before reading\n // the caught error, preserving timeout vs cancellation semantics.\n if (composedSignal && composedSignal.aborted && composedSignal.reason instanceof AxiosError) {\n const canceledError = composedSignal.reason;\n canceledError.config = config;\n request && (canceledError.request = request);\n if (err !== canceledError) {\n // Non-enumerable to match native Error `cause` semantics so loggers\n // don't recurse into circular fetch internals (see #7205).\n Object.defineProperty(canceledError, 'cause', {\n __proto__: null,\n value: err,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n }\n throw canceledError;\n }\n\n // Surface a maxBodyLength violation we raised while the request body was\n // being streamed. Matching by identity (rather than reading\n // `err.cause.isAxiosError`) keeps the error deterministic across runtimes\n // and avoids both prototype-pollution reads and mis-attributing a foreign\n // AxiosError that merely happened to land in `err.cause`.\n if (pendingBodyError) {\n request && !pendingBodyError.request && (pendingBodyError.request = request);\n throw pendingBodyError;\n }\n\n // Re-throw AxiosErrors we raised synchronously (data: URL / content-length\n // pre-checks, response size enforcement) without re-wrapping them.\n if (err instanceof AxiosError) {\n request && !err.request && (err.request = request);\n throw err;\n }\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n const networkError = new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n );\n // Non-enumerable to match native Error `cause` semantics so loggers\n // don't recurse into circular fetch internals (see #7205).\n Object.defineProperty(networkError, 'cause', {\n __proto__: null,\n value: err.cause || err,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n throw networkError;\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n // Null-proto descriptors so a polluted Object.prototype.get cannot turn\n // these data descriptors into accessor descriptors on the way in.\n Object.defineProperty(fn, 'name', { __proto__: null, value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { __proto__: null, value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n AxiosError.ERR_NOT_SUPPORT\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Expose the current response on config so that transformResponse can\n // attach it to any AxiosError it throws (e.g. on JSON parse failure).\n // We clean it up afterwards to avoid polluting the config object.\n config.response = response;\n try {\n response.data = transformData.call(config, config.transformResponse, response);\n } finally {\n delete config.response;\n }\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n config.response = reason.response;\n try {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n } finally {\n delete config.response;\n }\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object' || options === null) {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n // Use hasOwnProperty so a polluted Object.prototype. cannot supply\n // a non-function validator and cause a TypeError.\n const validator = Object.prototype.hasOwnProperty.call(schema, opt) ? schema[opt] : undefined;\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = (() => {\n if (!dummy.stack) {\n return '';\n }\n\n const firstNewlineIndex = dummy.stack.indexOf('\\n');\n\n return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1);\n })();\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack) {\n const firstNewlineIndex = stack.indexOf('\\n');\n const secondNewlineIndex =\n firstNewlineIndex === -1 ? -1 : stack.indexOf('\\n', firstNewlineIndex + 1);\n const stackWithoutTwoTopLines =\n secondNewlineIndex === -1 ? '' : stack.slice(secondNewlineIndex + 1);\n\n if (!String(err.stack).endsWith(stackWithoutTwoTopLines)) {\n err.stack += '\\n' + stack;\n }\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n advertiseZstdAcceptEncoding: validators.transitional(validators.boolean),\n validateStatusUndefinedResolves: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'query', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls, config);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: config && utils.hasOwnProp(config, 'data') ? config.data : undefined,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch', 'query'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n // QUERY is a safe/idempotent read method; multipart form bodies don't fit\n // its semantics, so no queryForm shorthand is generated.\n if (method !== 'query') {\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n }\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","// TYPES\n// UTILS\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nfunction difference(array1, array2) {\n return array1.filter(x => !array2.includes(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3,\n queryKey: arg1,\n queryFn: arg2\n };\n }\n\n return { ...arg2,\n queryKey: arg1\n };\n}\nfunction parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3,\n mutationKey: arg1,\n mutationFn: arg2\n };\n }\n\n return { ...arg2,\n mutationKey: arg1\n };\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2,\n mutationFn: arg1\n };\n }\n\n return { ...arg1\n };\n}\nfunction parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n queryKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction parseMutationFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n mutationKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction matchQuery(filters, query) {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive();\n\n if (type === 'active' && !isActive) {\n return false;\n }\n\n if (type === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const {\n exact,\n fetching,\n predicate,\n mutationKey\n } = filters;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\n\nfunction hashQueryKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nfunction partialMatchKey(a, b) {\n return partialDeepEqual(a, b);\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nfunction partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isError(value) {\n return value instanceof Error;\n}\nfunction sleep(timeout) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n\n return;\n}\nfunction replaceData(prevData, data, options) {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {\n return prevData;\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data);\n }\n\n return data;\n}\n\nexport { difference, functionalUpdate, getAbortController, hashQueryKey, hashQueryKeyByOptions, isError, isPlainArray, isPlainObject, isQueryKey, isServer, isValidTimeout, matchMutation, matchQuery, noop, parseFilterArgs, parseMutationArgs, parseMutationFilterArgs, parseQueryArgs, partialDeepEqual, partialMatchKey, replaceAt, replaceData, replaceEqualDeep, scheduleMicrotask, shallowEqualObjects, sleep, timeUntilStale };\n//# sourceMappingURL=utils.mjs.map\n","function shouldThrowError(_useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params);\n }\n\n return !!_useErrorBoundary;\n}\n\nexport { shouldThrowError };\n//# sourceMappingURL=utils.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { shouldThrowError } from './utils.mjs';\n\nconst ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nconst useClearResetErrorBoundary = errorResetBoundary => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nconst getHasError = ({\n result,\n errorResetBoundary,\n useErrorBoundary,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(useErrorBoundary, [result.error, query]);\n};\n\nexport { ensurePreventErrorBoundaryRetry, getHasError, useClearResetErrorBoundary };\n//# sourceMappingURL=errorBoundaryUtils.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass FocusManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus(); // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(focused => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n\n setFocused(focused) {\n const changed = this.focused !== focused;\n\n if (changed) {\n this.focused = focused;\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n }\n\n}\nconst focusManager = new FocusManager();\n\nexport { FocusManager, focusManager };\n//# sourceMappingURL=focusManager.mjs.map\n","/** @license React v16.14.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime genId(\"flyout-target\"), []);\n const flyoutId = providedFlyoutId || generatedId;\n\n // Add a default onCloseHandler that re-focuses the target element.\n const onCloseRequested = useCallback(() => {\n providedOnCloseRequested();\n if (localRef.current) {\n localRef.current.focus();\n }\n }, [providedOnCloseRequested]);\n\n // These things should be spread onto their corresponding React components.\n // They are all the things a component needs to be happy and Flyout-ey.\n return {\n targetProps: {\n \"aria-owns\": flyoutProps.isOpen ? flyoutId : undefined,\n ref: targetRef\n },\n flyoutProps: {\n ...flyoutProps,\n id: flyoutId,\n targetElement: localRef,\n onCloseRequested\n }\n };\n}\n//# sourceMappingURL=useFlyout.js.map","import { callAllHandlers } from \"@smartsheet/lodestar-utils\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nconst NO_CLOSE_DELAY = {\n timer: -1,\n closeHandler: () => {}\n};\n\n// Helps control delay when hovering back-to-back over items w/ flyouts.\n// Hovering back-to-back when flyout is showing will ignore initial flyout delay.\n// These are here instead of useState because they are global for all flyout target refs.\nlet ignoreEnterDelay = false;\nlet ignoreEnterDelayTimer;\nlet closeDelay = NO_CLOSE_DELAY;\n\n// We don't want to allow tests to interact with each other. Sometimes if a Flyout doesn't\n// go away quickly enough (tooltips, for instance) the next test will render one before\n// these flags are reset. We always want to reset these between tests. See jest.setup.ts.\nlet resetUseDelayedOptionForTest = () => undefined;\nif (process.env.NODE_ENV !== \"production\") {\n // Don't ship this code in production.\n resetUseDelayedOptionForTest = () => {\n ignoreEnterDelay = false;\n clearTimeout(ignoreEnterDelayTimer);\n };\n}\nexport { resetUseDelayedOptionForTest };\nconst endCloseDelay = () => {\n window.clearTimeout(closeDelay.timer);\n closeDelay.closeHandler();\n closeDelay = NO_CLOSE_DELAY;\n};\n\n/**\n * This hook provides an isOpen flag and HTML handlers to attach to an element to mutate it. It can\n * be used for elements that should show a popup after a short time like a contact card, tooltip,\n * etc. For things like tooltips, it supports a delayMode argument that allows the floating elements\n * to interact with each other so that opening subsequent elements is faster after the first one\n * opens. This provides a nice UX when a user is trying to look at multiple tooltips.\n */\nexport const useDelayedOpen = function () {\n let {\n exitDelay,\n enterDelay = 500,\n resetDelay = 500,\n delayMode = \"batch\",\n onOpenCallback = () => {},\n onCloseCallback = () => {}\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isOpen, setIsOpen] = useState(false);\n const enterTimer = useRef();\n const handleOpen = useCallback(() => {\n window.clearTimeout(ignoreEnterDelayTimer);\n if (delayMode === \"batch\") {\n ignoreEnterDelay = true;\n }\n setIsOpen(true);\n onOpenCallback();\n }, [delayMode, onOpenCallback]);\n const handleClose = useCallback(() => {\n setIsOpen(false);\n onCloseCallback();\n }, [onCloseCallback]);\n const startCloseDelay = useCallback(closeHandler => {\n endCloseDelay();\n closeDelay = {\n timer: window.setTimeout(() => {\n endCloseDelay();\n }, exitDelay),\n closeHandler\n };\n }, [exitDelay]);\n const maybeDelayedOpen = useCallback(() => {\n // This ensures that the flyout doesn't open after you have quickly moved away from element.\n window.clearTimeout(enterTimer.current);\n endCloseDelay();\n if (delayMode === \"each\" || !ignoreEnterDelay) {\n enterTimer.current = window.setTimeout(() => {\n handleOpen();\n }, enterDelay);\n } else {\n handleOpen();\n }\n }, [delayMode, enterDelay, handleOpen]);\n const maybeDelayedClose = useCallback(() => {\n /*\n Sadly cannot do the following since not all calls here have an associated event or a relatedTarget (if the relatedTarget is not focusable).\n This means there is a case that if a Tooltip Flyout is in the way of an element about to gain onMouseEnter or onFocus,\n the overlapped element's Tooltip will not be displayed since the original elements onBlur (when passing over the blocking tooltip)\n will cancel the \"delayed\" open for any other tooltip.\n const relatedTarget = evt?.relatedTarget as HTMLElement;\n if ( relatedTarget && relatedTarget.closest && relatedTarget.closest('[role=\"tooltip\"]')) {\n console.log(\"I'm a tooltip\");\n return;\n }\n */\n\n // this ensures that the flyout doesn't open after you have quickly moved away from element.\n window.clearTimeout(enterTimer.current);\n window.clearTimeout(ignoreEnterDelayTimer);\n if (delayMode === \"batch\") {\n ignoreEnterDelayTimer = window.setTimeout(() => {\n ignoreEnterDelay = false;\n }, resetDelay);\n }\n if (exitDelay) {\n startCloseDelay(handleClose);\n } else {\n handleClose();\n }\n }, [handleClose, delayMode, resetDelay, exitDelay, startCloseDelay]);\n\n // Clean up timers when unmounted.\n useEffect(() => {\n return () => {\n endCloseDelay();\n window.clearTimeout(enterTimer.current);\n window.clearTimeout(ignoreEnterDelayTimer);\n };\n }, []);\n return {\n setIsOpen: useCallback(newIsOpen => newIsOpen ? maybeDelayedOpen() : maybeDelayedClose(), [maybeDelayedOpen, maybeDelayedClose]),\n cancelEnterTimer: useCallback(() => {\n ignoreEnterDelay = false;\n window.clearTimeout(enterTimer.current);\n }, []),\n isOpen,\n getDelayedOpenTargetProps: function () {\n let {\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n ...restOverrides\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n ...restOverrides,\n onMouseEnter: callAllHandlers(onMouseEnter, maybeDelayedOpen),\n onMouseLeave: callAllHandlers(onMouseLeave, maybeDelayedClose),\n onFocus: callAllHandlers(onFocus, maybeDelayedOpen),\n onBlur: callAllHandlers(onBlur, maybeDelayedClose)\n };\n },\n cancelExitDelayTimer: endCloseDelay\n };\n};\n//# sourceMappingURL=useDelayedOpen.js.map","import { useFlyout } from \"../flyout\";\nimport { useDelayedOpen } from \"../flyout/hooks/useDelayedOpen\";\nimport { useFocusMode } from \"../focusMode\";\nimport { tooltipFlyoutDefaults } from \"./tooltipConstants\";\n/**\n * Provides a convenience wrapper over the `useFlyout` hook with reasonable\n * defaults for a Tooltip.\n *\n * If `isOpen` is provided, we'll use it. Otherwise, set up some functionality to manage it internally.\n * This is an example of controlled/uncontrolled behavior that usually we try and stay away\n * from in lodestar-core, but Tooltip is an example of where the most common use-case will be\n * uncontrolled. We still want to provide our users with an escape hatch.\n */\nexport const useTooltip = function () {\n let {\n onMouseEnter,\n onMouseLeave,\n onFocus: providedOnFocus,\n onBlur,\n enterDelay = 500,\n resetDelay = 500,\n delayMode = \"batch\",\n showWhenTargetFocusedBy = \"keyboard\",\n visualOnly = false,\n closeOnScroll,\n ...rest\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n isOpen,\n setIsOpen,\n cancelEnterTimer,\n getDelayedOpenTargetProps\n } = useDelayedOpen({\n enterDelay,\n resetDelay,\n delayMode\n });\n\n // Originally, When focus moved to the tooltip's target we didn't want to show the Tooltip because there's\n // no indication that you're focused on anything (no outline). This has since been opened up to allow users\n // to control this behavior via `showWhenTargetFocusedBy`. If `keyboard`, the original behavior remains. If\n // `mouse`, the Tooltip will show when the target is hovered over. If `both`, the Tooltip will show when the\n // target is hovered over or focused via keyboard.\n const {\n getFocusMode\n } = useFocusMode({\n passive: true\n });\n const onFocus = e => {\n switch (showWhenTargetFocusedBy) {\n case \"mouse\":\n case \"keyboard\":\n // Hack for now. MenuItems are \"focused\" during onMouseEnter. Let their pending opens continue.\n if (getFocusMode() !== showWhenTargetFocusedBy && e.target?.getAttribute(\"role\") !== \"menuitem\") {\n // Close the Tooltip if it's open already.\n setIsOpen(false);\n // After any timers are set by useDelayedOpen, cancel them so the Tooltip doesn't reopen\n // after the usual timer started in useDelayedOpen.onFocus().\n requestAnimationFrame(() => {\n cancelEnterTimer?.();\n });\n }\n break;\n case \"both\":\n break;\n }\n providedOnFocus?.(e);\n };\n const flyoutDefaults = closeOnScroll ? {\n ...tooltipFlyoutDefaults,\n closeOnScroll: true,\n onCloseRequested: () => {\n setIsOpen(false);\n return undefined;\n }\n } : {\n ...tooltipFlyoutDefaults\n };\n const {\n flyoutProps,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n targetProps: {\n \"aria-owns\": _0,\n ...restTargetProps\n }\n } = useFlyout({\n // These defaults are also specified in the Tooltip component, but repeated here in case\n // someone wants to manually set up a Tooltip-like Flyout.\n ...flyoutDefaults,\n ...rest,\n isOpen\n });\n return {\n tooltipProps: {\n ...flyoutProps,\n cancelEnterTimer\n },\n targetProps: {\n ...restTargetProps,\n ...(flyoutProps.isOpen && !visualOnly ? {\n \"aria-describedby\": flyoutProps.id\n } : {}),\n ...getDelayedOpenTargetProps({\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur\n })\n }\n };\n};\n//# sourceMappingURL=useTooltip.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeFolder = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#E0E0E0\", d: \"M3.5 5.5h4.532a1 1 0 01.768.36l1.067 1.28a1 1 0 00.768.36H20.5v11h-17v-13z\" }),\n React.createElement(\"path\", { fill: \"#727272\", d: \"M8.575 4c.272 0 .531.11.72.306l1.41 1.462a.998.998 0 00.72.306H21a1 1 0 011 1V19a1 1 0 01-1 1H3a1 1 0 01-1-1V5a1 1 0 011-1h5.575zm-.543 1.5H3.5v13h17v-11h-9.865a1 1 0 01-.768-.36L8.8 5.86a1 1 0 00-.768-.36z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeFolder.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeFolder as FileTypeFolderMedium } from \"./medium/FileTypeFolder\";\nvar sizeMap = {\n medium: FileTypeFolderMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeFolderIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeFolderIcon.displayName = \"FileTypeFolderIcon\";\n//# sourceMappingURL=FileTypeFolderIcon.js.map","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","export const SPINNER_CONTAINER_SIZES_MAP = {\n small: 10,\n medium: 16,\n xLarge: 28\n};\n//# sourceMappingURL=constants.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport styled from \"@emotion/styled\";\nimport { color as colorFn } from \"@smartsheet/design-tokens-react\";\nimport Lottie from \"lottie-react\";\nimport React, { useEffect, useState } from \"react\";\nimport { SPINNER_CONTAINER_SIZES_MAP } from \"./constants\";\nimport ursaSpinner from \"./lottie_files/ursa_spinner.json\";\nexport const Spinner = _ref => {\n let {\n clientId,\n color,\n initialDelay,\n size = \"medium\",\n ...rest\n } = _ref;\n const [visible, setVisible] = useState(initialDelay === undefined);\n useEffect(() => {\n if (initialDelay) {\n const timer = setTimeout(() => {\n setVisible(true);\n }, initialDelay);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [initialDelay]);\n return /*#__PURE__*/React.createElement(Container, _extends({\n size: size,\n color: color\n }, rest, {\n \"data-client-id\": clientId\n }), visible && /*#__PURE__*/React.createElement(Lottie, {\n animationData: ursaSpinner\n }));\n};\nconst Container = styled(\"div\")`\n box-sizing: border-box;\n display: block;\n color: ${_ref2 => {\n let {\n color\n } = _ref2;\n return color ? color : colorFn(\"color--background--primary--strong\");\n}};\n path {\n stroke: currentColor;\n }\n font-size: 0;\n height: ${_ref3 => {\n let {\n size\n } = _ref3;\n return SPINNER_CONTAINER_SIZES_MAP[size];\n}}px;\n width: ${_ref4 => {\n let {\n size\n } = _ref4;\n return SPINNER_CONTAINER_SIZES_MAP[size];\n}}px;\n position: relative;\n pointer-events: none;\n`;\n//# sourceMappingURL=Spinner.js.map","import { useEffect, useMemo, useState } from \"react\";\nimport { callAllHandlers } from \"../../util/callAllHandlers\";\n/**\n * Provides a css-in-js alternative to using the native :active selector.\n * Works on non-button elements!\n *\n * Spread all the resulting handlers onto the target element. Make sure to pass\n * along any custom handlers into this function so they are composed together.\n */\nexport const useActive = function () {\n let {\n onMouseEnter: providedOnMouseEnter,\n onMouseDown: providedOnMouseDown,\n onMouseLeave: providedOnMouseLeave\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isMouseDown, setIsMouseDown] = useState(false);\n const [isMouseWithin, setIsMouseWithin] = useState(false);\n const onMouseDown = useMemo(() => callAllHandlers(providedOnMouseDown, () => {\n setIsMouseDown(true);\n }), [providedOnMouseDown]);\n const onMouseEnter = useMemo(() => callAllHandlers(providedOnMouseEnter, () => {\n setIsMouseWithin(true);\n }), [providedOnMouseEnter]);\n const onMouseLeave = useMemo(() => callAllHandlers(providedOnMouseLeave, () => {\n setIsMouseWithin(false);\n }), [providedOnMouseLeave]);\n\n // Can't expect the mouseup to be fired directly on the element.\n // The user could mouseleave and then mouseup.\n useEffect(() => {\n const onMouseUp = () => {\n setIsMouseDown(false);\n };\n document.addEventListener(\"mouseup\", onMouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, []);\n return {\n isActive: isMouseDown && isMouseWithin,\n onMouseDown,\n onMouseEnter,\n onMouseLeave\n };\n};\n//# sourceMappingURL=useActive.js.map","import { useRef, useEffect } from \"react\";\n\n/**\n * Allows a ref forwarding component to optionally pass a ref in and returns a\n * ref every time. Using this hook allows subsequent code to always have a\n * ref to operate against.\n *\n * Ref mutations to the returned ref will be propagated to the passed in ref.\n *\n * I wanted to use @react-hookz/web for this, but the types don't handle null well and\n * only want to play nicely with MutableRefs. This is fine since that's the type\n * we'll actually have at runtime but is a bad dev xp since React.createRef and useRef\n * return a RefObject (immutable) sometimes.\n *\n * See more here: https://github.com/streamich/@react-hookz/web/issues/743\n * This code is adapted from a comment in that thread.\n */\nexport function useEnsuredForwardedRef(forwardedRef) {\n const ensuredRef = useRef(null);\n\n // Sync the passed in ref w/ the local one when it changes, accounting for functional refs as well.\n useEffect(() => {\n if (!forwardedRef) {\n return;\n } else if (typeof forwardedRef === \"function\") {\n // TODO if this ref's element is mounted after a tick, this will ALWAYS be null!\n forwardedRef(ensuredRef.current);\n } else {\n forwardedRef.current = ensuredRef.current;\n }\n }, [forwardedRef]);\n return ensuredRef;\n}\n//# sourceMappingURL=useEnsuredForwardedRef.js.map","import { useMemo } from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\n/**\n * Combines 1+ refs (functional or refobject) into a single functional ref.\n * Make sure you memoize the refs if they are callback functions or you'll get extra renders!\n */\nexport function useForkRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useMemo(() => {\n if (refs.every(ref => !ref)) {\n return null;\n }\n return refValue => {\n refs.forEach(r => setRef(r, refValue));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n//# sourceMappingURL=useForkRef.js.map","import { useRef } from \"react\";\n\n/**\n * A \"live\" ref is a container for a value that might or might not change each render\n * but will always be up-to-date with the latest value.\n *\n * This is useful when a value should be a part of an effect, memoization, or callback but\n * should NOT cause the effect, memoization, or callback to reevaluate.\n *\n * One reason you might do this is in context value memoization where you want to more tightly\n * control when a React context's value is re-memoized based on props passed to that value's\n * creator.\n */\nexport function useLiveRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n//# sourceMappingURL=useLiveRef.js.map","import { useIsMounted, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useLiveRef } from \"../useLiveRef/useLiveRef\";\n/**\n * Provides a ref to attach to an element. Will also return `isScrolling` = true if the element\n * has scrolled within the last `checkDelay` milliseconds.\n *\n * This was loosely based on useScrolling from https://github.com/streamich/react-use but has been\n * optimized to cut out a few extra renders.\n */\nexport const useIsScrolling = function () {\n let {\n checkDelay = 150\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isScrolling, setIsScrolling] = useState(false);\n const latestIsScrollingRef = useLiveRef(isScrolling);\n const elementRef = useRef(null);\n const isMounted = useIsMounted();\n\n // Tracks the latest timeout id.\n const latestTimerRef = useRef(0);\n const handleScrollEnd = useCallback(() => {\n // Avoid re-renders that don't do anything...\n if (isMounted() && latestIsScrollingRef.current) {\n setIsScrolling(false);\n }\n }, [isMounted, latestIsScrollingRef]);\n const handleScroll = useCallback(() => {\n // This check avoids re-renders on React 16 which doesn't no-op state setters that are\n // equivalent.\n if (!latestIsScrollingRef.current) {\n setIsScrolling(true);\n }\n clearTimeout(latestTimerRef.current);\n latestTimerRef.current = window.setTimeout(handleScrollEnd, checkDelay);\n }, [checkDelay, handleScrollEnd, latestIsScrollingRef]);\n const removeScrollHandler = useCallback(element => {\n element.removeEventListener(\"scroll\", handleScroll);\n setIsScrolling(false);\n }, [handleScroll]);\n const attachScrollHandler = useCallback(element => {\n element.addEventListener(\"scroll\", handleScroll, {\n passive: true\n });\n }, [handleScroll]);\n const previousCheckDelay = usePrevious(checkDelay);\n useEffect(() => {\n // If our delay changed and we're in the middle of scrolling, restart the timer w/ the new\n // delay.\n if (previousCheckDelay && checkDelay !== previousCheckDelay && latestIsScrollingRef.current) {\n handleScroll();\n }\n }, [checkDelay, handleScroll, latestIsScrollingRef, previousCheckDelay]);\n return {\n isScrolling,\n ref: useCallback(element => {\n if (element) {\n elementRef.current = element;\n attachScrollHandler(element);\n } else if (elementRef.current) {\n // This means the hook is unmounting.\n removeScrollHandler(elementRef.current);\n handleScrollEnd();\n clearTimeout(latestTimerRef.current);\n }\n }, [attachScrollHandler, handleScrollEnd, removeScrollHandler])\n };\n};\n//# sourceMappingURL=useIsScrolling.js.map","import { useIsMounted, useUnmountEffect } from \"@react-hookz/web\";\nimport { useRef, useCallback } from \"react\";\nexport const useRequestAnimationFrame = () => {\n const rafIdRef = useRef(0);\n const cancel = useCallback(() => {\n cancelAnimationFrame(rafIdRef.current);\n }, []);\n const isMounted = useIsMounted();\n const raf = useCallback(callback => {\n cancel();\n rafIdRef.current = requestAnimationFrame(() => {\n if (isMounted()) {\n callback();\n }\n });\n }, [isMounted, cancel]);\n useUnmountEffect(cancel);\n return {\n cancel,\n raf\n };\n};\n//# sourceMappingURL=useRequestAnimationFrame.js.map","import { useDebouncedCallback, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef } from \"react\";\n/**\n * Wraps common functionality up around ResizeObservers.\n */\nexport function useResizeObserver(onResize) {\n let {\n debounceMaxMs = undefined,\n debounceMs = 0,\n enabled = true\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const observerRef = useRef(null);\n const observedElement = useRef(null);\n const debounceEnabled = debounceMs > 0;\n const debouncedOnResize = useDebouncedCallback(onResize, [onResize], debounceMs, debounceMaxMs);\n const callback = debounceEnabled ? debouncedOnResize : onResize;\n const fnRef = useCallback(element => {\n observedElement.current = element;\n if (observerRef.current) {\n // If we already had a ResizeObserver, clean up and replace it.\n observerRef.current.disconnect();\n observerRef.current = null;\n }\n if (window.ResizeObserver && element && enabled) {\n observerRef.current = new ResizeObserver(function () {\n callback(...arguments);\n });\n observerRef.current.observe(element);\n }\n }, [callback, enabled]);\n\n // If enabled changes, turn on/off the ResizeObserver.\n const previousEnabled = usePrevious(enabled);\n useEffect(() => {\n if (observerRef.current && observedElement.current) {\n if (!previousEnabled && enabled) {\n observerRef.current.observe(observedElement.current);\n } else if (previousEnabled && !enabled) {\n observerRef.current.unobserve(observedElement.current);\n }\n }\n }, [enabled, previousEnabled]);\n\n // Turn off the observer when we unmount.\n useEffect(() => {\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, []);\n return {\n ref: fnRef\n };\n}\n//# sourceMappingURL=useResizeObserver.js.map","import { useCallback } from \"react\";\n\n/**\n * When an IME is used to input text, events fired will have isComposing set to true. When this is\n * the case, we do not want to allow Enter or Escape to be handled by the onKeyDown handler.\n * Generally though, we shouldn't handle ANY keydown events when isComposing is true so this utility\n * helps us block them when necessary.\n *\n * You should wrap your onKeyDown handlers for input fields with this function to ensure that it is\n * not called when isComposing is true.\n *\n * 1) the returned function is wrapped in useCallback for memoization if necessary.\n * 2) the keydown event handler will not be called if isComposing is true.\n *\n * Example:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * });\n *\n * return (\n * \n * )\n * ```\n *\n * If necessary, wrap your own handler in useCallback to ensure memoization of the resulting\n * function:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler(useCallback((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * }, []));\n * ```\n */\nexport const useIsComposingHandler = handler => {\n return useCallback(e => {\n if (e.nativeEvent.isComposing) {\n return;\n } else {\n handler(e);\n }\n }, [handler]);\n};\n//# sourceMappingURL=useIsComposingHandler.js.map","const FOCUSABLE_ELEMENTS = [\"a[href]\", \"area[href]\", \"input:not([disabled]):not([hidden])\", \"select:not([disabled])\", \"textarea:not([disabled])\", \"button:not([disabled])\", \"iframe\", \"object\", \"embed\", \"[tabindex]:not([tabindex='-1'], .opt-out-focus)\"].join(\",\");\n\n/**\n * Gets keyboard-focusable elements within the Menu. This only looks for\n * buttons and anchors. Other elements aren't supported in the menu.\n *\n * See https://stackoverflow.com/questions/7668525/is-there-a-jquery-selector-to-get-all-elements-that-can-get-focus\n */\nexport function getKeyboardFocusableElementsIn(element) {\n return Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS));\n}\nexport function isFocusableElement(element) {\n return element.matches(FOCUSABLE_ELEMENTS);\n}\n\n/**\n * Checks the element and its ancestors, up until @param within exclusive, to see if the element or\n * any of those ancestors are focusable.\n */\nexport function isWithinFocusableElement(element, withinElement) {\n let currentElement = element;\n while (currentElement && currentElement !== withinElement && currentElement !== document.body) {\n if (isFocusableElement(currentElement)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\n//# sourceMappingURL=focusUtil.js.map","/**\n * Returns a randomly-generated id w/ an optional prefix.\n *\n * Note: if you're using jest snapshots, make sure to memoize this id!\n *\n * const id = useMemo(() => genId(\"some-prefix\"), []);\n */\nexport const genId = (() => {\n return prefix => {\n const randomString = (Math.random() + 1).toString(36).substring(2, 8);\n return `lodestar-utils-${prefix ? prefix + \"-\" : \"\"}gen-id-${randomString}`;\n };\n})();\n//# sourceMappingURL=genId.js.map","import * as React from \"react\";\nconst isBrowser = typeof window !== \"undefined\";\nconst globalObject = isBrowser ? window : global;\nconst SYMBOL_NAMESPACE = \"lodestar-global-context:\";\n\n/**\n * Wrapper around @see React.createContext that implements context registration\n * in the globalThis object to avoid duplicate contexts. Duplicate contexts can\n * occur when there are multiple instances of lodestar-core running at the same\n * time.\n *\n * Example:\n *\n * - package A exposes a custom MenuItem: \"CustomMenuItem\"\n * - package B uses the Menu and includes CustomMenuItem in its list of items.\n * - depending on how the dependencies are resolved for A and B, there could\n * be 2 versions of lodestar-core imported.\n *\n * This can cause useContext() calls to return different instances of the Menu\n * context objects which means they won't work together. This utility will allow\n * the first lodestar-core instance to publish its context on the `window` and let\n * any future lodestar-core instances to use the same instance.\n *\n * Note: React does not share contexts across React versions. For example, React v16.1 and v16.2 will have their own\n * context space if both versions are running in the same browser. This function will bake the React version\n * into the global symbol name to prevent the wrong react version context being returned to the caller.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol}\n *\n * @param defaultValue - @see React.createContext\n * @param contextName - name of the context\n * @returns @see React.createContext\n */\nexport const createContext = (defaultValue, contextName) => {\n // Symbol guaranteed to be unique for the entire runtime\n const sym = Symbol.for(`${SYMBOL_NAMESPACE}${React.version}:${contextName}`);\n const globalSymbols = Object.getOwnPropertySymbols(globalObject);\n if (!globalSymbols.includes(sym)) {\n const context = /*#__PURE__*/React.createContext(defaultValue);\n context.displayName = contextName;\n globalObject[sym] = {\n context\n };\n }\n return globalObject[sym]?.context;\n};\n//# sourceMappingURL=ContextSelector.js.map","export { useActive } from \"./hooks/useActive/useActive\";\nexport { useEnsuredForwardedRef } from \"./hooks/useEnsuredForwardedRef/useEnsuredForwardedRef\";\nexport { useForkRef } from \"./hooks/useForkRef/useForkRef\";\nexport { useLiveRef } from \"./hooks/useLiveRef/useLiveRef\";\nexport { useIsScrolling } from \"./hooks/useIsScrolling/useIsScrolling\";\nexport { useRequestAnimationFrame } from \"./hooks/useRequestAnimationFrame/useRequestAnimationFrame\";\nexport { useResizeObserver } from \"./hooks/useResizeObserver/useResizeObserver\";\nexport * from \"./util/callAllHandlers\";\nexport * from \"./util/isComposing/createIsComposingHandler\";\nexport * from \"./util/isComposing/useIsComposingHandler\";\nexport * from \"./util/contains\";\nexport * from \"./util/focusUtil\";\nexport * from \"./util/genId\";\nexport * from \"./util/getClientId\";\nexport * from \"./util/warnOnce\";\nexport { createContext } from \"./globalContextSelector/ContextSelector\";\n//# sourceMappingURL=index.js.map","import { createContext } from \"@smartsheet/lodestar-utils\";\nexport const LodestarCoreTheme = createContext(\"light\", \"LodestarCoreTheme\");\n//# sourceMappingURL=LodestarCoreTheme.js.map","/**\n * This is a function to unwrap the current theming implementation to hide it from the public API\n * until we're ready to expose it in a unified manner.\n */\n\nimport { isValidElement } from \"react\";\n\n/**\n * The named themes that lodestar-core supports.\n *\n * We've added a dark theme here that DOES NOTHING YET!\n *\n * You're not allowed to add the 'dark' key to a ThemeSwitch in lodestar-core,\n * and any usages in non-ts code will fall back to 'light' for that value.\n * Since most of this code isn't exposed, we don't really have to worry about\n * that case.\n *\n * For more info, please see:\n * https://git.lab.smartsheet.com/design-systems-team/lodestar-core/-/issues/396\n *\n */\n\nconst themeAliasMap = {\n oldestar: \"oldestar\",\n light: \"lodestar-light\",\n dark: \"lodestar-light\",\n \"lodestar-light\": \"lodestar-light\",\n \"ursa-light\": \"ursa-light\",\n // this works for now since all dark theme values are set at the provider level\n // we want ursa-dark to return the same values as ursa-light via theme objects\n \"ursa-dark\": \"ursa-dark\"\n}; // TODO ts 4.9 satisfies { [aliasName in ThemeMode]: ThemeMode };\n\n/**\n * For some of these keys, we don't use them. Some are aliases for now, some will be aliases until\n * we can remove them. The union of the values of this object are the themes that actually have\n * values for them. That union is used to enforce the themed functions argument's leaf nodes all\n * have values assigned for each non-alias theme.\n *\n * For example: \"light\" is an alias of \"lodestar-light\" for back-compat.\n */\nexport const resolveThemeAlias = modeOrAlias => themeAliasMap[modeOrAlias];\n\n/**\n * These are the theme name keys required in the leaf nodes of any object passed to `themed()`.\n */\n\n// Theme values can be strings (font color), numbers (font weight), booleans, or react nodes (icons).\n\n// This is a leaf node in a theme object.\n// It is the switch that should contain the different values to use for a given theme.\n// Used to validate a ThemeSwitch at runtime. We just need to ensure we create a mapping of all the\n// possible theme names to extract into an array that will break if we add another theme.\nconst basicThemeSwitchForAllThemesInference = {\n \"ursa-light\": \"these\",\n \"lodestar-light\": \"aren't used\"\n};\nconst requiredThemes = Object.keys(basicThemeSwitchForAllThemesInference);\nconst isThemeSwitch = t => {\n return !!t && typeof t === \"object\" && requiredThemes.every(themeName => Object.prototype.hasOwnProperty.call(t, themeName));\n};\n\n// Each property in a theme object can be mapped to a switch, value, or another theme object.\n\n// This is the type of the root of a theme object. It's either a deep theme object or a switch.\n// Having just a value passed to themed would be silly, and makes the typings more complicated.\n// Ok here's the big ol' mapped type. This is the thing that will map the type of the theme object\n// you pass to themed to the thing that will be returned. It makes sure that the shape is mostly the same,\n// but adds in ThemeSwitch types at each leaf of the returned theme tree.\n/**\n * Used to create a theme from an object arbitrary shape which will be mapped\n * into an object of similar shape with the leaf nodes replaced.\n *\n * Ex:\n * ```\n * const theme = themed({\n * keyA: {\n * \"lodestar-light\": \"lodestarLightValue\",\n * oldestar: \"optionalOldestarValue\" // this line is not required.\n * \"ursa-light\": \"ursaValue\",\n * }\n * });\n * ```\n *\n * `theme` will now be of the shape:\n * ```\n * {\n * keyA: (themeName: keyof ThemeMode) => string; // Where that string is \"lightValue\" | \"ursaValue\".\n * }\n * ```\n *\n * And you would get a themed value by passing in the theme to the right key function:\n *\n * ```\n * const keyAValue = theme.keyA(\"lodestar-light\"); // => returns \"lightValue\"\n * ```\n\n * @param obj A DeepThemeObject that will be converted to a ThemeResolver.\n */\nexport const themed = obj => {\n function helper(inner) {\n if (typeof inner === \"string\" || typeof inner === \"number\" || typeof inner === \"boolean\" || /*#__PURE__*/isValidElement(inner)) {\n return () => inner;\n } else if (isThemeSwitch(inner)) {\n // We allow all modes to be passed, then those modes are mapped if needed using the\n // rules above in themeAliasMap.\n return mode => {\n // We don't require oldestar values and they fall back to lodestar-light, but we DO\n // want to allow them to be provided if required.\n if (mode === \"oldestar\" && !(\"oldestar\" in inner)) {\n return inner[\"lodestar-light\"];\n }\n if (mode === \"ursa-dark\" && !(\"ursa-dark\" in inner)) {\n return inner[\"ursa-light\"];\n }\n return inner[themeAliasMap[mode]];\n };\n } else if (inner && typeof inner === \"object\") {\n const newObj = {};\n Object.keys(inner).forEach(key => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n newObj[key] = helper(inner[key]);\n });\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return newObj;\n } else {\n return null; // or handle other cases appropriately\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return helper(obj);\n};\n//# sourceMappingURL=themed.js.map","export { LodestarCoreTheme } from \"./context/LodestarCoreTheme\";\nexport { themed } from \"./util/themed\";\n//# sourceMappingURL=index.js.map","'use client';\nimport * as React from 'react';\n\nconst defaultContext = /*#__PURE__*/React.createContext(undefined);\nconst QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // If we are given a context, we will use it.\n// Otherwise, if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(context, contextSharing) {\n if (context) {\n return context;\n }\n\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nconst useQueryClient = ({\n context\n} = {}) => {\n const queryClient = React.useContext(getQueryClientContext(context, React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nconst QueryClientProvider = ({\n client,\n children,\n context,\n contextSharing = false\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n\n if (process.env.NODE_ENV !== 'production' && contextSharing) {\n client.getLogger().error(\"The contextSharing option has been deprecated and will be removed in the next major version\");\n }\n\n const Context = getQueryClientContext(context, contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: !context && contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};\n\nexport { QueryClientProvider, defaultContext, useQueryClient };\n//# sourceMappingURL=QueryClientProvider.mjs.map\n","/**\n * @deprecated This object is being removed in V6+, February 2025, in favor of the `space` object in `smartsheet/design-tokens`.\n */\nexport const sizes = {\n xxSmall: 4,\n xSmall: 8,\n small: 12,\n medium: 16,\n large: 24,\n xLarge: 32,\n xxLarge: 48\n};\n/**\n * @deprecated This object is being removed in V6+, February 2025, in favor of the `space` object in @smartsheet/design-tokens.\n */\nexport const modalSizes = {\n small: 320,\n medium: 480,\n large: 640,\n xLarge: 720\n};\n//# sourceMappingURL=spacing.js.map","/**\n * A function that creates theme classes from a valid theme key. Useful for adding necessary theme classes to any element, namely the inner theme provider div.\n * @param themeKey a valid theme key name string\n * @returns a single string that contains each class necessary for the chosen theme\n */\nexport const getThemeClasses = themeKey => {\n let classes = \"\";\n if (themeKey?.includes(\"ursa\")) {\n classes += \"ursa\";\n } else {\n classes += \"lodestar\";\n }\n classes += ` ${themeKey}`;\n return classes;\n};\n//# sourceMappingURL=getThemeClasses.js.map","const ensureStaleTime = defaultedOptions => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n }\n }\n};\nconst willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nconst shouldSuspend = (defaultedOptions, result, isRestoring) => (defaultedOptions == null ? void 0 : defaultedOptions.suspense) && willFetch(result, isRestoring);\nconst fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).then(({\n data\n}) => {\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n}).catch(error => {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n});\n\nexport { ensureStaleTime, fetchOptimistic, shouldSuspend, willFetch };\n//# sourceMappingURL=suspense.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nconst onlineEvents = ['online', 'offline'];\nclass OnlineManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline(); // Listen to online\n\n\n onlineEvents.forEach(event => {\n window.addEventListener(event, listener, false);\n });\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach(event => {\n window.removeEventListener(event, listener);\n });\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n const changed = this.online !== online;\n\n if (changed) {\n this.online = online;\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n }\n\n}\nconst onlineManager = new OnlineManager();\n\nexport { OnlineManager, onlineManager };\n//# sourceMappingURL=onlineManager.mjs.map\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/core';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme' && key !== 'innerRef';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var identifierName;\n var shouldForwardProp;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && // $FlowFixMe\n options.shouldForwardProp(propName);\n } : options.shouldForwardProp;\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, context, ref) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var finalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = theme;\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(context.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), context.registered, mergedProps);\n var rules = insertStyles(context, serialized, typeof finalTag === 'string');\n className += context.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref || props.innerRef;\n\n if (process.env.NODE_ENV !== 'production' && props.innerRef) {\n console.error('`innerRef` is deprecated and will be removed in a future major version of Emotion, please use the `ref` prop instead' + (identifierName === undefined ? '' : \" in the usage of `\" + identifierName + \"`\"));\n }\n\n var ele = /*#__PURE__*/createElement(finalTag, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, nextOptions !== undefined ? _objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\n","import styled from '@emotion/styled-base';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = styled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","/**\n * This file was created to be an easier API than focusRing.ts.\n * It'll do some math so you don't need to.\n *\n * It's split out so we don't have to upgrade the whole repo and can move components over to\n * this one over time.\n */\n\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { themed } from \"@smartsheet/sds-theme-internal\";\nexport const focusRingTheme = themed({\n outerColor: color(\"color--border--surfaces--focus\"),\n innerColor: {\n // no equivalent semantic token for this white/transparent mix\n \"lodestar-light\": \"transparent\",\n \"ursa-light\": color(\"color--border--surfaces--body\")\n }\n});\n\n// TODO look into outline-color: none and using multiple box-shadows instead of a border color on :before?\n\nexport const createFocusRingStyles = _ref => {\n let {\n colorOverride,\n innerColorOverride,\n theme,\n gap,\n componentBorderWidth,\n componentRadius,\n componentRadiusOverride,\n ringWidth = 2,\n position = \"relative\",\n pseudoElement = \"before\",\n focusSelector = \":focus\",\n secondaryWidth = 1\n } = _ref;\n // This needs to be a negative number so we'll subtract all of these from 0.\n const borderOffset = `calc(0px - ${px(gap)} - ${px(ringWidth)} - ${px(componentBorderWidth)})`;\n\n // If this is a string, assume the calculations are already done. Otherwise, calculate the radius.\n const outerBorderRadius = componentRadiusOverride || `calc(${px(componentRadius)} + calc(${px(gap)} + ${px(ringWidth)} ))`;\n return `\n & {\n position: ${position};\n outline: none;\n }\n\n &${focusSelector} {\n outline: none;\n }\n\n &${focusSelector}::${pseudoElement} {\n content: \"\";\n display: block;\n \n position: absolute;\n inset: ${borderOffset};\n\n border: ${ringWidth}px solid ${colorOverride || focusRingTheme.outerColor(theme)};\n border-radius: ${outerBorderRadius};\n\n pointer-events: none;\n\n box-shadow: inset 0 0 0 ${secondaryWidth}px ${innerColorOverride || focusRingTheme.innerColor(theme)};\n }\n `;\n};\nconst px = input => typeof input === \"string\" ? input : `${input}px`;\n//# sourceMappingURL=createFocusRingStyles.js.map","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * A function to generate a collection of css variable tokens, abstracted for general use\n * from code in createTokenInjector.tsx\n */\nexport const getCSSVariables = (namespace, themeKey, tokens) => {\n // Create 2 things:\n // 1) a set of css custom properties to pass along to the injector\n const cssCustomProperties = {};\n // 2) a dictionary of token names => the CSS custom property names from #1.\n const tokenNameLookup = {};\n for (const token of tokens) {\n const tokenVariableName = `--smar--${namespace}--${token[\"name\"]}`;\n // insert the variable name into the by-token-name lookup table.\n tokenNameLookup[token.name] = tokenVariableName;\n if (token.value[themeKey]) {\n // Insert the css custom property into the map for the DOM.\n cssCustomProperties[tokenVariableName] = token.value[themeKey];\n }\n }\n return cssCustomProperties;\n};\n//# sourceMappingURL=getCSSVariables.js.map","import { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { sleep } from './utils.mjs';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\n\nfunction canFetch(networkMode) {\n return (networkMode != null ? networkMode : 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n }\n\n}\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n const cancel = cancelOptions => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort == null ? void 0 : config.abort();\n }\n };\n\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n\n if (canContinue) {\n continueResolve(value);\n }\n\n return canContinue;\n };\n\n config.onPause == null ? void 0 : config.onPause();\n }).then(() => {\n continueFn = undefined;\n\n if (!isResolved) {\n config.onContinue == null ? void 0 : config.onContinue();\n }\n });\n }; // Create loop function\n\n\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n\n let promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n const retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn == null ? void 0 : continueFn();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nexport { CancelledError, canFetch, createRetryer, isCancelledError };\n//# sourceMappingURL=retryer.mjs.map\n","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeSheets = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#D8E4FA\", d: \"M14.651 16.547l-.214 4.751H5V3.212L19.765 3l-.5 13.47z\" }),\n React.createElement(\"path\", { fill: \"#007CC5\", d: \"M4 21a1 1 0 001 1h9a6 6 0 006-6V3a1 1 0 00-1-1H5a1 1 0 00-1 1v18zm1.5-.5v-17h13V15h-4.75a.75.75 0 00-.75.75v4.75H5.5zm9.001-.1l-.001-3.9 3.9.001a5.007 5.007 0 01-3.899 3.899z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeSheets.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeSheets as FileTypeSheetsMedium } from \"./medium/FileTypeSheets\";\nvar sizeMap = {\n medium: FileTypeSheetsMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeSheetsIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeSheetsIcon.displayName = \"FileTypeSheetsIcon\";\n//# sourceMappingURL=FileTypeSheetsIcon.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeDashboards = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#E1EBD6\", d: \"M12 21c3.314 0 5.988-1.716 8.022-5.149-3.655-1.137-6.079-2.254-7.272-3.351-1.068-.982-1.318-4.149-.75-9.5-6.22 1.611-9.22 4.611-9 9 .33 6.583 4.03 9 9 9z\" }),\n React.createElement(\"path\", { fill: \"#488306\", d: \"M12 2a9.984 9.984 0 017.917 3.89c.037.03.072.064.104.101.051.062.091.13.12.2A9.96 9.96 0 0122 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM3.5 12a8.5 8.5 0 0016.017 3.972l-7.712-2.806a.736.736 0 01-.305-.207.75.75 0 01-.25-.559V3.533A8.5 8.5 0 003.5 12zm15.773-4.402l-5.562 4.665 6.388 2.325c.26-.816.401-1.686.401-2.588a8.46 8.46 0 00-1.227-4.402zM12.75 3.533l-.001 7.579 5.633-4.725a8.479 8.479 0 00-5.632-2.854z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeDashboards.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeDashboards as FileTypeDashboardsMedium } from \"./medium/FileTypeDashboards\";\nvar sizeMap = {\n medium: FileTypeDashboardsMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeDashboardsIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeDashboardsIcon.displayName = \"FileTypeDashboardsIcon\";\n//# sourceMappingURL=FileTypeDashboardsIcon.js.map","class Subscribable {\n constructor() {\n this.listeners = new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n const identity = {\n listener\n };\n this.listeners.add(identity);\n this.onSubscribe();\n return () => {\n this.listeners.delete(identity);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.size > 0;\n }\n\n onSubscribe() {// Do nothing\n }\n\n onUnsubscribe() {// Do nothing\n }\n\n}\n\nexport { Subscribable };\n//# sourceMappingURL=subscribable.mjs.map\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { difference, replaceAt } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { QueryObserver } from './queryObserver.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\nclass QueriesObserver extends Subscribable {\n constructor(client, queries) {\n super();\n this.client = client;\n this.queries = [];\n this.result = [];\n this.observers = [];\n this.observersMap = {};\n\n if (queries) {\n this.setQueries(queries);\n }\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.observers.forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n\n destroy() {\n this.listeners = new Set();\n this.observers.forEach(observer => {\n observer.destroy();\n });\n }\n\n setQueries(queries, notifyOptions) {\n this.queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.observers;\n const newObserverMatches = this.findMatchingObservers(this.queries); // set options for the new observers to notify of changes\n\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n\n this.observers = newObservers;\n this.observersMap = newObserversMap;\n this.result = newResult;\n\n if (!this.hasListeners()) {\n return;\n }\n\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n this.notify();\n });\n }\n\n getCurrentResult() {\n return this.result;\n }\n\n getQueries() {\n return this.observers.map(observer => observer.getCurrentQuery());\n }\n\n getObservers() {\n return this.observers;\n }\n\n getOptimisticResult(queries) {\n return this.findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n\n findMatchingObservers(queries) {\n const prevObservers = this.observers;\n const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));\n const defaultedQueryOptions = queries.map(options => this.client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObserversMap.get(defaultedOptions.queryHash);\n\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n\n return [];\n });\n const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));\n const matchingObserversSet = new Set(matchingObservers.map(match => match.observer));\n const unmatchedObservers = prevObservers.filter(prevObserver => !matchingObserversSet.has(prevObserver));\n\n const getObserver = options => {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const currentObserver = this.observersMap[defaultedOptions.queryHash];\n return currentObserver != null ? currentObserver : new QueryObserver(this.client, defaultedOptions);\n };\n\n const newOrReusedObservers = unmatchedQueries.map((options, index) => {\n if (options.keepPreviousData) {\n // return previous data from one of the observers that no longer match\n const previouslyUsedObserver = unmatchedObservers[index];\n\n if (previouslyUsedObserver !== undefined) {\n return {\n defaultedQueryOptions: options,\n observer: previouslyUsedObserver\n };\n }\n }\n\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n\n onUpdate(observer, result) {\n const index = this.observers.indexOf(observer);\n\n if (index !== -1) {\n this.result = replaceAt(this.result, index, result);\n this.notify();\n }\n }\n\n notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.result);\n });\n });\n }\n\n}\n\nexport { QueriesObserver };\n//# sourceMappingURL=queriesObserver.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { QueriesObserver, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { useIsRestoring } from './isRestoring.mjs';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.mjs';\nimport { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.mjs';\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic, willFetch } from './suspense.mjs';\n\nfunction useQueries({\n queries,\n context\n}) {\n const queryClient = useQueryClient({\n context\n });\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(() => queries.map(options => {\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure the results are already in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic';\n return defaultedOptions;\n }), [queries, queryClient, isRestoring]);\n defaultedQueries.forEach(query => {\n ensureStaleTime(query);\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(() => new QueriesObserver(queryClient, defaultedQueries));\n const optimisticResult = observer.getOptimisticResult(defaultedQueries);\n useSyncExternalStore(React.useCallback(onStoreChange => isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, {\n listeners: false\n });\n }, [defaultedQueries, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) => shouldSuspend(defaultedQueries[index], result, isRestoring));\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index];\n const queryObserver = observer.getObservers()[index];\n\n if (options && queryObserver) {\n if (shouldSuspend(options, result, isRestoring)) {\n return fetchOptimistic(options, queryObserver, errorResetBoundary);\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(options, queryObserver, errorResetBoundary);\n }\n }\n\n return [];\n }) : [];\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n\n const observerQueries = observer.getQueries();\n const firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n var _defaultedQueries$ind, _defaultedQueries$ind2;\n\n return getHasError({\n result,\n errorResetBoundary,\n useErrorBoundary: (_defaultedQueries$ind = (_defaultedQueries$ind2 = defaultedQueries[index]) == null ? void 0 : _defaultedQueries$ind2.useErrorBoundary) != null ? _defaultedQueries$ind : false,\n query: observerQueries[index]\n });\n });\n\n if (firstSingleResultWhichShouldThrow != null && firstSingleResultWhichShouldThrow.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n\n return optimisticResult;\n}\n\nexport { useQueries };\n//# sourceMappingURL=useQueries.mjs.map\n","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgAlertErrorAlt = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-.001 15l-.11.006a1 1 0 10.227.001L11.999 17zM12 6c-.552 0-1 .465-1 1.038v6.924l.01.14c.065.507.484.898.99.898.552 0 1-.465 1-1.038V7.038l-.01-.14A1.01 1.01 0 0012 6z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=AlertErrorAlt.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgAlertErrorAlt as AlertErrorAltMedium } from \"./medium/AlertErrorAlt\";\nvar sizeMap = {\n medium: AlertErrorAltMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var AlertErrorAltIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nAlertErrorAltIcon.displayName = \"AlertErrorAltIcon\";\n//# sourceMappingURL=AlertErrorAltIcon.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeWorkgroup = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#727272\", d: \"M13.782 13.745c-1.701.008-2.973.784-3.87 2.198-.486.764-.72 1.612-.744 2.519-.004.154-.008.305.053.45.15.351.51.543.88.469a.779.779 0 00.619-.762c.005-.605.134-1.18.428-1.71.458-.827 1.13-1.377 2.073-1.565a2.94 2.94 0 01.562-.046c1.185-.002 2.37-.003 3.555 0 1.193.002 2.057.566 2.642 1.582.287.498.429 1.041.438 1.618.004.26.05.506.257.689.247.217.53.273.832.145.3-.127.47-.368.471-.691.001-1.288-.407-2.43-1.262-3.398a4.347 4.347 0 00-3.212-1.498h-1.94c-.593 0-1.188-.002-1.782 0zm-8.036-1.022c-1.736.043-3.18 1.205-3.627 2.883a3.47 3.47 0 00-.118.983c.008.378.3.714.661.751.422.044.78-.202.871-.596.033-.14.021-.284.034-.426.093-1.018.958-1.904 1.978-2.02.327-.036.655-.012.982-.017.26-.005.52-.001.78-.001h1.586a.783.783 0 00.77-.561.778.778 0 00-.752-1c-1.055-.008-2.11-.023-3.165.004zm9.827-7.684a3.85 3.85 0 00-3.85 3.849 3.85 3.85 0 003.845 3.853 3.84 3.84 0 003.854-3.853 3.84 3.84 0 00-3.85-3.849zM7.38 6.066a2.825 2.825 0 00-2.824 2.826c.002 1.614 1.334 2.841 2.827 2.82a2.807 2.807 0 002.824-2.824c-.001-1.651-1.353-2.83-2.827-2.822zm8.175.534c1.277 0 2.303 1.005 2.307 2.272a2.276 2.276 0 01-2.281 2.306 2.272 2.272 0 01-2.3-2.29A2.28 2.28 0 0115.555 6.6zM7.372 7.62a1.269 1.269 0 011.275 1.244c.008.713-.55 1.29-1.25 1.296a1.263 1.263 0 01-1.279-1.258A1.266 1.266 0 017.372 7.62z\" }),\n React.createElement(\"path\", { fill: \"#E0E0E0\", d: \"M8.648 8.902A1.266 1.266 0 007.394 7.62a1.269 1.269 0 00-1.275 1.244c-.008.713.55 1.29 1.25 1.296a1.263 1.263 0 001.279-1.258m6.915 2.276a2.272 2.272 0 002.3-2.29A2.28 2.28 0 0015.588 6.6c-1.276 0-2.302 1.005-2.307 2.272a2.276 2.276 0 002.282 2.306\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeWorkgroup.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeWorkgroup as FileTypeWorkgroupMedium } from \"./medium/FileTypeWorkgroup\";\nvar sizeMap = {\n medium: FileTypeWorkgroupMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeWorkgroupIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeWorkgroupIcon.displayName = \"FileTypeWorkgroupIcon\";\n//# sourceMappingURL=FileTypeWorkgroupIcon.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\n\n/**\n * This set of utilities is used to provide a switch for focus styles.\n * Focus styles like outlines should only show up when the user is interacting with\n * the app using the keyboard. Once the mouse is used again, focus outlines should be\n * disabled.\n */\n\nexport const SHOW_FOCUS_MARKER = \"lodestar--show-focus\";\nconst getFocusModeFromBodyClassList = () => typeof document !== \"undefined\" && document.body.classList.contains(SHOW_FOCUS_MARKER) ? \"keyboard\" : \"mouse\";\n/**\n * Hook that watches the document for key and mouse events to toggle between keyboard\n * and mouse modes.\n *\n * This hook assumes the initial mode to be mouse.\n */\nexport const useFocusMode = function () {\n let {\n isDisabled,\n passive = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [focusMode, setFocusMode] = useState(getFocusModeFromBodyClassList);\n const passiveFocusModeRef = useRef(focusMode);\n const getFocusModeFromPassiveRef = useCallback(() => passiveFocusModeRef.current, []);\n\n // Hooks up a MutationObserver that watches the body class. This means any change\n // to add/remove the class we care about will cause a re-render here.\n // This is good because many components could use this hook and we want them all\n // to pay attention.\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n const handleUpdate = () => {\n const initialFocusMode = getFocusModeFromBodyClassList();\n passiveFocusModeRef.current = initialFocusMode;\n\n // only cause a React re-render if necessary.\n if (!passive) {\n setFocusMode(getFocusModeFromBodyClassList());\n }\n };\n\n // Do a quick update in case it has changed while we were disabled.\n handleUpdate();\n const obs = new MutationObserver(handleUpdate);\n obs.observe(document.body, {\n attributes: true,\n attributeFilter: [\"class\"]\n });\n return () => {\n obs.disconnect();\n };\n }, [isDisabled, passive]);\n return {\n focusMode,\n getFocusMode: getFocusModeFromPassiveRef,\n // This function needs to add/remove the marker class from the body. This allows the\n // mutation observer above to cause the re-render in ALL of the usages of these hooks,\n // not just this one.\n setFocusMode: useCallback(newMode => {\n switch (newMode) {\n case \"keyboard\":\n document.body.classList.add(SHOW_FOCUS_MARKER);\n break;\n case \"mouse\":\n document.body.classList.remove(SHOW_FOCUS_MARKER);\n break;\n }\n }, [])\n };\n};\n//# sourceMappingURL=useFocusMode.js.map","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k 0) {\n // initialFocusItem is undefined so we can't set focus to that, but we can try and set it to the first item in selectedSet.\n selectedSet.forEach(function (value, key) {\n if (itemIndex !== -1) {\n return;\n }\n itemIndex = getOrderedItemIndex(value, orderedItems);\n });\n }\n if (itemIndex !== -1) {\n return itemIndex;\n }\n else {\n return 0;\n }\n};\n//# sourceMappingURL=ContainerUtil.js.map","var UniqueContainerId = /** @class */ (function () {\n function UniqueContainerId(id, type) {\n this.id = id;\n this.type = type;\n }\n UniqueContainerId.prototype.toString = function () {\n return \"\".concat(this.id, \":\").concat(this.type);\n };\n UniqueContainerId.prototype.equals = function (other) {\n return other.id === this.id && other.type === this.type;\n };\n UniqueContainerId.fromString = function (id) {\n var parts = id.split(\":\");\n return new UniqueContainerId(parts[0], UniqueContainerId.toTreeItemType(parts[1]));\n };\n UniqueContainerId.fromObject = function (uniqueId) {\n return new UniqueContainerId(uniqueId.id, uniqueId.type);\n };\n UniqueContainerId.fromContainerTreeData = function (containerData) {\n return new UniqueContainerId(containerData.id, containerData.containerType);\n };\n UniqueContainerId.toTreeItemType = function (type) {\n return parseInt(type);\n };\n return UniqueContainerId;\n}());\nexport { UniqueContainerId };\n//# sourceMappingURL=UniqueContainerId.js.map","import { createRef } from \"react\";\nimport { isChildrenLoaded } from \"./ContainerUtil\";\nimport { UniqueContainerId } from \"../UniqueContainerId/UniqueContainerId\";\nvar ContainerRefs = /** @class */ (function () {\n function ContainerRefs(tree) {\n var _this = this;\n this.addItemRefs = function (tree) {\n for (var _i = 0, tree_1 = tree; _i < tree_1.length; _i++) {\n var node = tree_1[_i];\n var uniqueId = UniqueContainerId.fromContainerTreeData(node);\n _this.set(uniqueId, createRef());\n if (isChildrenLoaded(node.childData)) {\n _this.addItemRefs(node.childData.childrenData);\n }\n }\n };\n this.map = new Map();\n if (tree) {\n this.addItemRefs(tree);\n }\n }\n ContainerRefs.prototype.set = function (uniqueContainerId, value) {\n this.map.set(uniqueContainerId.toString(), value);\n };\n ContainerRefs.prototype.size = function () {\n return this.map.size;\n };\n ContainerRefs.prototype.get = function (uniqueContainerId) {\n return this.map.get(uniqueContainerId.toString());\n };\n return ContainerRefs;\n}());\nexport { ContainerRefs };\n//# sourceMappingURL=ContainerRefs.js.map","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value;\n var parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n var WithTheme = /*#__PURE__*/React.forwardRef(function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n\n var newProps = {};\n\n for (var _key in props) {\n if (hasOwn.call(props, _key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var _key2 in props) {\n if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && (!isDevelopment )) {\n newProps[_key2] = props[_key2];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-f0de968e.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-f0de968e.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx = function jsx(type, props) {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n(function (_jsx) {\n var JSX;\n\n (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));\n})(jsx || (jsx = {}));\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nfunction keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n}\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgArrowRight = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M14.376 12.416l-4.599 3.066A.5.5 0 019 15.066V8.934a.5.5 0 01.777-.416l4.599 3.066a.5.5 0 010 .832z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=ArrowRight.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgArrowRight as ArrowRightMedium } from \"./medium/ArrowRight\";\nvar sizeMap = {\n medium: ArrowRightMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var ArrowRightIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nArrowRightIcon.displayName = \"ArrowRightIcon\";\n//# sourceMappingURL=ArrowRightIcon.js.map","import invariant from \"tiny-invariant\";\n\n/**\n * Button Primary\n */\nexport const buttonPrimary = \"#3576ba\";\nexport const buttonPrimaryHover = \"#6097d2\";\nexport const buttonPrimaryPressed = \"#4c649d\";\nexport const buttonPrimaryFocus = buttonPrimary;\nexport const buttonPrimaryDisabled = \"#b3ccea\";\n\n/**\n * Button Secondary\n */\n// todo: rename to buttonSecondary to match color names in style guide.\nexport const buttonDefault = \"#eeeeee\";\nexport const buttonDefaultHover = \"#e0e0e0\";\nexport const buttonDefaultPressed = \"#c0c0c0\";\nexport const buttonDefaultFocus = buttonDefault;\nexport const buttonDefaultDisabled = \"#f2f2f2\";\nexport const buttonSecondary = \"#32b1ad\"; // todo: remove, obsolete.\n\n/**\n * Button Share\n */\nexport const ctaShare = \"#007e84\";\nexport const ctaShareHover = \"#40bac0\";\nexport const ctaShareActive = \"#01595d\"; // todo: rename to Pressed\nexport const ctaShareFocus = ctaShare;\nexport const ctaShareDisabled = \"#aed5d6\";\n\n/**\n * Button Destructive\n */\nexport const buttonDestructive = \"#cc2e3b\";\nexport const buttonDestructiveHover = \"#d8656f\";\nexport const buttonDestructivePressed = \"#a62833\";\nexport const buttonDestructiveFocus = buttonDestructive;\nexport const buttonDestructiveDisabled = \"#edbec2\";\n\n/**\n * Button Upgrade\n */\n// todo: replace existing ctaUpgrade with this set.\nexport const buttonUpgrade = \"#007a49\";\nexport const buttonUpgradeHover = \"#40c28f\";\nexport const buttonUpgradePressed = \"#00693f\";\nexport const buttonUpgradeFocus = buttonUpgrade;\nexport const buttonUpgradeDisabled = \"#b3d7c8\";\nexport const ctaUpgrade = \"#2c6665\";\n\n/**\n * Link and Focus\n */\nexport const ctaLink = \"#0970be\";\nexport const focusDark = \"#4c649d\"; // focus dark 10 in figma\nexport const focus = \"#6097d2\";\nexport const focusLight = \"#b0cae9\"; // todo: remove, obsolete?\nexport const focusLight10 = \"#b3ccea\"; // focus light 10 in figma\nexport const focusLight20 = \"#c5d7ed\"; // focus light 20 in figma\n\nexport const active = \"#204a76\"; // todo: remove, obsolete?\nexport const focusActiveLight = \"#b0cae9\";\nexport const focusActiveDark = \"#566ae3\"; // visPurpleDark10\n\n/**\n * Success\n */\nexport const successDark30 = \"#00462a\";\nexport const successDark20 = \"#00693f\";\nexport const successDark10 = \"#008c54\";\nexport const success = \"#01af6a\";\nexport const successLight10 = \"#40c28f\";\nexport const successLight20 = \"#7dd4b1\";\nexport const successLight30 = \"#bbe7d6\";\n\n/**\n * Warning\n */\nexport const warningDark30 = \"#664e18\";\nexport const warningDark20 = \"#997525\";\nexport const warningDark10 = \"#cc9c31\";\nexport const warning = \"#ffc33e\";\nexport const warningLight10 = \"#fdd16e\";\nexport const warningLight20 = \"#fcde9b\";\nexport const warningLight30 = \"#fbeccb\";\n\n/**\n * Danger\n */\nexport const dangerDark30 = \"#531419\";\nexport const dangerDark20 = \"#7c1e26\";\nexport const dangerDark10 = \"#a62833\";\nexport const danger = \"#d03340\";\nexport const dangerLight10 = \"#db656f\";\nexport const dangerLight20 = \"#e4969c\";\nexport const dangerLight30 = \"#efc8cb\";\n\n/**\n * Info\n */\nexport const infoDark30 = \"#3f4952\";\nexport const infoDark20 = \"#5e6d7b\";\nexport const infoDark10 = \"#7e92a4\";\nexport const info = \"#9eb7ce\";\nexport const infoLight10 = \"#b6c8da\";\nexport const infoLight20 = \"#cbd8e3\";\nexport const infoLight30 = \"#e3e9ef\";\n\n/**\n * Visualization Blue\n */\nexport const visBlueDark30 = \"#002847\";\nexport const visBlueDark20 = \"#004173\";\nexport const visBlueDark10 = \"#007cc5\";\nexport const visBlue = \"#5996d6\";\nexport const visBlueLight10 = \"#a7c1e4\";\nexport const visBlueLight20 = \"#d8e4fa\";\nexport const visBlueLight30 = \"#f0f5fd\";\n\n/**\n * Visualization Green\n */\nexport const visGreenDark30 = \"#193700\";\nexport const visGreenDark20 = \"#275600\";\nexport const visGreenDark10 = \"#488306\";\nexport const visGreen = \"#70a13c\";\nexport const visGreenLight10 = \"#b2c997\";\nexport const visGreenLight20 = \"#e1ebd6\";\nexport const visGreenLight30 = \"#f3f7ef\";\n\n/**\n * Visualization Orange\n */\nexport const visOrangeDark30 = \"#492400\";\nexport const visOrangeDark20 = \"#653300\";\nexport const visOrangeDark10 = \"#ab6600\";\nexport const visOrange = \"#e18502\";\nexport const visOrangeLight10 = \"#ffb761\";\nexport const visOrangeLight20 = \"#fee3c0\";\nexport const visOrangeLight30 = \"#fff4e6\";\n\n/**\n * Visualization Yellow\n */\nexport const visYellowDark30 = \"#3d2c00\";\nexport const visYellowDark20 = \"#5a4000\";\nexport const visYellowDark10 = \"#996f00\";\nexport const visYellow = \"#e6a907\";\nexport const visYellowLight10 = \"#f5cf6a\";\nexport const visYellowLight20 = \"#ffefc5\";\nexport const visYellowLight30 = \"#fff8e7\";\n\n/**\n * Visualization Red\n */\nexport const visRedDark30 = \"#6d0800\";\nexport const visRedDark20 = \"#9d0c00\";\nexport const visRedDark10 = \"#d14424\";\nexport const visRed = \"#ee6f4c\";\nexport const visRedLight10 = \"#f6b09d\";\nexport const visRedLight20 = \"#ffe0d7\";\nexport const visRedLight30 = \"#fff3ef\";\n\n/**\n * Visualization Purple\n */\nexport const visPurpleDark30 = \"#0c245b\";\nexport const visPurpleDark20 = \"#0c3491\";\nexport const visPurpleDark10 = \"#566ae3\";\nexport const visPurple = \"#848be9\";\nexport const visPurpleLight10 = \"#bab8f1\";\nexport const visPurpleLight20 = \"#e6e5fa\";\nexport const visPurpleLight30 = \"#f5f5fd\";\n\n/**\n * Visualization Berry\n */\nexport const visBerryDark30 = \"#610e44\";\nexport const visBerryDark20 = \"#8b2066\";\nexport const visBerryDark10 = \"#b94d90\";\nexport const visBerry = \"#c76ca1\";\nexport const visBerryLight10 = \"#e5b8d1\";\nexport const visBerryLight20 = \"#f5e1ec\";\nexport const visBerryLight30 = \"#fbf3f8\";\n\n/**\n * Visualization Teal\n */\nexport const visTealDark30 = \"#002923\";\nexport const visTealDark20 = \"#004e43\";\nexport const visTealDark10 = \"#008476\";\nexport const visTeal = \"#4eaa9b\";\nexport const visTealLight10 = \"#a1c9c2\";\nexport const visTealLight20 = \"#dceae7\";\nexport const visTealLight30 = \"#f1f7f6\";\n\n/**\n * Neutrals\n */\nexport const neutralDark40 = \"#111111\";\nexport const neutralDark30 = \"#444444\";\nexport const neutralDark20 = \"#727272\";\nexport const neutralDark10 = \"#979797\";\nexport const neutral = \"#c0c0c0\";\nexport const neutralLight10 = \"#e0e0e0\";\nexport const neutralLight20 = \"#ebebeb\";\nexport const neutralLight30 = \"#f2f2f2\";\nexport const neutralLight40 = \"#ffffff\";\n\n// This is \"accessible\" against black (7:1) but not against white(2.9:1).\nexport const neutralAccessible = neutralDark10;\n\n/**\n * Backgrounds\n */\nexport const defaultBackground = \"#f8f7f5\"; // figma: light bg\nexport const tooltipBackground = \"rgba(84, 84, 84, 1)\"; // figma: tooltip gray\nexport const blanketBackground = \"rgba(0, 0, 0, 0.1)\"; // figma: light overlay\nexport const leftNavBackground = \"#003059\"; // figma: left nav\n\n/**\n * Shadows\n */\nexport const shadowMenu = \"rgba(0, 0, 0, 0.16)\";\nexport const shadowModal = \"rgba(0, 0, 0, 0.12)\";\nexport const shadowBorder = \"rgba(0, 0, 0, 0.12)\";\n\n/**\n * Adapted from https://css-tricks.com/converting-color-spaces-in-javascript/\n * @param hexColor \"#rrggbb\"\n * @param alpha a transparency number between 0.0 - 1.0;\n */\nexport function toRgba(hexColor, alpha) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(hexColor.length === 7, `You've passed an illegal argument to toRgba. It should be of the pattern #aaaaaa: \"${hexColor}\".`);\n invariant(alpha >= 0 && alpha <= 1, `You've passed an illegal alpha number to toRgba. It should be between 0 and 1, inclusive: ${alpha}.`);\n }\n const r = \"0x\" + hexColor[1] + hexColor[2];\n const g = \"0x\" + hexColor[3] + hexColor[4];\n const b = \"0x\" + hexColor[5] + hexColor[6];\n const a = +alpha.toFixed(3);\n return `rgba(${+r},${+g},${+b},${a})`;\n}\n//# sourceMappingURL=colors.js.map","export var TestId;\n(function (TestId) {\n TestId[\"LI_ELEMENT\"] = \"LI_ELEMENT\";\n TestId[\"EXPAND_BUTTON\"] = \"EXPAND_BUTTON\";\n TestId[\"UL_ELEMENT\"] = \"UL_ELEMENT\";\n TestId[\"LEFT_CONTAINER\"] = \"LEFT_CONTAINER\";\n TestId[\"RIGHT_CONTAINER\"] = \"RIGHT_CONTAINER\";\n TestId[\"CONTAINER_IMAGE\"] = \"CONTAINER_IMAGE\";\n TestId[\"LIST_ITEM\"] = \"LIST_ITEM\";\n TestId[\"CHECK_ICON\"] = \"CHECK_ICON\";\n TestId[\"LOADING_LINE\"] = \"LOADING_LINE\";\n TestId[\"OUTER_DIV\"] = \"OUTER_DIV\";\n})(TestId || (TestId = {}));\n//# sourceMappingURL=TestId.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFavorite = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M19.617 10.374c-.118-.02-.224-.04-.33-.057-1.48-.226-2.96-.457-4.44-.676-.342-.05-.563-.23-.712-.55-.681-1.46-1.37-2.917-2.057-4.374-.022-.048-.03-.109-.095-.14-.025.052-.05.101-.073.151-.694 1.47-1.389 2.939-2.079 4.41-.137.294-.35.455-.657.497-.262.035-.524.08-.786.12l-3.294.504c-.239.036-.477.075-.76.12.081.076.136.123.186.174 1.105 1.126 2.208 2.253 3.315 3.376a.9.9 0 01.259.833c-.241 1.447-.479 2.895-.714 4.343-.035.216-.086.43-.098.666.048-.022.08-.036.112-.053 1.374-.757 2.75-1.51 4.12-2.277.329-.184.623-.19.955-.004 1.366.764 2.74 1.512 4.11 2.266.04.021.077.064.134.048 0-.02.002-.035 0-.048l-.816-4.971c-.049-.3.02-.563.234-.776.125-.123.248-.247.37-.372.892-.909 1.784-1.817 2.673-2.727.148-.151.286-.312.443-.483M11.992 2c.33.015.552.176.69.468l.5 1.069c.701 1.487 1.403 2.973 2.102 4.462.045.094.099.14.2.155.841.125 1.681.256 2.522.385 1.115.17 2.232.34 3.347.514.301.047.51.23.606.537a.76.76 0 01-.188.795c-.722.746-1.45 1.485-2.177 2.226-.413.422-.827.842-1.241 1.263-.278.283-.554.568-.835.848a.236.236 0 00-.074.226l.709 4.316c.1.614.206 1.228.3 1.844.09.577-.476 1.055-.995.835-.232-.098-.451-.233-.674-.356-1.554-.855-3.108-1.712-4.66-2.57a.232.232 0 00-.252.001c-1.68.928-3.362 1.853-5.043 2.78-.228.125-.452.255-.728.18a.77.77 0 01-.557-.854c.134-.877.28-1.752.422-2.627.192-1.173.384-2.347.58-3.52a.283.283 0 00-.089-.272c-1.351-1.375-2.7-2.753-4.048-4.13-.077-.08-.159-.154-.228-.24-.377-.47-.133-1.183.445-1.28.687-.114 1.378-.212 2.067-.318L7.56 8.3c.325-.05.649-.105.974-.15.082-.012.127-.05.162-.125.855-1.818 1.712-3.636 2.57-5.453.035-.076.07-.154.114-.225a.705.705 0 01.612-.346\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=Favorite.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFavorite as FavoriteMedium } from \"./medium/Favorite\";\nvar sizeMap = {\n medium: FavoriteMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FavoriteIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFavoriteIcon.displayName = \"FavoriteIcon\";\n//# sourceMappingURL=FavoriteIcon.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeForms = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#F5E1EC\", d: \"M4 4h3.91c.653.886 2.017 1.33 4.09 1.33s3.258-.444 3.552-1.33h4.698v4.602c-2.807 2.234-4.538 3.78-5.193 4.64-1.565 2.056-1.027 3.489-1.027 3.906 0 .509 1.167.755 3.486-.553.521-.295 1.433-1.055 2.734-2.28V21H4V4z\" }),\n React.createElement(\"path\", { fill: \"#B94D90\", d: \"M14.316 1.498c.96.007 1.653.47 2.073 1.33.064.13.135.167.271.166l.228-.001h.56c.818 0 1.865.007 2.444.007C20.688 3 21 3.426 21 4.014V5.79c0 .411-.382.71-.792.71-.41 0-.766-.298-.766-.71V4.54l-.826.001h-1.604l-.377-.001c-.121 0-.184.037-.239.15-.413.857-1.1 1.333-2.05 1.346-1.688.021-3.376.02-5.063 0-.943-.011-1.633-.475-2.049-1.325-.062-.126-.13-.173-.27-.172-.226.002-.516.003-.87.003h-.457c-.325 0-.692 0-1.099-.002v15.91h14.916a224.92 224.92 0 01-.012-1.502v-.512c.001-.411.197-.936.766-.936.568 0 .77.392.78.936.014.87.018 1.516.014 2.386 0 .127-.024.257-.054.382-.111.463-.513.762-1.044.779-.22.007-.44.002-.66.002H4.378c-.143 0-.286.007-.429-.018-.602-.107-.93-.48-.945-1.094-.007-.234-.002-.469-.002-.703L3 8.293V4.286c0-.222.012-.441.099-.647.205-.488.617-.635 1.101-.64.918-.007 1.836-.011 2.754-.005.142.001.213-.04.28-.175.412-.833 1.083-1.31 2.02-1.321 1.688-.019 3.376-.012 5.062 0zm6.243 6.252a2.906 2.906 0 012.915 2.629c.01.09.017.179.026.268a3.011 3.011 0 01-.913 2.142c-1.504 1.506-3.01 3.011-4.512 4.519-.352.353-.777.52-1.266.575-.822.092-1.643.201-2.465.303-.17.02-.338.044-.507.06-.464.047-.894-.378-.83-.83.152-1.098.31-2.195.47-3.292.055-.371.217-.695.484-.962 1.518-1.52 3.034-3.04 4.554-4.558a2.809 2.809 0 012.044-.854zm-.963 1.929c-1.505 1.498-3.004 3.003-4.505 4.505a.387.387 0 00-.118.222c-.097.694-.193 1.388-.295 2.082-.015.1.012.118.099.101.032-.006.066-.004.099-.008.535-.065 1.071-.126 1.605-.2.173-.024.36-.002.506-.148 1.53-1.534 3.062-3.065 4.59-4.6.262-.264.393-.59.38-1.013-.004-.052.001-.152-.023-.25-.13-.514-.44-.872-.946-1.026-.52-.158-1.002-.053-1.392.335zM11.181 11c.244 0 .472.047.641.26.19.236.228.505.114.788a.67.67 0 01-.655.449c-.593.006-1.186.001-1.78.001-.588 0-1.177.003-1.766 0-.38-.003-.657-.25-.725-.632-.067-.38.206-.791.562-.845.076-.012.154-.02.23-.02h3.38zm2.457-3c.31 0 .57.093.74.358a.687.687 0 01.021.75c-.154.274-.41.388-.719.39l-.945.002h-1.982l-2.9-.001c-.417-.001-.73-.212-.825-.551-.13-.466.202-.899.727-.944l.057-.003h.056L13.638 8zm-1.83-4.97c-.832 0-1.664-.002-2.496 0a.744.744 0 00-.756.725.75.75 0 00.75.75c1.67.003 3.338.001 5.006 0 .167 0 .32-.05.453-.154a.736.736 0 00.253-.822.738.738 0 00-.7-.498c-.837-.002-1.674 0-2.51 0z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeForms.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeForms as FileTypeFormsMedium } from \"./medium/FileTypeForms\";\nvar sizeMap = {\n medium: FileTypeFormsMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeFormsIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeFormsIcon.displayName = \"FileTypeFormsIcon\";\n//# sourceMappingURL=FileTypeFormsIcon.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgLink = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"nonzero\", d: \"M13.582 8.905c.341.326.67.665 1.001 1 .392.398.277 1.04-.228 1.256-.293.126-.579.086-.814-.133-.292-.273-.57-.562-.851-.847a4.14 4.14 0 00-.754-.631 3.279 3.279 0 00-1.932-.5 3.274 3.274 0 00-2.201.984c-1.031 1.029-2.06 2.06-3.087 3.092-.58.581-.962 1.274-1.107 2.082-.226 1.26.07 2.39.9 3.366a3.792 3.792 0 002.397 1.335c1.34.197 2.5-.193 3.468-1.142.294-.288.581-.584.874-.874a.765.765 0 011.128 1.037c-.18.196-.374.38-.562.57-.286.285-.564.579-.884.828A5.506 5.506 0 017.572 21.5c-2.552-.002-4.745-1.69-5.386-4.114a5.462 5.462 0 01-.136-2.152 5.42 5.42 0 011.556-3.169 451.572 451.572 0 013.17-3.173 4.625 4.625 0 012.65-1.323c1.597-.228 2.987.221 4.156 1.336zM16.476 2.5a5.526 5.526 0 015.255 3.832 5.43 5.43 0 01.26 1.98c-.08 1.4-.605 2.612-1.59 3.611a367.506 367.506 0 01-3.181 3.186 4.613 4.613 0 01-2.583 1.311c-1.632.252-3.053-.201-4.245-1.35-.33-.318-.65-.646-.972-.972-.352-.357-.31-.905.09-1.188.28-.2.673-.18.935.046.028.024.054.05.08.075.34.339.673.684 1.02 1.015.488.467 1.07.757 1.738.86 1.048.163 1.973-.113 2.773-.809.054-.047.104-.098.155-.148l3.059-3.063c.542-.542.918-1.18 1.083-1.93.296-1.348-.006-2.554-.915-3.592a3.784 3.784 0 00-2.213-1.254c-1.207-.221-2.299.055-3.264.817-.12.094-.23.2-.34.308l-.869.87c-.287.284-.7.32-1.013.088a.761.761 0 01-.118-1.122c.265-.285.544-.556.821-.829.158-.156.317-.313.487-.455a5.435 5.435 0 012.579-1.203c.32-.057.643-.085.968-.084z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=Link.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgLink as LinkMedium } from \"./medium/Link\";\nvar sizeMap = {\n medium: LinkMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var LinkIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nLinkIcon.displayName = \"LinkIcon\";\n//# sourceMappingURL=LinkIcon.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgNull = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 20 20\", fill: \"none\" }, props),\n React.createElement(\"path\", { clipRule: \"evenodd\", d: \"M10 2.5l3.26 5.625 3.23 5.625H3.51l3.23-5.625L10 2.5z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\n React.createElement(\"path\", { clipRule: \"evenodd\", d: \"M15.303 4.697A7.5 7.5 0 114.697 15.303 7.5 7.5 0 0115.303 4.697z\", stroke: \"currentColor\", strokeWidth: 1.5, strokeLinecap: \"round\", strokeLinejoin: \"round\" }))); };\n//# sourceMappingURL=Null.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgNull as NullMedium } from \"./medium/Null\";\nvar sizeMap = {\n medium: NullMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var NullIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nNullIcon.displayName = \"NullIcon\";\n//# sourceMappingURL=NullIcon.js.map","import { __assign } from \"tslib\";\nimport * as React from \"react\";\nvar SvgDynamicView = function (props) { return (React.createElement(\"svg\", __assign({ xmlns: \"http://www.w3.org/2000/svg\", width: \"110px\", height: \"110px\", fill: \"none\" }, props),\n React.createElement(\"svg\", { className: \"dynamic-view\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3.30078 4.00005C3.30078 3.61345 3.61418 3.30005 4.00078 3.30005H10.9903C11.3769 3.30005 11.6903 3.61345 11.6903 4.00005V7.68894C11.6903 8.07554 11.3769 8.38894 10.9903 8.38894H4.00078C3.61418 8.38894 3.30078 8.07554 3.30078 7.68894V4.00005ZM4.70078 4.70005V6.98894H10.2903V4.70005H4.70078Z\", fill: \"#242732\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12.9113 10.4556C12.9113 10.069 13.2247 9.75561 13.6113 9.75561H20.6008C20.9874 9.75561 21.3008 10.069 21.3008 10.4556V14.1445C21.3008 14.5311 20.9874 14.8445 20.6008 14.8445H13.6113C13.2247 14.8445 12.9113 14.5311 12.9113 14.1445V10.4556ZM14.3113 11.1556V13.4445H19.9008V11.1556H14.3113Z\", fill: \"#242732\" }),\n React.createElement(\"path\", { d: \"M13.6113 16.9112H20.6008V20.6001H13.6113V16.9112Z\", fill: \"#A8ACBD\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12.9113 16.9112C12.9113 16.5246 13.2247 16.2112 13.6113 16.2112H20.6008C20.9874 16.2112 21.3008 16.5246 21.3008 16.9112V20.6001C21.3008 20.9867 20.9874 21.3001 20.6008 21.3001H13.6113C13.2247 21.3001 12.9113 20.9867 12.9113 20.6001V16.9112ZM14.3113 17.6112V19.9001H19.9008V17.6112H14.3113Z\", fill: \"#242732\" }),\n React.createElement(\"path\", { d: \"M13.6113 4.00005H20.6008V7.68894H13.6113V4.00005Z\", fill: \"#A8ACBD\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M12.9113 4.00005C12.9113 3.61345 13.2247 3.30005 13.6113 3.30005H20.6008C20.9874 3.30005 21.3008 3.61345 21.3008 4.00005V7.68894C21.3008 8.07554 20.9874 8.38894 20.6008 8.38894H13.6113C13.2247 8.38894 12.9113 8.07554 12.9113 7.68894V4.00005ZM14.3113 4.70005V6.98894H19.9008V4.70005H14.3113Z\", fill: \"#242732\" }),\n React.createElement(\"path\", { d: \"M4.00078 10.4556H10.9903V14.1445H4.00078V10.4556Z\", fill: \"#A8ACBD\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3.30078 10.4556C3.30078 10.069 3.61418 9.75561 4.00078 9.75561H10.9903C11.3769 9.75561 11.6903 10.069 11.6903 10.4556V14.1445C11.6903 14.5311 11.3769 14.8445 10.9903 14.8445H4.00078C3.61418 14.8445 3.30078 14.5311 3.30078 14.1445V10.4556ZM4.70078 11.1556V13.4445H10.2903V11.1556H4.70078Z\", fill: \"#242732\" }),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M3.30078 16.9112C3.30078 16.5246 3.61418 16.2112 4.00078 16.2112H10.9903C11.3769 16.2112 11.6903 16.5246 11.6903 16.9112V20.6001C11.6903 20.9867 11.3769 21.3001 10.9903 21.3001H4.00078C3.61418 21.3001 3.30078 20.9867 3.30078 20.6001V16.9112ZM4.70078 17.6112V19.9001H10.2903V17.6112H4.70078Z\", fill: \"#242732\" })))); };\nexport default SvgDynamicView;\n//# sourceMappingURL=DynamicView.js.map","import { __assign } from \"tslib\";\nimport * as React from \"react\";\nfunction SvgProjects(props) {\n return (React.createElement(\"svg\", __assign({ width: \"1em\", height: \"1em\", viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, props),\n React.createElement(\"path\", { d: \"M5.25 13.5h13V4.75h-7.367L9.15 3.5h-3.9v10z\", stroke: \"#566AE3\", strokeWidth: 1.5, strokeLinejoin: \"round\" }),\n React.createElement(\"path\", { d: \"M1.75 16.5h13V7.75H7.383L5.65 6.5h-3.9v10z\", fill: \"#E6E5FA\", stroke: \"#566AE3\", strokeWidth: 1.5, strokeLinejoin: \"round\" })));\n}\nexport default SvgProjects;\n//# sourceMappingURL=Projects.js.map","export const sizes = {\n xxSmall: 4,\n xSmall: 8,\n small: 12,\n medium: 16,\n large: 24,\n xLarge: 32,\n xxLarge: 48\n};\nexport const modalSizes = {\n small: 320,\n medium: 480,\n large: 640,\n xLarge: 720\n};\n//# sourceMappingURL=spacing.js.map","import { __makeTemplateObject } from \"tslib\";\nimport React from \"react\";\nimport { FileTypeFolderIcon, FileTypeSheetsIcon, FileTypeWorkgroupIcon, FileTypeDashboardsIcon, FileTypeReportsIcon, FavoriteIcon, FileTypeFormsIcon, LinkIcon, NullIcon, } from \"@smartsheet/lodestar-icons\";\nimport { TreeItemType } from \"../models/TreeItemType\";\nimport DynamicView from \"./icons/DynamicView\";\nimport Projects from \"./icons/Projects\";\nimport styled from \"@emotion/styled\";\nimport { sizes } from \"@smartsheet/lodestar-core\";\nexport var getIconForContainerType = function (containerType) {\n var className = \"containerTree__containerIcon\";\n switch (containerType) {\n case TreeItemType.WORKSPACE:\n return React.createElement(FileTypeWorkgroupIcon, { className: className });\n case TreeItemType.DASHBOARD:\n case TreeItemType.SIGHT:\n return React.createElement(FileTypeDashboardsIcon, { className: className });\n case TreeItemType.SHEET:\n return React.createElement(FileTypeSheetsIcon, { className: className });\n case TreeItemType.REPORT:\n return React.createElement(FileTypeReportsIcon, { className: className });\n case TreeItemType.FOLDER:\n return React.createElement(FileTypeFolderIcon, { className: className });\n case TreeItemType.FAVORITE:\n return React.createElement(FavoriteIcon, { className: className });\n case TreeItemType.WORKAPP:\n return React.createElement(FileTypeWorkgroupIcon, { className: className });\n case TreeItemType.FORM:\n return React.createElement(FileTypeFormsIcon, { className: className });\n case TreeItemType.WWW:\n // This doesn't support custom favicons yet\n return React.createElement(LinkIcon, { className: className });\n case TreeItemType.PROJECTREGISTRY:\n return React.createElement(ProjectsIconStyled, { className: className });\n case TreeItemType.DYNAMICVIEW:\n return React.createElement(DynamicViewIconStyled, { className: className });\n case TreeItemType.COLLECTION:\n case TreeItemType.COLLECTIONS:\n case TreeItemType.CONTENT:\n case TreeItemType.CONTENT_LIBRARY:\n case TreeItemType.BLUEPRINTS:\n case TreeItemType.BLUEPRINT:\n case TreeItemType.INTAKE_SHEET:\n default:\n return React.createElement(NullIcon, { className: className });\n }\n};\nvar ProjectsIconStyled = styled(Projects)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: \", \"px;\\n height: \", \"px;\\n\"], [\"\\n width: \", \"px;\\n height: \", \"px;\\n\"])), sizes.large, sizes.large);\nexport var DynamicViewIconStyled = styled(DynamicView)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: \", \"px;\\n height: \", \"px;\\n\"], [\"\\n width: \", \"px;\\n height: \", \"px;\\n\"])), sizes.large, sizes.large);\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=getIcons.js.map","import { __makeTemplateObject } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport { ArrowRightIcon, CheckIcon } from \"@smartsheet/lodestar-icons\";\nimport { colors } from \"@smartsheet/lodestar-core\";\nimport { TestId } from \"../../TestId\";\nimport { getIconForContainerType } from \"../../../Utils/getIcons\";\nvar StyledExpandButton = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n background-color: transparent;\\n border: none;\\n display: inline-block;\\n padding: 0;\\n height: 24px;\\n width: 24px;\\n :focus {\\n outline: none;\\n }\\n \", \"\\n }}\\n\"], [\"\\n background-color: transparent;\\n border: none;\\n display: inline-block;\\n padding: 0;\\n height: 24px;\\n width: 24px;\\n :focus {\\n outline: none;\\n }\\n \", \"\\n }}\\n\"])), function (_a) {\n var isExpanded = _a.isExpanded;\n if (isExpanded) {\n return \"\\n transform: rotate(90deg);\\n \";\n }\n else {\n return \"\\n transform: rotate(0deg);\\n \";\n }\n});\nexport var ContainerListItem = function (_a) {\n var treeItemData = _a.treeItemData, isSelected = _a.isSelected, isExpanded = _a.isExpanded, onExpandClick = _a.onExpandClick, isParentType = _a.isParentType, isCurrentlyFocussed = _a.isCurrentlyFocussed;\n var id = treeItemData.id, containerType = treeItemData.containerType, name = treeItemData.name;\n var itemExpand = function (event) {\n onExpandClick && onExpandClick(treeItemData, event);\n };\n return (jsx(\"div\", { css: {\n display: \"flex\",\n alignItems: \"flex-start\",\n flexDirection: \"row\",\n margin: \"3px 0\",\n minHeight: \"26px\",\n flexShrink: 0\n } },\n jsx(\"div\", { css: {\n minWidth: \"48px\",\n flex: 0,\n textAlign: \"right\"\n } },\n isSelected && (jsx(CheckIcon, { \"data-testid\": TestId.CHECK_ICON, color: colors.buttonPrimary })),\n isParentType && (jsx(StyledExpandButton, { \"aria-hidden\": \"true\", title: \"Expand button\", \"data-testid\": TestId.EXPAND_BUTTON, isExpanded: isExpanded, onClick: itemExpand },\n jsx(ArrowRightIcon, null)))),\n jsx(\"div\", { css: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"row\",\n borderRadius: \"2px\",\n alignItems: \"center\",\n width: \"auto\",\n \"&:hover\": {\n background: colors.neutralLight20\n },\n background: isCurrentlyFocussed\n ? colors.neutralLight20\n : \"none\"\n }, id: id, \"data-testid\": TestId.LIST_ITEM },\n jsx(\"div\", { css: { flex: 0, marginRight: \"10px\" } }, getIconForContainerType(containerType)),\n jsx(\"div\", { css: { flex: 1 } }, name))));\n};\nvar templateObject_1;\n//# sourceMappingURL=ContainerListItem.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from \"@emotion/styled\";\nimport React from \"react\";\nimport { TestId } from \"../../TestId\";\nvar baseColor = \"#e4e4e4\";\nvar shineColor = \"rgba(228, 228, 228, 0.5)\";\nvar gradient = \"linear-gradient(\\n 90deg,\\n \".concat(baseColor, \" 0px,\\n \").concat(shineColor, \" 40px,\\n \").concat(baseColor, \" 80px\\n);\");\nvar StyledLoadingLine = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: \", \";\\n height: 16px;\\n width: \", \";\\n border-radius: 16px;\\n\\n background-attachment: fixed;\\n background-image: \", \";\\n background-size: 200%;\\n background-position: -100px;\\n\\n animation: containerTree__shine 5s infinite ease-out;\\n\\n @keyframes containerTree__shine {\\n 0% {\\n background-position: -100px;\\n }\\n 80%,\\n 100% {\\n background-position: 100vw;\\n }\\n }\\n\"], [\"\\n margin: \", \";\\n height: 16px;\\n width: \", \";\\n border-radius: 16px;\\n\\n background-attachment: fixed;\\n background-image: \", \";\\n background-size: 200%;\\n background-position: -100px;\\n\\n animation: containerTree__shine 5s infinite ease-out;\\n\\n @keyframes containerTree__shine {\\n 0% {\\n background-position: -100px;\\n }\\n 80%,\\n 100% {\\n background-position: 100vw;\\n }\\n }\\n\"])), function (props) { return props.margin; }, function (props) { return props.width; }, gradient);\nexport var LoadingLine = function (_a) {\n var _b = _a.width, width = _b === void 0 ? \"150px\" : _b, _c = _a.margin, margin = _c === void 0 ? \"5px 0 5px 45px\" : _c;\n return (React.createElement(StyledLoadingLine, { \"data-testid\": TestId.LOADING_LINE, width: width, margin: margin }));\n};\nvar templateObject_1;\n//# sourceMappingURL=LoadingLine.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgAlertError = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M15.171 3a2 2 0 011.414.586l3.828 3.828c.376.375.587.884.587 1.414v6.343a2 2 0 01-.586 1.414L16 21H8.828a2 2 0 01-1.414-.586l-3.828-3.828A2 2 0 013 15.172V8.828a2 2 0 01.586-1.414l3.828-3.828A2 2 0 018.828 3h6.343zm-3.172 12.25l-.11.006a1 1 0 10.227.001l-.117-.007zM12 6.75a.75.75 0 00-.75.75v5l.007.102a.75.75 0 001.493-.102v-5l-.007-.102A.75.75 0 0012 6.75z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=AlertError.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgAlertError as AlertErrorMedium } from \"./medium/AlertError\";\nvar sizeMap = {\n medium: AlertErrorMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var AlertErrorIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nAlertErrorIcon.displayName = \"AlertErrorIcon\";\n//# sourceMappingURL=AlertErrorIcon.js.map","/** @jsx jsx */\nimport { jsx } from \"@emotion/core\";\nimport { AlertErrorIcon } from \"@smartsheet/lodestar-icons\";\nexport var ErrorNode = function (_a) {\n var text = _a.text;\n return (jsx(\"div\", { css: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"13px\",\n margin: \"5px 0 5px 48px\"\n } },\n jsx(AlertErrorIcon, { size: \"small\", css: { marginRight: \"5px\" } }),\n text));\n};\n//# sourceMappingURL=ErrorNode.js.map","import { __assign } from \"tslib\";\n// import { ContainerTreeList } from \"./defaults/components/ContainerTreeList\";\nimport { ContainerListItem } from \"./defaults/components/ContainerListItem\";\nimport { LoadingLine } from \"./defaults/components/LoadingLine\";\nimport { ErrorNode } from \"./defaults/components/ErrorNode\";\nexport var getComponents = function (options) {\n var components = {\n // listComponent: ContainerTreeList,\n listItemComponent: ContainerListItem,\n loadingLine: LoadingLine,\n errorNode: ErrorNode\n };\n if (options) {\n return __assign(__assign({}, components), options);\n }\n return components;\n};\n//# sourceMappingURL=getComponents.js.map","import { UniqueContainerId } from \"./UniqueContainerId\";\nvar UniqueContainerSet = /** @class */ (function () {\n function UniqueContainerSet(values) {\n var _this = this;\n this.map = new Map();\n values === null || values === void 0 ? void 0 : values.forEach(function (value) {\n var toInsert = _this.getKey(value);\n _this.map.set(toInsert.toString(), value);\n });\n }\n UniqueContainerSet.prototype.add = function (value) {\n var toInsert = this.getKey(value);\n this.map.set(toInsert.toString(), value);\n return this;\n };\n UniqueContainerSet.prototype.addAll = function (values) {\n var _this = this;\n values.forEach(function (container) {\n _this.add(container);\n });\n return this;\n };\n UniqueContainerSet.prototype.clear = function () {\n this.map.clear();\n };\n UniqueContainerSet.prototype.size = function () {\n return this.map.size;\n };\n UniqueContainerSet.prototype[\"delete\"] = function (value) {\n var toDelete = this.getKey(value);\n return this.map[\"delete\"](toDelete.toString());\n };\n UniqueContainerSet.prototype.forEach = function (callbackfn, thisArg) {\n var _this = this;\n this.map.forEach(function (value, key, set) {\n callbackfn.apply(thisArg, [\n value,\n UniqueContainerId.fromString(key),\n _this,\n ]);\n });\n };\n UniqueContainerSet.prototype.values = function () {\n return this.map.values();\n };\n UniqueContainerSet.prototype.get = function (key) {\n var accessKey = this.getKey(key);\n return this.map.get(accessKey.toString());\n };\n UniqueContainerSet.prototype.has = function (value) {\n var toInsert = this.getKey(value);\n return this.map.has(toInsert.toString());\n };\n UniqueContainerSet.prototype.getKey = function (value) {\n if (UniqueContainerSet.isContainerTreeData(value)) {\n return new UniqueContainerId(value.id, value.containerType);\n }\n if (!(value instanceof UniqueContainerId)) {\n return UniqueContainerId.fromObject(value);\n }\n return value;\n };\n UniqueContainerSet.isContainerTreeData = function (data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return data.containerType !== undefined;\n };\n return UniqueContainerSet;\n}());\nexport { UniqueContainerSet };\n//# sourceMappingURL=UniqueContainerSet.js.map","/**\n * Default value to indent the child of tree item\n */\nexport var DEFAULT_TREE_CHILD_INDENT = 24;\n/**\n * This is an estimated height for each list item\n * We are calculating the height after render dynamically,\n * providing an estimated height is helpful based on react-virtual documentation\n */\nexport var ESTIMATED_LIST_ITEM_HEIGHT = 32;\n/**\n * Number of items that need to be loaded in DOM above and below the currently\n * visible items\n */\nexport var OVER_SCAN_SIZE = 10;\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport { jsx } from \"@emotion/core\";\nimport { useState, useMemo, useEffect } from \"react\";\nimport { ContainerTreeBase } from \"..\";\nimport { getOrderedItems, getFirstItemToSetFocus, } from \"../Utils/ContainerUtil\";\nimport { ContainerRefs } from \"../Utils/ContainerRefs\";\nimport { getComponents } from \"./getComponents\";\nimport { UniqueContainerSet } from \"../UniqueContainerId/UniqueContainerSet\";\nimport { UniqueContainerId } from \"../UniqueContainerId/UniqueContainerId\";\nimport { TestId } from \"./TestId\";\nimport { DEFAULT_TREE_CHILD_INDENT } from \"./constants\";\nexport var ContainerTree = function (_a) {\n var data = _a.data, componentOverrides = _a.componentOverrides, onClick = _a.onClick, onContextMenu = _a.onContextMenu, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, onExpandClick = _a.onExpandClick, onCursorMove = _a.onCursorMove, onTabOut = _a.onTabOut, onShiftTabOut = _a.onShiftTabOut, onEnter = _a.onEnter, onSpace = _a.onSpace, overridingSelectedSet = _a.selectedSet, initialFocusItem = _a.initialFocusItem, overridingExpandSet = _a.expandedSet, overScanSize = _a.overScanSize, _b = _a.indentPerTreeLevel, indentPerTreeLevel = _b === void 0 ? DEFAULT_TREE_CHILD_INDENT : _b;\n var _c = useState(new UniqueContainerSet()), expandedSet = _c[0], setExpandedSet = _c[1];\n var selectedSet = overridingSelectedSet || new UniqueContainerSet();\n var orderedItems = useMemo(function () {\n return getOrderedItems(data, overridingExpandSet || expandedSet);\n }, [data, overridingExpandSet, expandedSet]);\n var refItems = useMemo(function () {\n return new ContainerRefs(data);\n }, [data]);\n var _d = useState(getFirstItemToSetFocus(orderedItems, selectedSet, initialFocusItem)), currentlyFocussedItemIndex = _d[0], setCurrentlyFocussedItemIndex = _d[1];\n useEffect(function () {\n setCurrentlyFocussedItemIndex(getFirstItemToSetFocus(orderedItems, selectedSet, initialFocusItem));\n }, [initialFocusItem]);\n var toggleExpand = function (containerData, event) {\n event.stopPropagation();\n if (onExpandClick) {\n onExpandClick(containerData, event);\n }\n else {\n setExpandedSet(function (prevState) {\n var copySet = new UniqueContainerSet(prevState);\n if (prevState.has(containerData)) {\n copySet[\"delete\"](containerData);\n }\n else {\n copySet.add(containerData);\n }\n return copySet;\n });\n }\n };\n var handleClick = function (containerData, event) {\n if (onClick) {\n onClick(containerData, event);\n }\n else {\n toggleExpand(containerData, event);\n }\n };\n var overrides = getComponents(componentOverrides);\n var handleKeyDown = function (event) {\n var currentlyFocussedItemData = orderedItems[currentlyFocussedItemIndex];\n switch (event.key) {\n case \"Tab\":\n /**\n * We should not prevent the default tab behavior, as we have implemented\n * roving tab index to manage focus within tree,\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex\n */\n if (event.shiftKey) {\n if (onShiftTabOut) {\n onShiftTabOut();\n }\n }\n else if (onTabOut) {\n onTabOut();\n }\n break;\n case \"Enter\":\n if (onEnter) {\n event.preventDefault();\n onEnter(currentlyFocussedItemData, event);\n }\n break;\n case \" \":\n if (onSpace) {\n event.preventDefault();\n onSpace(currentlyFocussedItemData, event);\n }\n break;\n case \"ArrowLeft\":\n event.preventDefault();\n // Left pressed - if we are on a folder or worksheet close that folder/worksheet\n if (onExpandClick) {\n onExpandClick(currentlyFocussedItemData, event);\n }\n else {\n setExpandedSet(function (prevState) {\n var copySet = new UniqueContainerSet(prevState);\n if (prevState.has(currentlyFocussedItemData)) {\n copySet[\"delete\"](currentlyFocussedItemData);\n }\n return copySet;\n });\n }\n break;\n case \"ArrowRight\":\n event.preventDefault();\n // Right pressed - if we are on a folder or worksheet open that folder/worksheet\n if (onExpandClick) {\n onExpandClick(currentlyFocussedItemData, event);\n }\n else {\n setExpandedSet(function (prevState) {\n var copySet = new UniqueContainerSet(prevState);\n if (!prevState.has(currentlyFocussedItemData)) {\n copySet.add(currentlyFocussedItemData);\n }\n return copySet;\n });\n }\n break;\n case \"ArrowUp\":\n event.preventDefault();\n // Up pressed - move cursor to previous container, or to parent if none is available, or to null\n if (currentlyFocussedItemIndex > 0) {\n setFocusByIndex(currentlyFocussedItemIndex - 1, event);\n }\n break;\n case \"ArrowDown\":\n event.preventDefault();\n // Down pressed - move cursor to next container, or to the container after the parent, or to null\n if (currentlyFocussedItemIndex + 1 < orderedItems.length) {\n setFocusByIndex(currentlyFocussedItemIndex + 1, event);\n }\n }\n };\n var setFocusByIndex = function (indexOfItemToFocus, event) {\n updateCursor(indexOfItemToFocus, event);\n var currentlyFocussedItemData = orderedItems[indexOfItemToFocus];\n if (currentlyFocussedItemData === null || currentlyFocussedItemData === void 0 ? void 0 : currentlyFocussedItemData.id) {\n var activeRef = refItems.get(UniqueContainerId.fromContainerTreeData(currentlyFocussedItemData));\n /**\n * In the first time rendering when initialFocusItem is passed\n * the passed item may be below the the current scroll view and may not be\n * available in the DOM due to virtualization.\n * But for future scenarios when we are using keyboard to move to items 1 up or down,\n * This is helpful to set focus on the li list items\n * */\n if (activeRef === null || activeRef === void 0 ? void 0 : activeRef.current) {\n activeRef.current.focus();\n }\n }\n };\n var updateCursor = function (indexOfNewlyFocussedItem, event) {\n setCurrentlyFocussedItemIndex(indexOfNewlyFocussedItem);\n if (onCursorMove && event) {\n onCursorMove(orderedItems[indexOfNewlyFocussedItem], event);\n }\n };\n return (jsx(\"div\", { \"data-testid\": TestId.OUTER_DIV, onKeyDown: handleKeyDown, css: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\"\n } },\n jsx(ContainerTreeBase, { data: orderedItems, onClick: handleClick, onContextMenu: onContextMenu, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onExpandClick: toggleExpand, expandedSet: overridingExpandSet || expandedSet, componentOverrides: overrides, selectedSet: selectedSet, lastFocussedItemIndex: currentlyFocussedItemIndex, refItems: refItems, updateCursor: setFocusByIndex, setFocus: setFocusByIndex, indentPerTreeLevel: indentPerTreeLevel, overScanSize: overScanSize })));\n};\n//# sourceMappingURL=ContainerTree.js.map","import React from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar props = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nfunction useRect(nodeRef, initialRect) {\n if (initialRect === void 0) {\n initialRect = {\n width: 0,\n height: 0\n };\n }\n\n var _React$useState = React.useState(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var _React$useReducer = React.useReducer(rectReducer, initialRect),\n rect = _React$useReducer[0],\n dispatch = _React$useReducer[1];\n\n var initialRectSet = React.useRef(false);\n useIsomorphicLayoutEffect(function () {\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n if (element && !initialRectSet.current) {\n initialRectSet.current = true;\n\n var _rect = element.getBoundingClientRect();\n\n dispatch({\n rect: _rect\n });\n }\n }, [element]);\n React.useEffect(function () {\n if (!element) {\n return;\n }\n\n var observer = observeRect(element, function (rect) {\n dispatch({\n rect: rect\n });\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [element]);\n return rect;\n}\n\nfunction rectReducer(state, action) {\n var rect = action.rect;\n\n if (state.height !== rect.height || state.width !== rect.width) {\n return rect;\n }\n\n return state;\n}\n\nvar defaultEstimateSize = function defaultEstimateSize() {\n return 50;\n};\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\n\nvar defaultMeasureSize = function defaultMeasureSize(el, horizontal) {\n var key = horizontal ? 'offsetWidth' : 'offsetHeight';\n return el[key];\n};\n\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.start - range.overscan, 0);\n var end = Math.min(range.end + range.overscan, range.size - 1);\n var arr = [];\n\n for (var i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\nfunction useVirtual(_ref) {\n var _measurements;\n\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 0 : _ref$size,\n _ref$estimateSize = _ref.estimateSize,\n estimateSize = _ref$estimateSize === void 0 ? defaultEstimateSize : _ref$estimateSize,\n _ref$overscan = _ref.overscan,\n overscan = _ref$overscan === void 0 ? 1 : _ref$overscan,\n _ref$paddingStart = _ref.paddingStart,\n paddingStart = _ref$paddingStart === void 0 ? 0 : _ref$paddingStart,\n _ref$paddingEnd = _ref.paddingEnd,\n paddingEnd = _ref$paddingEnd === void 0 ? 0 : _ref$paddingEnd,\n parentRef = _ref.parentRef,\n horizontal = _ref.horizontal,\n scrollToFn = _ref.scrollToFn,\n useObserver = _ref.useObserver,\n initialRect = _ref.initialRect,\n onScrollElement = _ref.onScrollElement,\n scrollOffsetFn = _ref.scrollOffsetFn,\n _ref$keyExtractor = _ref.keyExtractor,\n keyExtractor = _ref$keyExtractor === void 0 ? defaultKeyExtractor : _ref$keyExtractor,\n _ref$measureSize = _ref.measureSize,\n measureSize = _ref$measureSize === void 0 ? defaultMeasureSize : _ref$measureSize,\n _ref$rangeExtractor = _ref.rangeExtractor,\n rangeExtractor = _ref$rangeExtractor === void 0 ? defaultRangeExtractor : _ref$rangeExtractor;\n var sizeKey = horizontal ? 'width' : 'height';\n var scrollKey = horizontal ? 'scrollLeft' : 'scrollTop';\n var latestRef = React.useRef({\n scrollOffset: 0,\n measurements: []\n });\n\n var _React$useState = React.useState(0),\n scrollOffset = _React$useState[0],\n setScrollOffset = _React$useState[1];\n\n latestRef.current.scrollOffset = scrollOffset;\n var useMeasureParent = useObserver || useRect;\n\n var _useMeasureParent = useMeasureParent(parentRef, initialRect),\n outerSize = _useMeasureParent[sizeKey];\n\n latestRef.current.outerSize = outerSize;\n var defaultScrollToFn = React.useCallback(function (offset) {\n if (parentRef.current) {\n parentRef.current[scrollKey] = offset;\n }\n }, [parentRef, scrollKey]);\n var resolvedScrollToFn = scrollToFn || defaultScrollToFn;\n scrollToFn = React.useCallback(function (offset) {\n resolvedScrollToFn(offset, defaultScrollToFn);\n }, [defaultScrollToFn, resolvedScrollToFn]);\n\n var _React$useState2 = React.useState({}),\n measuredCache = _React$useState2[0],\n setMeasuredCache = _React$useState2[1];\n\n var measure = React.useCallback(function () {\n return setMeasuredCache({});\n }, []);\n var pendingMeasuredCacheIndexesRef = React.useRef([]);\n var measurements = React.useMemo(function () {\n var min = pendingMeasuredCacheIndexesRef.current.length > 0 ? Math.min.apply(Math, pendingMeasuredCacheIndexesRef.current) : 0;\n pendingMeasuredCacheIndexesRef.current = [];\n var measurements = latestRef.current.measurements.slice(0, min);\n\n for (var i = min; i < size; i++) {\n var key = keyExtractor(i);\n var measuredSize = measuredCache[key];\n\n var _start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n\n var _size = typeof measuredSize === 'number' ? measuredSize : estimateSize(i);\n\n var _end = _start + _size;\n\n measurements[i] = {\n index: i,\n start: _start,\n size: _size,\n end: _end,\n key: key\n };\n }\n\n return measurements;\n }, [estimateSize, measuredCache, paddingStart, size, keyExtractor]);\n var totalSize = (((_measurements = measurements[size - 1]) == null ? void 0 : _measurements.end) || paddingStart) + paddingEnd;\n latestRef.current.measurements = measurements;\n latestRef.current.totalSize = totalSize;\n var element = onScrollElement ? onScrollElement.current : parentRef.current;\n var scrollOffsetFnRef = React.useRef(scrollOffsetFn);\n scrollOffsetFnRef.current = scrollOffsetFn;\n useIsomorphicLayoutEffect(function () {\n if (!element) {\n setScrollOffset(0);\n return;\n }\n\n var onScroll = function onScroll(event) {\n var offset = scrollOffsetFnRef.current ? scrollOffsetFnRef.current(event) : element[scrollKey];\n setScrollOffset(offset);\n };\n\n onScroll();\n element.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', onScroll);\n };\n }, [element, scrollKey]);\n\n var _calculateRange = calculateRange(latestRef.current),\n start = _calculateRange.start,\n end = _calculateRange.end;\n\n var indexes = React.useMemo(function () {\n return rangeExtractor({\n start: start,\n end: end,\n overscan: overscan,\n size: measurements.length\n });\n }, [start, end, overscan, measurements.length, rangeExtractor]);\n var measureSizeRef = React.useRef(measureSize);\n measureSizeRef.current = measureSize;\n var virtualItems = React.useMemo(function () {\n var virtualItems = [];\n\n var _loop = function _loop(k, len) {\n var i = indexes[k];\n var measurement = measurements[i];\n\n var item = _extends(_extends({}, measurement), {}, {\n measureRef: function measureRef(el) {\n if (el) {\n var measuredSize = measureSizeRef.current(el, horizontal);\n\n if (measuredSize !== item.size) {\n var _scrollOffset = latestRef.current.scrollOffset;\n\n if (item.start < _scrollOffset) {\n defaultScrollToFn(_scrollOffset + (measuredSize - item.size));\n }\n\n pendingMeasuredCacheIndexesRef.current.push(i);\n setMeasuredCache(function (old) {\n var _extends2;\n\n return _extends(_extends({}, old), {}, (_extends2 = {}, _extends2[item.key] = measuredSize, _extends2));\n });\n }\n }\n }\n });\n\n virtualItems.push(item);\n };\n\n for (var k = 0, len = indexes.length; k < len; k++) {\n _loop(k);\n }\n\n return virtualItems;\n }, [indexes, defaultScrollToFn, horizontal, measurements]);\n var mountedRef = React.useRef(false);\n useIsomorphicLayoutEffect(function () {\n if (mountedRef.current) {\n setMeasuredCache({});\n }\n\n mountedRef.current = true;\n }, [estimateSize]);\n var scrollToOffset = React.useCallback(function (toOffset, _temp) {\n var _ref2 = _temp === void 0 ? {} : _temp,\n _ref2$align = _ref2.align,\n align = _ref2$align === void 0 ? 'start' : _ref2$align;\n\n var _latestRef$current = latestRef.current,\n scrollOffset = _latestRef$current.scrollOffset,\n outerSize = _latestRef$current.outerSize;\n\n if (align === 'auto') {\n if (toOffset <= scrollOffset) {\n align = 'start';\n } else if (toOffset >= scrollOffset + outerSize) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n if (align === 'start') {\n scrollToFn(toOffset);\n } else if (align === 'end') {\n scrollToFn(toOffset - outerSize);\n } else if (align === 'center') {\n scrollToFn(toOffset - outerSize / 2);\n }\n }, [scrollToFn]);\n var tryScrollToIndex = React.useCallback(function (index, _temp2) {\n var _ref3 = _temp2 === void 0 ? {} : _temp2,\n _ref3$align = _ref3.align,\n align = _ref3$align === void 0 ? 'auto' : _ref3$align,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"align\"]);\n\n var _latestRef$current2 = latestRef.current,\n measurements = _latestRef$current2.measurements,\n scrollOffset = _latestRef$current2.scrollOffset,\n outerSize = _latestRef$current2.outerSize;\n var measurement = measurements[Math.max(0, Math.min(index, size - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= scrollOffset + outerSize) {\n align = 'end';\n } else if (measurement.start <= scrollOffset) {\n align = 'start';\n } else {\n return;\n }\n }\n\n var toOffset = align === 'center' ? measurement.start + measurement.size / 2 : align === 'end' ? measurement.end : measurement.start;\n scrollToOffset(toOffset, _extends({\n align: align\n }, rest));\n }, [scrollToOffset, size]);\n var scrollToIndex = React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // We do a double request here because of\n // dynamic sizes which can cause offset shift\n // and end up in the wrong spot. Unfortunately,\n // we can't know about those dynamic sizes until\n // we try and render them. So double down!\n tryScrollToIndex.apply(void 0, args);\n requestAnimationFrame(function () {\n tryScrollToIndex.apply(void 0, args);\n });\n }, [tryScrollToIndex]);\n return {\n virtualItems: virtualItems,\n totalSize: totalSize,\n scrollToOffset: scrollToOffset,\n scrollToIndex: scrollToIndex,\n measure: measure\n };\n}\n\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref4) {\n var measurements = _ref4.measurements,\n outerSize = _ref4.outerSize,\n scrollOffset = _ref4.scrollOffset;\n var size = measurements.length - 1;\n\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n\n var start = findNearestBinarySearch(0, size, getOffset, scrollOffset);\n var end = start;\n\n while (end < size && measurements[end].end < scrollOffset + outerSize) {\n end++;\n }\n\n return {\n start: start,\n end: end\n };\n}\n\nexport { defaultRangeExtractor, useVirtual };\n//# sourceMappingURL=react-virtual.mjs.map\n","import { useEffect, useMemo, useState } from \"react\";\nimport { callAllHandlers } from \"../../util/callAllHandlers\";\n/**\n * Provides a css-in-js alternative to using the native :active selector.\n * Works on non-button elements!\n *\n * Spread all the resulting handlers onto the target element. Make sure to pass\n * along any custom handlers into this function so they are composed together.\n */\nexport const useActive = function () {\n let {\n onMouseEnter: providedOnMouseEnter,\n onMouseDown: providedOnMouseDown,\n onMouseLeave: providedOnMouseLeave\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isMouseDown, setIsMouseDown] = useState(false);\n const [isMouseWithin, setIsMouseWithin] = useState(false);\n const onMouseDown = useMemo(() => callAllHandlers(providedOnMouseDown, () => {\n setIsMouseDown(true);\n }), [providedOnMouseDown]);\n const onMouseEnter = useMemo(() => callAllHandlers(providedOnMouseEnter, () => {\n setIsMouseWithin(true);\n }), [providedOnMouseEnter]);\n const onMouseLeave = useMemo(() => callAllHandlers(providedOnMouseLeave, () => {\n setIsMouseWithin(false);\n }), [providedOnMouseLeave]);\n\n // Can't expect the mouseup to be fired directly on the element.\n // The user could mouseleave and then mouseup.\n useEffect(() => {\n const onMouseUp = () => {\n setIsMouseDown(false);\n };\n document.addEventListener(\"mouseup\", onMouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, []);\n return {\n isActive: isMouseDown && isMouseWithin,\n onMouseDown,\n onMouseEnter,\n onMouseLeave\n };\n};\n//# sourceMappingURL=useActive.js.map","import { useRef, useEffect } from \"react\";\n\n/**\n * Allows a ref forwarding component to optionally pass a ref in and returns a\n * ref every time. Using this hook allows subsequent code to always have a\n * ref to operate against.\n *\n * Ref mutations to the returned ref will be propagated to the passed in ref.\n *\n * I wanted to use @react-hookz/web for this, but the types don't handle null well and\n * only want to play nicely with MutableRefs. This is fine since that's the type\n * we'll actually have at runtime but is a bad dev xp since React.createRef and useRef\n * return a RefObject (immutable) sometimes.\n *\n * See more here: https://github.com/streamich/@react-hookz/web/issues/743\n * This code is adapted from a comment in that thread.\n */\nexport function useEnsuredForwardedRef(forwardedRef) {\n const ensuredRef = useRef(null);\n\n // Sync the passed in ref w/ the local one when it changes, accounting for functional refs as well.\n useEffect(() => {\n if (!forwardedRef) {\n return;\n } else if (typeof forwardedRef === \"function\") {\n // TODO if this ref's element is mounted after a tick, this will ALWAYS be null!\n forwardedRef(ensuredRef.current);\n } else {\n forwardedRef.current = ensuredRef.current;\n }\n }, [forwardedRef]);\n return ensuredRef;\n}\n//# sourceMappingURL=useEnsuredForwardedRef.js.map","import { useMemo } from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\n/**\n * Combines 1+ refs (functional or refobject) into a single functional ref.\n * Make sure you memoize the refs if they are callback functions or you'll get extra renders!\n */\nexport function useForkRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useMemo(() => {\n if (refs.every(ref => !ref)) {\n return null;\n }\n return refValue => {\n refs.forEach(r => setRef(r, refValue));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n//# sourceMappingURL=useForkRef.js.map","import { useRef } from \"react\";\n\n/**\n * A \"live\" ref is a container for a value that might or might not change each render\n * but will always be up-to-date with the latest value.\n *\n * This is useful when a value should be a part of an effect, memoization, or callback but\n * should NOT cause the effect, memoization, or callback to reevaluate.\n *\n * One reason you might do this is in context value memoization where you want to more tightly\n * control when a React context's value is re-memoized based on props passed to that value's\n * creator.\n */\nexport function useLiveRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n//# sourceMappingURL=useLiveRef.js.map","import { useIsMounted, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useLiveRef } from \"../useLiveRef/useLiveRef\";\n/**\n * Provides a ref to attach to an element. Will also return `isScrolling` = true if the element\n * has scrolled within the last `checkDelay` milliseconds.\n *\n * This was loosely based on useScrolling from https://github.com/streamich/react-use but has been\n * optimized to cut out a few extra renders.\n */\nexport const useIsScrolling = function () {\n let {\n checkDelay = 150\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isScrolling, setIsScrolling] = useState(false);\n const latestIsScrollingRef = useLiveRef(isScrolling);\n const elementRef = useRef(null);\n const isMounted = useIsMounted();\n\n // Tracks the latest timeout id.\n const latestTimerRef = useRef(0);\n const handleScrollEnd = useCallback(() => {\n // Avoid re-renders that don't do anything...\n if (isMounted() && latestIsScrollingRef.current) {\n setIsScrolling(false);\n }\n }, [isMounted, latestIsScrollingRef]);\n const handleScroll = useCallback(() => {\n // This check avoids re-renders on React 16 which doesn't no-op state setters that are\n // equivalent.\n if (!latestIsScrollingRef.current) {\n setIsScrolling(true);\n }\n clearTimeout(latestTimerRef.current);\n latestTimerRef.current = window.setTimeout(handleScrollEnd, checkDelay);\n }, [checkDelay, handleScrollEnd, latestIsScrollingRef]);\n const removeScrollHandler = useCallback(element => {\n element.removeEventListener(\"scroll\", handleScroll);\n setIsScrolling(false);\n }, [handleScroll]);\n const attachScrollHandler = useCallback(element => {\n element.addEventListener(\"scroll\", handleScroll, {\n passive: true\n });\n }, [handleScroll]);\n const previousCheckDelay = usePrevious(checkDelay);\n useEffect(() => {\n // If our delay changed and we're in the middle of scrolling, restart the timer w/ the new\n // delay.\n if (previousCheckDelay && checkDelay !== previousCheckDelay && latestIsScrollingRef.current) {\n handleScroll();\n }\n }, [checkDelay, handleScroll, latestIsScrollingRef, previousCheckDelay]);\n return {\n isScrolling,\n ref: useCallback(element => {\n if (element) {\n elementRef.current = element;\n attachScrollHandler(element);\n } else if (elementRef.current) {\n // This means the hook is unmounting.\n removeScrollHandler(elementRef.current);\n handleScrollEnd();\n clearTimeout(latestTimerRef.current);\n }\n }, [attachScrollHandler, handleScrollEnd, removeScrollHandler])\n };\n};\n//# sourceMappingURL=useIsScrolling.js.map","import { useIsMounted, useUnmountEffect } from \"@react-hookz/web\";\nimport { useRef, useCallback } from \"react\";\nexport const useRequestAnimationFrame = () => {\n const rafIdRef = useRef(0);\n const cancel = useCallback(() => {\n cancelAnimationFrame(rafIdRef.current);\n }, []);\n const isMounted = useIsMounted();\n const raf = useCallback(callback => {\n cancel();\n rafIdRef.current = requestAnimationFrame(() => {\n if (isMounted()) {\n callback();\n }\n });\n }, [isMounted, cancel]);\n useUnmountEffect(cancel);\n return {\n cancel,\n raf\n };\n};\n//# sourceMappingURL=useRequestAnimationFrame.js.map","import { useDebouncedCallback, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef } from \"react\";\n/**\n * Wraps common functionality up around ResizeObservers.\n */\nexport function useResizeObserver(onResize) {\n let {\n debounceMaxMs = undefined,\n debounceMs = 0,\n enabled = true\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const observerRef = useRef(null);\n const observedElement = useRef(null);\n const debounceEnabled = debounceMs > 0;\n const debouncedOnResize = useDebouncedCallback(onResize, [onResize], debounceMs, debounceMaxMs);\n const callback = debounceEnabled ? debouncedOnResize : onResize;\n const fnRef = useCallback(element => {\n observedElement.current = element;\n if (observerRef.current) {\n // If we already had a ResizeObserver, clean up and replace it.\n observerRef.current.disconnect();\n observerRef.current = null;\n }\n if (window.ResizeObserver && element && enabled) {\n observerRef.current = new ResizeObserver(function () {\n callback(...arguments);\n });\n observerRef.current.observe(element);\n }\n }, [callback, enabled]);\n\n // If enabled changes, turn on/off the ResizeObserver.\n const previousEnabled = usePrevious(enabled);\n useEffect(() => {\n if (observerRef.current && observedElement.current) {\n if (!previousEnabled && enabled) {\n observerRef.current.observe(observedElement.current);\n } else if (previousEnabled && !enabled) {\n observerRef.current.unobserve(observedElement.current);\n }\n }\n }, [enabled, previousEnabled]);\n\n // Turn off the observer when we unmount.\n useEffect(() => {\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, []);\n return {\n ref: fnRef\n };\n}\n//# sourceMappingURL=useResizeObserver.js.map","import { useCallback } from \"react\";\n\n/**\n * When an IME is used to input text, events fired will have isComposing set to true. When this is\n * the case, we do not want to allow Enter or Escape to be handled by the onKeyDown handler.\n * Generally though, we shouldn't handle ANY keydown events when isComposing is true so this utility\n * helps us block them when necessary.\n *\n * You should wrap your onKeyDown handlers for input fields with this function to ensure that it is\n * not called when isComposing is true.\n *\n * 1) the returned function is wrapped in useCallback for memoization if necessary.\n * 2) the keydown event handler will not be called if isComposing is true.\n *\n * Example:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * });\n *\n * return (\n * \n * )\n * ```\n *\n * If necessary, wrap your own handler in useCallback to ensure memoization of the resulting\n * function:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler(useCallback((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * }, []));\n * ```\n */\nexport const useIsComposingHandler = handler => {\n return useCallback(e => {\n if (e.nativeEvent.isComposing) {\n return;\n } else {\n handler(e);\n }\n }, [handler]);\n};\n//# sourceMappingURL=useIsComposingHandler.js.map","const FOCUSABLE_ELEMENTS = [\"a[href]\", \"area[href]\", \"input:not([disabled]):not([hidden])\", \"select:not([disabled])\", \"textarea:not([disabled])\", \"button:not([disabled])\", \"iframe\", \"object\", \"embed\", \"[tabindex]:not([tabindex='-1'])\"].join(\",\");\n\n/**\n * Gets keyboard-focusable elements within the Menu. This only looks for\n * buttons and anchors. Other elements aren't supported in the menu.\n *\n * See https://stackoverflow.com/questions/7668525/is-there-a-jquery-selector-to-get-all-elements-that-can-get-focus\n */\nexport function getKeyboardFocusableElementsIn(element) {\n return Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS));\n}\nexport function isFocusableElement(element) {\n return element.matches(FOCUSABLE_ELEMENTS);\n}\n\n/**\n * Checks the element and its ancestors, up until @param within exclusive, to see if the element or\n * any of those ancestors are focusable.\n */\nexport function isWithinFocusableElement(element, withinElement) {\n let currentElement = element;\n while (currentElement && currentElement !== withinElement && currentElement !== document.body) {\n if (isFocusableElement(currentElement)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\n//# sourceMappingURL=focusUtil.js.map","/**\n * Returns a randomly-generated id w/ an optional prefix.\n *\n * Note: if you're using jest snapshots, make sure to memoize this id!\n *\n * const id = useMemo(() => genId(\"some-prefix\"), []);\n */\nexport const genId = (() => {\n return prefix => {\n const randomString = (Math.random() + 1).toString(36).substring(2, 8);\n return `lodestar-utils-${prefix ? prefix + \"-\" : \"\"}gen-id-${randomString}`;\n };\n})();\n//# sourceMappingURL=genId.js.map","import * as React from \"react\";\nconst isBrowser = typeof window !== \"undefined\";\nconst globalObject = isBrowser ? window : global;\nconst SYMBOL_NAMESPACE = \"lodestar-global-context:\";\n\n/**\n * Wrapper around @see React.createContext that implements context registration\n * in the globalThis object to avoid duplicate contexts. Duplicate contexts can\n * occur when there are multiple instances of lodestar-core running at the same\n * time.\n *\n * Example:\n *\n * - package A exposes a custom MenuItem: \"CustomMenuItem\"\n * - package B uses the Menu and includes CustomMenuItem in its list of items.\n * - depending on how the dependencies are resolved for A and B, there could\n * be 2 versions of lodestar-core imported.\n *\n * This can cause useContext() calls to return different instances of the Menu\n * context objects which means they won't work together. This utility will allow\n * the first lodestar-core instance to publish its context on the `window` and let\n * any future lodestar-core instances to use the same instance.\n *\n * Note: React does not share contexts across React versions. For example, React v16.1 and v16.2 will have their own\n * context space if both versions are running in the same browser. This function will bake the React version\n * into the global symbol name to prevent the wrong react version context being returned to the caller.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol}\n *\n * @param defaultValue - @see React.createContext\n * @param contextName - name of the context\n * @returns @see React.createContext\n */\nexport const createContext = (defaultValue, contextName) => {\n // Symbol guaranteed to be unique for the entire runtime\n const sym = Symbol.for(`${SYMBOL_NAMESPACE}${React.version}:${contextName}`);\n const globalSymbols = Object.getOwnPropertySymbols(globalObject);\n if (!globalSymbols.includes(sym)) {\n const context = /*#__PURE__*/React.createContext(defaultValue);\n context.displayName = contextName;\n globalObject[sym] = {\n context\n };\n }\n return globalObject[sym]?.context;\n};\n//# sourceMappingURL=ContextSelector.js.map","export { useActive } from \"./hooks/useActive/useActive\";\nexport { useEnsuredForwardedRef } from \"./hooks/useEnsuredForwardedRef/useEnsuredForwardedRef\";\nexport { useForkRef } from \"./hooks/useForkRef/useForkRef\";\nexport { useLiveRef } from \"./hooks/useLiveRef/useLiveRef\";\nexport { useIsScrolling } from \"./hooks/useIsScrolling/useIsScrolling\";\nexport { useRequestAnimationFrame } from \"./hooks/useRequestAnimationFrame/useRequestAnimationFrame\";\nexport { useResizeObserver } from \"./hooks/useResizeObserver/useResizeObserver\";\nexport * from \"./util/callAllHandlers\";\nexport * from \"./util/isComposing/createIsComposingHandler\";\nexport * from \"./util/isComposing/useIsComposingHandler\";\nexport * from \"./util/contains\";\nexport * from \"./util/focusUtil\";\nexport * from \"./util/genId\";\nexport * from \"./util/getClientId\";\nexport * from \"./util/warnOnce\";\nexport { createContext } from \"./globalContextSelector/ContextSelector\";\n//# sourceMappingURL=index.js.map","/** @jsx jsx */\nimport { jsx } from \"@emotion/react\";\nimport { useRef, useLayoutEffect } from \"react\";\nimport { TestId } from \"./TestId\";\nimport { useForkRef } from \"@smartsheet/lodestar-utils\";\nexport var VirtualizedListItem = function (_a) {\n var _b;\n var children = _a.children, treeItemData = _a.treeItemData, indentPerTreeLevel = _a.indentPerTreeLevel, virtualRow = _a.virtualRow, onItemClick = _a.onItemClick, onItemContextMenu = _a.onItemContextMenu, onItemMouseEnter = _a.onItemMouseEnter, onItemMouseLeave = _a.onItemMouseLeave, isExpanded = _a.isExpanded, isSelected = _a.isSelected, listItemRef = _a.listItemRef, tabIndex = _a.tabIndex, onItemFocus = _a.onItemFocus;\n var virtualizedListElementRef = useRef(null);\n var updateDimensions = function () {\n virtualRow.measureRef(virtualizedListElementRef.current);\n };\n /**\n * Changes to the dimensions of the VirtualizedListItemContainer are reported to the VirtualizedList component. This is required\n * to handle scenarios that cause the list item height to increase/decrease like:\n * - Folder expand/collapse\n */\n useLayoutEffect(function () {\n // This call is required for the initial render of the list item to appropriately adjust the height. List items do\n // not have a fixed height. Their default height is set to ESTIMATED_LIST_ITEM_SIZE which is set in the parent component.\n // After initial render the dynamic height can then be used instead of ESTIMATED_LIST_ITEM_SIZE\n updateDimensions();\n });\n var itemClick = function (event) {\n event.stopPropagation();\n onItemClick(treeItemData, event);\n };\n var itemRightClick = function (event) {\n event.stopPropagation();\n onItemContextMenu && onItemContextMenu(treeItemData, event);\n };\n var itemMouseEnter = function (event) {\n onItemMouseEnter && onItemMouseEnter(treeItemData, event);\n };\n var itemMouseLeave = function (event) {\n onItemMouseLeave && onItemMouseLeave(treeItemData, event);\n };\n var leftIndentBasedOnLevel = indentPerTreeLevel * ((_b = treeItemData.level) !== null && _b !== void 0 ? _b : 0);\n /**\n * Combine the 2 refs, 1 for virtualization and other to manage the focus\n */\n var combinedRef = listItemRef\n ? useForkRef(virtualizedListElementRef, listItemRef)\n : virtualizedListElementRef;\n var handleOnFocus = function (event) {\n onItemFocus(virtualRow.index, event);\n };\n return (jsx(\"li\", { css: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n listStyleType: \"none\",\n position: \"absolute\",\n top: 0,\n left: leftIndentBasedOnLevel,\n width: \"calc(100% - \".concat(leftIndentBasedOnLevel, \"px)\"),\n transform: \"translateY(\".concat(virtualRow.start, \"px)\"),\n \"&:focus\": {\n outline: \"none\"\n }\n }, \"data-testid\": TestId.LI_ELEMENT, ref: combinedRef, role: \"row\", \"aria-expanded\": isExpanded, \"aria-selected\": isSelected, \"aria-current\": isSelected ? \"page\" : false, \"aria-level\": treeItemData.level, \"aria-setsize\": treeItemData.sizeOfSet, \"aria-posinset\": treeItemData.positionInSet, onMouseEnter: itemMouseEnter, onMouseLeave: itemMouseLeave, onClick: itemClick, onFocus: handleOnFocus, onContextMenu: itemRightClick, tabIndex: tabIndex }, children));\n};\n//# sourceMappingURL=VirtualizedListItem.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from \"@emotion/react\";\nimport { TestId } from \"./TestId\";\nexport var ContainerTreeList = function (_a) {\n var children = _a.children, className = _a.className, handleOnBlur = _a.handleOnBlur, props = __rest(_a, [\"children\", \"className\", \"handleOnBlur\"]);\n var onBlurHandler = function (event) {\n handleOnBlur(event);\n };\n return (jsx(\"ul\", __assign({ css: {\n position: \"relative\",\n listStyleType: \"none\",\n margin: 0,\n padding: 0,\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"1 1 auto\"\n }, className: className, role: \"tree\", \"data-testid\": TestId.UL_ELEMENT, onBlur: onBlurHandler }, props), children));\n};\n//# sourceMappingURL=ContainerTreeList.js.map","import { useCallback, useEffect, useRef, useState } from \"react\";\n\n/**\n * This set of utilities is used to provide a switch for focus styles.\n * Focus styles like outlines should only show up when the user is interacting with\n * the app using the keyboard. Once the mouse is used again, focus outlines should be\n * disabled.\n */\n\nexport const SHOW_FOCUS_MARKER = \"lodestar--show-focus\";\nconst getFocusModeFromBodyClassList = () => typeof document !== \"undefined\" && document.body.classList.contains(SHOW_FOCUS_MARKER) ? \"keyboard\" : \"mouse\";\n/**\n * Hook that watches the document for key and mouse events to toggle between keyboard\n * and mouse modes.\n *\n * This hook assumes the initial mode to be mouse.\n */\nexport const useFocusMode = function () {\n let {\n isDisabled,\n passive = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [focusMode, setFocusMode] = useState(getFocusModeFromBodyClassList);\n const passiveFocusModeRef = useRef(focusMode);\n const getFocusModeFromPassiveRef = useCallback(() => passiveFocusModeRef.current, []);\n\n // Hooks up a MutationObserver that watches the body class. This means any change\n // to add/remove the class we care about will cause a re-render here.\n // This is good because many components could use this hook and we want them all\n // to pay attention.\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n const handleUpdate = () => {\n const initialFocusMode = getFocusModeFromBodyClassList();\n passiveFocusModeRef.current = initialFocusMode;\n\n // only cause a React re-render if necessary.\n if (!passive) {\n setFocusMode(getFocusModeFromBodyClassList());\n }\n };\n\n // Do a quick update in case it has changed while we were disabled.\n handleUpdate();\n const obs = new MutationObserver(handleUpdate);\n obs.observe(document.body, {\n attributes: true,\n attributeFilter: [\"class\"]\n });\n return () => {\n obs.disconnect();\n };\n }, [isDisabled, passive]);\n return {\n focusMode,\n getFocusMode: getFocusModeFromPassiveRef,\n // This function needs to add/remove the marker class from the body. This allows the\n // mutation observer above to cause the re-render in ALL of the usages of these hooks,\n // not just this one.\n setFocusMode: useCallback(newMode => {\n switch (newMode) {\n case \"keyboard\":\n document.body.classList.add(SHOW_FOCUS_MARKER);\n break;\n case \"mouse\":\n document.body.classList.remove(SHOW_FOCUS_MARKER);\n break;\n }\n }, [])\n };\n};\n//# sourceMappingURL=useFocusMode.js.map","/** @jsx jsx */\nimport { jsx } from \"@emotion/core\";\nimport React, { useLayoutEffect, useRef } from \"react\";\nimport { hasChildren, isFailed, isLoading, isParentTreeItemType, } from \"../Utils/ContainerUtil\";\nimport { UniqueContainerId } from \"../UniqueContainerId/UniqueContainerId\";\nimport { useVirtual, defaultRangeExtractor } from \"react-virtual\";\nimport { VirtualizedListItem } from \"./VirtualizedListItem\";\nimport { ESTIMATED_LIST_ITEM_HEIGHT, OVER_SCAN_SIZE } from \"./constants\";\nimport { ContainerTreeList } from \"./ContainerTreeList\";\nimport { useFocusMode } from \"@smartsheet/lodestar-core\";\nexport var ContainerTreeBase = function (_a) {\n var data = _a.data, onClick = _a.onClick, onContextMenu = _a.onContextMenu, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, onExpandClick = _a.onExpandClick, expandedSet = _a.expandedSet, componentOverrides = _a.componentOverrides, selectedSet = _a.selectedSet, refItems = _a.refItems, updateCursor = _a.updateCursor, lastFocussedItemIndex = _a.lastFocussedItemIndex, indentPerTreeLevel = _a.indentPerTreeLevel, _b = _a.overScanSize, overScanSize = _b === void 0 ? OVER_SCAN_SIZE : _b;\n var ListItem = componentOverrides.listItemComponent;\n var parentRef = useRef(null);\n // To track the current range of virtual items\n var rangeRef = useRef(null);\n var focusModeResult = useFocusMode && useFocusMode();\n var rowVirtualizer = useVirtual({\n size: data.length,\n parentRef: parentRef,\n estimateSize: React.useCallback(function () { return ESTIMATED_LIST_ITEM_HEIGHT; }, []),\n // The amount of items to load both behind and ahead of the current window range\n overscan: overScanSize,\n rangeExtractor: React.useCallback(function (range) {\n rangeRef.current = range;\n return defaultRangeExtractor(range);\n }, [])\n });\n // To track the currently focussed item which will be updated\n // from onFocus and onBlur events from VirtualizedListItem\n var _c = React.useState(null), currentlyFocussed = _c[0], setCurrentlyFocussed = _c[1];\n var itemData = rowVirtualizer.virtualItems.map(function (virtualRow) {\n var _a;\n // virtualRow.index holds the array index of item from the ordered data array\n var treeItemData = data[virtualRow.index];\n var uniqueId = new UniqueContainerId(treeItemData.id, treeItemData.containerType);\n var lastFocussedItemData = data[lastFocussedItemIndex];\n var isLastFocussed = (_a = (lastFocussedItemData &&\n new UniqueContainerId(lastFocussedItemData.id, lastFocussedItemData.containerType).equals(uniqueId))) !== null && _a !== void 0 ? _a : false;\n var tabIndex = isLastFocussed ? 0 : -1;\n var isExpanded = expandedSet.has(uniqueId);\n var isParentType = isParentTreeItemType(treeItemData.containerType) ||\n hasChildren(treeItemData.childData);\n var isSelected = Boolean(selectedSet.has(uniqueId));\n var listItemRef = refItems.get(uniqueId);\n return {\n key: uniqueId.toString(),\n virtualRow: virtualRow,\n treeItemData: treeItemData,\n isExpanded: isExpanded,\n isParentType: isParentType,\n isSelected: isSelected,\n listItemRef: listItemRef,\n tabIndex: tabIndex\n };\n });\n var isFocusComingFromOutsideTreeUsingKeyboard = function (event) {\n // We want to do this check only when user is using keyboard to move focus\n // from outside of container-tree into container-tree, in that case\n // we would like to highlight the last focussed element\n // If it is mouse event, we do not care, as user would directly click on the specific item to get focus.\n if (focusModeResult && focusModeResult.getFocusMode() !== \"keyboard\") {\n return false;\n }\n /**\n * In a Focus Event, the event.relatedTarget property represents the DOM element that is losing focus\n * (i.e., the element that was previously focused before the current element gained focus).\n * This property is useful when you want to know which element was focused before the current one.\n * https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget\n */\n return isRelatedTargetOutsideTheTree(event.relatedTarget);\n };\n var isRelatedTargetOutsideTheTree = function (relatedTarget) {\n // Root of the container-tree\n var parentElement = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;\n return (parentElement &&\n relatedTarget &&\n !parentElement.contains(relatedTarget));\n };\n var handleListItemOnFocus = function (itemIndex, event) {\n if (itemIndex !== lastFocussedItemIndex ||\n isFocusComingFromOutsideTreeUsingKeyboard(event)) {\n updateCursor(itemIndex);\n setCurrentlyFocussed(data[itemIndex]);\n }\n };\n var handleOnBlurOnTree = function (event) {\n /**\n * In a blur event, event.relatedTarget represents the DOM element that is gaining focus\n * (i.e., the element that will become focused after the current element loses focus).\n * This property is useful when you want to know where the focus is moving to.\n * https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget\n */\n var relatedTarget = event.relatedTarget;\n /**\n * If there is no related target or it is outside the parent tree\n * reset the highlighted tree item\n */\n if (!relatedTarget ||\n (relatedTarget && isRelatedTargetOutsideTheTree(relatedTarget))) {\n resetCurrentlyFocussedTreeItem();\n }\n };\n var resetCurrentlyFocussedTreeItem = function () {\n currentlyFocussed && setCurrentlyFocussed(null);\n };\n var handleMouseClick = function (treeItemData, event) {\n if (onClick) {\n onClick(treeItemData, event);\n }\n };\n var scrollToIndex = function (index) {\n rowVirtualizer.scrollToIndex(index);\n /**\n * rowVirtualizer can update the list based on the size size calculation, and first time scrollToInde\n * may not have any effect. So we are calling it twice to make sure it works.\n */\n requestAnimationFrame(function () {\n if (rangeRef.current) {\n var _a = rangeRef.current, start = _a.start, end = _a.end;\n var isVisible = index >= start && index <= end;\n // If not yet visible, scroll to it\n if (!isVisible) {\n scrollToIndex(index);\n }\n }\n });\n };\n useLayoutEffect(function () {\n scrollToIndex(lastFocussedItemIndex);\n }, [lastFocussedItemIndex]);\n return (jsx(\"div\", { ref: parentRef, css: {\n overflow: \"auto\",\n height: \"100%\",\n width: \"100%\"\n } },\n jsx(ContainerTreeList, { handleOnBlur: handleOnBlurOnTree, css: {\n height: \"\".concat(rowVirtualizer.totalSize, \"px\")\n } }, itemData.map(function (eachItem) {\n var isCurrentlyFocussed = (currentlyFocussed === null || currentlyFocussed === void 0 ? void 0 : currentlyFocussed.id) === eachItem.treeItemData.id;\n return (jsx(VirtualizedListItem, { key: eachItem.key, virtualRow: eachItem.virtualRow, treeItemData: eachItem.treeItemData, tabIndex: eachItem.tabIndex, isExpanded: eachItem.isExpanded, isSelected: eachItem.isSelected, listItemRef: eachItem.listItemRef, indentPerTreeLevel: indentPerTreeLevel, onItemClick: handleMouseClick, onItemContextMenu: onContextMenu, onItemMouseEnter: onMouseEnter, onItemMouseLeave: onMouseLeave, onItemFocus: handleListItemOnFocus },\n jsx(ListItem, { treeItemData: eachItem.treeItemData, isSelected: eachItem.isSelected, isExpanded: eachItem.isExpanded, isParentType: eachItem.isParentType, isCurrentlyFocussed: isCurrentlyFocussed, onExpandClick: onExpandClick }),\n eachItem.isParentType &&\n eachItem.isExpanded &&\n hasChildren(eachItem.treeItemData.childData) &&\n renderChildItem(eachItem.treeItemData.childData, componentOverrides)));\n }))));\n};\nvar renderChildItem = function (childData, componentOverrides) {\n if (isLoading(childData)) {\n var LoadingLine = componentOverrides.loadingLine;\n return jsx(LoadingLine, null);\n }\n if (isFailed(childData)) {\n var ErrorNode = componentOverrides.errorNode;\n var _a = childData, reason = _a.reason, text = _a.text;\n return jsx(ErrorNode, { reason: reason, text: text });\n }\n};\n//# sourceMappingURL=ContainerTreeBase.js.map","export var APIAccessLevel;\n(function (APIAccessLevel) {\n APIAccessLevel[\"ADMIN\"] = \"ADMIN\";\n APIAccessLevel[\"EDITOR\"] = \"EDITOR\";\n APIAccessLevel[\"COMMENTER\"] = \"COMMENTER\";\n APIAccessLevel[\"EDITOR_SHARE\"] = \"EDITOR_SHARE\";\n APIAccessLevel[\"OWNER\"] = \"OWNER\";\n APIAccessLevel[\"VIEWER\"] = \"VIEWER\";\n})(APIAccessLevel || (APIAccessLevel = {}));\n//# sourceMappingURL=APIAccessLevel.js.map","export var WorkspaceType;\n(function (WorkspaceType) {\n WorkspaceType[\"PERSONAL\"] = \"PERSONAL\";\n WorkspaceType[\"SHARED\"] = \"SHARED\";\n})(WorkspaceType || (WorkspaceType = {}));\n//# sourceMappingURL=WorkspaceType.js.map","import { UniqueContainerId } from \"./UniqueContainerId\";\nvar UniqueContainerIdSet = /** @class */ (function () {\n function UniqueContainerIdSet(values) {\n var _this = this;\n this.map = new Map();\n values === null || values === void 0 ? void 0 : values.forEach(function (value) { return _this.add(value); });\n }\n UniqueContainerIdSet.prototype.add = function (value) {\n var toInsert = this.getKey(value);\n this.map.set(toInsert.toString(), value);\n return this;\n };\n UniqueContainerIdSet.prototype.addAll = function (values) {\n var _this = this;\n values.forEach(function (container) {\n _this.add(container);\n });\n return this;\n };\n UniqueContainerIdSet.prototype.clear = function () {\n this.map.clear();\n };\n UniqueContainerIdSet.prototype.size = function () {\n return this.map.size;\n };\n UniqueContainerIdSet.prototype[\"delete\"] = function (value) {\n var toDelete = this.getKey(value);\n return this.map[\"delete\"](toDelete.toString());\n };\n UniqueContainerIdSet.prototype.forEach = function (callbackfn, thisArg) {\n var _this = this;\n this.map.forEach(function (value, key, set) {\n callbackfn.apply(thisArg, [\n value,\n UniqueContainerId.fromString(key),\n _this,\n ]);\n });\n };\n UniqueContainerIdSet.prototype.values = function () {\n return this.map.values();\n };\n UniqueContainerIdSet.prototype.get = function (key) {\n var accessKey = this.getKey(key);\n return this.map.get(accessKey.toString());\n };\n UniqueContainerIdSet.prototype.has = function (value) {\n var toInsert = this.getKey(value);\n return this.map.has(toInsert.toString());\n };\n UniqueContainerIdSet.prototype.getKey = function (value) {\n if (UniqueContainerIdSet.isUniqueContainerId(value)) {\n return value;\n }\n if (!(value instanceof UniqueContainerId)) {\n return UniqueContainerId.fromObject(value);\n }\n return value;\n };\n UniqueContainerIdSet.isUniqueContainerId = function (data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return data.containerType !== undefined;\n };\n return UniqueContainerIdSet;\n}());\nexport { UniqueContainerIdSet };\n//# sourceMappingURL=UniqueContainerIdSet.js.map","import { __assign } from \"tslib\";\nimport { APIAccessLevel } from \"../models/APIAccessLevel\";\nimport { TreeItemType } from \"../models/TreeItemType\";\nimport { ChildLoadState } from \"../models/ChildLoadState\";\nimport { WorkspaceType } from \"../models/WorkspaceType\";\nimport { UniqueContainerSet } from \"../UniqueContainerId/UniqueContainerSet\";\nimport { containerTreeSort } from \"../Utils/ContainerUtil\";\nimport { UniqueContainerId } from \"../UniqueContainerId/UniqueContainerId\";\nimport { UniqueContainerIdSet } from \"../UniqueContainerId/UniqueContainerIdSet\";\nexport var FilterMode;\n(function (FilterMode) {\n FilterMode[\"INCLUSIVE\"] = \"inclusive\";\n FilterMode[\"EXCLUSIVE\"] = \"exclusive\";\n})(FilterMode || (FilterMode = {}));\n/**\n * Converts the response from /workspaces into a containerTreeData object\n */\nexport var convertWorkspacesAPIResponse = function (apiResponse, options) {\n var comparator = getOptions(options).comparator;\n try {\n var results = parseResponse(apiResponse);\n var containerTreeData = [];\n for (var _i = 0, _a = results.data; _i < _a.length; _i++) {\n var result = _a[_i];\n containerTreeData.push({\n name: result.name,\n id: result.id.toString(),\n containerType: TreeItemType.WORKSPACE,\n accessLevel: result.accessLevel,\n childData: { loadState: ChildLoadState.not },\n isTemplate: false,\n permalink: result.permalink\n });\n }\n return __assign(__assign({}, results), { data: containerTreeData.sort(comparator) });\n }\n catch (e) {\n throw new Error(\"Unexpected error while parsing JSON\");\n }\n};\n/**\n * Converts the response from /folders/{id} into a containerTreeData object\n */\nexport var convertFolderAPIResponse = function (apiResponse, options) {\n var optionSet = getOptions(options);\n try {\n var result = parseResponse(apiResponse);\n return convertParentObject(result, TreeItemType.FOLDER, optionSet, false);\n }\n catch (e) {\n throw new Error(\"Unexpected error while parsing JSON\");\n }\n};\n/**\n * Converts the response from /workspace/{id} into a containerTreeData object\n */\nexport var convertWorkspaceAPIResponse = function (apiResponse, options) {\n var optionSet = getOptions(options);\n try {\n var result = parseResponse(apiResponse);\n return convertParentObject(result, TreeItemType.WORKSPACE, optionSet, false);\n }\n catch (e) {\n throw new Error(\"Unexpected error while parsing JSON\");\n }\n};\n/**\n * Converts the response from /navigation/search into a containerTreeData object\n */\nexport var convertSearchAPIResponse = function (apiResponse, options) {\n var optionSet = getOptions(options);\n try {\n var results = parseResponse(apiResponse);\n var containerTreeSearchResults = [];\n var map = new UniqueContainerSet();\n for (var _i = 0, results_1 = results; _i < results_1.length; _i++) {\n var result = results_1[_i];\n containerTreeSearchResults.push(convertRecursive(result, optionSet, map));\n }\n return {\n data: containerTreeSearchResults.sort(optionSet.comparator),\n map: map\n };\n }\n catch (e) {\n throw new Error(\"Unexpected error while parsing JSON\");\n }\n};\n/**\n * Converts the response from /folders/personal into a containerTreeObject\n */\nexport var convertPersonalFolderAPIResponse = function (apiResponse, options) {\n var optionSet = getOptions(options);\n try {\n var result = parseResponse(apiResponse);\n return convertParentObject(result, TreeItemType.FOLDER, optionSet, false, true);\n }\n catch (e) {\n throw new Error(\"Unexpected error while parsing JSON\");\n }\n};\nexport var insertChildIntoTree = function (containerTree, nodeToInsert) {\n var newTree = [];\n for (var _i = 0, containerTree_1 = containerTree; _i < containerTree_1.length; _i++) {\n var node = containerTree_1[_i];\n newTree.push(insertChildren(node, nodeToInsert));\n }\n return newTree;\n};\nvar parseResponse = function (response) {\n if (typeof response === \"string\") {\n return JSON.parse(response);\n }\n return response;\n};\nvar insertChildren = function (currentNode, nodeToInsert) {\n var _a;\n // If it's the same node, replace this node.\n if (currentNode.id === nodeToInsert.id &&\n currentNode.containerType === nodeToInsert.containerType) {\n return nodeToInsert;\n }\n // If the children are loaded, replace the array with a new array called recursively\n if (((_a = currentNode.childData) === null || _a === void 0 ? void 0 : _a.loadState) === ChildLoadState.loaded) {\n var newChildren = [];\n for (var _i = 0, _b = currentNode.childData.childrenData; _i < _b.length; _i++) {\n var child = _b[_i];\n newChildren.push(insertChildren(child, nodeToInsert));\n }\n return __assign(__assign({}, currentNode), { childData: {\n loadState: ChildLoadState.loaded,\n childrenData: newChildren\n } });\n }\n // If the node has no children, return a pointer to the node.\n return __assign({}, currentNode);\n};\nvar convertRecursive = function (parentObject, options, map) {\n var _a;\n var isPersonalWorkspace = parentObject.workspaceType &&\n parentObject.workspaceType === WorkspaceType.PERSONAL;\n var workspaceOrFolder = {\n id: parentObject.id.toString(),\n name: parentObject.name,\n isTemplate: false,\n permalink: parentObject.permalink,\n containerType: parentObject.workspaceType &&\n parentObject.workspaceType === WorkspaceType.SHARED\n ? TreeItemType.WORKSPACE\n : TreeItemType.FOLDER,\n childData: {\n loadState: ChildLoadState.loaded,\n childrenData: []\n }\n };\n if (parentObject.accessLevel) {\n workspaceOrFolder.accessLevel = parentObject.accessLevel;\n }\n if (isPersonalWorkspace) {\n workspaceOrFolder.isPersonalWorkspace = true;\n }\n addDisplayObjects(workspaceOrFolder, parentObject, options);\n var comparator = options.comparator;\n if (parentObject.folders) {\n if (((_a = workspaceOrFolder.childData) === null || _a === void 0 ? void 0 : _a.loadState) === ChildLoadState.loaded) {\n var allChildren = [];\n for (var _i = 0, _b = parentObject.folders; _i < _b.length; _i++) {\n var childApiFolder = _b[_i];\n allChildren.push(convertRecursive(childApiFolder, options, map));\n }\n workspaceOrFolder.childData.childrenData = workspaceOrFolder.childData.childrenData.concat(allChildren);\n workspaceOrFolder.childData.childrenData.sort(comparator);\n }\n }\n map.add(workspaceOrFolder);\n return workspaceOrFolder;\n};\nvar getOptions = function (options) {\n var optionSet = {\n comparator: containerTreeSort,\n excludeIds: new UniqueContainerIdSet(),\n filter: {\n mode: FilterMode.EXCLUSIVE,\n filterSet: new Set()\n },\n includeTemplates: false\n };\n if (options) {\n if (options.comparator) {\n optionSet.comparator = options.comparator;\n }\n if (options.filter) {\n optionSet.filter = options.filter;\n }\n if (options.excludeIds) {\n optionSet.excludeIds = options.excludeIds;\n }\n if (options.includeTemplates) {\n optionSet.includeTemplates = options.includeTemplates;\n }\n }\n return optionSet;\n};\nvar addChildren = function (parentObject, childObjects, containerType, isTemplate, excludeIds) {\n var _a;\n // new UniqueContainerId(value.id, value.containerType)\n var children = [];\n for (var _i = 0, childObjects_1 = childObjects; _i < childObjects_1.length; _i++) {\n var child = childObjects_1[_i];\n var uniqueContainerId = new UniqueContainerId(String(child.id), containerType);\n if (!excludeIds.has(uniqueContainerId)) {\n var containerTreeData = {\n id: child.id.toString(),\n name: child.name,\n permalink: child.permalink,\n containerType: containerType,\n isTemplate: isTemplate\n };\n if (child.accessLevel) {\n containerTreeData.accessLevel = child.accessLevel;\n }\n if (containerType === TreeItemType.FOLDER) {\n containerTreeData.childData = { loadState: ChildLoadState.not };\n }\n children.push(containerTreeData);\n }\n }\n if (((_a = parentObject.childData) === null || _a === void 0 ? void 0 : _a.loadState) === ChildLoadState.loaded) {\n parentObject.childData.childrenData = parentObject.childData.childrenData.concat(children);\n }\n};\nvar addDisplayObjects = function (folder, apiObject, options) {\n var includeTemplates = options.includeTemplates, filter = options.filter, excludeIds = options.excludeIds;\n if (apiObject.reports && isFiltered(filter, TreeItemType.REPORT)) {\n addChildren(folder, apiObject.reports, TreeItemType.REPORT, false, excludeIds);\n }\n if (apiObject.sheets && isFiltered(filter, TreeItemType.SHEET)) {\n addChildren(folder, apiObject.sheets, TreeItemType.SHEET, false, excludeIds);\n }\n // The sights should be deprecated once we are onto Solutions Service completely\n if (apiObject.sights && isFiltered(filter, TreeItemType.DASHBOARD)) {\n addChildren(folder, apiObject.sights, TreeItemType.DASHBOARD, false, excludeIds);\n }\n // Adding extra check for dashboards in case any API returns both sights and dashboards (which should not happen)\n if (!apiObject.sights &&\n apiObject.dashboards &&\n isFiltered(filter, TreeItemType.DASHBOARD)) {\n addChildren(folder, apiObject.dashboards, TreeItemType.DASHBOARD, false, excludeIds);\n }\n if (apiObject.templates && includeTemplates) {\n addChildren(folder, apiObject.templates, TreeItemType.SHEET, true, excludeIds);\n }\n};\nvar convertParentObject = function (result, parentType, options, isTemplate, isPersonalWorkspace) {\n var _a;\n var comparator = options.comparator, filter = options.filter, excludeIds = options.excludeIds;\n var folder = {\n id: result.id.toString(),\n name: result.name,\n containerType: parentType,\n accessLevel: result.accessLevel,\n permalink: result.permalink,\n isTemplate: isTemplate,\n childData: { loadState: ChildLoadState.loaded, childrenData: [] }\n };\n if (isPersonalWorkspace) {\n folder.isPersonalWorkspace = true;\n folder.accessLevel = APIAccessLevel.OWNER;\n }\n addDisplayObjects(folder, result, options);\n if (result.folders && isFiltered(filter, TreeItemType.FOLDER)) {\n addChildren(folder, result.folders, TreeItemType.FOLDER, false, excludeIds);\n }\n if (((_a = folder.childData) === null || _a === void 0 ? void 0 : _a.loadState) === ChildLoadState.loaded) {\n folder.childData.childrenData.sort(comparator);\n }\n return folder;\n};\nvar isFiltered = function (filter, TreeItemType) {\n return ((filter.mode === FilterMode.EXCLUSIVE &&\n !filter.filterSet.has(TreeItemType)) ||\n (filter.mode === FilterMode.INCLUSIVE &&\n filter.filterSet.has(TreeItemType)));\n};\n//# sourceMappingURL=conversionMethods.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { useState, useCallback } from \"react\";\nimport { UniqueContainerSet } from \"../UniqueContainerId/UniqueContainerSet\";\nimport { isChildrenNotLoaded, isParentTreeItemType, } from \"../Utils/ContainerUtil\";\nimport { ChildLoadState } from \"../models/ChildLoadState\";\nimport { insertChildIntoTree } from \"../API/conversionMethods\";\nvar UseContainerTreeOptionsDefaults = {\n data: []\n};\nexport function useContainerTree(options) {\n var _this = this;\n var _a = options.data, data = _a === void 0 ? [] : _a, componentOverrides = options.componentOverrides, onClick = options.onClick, onExpandClick = options.onExpandClick, onCursorMove = options.onCursorMove, onMouseLeave = options.onMouseLeave, onMouseEnter = options.onMouseEnter, onContextMenu = options.onContextMenu, onEnter = options.onEnter, onSpace = options.onSpace, onTabOut = options.onTabOut, onShiftTabOut = options.onShiftTabOut, initialFocusItem = options.initialFocusItem, _b = options.parentTypesSelectable, parentTypesSelectable = _b === void 0 ? true : _b, _c = options.multiselect, multiselect = _c === void 0 ? false : _c, _d = options.selectOnCursorMove, selectOnCursorMove = _d === void 0 ? false : _d, _e = options.expandParentTypeOnClick, expandParentTypeOnClick = _e === void 0 ? false : _e, _f = options.selectedSet, selectedSet = _f === void 0 ? new UniqueContainerSet() : _f, _g = options.expandedSet, expandedSet = _g === void 0 ? new UniqueContainerSet() : _g, expandAction = options.expandAction, clickAction = options.clickAction, doubleClickAction = options.doubleClickAction, fetchChildren = options.fetchChildren, indentPerTreeLevel = options.indentPerTreeLevel, overScanSize = options.overScanSize;\n var _h = useState(data), newData = _h[0], setData = _h[1];\n var _j = useState(selectedSet), newSelectedSet = _j[0], setSelectedSet = _j[1];\n var clearSelectedSet = function () {\n setSelectedSet(new UniqueContainerSet());\n };\n var _k = useState(expandedSet), newExpandedSet = _k[0], setExpandedSet = _k[1];\n var clearExpandedSet = function () {\n setExpandedSet(new UniqueContainerSet());\n };\n var newOnExpandClick = onExpandClick ||\n useCallback(function (containerData, event) { return __awaiter(_this, void 0, void 0, function () {\n var newNode_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n setExpandedSet(function (prevState) {\n var copySet = new UniqueContainerSet(prevState);\n if (!copySet[\"delete\"](containerData)) {\n copySet.add(containerData);\n }\n return copySet;\n });\n if (expandAction) {\n expandAction(containerData, event);\n }\n if (!(isChildrenNotLoaded(containerData.childData) &&\n fetchChildren)) return [3 /*break*/, 2];\n setData(function (prev) {\n var loadingNode = __assign(__assign({}, containerData), { childData: { loadState: ChildLoadState.loading } });\n return insertChildIntoTree(prev, loadingNode);\n });\n return [4 /*yield*/, fetchChildren(containerData)];\n case 1:\n newNode_1 = _a.sent();\n setData(function (prev) {\n return insertChildIntoTree(prev, newNode_1);\n });\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, [data, newExpandedSet]);\n var newOnClick = onClick ||\n useCallback(function (containerData, event) {\n if (expandParentTypeOnClick &&\n isParentTreeItemType(containerData.containerType)) {\n newOnExpandClick(containerData, event);\n }\n if (!parentTypesSelectable &&\n isParentTreeItemType(containerData.containerType)) {\n return;\n }\n if (multiselect) {\n setSelectedSet(function (prevState) {\n var copySet = new UniqueContainerSet(prevState);\n if (!copySet[\"delete\"](containerData)) {\n copySet.add(containerData);\n }\n return copySet;\n });\n }\n else {\n var newSet = new UniqueContainerSet();\n newSet.add(containerData);\n setSelectedSet(newSet);\n }\n var currentClickCount = event.detail;\n if (doubleClickAction && currentClickCount === 2) {\n doubleClickAction(containerData, event);\n }\n else if (clickAction) {\n clickAction(containerData, event);\n }\n }, [newSelectedSet]);\n var newOnCursorMove = onCursorMove ||\n useCallback(function (containerData, event) {\n if (selectOnCursorMove) {\n if (!parentTypesSelectable &&\n isParentTreeItemType(containerData.containerType)) {\n clearSelectedSet();\n }\n else {\n var copySet = new UniqueContainerSet();\n copySet.add(containerData);\n setSelectedSet(copySet);\n }\n }\n }, [newSelectedSet]);\n var containerTreeProps = {\n data: newData,\n componentOverrides: componentOverrides,\n onClick: newOnClick,\n onExpandClick: newOnExpandClick,\n onContextMenu: onContextMenu,\n onCursorMove: newOnCursorMove,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onTabOut: onTabOut,\n onShiftTabOut: onShiftTabOut,\n onEnter: onEnter,\n onSpace: onSpace,\n initialFocusItem: initialFocusItem,\n selectedSet: newSelectedSet,\n expandedSet: newExpandedSet,\n indentPerTreeLevel: indentPerTreeLevel,\n overScanSize: overScanSize\n };\n return {\n data: newData,\n setData: setData,\n containerTreeProps: containerTreeProps,\n selectedSet: newSelectedSet,\n setSelectedSet: setSelectedSet,\n clearSelectedSet: clearSelectedSet,\n expandedSet: newExpandedSet,\n setExpandedSet: setExpandedSet,\n clearExpandedSet: clearExpandedSet\n };\n}\n//# sourceMappingURL=useContainerTree.js.map","import { ChildLoadState } from \"../models/ChildLoadState\";\nimport { TreeItemType, } from \"../models/TreeItemType\";\nimport { APIAccessLevel } from \"../models/APIAccessLevel\";\nvar id = 0;\nexport var createParentObject = function (type, name) {\n return {\n id: getNextId(),\n containerType: type,\n name: name || getName(type),\n accessLevel: APIAccessLevel.OWNER,\n childData: { loadState: ChildLoadState.not },\n permalink: \"permalink\",\n isTemplate: false\n };\n};\nexport var createNodeObject = function (type, name) {\n return {\n id: getNextId(),\n containerType: type,\n name: name || getName(type),\n accessLevel: APIAccessLevel.OWNER,\n permalink: \"permalink\",\n isTemplate: false\n };\n};\n/**\n * makeSheets - helper function for generateMockTree\n */\nvar makeSheets = function (midLength) {\n var sheets = [];\n for (var i = 1; i <= midLength; i++) {\n sheets.push({\n id: getNextId(),\n containerType: TreeItemType.SHEET,\n name: getName(TreeItemType.SHEET),\n accessLevel: APIAccessLevel.OWNER,\n permalink: \"permalink\",\n isTemplate: false\n });\n }\n return sheets;\n};\n/**\n * makeFolder - helper function for generateMockTree\n */\nvar makeFolder = function (midLength, depth) {\n var id = getNextId();\n var sheets = makeSheets(midLength);\n var folders = [];\n if (depth > 0) {\n for (var i = 1; i <= midLength; i++) {\n folders.push(makeFolder(midLength, depth - 1));\n }\n }\n var folder = {\n id: id,\n containerType: TreeItemType.FOLDER,\n name: getName(TreeItemType.FOLDER),\n accessLevel: APIAccessLevel.OWNER,\n childData: {\n loadState: ChildLoadState.loaded,\n childrenData: sheets.concat(folders)\n },\n permalink: \"permalink\",\n isTemplate: false\n };\n return folder;\n};\n/**\n * Creates mock data representing a tree of folders and sheets.\n * topFolderLength and topSheetLength determines number of folders on the first level of the tree.\n * midlength determines the number of folders and sheets and intermediary levels.\n * depth determines the depth of the tree.\n */\nexport var generateMockTree = function (topFolderLength, topSheetLength, midLength, depth) {\n var data = makeSheets(topSheetLength);\n for (var i = 1; i <= topFolderLength; i++) {\n var id_1 = i * Math.pow(1000, depth);\n data.unshift(makeFolder(midLength, depth - 1));\n }\n return data;\n};\nvar getNextId = function () {\n id++;\n return id.toString();\n};\nvar names = [\n \"Lorem Ipsum\",\n \"Dolor\",\n \"Sit Amet\",\n \"Foo\",\n \"Bar\",\n \"Baz\",\n \"Alpha Beta\",\n \"Gamma\",\n \"Consectetur\",\n \"Quis Nostrum\",\n \"Clever\",\n \"Bright\",\n \"Intelligent\",\n \"Quick Witted\",\n \"Stylish\",\n \"Peice of Paper\",\n \"Linen\",\n \"Foil\",\n \"Veneer\",\n \"Folder\",\n \"Notebook\",\n \"Memo Pad\",\n \"Revenue Stamp\",\n \"Superb\",\n \"Micrognathozoa\",\n \"Nematoda\",\n \"Thread\",\n \"Soft\",\n \"Onychophora\",\n \"Leaves\",\n \"Shaped Like\",\n \"Sponge\",\n \"Porifera\",\n \"Rhombozoa\",\n \"Flat Worm\",\n \"Before\",\n \"Little\",\n \"Rotifera\",\n \"Pocket\",\n \"Saccorhytida\",\n \"Animal\",\n \"Lobed\",\n \"Three\",\n \"Tardigrada\",\n \"Slow Step\",\n \"Trilobozoa\",\n \"Ancient Dweller\",\n \"Xenacoelomorpha\",\n];\nvar getName = function (type) {\n return \"\".concat(names[+id % (names.length - 1)], \" \").concat(names[(+type + id * 2) % (names.length - 1)]);\n};\n//# sourceMappingURL=getMockData.js.map","import { ChildLoadState } from \"../models/ChildLoadState\";\nexport function hasLoadedChildren(nodeToCheck) {\n var childData = nodeToCheck.childData;\n return Boolean(childData && childData.loadState === ChildLoadState.loaded);\n}\nexport function getChildren(container) {\n return hasLoadedChildren(container)\n ? container.childData.childrenData\n : [];\n}\n//# sourceMappingURL=exportedHelpers.js.map","export var FailedLoadReason;\n(function (FailedLoadReason) {\n FailedLoadReason[FailedLoadReason[\"SERVER_ERROR\"] = 0] = \"SERVER_ERROR\";\n FailedLoadReason[FailedLoadReason[\"INACCESSIBLE\"] = 1] = \"INACCESSIBLE\";\n})(FailedLoadReason || (FailedLoadReason = {}));\n//# sourceMappingURL=FailedLoadReason.js.map","export { ContainerTree } from \"./components/ContainerTree\";\nexport { ContainerTreeBase } from \"./components/ContainerTreeBase\";\nexport { useContainerTree } from \"./components/useContainerTree\";\nexport { ContainerTreeList } from \"./components/ContainerTreeList\";\nexport { ContainerListItem } from \"./components/defaults/components/ContainerListItem\";\nexport { LoadingLine } from \"./components/defaults/components/LoadingLine\";\nexport { ErrorNode } from \"./components/defaults/components/ErrorNode\";\nexport { getIconForContainerType } from \"./Utils/getIcons\";\nexport { ensureScrollIntoViewForJest } from \"./Utils/ensureScrollIntoViewForJest\";\nexport { convertWorkspacesAPIResponse, convertFolderAPIResponse, convertWorkspaceAPIResponse, convertSearchAPIResponse, convertPersonalFolderAPIResponse, insertChildIntoTree, FilterMode, } from \"./API/conversionMethods\";\nexport { generateMockTree } from \"./API/getMockData\";\nexport { hasLoadedChildren, getChildren } from \"./Utils/exportedHelpers\";\nexport { ChildLoadState } from \"./models/ChildLoadState\";\nexport { FailedLoadReason } from \"./models/FailedLoadReason\";\nexport { TreeItemType } from \"./models/TreeItemType\";\nexport { APIAccessLevel } from \"./models/APIAccessLevel\";\nexport { UniqueContainerId } from \"./UniqueContainerId/UniqueContainerId\";\nexport { UniqueContainerIdSet } from \"./UniqueContainerId/UniqueContainerIdSet\";\nexport { UniqueContainerSet } from \"./UniqueContainerId/UniqueContainerSet\";\n//# sourceMappingURL=index.js.map","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { useContext } from \"react\";\nimport { SDSThemeContext } from \"../SDSThemeProvider\";\nimport { lodestarTheme } from \"../lodestarTheme\";\nexport const useTheme = () => {\n const theme = useContext(SDSThemeContext);\n const noTheme = Object.keys(theme).length === 0;\n // if the theme is empty, return the default lodestar theme\n if (noTheme && process.env.NODE_ENV !== \"production\") {\n console.warn(\"useTheme: no SDSThemeProvider context found, defaulting to lodestar-light.\");\n }\n return noTheme ? lodestarTheme : theme;\n};\n//# sourceMappingURL=useTheme.js.map","'use client';\nimport { useSyncExternalStore as useSyncExternalStore$1 } from 'use-sync-external-store/shim/index.js';\n\nconst useSyncExternalStore = useSyncExternalStore$1;\n\nexport { useSyncExternalStore };\n//# sourceMappingURL=useSyncExternalStore.mjs.map\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgFileTypeReports = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"#FEE3C0\", d: \"M20.057 21.845L8 21.552v-18c8.371-.736 12.557-.736 12.557 0l-.5 16c0 1.105 1.105 2.293 0 2.293z\" }),\n React.createElement(\"path\", { fill: \"#EE8600\", d: \"M4 22a1 1 0 01-1-1v-4.25h-.25a.75.75 0 010-1.5H3v-2.5h-.25a.75.75 0 010-1.5H3v-2.5h-.25a.75.75 0 010-1.5H3V3a1 1 0 011-1h16a1 1 0 011 1v18a1 1 0 01-1 1H4zM7 3.5H4.5l-.001 3.75h.251a.75.75 0 010 1.5h-.251v2.5h.251a.75.75 0 010 1.5h-.251v2.5h.251a.75.75 0 010 1.5h-.251L4.5 20.5H7v-17zm12.567 0H8.5v17h11.067v-17zm-3.817 7.75a.75.75 0 010 1.5h-3.5a.75.75 0 010-1.5h3.5zm0-4a.75.75 0 010 1.5h-3.5a.75.75 0 010-1.5h3.5z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=FileTypeReports.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgFileTypeReports as FileTypeReportsMedium } from \"./medium/FileTypeReports\";\nvar sizeMap = {\n medium: FileTypeReportsMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var FileTypeReportsIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nFileTypeReportsIcon.displayName = \"FileTypeReportsIcon\";\n//# sourceMappingURL=FileTypeReportsIcon.js.map","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime {\n let {\n isDisabled\n } = _ref;\n return isDisabled ? \"disabled\" : \"pointer\";\n}};\n\n ${_ref2 => {\n let {\n focusRingStyles\n } = _ref2;\n return focusRingStyles;\n}}\n`);\nClickableStyled.displayName = \"ClickableStyled\";\n//# sourceMappingURL=ClickableStyled.js.map","import { themed } from \"@smartsheet/sds-theme-internal\";\nexport const clickableTheme = themed({\n borderRadius: {\n \"lodestar-light\": \"1px\",\n \"ursa-light\": \"2px\"\n }\n});\n//# sourceMappingURL=clickableTheme.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef, useCallback, useMemo } from \"react\";\nimport { useTheme } from \"../../theme/utils/useTheme\";\nimport { createFocusRingStyles } from \"../../util/createFocusRingStyles\";\nimport { ClickableStyled } from \"./styled/ClickableStyled\";\nimport { clickableTheme } from \"./styled/clickableTheme\";\n/**\n * Provides the basic stuff for any clickables, include a style reset!\n */\nexport const Clickable = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n children,\n clientId,\n omitFocusRing = false,\n focusRingOptions = {},\n isDisabled = false,\n onClick: providedOnClick,\n onDoubleClick: providedOnDoubleClick,\n tabIndex = 0,\n type = \"button\",\n ...rest\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const onClick = useCallback(e => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n if (providedOnClick) {\n providedOnClick(e);\n }\n }, [isDisabled, providedOnClick]);\n const onDoubleClick = useCallback(e => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n if (providedOnDoubleClick) {\n providedOnDoubleClick(e);\n }\n }, [isDisabled, providedOnDoubleClick]);\n const {\n offset,\n includeFocusPseudoClass,\n borderWidth,\n radius,\n ...restFocusRingOptions\n } = focusRingOptions;\n const focusRingStyles = useMemo(() => omitFocusRing ? \"\" : createFocusRingStyles({\n theme: themeMode,\n gap: offset ?? 1,\n componentRadius: radius ?? clickableTheme.borderRadius(themeMode),\n componentBorderWidth: borderWidth ?? 1,\n focusSelector: includeFocusPseudoClass ? \":focus\" : undefined,\n ringWidth: borderWidth ?? undefined,\n ...restFocusRingOptions\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [omitFocusRing, ...Object.values(focusRingOptions)]);\n return /*#__PURE__*/React.createElement(ClickableStyled, _extends({}, rest, {\n isDisabled: isDisabled,\n \"aria-disabled\": isDisabled,\n \"data-client-id\": clientId,\n focusRingStyles: focusRingStyles,\n ref: ref,\n onClick: onClick,\n onDoubleClick: onDoubleClick,\n tabIndex: tabIndex,\n type: type\n }), children);\n});\nClickable.displayName = \"Clickable\";\n//# sourceMappingURL=Clickable.js.map","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { Global } from \"@emotion/core\";\nimport React from \"react\";\nexport function createTokenInjector(_ref) {\n let {\n tokens,\n namespace,\n supportedThemes\n } = _ref;\n if (process.env.NODE_ENV !== \"production\") {\n const invalidNameCharacters = /[^\\w-]/;\n if (invalidNameCharacters.test(namespace)) {\n console.warn(`createTokenInjector: the namespace \"${namespace}\" can only contain characters allowed in css custom properties.`);\n }\n const set = new Set();\n for (const {\n name\n } of tokens) {\n if (set.has(name)) {\n console.warn(`createTokenInjector: duplicate token name found: \"${name}\".`);\n }\n if (invalidNameCharacters.test(name)) {\n console.warn(`createTokenInjector: the token \"${name}\" can only contain characters allowed in css custom properties.`);\n }\n set.add(name);\n }\n }\n\n // Create 2 things:\n // 1) a set of css custom properties to pass along to the injector, keyed by the supported\n // theme names.\n const cssCustomPropertiesByThemeKey = {};\n // 2) a dictionary of token names => the CSS custom property names from #1.\n const tokenNameLookup = {};\n for (const themeKey of supportedThemes) {\n cssCustomPropertiesByThemeKey[themeKey] = {};\n }\n for (const token of tokens) {\n const tokenVariableName = `--smar--${namespace}--${token.name}`;\n // insert the variable name into the by-token-name lookup table.\n tokenNameLookup[token.name] = tokenVariableName;\n for (const [themeName, tokenValue] of Object.entries(token.value)) {\n // If the token doesn't have a value, skip it. This means it doesn't get injected into\n // the DOM later and will allow custom properties to cascade properly.\n // Ex:\n // var(--some-property, \"fallback-value\") only works if --some-property is not defined.\n if (tokenValue) {\n // Insert the css custom property into the map for the DOM.\n const thisThemesVariables = cssCustomPropertiesByThemeKey[themeName];\n thisThemesVariables[tokenVariableName] = tokenValue;\n }\n }\n }\n return {\n getToken: (name, fallbackValue) => `var(${tokenNameLookup[name]}${fallbackValue ? `, ${fallbackValue}` : \"\"})`,\n Injector: _ref2 => {\n let {\n themeKey\n } = _ref2;\n return /*#__PURE__*/React.createElement(Global, {\n styles: {\n \":root\": cssCustomPropertiesByThemeKey[themeKey]\n }\n });\n }\n };\n}\n//# sourceMappingURL=createTokenInjector.js.map","/** This file is generated from clean-figma-tokens.js and pulls directly from Figma\n * Please do not edit values here directly!\n */\n\nexport const colorTokens = [{\n name: \"aqua--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"aqua--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--50, #B5F2E6)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"aqua--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"aqua--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"aqua--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"aqua--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"aqua--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"azure--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"azure--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"azure--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"azure--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"azure--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"azure--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--800, #022A36)\"\n }\n}, {\n name: \"azure--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--700, #064355)\"\n }\n}, {\n name: \"blue--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"blue--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"blue--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"blue--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"blue--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"blue--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"blue--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--background--ai-icon-wrapper--default\",\n description: \"The default background for icons used in the AI Panel Experiences. Do not use this token outside of that surface.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--indigo--35, #F5F0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--400, #8959E8)\"\n }\n}, {\n name: \"color--background--destructive--default\",\n description: \"The default version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--background--destructive--strong\",\n description: \"The strong version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#a62833\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--background--destructive--stronger\",\n description: \"The stronger version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--700, #7F050D)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--destructive--strongest\",\n description: \"The strongest version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#531419\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--background--destructive--weak\",\n description: \"The weak version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#db656f\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--background--destructive--weaker\",\n description: \"The weaker version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--700, #7F050D)\"\n }\n}, {\n name: \"color--background--destructive--weakest\",\n description: \"The weakest version of destructive background colors.\",\n value: {\n \"lodestar-light\": \"#efc8cb\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"color--background--error--default\",\n description: \"The default version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--background--error--weak\",\n description: \"The weak version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--background--error--weaker\",\n description: \"The weaker version of a background color to indicate an error.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--info--default\",\n description: \"The default version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--25, #EBFAFF)\"\n }\n}, {\n name: \"color--background--info--weak\",\n description: \"The weak version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--azure--50, #C6EFFA)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--60, #B6E8F7)\"\n }\n}, {\n name: \"color--background--info--weaker\",\n description: \"The weaker version of a background color to indicate info.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--azure--25, #EBFAFF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--background--neutral--default\",\n description: \"The default version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--background--neutral--strong\",\n description: \"The strong version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--neutral--stronger\",\n description: \"The stronger version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--neutral--strongest\",\n description: \"The strongest version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--neutral--weak\",\n description: \"The weak version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--background--neutral--weaker\",\n description: \"The weaker version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--background--neutral--weakest\",\n description: \"The weakest version of neutral background colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--35, #EEF0F6)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--neutral-inverse--default\",\n description: \"The default version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--background--neutral-inverse--strong\",\n description: \"The strong version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--neutral-inverse--stronger\",\n description: \"The stronger version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--background--neutral-inverse--strongest\",\n description: \"The strongest version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weak\",\n description: \"The weak version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weaker\",\n description: \"The weaker version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--neutral-inverse--weakest\",\n description: \"The weakest version of neutral inverse background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--notifications--default\",\n description: \"The weak version of backgrounds for notifications.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--background--notifications--weak\",\n description: \"The weak version of backgrounds for notifications.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--500, #5F6786)\"\n }\n}, {\n name: \"color--background--primary--default\",\n description: \"The default version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--background--primary--strong\",\n description: \"The strong version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--background--primary--stronger\",\n description: \"The stronger version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--background--primary--strongest\",\n description: \"The strongest version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--background--primary--weak\",\n description: \"The weak version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--background--primary--weaker\",\n description: \"The weaker version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--background--primary--weakest\",\n description: \"The weakest version of primary background colors.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--background--slate--default\",\n description: \"The default version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--default, #6B7394)\"\n }\n}, {\n name: \"color--background--slate--strong\",\n description: \"The strong version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--strong, #878DAB)\"\n }\n}, {\n name: \"color--background--slate--stronger\",\n description: \"The stronger version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--stronger, #A6ACC4)\"\n }\n}, {\n name: \"color--background--slate--strongest\",\n description: \"The strongest version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--strongest, #B8BDD1)\"\n }\n}, {\n name: \"color--background--slate--weak\",\n description: \"The weak version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weak, #5F6786)\"\n }\n}, {\n name: \"color--background--slate--weaker\",\n description: \"The weaker version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weaker, #4C5470)\"\n }\n}, {\n name: \"color--background--slate--weakest\",\n description: \"The weakest version of slate background colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--slate--35, #EEF0F6)\",\n \"ursa-dark\": \"var(--smar--com--color--background--neutral--weakest, #363C54)\"\n }\n}, {\n name: \"color--background--slate-inverse--default\",\n description: \"The default version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--600, #4C5470)\"\n }\n}, {\n name: \"color--background--slate-inverse--strong\",\n description: \"The strong version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--700, #363C54)\"\n }\n}, {\n name: \"color--background--slate-inverse--stronger\",\n description: \"The stronger version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--800, #212536)\"\n }\n}, {\n name: \"color--background--slate-inverse--strongest\",\n description: \"The strongest version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--900, #11131D)\"\n }\n}, {\n name: \"color--background--slate-inverse--weak\",\n description: \"The weak version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--500, #5F6786)\"\n }\n}, {\n name: \"color--background--slate-inverse--weaker\",\n description: \"The weaker version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--background--slate-inverse--weakest\",\n description: \"The weakest version of slate inverse background colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#4eaa9b\",\n \"ursa-light\": \"var(--smar--com--color--aqua--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--75, #86E4D1)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--strong\",\n description: \"The strong version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008476\",\n \"ursa-light\": \"var(--smar--com--color--aqua--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--60, #9CECDC)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--stronger\",\n description: \"The stronger version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--50, #B5F2E6)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--strongest\",\n description: \"The strongest version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--25, #E8FDF9)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weak\",\n description: \"The weak version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a1c9c2\",\n \"ursa-light\": \"var(--smar--com--color--aqua--200, #30C0A3)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--100, #5AD3BB)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weaker\",\n description: \"The weaker version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#dceae7\",\n \"ursa-light\": \"var(--smar--com--color--aqua--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--200, #30C0A3)\"\n }\n}, {\n name: \"color--background--spectrum-aqua--weakest\",\n description: \"The weakest version of spectrum aqua for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f1f7f6\",\n \"ursa-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--300, #28A98F)\"\n }\n}, {\n name: \"color--background--spectrum-azure--default\",\n description: \"The default version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--background--spectrum-azure--strong\",\n description: \"The strong version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--60, #B6E8F7)\"\n }\n}, {\n name: \"color--background--spectrum-azure--stronger\",\n description: \"The stronger version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--50, #C6EFFA)\"\n }\n}, {\n name: \"color--background--spectrum-azure--strongest\",\n description: \"The strongest version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--25, #EBFAFF)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weak\",\n description: \"The weak version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weaker\",\n description: \"The weaker version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"color--background--spectrum-azure--weakest\",\n description: \"The weakest version of spectrum azure for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--background--spectrum-blue--default\",\n description: \"The default version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--strong\",\n description: \"The strong version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--stronger\",\n description: \"The stronger version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--strongest\",\n description: \"The strongest version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weak\",\n description: \"The weak version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weaker\",\n description: \"The weaker version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--background--spectrum-blue--weakest\",\n description: \"The weakest version of spectrum blue for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--background--spectrum-gold--default\",\n description: \"The default version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e18502\",\n \"ursa-light\": \"var(--smar--com--color--gold--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--spectrum-gold--strong\",\n description: \"The strong version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ab6600\",\n \"ursa-light\": \"var(--smar--com--color--gold--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--50, #FDE6AF)\"\n }\n}, {\n name: \"color--background--spectrum-gold--stronger\",\n description: \"The stronger version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--35, #FFF0CC)\"\n }\n}, {\n name: \"color--background--spectrum-gold--strongest\",\n description: \"The strongest version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--gold--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weak\",\n description: \"The weak version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffb761\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--75, #F9CD67)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weaker\",\n description: \"The weaker version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fee3c0\",\n \"ursa-light\": \"var(--smar--com--color--gold--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--100, #EFB32A)\"\n }\n}, {\n name: \"color--background--spectrum-gold--weakest\",\n description: \"The weakest version of spectrum gold for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff4e6\",\n \"ursa-light\": \"var(--smar--com--color--gold--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--background--spectrum-green--default\",\n description: \"The default version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#70a13c\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"color--background--spectrum-green--strong\",\n description: \"The strong version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#488306\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--spectrum-green--stronger\",\n description: \"The stronger version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"color--background--spectrum-green--strongest\",\n description: \"The strongest version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--spectrum-green--weak\",\n description: \"The weak version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b2c997\",\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"color--background--spectrum-green--weaker\",\n description: \"The weaker version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e1ebd6\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\"\n }\n}, {\n name: \"color--background--spectrum-green--weakest\",\n description: \"The weakest version of spectrum green for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f3f7ef\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#848be9\",\n \"ursa-light\": \"var(--smar--com--color--indigo--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--75, #D6C2FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--strong\",\n description: \"The strong version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--60, #E0D1FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--stronger\",\n description: \"The stronger version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--50, #EBE0FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--strongest\",\n description: \"The strongest version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--25, #F8F5FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--indigo--200, #BB99FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--100, #C9ADFF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weaker\",\n description: \"The weaker version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--indigo--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--200, #BB99FF)\"\n }\n}, {\n name: \"color--background--spectrum-indigo--weakest\",\n description: \"The weakest version of spectrum indigo for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--indigo--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--background--spectrum-mint--default\",\n description: \"The default version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#01af6a\",\n \"ursa-light\": \"var(--smar--com--color--mint--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--75, #8EE69D)\"\n }\n}, {\n name: \"color--background--spectrum-mint--strong\",\n description: \"The strong version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--mint--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--spectrum-mint--stronger\",\n description: \"The stronger version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--35, #D2F9D8)\"\n }\n}, {\n name: \"color--background--spectrum-mint--strongest\",\n description: \"The strongest version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--mint--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weak\",\n description: \"The weak version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#40c28f\",\n \"ursa-light\": \"var(--smar--com--color--mint--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--100, #62D574)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weaker\",\n description: \"The weaker version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--mint--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--background--spectrum-mint--weakest\",\n description: \"The weakest version of spectrum mint for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bbe7d6\",\n \"ursa-light\": \"var(--smar--com--color--mint--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--strong\",\n description: \"The strong version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--60, #DCDEEA)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--stronger\",\n description: \"The stronger version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--strongest\",\n description: \"The strongest version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weak\",\n description: \"The weak version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weaker\",\n description: \"The weaker version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-neutral--weakest\",\n description: \"The weakest version of spectrum neutral for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--background--spectrum-orange--default\",\n description: \"The default version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e18502\",\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"color--background--spectrum-orange--strong\",\n description: \"The strong version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ab6600\",\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--60, #FED5CD)\"\n }\n}, {\n name: \"color--background--spectrum-orange--stronger\",\n description: \"The stronger version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--orange--600, #973421)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--50, #FFE1DC)\"\n }\n}, {\n name: \"color--background--spectrum-orange--strongest\",\n description: \"The strongest version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--35, #FFEEEB)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weak\",\n description: \"The weak version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffb761\",\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weaker\",\n description: \"The weaker version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fee3c0\",\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"color--background--spectrum-orange--weakest\",\n description: \"The weakest version of spectrum orange for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff4e6\",\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--strong\",\n description: \"The strong version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--60, #F5D0FB)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--stronger\",\n description: \"The stronger version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--50, #F8DDFD)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--strongest\",\n description: \"The strongest version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--25, #FDF5FF)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weak\",\n description: \"The weak version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weaker\",\n description: \"The weaker version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\"\n }\n}, {\n name: \"color--background--spectrum-orchid--weakest\",\n description: \"The weakest version of spectrum orchid for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--background--spectrum-pink--default\",\n description: \"The default version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--pink--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"color--background--spectrum-pink--strong\",\n description: \"The strong version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--60, #FDD3EC)\"\n }\n}, {\n name: \"color--background--spectrum-pink--stronger\",\n description: \"The stronger version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"color--background--spectrum-pink--strongest\",\n description: \"The strongest version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--25, #FFF5FA)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weak\",\n description: \"The weak version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--pink--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weaker\",\n description: \"The weaker version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--200, #F589C8)\"\n }\n}, {\n name: \"color--background--spectrum-pink--weakest\",\n description: \"The weakest version of spectrum pink for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-red--default\",\n description: \"The default version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ee6f4c\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--background--spectrum-red--strong\",\n description: \"The strong version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--background--spectrum-red--stronger\",\n description: \"The stronger version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"color--background--spectrum-red--strongest\",\n description: \"The strongest version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--background--spectrum-red--weak\",\n description: \"The weak version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f6b09d\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--background--spectrum-red--weaker\",\n description: \"The weaker version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--background--spectrum-red--weakest\",\n description: \"The weakest version of spectrum red for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--background--spectrum-rose--default\",\n description: \"The default version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c76ca1\",\n \"ursa-light\": \"var(--smar--com--color--rose--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--75, #FDC4E4)\"\n }\n}, {\n name: \"color--background--spectrum-rose--strong\",\n description: \"The strong version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#b94d90\",\n \"ursa-light\": \"var(--smar--com--color--rose--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--60, #FDD3EC)\"\n }\n}, {\n name: \"color--background--spectrum-rose--stronger\",\n description: \"The stronger version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--50, #FEE1F2)\"\n }\n}, {\n name: \"color--background--spectrum-rose--strongest\",\n description: \"The strongest version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--rose--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--25, #FFF5FA)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weak\",\n description: \"The weak version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e5b8d1\",\n \"ursa-light\": \"var(--smar--com--color--rose--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--100, #F9A4D6)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weaker\",\n description: \"The weaker version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5e1ec\",\n \"ursa-light\": \"var(--smar--com--color--rose--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-rose--weakest\",\n description: \"The weakest version of spectrum rose for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fbf3f8\",\n \"ursa-light\": \"var(--smar--com--color--rose--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--background--spectrum-slate--default\",\n description: \"The default version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--75, #D0D3E2)\"\n }\n}, {\n name: \"color--background--spectrum-slate--strong\",\n description: \"The strong version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--60, #DCDEEA)\"\n }\n}, {\n name: \"color--background--spectrum-slate--stronger\",\n description: \"The stronger version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--50, #E5E7F0)\"\n }\n}, {\n name: \"color--background--spectrum-slate--strongest\",\n description: \"The strongest version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--25, #F5F6FA)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weak\",\n description: \"The weak version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--100, #B8BDD1)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weaker\",\n description: \"The weaker version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--200, #A6ACC4)\"\n }\n}, {\n name: \"color--background--spectrum-slate--weakest\",\n description: \"The weakest version of spectrum slate for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--background--spectrum-teal--default\",\n description: \"The default version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#4eaa9b\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"color--background--spectrum-teal--strong\",\n description: \"The strong version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#008476\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--60, #9CECDC)\"\n }\n}, {\n name: \"color--background--spectrum-teal--stronger\",\n description: \"The stronger version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"color--background--spectrum-teal--strongest\",\n description: \"The strongest version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--25, #E8FDF9)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weak\",\n description: \"The weak version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#a1c9c2\",\n \"ursa-light\": \"var(--smar--com--color--teal--200, #30C0A3)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weaker\",\n description: \"The weaker version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#dceae7\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--200, #30C0A3)\"\n }\n}, {\n name: \"color--background--spectrum-teal--weakest\",\n description: \"The weakest version of spectrum teal for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f1f7f6\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"color--background--spectrum-violet--default\",\n description: \"The default version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#848be9\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--strong\",\n description: \"The strong version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--60, #E0D1FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--stronger\",\n description: \"The stronger version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--strongest\",\n description: \"The strongest version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--25, #F8F5FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weak\",\n description: \"The weak version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weaker\",\n description: \"The weaker version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\"\n }\n}, {\n name: \"color--background--spectrum-violet--weakest\",\n description: \"The weakest version of spectrum violet for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5f5fd\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6a907\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--strong\",\n description: \"The strong version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#996f00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--50, #FDE6AF)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--stronger\",\n description: \"The stronger version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--35, #FFF0CC)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--strongest\",\n description: \"The strongest version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#3d2c00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weak\",\n description: \"The weak version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#f5cf6a\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weaker\",\n description: \"The weaker version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#ffefc5\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"color--background--spectrum-yellow--weakest\",\n description: \"The weakest version of spectrum yellow for background colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#fff8e7\",\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"color--background--success--default\",\n description: \"The default version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--mint--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--25, #E7FDEB)\"\n }\n}, {\n name: \"color--background--success--weak\",\n description: \"The weak version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--mint--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--60, #A1EDAD)\"\n }\n}, {\n name: \"color--background--success--weaker\",\n description: \"The weaker version of a background color to indicate success.\",\n value: {\n \"lodestar-light\": \"#bbe7d6\",\n \"ursa-light\": \"var(--smar--com--color--mint--25, #E7FDEB)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--background--surfaces--body\",\n description: \"The background color for the document body.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--surfaces--canvas\",\n description: \"The background color for the canvas surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--slate--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--900, #11131D)\"\n }\n}, {\n name: \"color--background--surfaces--overlay\",\n description: \"The background color for the overlay.\",\n value: {\n \"lodestar-light\": \"rgba(0, 0, 0, 0.1)\",\n \"ursa-light\": \"#24273214\",\n \"ursa-dark\": \"#6B739480\"\n }\n}, {\n name: \"color--background--surfaces--stage\",\n description: \"The background color for the stage surface.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--background--surfaces--work\",\n description: \"The background color the work surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--background--warning--default\",\n description: \"The default version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#cc9c31\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--25, #FFF6E0)\"\n }\n}, {\n name: \"color--background--warning--weak\",\n description: \"The weak version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--gold--50, #FDE6AF)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--60, #FBDA8D)\"\n }\n}, {\n name: \"color--background--warning--weaker\",\n description: \"The weaker version of a background color to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#fbeccb\",\n \"ursa-light\": \"var(--smar--com--color--gold--25, #FFF6E0)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--border--error--default\",\n description: \"The default border to indicate an error.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--neutral--default\",\n description: \"The default neutral color border.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--border--neutral--strong\",\n description: \"The strong neutral color border.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--border--neutral--stronger\",\n description: \"The stronger neutral color border.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--border--neutral--strongest\",\n description: \"The strongest neutral color border.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--border--neutral--weak\",\n description: \"The weak neutral color border.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--border--neutral--weaker\",\n description: \"The weaker neutral color border.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--border--neutral--weakest\",\n description: \"The weakest neutral color border.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--border--primary--default\",\n description: \"The weakest primary color border.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--border--primary--weak\",\n description: \"The weak primary color border.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--border--primary--weaker\",\n description: \"The weaker primary color border.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--border--primary--weakest\",\n description: \"The weakest primary color border.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--border--slate--default\",\n description: \"The default slate color border.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--default, #878DAB)\"\n }\n}, {\n name: \"color--border--slate--strong\",\n description: \"The strong slate color border.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--strong, #A6ACC4)\"\n }\n}, {\n name: \"color--border--slate--stronger\",\n description: \"The stronger slate color border.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--stronger, #B8BDD1)\"\n }\n}, {\n name: \"color--border--slate--strongest\",\n description: \"The strongest slate color border.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--strongest, #D0D3E2)\"\n }\n}, {\n name: \"color--border--slate--weak\",\n description: \"The weak slate color border.\",\n value: {\n \"lodestar-light\": \"#e0e0e0\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weak, #6B7394)\"\n }\n}, {\n name: \"color--border--slate--weaker\",\n description: \"The weaker slate color border.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weaker, #5F6786)\"\n }\n}, {\n name: \"color--border--slate--weakest\",\n description: \"The weakest slate color border.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--border--neutral--weakest, #363C54)\"\n }\n}, {\n name: \"color--border--spectrum-aqua--default\",\n description: \"The border color for spectrum aqua. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--300, #28A98F)\"\n }\n}, {\n name: \"color--border--spectrum-azure--default\",\n description: \"The border color for spectrum azure. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--border--spectrum-blue--default\",\n description: \"The border color for spectrum blue. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--border--spectrum-slate--default\",\n description: \"The border color for spectrum slate. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--300, #878DAB)\"\n }\n}, {\n name: \"color--border--spectrum-gold--default\",\n description: \"The border color for spectrum gold. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--300, #BF8E1D)\"\n }\n}, {\n name: \"color--border--spectrum-green--default\",\n description: \"The border color for spectrum green. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--border--spectrum-indigo--default\",\n description: \"The border color for spectrum indigo. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--border--spectrum-mint--default\",\n description: \"The border color for spectrum mint. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--border--spectrum-neutral--default\",\n description: \"The border color for spectrum neutral. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--border--spectrum-orange--default\",\n description: \"The border color for spectrum orange. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--border--spectrum-orchid--default\",\n description: \"The border color for spectrum orchid. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--border--spectrum-pink--default\",\n description: \"The border color for spectrum pink. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"color--border--spectrum-red--default\",\n description: \"The border color for spectrum red. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--spectrum-rose--default\",\n description: \"The border color for spectrum rose. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--300, #E76AB3)\"\n }\n}, {\n name: \"color--border--spectrum-teal--default\",\n description: \"The border color for spectrum teal. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"color--border--spectrum-violet--default\",\n description: \"The border color for spectrum violet. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"color--border--spectrum-yellow--default\",\n description: \"The border color for spectrum yellow. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"color--border--success--default\",\n description: \"The default border to indicate success.\",\n value: {\n \"lodestar-light\": \"#01af6a\",\n \"ursa-light\": \"var(--smar--com--color--mint--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--border--surfaces--body\",\n description: \"The border color that matches the document body.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--body, #11131D)\"\n }\n}, {\n name: \"color--border--surfaces--canvas\",\n description: \"The border color that matches the canvas surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--canvas, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--canvas, #11131D)\"\n }\n}, {\n name: \"color--border--surfaces--focus\",\n description: \"The border color for focus\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--border--surfaces--stage\",\n description: \"The border color that matches the stage surface.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--stage, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--stage, #363C54)\"\n }\n}, {\n name: \"color--border--surfaces--work\",\n description: \"The border color that matches the work surface.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--background--surfaces--body, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--background--surfaces--body, #11131D)\"\n }\n}, {\n name: \"color--border--warning--default\",\n description: \"The default border to indicate a warning.\",\n value: {\n \"lodestar-light\": \"#ffc33e\",\n \"ursa-light\": \"var(--smar--com--color--gold--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--300, #BF8E1D)\"\n }\n}, {\n name: \"color--icons--destructive--default\",\n description: \"The default version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#ee6f4c\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--icons--destructive--strong\",\n description: \"The strong version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#d14424\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--icons--destructive--stronger\",\n description: \"The stronger version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--icons--destructive--strongest\",\n description: \"The strongest version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--icons--destructive--weak\",\n description: \"The weak version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#f6b09d\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--icons--destructive--weaker\",\n description: \"The weaker version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#ffe0d7\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--icons--destructive--weakest\",\n description: \"The weakest version of destructive for icons.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--icons--destructive-inverse--stronger\",\n description: \"The stronger version of destructive inverse icons.\",\n value: {\n \"lodestar-light\": \"#fff3ef\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--icons--error--default\",\n description: \"The default version of error icons. Used for icons that denote an error.\",\n value: {\n \"lodestar-light\": \"#7c1e26\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--icons--error--weak\",\n description: \"The weak version of error icons. Used for icons that denote an error.\",\n value: {\n \"lodestar-light\": \"#d03340\",\n \"ursa-light\": \"var(--smar--com--color--red--200, #F29298)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--icons--info--default\",\n description: \"The default version of info icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--icons--info--weak\",\n description: \"The weak version of info icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--icons--neutral--default\",\n description: \"The default version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--icons--neutral--strong\",\n description: \"The strong version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--icons--neutral--stronger\",\n description: \"The stronger version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--icons--neutral--strongest\",\n description: \"The strongest version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--icons--neutral--weak\",\n description: \"The weak version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--icons--neutral--weaker\",\n description: \"The weaker version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"color--icons--neutral--weakest\",\n description: \"The weakest version of neutral for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--icons--neutral-inverse--default\",\n description: \"The default version of neutral inverse for icons.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--neutral-inverse--weak\",\n description: \"The weaker version of neutral inverse for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--60, #DCDEEA)\"\n }\n}, {\n name: \"color--icons--primary--default\",\n description: \"The default version of primary icons.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--icons--primary--strong\",\n description: \"The strong version of primary icons.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--icons--primary--stronger\",\n description: \"The stronger version of primary icons.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--icons--primary--strongest\",\n description: \"The strongest version of primary icons.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--icons--primary--weak\",\n description: \"The weak version of primary icons.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--icons--primary--weaker\",\n description: \"The weaker version of primary icons.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\"\n }\n}, {\n name: \"color--icons--primary--weakest\",\n description: \"The weakest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--icons--primary-inverse--stronger\",\n description: \"The stronger version of primary inverse icons\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--25, #F5F8FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--icons--slate--default\",\n description: \"The default version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--default, #878DAB)\"\n }\n}, {\n name: \"color--icons--slate--strong\",\n description: \"The strong version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--strong, #A6ACC4)\"\n }\n}, {\n name: \"color--icons--slate--stronger\",\n description: \"The stronger version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--stronger, #B8BDD1)\"\n }\n}, {\n name: \"color--icons--slate--strongest\",\n description: \"The strongest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--strongest, #D0D3E2)\"\n }\n}, {\n name: \"color--icons--slate--weak\",\n description: \"The weak version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weak, #6B7394)\"\n }\n}, {\n name: \"color--icons--slate--weaker\",\n description: \"The weaker version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weaker, #5F6786)\"\n }\n}, {\n name: \"color--icons--slate--weakest\",\n description: \"The weakest version of slate for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--icons--neutral--weakest, #4C5470)\"\n }\n}, {\n name: \"color--icons--slate-inverse--default\",\n description: \"The default version of slate inverse for icons.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--slate-inverse--weak\",\n description: \"The weak version of slate inverse for icons.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--60, #DCDEEA)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--60, #DCDEEA)\"\n }\n}, {\n name: \"color--icons--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-aqua--default, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-aqua--default, #042A23)\"\n }\n}, {\n name: \"color--icons--spectrum-azure--default\",\n description: \"The default version of spectrum azure for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-azure--default, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-azure--default, #022A36)\"\n }\n}, {\n name: \"color--icons--spectrum-blue--default\",\n description: \"The default version of spectrum blue for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-blue--default, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-blue--default, #031C59)\"\n }\n}, {\n name: \"color--icons--spectrum-gold--default\",\n description: \"The default version of spectrum gold for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-gold--default, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-gold--default, #322301)\"\n }\n}, {\n name: \"color--icons--spectrum-green--default\",\n description: \"The default version of spectrum green for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-green--default, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-green--default, #042F0A)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-indigo--default, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-indigo--default, #26026E)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--500, #7847DC)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weaker\",\n description: \"The weaker version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#bab8f1\",\n \"ursa-light\": \"var(--smar--com--color--indigo--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--300, #A87EFB)\"\n }\n}, {\n name: \"color--icons--spectrum-indigo--weakest\",\n description: \"The weakest version of spectrum indigo for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#e6e5fa\",\n \"ursa-light\": \"var(--smar--com--color--indigo--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--100, #C9ADFF)\"\n }\n}, {\n name: \"color--icons--spectrum-mint--default\",\n description: \"The default version of spectrum mint for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-mint--default, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-mint--default, #042F0A)\"\n }\n}, {\n name: \"color--icons--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--text--neutral--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--strong, #FFFFFF)\"\n }\n}, {\n name: \"color--icons--spectrum-orange--default\",\n description: \"The default version of spectrum orange for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-orange--default, #4C1106)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-orange--default, #4C1106)\"\n }\n}, {\n name: \"color--icons--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-orchid--default, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-orchid--default, #41064B)\"\n }\n}, {\n name: \"color--icons--spectrum-pink--default\",\n description: \"The default version of spectrum pink for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-pink--default, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-pink--default, #4C062F)\"\n }\n}, {\n name: \"color--icons--spectrum-red--default\",\n description: \"The default version of spectrum red for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-red--default, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-red--default, #570006)\"\n }\n}, {\n name: \"color--icons--spectrum-rose--default\",\n description: \"The default version of spectrum rose for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-rose--default, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-rose--default, #4C062F)\"\n }\n}, {\n name: \"color--icons--spectrum-slate--default\",\n description: \"The default version of spectrum slate for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--text--slate--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--slate--strong)\"\n }\n}, {\n name: \"color--icons--spectrum-teal--default\",\n description: \"The default version of spectrum teal for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-teal--default, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-teal--default, #042A23)\"\n }\n}, {\n name: \"color--icons--spectrum-violet--default\",\n description: \"The default version of spectrum violet for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-violet--default, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-violet--default, #26026E)\"\n }\n}, {\n name: \"color--icons--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for icon colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--text--spectrum-yellow--default, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--text--spectrum-yellow--default, #322301)\"\n }\n}, {\n name: \"color--icons--success--default\",\n description: \"The default version of success icons. Used for icons that denote success.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--400, #1D862F)\"\n }\n}, {\n name: \"color--icons--success--weak\",\n description: \"The weak version of success icons. Used for icons that denote success.\",\n value: {\n \"lodestar-light\": \"#008c54\",\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--icons--warning--default\",\n description: \"The default version of warning icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--500, #88620C)\"\n }\n}, {\n name: \"color--icons--warning--weak\",\n description: \"The weak version of warning icons. Used for icons that denote information.\",\n value: {\n \"lodestar-light\": \"#ffc33e\",\n \"ursa-light\": \"var(--smar--com--color--gold--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--text--destructive--default\",\n description: \"The default version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--text--destructive--strong\",\n description: \"The strong version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--text--destructive--stronger\",\n description: \"The stronger version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--700, #7F050D)\",\n \"ursa-dark\": \"var(--smar--com--color--red--700, #7F050D)\"\n }\n}, {\n name: \"color--text--destructive--strongest\",\n description: \"The strongest version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-dark\": \"var(--smar--com--color--red--900, #330003)\"\n }\n}, {\n name: \"color--text--destructive--weak\",\n description: \"The weak version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--text--destructive--weaker\",\n description: \"The weaker version of destructive text colors.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--60, #FED7DA)\",\n \"ursa-dark\": \"var(--smar--com--color--red--60, #FED7DA)\"\n }\n}, {\n name: \"color--text--destructive--weakest\",\n description: \"The weakest version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--text--error--default\",\n description: \"The default version of error text colors. Used on error text.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\"\n }\n}, {\n name: \"color--text--error--weak\",\n description: \"The weak version of error text colors. Used on error text.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--text--info--default\",\n description: \"The default version of info text colors. Used on info text.\",\n value: {\n \"lodestar-light\": \"#3f4952\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\"\n }\n}, {\n name: \"color--text--info--weak\",\n description: \"The weak version of info text colors. Used on info text.\",\n value: {\n \"lodestar-light\": \"#5e6d7b\",\n \"ursa-light\": \"var(--smar--com--color--azure--700, #064355)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--text--neutral--default\",\n description: \"The default version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"color--text--neutral--strong\",\n description: \"The strong version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral--stronger\",\n description: \"The stronger version of neutral text colors. In v4 this is the same as neutral--strong.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--text--neutral--strong, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral--weak\",\n description: \"The weak version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"color--text--neutral--weaker\",\n description: \"The weaker version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--text--neutral--weakest\",\n description: \"The weakest version of neutral text colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--text--neutral-inverse--default\",\n description: \"The weaker version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"color--text--neutral-inverse--strong\",\n description: \"The weak version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--neutral-inverse--weak\",\n description: \"The weakest version of neutral inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"color--text--primary--default\",\n description: \"The default version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#5996d6\",\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\"\n }\n}, {\n name: \"color--text--primary--strong\",\n description: \"The strong version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#007cc5\",\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"color--text--primary--stronger\",\n description: \"The stronger version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\"\n }\n}, {\n name: \"color--text--primary--strongest\",\n description: \"The strongest version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--text--primary--weak\",\n description: \"The weak version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#a7c1e4\",\n \"ursa-light\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"color--text--primary--weaker\",\n description: \"The weaker version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#d8e4fa\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--35, #EBF1FF)\"\n }\n}, {\n name: \"color--text--primary--weakest\",\n description: \"The weakest version of primary text colors.\",\n value: {\n \"lodestar-light\": \"#f0f5fd\",\n \"ursa-light\": \"var(--smar--com--color--blue--25, #F5F8FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--25, #F5F8FF)\"\n }\n}, {\n name: \"color--text--slate--default\",\n description: \"The default version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--default, #E5E7F0)\"\n }\n}, {\n name: \"color--text--slate--strong\",\n description: \"The strong version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--strong, #FFFFFF)\"\n }\n}, {\n name: \"color--text--slate--weak\",\n description: \"The weak version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weak, #B8BDD1)\"\n }\n}, {\n name: \"color--text--slate--weaker\",\n description: \"The weaker version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#979797\",\n \"ursa-light\": \"var(--smar--com--color--slate--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weaker, #A6ACC4)\"\n }\n}, {\n name: \"color--text--slate--weakest\",\n description: \"The weakest version of slate text colors.\",\n value: {\n \"lodestar-light\": \"#c0c0c0\",\n \"ursa-light\": \"var(--smar--com--color--slate--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--text--neutral--weakest, #878DAB)\"\n }\n}, {\n name: \"color--text--slate-inverse--default\",\n description: \"The default version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#f2f2f2\",\n \"ursa-light\": \"var(--smar--com--color--slate--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--25, #F5F6FA)\"\n }\n}, {\n name: \"color--text--slate-inverse--strong\",\n description: \"The strong version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"color--text--slate-inverse--weak\",\n description: \"The weak version of slate inverse text colors.\",\n value: {\n \"lodestar-light\": \"#ebebeb\",\n \"ursa-light\": \"var(--smar--com--color--slate--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--50, #E5E7F0)\"\n }\n}, {\n name: \"color--text--spectrum-aqua--default\",\n description: \"The default version of spectrum aqua for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--aqua--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--800, #042A23)\"\n }\n}, {\n name: \"color--text--spectrum-aqua--strong\",\n description: \"The strong version of spectrum aqua for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--aqua--900, #001A17)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--600, #0F6151)\"\n }\n}, {\n name: \"color--text--spectrum-azure--default\",\n description: \"The default version of spectrum azure for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--azure--800, #022A36)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--800, #022A36)\"\n }\n}, {\n name: \"color--text--spectrum-azure--strong\",\n description: \"The strong version of spectrum azure for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--azure--900, #001F33)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--text--spectrum-blue--default\",\n description: \"The default version of spectrum blue for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004173\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--text--spectrum-blue--strong\",\n description: \"The strong version of spectrum blue for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002847\",\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--text--spectrum-gold--default\",\n description: \"The default version of spectrum gold for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--gold--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--800, #322301)\"\n }\n}, {\n name: \"color--text--spectrum-gold--strong\",\n description: \"The strong version of spectrum gold for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--gold--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--600, #705006)\"\n }\n}, {\n name: \"color--text--spectrum-green--default\",\n description: \"The default version of spectrum green for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#275600\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"color--text--spectrum-green--strong\",\n description: \"The strong version of spectrum green for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#193700\",\n \"ursa-light\": \"var(--smar--com--color--green--900, #081A00)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--default\",\n description: \"The default version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--indigo--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--800, #26026E)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--strong\",\n description: \"The strong version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--indigo--900, #160042)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--600, #6329D6)\"\n }\n}, {\n name: \"color--text--spectrum-indigo--weak\",\n description: \"The weak version of spectrum indigo for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#566ae3\",\n \"ursa-light\": \"var(--smar--com--color--indigo--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--indigo--900, #160042)\"\n }\n}, {\n name: \"color--text--spectrum-mint--default\",\n description: \"The default version of spectrum mint for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--mint--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--800, #042F0A)\"\n }\n}, {\n name: \"color--text--spectrum-mint--strong\",\n description: \"The strong version of spectrum mint for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--mint--900, #081A00)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--600, #0F621C)\"\n }\n}, {\n name: \"color--text--spectrum-neutral--default\",\n description: \"The default version of spectrum neutral for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"color--text--spectrum-neutral--strong\",\n description: \"The strong version of spectrum neutral for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--neutral--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--text--spectrum-orange--default\",\n description: \"The default version of spectrum orange for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#653300\",\n \"ursa-light\": \"var(--smar--com--color--orange--800, #4C1106)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--800, #4C1106)\"\n }\n}, {\n name: \"color--text--spectrum-orange--strong\",\n description: \"The strong version of spectrum orange for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#492400\",\n \"ursa-light\": \"var(--smar--com--color--orange--900, #2D0800)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--600, #973421)\"\n }\n}, {\n name: \"color--text--spectrum-orchid--default\",\n description: \"The default version of spectrum orchid for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--orchid--800, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--800, #41064B)\"\n }\n}, {\n name: \"color--text--spectrum-orchid--strong\",\n description: \"The strong version of spectrum orchid for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--orchid--900, #27002D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\"\n }\n}, {\n name: \"color--text--spectrum-pink--default\",\n description: \"The default version of spectrum pink for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"color--text--spectrum-pink--strong\",\n description: \"The strong version of spectrum pink for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--pink--900, #2E001C)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--600, #992468)\"\n }\n}, {\n name: \"color--text--spectrum-red--default\",\n description: \"The default version of spectrum red for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#9d0c00\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"color--text--spectrum-red--strong\",\n description: \"The strong version of spectrum red for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#6d0800\",\n \"ursa-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"color--text--spectrum-rose--default\",\n description: \"The default version of spectrum rose for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#8b2066\",\n \"ursa-light\": \"var(--smar--com--color--rose--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--800, #4C062F)\"\n }\n}, {\n name: \"color--text--spectrum-rose--strong\",\n description: \"The strong version of spectrum rose for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#610e44\",\n \"ursa-light\": \"var(--smar--com--color--rose--900, #2E001C)\",\n \"ursa-dark\": \"var(--smar--com--color--rose--600, #992468)\"\n }\n}, {\n name: \"color--text--spectrum-slate--default\",\n description: \"The default version of spectrum slate for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#727272\",\n \"ursa-light\": \"var(--smar--com--color--slate--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--800, #212536)\"\n }\n}, {\n name: \"color--text--spectrum-slate--strong\",\n description: \"The strong version of spectrum slate for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#444444\",\n \"ursa-light\": \"var(--smar--com--color--slate--900, #11131D)\",\n \"ursa-dark\": \"var(--smar--com--color--slate--600, #4C5470)\"\n }\n}, {\n name: \"color--text--spectrum-teal--default\",\n description: \"The default version of spectrum teal for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#004e43\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"color--text--spectrum-teal--strong\",\n description: \"The strong version of spectrum teal for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#002923\",\n \"ursa-light\": \"var(--smar--com--color--teal--900, #001A17)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"color--text--spectrum-violet--default\",\n description: \"The default version of spectrum violet for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c3491\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"color--text--spectrum-violet--strong\",\n description: \"The strong version of spectrum violet for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#0c245b\",\n \"ursa-light\": \"var(--smar--com--color--violet--900, #160042)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--600, #6329D6)\"\n }\n}, {\n name: \"color--text--spectrum-yellow--default\",\n description: \"The default version of spectrum yellow for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#5a4000\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"color--text--spectrum-yellow--strong\",\n description: \"The strong version of spectrum yellow for text colors. This should only be used within special circumstances where you need the full color spectrum.\",\n value: {\n \"lodestar-light\": \"#3d2c00\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"color--text--success--default\",\n description: \"The default version of success text colors. Used on success text.\",\n value: {\n \"lodestar-light\": \"#00462a\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--200, #32C84C)\"\n }\n}, {\n name: \"color--text--success--weak\",\n description: \"The weak version of success text colors. Used on success text.\",\n value: {\n \"lodestar-light\": \"#00693f\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--mint--300, #29AE40)\"\n }\n}, {\n name: \"color--text--warning--default\",\n description: \"The default version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"#664e18\",\n \"ursa-light\": \"var(--smar--com--color--gold--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"color--text--warning--weak\",\n description: \"The weak version of warning text colors. Used on warning text.\",\n value: {\n \"lodestar-light\": \"#997525\",\n \"ursa-light\": \"var(--smar--com--color--gold--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--gold--200, #DEA41B)\"\n }\n}, {\n name: \"elevation--default\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 4px 6px rgba(54, 60, 84, 0.12), 0px 6px 16px 6px rgba(54, 60, 84, 0.16)\",\n \"ursa-dark\": \"0px 4px 6px rgba(17, 19, 29, 0.24), 0px 6px 16px 6px rgba(17, 19, 29, 0.24)\"\n }\n}, {\n name: \"elevation--high\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.12), 0px 12px 24px 8px rgba(54, 60, 84, 0.2)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.2), 0px 12px 24px 8px rgba(17, 19, 29, 0.28)\"\n }\n}, {\n name: \"elevation--low\",\n description: \"\",\n value: {\n \"lodestar-light\": \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-0\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-1\",\n description: \"For menus - both Menu and Select\",\n value: {\n \"lodestar-light\": \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.16), 0px 6px 12px rgba(54, 60, 84, 0.12)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.24), 0px 6px 12px rgba(17, 19, 29, 0.32)\"\n }\n}, {\n name: \"elevation--shadow-2\",\n description: \"Card uses this, Contact Card uses this, Pagination\",\n value: {\n \"lodestar-light\": \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 4px 6px rgba(54, 60, 84, 0.12), 0px 6px 16px 6px rgba(54, 60, 84, 0.16)\",\n \"ursa-dark\": \"0px 4px 6px rgba(17, 19, 29, 0.24), 0px 6px 16px 6px rgba(17, 19, 29, 0.24)\"\n }\n}, {\n name: \"elevation--shadow-3\",\n description: \"For modals, left rails\",\n value: {\n \"lodestar-light\": \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n \"ursa-light\": \"0px 2px 4px rgba(54, 60, 84, 0.12), 0px 12px 24px 8px rgba(54, 60, 84, 0.2)\",\n \"ursa-dark\": \"0px 2px 4px rgba(17, 19, 29, 0.2), 0px 12px 24px 8px rgba(17, 19, 29, 0.28)\"\n }\n}, {\n name: \"focus-indicator--border-primary\",\n description: \"This is the main outer border for a focus ring\",\n value: {\n \"lodestar-light\": \"#6097d2\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"focus-indicator--border-secondary\",\n description: \"This inner border provides more contrast between the focused element for scenarios where the element is on a background other than the work-surface\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"form-input--border--active\",\n description: \"Used for form elements that have an accompanying menu or popup. When that popup is open, this color is used for the associated control's border.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"form-input--border--error\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"form-input--border--focus\",\n description: \"The border applied to form elements which are currently focused\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\"\n }\n}, {\n name: \"form-input--border--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"form-input--border--readonly\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"form-input--border--rest\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"gold--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"gold--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"gold--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"gold--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"gold--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"gold--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"gold--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"gradient--background--ai-static-default--rest\",\n description: \"The linear gradient for static ai elements at rest\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--rest\",\n description: \"The linear gradient for ai elements at rest\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--hover\",\n description: \"The linear gradient for ai elements when hovered\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\"\n }\n}, {\n name: \"gradient--background--ai-interactive--default--press\",\n description: \"The linear gradient for ai elements when pressed\",\n value: {\n \"lodestar-light\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n \"ursa-light\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n \"ursa-dark\": \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\"\n }\n}, {\n name: \"gradient--navigation\",\n description: \"The linear gradient to power Smartsheet's navigation bar\",\n value: {\n \"lodestar-light\": \"#003059\",\n \"ursa-light\": \"linear-gradient(180deg, #184BC3, #5A43D7)\",\n \"ursa-dark\": \"linear-gradient(180deg, #184BC3, #5A43D7)\"\n }\n}, {\n name: \"gradient--progress-bar\",\n description: \"The linear gradient to power Smartsheet's progress bar\",\n value: {\n \"lodestar-light\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n \"ursa-light\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n \"ursa-dark\": \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\"\n }\n}, {\n name: \"gradient--upsell\",\n description: \"The linear gradient to power Smartsheet's upsell banner\",\n value: {\n \"lodestar-light\": \"#003059\",\n \"ursa-light\": \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n \"ursa-dark\": \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\"\n }\n}, {\n name: \"green--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"green--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"green--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"green--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"green--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"green--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"green--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"indigo--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"indigo--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--50, #EBE0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"indigo--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"indigo--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"indigo--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"indigo--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"indigo--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"mint--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"mint--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"mint--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"mint--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"mint--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"mint--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"mint--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"neutral--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"neutral--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"neutral--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"neutral--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"neutral--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"neutral--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"neutral--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"orange--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"orange--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"orange--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"orange--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"orange--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"orange--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--900, #2D0800)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--900, #2D0800)\"\n }\n}, {\n name: \"orange--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--700, #732111)\"\n }\n}, {\n name: \"orchid--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"orchid--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--50, #F8DDFD)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--50, #F8DDFD)\"\n }\n}, {\n name: \"orchid--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\"\n }\n}, {\n name: \"orchid--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"orchid--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"orchid--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--800, #41064B)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--800, #41064B)\"\n }\n}, {\n name: \"orchid--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\"\n }\n}, {\n name: \"pink--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--300, #E76AB3)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--300, #E76AB3)\"\n }\n}, {\n name: \"pink--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--50, #FEE1F2)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"pink--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"pink--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"pink--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--400, #CE3B91)\"\n }\n}, {\n name: \"pink--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"pink--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--600, #992468)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--600, #992468)\"\n }\n}, {\n name: \"red--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"red--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"red--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"red--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"red--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"red--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"red--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"rose--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--200, #F589C8)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--200, #F589C8)\"\n }\n}, {\n name: \"rose--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--50, #FEE1F2)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--50, #FEE1F2)\"\n }\n}, {\n name: \"rose--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--100, #F9A4D6)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--100, #F9A4D6)\"\n }\n}, {\n name: \"rose--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--75, #FDC4E4)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--75, #FDC4E4)\"\n }\n}, {\n name: \"rose--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--400, #CE3B91)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--400, #CE3B91)\"\n }\n}, {\n name: \"rose--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--800, #4C062F)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--800, #4C062F)\"\n }\n}, {\n name: \"rose--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--pink--500, #B53680)\",\n \"ursa-dark\": \"var(--smar--com--color--pink--500, #B53680)\"\n }\n}, {\n name: \"selection--border\",\n description: \"Default select border\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"selection--border-alt\",\n description: \"Card hover\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"selection--border-glow\",\n description: \"Selection outer/inner glow\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"selection--range--border\",\n description: \"Default select range/container border\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"semantic--error--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-light\": \"var(--smar--com--color--red--50, #FFE0E3)\",\n \"ursa-dark\": \"var(--smar--com--color--red--50, #FFE0E3)\"\n }\n}, {\n name: \"semantic--error--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"semantic--error--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#e4969c\",\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"semantic--error--border\",\n description: \"Background color for elements that present critical information\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"semantic--error--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"semantic--error--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--900, #330003)\",\n \"ursa-light\": \"var(--smar--com--color--red--800, #570006)\",\n \"ursa-dark\": \"var(--smar--com--color--red--800, #570006)\"\n }\n}, {\n name: \"semantic--error--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-light\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\"\n }\n}, {\n name: \"semantic--info--background\",\n description: \"Backgrounds for banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-light\": \"var(--smar--com--color--blue--50, #DBE6FF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--50, #DBE6FF)\"\n }\n}, {\n name: \"semantic--info--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#cbd8e3\",\n \"ursa-light\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\"\n }\n}, {\n name: \"semantic--info--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#cbd8e3\",\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"semantic--info--border\",\n description: \"Background color for elements that inform the user of some information\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--500, #10718E)\"\n }\n}, {\n name: \"semantic--info--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"semantic--info--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--900, #001F33)\",\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"semantic--info--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"semantic--success--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-light\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\"\n }\n}, {\n name: \"semantic--success--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"semantic--success--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#7dd4b1\",\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"semantic--success--border\",\n description: \"Background color for elements that present a favorable outcome\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"semantic--success--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"semantic--success--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--900, #081A00)\",\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"semantic--success--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-light\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\"\n }\n}, {\n name: \"semantic--warning--background\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"semantic--warning--background--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"semantic--warning--background--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"#fcde9b\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"semantic--warning--border\",\n description: \"Background color for elements that provide caution\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"semantic--warning--icon\",\n description: \"Used for icons\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"semantic--warning--text\",\n description: \"Used on light backgrounds like banners and toasts\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"semantic--warning--text-inline\",\n description: \"Used for input validation\",\n value: {\n \"lodestar-light\": \"var(--smar--com--color--yellow--700, #543B03)\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"slate--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"slate--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"slate--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"slate--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"slate--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #8D94B0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #8D94B0)\"\n }\n}, {\n name: \"slate--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"slate--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"surface--canvas--background\",\n description: \"Default canvas surface background color\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"surface--canvas--border\",\n description: \"top of work surface line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--canvas--border-scroll\",\n description: \"Scroll border when scrolling below fixed areas like headers.\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\"\n }\n}, {\n name: \"surface--canvas--divider\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"surface--canvas--text\",\n description: \"Default canvas surface text color\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"surface--work--background\",\n description: \"Default work surface background color\",\n value: {\n \"lodestar-light\": \"#ffffff\",\n \"ursa-light\": \"var(--smar--com--color--neutral--00, #FFFFFF)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--00, #FFFFFF)\"\n }\n}, {\n name: \"surface--work--background--hint\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--25, #F5F6FA)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--25, #F5F6FA)\"\n }\n}, {\n name: \"surface--work--divider\",\n description: \"column header line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--work--divider-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--75, #D0D3E2)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--75, #D0D3E2)\"\n }\n}, {\n name: \"surface--work--divider-scroll\",\n description: \"scroll or column freeze line\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--50, #E5E7F0)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--50, #E5E7F0)\"\n }\n}, {\n name: \"surface--work--text\",\n description: \"Default work surface text color\",\n value: {\n \"lodestar-light\": \"#111111\",\n \"ursa-light\": \"var(--smar--com--color--neutral--800, #212536)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--800, #212536)\"\n }\n}, {\n name: \"surface--work--text--inactive\",\n description: \"Used for readonly form fields sometimes\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"surface--work--text--inactive-hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--neutral--500, #5F6786)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--500, #5F6786)\"\n }\n}, {\n name: \"teal--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"teal--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--50, #B5F2E6)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--50, #B5F2E6)\"\n }\n}, {\n name: \"teal--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--100, #5AD3BB)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--100, #5AD3BB)\"\n }\n}, {\n name: \"teal--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--75, #86E4D1)\"\n }\n}, {\n name: \"teal--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\"\n }\n}, {\n name: \"teal--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--800, #042A23)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--800, #042A23)\"\n }\n}, {\n name: \"teal--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"violet--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\"\n }\n}, {\n name: \"violet--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--50, #EBE0FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--50, #EBE0FF)\"\n }\n}, {\n name: \"violet--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--100, #C9ADFF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--100, #C9ADFF)\"\n }\n}, {\n name: \"violet--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"violet--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"violet--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--800, #26026E)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--800, #26026E)\"\n }\n}, {\n name: \"violet--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"yellow--background\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\"\n }\n}, {\n name: \"yellow--background-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"yellow--background-alt--active\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--300, #BF8E1D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--300, #BF8E1D)\"\n }\n}, {\n name: \"yellow--background-alt--hover\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"yellow--base\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"yellow--text\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--900, #1A1200)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--900, #1A1200)\"\n }\n}, {\n name: \"yellow--text-alt\",\n description: \"\",\n value: {\n \"lodestar-light\": \"\",\n \"ursa-light\": \"var(--smar--com--color--yellow--800, #322301)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--800, #322301)\"\n }\n}, {\n name: \"color--border--destructive--default\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"ursa-dark\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"lodestar-light\": \"var(--smar--com--color--red--500, #CE1723)\"\n }\n}, {\n name: \"color--border--destructive--weak\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"lodestar-light\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--border--destructive--weaker\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"ursa-dark\": \"var(--smar--com--color--red--500, #CE1723)\",\n \"lodestar-light\": \"var(--smar--com--color--red--100, #F7ABB0)\"\n }\n}, {\n name: \"color--border--destructive--weakest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--75, #FBC6C9)\",\n \"ursa-dark\": \"var(--smar--com--color--red--600, #AB0D17)\",\n \"lodestar-light\": \"var(--smar--com--color--red--75, #FBC6C9)\"\n }\n}, {\n name: \"color--icons--destructive-inverse--weakest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"ursa-dark\": \"var(--smar--com--color--red--25, #FFF5F6)\",\n \"lodestar-light\": \"var(--smar--com--color--red--25, #FFF5F6)\"\n }\n}, {\n name: \"color--elevation-high--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541A\",\n \"ursa-dark\": \"#11131D33\",\n \"lodestar-light\": \"#363C541A\"\n }\n}, {\n name: \"color--elevation-high--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C5424\",\n \"ursa-dark\": \"#11131D47\",\n \"lodestar-light\": \"#363C5424\"\n }\n}, {\n name: \"color--elevation-default--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-default--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-low--top\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C541F\",\n \"ursa-dark\": \"#11131D3D\",\n \"lodestar-light\": \"#363C541F\"\n }\n}, {\n name: \"color--elevation-low--bottom\",\n description: \"\",\n value: {\n \"ursa-light\": \"#363C5429\",\n \"ursa-dark\": \"#11131D52\",\n \"lodestar-light\": \"#363C5429\"\n }\n}, {\n name: \"color--charts--high-contrast--1--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--800, #031C59)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--800, #031C59)\"\n }\n}, {\n name: \"color--charts--high-contrast--1--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--900, #000F33)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--900, #000F33)\"\n }\n}, {\n name: \"color--charts--high-contrast--2--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--high-contrast--2--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--high-contrast--3--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--400, #1C826D)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--400, #1C826D)\"\n }\n}, {\n name: \"color--charts--high-contrast--3--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--500, #167461)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--300, #28A98F)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--500, #167461)\"\n }\n}, {\n name: \"color--charts--high-contrast--4--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"color--charts--high-contrast--4--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"color--charts--high-contrast--5--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--600, #4C5470)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--600, #4C5470)\"\n }\n}, {\n name: \"color--charts--high-contrast--5--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--700, #363C54)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--700, #363C54)\"\n }\n}, {\n name: \"color--charts--high-contrast--6--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--charts--high-contrast--6--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--charts--high-contrast--7--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--high-contrast--7--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--500, #10718E)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--500, #10718E)\"\n }\n}, {\n name: \"color--charts--high-contrast--8--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--400, #966E13)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--400, #966E13)\"\n }\n}, {\n name: \"color--charts--high-contrast--8--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"color--charts--high-contrast--9--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--700, #094814)\",\n \"ursa-dark\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"lodestar-light\": \"var(--smar--com--color--green--700, #094814)\"\n }\n}, {\n name: \"color--charts--high-contrast--9--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--800, #042F0A)\",\n \"ursa-dark\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"lodestar-light\": \"var(--smar--com--color--green--800, #042F0A)\"\n }\n}, {\n name: \"color--charts--high-contrast--10--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--high-contrast--10--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--60, #A1EDAD)\",\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"color--charts--high-contrast--11--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"color--charts--high-contrast--11--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--500, #A531B9)\"\n }\n}, {\n name: \"color--charts--high-contrast--12--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--600, #973421)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--600, #973421)\"\n }\n}, {\n name: \"color--charts--high-contrast--12--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--700, #732111)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--700, #732111)\"\n }\n}, {\n name: \"color--charts--colorful--1--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--colorful--1--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--60, #C7D8FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--colorful--2--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--100, #62D574)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"lodestar-light\": \"var(--smar--com--color--green--100, #62D574)\"\n }\n}, {\n name: \"color--charts--colorful--2--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"ursa-dark\": \"var(--smar--com--color--green--50, #B9F4C3)\",\n \"lodestar-light\": \"var(--smar--com--color--green--200, #32C84C)\"\n }\n}, {\n name: \"color--charts--colorful--3--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--60, #FBDA8D)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--60, #FBDA8D)\"\n }\n}, {\n name: \"color--charts--colorful--3--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--50, #FDE6AF)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--charts--colorful--4--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--charts--colorful--4--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--charts--colorful--5--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--100, #FDA796)\"\n }\n}, {\n name: \"color--charts--colorful--5--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--200, #FB8F79)\"\n }\n}, {\n name: \"color--charts--colorful--6--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--60, #F5D0FB)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--100, #E5A7F1)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--60, #F5D0FB)\"\n }\n}, {\n name: \"color--charts--colorful--6--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--charts--colorful--7--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--300, #CE73DE)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--300, #CE73DE)\"\n }\n}, {\n name: \"color--charts--colorful--7--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--400, #B53DCC)\"\n }\n}, {\n name: \"color--charts--colorful--8--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--charts--colorful--8--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--50, #C6EFFA)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--100, #6ACAE7)\"\n }\n}, {\n name: \"color--charts--colorful--9--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--charts--colorful--9--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--colorful--10--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--charts--colorful--10--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--700, #0D3491)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--300, #6692FA)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--700, #0D3491)\"\n }\n}, {\n name: \"color--charts--semantic-not-started--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--300, #878DAB)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--200, #A6ACC4)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--300, #878DAB)\"\n }\n}, {\n name: \"color--charts--semantic-not-started--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--neutral--400, #6B7394)\",\n \"ursa-dark\": \"var(--smar--com--color--neutral--100, #B8BDD1)\",\n \"lodestar-light\": \"var(--smar--com--color--neutral--400, #6B7394)\"\n }\n}, {\n name: \"color--charts--semantic-in-progress--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--400, #3A6FE9)\"\n }\n}, {\n name: \"color--charts--semantic-in-progress--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--100, #9EBBFF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--semantic-at-risk--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--100, #EFB32A)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--100, #EFB32A)\"\n }\n}, {\n name: \"color--charts--semantic-at-risk--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--200, #DEA41B)\"\n }\n}, {\n name: \"color--charts--semantic-completed--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--charts--semantic-completed--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--semantic-blocked--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--300, #E96D75)\",\n \"ursa-dark\": \"var(--smar--com--color--red--200, #F29298)\",\n \"lodestar-light\": \"var(--smar--com--color--red--300, #E96D75)\"\n }\n}, {\n name: \"color--charts--semantic-blocked--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--red--400, #DF2A36)\",\n \"ursa-dark\": \"var(--smar--com--color--red--100, #F7ABB0)\",\n \"lodestar-light\": \"var(--smar--com--color--red--400, #DF2A36)\"\n }\n}, {\n name: \"color--background--notifications--strong\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--background--notifications--primary\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--500, #2D60D7)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--500, #2D60D7)\"\n }\n}, {\n name: \"color--charts--assets-dashboard--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--300, #29AE40)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--300, #29AE40)\"\n }\n}, {\n name: \"color--charts--assets-dashboard--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--400, #1D862F)\",\n \"ursa-dark\": \"var(--smar--com--color--green--100, #62D574)\",\n \"lodestar-light\": \"var(--smar--com--color--green--400, #1D862F)\"\n }\n}, {\n name: \"color--charts--assets-workspace--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--300, #1EA0C8)\"\n }\n}, {\n name: \"color--charts--assets-workspace--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--400, #157E9D)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--100, #6ACAE7)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--400, #157E9D)\"\n }\n}, {\n name: \"color--charts--assets-sheet--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--400, #8959E8)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--300, #A87EFB)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--400, #8959E8)\"\n }\n}, {\n name: \"color--charts--assets-sheet--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}, {\n name: \"color--charts--assets-report--rest\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--300, #F06B51)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--300, #F06B51)\"\n }\n}, {\n name: \"color--charts--assets-report--hover\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--400, #D64529)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--100, #FDA796)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--400, #D64529)\"\n }\n}, {\n name: \"color--icons--assets-workspace--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--200, #3AB9DF)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--600, #0B5C75)\"\n }\n}, {\n name: \"color--icons--assets-workspace--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--azure--75, #98DCF1)\",\n \"ursa-dark\": \"var(--smar--com--color--azure--600, #0B5C75)\",\n \"lodestar-light\": \"var(--smar--com--color--azure--75, #98DCF1)\"\n }\n}, {\n name: \"color--icons--assets-portfolio--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--teal--200, #30C0A3)\",\n \"lodestar-light\": \"var(--smar--com--color--teal--600, #0F6151)\"\n }\n}, {\n name: \"color--icons--assets-portfolio--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"#86E4D1\",\n \"ursa-dark\": \"var(--smar--com--color--teal--600, #0F6151)\",\n \"lodestar-light\": \"#86E4D1\"\n }\n}, {\n name: \"color--icons--assets-dashboard--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--500, #177827)\",\n \"ursa-dark\": \"var(--smar--com--color--green--200, #32C84C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--500, #177827)\"\n }\n}, {\n name: \"color--icons--assets-dashboard--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--green--75, #8EE69D)\",\n \"ursa-dark\": \"var(--smar--com--color--green--600, #0F621C)\",\n \"lodestar-light\": \"var(--smar--com--color--green--75, #8EE69D)\"\n }\n}, {\n name: \"color--icons--assets-reports--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--500, #B84028)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--200, #FB8F79)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--500, #B84028)\"\n }\n}, {\n name: \"color--icons--assets-reports--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\",\n \"ursa-dark\": \"var(--smar--com--color--orange--600, #973421)\",\n \"lodestar-light\": \"var(--smar--com--color--orange--75, #FEC8BE)\"\n }\n}, {\n name: \"color--icons--assets-sheet--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--200, #BB99FF)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--600, #6329D6)\"\n }\n}, {\n name: \"color--icons--assets-sheet--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--600, #6329D6)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--75, #D6C2FF)\"\n }\n}, {\n name: \"color--icons--assets-form--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--500, #A531B9)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--200, #DB91E8)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--500, #A531B9)\"\n }\n}, {\n name: \"color--icons--assets-form--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\",\n \"ursa-dark\": \"var(--smar--com--color--orchid--600, #8B259D)\",\n \"lodestar-light\": \"var(--smar--com--color--orchid--75, #F0C3F8)\"\n }\n}, {\n name: \"color--icons--assets-collection--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--500, #88620C)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--200, #DEA41B)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--500, #88620C)\"\n }\n}, {\n name: \"color--icons--assets-collection--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\",\n \"ursa-dark\": \"var(--smar--com--color--yellow--600, #705006)\",\n \"lodestar-light\": \"var(--smar--com--color--yellow--75, #F9CD67)\"\n }\n}, {\n name: \"color--icons--assets-workapp--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--200, #80A6FF)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--600, #184BC3)\"\n }\n}, {\n name: \"color--icons--assets-workapp--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\",\n \"ursa-dark\": \"var(--smar--com--color--blue--600, #184BC3)\",\n \"lodestar-light\": \"var(--smar--com--color--blue--75, #B8CDFF)\"\n }\n}, {\n name: \"color--icons--assets-blueprint--stroke\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--200, #30C0A3)\",\n \"lodestar-light\": \"var(--smar--com--color--aqua--600, #0F6151)\"\n }\n}, {\n name: \"color--icons--assets-blueprint--fill\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\",\n \"ursa-dark\": \"var(--smar--com--color--aqua--600, #0F6151)\",\n \"lodestar-light\": \"var(--smar--com--color--aqua--75, #86E4D1)\"\n }\n}, {\n name: \"color--text--ai--default\",\n description: \"\",\n value: {\n \"ursa-light\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"ursa-dark\": \"var(--smar--com--color--violet--500, #7847DC)\",\n \"lodestar-light\": \"var(--smar--com--color--violet--500, #7847DC)\"\n }\n}];\n//# sourceMappingURL=color-tokens.js.map","/**\n * These constants are used to express the different layers of the application.\n * They map to z-index.\n *\n * These layers are intended to be a deterministic order for elements that float\n * above the rest of the application. These kinds of elements should normally be\n * attached near the DOM's body element, either in the root div of the app or\n * whichever element is the parent for the normal app surface and floating elements.\n *\n * We're leaving a lot of space between these to ensure we have room to mutate.\n *\n * To use these, apply their values as the z-index of whatever element you want to lift up.\n * If possible, don't add/subtract from them. In many cases, DOM order will take care of the\n * stacking i.e. a modal w/ z-index 600 that renders a Flyout w/ z-index 600 will be in\n * the correct order since the Flyout is added after the Modal.\n */\nexport const layers = {\n /**\n * This is for the left/right panels. The rails and the panels should both be contained\n * within this layer, and the proper sub-z-indexes should be appled to ensure the panels\n * slide behind the rails i.e. 200 on the rail/panel container, 2 on the rail itself, 1\n * on the panel itself.\n */\n panel: 100,\n /**\n * This is for flyouts that operate just above the surface layer.\n */\n flyout: 490,\n /**\n * For modals and any of their floating children.\n */\n modal: 600,\n /**\n * For toasts, which sit above modals but beneath transient entities like tooltips.\n */\n toast: 700,\n /**\n * Tooltips should show above everything, regardless of the target's layering.\n */\n tooltip: 900\n};\n//# sourceMappingURL=layers.js.map","export const border = {\n width10: \"1px\",\n width20: \"2px\",\n radius05: \"2px\",\n radius10: \"4px\",\n radius20: \"6px\",\n radius30: \"8px\",\n radius35: \"10px\",\n radius40: \"12px\",\n radius50: \"16px\"\n};\n//# sourceMappingURL=border.js.map","// Animation timing values. Exposed for use in js-based animations.\nconst timing = {\n default: 200\n};\nconst easing = {\n default: \"cubic-bezier(0.3, 0.3, 0.2, 1)\"\n};\nconst animation = {\n default: `200ms ${easing.default}`\n};\nexport const motion = {\n easing,\n animation,\n timing\n};\n//# sourceMappingURL=motion.js.map","export const space = {\n space05: \"2px\",\n space10: \"4px\",\n space20: \"8px\",\n space30: \"12px\",\n space40: \"16px\",\n space45: \"20px\",\n space50: \"24px\",\n space55: \"28px\",\n space60: \"32px\",\n space65: \"40px\",\n space70: \"48px\"\n};\n//# sourceMappingURL=space.js.map","const fallbackFontFamily = `Arial, Helvetica, sans-serif, \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const typography = {\n fontFamily: {\n /**\n * For most body styles.\n */\n inter: `\"Inter var\", ${fallbackFontFamily}`,\n /**\n * For some headings and other text that needs to be a bit bolder.\n */\n ttNorms: `\"TT Norms Pro Bold\", ${fallbackFontFamily}`\n },\n fontSize: {\n size10: \"10px\",\n size20: \"12px\",\n size30: \"14px\",\n size40: \"16px\",\n size50: \"20px\",\n size60: \"24px\",\n size70: \"28px\",\n size80: \"32px\"\n },\n // Font size * 1.2, rounded to the next nearest even number\n lineHeight: {\n size10: \"12px\",\n size20: \"16px\",\n size30: \"18px\",\n size40: \"20px\",\n size50: \"24px\",\n size60: \"30px\",\n size70: \"34px\",\n size80: \"46px\"\n },\n fontWeight: {\n bold: 700,\n medium: 500,\n regular: 400,\n semiBold: 600\n }\n};\n/**\n * Returns a font-size and line-height combo to use for each size key.\n */\n// Generics here provide better intellisense:\n//\n// const x: {\n// fontSize: \"14px\";\n// lineHeight: \"18px\";\n// } = lineSize('size30')\n// TODO use this or delete it. Left here since we're considering it.\nconst _lineSize = (size, style) => {\n const result = {\n fontSize: typography.fontSize[size],\n lineHeight: typography.lineHeight[size]\n };\n switch (style) {\n case \"css\":\n return `\n font-size: ${result.fontSize};\n line-height: ${result.lineHeight};\n `;\n case \"object\":\n default:\n return result;\n }\n};\n//# sourceMappingURL=typography.js.map","/**\n * The standard colors available to designs in Ursa a.k.a. New Views a.k.a. Smartsheet Design\n * System. This file was generated by Style Dictionary in the @smartsheet/design-tokens package.\n * These now reference global primitive tokens.\n */\n\nexport const colors = {\n focus: \"var(--smar--com--color--blue--400, #1F66FF)\",\n linkDark: \"var(--smar--com--color--blue--700,#0F3B99)\",\n linkDefault: \"var(--smar--com--color--blue--500,#1957DE)\",\n neutral25: \"var(--smar--com--color--neutral--25,#f5f6fa)\",\n neutral35: \"var(--smar--com--color--neutral--35,#eef0f6)\",\n neutral50: \"var(--smar--com--color--neutral--50,#e5e7f0)\",\n neutral60: \"var(--smar--com--color--neutral--60,#dcdeea)\",\n neutral75: \"var(--smar--com--color--neutral--75,#d0d3e2)\",\n neutral100: \"var(--smar--com--color--neutral--100,#b8bdd1)\",\n neutral200: \"var(--smar--com--color--neutral--200,#a6acc4)\",\n neutral300: \"var(--smar--com--color--neutral--300,#878dab)\",\n neutral400: \"var(--smar--com--color--neutral--400,#6b7394)\",\n neutral500: \"var(--smar--com--color--neutral--500,#5f6786)\",\n neutral600: \"var(--smar--com--color--neutral--600,#4c5470)\",\n neutral700: \"var(--smar--com--color--neutral--700,#363c54)\",\n neutral800: \"var(--smar--com--color--neutral--800,#212536)\",\n neutral900: \"var(--smar--com--color--neutral--900,#11131d)\",\n neutral00: \"var(--smar--com--color--neutral--00,#ffffff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate25: \"var(--smar--com--color--slate--25,#f5f6fa)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate35: \"var(--smar--com--color--slate--35,#eef0f6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate50: \"var(--smar--com--color--slate--50,#e5e7f0)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate60: \"var(--smar--com--color--slate--60,#dcdeea)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate75: \"var(--smar--com--color--slate--75,#d0d3e2)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate100: \"var(--smar--com--color--slate--100,#b8bdd1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate200: \"var(--smar--com--color--slate--200,#a6acc4)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate300: \"var(--smar--com--color--slate--300,#878dab)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate400: \"var(--smar--com--color--slate--400,#6b7394)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate500: \"var(--smar--com--color--slate--500,#5f6786)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate600: \"var(--smar--com--color--slate--600,#4c5470)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate700: \"var(--smar--com--color--slate--700,#363c54)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate800: \"var(--smar--com--color--slate--800,#212536)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate900: \"var(--smar--com--color--slate--900,#11131d)\",\n red25: \"var(--smar--com--color--red--25,#fff5f6)\",\n red35: \"var(--smar--com--color--red--35,#ffebed)\",\n red50: \"var(--smar--com--color--red--50,#ffe0e3)\",\n red60: \"var(--smar--com--color--red--60,#fed7da)\",\n red75: \"var(--smar--com--color--red--75,#fbc6c9)\",\n red100: \"var(--smar--com--color--red--100,#f7abb0)\",\n red200: \"var(--smar--com--color--red--200,#f29298)\",\n red300: \"var(--smar--com--color--red--300,#e96d75)\",\n red400: \"var(--smar--com--color--red--400,#df2a36)\",\n red500: \"var(--smar--com--color--red--500,#ce1723)\",\n red600: \"var(--smar--com--color--red--600,#ab0d17)\",\n red700: \"var(--smar--com--color--red--700,#7f050d)\",\n red800: \"var(--smar--com--color--red--800,#570006)\",\n red900: \"var(--smar--com--color--red--900,#330003)\",\n pink25: \"var(--smar--com--color--pink--25,#fff5fa)\",\n pink35: \"var(--smar--com--color--pink--35,#ffebf6)\",\n pink50: \"var(--smar--com--color--pink--50,#fee1f2)\",\n pink60: \"var(--smar--com--color--pink--60,#fdd3ec)\",\n pink75: \"var(--smar--com--color--pink--75,#fdc4e4)\",\n pink100: \"var(--smar--com--color--pink--100,#f9a4d6)\",\n pink200: \"var(--smar--com--color--pink--200,#f589c8)\",\n pink300: \"var(--smar--com--color--pink--300,#e76ab3)\",\n pink400: \"var(--smar--com--color--pink--400,#ce3b91)\",\n pink500: \"var(--smar--com--color--pink--500,#b53680)\",\n pink600: \"var(--smar--com--color--pink--600,#992468)\",\n pink700: \"var(--smar--com--color--pink--700,#73114a)\",\n pink800: \"var(--smar--com--color--pink--800,#4c062f)\",\n pink900: \"var(--smar--com--color--pink--900,#2e001c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose25: \"var(--smar--com--color--rose--25,#fff5fa)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose35: \"var(--smar--com--color--rose--35,#ffebf6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose50: \"var(--smar--com--color--rose--50,#fee1f2)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose60: \"var(--smar--com--color--rose--60,#fdd3ec)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose75: \"var(--smar--com--color--rose--75,#fdc4e4)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose100: \"var(--smar--com--color--rose--100,#f9a4d6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose200: \"var(--smar--com--color--rose--200,#f589c8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose300: \"var(--smar--com--color--rose--300,#e76ab3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose400: \"var(--smar--com--color--rose--400,#ce3b91)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose500: \"var(--smar--com--color--rose--500,#b53680)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose600: \"var(--smar--com--color--rose--600,#992468)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose700: \"var(--smar--com--color--rose--700,#73114a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose800: \"var(--smar--com--color--rose--800,#4c062f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose900: \"var(--smar--com--color--rose--900,#2e001c)\",\n orchid25: \"var(--smar--com--color--orchid--25,#fdf5ff)\",\n orchid35: \"var(--smar--com--color--orchid--35,#fcebff)\",\n orchid50: \"var(--smar--com--color--orchid--50,#f8ddfd)\",\n orchid60: \"var(--smar--com--color--orchid--60,#f5d0fb)\",\n orchid75: \"var(--smar--com--color--orchid--75,#f0c3f8)\",\n orchid100: \"var(--smar--com--color--orchid--100,#e5a7f1)\",\n orchid200: \"var(--smar--com--color--orchid--200,#db91e8)\",\n orchid300: \"var(--smar--com--color--orchid--300,#ce73de)\",\n orchid400: \"var(--smar--com--color--orchid--400,#b53dcc)\",\n orchid500: \"var(--smar--com--color--orchid--500,#a531b9)\",\n orchid600: \"var(--smar--com--color--orchid--600,#8b259d)\",\n orchid700: \"var(--smar--com--color--orchid--700,#661575)\",\n orchid800: \"var(--smar--com--color--orchid--800,#41064b)\",\n orchid900: \"var(--smar--com--color--orchid--900,#27002d)\",\n violet25: \"var(--smar--com--color--violet--25,#f8f5ff)\",\n violet35: \"var(--smar--com--color--violet--35,#f5f0ff)\",\n violet50: \"var(--smar--com--color--violet--50,#ebe0ff)\",\n violet60: \"var(--smar--com--color--violet--60,#e0d1ff)\",\n violet75: \"var(--smar--com--color--violet--75,#d6c2ff)\",\n violet100: \"var(--smar--com--color--violet--100,#c9adff)\",\n violet200: \"var(--smar--com--color--violet--200,#bb99ff)\",\n violet300: \"var(--smar--com--color--violet--300,#a87efb)\",\n violet400: \"var(--smar--com--color--violet--400,#8959e8)\",\n violet500: \"var(--smar--com--color--violet--500,#7847dc)\",\n violet600: \"var(--smar--com--color--violet--600,#6329d6)\",\n violet700: \"var(--smar--com--color--violet--700,#440fae)\",\n violet800: \"var(--smar--com--color--violet--800,#26026e)\",\n violet900: \"var(--smar--com--color--violet--900,#160042)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo25: \"var(--smar--com--color--indigo--25,#f8f5ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo35: \"var(--smar--com--color--indigo--35,#f5f0ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo50: \"var(--smar--com--color--indigo--50,#ebe0ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo60: \"var(--smar--com--color--indigo--60,#e0d1ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo75: \"var(--smar--com--color--indigo--75,#d6c2ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo100: \"var(--smar--com--color--indigo--100,#c9adff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo200: \"var(--smar--com--color--indigo--200,#bb99ff)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo300: \"var(--smar--com--color--indigo--300,#a87efb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo400: \"var(--smar--com--color--indigo--400,#8959e8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo500: \"var(--smar--com--color--indigo--500,#7847dc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo600: \"var(--smar--com--color--indigo--600,#6329d6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo700: \"var(--smar--com--color--indigo--700,#440fae)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo800: \"var(--smar--com--color--indigo--800,#26026e)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo900: \"var(--smar--com--color--indigo--900,#160042)\",\n blue25: \"var(--smar--com--color--blue--25,#f5f8ff)\",\n blue35: \"var(--smar--com--color--blue--35,#ebf1ff)\",\n blue50: \"var(--smar--com--color--blue--50,#dbe6ff)\",\n blue60: \"var(--smar--com--color--blue--60,#c7d8ff)\",\n blue75: \"var(--smar--com--color--blue--75,#b8cdff)\",\n blue100: \"var(--smar--com--color--blue--100,#9ebbff)\",\n blue200: \"var(--smar--com--color--blue--200,#80a6ff)\",\n blue300: \"var(--smar--com--color--blue--300,#6692fa)\",\n blue400: \"var(--smar--com--color--blue--400,#3a6fe9)\",\n blue500: \"var(--smar--com--color--blue--500,#2d60d7)\",\n blue600: \"var(--smar--com--color--blue--600,#184bc3)\",\n blue700: \"var(--smar--com--color--blue--700,#0d3491)\",\n blue800: \"var(--smar--com--color--blue--800,#031c59)\",\n blue900: \"var(--smar--com--color--blue--900,#000f33)\",\n azure25: \"var(--smar--com--color--azure--25,#ebfaff)\",\n azure35: \"var(--smar--com--color--azure--35,#d8f5fd)\",\n azure50: \"var(--smar--com--color--azure--50,#c6effa)\",\n azure60: \"var(--smar--com--color--azure--60,#b6e8f7)\",\n azure75: \"var(--smar--com--color--azure--75,#98dcf1)\",\n azure100: \"var(--smar--com--color--azure--100,#6acae7)\",\n azure200: \"var(--smar--com--color--azure--200,#3ab9df)\",\n azure300: \"var(--smar--com--color--azure--300,#1ea0c8)\",\n azure400: \"var(--smar--com--color--azure--400,#157e9d)\",\n azure500: \"var(--smar--com--color--azure--500,#10718e)\",\n azure600: \"var(--smar--com--color--azure--600,#0b5c75)\",\n azure700: \"var(--smar--com--color--azure--700,#064355)\",\n azure800: \"var(--smar--com--color--azure--800,#022a36)\",\n azure900: \"var(--smar--com--color--azure--900,#001f33)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua25: \"var(--smar--com--color--aqua--25,#e8fdf9)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua35: \"var(--smar--com--color--aqua--35,#d2f9f1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua50: \"var(--smar--com--color--aqua--50,#b5f2e6)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua60: \"var(--smar--com--color--aqua--60,#9cecdc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua75: \"var(--smar--com--color--aqua--75,#86e4d1)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua100: \"var(--smar--com--color--aqua--100,#5ad3bb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua200: \"var(--smar--com--color--aqua--200,#30c0a3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua300: \"var(--smar--com--color--aqua--300,#28a98f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua400: \"var(--smar--com--color--aqua--400,#1c826d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua500: \"var(--smar--com--color--aqua--500,#167461)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua600: \"var(--smar--com--color--aqua--600,#0f6151)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua700: \"var(--smar--com--color--aqua--700,#084438)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua800: \"var(--smar--com--color--aqua--800,#042a23)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua900: \"var(--smar--com--color--aqua--900,#001a17)\",\n teal25: \"var(--smar--com--color--teal--25,#e8fdf9)\",\n teal35: \"var(--smar--com--color--teal--35,#d2f9f1)\",\n teal50: \"var(--smar--com--color--teal--50,#b5f2e6)\",\n teal60: \"var(--smar--com--color--teal--60,#9cecdc)\",\n teal75: \"var(--smar--com--color--teal--75,#86e4d1)\",\n teal100: \"var(--smar--com--color--teal--100,#5ad3bb)\",\n teal200: \"var(--smar--com--color--teal--200,#30c0a3)\",\n teal300: \"var(--smar--com--color--teal--300,#28a98f)\",\n teal400: \"var(--smar--com--color--teal--400,#1c826d)\",\n teal500: \"var(--smar--com--color--teal--500,#167461)\",\n teal600: \"var(--smar--com--color--teal--600,#0f6151)\",\n teal700: \"var(--smar--com--color--teal--700,#084438)\",\n teal800: \"var(--smar--com--color--teal--800,#042a23)\",\n teal900: \"var(--smar--com--color--teal--900,#001a17)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint25: \"var(--smar--com--color--mint--25,#e7fdeb)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint35: \"var(--smar--com--color--mint--35,#d2f9d8)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint50: \"var(--smar--com--color--mint--50,#b9f4c3)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint60: \"var(--smar--com--color--mint--60,#a1edad)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint75: \"var(--smar--com--color--mint--75,#8ee69d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint100: \"var(--smar--com--color--mint--100,#62d574)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint200: \"var(--smar--com--color--mint--200,#32c84c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint300: \"var(--smar--com--color--mint--300,#29ae40)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint400: \"var(--smar--com--color--mint--400,#1d862f)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint500: \"var(--smar--com--color--mint--500,#177827)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint600: \"var(--smar--com--color--mint--600,#0f621c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint700: \"var(--smar--com--color--mint--700,#094814)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint800: \"var(--smar--com--color--mint--800,#042f0a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint900: \"var(--smar--com--color--mint--900,#081a00)\",\n green25: \"var(--smar--com--color--green--25,#e7fdeb)\",\n green35: \"var(--smar--com--color--green--35,#d2f9d8)\",\n green50: \"var(--smar--com--color--green--50,#b9f4c3)\",\n green60: \"var(--smar--com--color--green--60,#a1edad)\",\n green75: \"var(--smar--com--color--green--75,#8ee69d)\",\n green100: \"var(--smar--com--color--green--100,#62d574)\",\n green200: \"var(--smar--com--color--green--200,#32c84c)\",\n green300: \"var(--smar--com--color--green--300,#29ae40)\",\n green400: \"var(--smar--com--color--green--400,#1d862f)\",\n green500: \"var(--smar--com--color--green--500,#177827)\",\n green600: \"var(--smar--com--color--green--600,#0f621c)\",\n green700: \"var(--smar--com--color--green--700,#094814)\",\n green800: \"var(--smar--com--color--green--800,#042f0a)\",\n green900: \"var(--smar--com--color--green--900,#081a00)\",\n yellow25: \"var(--smar--com--color--yellow--25,#fff6e0)\",\n yellow35: \"var(--smar--com--color--yellow--35,#fff0cc)\",\n yellow50: \"var(--smar--com--color--yellow--50,#fde6af)\",\n yellow60: \"var(--smar--com--color--yellow--60,#fbda8d)\",\n yellow75: \"var(--smar--com--color--yellow--75,#f9cd67)\",\n yellow100: \"var(--smar--com--color--yellow--100,#efb32a)\",\n yellow200: \"var(--smar--com--color--yellow--200,#dea41b)\",\n yellow300: \"var(--smar--com--color--yellow--300,#bf8e1d)\",\n yellow400: \"var(--smar--com--color--yellow--400,#966e13)\",\n yellow500: \"var(--smar--com--color--yellow--500,#88620c)\",\n yellow600: \"var(--smar--com--color--yellow--600,#705006)\",\n yellow700: \"var(--smar--com--color--yellow--700,#543b03)\",\n yellow800: \"var(--smar--com--color--yellow--800,#322301)\",\n yellow900: \"var(--smar--com--color--yellow--900,#1a1200)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold25: \"var(--smar--com--color--gold--25,#fff6e0)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold35: \"var(--smar--com--color--gold--35,#fff0cc)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold50: \"var(--smar--com--color--gold--50,#fde6af)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold60: \"var(--smar--com--color--gold--60,#fbda8d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold75: \"var(--smar--com--color--gold--75,#f9cd67)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold100: \"var(--smar--com--color--gold--100,#efb32a)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold200: \"var(--smar--com--color--gold--200,#dea41b)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold300: \"var(--smar--com--color--gold--300,#bf8e1d)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold400: \"var(--smar--com--color--gold--400,#966e13)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold500: \"var(--smar--com--color--gold--500,#88620c)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold600: \"var(--smar--com--color--gold--600,#705006)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold700: \"var(--smar--com--color--gold--700,#543b03)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold800: \"var(--smar--com--color--gold--800,#322301)\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold900: \"var(--smar--com--color--gold--900,#1a1200)\",\n orange25: \"var(--smar--com--color--orange--25,#fff6f5)\",\n orange35: \"var(--smar--com--color--orange--35,#ffeeeb)\",\n orange50: \"var(--smar--com--color--orange--50,#ffe1dc)\",\n orange60: \"var(--smar--com--color--orange--60,#fed5cd)\",\n orange75: \"var(--smar--com--color--orange--75,#fec8be)\",\n orange100: \"var(--smar--com--color--orange--100,#fda796)\",\n orange200: \"var(--smar--com--color--orange--200,#fb8f79)\",\n orange300: \"var(--smar--com--color--orange--300,#f06b51)\",\n orange400: \"var(--smar--com--color--orange--400,#d64529)\",\n orange500: \"var(--smar--com--color--orange--500,#b84028)\",\n orange600: \"var(--smar--com--color--orange--600,#973421)\",\n orange700: \"var(--smar--com--color--orange--700,#732111)\",\n orange800: \"var(--smar--com--color--orange--800,#4c1106)\",\n orange900: \"var(--smar--com--color--orange--900,#2d0800)\"\n};\n//# sourceMappingURL=ursaColors.js.map","/**\n * The standard colors available to designs in Ursa a.k.a. New Views a.k.a. Smartsheet Design\n * System. This file was generated by Style Dictionary in the @smartsheet/design-tokens package.\n */\n\nexport const colors = {\n focus: \"#1F66FF\",\n // blue400 hardcoded\n linkDark: \"#0F3B99\",\n // blue700 hardcoded\n linkDefault: \"#1957DE\",\n // blue500 hardcoded\n neutral25: \"#f5f6fa\",\n neutral35: \"#eef0f6\",\n neutral50: \"#e5e7f0\",\n neutral60: \"#dcdeea\",\n neutral75: \"#d0d3e2\",\n neutral100: \"#b8bdd1\",\n neutral200: \"#a6acc4\",\n neutral300: \"#878dab\",\n neutral400: \"#6b7394\",\n neutral500: \"#5f6786\",\n neutral600: \"#4c5470\",\n neutral700: \"#363c54\",\n neutral800: \"#212536\",\n neutral900: \"#11131d\",\n neutral00: \"#ffffff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate25: \"#f5f6fa\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate35: \"#eef0f6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate50: \"#e5e7f0\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate60: \"#dcdeea\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate75: \"#d0d3e2\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate100: \"#b8bdd1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate200: \"#a6acc4\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate300: \"#878dab\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate400: \"#6b7394\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate500: \"#5f6786\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate600: \"#4c5470\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate700: \"#363c54\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate800: \"#212536\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n slate900: \"#11131d\",\n red25: \"#fff5f6\",\n red35: \"#ffebed\",\n red50: \"#ffe0e3\",\n red60: \"#fed7da\",\n red75: \"#fbc6c9\",\n red100: \"#f7abb0\",\n red200: \"#f29298\",\n red300: \"#e96d75\",\n red400: \"#df2a36\",\n red500: \"#ce1723\",\n red600: \"#ab0d17\",\n red700: \"#7f050d\",\n red800: \"#570006\",\n red900: \"#330003\",\n pink25: \"#fff5fa\",\n pink35: \"#ffebf6\",\n pink50: \"#fee1f2\",\n pink60: \"#fdd3ec\",\n pink75: \"#fdc4e4\",\n pink100: \"#f9a4d6\",\n pink200: \"#f589c8\",\n pink300: \"#e76ab3\",\n pink400: \"#ce3b91\",\n pink500: \"#b53680\",\n pink600: \"#992468\",\n pink700: \"#73114a\",\n pink800: \"#4c062f\",\n pink900: \"#2e001c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose25: \"#fff5fa\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose35: \"#ffebf6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose50: \"#fee1f2\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose60: \"#fdd3ec\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose75: \"#fdc4e4\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose100: \"#f9a4d6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose200: \"#f589c8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose300: \"#e76ab3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose400: \"#ce3b91\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose500: \"#b53680\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose600: \"#992468\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose700: \"#73114a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose800: \"#4c062f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n rose900: \"#2e001c\",\n orchid25: \"#fdf5ff\",\n orchid35: \"#fcebff\",\n orchid50: \"#f8ddfd\",\n orchid60: \"#f5d0fb\",\n orchid75: \"#f0c3f8\",\n orchid100: \"#e5a7f1\",\n orchid200: \"#db91e8\",\n orchid300: \"#ce73de\",\n orchid400: \"#b53dcc\",\n orchid500: \"#a531b9\",\n orchid600: \"#8b259d\",\n orchid700: \"#661575\",\n orchid800: \"#41064b\",\n orchid900: \"#27002d\",\n violet25: \"#f8f5ff\",\n violet35: \"#f5f0ff\",\n violet50: \"#ebe0ff\",\n violet60: \"#e0d1ff\",\n violet75: \"#d6c2ff\",\n violet100: \"#c9adff\",\n violet200: \"#bb99ff\",\n violet300: \"#a87efb\",\n violet400: \"#8959e8\",\n violet500: \"#7847dc\",\n violet600: \"#6329d6\",\n violet700: \"#440fae\",\n violet800: \"#26026e\",\n violet900: \"#160042\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo25: \"#f8f5ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo35: \"#f5f0ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo50: \"#ebe0ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo60: \"#e0d1ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo75: \"#d6c2ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo100: \"#c9adff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo200: \"#bb99ff\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo300: \"#a87efb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo400: \"#8959e8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo500: \"#7847dc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo600: \"#6329d6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo700: \"#440fae\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo800: \"#26026e\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n indigo900: \"#160042\",\n blue25: \"#f5f8ff\",\n blue35: \"#ebf1ff\",\n blue50: \"#dbe6ff\",\n blue60: \"#c7d8ff\",\n blue75: \"#b8cdff\",\n blue100: \"#9ebbff\",\n blue200: \"#80a6ff\",\n blue300: \"#6692fa\",\n blue400: \"#3a6fe9\",\n blue500: \"#2d60d7\",\n blue600: \"#184bc3\",\n blue700: \"#0d3491\",\n blue800: \"#031c59\",\n blue900: \"#000f33\",\n azure25: \"#ebfaff\",\n azure35: \"#d8f5fd\",\n azure50: \"#c6effa\",\n azure60: \"#b6e8f7\",\n azure75: \"#98dcf1\",\n azure100: \"#6acae7\",\n azure200: \"#3ab9df\",\n azure300: \"#1ea0c8\",\n azure400: \"#157e9d\",\n azure500: \"#10718e\",\n azure600: \"#0b5c75\",\n azure700: \"#064355\",\n azure800: \"#022a36\",\n azure900: \"#001f33\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua25: \"#e8fdf9\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua35: \"#d2f9f1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua50: \"#b5f2e6\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua60: \"#9cecdc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua75: \"#86e4d1\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua100: \"#5ad3bb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua200: \"#30c0a3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua300: \"#28a98f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua400: \"#1c826d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua500: \"#167461\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua600: \"#0f6151\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua700: \"#084438\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua800: \"#042a23\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n aqua900: \"#001a17\",\n teal25: \"#e8fdf9\",\n teal35: \"#d2f9f1\",\n teal50: \"#b5f2e6\",\n teal60: \"#9cecdc\",\n teal75: \"#86e4d1\",\n teal100: \"#5ad3bb\",\n teal200: \"#30c0a3\",\n teal300: \"#28a98f\",\n teal400: \"#1c826d\",\n teal500: \"#167461\",\n teal600: \"#0f6151\",\n teal700: \"#084438\",\n teal800: \"#042a23\",\n teal900: \"#001a17\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint25: \"#e7fdeb\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint35: \"#d2f9d8\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint50: \"#b9f4c3\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint60: \"#a1edad\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint75: \"#8ee69d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint100: \"#62d574\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint200: \"#32c84c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint300: \"#29ae40\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint400: \"#1d862f\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint500: \"#177827\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint600: \"#0f621c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint700: \"#094814\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint800: \"#042f0a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n mint900: \"#081a00\",\n green25: \"#e7fdeb\",\n green35: \"#d2f9d8\",\n green50: \"#b9f4c3\",\n green60: \"#a1edad\",\n green75: \"#8ee69d\",\n green100: \"#62d574\",\n green200: \"#32c84c\",\n green300: \"#29ae40\",\n green400: \"#1d862f\",\n green500: \"#177827\",\n green600: \"#0f621c\",\n green700: \"#094814\",\n green800: \"#042f0a\",\n green900: \"#081a00\",\n yellow25: \"#fff6e0\",\n yellow35: \"#fff0cc\",\n yellow50: \"#fde6af\",\n yellow60: \"#fbda8d\",\n yellow75: \"#f9cd67\",\n yellow100: \"#efb32a\",\n yellow200: \"#dea41b\",\n yellow300: \"#bf8e1d\",\n yellow400: \"#966e13\",\n yellow500: \"#88620c\",\n yellow600: \"#705006\",\n yellow700: \"#543b03\",\n yellow800: \"#322301\",\n yellow900: \"#1a1200\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold25: \"#fff6e0\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold35: \"#fff0cc\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold50: \"#fde6af\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold60: \"#fbda8d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold75: \"#f9cd67\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold100: \"#efb32a\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold200: \"#dea41b\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold300: \"#bf8e1d\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold400: \"#966e13\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold500: \"#88620c\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold600: \"#705006\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold700: \"#543b03\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold800: \"#322301\",\n /**\n * @deprecated - This color will be removed in the following upcoming major releases, in February 2025:\n * - lodestar-core V6+\n * - design-tokens V3+\n */\n gold900: \"#1a1200\",\n orange25: \"#fff6f5\",\n orange35: \"#ffeeeb\",\n orange50: \"#ffe1dc\",\n orange60: \"#fed5cd\",\n orange75: \"#fec8be\",\n orange100: \"#fda796\",\n orange200: \"#fb8f79\",\n orange300: \"#f06b51\",\n orange400: \"#d64529\",\n orange500: \"#b84028\",\n orange600: \"#973421\",\n orange700: \"#732111\",\n orange800: \"#4c1106\",\n orange900: \"#2d0800\"\n};\n//# sourceMappingURL=ursaColorsInternal.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the lodestar-light theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const lodestarLightColors = {\n colorBackgroundAiIconWrapperDefault: \"#f5f5fe\",\n colorBackgroundDestructiveDefault: \"#d03340\",\n colorBackgroundDestructiveStrong: \"#a62833\",\n colorBackgroundDestructiveStronger: \"#7c1e26\",\n colorBackgroundDestructiveStrongest: \"#531419\",\n colorBackgroundDestructiveWeak: \"#db656f\",\n colorBackgroundDestructiveWeaker: \"#e4969c\",\n colorBackgroundDestructiveWeakest: \"#efc8cb\",\n colorBackgroundErrorDefault: \"#d14424\",\n colorBackgroundErrorWeak: \"#ffe0d7\",\n colorBackgroundErrorWeaker: \"#fff3ef\",\n colorBackgroundInfoDefault: \"#007cc5\",\n colorBackgroundInfoWeak: \"#a7c1e4\",\n colorBackgroundInfoWeaker: \"#d8e4fa\",\n colorBackgroundNeutralDefault: \"#e0e0e0\",\n colorBackgroundNeutralStrong: \"#c0c0c0\",\n colorBackgroundNeutralStronger: \"#979797\",\n colorBackgroundNeutralStrongest: \"#444444\",\n colorBackgroundNeutralWeak: \"#ebebeb\",\n colorBackgroundNeutralWeaker: \"#f2f2f2\",\n colorBackgroundNeutralWeakest: \"#ffffff\",\n colorBackgroundNeutralInverseDefault: \"#979797\",\n colorBackgroundNeutralInverseStrong: \"#727272\",\n colorBackgroundNeutralInverseStronger: \"#444444\",\n colorBackgroundNeutralInverseStrongest: \"#444444\",\n colorBackgroundNeutralInverseWeak: \"#c0c0c0\",\n colorBackgroundNeutralInverseWeaker: \"#e0e0e0\",\n colorBackgroundNeutralInverseWeakest: \"#ebebeb\",\n colorBackgroundNotificationsDefault: \"#d14424\",\n colorBackgroundNotificationsWeak: \"#007cc5\",\n colorBackgroundPrimaryDefault: \"#5996d6\",\n colorBackgroundPrimaryStrong: \"#007cc5\",\n colorBackgroundPrimaryStronger: \"#004173\",\n colorBackgroundPrimaryStrongest: \"#002847\",\n colorBackgroundPrimaryWeak: \"#a7c1e4\",\n colorBackgroundPrimaryWeaker: \"#d8e4fa\",\n colorBackgroundPrimaryWeakest: \"#f0f5fd\",\n colorBackgroundSlateDefault: \"#e0e0e0\",\n colorBackgroundSlateStrong: \"#c0c0c0\",\n colorBackgroundSlateStronger: \"#979797\",\n colorBackgroundSlateStrongest: \"#444444\",\n colorBackgroundSlateWeak: \"#ebebeb\",\n colorBackgroundSlateWeaker: \"#f2f2f2\",\n colorBackgroundSlateWeakest: \"#ffffff\",\n colorBackgroundSlateInverseDefault: \"#979797\",\n colorBackgroundSlateInverseStrong: \"#727272\",\n colorBackgroundSlateInverseStronger: \"#444444\",\n colorBackgroundSlateInverseStrongest: \"#444444\",\n colorBackgroundSlateInverseWeak: \"#c0c0c0\",\n colorBackgroundSlateInverseWeaker: \"#e0e0e0\",\n colorBackgroundSlateInverseWeakest: \"#ebebeb\",\n colorBackgroundSpectrumAquaDefault: \"#4eaa9b\",\n colorBackgroundSpectrumAquaStrong: \"#008476\",\n colorBackgroundSpectrumAquaStronger: \"#004e43\",\n colorBackgroundSpectrumAquaStrongest: \"#002923\",\n colorBackgroundSpectrumAquaWeak: \"#a1c9c2\",\n colorBackgroundSpectrumAquaWeaker: \"#dceae7\",\n colorBackgroundSpectrumAquaWeakest: \"#f1f7f6\",\n colorBackgroundSpectrumAzureDefault: \"#5996d6\",\n colorBackgroundSpectrumAzureStrong: \"#007cc5\",\n colorBackgroundSpectrumAzureStronger: \"#004173\",\n colorBackgroundSpectrumAzureStrongest: \"#002847\",\n colorBackgroundSpectrumAzureWeak: \"#a7c1e4\",\n colorBackgroundSpectrumAzureWeaker: \"#d8e4fa\",\n colorBackgroundSpectrumAzureWeakest: \"#f0f5fd\",\n colorBackgroundSpectrumBlueDefault: \"#5996d6\",\n colorBackgroundSpectrumBlueStrong: \"#007cc5\",\n colorBackgroundSpectrumBlueStronger: \"#004173\",\n colorBackgroundSpectrumBlueStrongest: \"#002847\",\n colorBackgroundSpectrumBlueWeak: \"#a7c1e4\",\n colorBackgroundSpectrumBlueWeaker: \"#d8e4fa\",\n colorBackgroundSpectrumBlueWeakest: \"#f0f5fd\",\n colorBackgroundSpectrumGoldDefault: \"#e18502\",\n colorBackgroundSpectrumGoldStrong: \"#ab6600\",\n colorBackgroundSpectrumGoldStronger: \"#653300\",\n colorBackgroundSpectrumGoldStrongest: \"#492400\",\n colorBackgroundSpectrumGoldWeak: \"#ffb761\",\n colorBackgroundSpectrumGoldWeaker: \"#fee3c0\",\n colorBackgroundSpectrumGoldWeakest: \"#fff4e6\",\n colorBackgroundSpectrumGreenDefault: \"#70a13c\",\n colorBackgroundSpectrumGreenStrong: \"#488306\",\n colorBackgroundSpectrumGreenStronger: \"#275600\",\n colorBackgroundSpectrumGreenStrongest: \"#193700\",\n colorBackgroundSpectrumGreenWeak: \"#b2c997\",\n colorBackgroundSpectrumGreenWeaker: \"#e1ebd6\",\n colorBackgroundSpectrumGreenWeakest: \"#f3f7ef\",\n colorBackgroundSpectrumIndigoDefault: \"#848be9\",\n colorBackgroundSpectrumIndigoStrong: \"#566ae3\",\n colorBackgroundSpectrumIndigoStronger: \"#0c3491\",\n colorBackgroundSpectrumIndigoStrongest: \"#0c245b\",\n colorBackgroundSpectrumIndigoWeak: \"#bab8f1\",\n colorBackgroundSpectrumIndigoWeaker: \"#e6e5fa\",\n colorBackgroundSpectrumIndigoWeakest: \"#f5f5fe\",\n colorBackgroundSpectrumMintDefault: \"#01af6a\",\n colorBackgroundSpectrumMintStrong: \"#008c54\",\n colorBackgroundSpectrumMintStronger: \"#00693f\",\n colorBackgroundSpectrumMintStrongest: \"#00462a\",\n colorBackgroundSpectrumMintWeak: \"#40c28f\",\n colorBackgroundSpectrumMintWeaker: \"#7dd4b1\",\n colorBackgroundSpectrumMintWeakest: \"#bbe7d6\",\n colorBackgroundSpectrumNeutralDefault: \"#c0c0c0\",\n colorBackgroundSpectrumNeutralStrong: \"#979797\",\n colorBackgroundSpectrumNeutralStronger: \"#727272\",\n colorBackgroundSpectrumNeutralStrongest: \"#444444\",\n colorBackgroundSpectrumNeutralWeak: \"#e0e0e0\",\n colorBackgroundSpectrumNeutralWeaker: \"#ebebeb\",\n colorBackgroundSpectrumNeutralWeakest: \"#f2f2f2\",\n colorBackgroundSpectrumOrangeDefault: \"#e18502\",\n colorBackgroundSpectrumOrangeStrong: \"#ab6600\",\n colorBackgroundSpectrumOrangeStronger: \"#653300\",\n colorBackgroundSpectrumOrangeStrongest: \"#492400\",\n colorBackgroundSpectrumOrangeWeak: \"#ffb761\",\n colorBackgroundSpectrumOrangeWeaker: \"#fee3c0\",\n colorBackgroundSpectrumOrangeWeakest: \"#fff4e6\",\n colorBackgroundSpectrumOrchidDefault: \"#c76ca1\",\n colorBackgroundSpectrumOrchidStrong: \"#b94d90\",\n colorBackgroundSpectrumOrchidStronger: \"#8b2066\",\n colorBackgroundSpectrumOrchidStrongest: \"#610e44\",\n colorBackgroundSpectrumOrchidWeak: \"#e5b8d1\",\n colorBackgroundSpectrumOrchidWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumOrchidWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumPinkDefault: \"#c76ca1\",\n colorBackgroundSpectrumPinkStrong: \"#b94d90\",\n colorBackgroundSpectrumPinkStronger: \"#8b2066\",\n colorBackgroundSpectrumPinkStrongest: \"#610e44\",\n colorBackgroundSpectrumPinkWeak: \"#e5b8d1\",\n colorBackgroundSpectrumPinkWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumPinkWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumRedDefault: \"#ee6f4c\",\n colorBackgroundSpectrumRedStrong: \"#d14424\",\n colorBackgroundSpectrumRedStronger: \"#9d0c00\",\n colorBackgroundSpectrumRedStrongest: \"#6d0800\",\n colorBackgroundSpectrumRedWeak: \"#f6b09d\",\n colorBackgroundSpectrumRedWeaker: \"#ffe0d7\",\n colorBackgroundSpectrumRedWeakest: \"#fff3ef\",\n colorBackgroundSpectrumRoseDefault: \"#c76ca1\",\n colorBackgroundSpectrumRoseStrong: \"#b94d90\",\n colorBackgroundSpectrumRoseStronger: \"#8b2066\",\n colorBackgroundSpectrumRoseStrongest: \"#610e44\",\n colorBackgroundSpectrumRoseWeak: \"#e5b8d1\",\n colorBackgroundSpectrumRoseWeaker: \"#f5e1ec\",\n colorBackgroundSpectrumRoseWeakest: \"#fbf3f8\",\n colorBackgroundSpectrumSlateDefault: \"#c0c0c0\",\n colorBackgroundSpectrumSlateStrong: \"#979797\",\n colorBackgroundSpectrumSlateStronger: \"#727272\",\n colorBackgroundSpectrumSlateStrongest: \"#444444\",\n colorBackgroundSpectrumSlateWeak: \"#e0e0e0\",\n colorBackgroundSpectrumSlateWeaker: \"#ebebeb\",\n colorBackgroundSpectrumSlateWeakest: \"#f2f2f2\",\n colorBackgroundSpectrumTealDefault: \"#4eaa9b\",\n colorBackgroundSpectrumTealStrong: \"#008476\",\n colorBackgroundSpectrumTealStronger: \"#004e43\",\n colorBackgroundSpectrumTealStrongest: \"#002923\",\n colorBackgroundSpectrumTealWeak: \"#a1c9c2\",\n colorBackgroundSpectrumTealWeaker: \"#dceae7\",\n colorBackgroundSpectrumTealWeakest: \"#f1f7f6\",\n colorBackgroundSpectrumVioletDefault: \"#848be9\",\n colorBackgroundSpectrumVioletStrong: \"#566ae3\",\n colorBackgroundSpectrumVioletStronger: \"#0c3491\",\n colorBackgroundSpectrumVioletStrongest: \"#0c245b\",\n colorBackgroundSpectrumVioletWeak: \"#bab8f1\",\n colorBackgroundSpectrumVioletWeaker: \"#e6e5fa\",\n colorBackgroundSpectrumVioletWeakest: \"#f5f5fe\",\n colorBackgroundSpectrumYellowDefault: \"#e6a907\",\n colorBackgroundSpectrumYellowStrong: \"#996f00\",\n colorBackgroundSpectrumYellowStronger: \"#5a4000\",\n colorBackgroundSpectrumYellowStrongest: \"#3d2c00\",\n colorBackgroundSpectrumYellowWeak: \"#f5cf6a\",\n colorBackgroundSpectrumYellowWeaker: \"#ffefc5\",\n colorBackgroundSpectrumYellowWeakest: \"#fff8e7\",\n colorBackgroundSuccessDefault: \"#008c54\",\n colorBackgroundSuccessWeak: \"#7dd4b1\",\n colorBackgroundSuccessWeaker: \"#bbe7d6\",\n colorBackgroundSurfacesBody: \"#ffffff\",\n colorBackgroundSurfacesCanvas: \"#ffffff\",\n colorBackgroundSurfacesOverlay: \"#000000\",\n colorBackgroundSurfacesStage: \"#111111\",\n colorBackgroundSurfacesWork: \"#ffffff\",\n colorBackgroundWarningDefault: \"#cc9c31\",\n colorBackgroundWarningWeak: \"#fcde9b\",\n colorBackgroundWarningWeaker: \"#fbeccb\",\n colorBorderErrorDefault: \"#d03340\",\n colorBorderNeutralDefault: \"#c0c0c0\",\n colorBorderNeutralStrong: \"#979797\",\n colorBorderNeutralStronger: \"#727272\",\n colorBorderNeutralStrongest: \"#444444\",\n colorBorderNeutralWeak: \"#e0e0e0\",\n colorBorderNeutralWeaker: \"#ebebeb\",\n colorBorderNeutralWeakest: \"#f2f2f2\",\n colorBorderPrimaryDefault: \"#5996d6\",\n colorBorderPrimaryWeak: \"#a7c1e4\",\n colorBorderPrimaryWeaker: \"#d8e4fa\",\n colorBorderPrimaryWeakest: \"#f0f5fd\",\n colorBorderSlateDefault: \"#c0c0c0\",\n colorBorderSlateStrong: \"#979797\",\n colorBorderSlateStronger: \"#727272\",\n colorBorderSlateStrongest: \"#444444\",\n colorBorderSlateWeak: \"#e0e0e0\",\n colorBorderSlateWeaker: \"#ebebeb\",\n colorBorderSlateWeakest: \"#f2f2f2\",\n colorBorderSpectrumAquaDefault: \"#004e43\",\n colorBorderSpectrumAzureDefault: \"#004173\",\n colorBorderSpectrumBlueDefault: \"#004173\",\n colorBorderSpectrumSlateDefault: \"#727272\",\n colorBorderSpectrumGoldDefault: \"#997525\",\n colorBorderSpectrumGreenDefault: \"#275600\",\n colorBorderSpectrumIndigoDefault: \"#0c3491\",\n colorBorderSpectrumMintDefault: \"#00693f\",\n colorBorderSpectrumNeutralDefault: \"#727272\",\n colorBorderSpectrumOrangeDefault: \"#997525\",\n colorBorderSpectrumOrchidDefault: \"#8b2066\",\n colorBorderSpectrumPinkDefault: \"#8b2066\",\n colorBorderSpectrumRedDefault: \"#7c1e26\",\n colorBorderSpectrumRoseDefault: \"#8b2066\",\n colorBorderSpectrumTealDefault: \"#004e43\",\n colorBorderSpectrumVioletDefault: \"#0c3491\",\n colorBorderSpectrumYellowDefault: \"#5a4000\",\n colorBorderSuccessDefault: \"#01af6a\",\n colorBorderSurfacesBody: \"#ffffff\",\n colorBorderSurfacesCanvas: \"#ffffff\",\n colorBorderSurfacesFocus: \"#5996d6\",\n colorBorderSurfacesStage: \"#111111\",\n colorBorderSurfacesWork: \"#ffffff\",\n colorBorderWarningDefault: \"#ffc33e\",\n colorIconsNeutralDefault: \"#c0c0c0\",\n colorIconsNeutralStrong: \"#979797\",\n colorIconsNeutralStronger: \"#727272\",\n colorIconsNeutralStrongest: \"#444444\",\n colorIconsNeutralWeak: \"#f2f2f2\",\n colorIconsNeutralWeaker: \"#ebebeb\",\n colorIconsNeutralWeakest: \"#f2f2f2\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#f2f2f2\",\n colorIconsPrimaryDefault: \"#5996d6\",\n colorIconsPrimaryStrong: \"#007cc5\",\n colorIconsPrimaryStronger: \"#004173\",\n colorIconsPrimaryStrongest: \"#002847\",\n colorIconsPrimaryWeak: \"#a7c1e4\",\n colorIconsPrimaryWeaker: \"#d8e4fa\",\n colorIconsPrimaryWeakest: \"#f0f5fd\",\n colorIconsPrimaryInverseStronger: \"#a7c1e4\",\n colorIconsSlateDefault: \"#c0c0c0\",\n colorIconsSlateStrong: \"#979797\",\n colorIconsSlateStronger: \"#727272\",\n colorIconsSlateStrongest: \"#444444\",\n colorIconsSlateWeak: \"#f2f2f2\",\n colorIconsSlateWeaker: \"#ebebeb\",\n colorIconsSlateWeakest: \"#f2f2f2\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#f2f2f2\",\n colorIconsSpectrumAquaDefault: \"#004e43\",\n colorIconsSpectrumAzureDefault: \"#002847\",\n colorIconsSpectrumBlueDefault: \"#002847\",\n colorIconsSpectrumGoldDefault: \"#653300\",\n colorIconsSpectrumGreenDefault: \"#193700\",\n colorIconsSpectrumIndigoDefault: \"#0c245b\",\n colorIconsSpectrumIndigoWeak: \"#566ae3\",\n colorIconsSpectrumIndigoWeaker: \"#bab8f1\",\n colorIconsSpectrumIndigoWeakest: \"#e6e5fa\",\n colorIconsSpectrumMintDefault: \"#00462a\",\n colorIconsSpectrumNeutralDefault: \"#444444\",\n colorIconsSpectrumOrangeDefault: \"#653300\",\n colorIconsSpectrumOrchidDefault: \"#610e44\",\n colorIconsSpectrumPinkDefault: \"#610e44\",\n colorIconsSpectrumRedDefault: \"#6d0800\",\n colorIconsSpectrumRoseDefault: \"#610e44\",\n colorIconsSpectrumSlateDefault: \"#444444\",\n colorIconsSpectrumTealDefault: \"#004e43\",\n colorIconsSpectrumVioletDefault: \"#0c245b\",\n colorIconsSpectrumYellowDefault: \"#5a4000\",\n colorIconsSuccessDefault: \"#00693f\",\n colorIconsSuccessWeak: \"#008c54\",\n colorIconsWarningDefault: \"#997525\",\n colorIconsWarningWeak: \"#ffc33e\",\n colorIconsInfoDefault: \"#004173\",\n colorIconsInfoWeak: \"#007cc5\",\n colorIconsErrorDefault: \"#7c1e26\",\n colorIconsErrorWeak: \"#d03340\",\n colorIconsDestructiveDefault: \"#ee6f4c\",\n colorIconsDestructiveStrong: \"#d14424\",\n colorIconsDestructiveStronger: \"#9d0c00\",\n colorIconsDestructiveStrongest: \"#6d0800\",\n colorIconsDestructiveWeak: \"#f6b09d\",\n colorIconsDestructiveWeaker: \"#ffe0d7\",\n colorIconsDestructiveWeakest: \"#fff3ef\",\n colorIconsDestructiveInverseStronger: \"#fff3ef\",\n colorTextErrorDefault: \"#6d0800\",\n colorTextErrorWeak: \"#9d0c00\",\n colorTextInfoDefault: \"#3f4952\",\n colorTextInfoWeak: \"#5e6d7b\",\n colorTextNeutralDefault: \"#444444\",\n colorTextNeutralStrong: \"#111111\",\n colorTextNeutralWeak: \"#727272\",\n colorTextNeutralWeaker: \"#979797\",\n colorTextNeutralWeakest: \"#c0c0c0\",\n colorTextNeutralInverseDefault: \"#f2f2f2\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseWeak: \"#ebebeb\",\n colorTextPrimaryDefault: \"#5996d6\",\n colorTextPrimaryStrong: \"#007cc5\",\n colorTextPrimaryStronger: \"#004173\",\n colorTextPrimaryStrongest: \"#002847\",\n colorTextPrimaryWeak: \"#a7c1e4\",\n colorTextPrimaryWeaker: \"#d8e4fa\",\n colorTextPrimaryWeakest: \"#f0f5fd\",\n colorTextSlateDefault: \"#444444\",\n colorTextSlateStrong: \"#111111\",\n colorTextSlateWeak: \"#727272\",\n colorTextSlateWeaker: \"#979797\",\n colorTextSlateWeakest: \"#c0c0c0\",\n colorTextSlateInverseDefault: \"#f2f2f2\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseWeak: \"#ebebeb\",\n colorTextSpectrumAquaDefault: \"#004e43\",\n colorTextSpectrumAquaStrong: \"#002923\",\n colorTextSpectrumAzureDefault: \"#004173\",\n colorTextSpectrumAzureStrong: \"#002847\",\n colorTextSpectrumBlueDefault: \"#004173\",\n colorTextSpectrumBlueStrong: \"#002847\",\n colorTextSpectrumGoldDefault: \"#653300\",\n colorTextSpectrumGoldStrong: \"#492400\",\n colorTextSpectrumGreenDefault: \"#275600\",\n colorTextSpectrumGreenStrong: \"#193700\",\n colorTextSpectrumIndigoDefault: \"#0c3491\",\n colorTextSpectrumIndigoStrong: \"#0c245b\",\n colorTextSpectrumIndigoWeak: \"#566ae3\",\n colorTextSpectrumMintDefault: \"#00693f\",\n colorTextSpectrumMintStrong: \"#00462a\",\n colorTextSpectrumNeutralDefault: \"#727272\",\n colorTextSpectrumNeutralStrong: \"#444444\",\n colorTextSpectrumOrangeDefault: \"#653300\",\n colorTextSpectrumOrangeStrong: \"#492400\",\n colorTextSpectrumOrchidDefault: \"#8b2066\",\n colorTextSpectrumOrchidStrong: \"#610e44\",\n colorTextSpectrumPinkDefault: \"#8b2066\",\n colorTextSpectrumPinkStrong: \"#610e44\",\n colorTextSpectrumRedDefault: \"#9d0c00\",\n colorTextSpectrumRedStrong: \"#6d0800\",\n colorTextSpectrumRoseDefault: \"#8b2066\",\n colorTextSpectrumRoseStrong: \"#610e44\",\n colorTextSpectrumSlateDefault: \"#727272\",\n colorTextSpectrumSlateStrong: \"#444444\",\n colorTextSpectrumTealDefault: \"#004e43\",\n colorTextSpectrumTealStrong: \"#002923\",\n colorTextSpectrumVioletDefault: \"#0c3491\",\n colorTextSpectrumVioletStrong: \"#0c245b\",\n colorTextSpectrumYellowDefault: \"#5a4000\",\n colorTextSpectrumYellowStrong: \"#3d2c00\",\n colorTextSuccessDefault: \"#00462a\",\n colorTextSuccessWeak: \"#00693f\",\n colorTextWarningDefault: \"#664e18\",\n colorTextWarningWeak: \"#997525\",\n bannerBackgroundColorInfo: \"#CAE8FC\",\n bannerBackgroundColorWarning: \"#FFEECC\",\n bannerBackgroundColorError: \"#FAD1D4\",\n bannerBackgroundColorSuccess: \"#E0F2E4\",\n bannerTextColorInfo: \"#001F33\",\n bannerTextColorWarning: \"#4C1D00\",\n bannerTextColorError: \"#280104\",\n bannerTextColorSuccess: \"#001A06\",\n bannerIconColorInfo: \"#027ED1\",\n bannerIconColorWarning: \"#CC7E00\",\n bannerIconColorError: \"#C21823\",\n bannerIconColorSuccess: \"#067321\",\n symbolBackgroundColorYellowDefault: \"#ffc33e\",\n symbolBackgroundColorYellowHover: \"#fcde9b\",\n tooltipBackgroundColor: \"#444444\",\n elevationLow: \"0px 2px 12px 0px rgba(0, 0, 0, 0.16)\",\n elevationDefault: \"0px 4px 16px 0px rgba(0, 0, 0, 0.12)\",\n elevationHigh: \"0px 24px 64px rgba(0, 0, 0, 0.12)\",\n gradientNavigation: \"#003059\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n FocusIndicatorBorderPrimary: \"#005d95\",\n semanticErrorBackground: \"#fbc6c9\",\n semanticErrorBackgroundActive: \"#e4969c\",\n semanticErrorBackgroundHover: \"#e4969c\",\n semanticErrorIcon: \"#ab0d17\",\n semanticErrorText: \"#330003\",\n semanticErrorTextInline: \"#ab0d17\",\n semanticInfoBackground: \"#98dcf1\",\n semanticInfoBackgroundActive: \"#cbd8e3\",\n semanticInfoBackgroundHover: \"#cbd8e3\",\n semanticInfoIcon: \"#0b5c75\",\n semanticInfoText: \"#001f33\",\n semanticInfoTextInline: \"#0b5c75\",\n semanticSuccessBackground: \"#b9f4c3\",\n semanticSuccessBackgroundActive: \"#7dd4b1\",\n semanticSuccessBackgroundHover: \"#7dd4b1\",\n semanticSuccessIcon: \"#177827\",\n semanticSuccessText: \"#081a00\",\n semanticSuccessTextInline: \"#0f621c\",\n semanticWarningBackground: \"#f9cd67\",\n semanticWarningBackgroundActive: \"#fcde9b\",\n semanticWarningBackgroundHover: \"#fcde9b\",\n semanticWarningIcon: \"#543b03\",\n semanticWarningText: \"#1a1200\",\n semanticWarningTextInline: \"#543b03\",\n surfaceCanvasBackground: \"#ffffff\",\n surfaceWorkBackground: \"#ffffff\",\n surfaceWorkText: \"#111111\"\n};\n//# sourceMappingURL=lodestar-light.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the ursa-light theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const ursaLightColors = {\n colorBackgroundSurfacesOverlay: \"#242732\",\n colorBackgroundSurfacesStage: \"#363c54\",\n colorBackgroundSurfacesCanvas: \"#f5f6fa\",\n colorBackgroundSurfacesBody: \"#ffffff\",\n colorBackgroundSurfacesWork: \"#ffffff\",\n colorBackgroundNeutralWeakest: \"#eef0f6\",\n colorBackgroundNeutralWeaker: \"#e5e7f0\",\n colorBackgroundNeutralWeak: \"#dcdeea\",\n colorBackgroundNeutralDefault: \"#d0d3e2\",\n colorBackgroundNeutralStrong: \"#b8bdd1\",\n colorBackgroundNeutralStronger: \"#a6acc4\",\n colorBackgroundNeutralStrongest: \"#878dab\",\n colorBackgroundNeutralInverseWeakest: \"#a6acc4\",\n colorBackgroundNeutralInverseWeaker: \"#878dab\",\n colorBackgroundNeutralInverseWeak: \"#5f6786\",\n colorBackgroundNeutralInverseStrongest: \"#11131d\",\n colorBackgroundNeutralInverseStronger: \"#212536\",\n colorBackgroundNeutralInverseStrong: \"#363c54\",\n colorBackgroundNeutralInverseDefault: \"#4c5470\",\n colorBackgroundSlateStrongest: \"#878dab\",\n colorBackgroundSlateStronger: \"#a6acc4\",\n colorBackgroundSlateStrong: \"#b8bdd1\",\n colorBackgroundSlateDefault: \"#d0d3e2\",\n colorBackgroundSlateWeak: \"#dcdeea\",\n colorBackgroundSlateWeaker: \"#e5e7f0\",\n colorBackgroundSlateWeakest: \"#eef0f6\",\n colorBackgroundSlateInverseStrongest: \"#11131d\",\n colorBackgroundSlateInverseStronger: \"#212536\",\n colorBackgroundSlateInverseStrong: \"#363c54\",\n colorBackgroundSlateInverseDefault: \"#4c5470\",\n colorBackgroundSlateInverseWeak: \"#5f6786\",\n colorBackgroundSlateInverseWeaker: \"#878dab\",\n colorBackgroundSlateInverseWeakest: \"#a6acc4\",\n colorBackgroundPrimaryStrongest: \"#031c59\",\n colorBackgroundPrimaryStronger: \"#0d3491\",\n colorBackgroundPrimaryStrong: \"#184bc3\",\n colorBackgroundPrimaryDefault: \"#2d60d7\",\n colorBackgroundPrimaryWeak: \"#9ebbff\",\n colorBackgroundPrimaryWeaker: \"#b8cdff\",\n colorBackgroundPrimaryWeakest: \"#dbe6ff\",\n colorBackgroundDestructiveStrongest: \"#570006\",\n colorBackgroundDestructiveStronger: \"#7f050d\",\n colorBackgroundDestructiveStrong: \"#ab0d17\",\n colorBackgroundDestructiveDefault: \"#ce1723\",\n colorBackgroundDestructiveWeak: \"#f7abb0\",\n colorBackgroundDestructiveWeaker: \"#fbc6c9\",\n colorBackgroundDestructiveWeakest: \"#ffe0e3\",\n colorBackgroundNotificationsStrong: \"#b84028\",\n colorBackgroundNotificationsWeak: \"#6b7394\",\n colorBackgroundNotificationsPrimary: \"#2d60d7\",\n colorBackgroundInfoDefault: \"#157e9d\",\n colorBackgroundInfoWeak: \"#c6effa\",\n colorBackgroundInfoWeaker: \"#ebfaff\",\n colorBackgroundSuccessDefault: \"#29ae40\",\n colorBackgroundSuccessWeak: \"#b9f4c3\",\n colorBackgroundSuccessWeaker: \"#e7fdeb\",\n colorBackgroundWarningDefault: \"#dea41b\",\n colorBackgroundWarningWeak: \"#fde6af\",\n colorBackgroundWarningWeaker: \"#fff6e0\",\n colorBackgroundErrorDefault: \"#e96d75\",\n colorBackgroundErrorWeak: \"#fbc6c9\",\n colorBackgroundErrorWeaker: \"#fff5f6\",\n colorBackgroundSpectrumAzureStrongest: \"#064355\",\n colorBackgroundSpectrumAzureStronger: \"#0b5c75\",\n colorBackgroundSpectrumAzureStrong: \"#10718e\",\n colorBackgroundSpectrumAzureDefault: \"#1ea0c8\",\n colorBackgroundSpectrumAzureWeak: \"#3ab9df\",\n colorBackgroundSpectrumAzureWeaker: \"#6acae7\",\n colorBackgroundSpectrumAzureWeakest: \"#98dcf1\",\n colorBackgroundSpectrumMintStrongest: \"#0f621c\",\n colorBackgroundSpectrumMintStronger: \"#177827\",\n colorBackgroundSpectrumMintStrong: \"#1d862f\",\n colorBackgroundSpectrumMintDefault: \"#29ae40\",\n colorBackgroundSpectrumMintWeak: \"#32c84c\",\n colorBackgroundSpectrumMintWeaker: \"#62d574\",\n colorBackgroundSpectrumMintWeakest: \"#8ee69d\",\n colorBackgroundSpectrumRedStrongest: \"#ab0d17\",\n colorBackgroundSpectrumRedStronger: \"#ce1723\",\n colorBackgroundSpectrumRedStrong: \"#df2a36\",\n colorBackgroundSpectrumRedDefault: \"#e96d75\",\n colorBackgroundSpectrumRedWeak: \"#f29298\",\n colorBackgroundSpectrumRedWeaker: \"#f7abb0\",\n colorBackgroundSpectrumRedWeakest: \"#fbc6c9\",\n colorBackgroundSpectrumPinkStrongest: \"#992468\",\n colorBackgroundSpectrumPinkStronger: \"#b53680\",\n colorBackgroundSpectrumPinkStrong: \"#ce3b91\",\n colorBackgroundSpectrumPinkDefault: \"#e76ab3\",\n colorBackgroundSpectrumPinkWeak: \"#f589c8\",\n colorBackgroundSpectrumPinkWeaker: \"#f9a4d6\",\n colorBackgroundSpectrumPinkWeakest: \"#fdc4e4\",\n colorBackgroundSpectrumRoseStrongest: \"#992468\",\n colorBackgroundSpectrumRoseStronger: \"#b53680\",\n colorBackgroundSpectrumRoseStrong: \"#ce3b91\",\n colorBackgroundSpectrumRoseDefault: \"#e76ab3\",\n colorBackgroundSpectrumRoseWeak: \"#f589c8\",\n colorBackgroundSpectrumRoseWeaker: \"#f9a4d6\",\n colorBackgroundSpectrumRoseWeakest: \"#fdc4e4\",\n colorBackgroundSpectrumOrchidStrongest: \"#8b259d\",\n colorBackgroundSpectrumOrchidStronger: \"#a531b9\",\n colorBackgroundSpectrumOrchidStrong: \"#b53dcc\",\n colorBackgroundSpectrumOrchidDefault: \"#ce73de\",\n colorBackgroundSpectrumOrchidWeak: \"#db91e8\",\n colorBackgroundSpectrumOrchidWeaker: \"#e5a7f1\",\n colorBackgroundSpectrumOrchidWeakest: \"#f0c3f8\",\n colorBackgroundSpectrumVioletStrongest: \"#6329d6\",\n colorBackgroundSpectrumVioletStronger: \"#7847dc\",\n colorBackgroundSpectrumVioletStrong: \"#8959e8\",\n colorBackgroundSpectrumVioletDefault: \"#a87efb\",\n colorBackgroundSpectrumVioletWeak: \"#bb99ff\",\n colorBackgroundSpectrumVioletWeaker: \"#c9adff\",\n colorBackgroundSpectrumVioletWeakest: \"#d6c2ff\",\n colorBackgroundSpectrumIndigoStrongest: \"#6329d6\",\n colorBackgroundSpectrumIndigoStronger: \"#7847dc\",\n colorBackgroundSpectrumIndigoStrong: \"#8959e8\",\n colorBackgroundSpectrumIndigoDefault: \"#a87efb\",\n colorBackgroundSpectrumIndigoWeak: \"#bb99ff\",\n colorBackgroundSpectrumIndigoWeaker: \"#c9adff\",\n colorBackgroundSpectrumIndigoWeakest: \"#d6c2ff\",\n colorBackgroundSpectrumBlueStrongest: \"#184bc3\",\n colorBackgroundSpectrumBlueStronger: \"#2d60d7\",\n colorBackgroundSpectrumBlueStrong: \"#3a6fe9\",\n colorBackgroundSpectrumBlueDefault: \"#6692fa\",\n colorBackgroundSpectrumBlueWeak: \"#80a6ff\",\n colorBackgroundSpectrumBlueWeaker: \"#9ebbff\",\n colorBackgroundSpectrumBlueWeakest: \"#b8cdff\",\n colorBackgroundSpectrumAquaStrongest: \"#0f6151\",\n colorBackgroundSpectrumAquaStronger: \"#167461\",\n colorBackgroundSpectrumAquaStrong: \"#1c826d\",\n colorBackgroundSpectrumAquaDefault: \"#28a98f\",\n colorBackgroundSpectrumAquaWeak: \"#30c0a3\",\n colorBackgroundSpectrumAquaWeaker: \"#5ad3bb\",\n colorBackgroundSpectrumAquaWeakest: \"#86e4d1\",\n colorBackgroundSpectrumTealStrongest: \"#0f6151\",\n colorBackgroundSpectrumTealStronger: \"#167461\",\n colorBackgroundSpectrumTealStrong: \"#1c826d\",\n colorBackgroundSpectrumTealDefault: \"#28a98f\",\n colorBackgroundSpectrumTealWeak: \"#30c0a3\",\n colorBackgroundSpectrumTealWeaker: \"#5ad3bb\",\n colorBackgroundSpectrumTealWeakest: \"#86e4d1\",\n colorBackgroundSpectrumGreenStrongest: \"#0f621c\",\n colorBackgroundSpectrumGreenStronger: \"#177827\",\n colorBackgroundSpectrumGreenStrong: \"#1d862f\",\n colorBackgroundSpectrumGreenDefault: \"#29ae40\",\n colorBackgroundSpectrumGreenWeak: \"#32c84c\",\n colorBackgroundSpectrumGreenWeaker: \"#62d574\",\n colorBackgroundSpectrumGreenWeakest: \"#8ee69d\",\n colorBackgroundSpectrumYellowStrongest: \"#543b03\",\n colorBackgroundSpectrumYellowStronger: \"#705006\",\n colorBackgroundSpectrumYellowStrong: \"#88620c\",\n colorBackgroundSpectrumYellowDefault: \"#bf8e1d\",\n colorBackgroundSpectrumYellowWeak: \"#dea41b\",\n colorBackgroundSpectrumYellowWeaker: \"#efb32a\",\n colorBackgroundSpectrumYellowWeakest: \"#f9cd67\",\n colorBackgroundSpectrumOrangeStrongest: \"#732111\",\n colorBackgroundSpectrumOrangeStronger: \"#973421\",\n colorBackgroundSpectrumOrangeStrong: \"#b84028\",\n colorBackgroundSpectrumOrangeDefault: \"#f06b51\",\n colorBackgroundSpectrumOrangeWeak: \"#fb8f79\",\n colorBackgroundSpectrumOrangeWeaker: \"#fda796\",\n colorBackgroundSpectrumOrangeWeakest: \"#fec8be\",\n colorBackgroundSpectrumGoldStrongest: \"#705006\",\n colorBackgroundSpectrumGoldStronger: \"#88620c\",\n colorBackgroundSpectrumGoldStrong: \"#966e13\",\n colorBackgroundSpectrumGoldDefault: \"#bf8e1d\",\n colorBackgroundSpectrumGoldWeak: \"#dea41b\",\n colorBackgroundSpectrumGoldWeaker: \"#efb32a\",\n colorBackgroundSpectrumGoldWeakest: \"#f9cd67\",\n colorBackgroundSpectrumNeutralStrongest: \"#4c5470\",\n colorBackgroundSpectrumNeutralStronger: \"#5f6786\",\n colorBackgroundSpectrumNeutralStrong: \"#6b7394\",\n colorBackgroundSpectrumNeutralDefault: \"#878dab\",\n colorBackgroundSpectrumNeutralWeak: \"#a6acc4\",\n colorBackgroundSpectrumNeutralWeaker: \"#b8bdd1\",\n colorBackgroundSpectrumNeutralWeakest: \"#d0d3e2\",\n colorBackgroundSpectrumSlateStrongest: \"#4c5470\",\n colorBackgroundSpectrumSlateStronger: \"#5f6786\",\n colorBackgroundSpectrumSlateStrong: \"#6b7394\",\n colorBackgroundSpectrumSlateDefault: \"#878dab\",\n colorBackgroundSpectrumSlateWeak: \"#a6acc4\",\n colorBackgroundSpectrumSlateWeaker: \"#b8bdd1\",\n colorBackgroundSpectrumSlateWeakest: \"#d0d3e2\",\n colorBackgroundAiIconWrapperDefault: \"#f5f0ff\",\n colorTextNeutralStronger: \"#212536\",\n colorTextNeutralStrong: \"#212536\",\n colorTextNeutralDefault: \"#4c5470\",\n colorTextNeutralWeak: \"#5f6786\",\n colorTextNeutralWeaker: \"#6b7394\",\n colorTextNeutralWeakest: \"#878dab\",\n colorTextAiDefault: \"#7847dc\",\n colorTextSlateStrong: \"#212536\",\n colorTextSlateDefault: \"#4c5470\",\n colorTextSlateWeak: \"#5f6786\",\n colorTextSlateWeaker: \"#6b7394\",\n colorTextSlateWeakest: \"#878dab\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseDefault: \"#d0d3e2\",\n colorTextNeutralInverseWeak: \"#a6acc4\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseDefault: \"#f5f6fa\",\n colorTextSlateInverseWeak: \"#e5e7f0\",\n colorTextPrimaryStrongest: \"#000f33\",\n colorTextPrimaryStronger: \"#031c59\",\n colorTextPrimaryStrong: \"#0d3491\",\n colorTextPrimaryDefault: \"#184bc3\",\n colorTextPrimaryWeak: \"#6692fa\",\n colorTextPrimaryWeaker: \"#b8cdff\",\n colorTextPrimaryWeakest: \"#f5f8ff\",\n colorTextInfoDefault: \"#022a36\",\n colorTextInfoWeak: \"#064355\",\n colorTextSuccessDefault: \"#1d862f\",\n colorTextSuccessWeak: \"#177827\",\n colorTextWarningDefault: \"#1a1200\",\n colorTextWarningWeak: \"#88620c\",\n colorTextErrorDefault: \"#570006\",\n colorTextErrorWeak: \"#ce1723\",\n colorTextDestructiveStrongest: \"#330003\",\n colorTextDestructiveStronger: \"#7f050d\",\n colorTextDestructiveStrong: \"#ab0d17\",\n colorTextDestructiveDefault: \"#ce1723\",\n colorTextDestructiveWeak: \"#fbc6c9\",\n colorTextDestructiveWeaker: \"#fed7da\",\n colorTextDestructiveWeakest: \"#fff5f6\",\n colorTextSpectrumSlateDefault: \"#212536\",\n colorTextSpectrumSlateStrong: \"#11131d\",\n colorTextSpectrumAzureDefault: \"#022a36\",\n colorTextSpectrumAzureStrong: \"#001f33\",\n colorTextSpectrumMintDefault: \"#042f0a\",\n colorTextSpectrumMintStrong: \"#081a00\",\n colorTextSpectrumRedDefault: \"#570006\",\n colorTextSpectrumRedStrong: \"#330003\",\n colorTextSpectrumPinkDefault: \"#4c062f\",\n colorTextSpectrumPinkStrong: \"#2e001c\",\n colorTextSpectrumRoseDefault: \"#4c062f\",\n colorTextSpectrumRoseStrong: \"#2e001c\",\n colorTextSpectrumOrchidDefault: \"#41064b\",\n colorTextSpectrumOrchidStrong: \"#27002d\",\n colorTextSpectrumIndigoWeak: \"#6329d6\",\n colorTextSpectrumIndigoDefault: \"#26026e\",\n colorTextSpectrumIndigoStrong: \"#160042\",\n colorTextSpectrumVioletDefault: \"#26026e\",\n colorTextSpectrumVioletStrong: \"#160042\",\n colorTextSpectrumBlueDefault: \"#031c59\",\n colorTextSpectrumBlueStrong: \"#000f33\",\n colorTextSpectrumAquaDefault: \"#042a23\",\n colorTextSpectrumAquaStrong: \"#001a17\",\n colorTextSpectrumTealDefault: \"#042a23\",\n colorTextSpectrumTealStrong: \"#001a17\",\n colorTextSpectrumGreenDefault: \"#042f0a\",\n colorTextSpectrumGreenStrong: \"#081a00\",\n colorTextSpectrumOrangeDefault: \"#4c1106\",\n colorTextSpectrumOrangeStrong: \"#2d0800\",\n colorTextSpectrumNeutralDefault: \"#212536\",\n colorTextSpectrumNeutralStrong: \"#11131d\",\n colorTextSpectrumGoldDefault: \"#322301\",\n colorTextSpectrumGoldStrong: \"#1a1200\",\n colorTextSpectrumYellowDefault: \"#322301\",\n colorTextSpectrumYellowStrong: \"#1a1200\",\n colorBorderSurfacesBody: \"#ffffff\",\n colorBorderSurfacesWork: \"#ffffff\",\n colorBorderSurfacesCanvas: \"#f5f6fa\",\n colorBorderSurfacesStage: \"#363c54\",\n colorBorderSurfacesFocus: \"#3a6fe9\",\n colorBorderNeutralStrongest: \"#11131d\",\n colorBorderNeutralStronger: \"#363c54\",\n colorBorderNeutralStrong: \"#5f6786\",\n colorBorderNeutralDefault: \"#878dab\",\n colorBorderNeutralWeak: \"#a6acc4\",\n colorBorderNeutralWeaker: \"#d0d3e2\",\n colorBorderNeutralWeakest: \"#e5e7f0\",\n colorBorderSlateStrongest: \"#11131d\",\n colorBorderSlateStronger: \"#363c54\",\n colorBorderSlateStrong: \"#5f6786\",\n colorBorderSlateDefault: \"#878dab\",\n colorBorderSlateWeak: \"#a6acc4\",\n colorBorderSlateWeaker: \"#d0d3e2\",\n colorBorderSlateWeakest: \"#e5e7f0\",\n colorBorderPrimaryDefault: \"#2d60d7\",\n colorBorderPrimaryWeak: \"#6692fa\",\n colorBorderPrimaryWeaker: \"#9ebbff\",\n colorBorderPrimaryWeakest: \"#b8cdff\",\n colorBorderDestructiveDefault: \"#ce1723\",\n colorBorderDestructiveWeak: \"#e96d75\",\n colorBorderDestructiveWeaker: \"#f7abb0\",\n colorBorderDestructiveWeakest: \"#fbc6c9\",\n colorBorderSuccessDefault: \"#1d862f\",\n colorBorderWarningDefault: \"#966e13\",\n colorBorderErrorDefault: \"#ce1723\",\n colorBorderSpectrumRedDefault: \"#ab0d17\",\n colorBorderSpectrumOrangeDefault: \"#732111\",\n colorBorderSpectrumGoldDefault: \"#705006\",\n colorBorderSpectrumYellowDefault: \"#705006\",\n colorBorderSpectrumGreenDefault: \"#0f621c\",\n colorBorderSpectrumMintDefault: \"#0f621c\",\n colorBorderSpectrumTealDefault: \"#0f6151\",\n colorBorderSpectrumAquaDefault: \"#0f6151\",\n colorBorderSpectrumAzureDefault: \"#0b5c75\",\n colorBorderSpectrumBlueDefault: \"#184bc3\",\n colorBorderSpectrumIndigoDefault: \"#6329d6\",\n colorBorderSpectrumVioletDefault: \"#6329d6\",\n colorBorderSpectrumOrchidDefault: \"#8b259d\",\n colorBorderSpectrumRoseDefault: \"#992468\",\n colorBorderSpectrumPinkDefault: \"#992468\",\n colorBorderSpectrumNeutralDefault: \"#4c5470\",\n colorBorderSpectrumSlateDefault: \"#4c5470\",\n colorIconsNeutralStrongest: \"#212536\",\n colorIconsNeutralStronger: \"#4c5470\",\n colorIconsNeutralStrong: \"#5f6786\",\n colorIconsNeutralDefault: \"#6b7394\",\n colorIconsNeutralWeak: \"#878dab\",\n colorIconsNeutralWeaker: \"#a6acc4\",\n colorIconsNeutralWeakest: \"#d0d3e2\",\n colorIconsSlateStrongest: \"#11131d\",\n colorIconsSlateStronger: \"#4c5470\",\n colorIconsSlateStrong: \"#5f6786\",\n colorIconsSlateDefault: \"#6b7394\",\n colorIconsSlateWeak: \"#878dab\",\n colorIconsSlateWeaker: \"#a6acc4\",\n colorIconsSlateWeakest: \"#d0d3e2\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#dcdeea\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#dcdeea\",\n colorIconsPrimaryStrongest: \"#031c59\",\n colorIconsPrimaryStronger: \"#184bc3\",\n colorIconsPrimaryStrong: \"#2d60d7\",\n colorIconsPrimaryDefault: \"#3a6fe9\",\n colorIconsPrimaryWeak: \"#6692fa\",\n colorIconsPrimaryWeaker: \"#80a6ff\",\n colorIconsPrimaryWeakest: \"#b8cdff\",\n colorIconsPrimaryInverseStronger: \"#f5f8ff\",\n colorIconsDestructiveStrongest: \"#570006\",\n colorIconsDestructiveStronger: \"#ab0d17\",\n colorIconsDestructiveStrong: \"#ce1723\",\n colorIconsDestructiveDefault: \"#df2a36\",\n colorIconsDestructiveWeak: \"#e96d75\",\n colorIconsDestructiveWeaker: \"#f29298\",\n colorIconsDestructiveWeakest: \"#fbc6c9\",\n colorIconsDestructiveInverseWeakest: \"#fff5f6\",\n colorIconsInfoDefault: \"#0b5c75\",\n colorIconsInfoWeak: \"#80a6ff\",\n colorIconsSuccessDefault: \"#177827\",\n colorIconsSuccessWeak: \"#32c84c\",\n colorIconsWarningDefault: \"#88620c\",\n colorIconsWarningWeak: \"#dea41b\",\n colorIconsErrorDefault: \"#ce1723\",\n colorIconsErrorWeak: \"#f29298\",\n colorIconsSpectrumRedDefault: \"#570006\",\n colorIconsSpectrumOrangeDefault: \"#4c1106\",\n colorIconsSpectrumGoldDefault: \"#322301\",\n colorIconsSpectrumYellowDefault: \"#322301\",\n colorIconsSpectrumGreenDefault: \"#042f0a\",\n colorIconsSpectrumMintDefault: \"#042f0a\",\n colorIconsSpectrumTealDefault: \"#042a23\",\n colorIconsSpectrumAquaDefault: \"#042a23\",\n colorIconsSpectrumAzureDefault: \"#022a36\",\n colorIconsSpectrumBlueDefault: \"#031c59\",\n colorIconsSpectrumIndigoDefault: \"#26026e\",\n colorIconsSpectrumIndigoWeak: \"#7847dc\",\n colorIconsSpectrumIndigoWeaker: \"#a87efb\",\n colorIconsSpectrumIndigoWeakest: \"#c9adff\",\n colorIconsSpectrumVioletDefault: \"#26026e\",\n colorIconsSpectrumOrchidDefault: \"#41064b\",\n colorIconsSpectrumRoseDefault: \"#4c062f\",\n colorIconsSpectrumPinkDefault: \"#4c062f\",\n colorIconsSpectrumNeutralDefault: \"#212536\",\n colorIconsSpectrumSlateDefault: \"#212536\",\n colorIconsAssetsWorkspaceStroke: \"#0b5c75\",\n colorIconsAssetsWorkspaceFill: \"#98dcf1\",\n colorIconsAssetsPortfolioStroke: \"#0f6151\",\n colorIconsAssetsPortfolioFill: \"#86e4d1\",\n colorIconsAssetsDashboardStroke: \"#177827\",\n colorIconsAssetsDashboardFill: \"#8ee69d\",\n colorIconsAssetsReportsStroke: \"#b84028\",\n colorIconsAssetsReportsFill: \"#fec8be\",\n colorIconsAssetsSheetStroke: \"#6329d6\",\n colorIconsAssetsSheetFill: \"#d6c2ff\",\n colorIconsAssetsFormStroke: \"#a531b9\",\n colorIconsAssetsFormFill: \"#f0c3f8\",\n colorIconsAssetsCollectionStroke: \"#88620c\",\n colorIconsAssetsCollectionFill: \"#f9cd67\",\n colorIconsAssetsWorkappStroke: \"#184bc3\",\n colorIconsAssetsWorkappFill: \"#b8cdff\",\n colorIconsAssetsBlueprintStroke: \"#0f6151\",\n colorIconsAssetsBlueprintFill: \"#86e4d1\",\n colorElevationHighTop: \"#363c54\",\n colorElevationHighBottom: \"#363c54\",\n colorElevationDefaultTop: \"#363c54\",\n colorElevationDefaultBottom: \"#363c54\",\n colorElevationLowTop: \"#363c54\",\n colorElevationLowBottom: \"#363c54\",\n colorChartsHighContrast1Rest: \"#031c59\",\n colorChartsHighContrast1Hover: \"#000f33\",\n colorChartsHighContrast2Rest: \"#3a6fe9\",\n colorChartsHighContrast2Hover: \"#2d60d7\",\n colorChartsHighContrast3Rest: \"#1c826d\",\n colorChartsHighContrast3Hover: \"#167461\",\n colorChartsHighContrast4Rest: \"#8959e8\",\n colorChartsHighContrast4Hover: \"#7847dc\",\n colorChartsHighContrast5Rest: \"#4c5470\",\n colorChartsHighContrast5Hover: \"#363c54\",\n colorChartsHighContrast6Rest: \"#d64529\",\n colorChartsHighContrast6Hover: \"#b84028\",\n colorChartsHighContrast7Rest: \"#157e9d\",\n colorChartsHighContrast7Hover: \"#10718e\",\n colorChartsHighContrast8Rest: \"#966e13\",\n colorChartsHighContrast8Hover: \"#88620c\",\n colorChartsHighContrast9Rest: \"#094814\",\n colorChartsHighContrast9Hover: \"#042f0a\",\n colorChartsHighContrast10Rest: \"#1d862f\",\n colorChartsHighContrast10Hover: \"#177827\",\n colorChartsHighContrast11Rest: \"#b53dcc\",\n colorChartsHighContrast11Hover: \"#a531b9\",\n colorChartsHighContrast12Rest: \"#973421\",\n colorChartsHighContrast12Hover: \"#732111\",\n colorChartsColorful1Rest: \"#3a6fe9\",\n colorChartsColorful1Hover: \"#2d60d7\",\n colorChartsColorful2Rest: \"#62d574\",\n colorChartsColorful2Hover: \"#32c84c\",\n colorChartsColorful3Rest: \"#fbda8d\",\n colorChartsColorful3Hover: \"#f9cd67\",\n colorChartsColorful4Rest: \"#f06b51\",\n colorChartsColorful4Hover: \"#d64529\",\n colorChartsColorful5Rest: \"#fda796\",\n colorChartsColorful5Hover: \"#fb8f79\",\n colorChartsColorful6Rest: \"#f5d0fb\",\n colorChartsColorful6Hover: \"#f0c3f8\",\n colorChartsColorful7Rest: \"#ce73de\",\n colorChartsColorful7Hover: \"#b53dcc\",\n colorChartsColorful8Rest: \"#98dcf1\",\n colorChartsColorful8Hover: \"#6acae7\",\n colorChartsColorful9Rest: \"#1ea0c8\",\n colorChartsColorful9Hover: \"#157e9d\",\n colorChartsColorful10Rest: \"#0d3491\",\n colorChartsColorful10Hover: \"#0d3491\",\n colorChartsSemanticNotStartedRest: \"#878dab\",\n colorChartsSemanticNotStartedHover: \"#6b7394\",\n colorChartsSemanticInProgressRest: \"#3a6fe9\",\n colorChartsSemanticInProgressHover: \"#2d60d7\",\n colorChartsSemanticAtRiskRest: \"#efb32a\",\n colorChartsSemanticAtRiskHover: \"#dea41b\",\n colorChartsSemanticCompletedRest: \"#29ae40\",\n colorChartsSemanticCompletedHover: \"#1d862f\",\n colorChartsSemanticBlockedRest: \"#e96d75\",\n colorChartsSemanticBlockedHover: \"#df2a36\",\n colorChartsAssetsDashboardRest: \"#29ae40\",\n colorChartsAssetsDashboardHover: \"#1d862f\",\n colorChartsAssetsWorkspaceRest: \"#1ea0c8\",\n colorChartsAssetsWorkspaceHover: \"#157e9d\",\n colorChartsAssetsSheetRest: \"#8959e8\",\n colorChartsAssetsSheetHover: \"#7847dc\",\n colorChartsAssetsReportRest: \"#f06b51\",\n colorChartsAssetsReportHover: \"#d64529\",\n symbolBackgroundColorYellowDefault: \"#efb32a\",\n symbolBackgroundColorYellowHover: \"#f9cd67\",\n tooltipBackgroundColor: \"#031c59\",\n tooltipTextColor: \"#f5f8ff\",\n gradientNavigation: \"linear-gradient(180deg, #184bc3, #5A43D7)\",\n gradientUpsell: \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n gradientProgressBar: \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n elevationLengthTopLow: \"0px 6px 12px\",\n elevationLengthTopDefault: \"0px 6px 16px\",\n elevationLengthTopHigh: \"0px 12px 24px\",\n elevationLengthBottomLow: \"0px 2px 4px\",\n elevationLengthBottomDefault: \"0px 4px 6px\",\n elevationLengthBottomHigh: \"0px 6px 8px\",\n elevationLow: \"0px 6px 12px #363c54, 0px 2px 4px #363c54\",\n elevationDefault: \"0px 6px 16px #363c54, 0px 4px 6px #363c54\",\n elevationHigh: \"0px 12px 24px #363c54, 0px 6px 8px #363c54\"\n};\n//# sourceMappingURL=ursa-light.js.map","/**\n * This file was generated by Style Dictionary and contains the semantic tokens for the ursa-dark theme.\n * To make changes, edit the corresponding JSON file in the token-groups/themes directory.\n * This file is automatically generated and should not be edited directly.\n **/\nexport const ursaDarkColors = {\n colorBackgroundSurfacesOverlay: \"#6b7394\",\n colorBackgroundSurfacesStage: \"#363c54\",\n colorBackgroundSurfacesCanvas: \"#11131d\",\n colorBackgroundSurfacesBody: \"#11131d\",\n colorBackgroundSurfacesWork: \"#212536\",\n colorBackgroundNeutralWeakest: \"#363c54\",\n colorBackgroundNeutralWeaker: \"#4c5470\",\n colorBackgroundNeutralWeak: \"#5f6786\",\n colorBackgroundNeutralDefault: \"#6b7394\",\n colorBackgroundNeutralStrong: \"#878dab\",\n colorBackgroundNeutralStronger: \"#a6acc4\",\n colorBackgroundNeutralStrongest: \"#b8bdd1\",\n colorBackgroundNeutralInverseWeakest: \"#a6acc4\",\n colorBackgroundNeutralInverseWeaker: \"#878dab\",\n colorBackgroundNeutralInverseWeak: \"#5f6786\",\n colorBackgroundNeutralInverseStrongest: \"#11131d\",\n colorBackgroundNeutralInverseStronger: \"#212536\",\n colorBackgroundNeutralInverseStrong: \"#363c54\",\n colorBackgroundNeutralInverseDefault: \"#4c5470\",\n colorBackgroundSlateStrongest: \"#b8bdd1\",\n colorBackgroundSlateStronger: \"#a6acc4\",\n colorBackgroundSlateStrong: \"#878dab\",\n colorBackgroundSlateDefault: \"#6b7394\",\n colorBackgroundSlateWeak: \"#5f6786\",\n colorBackgroundSlateWeaker: \"#4c5470\",\n colorBackgroundSlateWeakest: \"#363c54\",\n colorBackgroundSlateInverseStrongest: \"#11131d\",\n colorBackgroundSlateInverseStronger: \"#212536\",\n colorBackgroundSlateInverseStrong: \"#363c54\",\n colorBackgroundSlateInverseDefault: \"#4c5470\",\n colorBackgroundSlateInverseWeak: \"#5f6786\",\n colorBackgroundSlateInverseWeaker: \"#878dab\",\n colorBackgroundSlateInverseWeakest: \"#a6acc4\",\n colorBackgroundPrimaryStrongest: \"#80a6ff\",\n colorBackgroundPrimaryStronger: \"#6692fa\",\n colorBackgroundPrimaryStrong: \"#3a6fe9\",\n colorBackgroundPrimaryDefault: \"#2d60d7\",\n colorBackgroundPrimaryWeak: \"#184bc3\",\n colorBackgroundPrimaryWeaker: \"#0d3491\",\n colorBackgroundPrimaryWeakest: \"#031c59\",\n colorBackgroundDestructiveStrongest: \"#f29298\",\n colorBackgroundDestructiveStronger: \"#e96d75\",\n colorBackgroundDestructiveStrong: \"#df2a36\",\n colorBackgroundDestructiveDefault: \"#ce1723\",\n colorBackgroundDestructiveWeak: \"#ab0d17\",\n colorBackgroundDestructiveWeaker: \"#7f050d\",\n colorBackgroundDestructiveWeakest: \"#570006\",\n colorBackgroundNotificationsStrong: \"#b84028\",\n colorBackgroundNotificationsWeak: \"#5f6786\",\n colorBackgroundNotificationsPrimary: \"#184bc3\",\n colorBackgroundInfoDefault: \"#ebfaff\",\n colorBackgroundInfoWeak: \"#b6e8f7\",\n colorBackgroundInfoWeaker: \"#157e9d\",\n colorBackgroundSuccessDefault: \"#e7fdeb\",\n colorBackgroundSuccessWeak: \"#a1edad\",\n colorBackgroundSuccessWeaker: \"#29ae40\",\n colorBackgroundWarningDefault: \"#fff6e0\",\n colorBackgroundWarningWeak: \"#fbda8d\",\n colorBackgroundWarningWeaker: \"#dea41b\",\n colorBackgroundErrorDefault: \"#fff5f6\",\n colorBackgroundErrorWeak: \"#fed7da\",\n colorBackgroundErrorWeaker: \"#e96d75\",\n colorBackgroundSpectrumAzureStrongest: \"#ebfaff\",\n colorBackgroundSpectrumAzureStronger: \"#c6effa\",\n colorBackgroundSpectrumAzureStrong: \"#b6e8f7\",\n colorBackgroundSpectrumAzureDefault: \"#98dcf1\",\n colorBackgroundSpectrumAzureWeak: \"#6acae7\",\n colorBackgroundSpectrumAzureWeaker: \"#3ab9df\",\n colorBackgroundSpectrumAzureWeakest: \"#1ea0c8\",\n colorBackgroundSpectrumMintStrongest: \"#e7fdeb\",\n colorBackgroundSpectrumMintStronger: \"#d2f9d8\",\n colorBackgroundSpectrumMintStrong: \"#a1edad\",\n colorBackgroundSpectrumMintDefault: \"#8ee69d\",\n colorBackgroundSpectrumMintWeak: \"#62d574\",\n colorBackgroundSpectrumMintWeaker: \"#32c84c\",\n colorBackgroundSpectrumMintWeakest: \"#29ae40\",\n colorBackgroundSpectrumRedStrongest: \"#fff5f6\",\n colorBackgroundSpectrumRedStronger: \"#ffe0e3\",\n colorBackgroundSpectrumRedStrong: \"#fed7da\",\n colorBackgroundSpectrumRedDefault: \"#fbc6c9\",\n colorBackgroundSpectrumRedWeak: \"#f7abb0\",\n colorBackgroundSpectrumRedWeaker: \"#f29298\",\n colorBackgroundSpectrumRedWeakest: \"#e96d75\",\n colorBackgroundSpectrumPinkStrongest: \"#fff5fa\",\n colorBackgroundSpectrumPinkStronger: \"#fee1f2\",\n colorBackgroundSpectrumPinkStrong: \"#fdd3ec\",\n colorBackgroundSpectrumPinkDefault: \"#fdc4e4\",\n colorBackgroundSpectrumPinkWeak: \"#f9a4d6\",\n colorBackgroundSpectrumPinkWeaker: \"#f589c8\",\n colorBackgroundSpectrumPinkWeakest: \"#e76ab3\",\n colorBackgroundSpectrumRoseStrongest: \"#fff5fa\",\n colorBackgroundSpectrumRoseStronger: \"#fee1f2\",\n colorBackgroundSpectrumRoseStrong: \"#fdd3ec\",\n colorBackgroundSpectrumRoseDefault: \"#fdc4e4\",\n colorBackgroundSpectrumRoseWeak: \"#f9a4d6\",\n colorBackgroundSpectrumRoseWeaker: \"#e76ab3\",\n colorBackgroundSpectrumRoseWeakest: \"#e76ab3\",\n colorBackgroundSpectrumOrchidStrongest: \"#fdf5ff\",\n colorBackgroundSpectrumOrchidStronger: \"#f8ddfd\",\n colorBackgroundSpectrumOrchidStrong: \"#f5d0fb\",\n colorBackgroundSpectrumOrchidDefault: \"#f0c3f8\",\n colorBackgroundSpectrumOrchidWeak: \"#e5a7f1\",\n colorBackgroundSpectrumOrchidWeaker: \"#db91e8\",\n colorBackgroundSpectrumOrchidWeakest: \"#ce73de\",\n colorBackgroundSpectrumVioletStrongest: \"#f8f5ff\",\n colorBackgroundSpectrumVioletStronger: \"#ebe0ff\",\n colorBackgroundSpectrumVioletStrong: \"#e0d1ff\",\n colorBackgroundSpectrumVioletDefault: \"#d6c2ff\",\n colorBackgroundSpectrumVioletWeak: \"#c9adff\",\n colorBackgroundSpectrumVioletWeaker: \"#bb99ff\",\n colorBackgroundSpectrumVioletWeakest: \"#a87efb\",\n colorBackgroundSpectrumIndigoStrongest: \"#f8f5ff\",\n colorBackgroundSpectrumIndigoStronger: \"#ebe0ff\",\n colorBackgroundSpectrumIndigoStrong: \"#e0d1ff\",\n colorBackgroundSpectrumIndigoDefault: \"#d6c2ff\",\n colorBackgroundSpectrumIndigoWeak: \"#c9adff\",\n colorBackgroundSpectrumIndigoWeaker: \"#bb99ff\",\n colorBackgroundSpectrumIndigoWeakest: \"#a87efb\",\n colorBackgroundSpectrumBlueStrongest: \"#f5f8ff\",\n colorBackgroundSpectrumBlueStronger: \"#dbe6ff\",\n colorBackgroundSpectrumBlueStrong: \"#c7d8ff\",\n colorBackgroundSpectrumBlueDefault: \"#b8cdff\",\n colorBackgroundSpectrumBlueWeak: \"#9ebbff\",\n colorBackgroundSpectrumBlueWeaker: \"#80a6ff\",\n colorBackgroundSpectrumBlueWeakest: \"#6692fa\",\n colorBackgroundSpectrumAquaStrongest: \"#e8fdf9\",\n colorBackgroundSpectrumAquaStronger: \"#b5f2e6\",\n colorBackgroundSpectrumAquaStrong: \"#9cecdc\",\n colorBackgroundSpectrumAquaDefault: \"#86e4d1\",\n colorBackgroundSpectrumAquaWeak: \"#5ad3bb\",\n colorBackgroundSpectrumAquaWeaker: \"#30c0a3\",\n colorBackgroundSpectrumAquaWeakest: \"#28a98f\",\n colorBackgroundSpectrumTealStrongest: \"#e8fdf9\",\n colorBackgroundSpectrumTealStronger: \"#b5f2e6\",\n colorBackgroundSpectrumTealStrong: \"#9cecdc\",\n colorBackgroundSpectrumTealDefault: \"#86e4d1\",\n colorBackgroundSpectrumTealWeak: \"#5ad3bb\",\n colorBackgroundSpectrumTealWeaker: \"#30c0a3\",\n colorBackgroundSpectrumTealWeakest: \"#28a98f\",\n colorBackgroundSpectrumGreenStrongest: \"#e7fdeb\",\n colorBackgroundSpectrumGreenStronger: \"#b9f4c3\",\n colorBackgroundSpectrumGreenStrong: \"#a1edad\",\n colorBackgroundSpectrumGreenDefault: \"#8ee69d\",\n colorBackgroundSpectrumGreenWeak: \"#62d574\",\n colorBackgroundSpectrumGreenWeaker: \"#32c84c\",\n colorBackgroundSpectrumGreenWeakest: \"#29ae40\",\n colorBackgroundSpectrumYellowStrongest: \"#fff6e0\",\n colorBackgroundSpectrumYellowStronger: \"#fff0cc\",\n colorBackgroundSpectrumYellowStrong: \"#fde6af\",\n colorBackgroundSpectrumYellowDefault: \"#fbda8d\",\n colorBackgroundSpectrumYellowWeak: \"#f9cd67\",\n colorBackgroundSpectrumYellowWeaker: \"#efb32a\",\n colorBackgroundSpectrumYellowWeakest: \"#dea41b\",\n colorBackgroundSpectrumOrangeStrongest: \"#ffeeeb\",\n colorBackgroundSpectrumOrangeStronger: \"#ffe1dc\",\n colorBackgroundSpectrumOrangeStrong: \"#fed5cd\",\n colorBackgroundSpectrumOrangeDefault: \"#fec8be\",\n colorBackgroundSpectrumOrangeWeak: \"#fda796\",\n colorBackgroundSpectrumOrangeWeaker: \"#fb8f79\",\n colorBackgroundSpectrumOrangeWeakest: \"#f06b51\",\n colorBackgroundSpectrumGoldStrongest: \"#fff6e0\",\n colorBackgroundSpectrumGoldStronger: \"#fff0cc\",\n colorBackgroundSpectrumGoldStrong: \"#fde6af\",\n colorBackgroundSpectrumGoldDefault: \"#fbda8d\",\n colorBackgroundSpectrumGoldWeak: \"#f9cd67\",\n colorBackgroundSpectrumGoldWeaker: \"#efb32a\",\n colorBackgroundSpectrumGoldWeakest: \"#dea41b\",\n colorBackgroundSpectrumNeutralStrongest: \"#f5f6fa\",\n colorBackgroundSpectrumNeutralStronger: \"#e5e7f0\",\n colorBackgroundSpectrumNeutralStrong: \"#dcdeea\",\n colorBackgroundSpectrumNeutralDefault: \"#d0d3e2\",\n colorBackgroundSpectrumNeutralWeak: \"#b8bdd1\",\n colorBackgroundSpectrumNeutralWeaker: \"#a6acc4\",\n colorBackgroundSpectrumNeutralWeakest: \"#878dab\",\n colorBackgroundSpectrumSlateStrongest: \"#f5f6fa\",\n colorBackgroundSpectrumSlateStronger: \"#e5e7f0\",\n colorBackgroundSpectrumSlateStrong: \"#dcdeea\",\n colorBackgroundSpectrumSlateDefault: \"#d0d3e2\",\n colorBackgroundSpectrumSlateWeak: \"#b8bdd1\",\n colorBackgroundSpectrumSlateWeaker: \"#a6acc4\",\n colorBackgroundSpectrumSlateWeakest: \"#878dab\",\n colorBackgroundAiIconWrapperDefault: \"#8959e8\",\n colorTextNeutralStronger: \"#ffffff\",\n colorTextNeutralStrong: \"#ffffff\",\n colorTextNeutralDefault: \"#e5e7f0\",\n colorTextNeutralWeak: \"#b8bdd1\",\n colorTextNeutralWeaker: \"#a6acc4\",\n colorTextNeutralWeakest: \"#878dab\",\n colorTextAiDefault: \"#7847dc\",\n colorTextSlateStrong: \"#ffffff\",\n colorTextSlateDefault: \"#e5e7f0\",\n colorTextSlateWeak: \"#b8bdd1\",\n colorTextSlateWeaker: \"#a6acc4\",\n colorTextSlateWeakest: \"#878dab\",\n colorTextNeutralInverseStrong: \"#ffffff\",\n colorTextNeutralInverseDefault: \"#d0d3e2\",\n colorTextNeutralInverseWeak: \"#a6acc4\",\n colorTextSlateInverseStrong: \"#ffffff\",\n colorTextSlateInverseDefault: \"#f5f6fa\",\n colorTextSlateInverseWeak: \"#e5e7f0\",\n colorTextPrimaryStrongest: \"#3a6fe9\",\n colorTextPrimaryStronger: \"#6692fa\",\n colorTextPrimaryStrong: \"#9ebbff\",\n colorTextPrimaryDefault: \"#c7d8ff\",\n colorTextPrimaryWeak: \"#dbe6ff\",\n colorTextPrimaryWeaker: \"#ebf1ff\",\n colorTextPrimaryWeakest: \"#f5f8ff\",\n colorTextInfoDefault: \"#3ab9df\",\n colorTextInfoWeak: \"#157e9d\",\n colorTextSuccessDefault: \"#32c84c\",\n colorTextSuccessWeak: \"#29ae40\",\n colorTextWarningDefault: \"#dea41b\",\n colorTextWarningWeak: \"#dea41b\",\n colorTextErrorDefault: \"#f29298\",\n colorTextErrorWeak: \"#e96d75\",\n colorTextDestructiveStrongest: \"#330003\",\n colorTextDestructiveStronger: \"#7f050d\",\n colorTextDestructiveStrong: \"#ab0d17\",\n colorTextDestructiveDefault: \"#f7abb0\",\n colorTextDestructiveWeak: \"#fbc6c9\",\n colorTextDestructiveWeaker: \"#fed7da\",\n colorTextDestructiveWeakest: \"#fff5f6\",\n colorTextSpectrumSlateDefault: \"#212536\",\n colorTextSpectrumSlateStrong: \"#4c5470\",\n colorTextSpectrumAzureDefault: \"#022a36\",\n colorTextSpectrumAzureStrong: \"#0b5c75\",\n colorTextSpectrumMintDefault: \"#042f0a\",\n colorTextSpectrumMintStrong: \"#0f621c\",\n colorTextSpectrumRedDefault: \"#570006\",\n colorTextSpectrumRedStrong: \"#ab0d17\",\n colorTextSpectrumPinkDefault: \"#4c062f\",\n colorTextSpectrumPinkStrong: \"#992468\",\n colorTextSpectrumRoseDefault: \"#4c062f\",\n colorTextSpectrumRoseStrong: \"#992468\",\n colorTextSpectrumOrchidDefault: \"#41064b\",\n colorTextSpectrumOrchidStrong: \"#8b259d\",\n colorTextSpectrumIndigoWeak: \"#160042\",\n colorTextSpectrumIndigoDefault: \"#26026e\",\n colorTextSpectrumIndigoStrong: \"#6329d6\",\n colorTextSpectrumVioletDefault: \"#26026e\",\n colorTextSpectrumVioletStrong: \"#6329d6\",\n colorTextSpectrumBlueDefault: \"#031c59\",\n colorTextSpectrumBlueStrong: \"#184bc3\",\n colorTextSpectrumAquaDefault: \"#042a23\",\n colorTextSpectrumAquaStrong: \"#0f6151\",\n colorTextSpectrumTealDefault: \"#042a23\",\n colorTextSpectrumTealStrong: \"#0f6151\",\n colorTextSpectrumGreenDefault: \"#042f0a\",\n colorTextSpectrumGreenStrong: \"#0f621c\",\n colorTextSpectrumOrangeDefault: \"#4c1106\",\n colorTextSpectrumOrangeStrong: \"#973421\",\n colorTextSpectrumNeutralDefault: \"#212536\",\n colorTextSpectrumNeutralStrong: \"#363c54\",\n colorTextSpectrumGoldDefault: \"#322301\",\n colorTextSpectrumGoldStrong: \"#705006\",\n colorTextSpectrumYellowDefault: \"#322301\",\n colorTextSpectrumYellowStrong: \"#705006\",\n colorBorderSurfacesBody: \"#11131d\",\n colorBorderSurfacesWork: \"#11131d\",\n colorBorderSurfacesCanvas: \"#11131d\",\n colorBorderSurfacesStage: \"#363c54\",\n colorBorderSurfacesFocus: \"#3a6fe9\",\n colorBorderNeutralStrongest: \"#d0d3e2\",\n colorBorderNeutralStronger: \"#b8bdd1\",\n colorBorderNeutralStrong: \"#a6acc4\",\n colorBorderNeutralDefault: \"#878dab\",\n colorBorderNeutralWeak: \"#6b7394\",\n colorBorderNeutralWeaker: \"#5f6786\",\n colorBorderNeutralWeakest: \"#363c54\",\n colorBorderSlateStrongest: \"#d0d3e2\",\n colorBorderSlateStronger: \"#b8bdd1\",\n colorBorderSlateStrong: \"#a6acc4\",\n colorBorderSlateDefault: \"#878dab\",\n colorBorderSlateWeak: \"#6b7394\",\n colorBorderSlateWeaker: \"#5f6786\",\n colorBorderSlateWeakest: \"#363c54\",\n colorBorderPrimaryDefault: \"#6692fa\",\n colorBorderPrimaryWeak: \"#3a6fe9\",\n colorBorderPrimaryWeaker: \"#2d60d7\",\n colorBorderPrimaryWeakest: \"#184bc3\",\n colorBorderDestructiveDefault: \"#e96d75\",\n colorBorderDestructiveWeak: \"#df2a36\",\n colorBorderDestructiveWeaker: \"#ce1723\",\n colorBorderDestructiveWeakest: \"#ab0d17\",\n colorBorderSuccessDefault: \"#29ae40\",\n colorBorderWarningDefault: \"#bf8e1d\",\n colorBorderErrorDefault: \"#e96d75\",\n colorBorderSpectrumRedDefault: \"#e96d75\",\n colorBorderSpectrumOrangeDefault: \"#f06b51\",\n colorBorderSpectrumGoldDefault: \"#bf8e1d\",\n colorBorderSpectrumYellowDefault: \"#bf8e1d\",\n colorBorderSpectrumGreenDefault: \"#29ae40\",\n colorBorderSpectrumMintDefault: \"#29ae40\",\n colorBorderSpectrumTealDefault: \"#28a98f\",\n colorBorderSpectrumAquaDefault: \"#28a98f\",\n colorBorderSpectrumAzureDefault: \"#1ea0c8\",\n colorBorderSpectrumBlueDefault: \"#6692fa\",\n colorBorderSpectrumIndigoDefault: \"#a87efb\",\n colorBorderSpectrumVioletDefault: \"#a87efb\",\n colorBorderSpectrumOrchidDefault: \"#ce73de\",\n colorBorderSpectrumRoseDefault: \"#e76ab3\",\n colorBorderSpectrumPinkDefault: \"#e76ab3\",\n colorBorderSpectrumNeutralDefault: \"#878dab\",\n colorBorderSpectrumSlateDefault: \"#878dab\",\n colorIconsNeutralStrongest: \"#d0d3e2\",\n colorIconsNeutralStronger: \"#b8bdd1\",\n colorIconsNeutralStrong: \"#a6acc4\",\n colorIconsNeutralDefault: \"#878dab\",\n colorIconsNeutralWeak: \"#6b7394\",\n colorIconsNeutralWeaker: \"#5f6786\",\n colorIconsNeutralWeakest: \"#4c5470\",\n colorIconsSlateStrongest: \"#d0d3e2\",\n colorIconsSlateStronger: \"#b8bdd1\",\n colorIconsSlateStrong: \"#a6acc4\",\n colorIconsSlateDefault: \"#878dab\",\n colorIconsSlateWeak: \"#6b7394\",\n colorIconsSlateWeaker: \"#5f6786\",\n colorIconsSlateWeakest: \"#4c5470\",\n colorIconsNeutralInverseDefault: \"#ffffff\",\n colorIconsNeutralInverseWeak: \"#dcdeea\",\n colorIconsSlateInverseDefault: \"#ffffff\",\n colorIconsSlateInverseWeak: \"#dcdeea\",\n colorIconsPrimaryStrongest: \"#031c59\",\n colorIconsPrimaryStronger: \"#184bc3\",\n colorIconsPrimaryStrong: \"#2d60d7\",\n colorIconsPrimaryDefault: \"#3a6fe9\",\n colorIconsPrimaryWeak: \"#6692fa\",\n colorIconsPrimaryWeaker: \"#80a6ff\",\n colorIconsPrimaryWeakest: \"#b8cdff\",\n colorIconsPrimaryInverseStronger: \"#f5f8ff\",\n colorIconsDestructiveStrongest: \"#fbc6c9\",\n colorIconsDestructiveStronger: \"#f7abb0\",\n colorIconsDestructiveStrong: \"#f29298\",\n colorIconsDestructiveDefault: \"#e96d75\",\n colorIconsDestructiveWeak: \"#df2a36\",\n colorIconsDestructiveWeaker: \"#ce1723\",\n colorIconsDestructiveWeakest: \"#ab0d17\",\n colorIconsDestructiveInverseWeakest: \"#fff5f6\",\n colorIconsInfoDefault: \"#0b5c75\",\n colorIconsInfoWeak: \"#80a6ff\",\n colorIconsSuccessDefault: \"#1d862f\",\n colorIconsSuccessWeak: \"#32c84c\",\n colorIconsWarningDefault: \"#88620c\",\n colorIconsWarningWeak: \"#dea41b\",\n colorIconsErrorDefault: \"#ce1723\",\n colorIconsErrorWeak: \"#e96d75\",\n colorIconsSpectrumRedDefault: \"#570006\",\n colorIconsSpectrumOrangeDefault: \"#4c1106\",\n colorIconsSpectrumGoldDefault: \"#322301\",\n colorIconsSpectrumYellowDefault: \"#322301\",\n colorIconsSpectrumGreenDefault: \"#042f0a\",\n colorIconsSpectrumMintDefault: \"#042f0a\",\n colorIconsSpectrumTealDefault: \"#042a23\",\n colorIconsSpectrumAquaDefault: \"#042a23\",\n colorIconsSpectrumAzureDefault: \"#022a36\",\n colorIconsSpectrumBlueDefault: \"#031c59\",\n colorIconsSpectrumIndigoDefault: \"#26026e\",\n colorIconsSpectrumIndigoWeak: \"#7847dc\",\n colorIconsSpectrumIndigoWeaker: \"#a87efb\",\n colorIconsSpectrumIndigoWeakest: \"#c9adff\",\n colorIconsSpectrumVioletDefault: \"#26026e\",\n colorIconsSpectrumOrchidDefault: \"#41064b\",\n colorIconsSpectrumRoseDefault: \"#4c062f\",\n colorIconsSpectrumPinkDefault: \"#4c062f\",\n colorIconsSpectrumNeutralDefault: \"#ffffff\",\n colorIconsSpectrumSlateDefault: \"#ffffff\",\n colorIconsAssetsWorkspaceStroke: \"#3ab9df\",\n colorIconsAssetsWorkspaceFill: \"#0b5c75\",\n colorIconsAssetsPortfolioStroke: \"#30c0a3\",\n colorIconsAssetsPortfolioFill: \"#0f6151\",\n colorIconsAssetsDashboardStroke: \"#32c84c\",\n colorIconsAssetsDashboardFill: \"#0f621c\",\n colorIconsAssetsReportsStroke: \"#fb8f79\",\n colorIconsAssetsReportsFill: \"#973421\",\n colorIconsAssetsSheetStroke: \"#bb99ff\",\n colorIconsAssetsSheetFill: \"#6329d6\",\n colorIconsAssetsFormStroke: \"#db91e8\",\n colorIconsAssetsFormFill: \"#8b259d\",\n colorIconsAssetsCollectionStroke: \"#dea41b\",\n colorIconsAssetsCollectionFill: \"#705006\",\n colorIconsAssetsWorkappStroke: \"#80a6ff\",\n colorIconsAssetsWorkappFill: \"#184bc3\",\n colorIconsAssetsBlueprintStroke: \"#30c0a3\",\n colorIconsAssetsBlueprintFill: \"#0f6151\",\n colorElevationHighTop: \"#11131d\",\n colorElevationHighBottom: \"#11131d\",\n colorElevationDefaultTop: \"#11131d\",\n colorElevationDefaultBottom: \"#11131d\",\n colorElevationLowTop: \"#11131d\",\n colorElevationLowBottom: \"#11131d\",\n colorChartsHighContrast1Rest: \"#9ebbff\",\n colorChartsHighContrast1Hover: \"#b8cdff\",\n colorChartsHighContrast2Rest: \"#3a6fe9\",\n colorChartsHighContrast2Hover: \"#6692fa\",\n colorChartsHighContrast3Rest: \"#1c826d\",\n colorChartsHighContrast3Hover: \"#28a98f\",\n colorChartsHighContrast4Rest: \"#8959e8\",\n colorChartsHighContrast4Hover: \"#a87efb\",\n colorChartsHighContrast5Rest: \"#6b7394\",\n colorChartsHighContrast5Hover: \"#878dab\",\n colorChartsHighContrast6Rest: \"#fda796\",\n colorChartsHighContrast6Hover: \"#fec8be\",\n colorChartsHighContrast7Rest: \"#3ab9df\",\n colorChartsHighContrast7Hover: \"#6acae7\",\n colorChartsHighContrast8Rest: \"#dea41b\",\n colorChartsHighContrast8Hover: \"#efb32a\",\n colorChartsHighContrast9Rest: \"#1d862f\",\n colorChartsHighContrast9Hover: \"#29ae40\",\n colorChartsHighContrast10Rest: \"#62d574\",\n colorChartsHighContrast10Hover: \"#a1edad\",\n colorChartsHighContrast11Rest: \"#ce73de\",\n colorChartsHighContrast11Hover: \"#db91e8\",\n colorChartsHighContrast12Rest: \"#d64529\",\n colorChartsHighContrast12Hover: \"#f06b51\",\n colorChartsColorful1Rest: \"#9ebbff\",\n colorChartsColorful1Hover: \"#c7d8ff\",\n colorChartsColorful2Rest: \"#b9f4c3\",\n colorChartsColorful2Hover: \"#b9f4c3\",\n colorChartsColorful3Rest: \"#efb32a\",\n colorChartsColorful3Hover: \"#fde6af\",\n colorChartsColorful4Rest: \"#f06b51\",\n colorChartsColorful4Hover: \"#fb8f79\",\n colorChartsColorful5Rest: \"#fda796\",\n colorChartsColorful5Hover: \"#fec8be\",\n colorChartsColorful6Rest: \"#e5a7f1\",\n colorChartsColorful6Hover: \"#f0c3f8\",\n colorChartsColorful7Rest: \"#ce73de\",\n colorChartsColorful7Hover: \"#db91e8\",\n colorChartsColorful8Rest: \"#98dcf1\",\n colorChartsColorful8Hover: \"#c6effa\",\n colorChartsColorful9Rest: \"#1ea0c8\",\n colorChartsColorful9Hover: \"#3ab9df\",\n colorChartsColorful10Rest: \"#3a6fe9\",\n colorChartsColorful10Hover: \"#6692fa\",\n colorChartsSemanticNotStartedRest: \"#a6acc4\",\n colorChartsSemanticNotStartedHover: \"#b8bdd1\",\n colorChartsSemanticInProgressRest: \"#80a6ff\",\n colorChartsSemanticInProgressHover: \"#9ebbff\",\n colorChartsSemanticAtRiskRest: \"#efb32a\",\n colorChartsSemanticAtRiskHover: \"#f9cd67\",\n colorChartsSemanticCompletedRest: \"#32c84c\",\n colorChartsSemanticCompletedHover: \"#62d574\",\n colorChartsSemanticBlockedRest: \"#f29298\",\n colorChartsSemanticBlockedHover: \"#f7abb0\",\n colorChartsAssetsDashboardRest: \"#32c84c\",\n colorChartsAssetsDashboardHover: \"#62d574\",\n colorChartsAssetsWorkspaceRest: \"#3ab9df\",\n colorChartsAssetsWorkspaceHover: \"#6acae7\",\n colorChartsAssetsSheetRest: \"#a87efb\",\n colorChartsAssetsSheetHover: \"#bb99ff\",\n colorChartsAssetsReportRest: \"#fb8f79\",\n colorChartsAssetsReportHover: \"#fda796\",\n symbolBackgroundColorYellowDefault: \"#efb32a\",\n symbolBackgroundColorYellowHover: \"#dea41b\",\n tooltipBackgroundColor: \"#363c54\",\n tooltipTextColor: \"#f5f8ff\",\n gradientNavigation: \"linear-gradient(180deg, #184bc3, #5A43D7)\",\n gradientUpsell: \"linear-gradient(101deg, #F4F1FE 0%, #E3EBFD 33%, #ADC6FA 100%)\",\n gradientProgressBar: \"linear-gradient(90deg, #7047EB 0%, #012F92 66%, #012470 100%)\",\n gradientBackgroundAiStaticDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultRest: \"linear-gradient(88.36deg, #DBE6FF 0%, #EBE0FF 100%)\",\n gradientBackgroundAiInteractiveDefaultHover: \"linear-gradient(88.36deg, #B8CDFF 0%, #D6C2FF 100%)\",\n gradientBackgroundAiInteractiveDefaultPress: \"linear-gradient(88.36deg, #9EBBFF 0%, #C9ADFF 100%)\",\n elevationLengthTopLow: \"0px 6px 12px\",\n elevationLengthTopDefault: \"0px 6px 16px\",\n elevationLengthTopHigh: \"0px 12px 24px\",\n elevationLengthBottomLow: \"0px 2px 4px\",\n elevationLengthBottomDefault: \"0px 4px 6px\",\n elevationLengthBottomHigh: \"0px 6px 8px\",\n elevationLow: \"0px 6px 12px #11131d, 0px 2px 4px #11131d\",\n elevationDefault: \"0px 6px 16px #11131d, 0px 4px 6px #11131d\",\n elevationHigh: \"0px 12px 24px #11131d, 0px 6px 8px #11131d\"\n};\n//# sourceMappingURL=ursa-dark.js.map","import { colorTokens } from \"./token-groups/color-tokens\";\nexport const commonTokens = colorTokens;\nexport { layers } from \"./token-groups/layers\";\nexport { border } from \"./token-groups/border\";\nexport { motion } from \"./token-groups/motion\";\nexport { space } from \"./token-groups/space\";\nexport { typography } from \"./token-groups/typography\";\nexport { colors as ursaColors } from \"./system/ursaColors\";\nexport { colors as ursaColorsInternal } from \"./system/ursaColorsInternal\";\nexport { lodestarLightColors } from \"./build/ts/lodestar-light\";\nexport { ursaLightColors } from \"./build/ts/ursa-light\";\nexport { ursaDarkColors } from \"./build/ts/ursa-dark\";\nexport * as lodestarColors from \"./system/lodestarColors\";\n//# sourceMappingURL=index.js.map","import { Global } from \"@emotion/core\";\nimport { commonTokens } from \"@smartsheet/design-tokens\";\nimport { useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport React from \"react\";\nimport { BODY_MARKER_ATTRIBUTE } from \"./ThemeMarkerAttribute\";\nimport { createTokenInjector } from \"./createTokenInjector\";\nconst BACKGROUND_COLOR_TRANSITION_MILLISECONDS = 200;\nconst {\n getToken,\n Injector\n} = createTokenInjector({\n tokens: commonTokens,\n supportedThemes: [\"lodestar-light\", \"ursa-light\", \"ursa-dark\"],\n namespace: \"com\"\n});\n\n/**\n * @deprecated This utility is being removed in V6+, February 2025, in favor of:\n * - `SDSThemeProvider` from `@smartsheet/lodestar-core`\n * - a global tokens stylesheet from `@smartsheet/design-tokens`\n *\n * Note that the `createTokenInjector()` function will still be available until further notice,\n * enabling teams to continue injecting and accessing their own sets of tokens as needed.\n */\n\n/**\n * @deprecated This utility is being removed in V6+, February 2025, in favor of:\n * - `SDSThemeProvider` from `@smartsheet/lodestar-core`\n * - a global tokens stylesheet from `@smartsheet/design-tokens`\n *\n * Note that the `createTokenInjector()` function will still be available until further notice,\n * enabling teams to continue injecting and accessing their own sets of tokens as needed.\n */\nexport const CommonTokenInjector = _ref => {\n let {\n themeKey\n } = _ref;\n const [_actualThemeKey, setActualThemeKey] = useState(themeKey);\n const [applyBackgroundColorTransition, setApplyBackgroundColorTransition] = useState(false);\n\n // Users should get the right theme immediately. This helps w/ tests and the initial paint.\n const firstMountRef = useRef(true);\n if (firstMountRef.current) {\n document.body.setAttribute(BODY_MARKER_ATTRIBUTE, themeKey);\n firstMountRef.current = false;\n }\n useLayoutEffect(() => {\n let animationTimeoutId = 0;\n setApplyBackgroundColorTransition(true);\n // We want to apply the CSS change after a tick to ensure all the React stuff has settled\n // first.\n const rafId = requestAnimationFrame(() => {\n setActualThemeKey(themeKey);\n animationTimeoutId = window.setTimeout(() => {\n setApplyBackgroundColorTransition(false);\n }, BACKGROUND_COLOR_TRANSITION_MILLISECONDS);\n document.body.setAttribute(BODY_MARKER_ATTRIBUTE, themeKey);\n });\n return () => {\n cancelAnimationFrame(rafId);\n clearTimeout(animationTimeoutId);\n };\n }, [themeKey]);\n\n // When this component is unmounted, we should remove the attribute to clean up.\n useEffect(() => () => {\n document.body.removeAttribute(BODY_MARKER_ATTRIBUTE);\n }, [themeKey]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Injector, {\n themeKey: themeKey\n }), /*#__PURE__*/React.createElement(Global, {\n styles: {\n // This should only be added when the themeKey is transitioning or\n // it affects everything else pretty badly.\n \"*, *:before, *.after\": applyBackgroundColorTransition ? {\n transition: `\n background-color ${BACKGROUND_COLOR_TRANSITION_MILLISECONDS}ms linear,\n border-color ${BACKGROUND_COLOR_TRANSITION_MILLISECONDS}ms linear,\n color ${BACKGROUND_COLOR_TRANSITION_MILLISECONDS}ms linear\n `\n } : {}\n }\n }));\n};\nexport const color = getToken;\n//# sourceMappingURL=CommonTokenInjector.js.map","import { useEffect, useState } from \"react\";\nimport { BODY_MARKER_ATTRIBUTE } from \"../tokenInjector/ThemeMarkerAttribute\";\nconst getThemeKey = fallback => document.body.getAttribute(BODY_MARKER_ATTRIBUTE) ?? fallback;\n/**\n * This hook returns the current theme's key or null if none is present.\n */\nexport const useThemeKey = function () {\n let {\n fallbackTheme = \"lodestar-light\",\n isDisabled\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [themeKey, setThemeKey] = useState(() => getThemeKey(fallbackTheme));\n\n // Hooks up a MutationObserver that watches the body class. This means any change\n // to add/remove the class we care about will cause a re-render here.\n // This is good because many components could use this hook and we want them all\n // to pay attention.\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n // Do a quick update in case it has changed while we were disabled.\n setThemeKey(getThemeKey(fallbackTheme));\n const obs = new MutationObserver(() => setThemeKey(getThemeKey(fallbackTheme)));\n obs.observe(document.body, {\n attributes: true,\n attributeFilter: [BODY_MARKER_ATTRIBUTE]\n });\n return () => {\n obs.disconnect();\n };\n }, [isDisabled, fallbackTheme]);\n return {\n themeKey\n };\n};\n//# sourceMappingURL=useThemeKey.js.map","export { createTokenInjector } from \"./tokenInjector/createTokenInjector\";\nexport { CommonTokenInjector, color } from \"./tokenInjector/CommonTokenInjector\";\nexport { useThemeKey } from \"./hooks/useThemeKey\";\n//# sourceMappingURL=index.js.map","import { iconSizes } from \"./icon\";\nvar sizes = Object.keys(iconSizes);\n// Array.findIndex() is not supported in IE11, so write our own\nvar arrayFindIndex = function (array, value) {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n};\n/**\n * Returns the SVG asset that is closest to the requested size\n */\nexport var getSvgResourceForSize = function (sizeToResourceMap, size\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n // Have to save this value to a variable or else TS will complain\n var resource = sizeToResourceMap[size];\n if (resource) {\n // If we have a resource at the desired size, return that resource\n return resource;\n }\n else {\n var sizeIndex = arrayFindIndex(sizes, size);\n var smallerIndex = sizeIndex - 1;\n var largerIndex = sizeIndex + 1;\n while (smallerIndex >= 0 || largerIndex < sizes.length) {\n // Check if there is a smaller asset first that is optimized close to\n // the desired size\n if (smallerIndex >= 0) {\n var smallerSize = sizes[smallerIndex];\n var smallerResource = sizeToResourceMap[smallerSize];\n if (smallerResource) {\n return smallerResource;\n }\n }\n if (largerIndex < sizes.length) {\n var largerSize = sizes[largerIndex];\n var largerResource = sizeToResourceMap[largerSize];\n if (largerResource) {\n return largerResource;\n }\n }\n smallerIndex--;\n largerIndex++;\n }\n }\n throw Error(\"Could not find any valid assets in the set \" + Object.keys(sizeToResourceMap).toString());\n};\n/**\n * Compute the default icon size given the map of available assets. Will default\n * to \"medium\" if present; otherwise finds the closest available asset size.\n */\nexport var getDefaultSize = function (sizeToResourceMap) {\n if (sizeToResourceMap[\"medium\"]) {\n return \"medium\";\n }\n var sizeIndex = arrayFindIndex(sizes, \"medium\");\n var smallerIndex = sizeIndex - 1;\n var largerIndex = sizeIndex + 1;\n while (smallerIndex >= 0 || largerIndex < sizes.length) {\n // For default size, prefer larger over smaller assets\n if (largerIndex < sizes.length) {\n var largerSize = sizes[largerIndex];\n if (sizeToResourceMap[largerSize]) {\n return largerSize;\n }\n }\n if (smallerIndex >= 0) {\n var smallerSize = sizes[smallerIndex];\n if (sizeToResourceMap[smallerSize]) {\n return smallerSize;\n }\n }\n smallerIndex--;\n largerIndex++;\n }\n // If no sizes found, default to medium\n return \"medium\";\n};\n//# sourceMappingURL=utils.js.map","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lottie-web'), require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'lottie-web', 'react'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global[\"lottie-react\"] = {}, global.Lottie, global.React));\n})(this, (function (exports, lottie, React) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var lottie__default = /*#__PURE__*/_interopDefaultLegacy(lottie);\n var React__default = /*#__PURE__*/_interopDefaultLegacy(React);\n\n function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n }\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n }\n function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n 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 }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n\n var _excluded$1 = [\"animationData\", \"loop\", \"autoplay\", \"initialSegment\", \"onComplete\", \"onLoopComplete\", \"onEnterFrame\", \"onSegmentStart\", \"onConfigReady\", \"onDataReady\", \"onDataFailed\", \"onLoadedImages\", \"onDOMLoaded\", \"onDestroy\", \"lottieRef\", \"renderer\", \"name\", \"assetsPath\", \"rendererSettings\"];\n var useLottie = function useLottie(props, style) {\n var animationData = props.animationData,\n loop = props.loop,\n autoplay = props.autoplay,\n initialSegment = props.initialSegment,\n onComplete = props.onComplete,\n onLoopComplete = props.onLoopComplete,\n onEnterFrame = props.onEnterFrame,\n onSegmentStart = props.onSegmentStart,\n onConfigReady = props.onConfigReady,\n onDataReady = props.onDataReady,\n onDataFailed = props.onDataFailed,\n onLoadedImages = props.onLoadedImages,\n onDOMLoaded = props.onDOMLoaded,\n onDestroy = props.onDestroy;\n props.lottieRef;\n props.renderer;\n props.name;\n props.assetsPath;\n props.rendererSettings;\n var rest = _objectWithoutProperties(props, _excluded$1);\n var _useState = React.useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n animationLoaded = _useState2[0],\n setAnimationLoaded = _useState2[1];\n var animationInstanceRef = React.useRef();\n var animationContainer = React.useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n var play = function play() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n var stop = function stop() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n var pause = function pause() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n var setSpeed = function setSpeed(speed) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n var goToAndPlay = function goToAndPlay(value, isFrame) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n var goToAndStop = function goToAndStop(value, isFrame) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n var setDirection = function setDirection(direction) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n var playSegments = function playSegments(segments, forceFlag) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n var setSubframe = function setSubframe(useSubFrames) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n var getDuration = function getDuration(inFrames) {\n var _a;\n return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames);\n };\n /**\n * Destroy animation\n */\n var destroy = function destroy() {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n var loadAnimation = function loadAnimation() {\n var forcedConfigs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n var config = _objectSpread2(_objectSpread2(_objectSpread2({}, props), forcedConfigs), {}, {\n container: animationContainer.current\n });\n // Save the animation instance\n animationInstanceRef.current = lottie__default[\"default\"].loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return function () {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n React.useEffect(function () {\n var onUnmount = loadAnimation();\n // Clean up on unmount\n return function () {\n return onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n React.useEffect(function () {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n React.useEffect(function () {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] || animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n React.useEffect(function () {\n var partialListeners = [{\n name: \"complete\",\n handler: onComplete\n }, {\n name: \"loopComplete\",\n handler: onLoopComplete\n }, {\n name: \"enterFrame\",\n handler: onEnterFrame\n }, {\n name: \"segmentStart\",\n handler: onSegmentStart\n }, {\n name: \"config_ready\",\n handler: onConfigReady\n }, {\n name: \"data_ready\",\n handler: onDataReady\n }, {\n name: \"data_failed\",\n handler: onDataFailed\n }, {\n name: \"loaded_images\",\n handler: onLoadedImages\n }, {\n name: \"DOMLoaded\",\n handler: onDOMLoaded\n }, {\n name: \"destroy\",\n handler: onDestroy\n }];\n var listeners = partialListeners.filter(function (listener) {\n return listener.handler != null;\n });\n if (!listeners.length) {\n return;\n }\n var deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n function (listener) {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return function () {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return function () {\n deregisterList.forEach(function (deregister) {\n return deregister();\n });\n };\n }, [onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy]);\n /**\n * Build the animation view\n */\n var View = /*#__PURE__*/React__default[\"default\"].createElement(\"div\", _objectSpread2({\n style: style,\n ref: animationContainer\n }, rest));\n return {\n View: View,\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndStop: goToAndStop,\n goToAndPlay: goToAndPlay,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainer,\n animationLoaded: animationLoaded,\n animationItem: animationInstanceRef.current\n };\n };\n\n // helpers\n function getContainerVisibility(container) {\n var _container$getBoundin = container.getBoundingClientRect(),\n top = _container$getBoundin.top,\n height = _container$getBoundin.height;\n var current = window.innerHeight - top;\n var max = window.innerHeight + height;\n return current / max;\n }\n function getContainerCursorPosition(container, cursorX, cursorY) {\n var _container$getBoundin2 = container.getBoundingClientRect(),\n top = _container$getBoundin2.top,\n left = _container$getBoundin2.left,\n width = _container$getBoundin2.width,\n height = _container$getBoundin2.height;\n var x = (cursorX - left) / width;\n var y = (cursorY - top) / height;\n return {\n x: x,\n y: y\n };\n }\n var useInitInteractivity = function useInitInteractivity(_ref) {\n var wrapperRef = _ref.wrapperRef,\n animationItem = _ref.animationItem,\n mode = _ref.mode,\n actions = _ref.actions;\n React.useEffect(function () {\n var wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n var scrollModeHandler = function scrollModeHandler() {\n var assignedSegment = null;\n var scrollHandler = function scrollHandler() {\n var currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n var action = actions.find(function (_ref2) {\n var visibility = _ref2.visibility;\n return visibility && currentPercent >= visibility[0] && currentPercent <= visibility[1];\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" && action.visibility && action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n var frameToGo = action.frames[0] + Math.ceil((currentPercent - action.visibility[0]) / (action.visibility[1] - action.visibility[0]) * action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n } else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n } else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return function () {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n var cursorModeHandler = function cursorModeHandler() {\n var handleCursor = function handleCursor(_x, _y) {\n var x = _x;\n var y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n var pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n var action = actions.find(function (_ref3) {\n var position = _ref3.position;\n if (position && Array.isArray(position.x) && Array.isArray(position.y)) {\n return x >= position.x[0] && x <= position.x[1] && y >= position.y[0] && y <= position.y[1];\n }\n if (position && !Number.isNaN(position.x) && !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" && action.position && Array.isArray(action.position.x) && Array.isArray(action.position.y) && action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n var xPercent = (x - action.position.x[0]) / (action.position.x[1] - action.position.x[0]);\n var yPercent = (y - action.position.y[0]) / (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil((xPercent + yPercent) / 2 * (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n var mouseMoveHandler = function mouseMoveHandler(ev) {\n handleCursor(ev.clientX, ev.clientY);\n };\n var mouseOutHandler = function mouseOutHandler() {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return function () {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n };\n var useLottieInteractivity = function useLottieInteractivity(_ref4) {\n var actions = _ref4.actions,\n mode = _ref4.mode,\n lottieObj = _ref4.lottieObj;\n var animationItem = lottieObj.animationItem,\n View = lottieObj.View,\n animationContainerRef = lottieObj.animationContainerRef;\n useInitInteractivity({\n actions: actions,\n animationItem: animationItem,\n mode: mode,\n wrapperRef: animationContainerRef\n });\n return View;\n };\n\n var _excluded = [\"style\", \"interactivity\"];\n var Lottie = function Lottie(props) {\n var _a, _b, _c;\n var style = props.style,\n interactivity = props.interactivity,\n lottieProps = _objectWithoutProperties(props, _excluded);\n /**\n * Initialize the 'useLottie' hook\n */\n var _useLottie = useLottie(lottieProps, style),\n View = _useLottie.View,\n play = _useLottie.play,\n stop = _useLottie.stop,\n pause = _useLottie.pause,\n setSpeed = _useLottie.setSpeed,\n goToAndStop = _useLottie.goToAndStop,\n goToAndPlay = _useLottie.goToAndPlay,\n setDirection = _useLottie.setDirection,\n playSegments = _useLottie.playSegments,\n setSubframe = _useLottie.setSubframe,\n getDuration = _useLottie.getDuration,\n destroy = _useLottie.destroy,\n animationContainerRef = _useLottie.animationContainerRef,\n animationLoaded = _useLottie.animationLoaded,\n animationItem = _useLottie.animationItem;\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n React.useEffect(function () {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndPlay: goToAndPlay,\n goToAndStop: goToAndStop,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainerRef,\n animationLoaded: animationLoaded,\n animationItem: animationItem\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View: View,\n play: play,\n stop: stop,\n pause: pause,\n setSpeed: setSpeed,\n goToAndStop: goToAndStop,\n goToAndPlay: goToAndPlay,\n setDirection: setDirection,\n playSegments: playSegments,\n setSubframe: setSubframe,\n getDuration: getDuration,\n destroy: destroy,\n animationContainerRef: animationContainerRef,\n animationLoaded: animationLoaded,\n animationItem: animationItem\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\"\n });\n };\n\n Object.defineProperty(exports, 'LottiePlayer', {\n enumerable: true,\n get: function () { return lottie__default[\"default\"]; }\n });\n exports[\"default\"] = Lottie;\n exports.useLottie = useLottie;\n exports.useLottieInteractivity = useLottieInteractivity;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=index.umd.js.map\n","'use client';\nimport * as React from 'react';\n\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\n\nconst QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nconst useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext); // COMPONENT\n\nconst QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};\n\nexport { QueryErrorResetBoundary, useQueryErrorResetBoundary };\n//# sourceMappingURL=QueryErrorResetBoundary.mjs.map\n","import { scheduleMicrotask } from './utils.mjs';\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n\n let notifyFn = callback => {\n callback();\n };\n\n let batchNotifyFn = callback => {\n callback();\n };\n\n const batch = callback => {\n let result;\n transactions++;\n\n try {\n result = callback();\n } finally {\n transactions--;\n\n if (!transactions) {\n flush();\n }\n }\n\n return result;\n };\n\n const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n /**\n * All calls to the wrapped function will be batched.\n */\n\n\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n\n\n const setNotifyFunction = fn => {\n notifyFn = fn;\n };\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n\n\n const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n} // SINGLETON\n\nconst notifyManager = createNotifyManager();\n\nexport { createNotifyManager, notifyManager };\n//# sourceMappingURL=notifyManager.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use client';\nimport * as React from 'react';\nimport { notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { useIsRestoring } from './isRestoring.mjs';\nimport { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.mjs';\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic } from './suspense.mjs';\n\nfunction useBaseQuery(options, Observer) {\n const queryClient = useQueryClient({\n context: options.context\n });\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic'; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(() => new Observer(queryClient, defaultedOptions));\n const result = observer.getOptimisticResult(defaultedOptions);\n useSyncExternalStore(React.useCallback(onStoreChange => {\n const unsubscribe = isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return unsubscribe;\n }, [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (shouldSuspend(defaultedOptions, result, isRestoring)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n } // Handle error boundary\n\n\n if (getHasError({\n result,\n errorResetBoundary,\n useErrorBoundary: defaultedOptions.useErrorBoundary,\n query: observer.getCurrentQuery()\n })) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\n\nexport { useBaseQuery };\n//# sourceMappingURL=useBaseQuery.mjs.map\n","'use client';\nimport { parseQueryArgs, QueryObserver } from '@tanstack/query-core';\nimport { useBaseQuery } from './useBaseQuery.mjs';\n\nfunction useQuery(arg1, arg2, arg3) {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}\n\nexport { useQuery };\n//# sourceMappingURL=useQuery.mjs.map\n","import invariant from \"tiny-invariant\";\n\n/**\n * Button Primary\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonPrimary = \"#3576ba\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonPrimaryHover = \"#005D95\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonPrimaryPressed = \"#004173\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonPrimaryFocus = buttonPrimary;\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonPrimaryDisabled = \"#b3ccea\";\n\n/**\n * Button Secondary\n */\n// todo: rename to buttonSecondary to match color names in style guide.\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDefault = \"#eeeeee\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDefaultHover = \"#e0e0e0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDefaultPressed = \"#c0c0c0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDefaultFocus = buttonDefault;\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDefaultDisabled = \"#f2f2f2\";\n\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonSecondary = \"#32b1ad\"; // todo: remove, obsolete.\n\n/**\n * Button Share\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaShare = \"#007e84\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaShareHover = \"#40bac0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaShareActive = \"#01595d\"; // todo: rename to Pressed\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaShareFocus = ctaShare;\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaShareDisabled = \"#aed5d6\";\n\n/**\n * Button Destructive\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDestructive = \"#cc2e3b\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDestructiveHover = \"#d8656f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDestructivePressed = \"#a62833\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDestructiveFocus = buttonDestructive;\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonDestructiveDisabled = \"#edbec2\";\n\n/**\n * Button Upgrade\n */\n// todo: replace existing ctaUpgrade with this set.\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonUpgrade = \"#007a49\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonUpgradeHover = \"#40c28f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonUpgradePressed = \"#00693f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonUpgradeFocus = buttonUpgrade;\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const buttonUpgradeDisabled = \"#b3d7c8\";\n\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaUpgrade = \"#2c6665\";\n\n/**\n * Link and Focus\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const ctaLink = \"#0970be\";\n\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusDark = \"#4c649d\"; // focus dark 10 in figma\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focus = \"#6097d2\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusLight = \"#b0cae9\"; // todo: remove, obsolete?\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusLight10 = \"#b3ccea\"; // focus light 10 in figma\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusLight20 = \"#c5d7ed\"; // focus light 20 in figma\n\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const active = \"#204a76\"; // todo: remove, obsolete?\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusActiveLight = \"#b0cae9\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const focusActiveDark = \"#566ae3\"; // visPurpleDark10\n\n/**\n * Success\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successDark30 = \"#00462a\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successDark20 = \"#00693f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successDark10 = \"#008c54\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const success = \"#01af6a\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successLight10 = \"#40c28f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successLight20 = \"#7dd4b1\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const successLight30 = \"#bbe7d6\";\n\n/**\n * Warning\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningDark30 = \"#664e18\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningDark20 = \"#997525\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningDark10 = \"#cc9c31\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warning = \"#ffc33e\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningLight10 = \"#fdd16e\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningLight20 = \"#fcde9b\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const warningLight30 = \"#fbeccb\";\n\n/**\n * Danger\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerDark30 = \"#531419\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerDark20 = \"#7c1e26\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerDark10 = \"#a62833\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const danger = \"#d03340\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerLight10 = \"#db656f\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerLight20 = \"#e4969c\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const dangerLight30 = \"#efc8cb\";\n\n/**\n * Info\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoDark30 = \"#3f4952\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoDark20 = \"#5e6d7b\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoDark10 = \"#7e92a4\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const info = \"#9eb7ce\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoLight10 = \"#b6c8da\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoLight20 = \"#cbd8e3\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const infoLight30 = \"#e3e9ef\";\n\n/**\n * Visualization Blue\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueDark30 = \"#002847\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueDark20 = \"#004173\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueDark10 = \"#007cc5\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlue = \"#5996d6\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueLight10 = \"#a7c1e4\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueLight20 = \"#d8e4fa\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBlueLight30 = \"#f0f5fd\";\n\n/**\n * Visualization Green\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenDark30 = \"#193700\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenDark20 = \"#275600\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenDark10 = \"#488306\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreen = \"#70a13c\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenLight10 = \"#b2c997\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenLight20 = \"#e1ebd6\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visGreenLight30 = \"#f3f7ef\";\n\n/**\n * Visualization Orange\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeDark30 = \"#492400\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeDark20 = \"#653300\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeDark10 = \"#ab6600\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrange = \"#e18502\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeLight10 = \"#ffb761\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeLight20 = \"#fee3c0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visOrangeLight30 = \"#fff4e6\";\n\n/**\n * Visualization Yellow\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowDark30 = \"#3d2c00\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowDark20 = \"#5a4000\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowDark10 = \"#996f00\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellow = \"#e6a907\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowLight10 = \"#f5cf6a\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowLight20 = \"#ffefc5\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visYellowLight30 = \"#fff8e7\";\n\n/**\n * Visualization Red\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedDark30 = \"#6d0800\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedDark20 = \"#9d0c00\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedDark10 = \"#d14424\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRed = \"#ee6f4c\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedLight10 = \"#f6b09d\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedLight20 = \"#ffe0d7\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visRedLight30 = \"#fff3ef\";\n\n/**\n * Visualization Purple\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleDark30 = \"#0c245b\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleDark20 = \"#0c3491\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleDark10 = \"#566ae3\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurple = \"#848be9\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleLight10 = \"#bab8f1\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleLight20 = \"#e6e5fa\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visPurpleLight30 = \"#f5f5fd\";\n\n/**\n * Visualization Berry\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryDark30 = \"#610e44\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryDark20 = \"#8b2066\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryDark10 = \"#b94d90\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerry = \"#c76ca1\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryLight10 = \"#e5b8d1\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryLight20 = \"#f5e1ec\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visBerryLight30 = \"#fbf3f8\";\n\n/**\n * Visualization Teal\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealDark30 = \"#002923\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealDark20 = \"#004e43\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealDark10 = \"#008476\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTeal = \"#4eaa9b\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealLight10 = \"#a1c9c2\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealLight20 = \"#dceae7\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const visTealLight30 = \"#f1f7f6\";\n\n/**\n * Neutrals\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralDark40 = \"#111111\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralDark30 = \"#444444\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralDark20 = \"#727272\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralDark10 = \"#979797\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutral = \"#c0c0c0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralLight10 = \"#e0e0e0\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralLight20 = \"#ebebeb\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralLight30 = \"#f2f2f2\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralLight40 = \"#ffffff\";\n\n// This is \"accessible\" against black (7:1) but not against white(2.9:1).\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const neutralAccessible = neutralDark10;\n\n/**\n * Backgrounds\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const defaultBackground = \"#f8f7f5\"; // figma: light bg\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const tooltipBackground = \"rgba(84, 84, 84, 1)\"; // figma: tooltip gray\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const blanketBackground = \"rgba(0, 0, 0, 0.1)\"; // figma: light overlay\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const leftNavBackground = \"#003059\"; // figma: left nav\n\n/**\n * Shadows\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const shadowMenu = \"rgba(0, 0, 0, 0.16)\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const shadowModal = \"rgba(0, 0, 0, 0.12)\";\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport const shadowBorder = \"rgba(0, 0, 0, 0.12)\";\n\n/**\n * Adapted from https://css-tricks.com/converting-color-spaces-in-javascript/\n * @param hexColor \"#rrggbb\"\n * @param alpha a transparency number between 0.0 - 1.0;\n */\n/**\n * @deprecated Since version 5.0. Will be deleted in version 6.0. Use a semantic token via the `color` function from `smartsheet/design-tokens-react` instead.\n */\nexport function toRgba(hexColor, alpha) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(hexColor.length === 7, `You've passed an illegal argument to toRgba. It should be of the pattern #aaaaaa: \"${hexColor}\".`);\n invariant(alpha >= 0 && alpha <= 1, `You've passed an illegal alpha number to toRgba. It should be between 0 and 1, inclusive: ${alpha}.`);\n }\n const r = \"0x\" + hexColor[1] + hexColor[2];\n const g = \"0x\" + hexColor[3] + hexColor[4];\n const b = \"0x\" + hexColor[5] + hexColor[6];\n const a = +alpha.toFixed(3);\n return `rgba(${+r},${+g},${+b},${a})`;\n}\n//# sourceMappingURL=colors.js.map","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\n","import '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /*#__PURE__*/createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = /*#__PURE__*/createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return /*#__PURE__*/forwardRef(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // TODO: check if this still works with all of those different JSX functions\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n}; // eslint-disable-next-line no-undef\n\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n if (typeof props.css === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, createEmotionProps as c, hasOwnProperty as h, withEmotionCache as w };\n","import { serializeStyles } from '@emotion/serialize';\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nexport default css;\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createElement, Component, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-04d85134.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, w as withEmotionCache } from './emotion-element-04d85134.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, context.registered);\n\n {\n insertStyles(context, serialized, false);\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n});\n\nexport { ClassNames, Global, jsx as createElement, jsx, keyframes };\n","import { useEffect, useMemo, useState } from \"react\";\nimport { callAllHandlers } from \"../../util/callAllHandlers\";\n/**\n * Provides a css-in-js alternative to using the native :active selector.\n * Works on non-button elements!\n *\n * Spread all the resulting handlers onto the target element. Make sure to pass\n * along any custom handlers into this function so they are composed together.\n */\nexport const useActive = function () {\n let {\n onMouseEnter: providedOnMouseEnter,\n onMouseDown: providedOnMouseDown,\n onMouseLeave: providedOnMouseLeave\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isMouseDown, setIsMouseDown] = useState(false);\n const [isMouseWithin, setIsMouseWithin] = useState(false);\n const onMouseDown = useMemo(() => callAllHandlers(providedOnMouseDown, () => {\n setIsMouseDown(true);\n }), [providedOnMouseDown]);\n const onMouseEnter = useMemo(() => callAllHandlers(providedOnMouseEnter, () => {\n setIsMouseWithin(true);\n }), [providedOnMouseEnter]);\n const onMouseLeave = useMemo(() => callAllHandlers(providedOnMouseLeave, () => {\n setIsMouseWithin(false);\n }), [providedOnMouseLeave]);\n\n // Can't expect the mouseup to be fired directly on the element.\n // The user could mouseleave and then mouseup.\n useEffect(() => {\n const onMouseUp = () => {\n setIsMouseDown(false);\n };\n document.addEventListener(\"mouseup\", onMouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, []);\n return {\n isActive: isMouseDown && isMouseWithin,\n onMouseDown,\n onMouseEnter,\n onMouseLeave\n };\n};\n//# sourceMappingURL=useActive.js.map","import { useRef, useEffect } from \"react\";\n\n/**\n * Allows a ref forwarding component to optionally pass a ref in and returns a\n * ref every time. Using this hook allows subsequent code to always have a\n * ref to operate against.\n *\n * Ref mutations to the returned ref will be propagated to the passed in ref.\n *\n * I wanted to use @react-hookz/web for this, but the types don't handle null well and\n * only want to play nicely with MutableRefs. This is fine since that's the type\n * we'll actually have at runtime but is a bad dev xp since React.createRef and useRef\n * return a RefObject (immutable) sometimes.\n *\n * See more here: https://github.com/streamich/@react-hookz/web/issues/743\n * This code is adapted from a comment in that thread.\n */\nexport function useEnsuredForwardedRef(forwardedRef) {\n const ensuredRef = useRef(null);\n\n // Sync the passed in ref w/ the local one when it changes, accounting for functional refs as well.\n useEffect(() => {\n if (!forwardedRef) {\n return;\n } else if (typeof forwardedRef === \"function\") {\n // TODO if this ref's element is mounted after a tick, this will ALWAYS be null!\n forwardedRef(ensuredRef.current);\n } else {\n forwardedRef.current = ensuredRef.current;\n }\n }, [forwardedRef]);\n return ensuredRef;\n}\n//# sourceMappingURL=useEnsuredForwardedRef.js.map","import { useMemo } from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\n/**\n * Combines 1+ refs (functional or refobject) into a single functional ref.\n * Make sure you memoize the refs if they are callback functions or you'll get extra renders!\n */\nexport function useForkRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useMemo(() => {\n if (refs.every(ref => !ref)) {\n return null;\n }\n return refValue => {\n refs.forEach(r => setRef(r, refValue));\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n//# sourceMappingURL=useForkRef.js.map","import { useRef } from \"react\";\n\n/**\n * A \"live\" ref is a container for a value that might or might not change each render\n * but will always be up-to-date with the latest value.\n *\n * This is useful when a value should be a part of an effect, memoization, or callback but\n * should NOT cause the effect, memoization, or callback to reevaluate.\n *\n * One reason you might do this is in context value memoization where you want to more tightly\n * control when a React context's value is re-memoized based on props passed to that value's\n * creator.\n */\nexport function useLiveRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n}\n//# sourceMappingURL=useLiveRef.js.map","import { useIsMounted, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useLiveRef } from \"../useLiveRef/useLiveRef\";\n/**\n * Provides a ref to attach to an element. Will also return `isScrolling` = true if the element\n * has scrolled within the last `checkDelay` milliseconds.\n *\n * This was loosely based on useScrolling from https://github.com/streamich/react-use but has been\n * optimized to cut out a few extra renders.\n */\nexport const useIsScrolling = function () {\n let {\n checkDelay = 150\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const [isScrolling, setIsScrolling] = useState(false);\n const latestIsScrollingRef = useLiveRef(isScrolling);\n const elementRef = useRef(null);\n const isMounted = useIsMounted();\n\n // Tracks the latest timeout id.\n const latestTimerRef = useRef(0);\n const handleScrollEnd = useCallback(() => {\n // Avoid re-renders that don't do anything...\n if (isMounted() && latestIsScrollingRef.current) {\n setIsScrolling(false);\n }\n }, [isMounted, latestIsScrollingRef]);\n const handleScroll = useCallback(() => {\n // This check avoids re-renders on React 16 which doesn't no-op state setters that are\n // equivalent.\n if (!latestIsScrollingRef.current) {\n setIsScrolling(true);\n }\n clearTimeout(latestTimerRef.current);\n latestTimerRef.current = window.setTimeout(handleScrollEnd, checkDelay);\n }, [checkDelay, handleScrollEnd, latestIsScrollingRef]);\n const removeScrollHandler = useCallback(element => {\n element.removeEventListener(\"scroll\", handleScroll);\n setIsScrolling(false);\n }, [handleScroll]);\n const attachScrollHandler = useCallback(element => {\n element.addEventListener(\"scroll\", handleScroll, {\n passive: true\n });\n }, [handleScroll]);\n const previousCheckDelay = usePrevious(checkDelay);\n useEffect(() => {\n // If our delay changed and we're in the middle of scrolling, restart the timer w/ the new\n // delay.\n if (previousCheckDelay && checkDelay !== previousCheckDelay && latestIsScrollingRef.current) {\n handleScroll();\n }\n }, [checkDelay, handleScroll, latestIsScrollingRef, previousCheckDelay]);\n return {\n isScrolling,\n ref: useCallback(element => {\n if (element) {\n elementRef.current = element;\n attachScrollHandler(element);\n } else if (elementRef.current) {\n // This means the hook is unmounting.\n removeScrollHandler(elementRef.current);\n handleScrollEnd();\n clearTimeout(latestTimerRef.current);\n }\n }, [attachScrollHandler, handleScrollEnd, removeScrollHandler])\n };\n};\n//# sourceMappingURL=useIsScrolling.js.map","import { useIsMounted, useUnmountEffect } from \"@react-hookz/web\";\nimport { useRef, useCallback } from \"react\";\nexport const useRequestAnimationFrame = () => {\n const rafIdRef = useRef(0);\n const cancel = useCallback(() => {\n cancelAnimationFrame(rafIdRef.current);\n }, []);\n const isMounted = useIsMounted();\n const raf = useCallback(callback => {\n cancel();\n rafIdRef.current = requestAnimationFrame(() => {\n if (isMounted()) {\n callback();\n }\n });\n }, [isMounted, cancel]);\n useUnmountEffect(cancel);\n return {\n cancel,\n raf\n };\n};\n//# sourceMappingURL=useRequestAnimationFrame.js.map","import { useDebouncedCallback, usePrevious } from \"@react-hookz/web\";\nimport { useCallback, useEffect, useRef } from \"react\";\n/**\n * Wraps common functionality up around ResizeObservers.\n */\nexport function useResizeObserver(onResize) {\n let {\n debounceMaxMs = undefined,\n debounceMs = 0,\n enabled = true\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const observerRef = useRef(null);\n const observedElement = useRef(null);\n const debounceEnabled = debounceMs > 0;\n const debouncedOnResize = useDebouncedCallback(onResize, [onResize], debounceMs, debounceMaxMs);\n const callback = debounceEnabled ? debouncedOnResize : onResize;\n const fnRef = useCallback(element => {\n observedElement.current = element;\n if (observerRef.current) {\n // If we already had a ResizeObserver, clean up and replace it.\n observerRef.current.disconnect();\n observerRef.current = null;\n }\n if (window.ResizeObserver && element && enabled) {\n observerRef.current = new ResizeObserver(function () {\n callback(...arguments);\n });\n observerRef.current.observe(element);\n }\n }, [callback, enabled]);\n\n // If enabled changes, turn on/off the ResizeObserver.\n const previousEnabled = usePrevious(enabled);\n useEffect(() => {\n if (observerRef.current && observedElement.current) {\n if (!previousEnabled && enabled) {\n observerRef.current.observe(observedElement.current);\n } else if (previousEnabled && !enabled) {\n observerRef.current.unobserve(observedElement.current);\n }\n }\n }, [enabled, previousEnabled]);\n\n // Turn off the observer when we unmount.\n useEffect(() => {\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, []);\n return {\n ref: fnRef\n };\n}\n//# sourceMappingURL=useResizeObserver.js.map","/**\n * @param fns functions of the same signature to call. Doesn't allow a return type currently since\n * composing return types would be weird and isn't really what we need this for here.\n */\nexport function callAllHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function handle() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n fns.forEach(fn => {\n fn && fn(...args);\n });\n };\n}\n//# sourceMappingURL=callAllHandlers.js.map","import { useCallback } from \"react\";\n\n/**\n * When an IME is used to input text, events fired will have isComposing set to true. When this is\n * the case, we do not want to allow Enter or Escape to be handled by the onKeyDown handler.\n * Generally though, we shouldn't handle ANY keydown events when isComposing is true so this utility\n * helps us block them when necessary.\n *\n * You should wrap your onKeyDown handlers for input fields with this function to ensure that it is\n * not called when isComposing is true.\n *\n * 1) the returned function is wrapped in useCallback for memoization if necessary.\n * 2) the keydown event handler will not be called if isComposing is true.\n *\n * Example:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * });\n *\n * return (\n * \n * )\n * ```\n *\n * If necessary, wrap your own handler in useCallback to ensure memoization of the resulting\n * function:\n *\n * ```\n * const handleKeyEvent = useIsComposingHandler(useCallback((e) => {\n * switch (e.key) {\n * case \"Enter\": {\n * setSubmittedValue(value);\n * }\n * }\n * }, []));\n * ```\n */\nexport const useIsComposingHandler = handler => {\n return useCallback(e => {\n if (e.nativeEvent.isComposing) {\n return;\n } else {\n handler(e);\n }\n }, [handler]);\n};\n//# sourceMappingURL=useIsComposingHandler.js.map","const FOCUSABLE_ELEMENTS = [\"a[href]\", \"area[href]\", \"input:not([disabled]):not([hidden])\", \"select:not([disabled])\", \"textarea:not([disabled])\", \"button:not([disabled])\", \"iframe\", \"object\", \"embed\", \"[tabindex]:not([tabindex='-1'], .opt-out-focus)\"].join(\",\");\n\n/**\n * Gets keyboard-focusable elements within the Menu. This only looks for\n * buttons and anchors. Other elements aren't supported in the menu.\n *\n * See https://stackoverflow.com/questions/7668525/is-there-a-jquery-selector-to-get-all-elements-that-can-get-focus\n */\nexport function getKeyboardFocusableElementsIn(element) {\n return Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS));\n}\nexport function isFocusableElement(element) {\n return element.matches(FOCUSABLE_ELEMENTS);\n}\n\n/**\n * Checks the element and its ancestors, up until @param within exclusive, to see if the element or\n * any of those ancestors are focusable.\n */\nexport function isWithinFocusableElement(element, withinElement) {\n let currentElement = element;\n while (currentElement && currentElement !== withinElement && currentElement !== document.body) {\n if (isFocusableElement(currentElement)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\n//# sourceMappingURL=focusUtil.js.map","/**\n * Returns a randomly-generated id w/ an optional prefix.\n *\n * Note: if you're using jest snapshots, make sure to memoize this id!\n *\n * const id = useMemo(() => genId(\"some-prefix\"), []);\n */\nexport const genId = (() => {\n return prefix => {\n const randomString = (Math.random() + 1).toString(36).substring(2, 8);\n return `lodestar-utils-${prefix ? prefix + \"-\" : \"\"}gen-id-${randomString}`;\n };\n})();\n//# sourceMappingURL=genId.js.map","import * as React from \"react\";\nconst isBrowser = typeof window !== \"undefined\";\nconst globalObject = isBrowser ? window : global;\nconst SYMBOL_NAMESPACE = \"lodestar-global-context:\";\n\n/**\n * Wrapper around @see React.createContext that implements context registration\n * in the globalThis object to avoid duplicate contexts. Duplicate contexts can\n * occur when there are multiple instances of lodestar-core running at the same\n * time.\n *\n * Example:\n *\n * - package A exposes a custom MenuItem: \"CustomMenuItem\"\n * - package B uses the Menu and includes CustomMenuItem in its list of items.\n * - depending on how the dependencies are resolved for A and B, there could\n * be 2 versions of lodestar-core imported.\n *\n * This can cause useContext() calls to return different instances of the Menu\n * context objects which means they won't work together. This utility will allow\n * the first lodestar-core instance to publish its context on the `window` and let\n * any future lodestar-core instances to use the same instance.\n *\n * Note: React does not share contexts across React versions. For example, React v16.1 and v16.2 will have their own\n * context space if both versions are running in the same browser. This function will bake the React version\n * into the global symbol name to prevent the wrong react version context being returned to the caller.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol}\n *\n * @param defaultValue - @see React.createContext\n * @param contextName - name of the context\n * @returns @see React.createContext\n */\nexport const createContext = (defaultValue, contextName) => {\n // Symbol guaranteed to be unique for the entire runtime\n const sym = Symbol.for(`${SYMBOL_NAMESPACE}${React.version}:${contextName}`);\n const globalSymbols = Object.getOwnPropertySymbols(globalObject);\n if (!globalSymbols.includes(sym)) {\n const context = /*#__PURE__*/React.createContext(defaultValue);\n context.displayName = contextName;\n globalObject[sym] = {\n context\n };\n }\n return globalObject[sym]?.context;\n};\n//# sourceMappingURL=ContextSelector.js.map","export { useActive } from \"./hooks/useActive/useActive\";\nexport { useEnsuredForwardedRef } from \"./hooks/useEnsuredForwardedRef/useEnsuredForwardedRef\";\nexport { useForkRef } from \"./hooks/useForkRef/useForkRef\";\nexport { useLiveRef } from \"./hooks/useLiveRef/useLiveRef\";\nexport { useIsScrolling } from \"./hooks/useIsScrolling/useIsScrolling\";\nexport { useRequestAnimationFrame } from \"./hooks/useRequestAnimationFrame/useRequestAnimationFrame\";\nexport { useResizeObserver } from \"./hooks/useResizeObserver/useResizeObserver\";\nexport * from \"./util/callAllHandlers\";\nexport * from \"./util/isComposing/createIsComposingHandler\";\nexport * from \"./util/isComposing/useIsComposingHandler\";\nexport * from \"./util/contains\";\nexport * from \"./util/focusUtil\";\nexport * from \"./util/genId\";\nexport * from \"./util/getClientId\";\nexport * from \"./util/warnOnce\";\nexport { createContext } from \"./globalContextSelector/ContextSelector\";\n//# sourceMappingURL=index.js.map","import { commonTokens, lodestarColors } from \"@smartsheet/design-tokens\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { sizes } from \"../constants/spacing\";\nimport { getCSSVariables } from \"./utils/getCSSVariables\";\nexport const lodestarTheme = {\n key: \"lodestar-light\",\n cssVariables: getCSSVariables(\"com\", \"lodestar-light\", commonTokens),\n skipLink: {\n container: {\n bg: color(\"color--background--surfaces--body\"),\n borderRadius: `0 0 ${sizes.xxSmall}px ${sizes.xxSmall}px`,\n top: \"0\",\n padding: `0 ${sizes.medium}px`,\n height: \"40px\",\n boxShadow: color(\"elevation--default\"),\n gap: \"xLarge\"\n },\n button: {\n color: lodestarColors.ctaLink,\n padding: \"3px 6px\",\n fontSize: \"13px\",\n lineHeight: \"normal\",\n borderRadius: \"4px\",\n focusRingGap: -1\n }\n }\n};\n//# sourceMappingURL=lodestarTheme.js.map","import { color } from \"@smartsheet/design-tokens-react\";\nimport { themed } from \"@smartsheet/sds-theme-internal\";\n\n/**\n * Apply this to any element that has a focus ring created with a ::before pseudoelement.\n * {@see createFocusRing} for more details.\n * TODO move this to createFocusRingStyles\n */\nexport const FOCUS_USING_BEFORE_CLASS_NAME = \"lodestar--focus-using-before\";\n\n/**\n * Apply this to any element that has a focus ring created with a real\n * DOM element (as opposed to a ::before pseudoelement).\n * {@see createFocusRing} for more details.\n * TODO move this to createFocusRingStyles\n */\nexport const FOCUS_USING_ELEMENT_CLASS_NAME = \"lodestar--focus-using-element\";\nconst focusRingTheme = themed({\n color: color(\"color--border--surfaces--focus\")\n});\n\n/**\n * @deprecated please use createFocusRingStyles instead.\n */\nexport const getFocusRingStyles = _ref => {\n let {\n colorOverride: color,\n theme,\n offset,\n radius: borderRadius,\n // TODO we should default this to true before we expose this.\n includeFocusPseudoClass = false,\n borderWidth = 2,\n position = \"relative\",\n pseudoElement = \"before\",\n focusSelector = \"focus\"\n } = _ref;\n return `\n & {\n position: ${position};\n outline: none;\n }\n\n &:${focusSelector} {\n outline: none;\n }\n\n &${includeFocusPseudoClass ? `:${focusSelector}` : \"\"}::${pseudoElement} {\n content: \"\";\n display: block;\n position: absolute;\n top: -${offset}px;\n right: -${offset}px;\n bottom: -${offset}px;\n left: -${offset}px;\n border: ${borderWidth}px solid ${color || focusRingTheme.color(theme)};\n border-radius: ${typeof borderRadius === \"string\" ? borderRadius : `${borderRadius}px`};\n pointer-events: none;\n }\n`;\n};\n//# sourceMappingURL=focusRing.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { ClassNames } from \"@emotion/core\";\nimport React, { forwardRef } from \"react\";\nimport { FOCUS_USING_BEFORE_CLASS_NAME } from \"./focusRing\";\n\n/**\n * HOC that is useful for wrapping @emotion/styled components to provide them a className\n * and still allow other classNames to be applied.\n * This specifically is used to apply the classNames used in focus toggling. {@see FocusToggleStyles} for more info.\n * @param focusTypeClassName Defaults to {@see FOCUS_USING_BEFORE_CLASS_NAME}, but can be\n * set to {@see FOCUS_USING_ELEMENT_CLASS_NAME} as well.\n */\nexport const withFocusToggleClassName = function (InnerComponent) {\n let focusTypeClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FOCUS_USING_BEFORE_CLASS_NAME;\n const NewComponent = /*#__PURE__*/forwardRef((props, ref) => {\n return /*#__PURE__*/React.createElement(ClassNames, null, _ref => {\n let {\n cx\n } = _ref;\n return /*#__PURE__*/React.createElement(InnerComponent, _extends({}, props, {\n ref: ref,\n className: cx(focusTypeClassName, props.className)\n }), props.children);\n });\n });\n NewComponent.displayName = `${InnerComponent.displayName || InnerComponent.name || \"\"}WithFocusToggleClassName`;\n return NewComponent;\n};\n//# sourceMappingURL=withFocusClassName.js.map","import { commonTokens } from \"@smartsheet/design-tokens\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { sizes } from \"../constants/spacing\";\nimport { getCSSVariables } from \"./utils/getCSSVariables\";\nexport const ursaDarkTheme = {\n key: \"ursa-dark\",\n cssVariables: getCSSVariables(\"com\", \"ursa-dark\", commonTokens),\n skipLink: {\n container: {\n borderRadius: \"8px\",\n top: `${sizes.small}px`,\n padding: `0 ${sizes.small}px`,\n height: \"48px\",\n boxShadow: color(\"elevation--shadow-1\"),\n gap: \"small\"\n },\n button: {\n padding: `0 ${sizes.xSmall}px`,\n fontSize: \"14px\",\n lineHeight: \"18px\",\n borderRadius: \"6px\",\n focusRingGap: 1\n }\n }\n};\n//# sourceMappingURL=ursaDarkTheme.js.map","import { commonTokens } from \"@smartsheet/design-tokens\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { sizes } from \"../constants/spacing\";\nimport { getCSSVariables } from \"./utils/getCSSVariables\";\nexport const ursaTheme = {\n key: \"ursa-light\",\n cssVariables: getCSSVariables(\"com\", \"ursa-light\", commonTokens),\n skipLink: {\n container: {\n borderRadius: \"8px\",\n top: `${sizes.small}px`,\n padding: `0 ${sizes.small}px`,\n height: \"48px\",\n boxShadow: color(\"elevation--shadow-1\"),\n gap: \"small\"\n },\n button: {\n padding: `0 ${sizes.xSmall}px`,\n fontSize: \"14px\",\n lineHeight: \"18px\",\n borderRadius: \"6px\",\n focusRingGap: 1\n }\n }\n};\n//# sourceMappingURL=ursaTheme.js.map","import { lodestarTheme } from \"../lodestarTheme\";\nimport { ursaDarkTheme } from \"../ursaDarkTheme\";\nimport { ursaTheme } from \"../ursaTheme\";\nconst ThemeMap = {\n \"ursa-light\": ursaTheme,\n \"ursa-dark\": ursaDarkTheme,\n \"lodestar-light\": lodestarTheme\n};\n/**\n * A function that returns a theme object based on a valid theme key\n * @param themeKey a valid theme key, i.e. 'ursa-light' or 'lodestar-light'\n * @returns a theme object\n */\nexport const getTheme = themeKey => {\n return ThemeMap[themeKey];\n};\n//# sourceMappingURL=getTheme.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport styled from \"@emotion/styled\";\nimport { createContext } from \"@smartsheet/lodestar-utils\";\nimport React, { useMemo } from \"react\";\nimport { getTheme } from \"./utils/getTheme\";\nimport { getThemeClasses } from \"./utils/getThemeClasses\";\nexport const SDSThemeContext = createContext({}, \"SDSThemeContext\");\nconst StyledThemeProvider = styled.div`\n position: inherit;\n width: inherit;\n height: inherit;\n display: inherit;\n ${props => {\n return {\n ...props.innerWrapperStyles\n };\n}}\n`;\nexport const SDSThemeProvider = _ref => {\n let {\n children,\n innerWrapperStyles,\n themeKey,\n ...rest\n } = _ref;\n const theme = useMemo(() => {\n return getTheme(themeKey);\n }, [themeKey]);\n const themeClasses = useMemo(() => {\n return getThemeClasses(themeKey);\n }, [themeKey]);\n return /*#__PURE__*/React.createElement(SDSThemeContext.Provider, {\n value: theme\n }, /*#__PURE__*/React.createElement(StyledThemeProvider, _extends({\n innerWrapperStyles: innerWrapperStyles,\n className: themeClasses\n }, rest), children));\n};\nSDSThemeProvider.displayName = \"SDSThemeProvider\";\n//# sourceMappingURL=SDSThemeProvider.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgDelete = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" }),\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M16.243 7.757a1.2 1.2 0 010 1.697L13.696 12l2.547 2.547a1.2 1.2 0 11-1.697 1.697l-2.547-2.547-2.545 2.547a1.2 1.2 0 11-1.697-1.697l2.545-2.547-2.545-2.545a1.2 1.2 0 111.697-1.697L12 10.302l2.547-2.545a1.2 1.2 0 011.697 0z\" })))); };\n//# sourceMappingURL=Delete.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgDelete as DeleteMedium } from \"./medium/Delete\";\nvar sizeMap = {\n medium: DeleteMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var DeleteIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nDeleteIcon.displayName = \"DeleteIcon\";\n//# sourceMappingURL=DeleteIcon.js.map","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import styled from \"@emotion/styled\";\nexport const IconStyled = styled(\"span\", {\n shouldForwardProp: propName => {\n switch (propName) {\n // These are a little confusing to see in the HTML and the CSS so let's filter them out\n // since they don't do anything here as HTML attributes.\n case \"height\":\n case \"width\":\n case \"color\":\n case \"svgCss\":\n case \"cssCustomProperties\":\n return false;\n default:\n return true;\n }\n }\n})(_ref => {\n let {\n color,\n height,\n width,\n cssCustomProperties\n } = _ref;\n return {\n display: height === \"auto\" || width === \"auto\" ? \"inline-block\" : \"flex\",\n lineHeight: height === \"auto\" || width === \"auto\" ? 0 : \"inherit\",\n flexShrink: 0,\n color,\n height: `var(--sds--ursa-icons--height, var(--sds--ursa-icons--size, ${height}))`,\n width: `var(--sds--ursa-icons--width, var(--sds--ursa-icons--size, ${width}))`,\n ...cssCustomProperties\n };\n}, _ref2 => {\n let {\n svgCss = {}\n } = _ref2;\n return {\n \"> svg\": {\n overflow: \"hidden\",\n pointerEvents: \"none\",\n verticalAlign: \"bottom\",\n // We're intentionally add this spread here since we control the following props more carefully.\n ...svgCss,\n height: \"100%\",\n width: \"100%\"\n }\n };\n});\nIconStyled.displayName = \"IconWrapper\";\n//# sourceMappingURL=IconStyled.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nimport { IconStyled } from \"./IconStyled\";\n/**\n * A general-purpose component that allows users to wrap their own icons in a reasonable container.\n */\nexport const Icon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n dangerouslySetSvg,\n size,\n \"aria-hidden\": ariaHidden = true,\n role = \"presentation\",\n clientId,\n children,\n height: heightProp,\n //the top-level icon can receive a width/height prop for spacing overrides with getTrimmedIcon(), so pass that here\n width: widthProp,\n //the top-level icon can receive a width/height prop for spacing overrides with getTrimmedIcon(), so pass that here\n ...props\n } = _ref;\n if (process.env.NODE_ENV !== \"production\") {\n const renderableProps = [children ? \"children\" : null, dangerouslySetSvg ? \"dangerouslySetSvg\" : null].filter(Boolean);\n if (renderableProps.length === 0) {\n console.warn(`Icon: you must pass one of children or dangerouslySetSvg at least.`);\n }\n if (renderableProps.length > 1) {\n console.warn(`Icon: please pass only one of children or dangerouslySetSvg, got [${renderableProps.join(\", \")}]`);\n }\n }\n\n /**\n * Heights and widths get passed in when using the `getTrimmedIcon()` function\n */\n const height = heightProp ? `auto` : resolveSize(size, \"height\");\n const width = widthProp ? `auto` : resolveSize(size, \"width\");\n const sharedProps = {\n \"aria-hidden\": ariaHidden,\n \"data-client-id\": clientId,\n ref,\n role,\n height,\n width,\n ...props\n };\n if (dangerouslySetSvg) {\n return /*#__PURE__*/React.createElement(IconStyled, _extends({}, sharedProps, {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetSvg\n }\n }));\n } else if (children) {\n return /*#__PURE__*/React.createElement(IconStyled, sharedProps, children);\n }\n return null;\n});\nIcon.displayName = \"Icon\";\nconst resolveSize = (size, which) => {\n if (typeof size === \"number\") {\n return `${size}px`;\n } else if (typeof size[which] === \"string\") {\n return size[which];\n } else {\n return `${size[which]}px`;\n }\n};\n//# sourceMappingURL=Icon.js.map","export const getUrsaIconColorVarName = () => `--sds--ursa-icons--text-color`;\n//# sourceMappingURL=getUrsaIconColorVarName.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgComponent = (props, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 16 16\",\n ref: ref\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4.205 4.205a.7.7 0 0 1 .99 0L8 7.01l2.805-2.805a.7.7 0 1 1 .99.99L8.99 8l2.805 2.805a.7.7 0 1 1-.99.99L8 8.99l-2.805 2.805a.7.7 0 0 1-.99-.99L7.01 8 4.205 5.195a.7.7 0 0 1 0-.99\",\n clipRule: \"evenodd\"\n}));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgComponent);\nexport default ForwardRef;\n//# sourceMappingURL=CloseIcon16.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgComponent = (props, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 20 20\",\n ref: ref\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M5.205 5.205a.7.7 0 0 1 .99 0L10 9.01l3.805-3.805a.7.7 0 1 1 .99.99L10.99 10l3.805 3.805a.7.7 0 1 1-.99.99L10 10.99l-3.805 3.805a.7.7 0 0 1-.99-.99L9.01 10 5.205 6.195a.7.7 0 0 1 0-.99\",\n clipRule: \"evenodd\"\n}));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgComponent);\nexport default ForwardRef;\n//# sourceMappingURL=CloseIcon20.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgComponent = (props, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n ref: ref\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M5.205 5.205a.7.7 0 0 1 .99 0L12 11.01l5.805-5.805a.7.7 0 1 1 .99.99L12.99 12l5.805 5.805a.7.7 0 1 1-.99.99L12 12.99l-5.805 5.805a.7.7 0 0 1-.99-.99L11.01 12 5.205 6.195a.7.7 0 0 1 0-.99\",\n clipRule: \"evenodd\"\n}));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgComponent);\nexport default ForwardRef;\n//# sourceMappingURL=CloseIcon24.js.map","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * This file is generated from scripts/genIconComponents.ts. Any\n * changes should be made in that file.\n */\nimport { color as colorFn } from \"@smartsheet/design-tokens-react\";\nimport React, { forwardRef } from \"react\";\nimport { Icon } from \"../../components/icon/Icon\";\nimport { getUrsaIconColorVarName } from \"../../components/icon/getUrsaIconColorVarName\";\nimport CloseIcon16 from \"./CloseIcon16\";\nimport CloseIcon20 from \"./CloseIcon20\";\nimport CloseIcon24 from \"./CloseIcon24\";\nconst getSizeMap = (viewBox, width, height) => {\n return {\n 16: viewBox ? /*#__PURE__*/React.createElement(CloseIcon16, {\n viewBox: viewBox,\n width: width ? width : 16,\n height: height ? height : 16\n }) : /*#__PURE__*/React.createElement(CloseIcon16, {\n width: width ? width : 16,\n height: height ? height : 16\n }),\n 20: viewBox ? /*#__PURE__*/React.createElement(CloseIcon20, {\n viewBox: viewBox,\n width: width ? width : 20,\n height: height ? height : 20\n }) : /*#__PURE__*/React.createElement(CloseIcon20, {\n width: width ? width : 20,\n height: height ? height : 20\n }),\n 24: viewBox ? /*#__PURE__*/React.createElement(CloseIcon24, {\n viewBox: viewBox,\n width: width ? width : 24,\n height: height ? height : 24\n }) : /*#__PURE__*/React.createElement(CloseIcon24, {\n width: width ? width : 24,\n height: height ? height : 24\n })\n };\n};\n/**\n * Close or dismiss an element/panel/modal/banner that is open\n */\n\nexport const CloseIcon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n // This is the default icon color.\n color = `var(${getUrsaIconColorVarName()}, ${colorFn(\"color--icons--neutral--strongest\")})`,\n size,\n viewBox,\n width,\n height,\n style,\n ...rest\n } = _ref;\n return /*#__PURE__*/React.createElement(Icon, _extends({\n color: color,\n ref: ref,\n size: size,\n width: width,\n height: height\n }, rest, {\n style: {\n ...style\n }\n }), getSizeMap(viewBox, width, height)[size]);\n});\nCloseIcon.displayName = \"CloseIcon\";\n//# sourceMappingURL=CloseIcon.js.map","export const getInputFieldHeightValue = (themeMode, inputFieldHeight) => {\n if (inputFieldHeight) return inputFieldHeight;\n if (themeMode === \"lodestar-light\") return 40;\n return 32;\n};\n//# sourceMappingURL=inputFieldBaseProps.js.map","import { __assign } from \"tslib\";\n/**\n * This file is generated from 'npm run build-svg'. Any changes should be made to the\n * template in .svgrrc.js or to the source SVG in src/icons/svg.\n **/\nimport React from \"react\";\nexport var SvgSearch = function (props) { return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"path\", { fill: \"currentColor\", d: \"M10.239 3a7.238 7.238 0 015.623 11.797c.05.028.097.065.14.108l4.789 4.79a.749.749 0 010 1.06l-.036.036a.749.749 0 01-1.06 0l-4.79-4.789a.729.729 0 01-.11-.14 7.198 7.198 0 01-4.556 1.615C6.24 17.477 3 14.237 3 10.24S6.24 3 10.239 3zm0 1.551a5.687 5.687 0 10-.002 11.374 5.687 5.687 0 00.002-11.374z\" }),\n React.createElement(\"path\", { d: \"M0 0h24v24H0z\" })))); };\n//# sourceMappingURL=Search.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * This file is generated from scripts/genIconComponents.js. Any\n * changes should be made in that file.\n */\nimport React, { forwardRef } from \"react\";\nimport { getSvgResourceForSize, getDefaultSize } from \"../../utils\";\nimport { Icon } from \"../../icon\";\nimport { SvgSearch as SearchMedium } from \"./medium/Search\";\nvar sizeMap = {\n medium: SearchMedium\n};\nvar defaultSize = getDefaultSize(sizeMap);\nexport var SearchIcon = forwardRef(function (_a, ref) {\n var _b = _a.size, size = _b === void 0 ? defaultSize : _b, rest = __rest(_a, [\"size\"]);\n return (React.createElement(Icon, __assign({ ref: ref, svgComponent: getSvgResourceForSize(sizeMap, size), size: size }, rest)));\n});\nSearchIcon.displayName = \"SearchIcon\";\n//# sourceMappingURL=SearchIcon.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgComponent = (props, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 20 20\",\n ref: ref\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M12.754 7.55a4.249 4.249 0 1 0-8.208 2.2 4.249 4.249 0 0 0 8.208-2.2M7.188 3.194a5.649 5.649 0 0 1 5.92 8.925l3.687 3.686a.7.7 0 1 1-.99.99L12.12 13.11a5.649 5.649 0 1 1-4.931-9.916\",\n clipRule: \"evenodd\"\n}));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgComponent);\nexport default ForwardRef;\n//# sourceMappingURL=MagnifyingGlassIcon20.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nconst SvgComponent = (props, ref) => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n ref: ref\n}, props), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M15.843 8.715A5.82 5.82 0 1 0 4.6 11.728a5.82 5.82 0 0 0 11.243-3.013m-7.49-5.467a7.22 7.22 0 0 1 7.445 11.56l4.997 4.997a.7.7 0 0 1-.99.99L14.81 15.8A7.22 7.22 0 1 1 8.353 3.248\",\n clipRule: \"evenodd\"\n}));\nconst ForwardRef = /*#__PURE__*/forwardRef(SvgComponent);\nexport default ForwardRef;\n//# sourceMappingURL=MagnifyingGlassIcon24.js.map","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * This file is generated from scripts/genIconComponents.ts. Any\n * changes should be made in that file.\n */\nimport { color as colorFn } from \"@smartsheet/design-tokens-react\";\nimport React, { forwardRef } from \"react\";\nimport { Icon } from \"../../components/icon/Icon\";\nimport { getUrsaIconColorVarName } from \"../../components/icon/getUrsaIconColorVarName\";\nimport MagnifyingGlassIcon20 from \"./MagnifyingGlassIcon20\";\nimport MagnifyingGlassIcon24 from \"./MagnifyingGlassIcon24\";\nconst getSizeMap = (viewBox, width, height) => {\n return {\n 20: viewBox ? /*#__PURE__*/React.createElement(MagnifyingGlassIcon20, {\n viewBox: viewBox,\n width: width ? width : 20,\n height: height ? height : 20\n }) : /*#__PURE__*/React.createElement(MagnifyingGlassIcon20, {\n width: width ? width : 20,\n height: height ? height : 20\n }),\n 24: viewBox ? /*#__PURE__*/React.createElement(MagnifyingGlassIcon24, {\n viewBox: viewBox,\n width: width ? width : 24,\n height: height ? height : 24\n }) : /*#__PURE__*/React.createElement(MagnifyingGlassIcon24, {\n width: width ? width : 24,\n height: height ? height : 24\n })\n };\n};\nexport const MagnifyingGlassIcon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n // This is the default icon color.\n color = `var(${getUrsaIconColorVarName()}, ${colorFn(\"color--icons--neutral--strongest\")})`,\n size,\n viewBox,\n width,\n height,\n style,\n ...rest\n } = _ref;\n return /*#__PURE__*/React.createElement(Icon, _extends({\n color: color,\n ref: ref,\n size: size,\n width: width,\n height: height\n }, rest, {\n style: {\n ...style\n }\n }), getSizeMap(viewBox, width, height)[size]);\n});\nMagnifyingGlassIcon.displayName = \"MagnifyingGlassIcon\";\n//# sourceMappingURL=MagnifyingGlassIcon.js.map","/* eslint-disable no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const noop = function () {\n return undefined;\n};\n//# sourceMappingURL=noop.js.map","import { border } from \"@smartsheet/design-tokens\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { themed } from \"@smartsheet/sds-theme-internal\";\nimport * as colors from \"../../../constants/colors\";\nexport const FI_VAR_PREFIX = \"--sds--form-input--\";\nexport const formInputTheme = themed({\n backgroundColor: {\n rest: {\n \"lodestar-light\": \"transparent\",\n \"ursa-light\": color(\"color--background--surfaces--work\")\n },\n readonly: {\n \"lodestar-light\": color(\"color--background--neutral--weaker\"),\n \"ursa-light\": color(\"color--background--surfaces--work\")\n },\n error: {\n \"lodestar-light\": \"transparent\",\n \"ursa-light\": color(\"color--background--surfaces--work\")\n },\n underlined: \"transparent\"\n },\n borderColor: {\n error: color(\"color--border--error--default\"),\n // We have a disconnect between Lodestar and Ursa here. In Lodestar, the focus color is used\n // when the input is focused EVEN in the error state. This is becaus the border is the only\n // indication of focus or error. If it didn't get the focus treatment, you couldn't tell if\n // it was focused in the error state. In Ursa, however, the focus indicator is a ring around\n // the input so the border AND focus ring can show.\n errorFocus: {\n // no equivalent semantic token for this — same as the Button blue colors\n \"lodestar-light\": colors.focus,\n \"ursa-light\": color(\"color--border--error--default\")\n },\n focus: {\n \"lodestar-light\": colors.focus,\n \"ursa-light\": color(\"color--border--primary--default\")\n },\n hover: {\n \"lodestar-light\": color(\"color--border--neutral--default\"),\n \"ursa-light\": color(\"color--border--neutral--strong\")\n },\n readonly: {\n \"lodestar-light\": color(\"color--background--neutral--weaker\"),\n \"ursa-light\": color(\"color--background--neutral--weakest\")\n },\n rest: {\n \"lodestar-light\": color(\"color--border--neutral--weak\"),\n \"ursa-light\": color(\"color--border--neutral--default\")\n }\n },\n borderWidth: {\n rest: {\n \"lodestar-light\": 2,\n \"ursa-light\": 1\n },\n active: {\n \"lodestar-light\": 2,\n \"ursa-light\": 2\n },\n error: {\n \"lodestar-light\": 2,\n \"ursa-light\": 2\n }\n },\n borderRadius: {\n \"lodestar-light\": border.radius10,\n \"ursa-light\": border.radius30\n },\n searchInputButtonRadius: {\n \"lodestar-light\": border.radius10,\n \"ursa-light\": border.radius20\n },\n searchInputButtonSize: {\n \"32\": {\n \"lodestar-light\": \"30px\",\n \"ursa-light\": \"24px\"\n },\n \"40\": {\n \"lodestar-light\": \"30px\",\n \"ursa-light\": \"32px\"\n }\n },\n padding: {\n // these are used if there is no contentBefore/contentAfter\n default: {\n rest: {\n // 12px - 1px for the border.\n \"lodestar-light\": 10,\n // 8px - 1px for the border.\n \"ursa-light\": 7\n },\n active: {\n // 12px - 2px for the thicker active border.\n \"lodestar-light\": 10,\n // 8px - 2px for the border.\n \"ursa-light\": 6\n },\n error: {\n // 12px - 2px for the thicker error border.\n \"lodestar-light\": 10,\n // 8px - 2px for the border.\n \"ursa-light\": 6\n }\n },\n // used for the gap between the input and the contentBefore/contentAfter\n betweenContent: `var(${FI_VAR_PREFIX}padding--between--content, 8px)`,\n // This is used on the gap between the left bounding border and the contentLeft, if present.\n left: {\n rest: {\n // 8px - 1px for the border.\n \"lodestar-light\": `var(${FI_VAR_PREFIX}content-before--padding--left, 10px)`,\n \"ursa-light\": `var(${FI_VAR_PREFIX}content-before--padding--left, 7px)`\n },\n active: {\n //error and active states have the same padding\n // 8px - 2px for the thicker error border.\n \"lodestar-light\": `var(${FI_VAR_PREFIX}content-before--padding--left, 10px)`,\n \"ursa-light\": `calc(var(${FI_VAR_PREFIX}content-before--padding--left, 7px) - 1px)`\n }\n },\n // This is used on the right side of the inputs as the gap between\n // the border and the contentRight's bounding box, if present.\n right: {\n rest: {\n \"lodestar-light\": `var(${FI_VAR_PREFIX}content-after--padding--right, 6px)`,\n \"ursa-light\": `var(${FI_VAR_PREFIX}content-after--padding--right, 3px)`\n },\n active: {\n //error and active states have the same padding\n // 4 - 2px for the thicker error border.\n \"lodestar-light\": `var(${FI_VAR_PREFIX}content-after--padding--right, 6px)`,\n \"ursa-light\": `calc(var(${FI_VAR_PREFIX}content-after--padding--right, 3px) - 1px)`\n },\n contentAfter: {\n \"lodestar-light\": `var(${FI_VAR_PREFIX}content-after--padding--right, 10px)`,\n \"ursa-light\": `var(${FI_VAR_PREFIX}content-after--padding--right, 7px)`\n }\n },\n top: {\n \"32\": {\n rest: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 6\n },\n active: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 5\n },\n error: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 5\n }\n },\n \"40\": {\n rest: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 10\n },\n active: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 9\n },\n error: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 9\n }\n }\n },\n bottom: {\n \"32\": {\n rest: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 6\n },\n active: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 5\n },\n error: {\n \"lodestar-light\": 4.5,\n \"ursa-light\": 5\n }\n },\n \"40\": {\n rest: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 10\n },\n active: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 9\n },\n error: {\n \"lodestar-light\": 8.5,\n \"ursa-light\": 9\n }\n }\n }\n },\n textColor: {\n rest: color(\"color--text--neutral--strong\"),\n readonly: color(\"color--text--neutral--weaker\")\n },\n placeholderColor: {\n rest: color(\"color--text--neutral--weaker\"),\n hover: {\n \"lodestar-light\": color(\"color--text--neutral--default\"),\n \"ursa-light\": color(\"color--text--neutral--weaker\")\n }\n },\n placeholderTop: {\n \"32\": {\n \"lodestar-light\": \"7px\",\n \"ursa-light\": \"7px\"\n },\n \"40\": {\n \"lodestar-light\": \"11px\",\n \"ursa-light\": \"11px\"\n }\n },\n fontSize: {\n box: {\n // Inherit is needed here to override some UA styles which for some reason set the\n \"ursa-light\": \"14px\",\n // font-size to sub-px values like 13.333px. Chrome, why?\n \"lodestar-light\": \"inherit\"\n },\n underline: \"15px\"\n },\n fontWeight: {\n \"lodestar-light\": 500,\n \"ursa-light\": 400\n },\n lineHeight: 18,\n focusRing: {\n offset: {\n \"lodestar-light\": 2,\n \"ursa-light\": 1\n },\n enabled: {\n \"lodestar-light\": true,\n \"ursa-light\": true\n }\n },\n height: {\n \"32\": {\n \"lodestar-light\": 32,\n \"ursa-light\": 32\n },\n \"40\": {\n \"lodestar-light\": 40,\n \"ursa-light\": 40\n }\n }\n});\nexport function getBorderColor(_ref) {\n let {\n validationState,\n isFocused,\n themeMode,\n focusMode,\n isDisabled,\n isHovered\n } = _ref;\n const isError = validationState === \"error\";\n const isKeyboardFocused = focusMode === \"keyboard\";\n if (isFocused && isError) {\n return formInputTheme.borderColor.errorFocus(themeMode);\n } else if (isDisabled) {\n return formInputTheme.borderColor.readonly(themeMode);\n } else if (isFocused && !isKeyboardFocused) {\n return formInputTheme.borderColor.focus(themeMode);\n } else if (isFocused && isKeyboardFocused) {\n return formInputTheme.borderColor.rest(themeMode);\n } else if (isError) {\n return formInputTheme.borderColor.error(themeMode);\n } else if (isHovered) {\n return formInputTheme.borderColor.hover(themeMode);\n } else {\n return formInputTheme.borderColor.rest(themeMode);\n }\n}\nexport function getBackgroundColor(_ref2) {\n let {\n isDisabled,\n themeMode\n } = _ref2;\n if (isDisabled) {\n return formInputTheme.backgroundColor.readonly(themeMode);\n } else {\n return formInputTheme.backgroundColor.rest(themeMode);\n }\n}\nexport function getBorderWidth(_ref3) {\n let {\n themeMode,\n validationState,\n isFocused,\n focusMode\n } = _ref3;\n if (validationState === \"error\") {\n return formInputTheme.borderWidth.error(themeMode);\n } else if (isFocused && focusMode !== \"keyboard\") {\n return formInputTheme.borderWidth.active(themeMode);\n } else {\n return formInputTheme.borderWidth.rest(themeMode);\n }\n}\nexport function getStylingState(_ref4) {\n let {\n validationState,\n isFocused,\n focusMode\n } = _ref4;\n if (validationState === \"error\") {\n return `error`;\n } else if (isFocused && focusMode !== \"keyboard\") {\n return `active`;\n } else {\n return `rest`;\n }\n}\n//# sourceMappingURL=formInputTheme.js.map","import styled from \"@emotion/styled\";\nimport { formInputTheme } from \"./formInputTheme\";\n// not using sizing constant due to the 2px border (would be 8/sizes.xSmall)\nexport const StyledContentAfterContainer = styled(\"div\")`\n padding-right: ${getPadding};\n padding-left: var(--sds--form-input--content-after--padding--left, 0px);\n display: flex;\n`;\nfunction getPadding(_ref) {\n let {\n themeMode,\n validationState,\n focusMode,\n isFocused,\n variant\n } = _ref;\n if (variant === \"underline\") {\n //underline paddings don't change based on state\n return `${formInputTheme.padding.right.contentAfter(themeMode)}`;\n } else if (validationState === \"error\" || isFocused && focusMode !== \"keyboard\") {\n return `${formInputTheme.padding.right.active(themeMode)}`;\n } else {\n return `${formInputTheme.padding.right.rest(themeMode)}`;\n }\n}\n//# sourceMappingURL=StyledContentAfterContainer.js.map","import styled from \"@emotion/styled\";\nimport { formInputTheme } from \"./formInputTheme\";\n// not using sizing constant due to the 2px border (would be 12/sizes.small)\nexport const StyledContentBeforeContainer = styled(\"div\")`\n padding-left: ${getPadding};\n padding-right: var(--sds--form-input--content-before--padding--right, 0px);\n display: flex;\n`;\nfunction getPadding(_ref) {\n let {\n themeMode,\n validationState,\n isFocused,\n focusMode,\n variant\n } = _ref;\n //underline paddings don't change based on state\n if (variant === \"underline\") return `${formInputTheme.padding.left.rest(themeMode)}`;\n if (isFocused && focusMode !== \"keyboard\" || validationState === \"error\") {\n return `${formInputTheme.padding.left.active(themeMode)}`;\n }\n return `${formInputTheme.padding.left.rest(themeMode)}`;\n}\n//# sourceMappingURL=StyledContentBeforeContainer.js.map","import styled from \"@emotion/styled\";\nimport { formInputTheme, getStylingState } from \"./formInputTheme\";\nexport const StyledInput = styled(\"input\")`\n font-family: inherit;\n font-size: ${_ref => {\n let {\n themeMode,\n variant\n } = _ref;\n return formInputTheme.fontSize[variant](themeMode);\n}};\n line-height: ${_ref2 => {\n let {\n themeMode\n } = _ref2;\n return formInputTheme.lineHeight(themeMode);\n}}px;\n font-weight: ${_ref3 => {\n let {\n themeMode\n } = _ref3;\n return formInputTheme.fontWeight(themeMode);\n}};\n\n box-sizing: border-box;\n margin: 0;\n padding: 0px ${getPaddingRight} 0px ${getPaddingLeft};\n width: 100%;\n outline: none;\n\n color: ${_ref4 => {\n let {\n themeMode\n } = _ref4;\n return `var(--sds--form--color--value, ${formInputTheme.textColor.rest(themeMode)})`;\n}};\n background-color: transparent;\n\n &::placeholder {\n color: ${_ref5 => {\n let {\n themeMode,\n isHovered\n } = _ref5;\n return isHovered ? formInputTheme.placeholderColor.hover(themeMode) : `var(--sds--form--color--placeholder, ${formInputTheme.placeholderColor.rest(themeMode)})`;\n}};\n }\n &[aria-disabled=\"true\"] {\n color: ${_ref6 => {\n let {\n themeMode\n } = _ref6;\n return formInputTheme.textColor.readonly(themeMode);\n}};\n cursor: not-allowed;\n &::placeholder {\n color: ${_ref7 => {\n let {\n themeMode\n } = _ref7;\n return `var(--sds--form--color--placeholder, ${formInputTheme.placeholderColor.rest(themeMode)})`;\n}};\n }\n }\n\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n border-style: none;\n // Use the outer component's radius.\n border-radius: inherit;\n`;\n\n// The following functions are necessary because the padding of the input is dependent on the\n// presence of content before/after. In Ursa, with content before/after the padding is 8px. Without, it's 12px (really 11px due to the border).\nfunction getPaddingLeft(_ref8) {\n let {\n themeMode,\n hasContentBefore,\n validationState,\n isFocused,\n focusMode,\n variant\n } = _ref8;\n if (!hasContentBefore && variant !== \"underline\") {\n return `${formInputTheme.padding.default[getStylingState({\n validationState,\n isFocused,\n focusMode\n })](themeMode)}px`;\n } else if (variant === \"underline\") {\n return `${formInputTheme.padding.default.rest(themeMode)}px`;\n } else {\n return `${formInputTheme.padding.betweenContent(themeMode)}`;\n }\n}\nfunction getPaddingRight(_ref9) {\n let {\n themeMode,\n hasContentAfter,\n validationState,\n isFocused,\n focusMode,\n variant\n } = _ref9;\n if (!hasContentAfter && variant !== \"underline\") {\n return `${formInputTheme.padding.default[getStylingState({\n validationState,\n isFocused,\n focusMode\n })](themeMode)}px`;\n } else if (variant === \"underline\") {\n return `${formInputTheme.padding.default.rest(themeMode)}px`;\n } else {\n return `${formInputTheme.padding.betweenContent(themeMode)}`;\n }\n}\n//# sourceMappingURL=StyledInput.js.map","import styled from \"@emotion/styled\";\nexport const StyledInputContainer = styled(\"div\")`\n flex: 1;\n // So the inner input can inherit from the outer component.\n border-radius: inherit;\n`;\n//# sourceMappingURL=StyledInputContainer.js.map","import styled from \"@emotion/styled\";\nimport { getInputFieldHeightValue } from \"../../../util/inputFieldBaseProps\";\nimport { formInputTheme } from \"./formInputTheme\";\nexport const TextInputRootBase = styled(\"div\")`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: ${_ref => {\n let {\n themeMode,\n inputFieldHeight\n } = _ref;\n return `var(--sds--form--height--${inputFieldHeight === 32 ? \"default\" : \"large\"}, ${formInputTheme.height[getInputFieldHeightValue(themeMode, inputFieldHeight)](themeMode)}px)`;\n}};\n color: var(--sds--form--color--value);\n`;\n//# sourceMappingURL=TextInputRootBase.js.map","import styled from \"@emotion/styled\";\nimport { createFocusRingStyles } from \"../../../util/createFocusRingStyles\";\nimport { withFocusToggleClassName } from \"../../../util/withFocusClassName\";\nimport { TextInputRootBase } from \"./TextInputRootBase\";\nimport { formInputTheme, getBackgroundColor, getBorderColor, getBorderWidth } from \"./formInputTheme\";\nexport const TextInputRootBox = withFocusToggleClassName(styled(TextInputRootBase)`\n border-style: solid;\n border-width: ${getBorderWidth}px;\n border-color: ${getBorderColor};\n border-radius: ${_ref => {\n let {\n themeMode\n } = _ref;\n return formInputTheme.borderRadius(themeMode);\n}};\n background-color: ${getBackgroundColor};\n // This is necessary, and not baked into the StyledInput, to give DatePickerInput a way to override padding for the calendar icon button\n padding-right: ${_ref2 => {\n let {\n hasContentAfter\n } = _ref2;\n return hasContentAfter ? \"var(--sds--form--padding-x--has-icon, 4px)\" : \"var(--sds--form--padding-x--default, 0px)\";\n}};\n ${_ref3 => {\n let {\n themeMode,\n validationState\n } = _ref3;\n return formInputTheme.focusRing.enabled(themeMode) && createFocusRingStyles({\n gap: formInputTheme.focusRing.offset(themeMode),\n componentBorderWidth: validationState === \"error\" ? formInputTheme.borderWidth.error(themeMode) : formInputTheme.borderWidth.rest(themeMode),\n componentRadius: formInputTheme.borderRadius(themeMode),\n theme: themeMode,\n focusSelector: \":focus-within\"\n });\n}}\n\n & input {\n outline: none;\n }\n`);\n//# sourceMappingURL=TextInputRootBox.js.map","import styled from \"@emotion/styled\";\nimport { TextInputRootBase } from \"./TextInputRootBase\";\nimport { formInputTheme, getBorderColor, getBorderWidth } from \"./formInputTheme\";\nexport const TextInputRootUnderline = styled(TextInputRootBase)`\n border: ${props => props.themeMode === \"oldestar\" ? 1 : 2}px solid transparent;\n border-bottom: solid ${getBorderColor};\n border-width: ${getBorderWidth}px;\n border-radius: ${props => props.themeMode === \"oldestar\" ? 2 : 4}px;\n background-color: ${getBackgroundColor};\n border-left-width: 0;\n border-right-width: 0;\n border-radius: 0;\n`;\nfunction getBackgroundColor(_ref) {\n let {\n isDisabled,\n themeMode\n } = _ref;\n if (isDisabled) {\n return formInputTheme.backgroundColor.readonly(themeMode);\n } else {\n return formInputTheme.backgroundColor.underlined(themeMode);\n }\n}\n//# sourceMappingURL=TextInputRootUnderline.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useIsComposingHandler } from \"@smartsheet/lodestar-utils\";\nimport { useEnsuredForwardedRef } from \"@smartsheet/lodestar-utils\";\nimport React, { forwardRef, useState } from \"react\";\nimport { noop } from \"../../constants/noop\";\nimport { useTheme } from \"../../theme/utils/useTheme\";\nimport { getInputFieldHeightValue } from \"../../util/inputFieldBaseProps\";\nimport { useFocusMode } from \"../focusMode\";\nimport { StyledContentAfterContainer } from \"./styled/StyledContentAfterContainer\";\nimport { StyledContentBeforeContainer } from \"./styled/StyledContentBeforeContainer\";\nimport { StyledInput } from \"./styled/StyledInput\";\nimport { StyledInputContainer } from \"./styled/StyledInputContainer\";\nimport { TextInputRootBox } from \"./styled/TextInputRootBox\";\nimport { TextInputRootUnderline } from \"./styled/TextInputRootUnderline\";\n\n/**\n * Used to provide the left and right customizations access to the current state of the TextInput.\n */\n\n// Omitting \"style\" because, it's ambiguous as to which sub element\n// the style should go on (the input itself or the wrapper).\n// Omitting \"defaultValue\" because we're only support controlled use\n// cases right now.\nexport const TextInput = /*#__PURE__*/forwardRef((props, parentRef) => {\n const {\n contentAfter,\n contentBefore,\n className,\n value,\n onChange,\n clientId,\n variant = \"box\",\n type = \"text\",\n onFocus,\n onBlur,\n onKeyDown,\n onKeyUp,\n validationState,\n isDisabled = false,\n inputFieldHeight: inputFieldHeightProp,\n ...htmlAttributes\n } = props;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const inputFieldHeight = getInputFieldHeightValue(themeMode, inputFieldHeightProp);\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const textInputRef = useEnsuredForwardedRef(parentRef);\n function handleOnChange(e) {\n onChange(e.target.value, e);\n }\n function handleOnFocus(e) {\n setIsFocused(true);\n if (onFocus) {\n onFocus(e);\n }\n }\n function handleOnBlur(e) {\n setIsFocused(false);\n if (onBlur) {\n onBlur(e);\n }\n }\n const handleKeyDown = useIsComposingHandler(onKeyDown || noop);\n const handleKeyUp = useIsComposingHandler(onKeyUp || noop);\n const OuterComponent = variant === \"box\" ? TextInputRootBox : TextInputRootUnderline;\n const {\n focusMode\n } = useFocusMode();\n return /*#__PURE__*/React.createElement(OuterComponent, {\n inputFieldHeight: inputFieldHeight,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isHovered: isHovered,\n validationState: validationState,\n className: className,\n themeMode: themeMode,\n hasContentAfter: !!contentAfter,\n focusMode: focusMode,\n onMouseEnter: () => setIsHovered(true),\n onMouseLeave: () => setIsHovered(false),\n onClick: () => {\n textInputRef.current?.focus();\n }\n }, contentBefore && /*#__PURE__*/React.createElement(StyledContentBeforeContainer, {\n themeMode: themeMode,\n validationState: validationState,\n isFocused: isFocused,\n variant: variant\n }, typeof contentBefore === \"function\" ? contentBefore({\n isFocused,\n isHovered\n }) : contentBefore), /*#__PURE__*/React.createElement(StyledInputContainer, null, /*#__PURE__*/React.createElement(StyledInput, _extends({\n variant: variant,\n themeMode: themeMode,\n type: type,\n value: value,\n onChange: handleOnChange,\n focusMode: focusMode,\n ref: textInputRef,\n \"data-client-id\": clientId,\n onFocus: handleOnFocus,\n onBlur: handleOnBlur,\n onKeyDown: onKeyDown && handleKeyDown || undefined,\n onKeyUp: onKeyUp && handleKeyUp || undefined,\n isHovered: isHovered,\n \"aria-disabled\": isDisabled,\n isFocused: isFocused\n }, htmlAttributes, {\n readOnly: isDisabled ? true : htmlAttributes.readOnly ? htmlAttributes.readOnly : false,\n hasContentAfter: !!contentAfter,\n hasContentBefore: !!contentBefore,\n validationState: validationState\n }))), contentAfter && /*#__PURE__*/React.createElement(StyledContentAfterContainer, {\n themeMode: themeMode,\n validationState: validationState,\n isFocused: isFocused,\n focusMode: focusMode,\n variant: variant\n }, typeof contentAfter === \"function\" ? contentAfter({\n isFocused,\n isHovered\n }) : contentAfter));\n});\nTextInput.displayName = \"TextInput\";\n//# sourceMappingURL=TextInput.js.map","import { css } from \"@emotion/core\";\nimport styled from \"@emotion/styled\";\nimport { SearchIcon } from \"@smartsheet/lodestar-icons\";\nimport { MagnifyingGlassIcon } from \"@smartsheet/ursa-icons\";\nimport { focusRingTheme } from \"../../../util/createFocusRingStyles\";\nimport { getInputFieldHeightValue } from \"../../../util/inputFieldBaseProps\";\nimport { TextInput } from \"../TextInput\";\nimport { formInputTheme } from \"./formInputTheme\";\nexport const StyledButton = styled(\"button\")`\n border-style: none;\n background-color: transparent;\n padding: 0;\n height: ${_ref => {\n let {\n themeMode,\n inputFieldHeight\n } = _ref;\n return formInputTheme.searchInputButtonSize[getInputFieldHeightValue(themeMode, inputFieldHeight)](themeMode);\n}};\n width: ${_ref2 => {\n let {\n themeMode,\n inputFieldHeight\n } = _ref2;\n return formInputTheme.searchInputButtonSize[getInputFieldHeightValue(themeMode, inputFieldHeight)](themeMode);\n}};\n cursor: ${_ref3 => {\n let {\n isDisabled\n } = _ref3;\n return isDisabled ? \"default\" : \"pointer\";\n}};\n // To force the height to be the children's height.\n display: flex;\n justify-content: center;\n align-items: center;\n // This only applies to the clear button. The search icon takes Clickable's.\n &:focus {\n outline-color: ${_ref4 => {\n let {\n themeMode\n } = _ref4;\n return focusRingTheme.outerColor(themeMode);\n}};\n border-radius: ${_ref5 => {\n let {\n themeMode\n } = _ref5;\n return formInputTheme.searchInputButtonRadius(themeMode);\n}};\n }\n`;\nexport const SearchIconStyles = css`\n // Otherwise the icon is inline-block which gives it a bit more than the specified height.\n display: block;\n cursor: text;\n`;\nexport const StyledLodestarSearchIcon = styled(SearchIcon)(SearchIconStyles);\nexport const StyledUrsaSearchIcon = styled(MagnifyingGlassIcon)(SearchIconStyles);\nexport const StyledTextInput = styled(TextInput)`\n input::-webkit-search-cancel-button {\n display: none; // Hide the native search clear button so we can add our own styled one\n }\n`;\n//# sourceMappingURL=StyledSearchInputComponents.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport { color } from \"@smartsheet/design-tokens-react\";\nimport { DeleteIcon } from \"@smartsheet/lodestar-icons\";\nimport { themed } from \"@smartsheet/sds-theme-internal\";\nimport { CloseIcon } from \"@smartsheet/ursa-icons\";\nimport React, { useCallback } from \"react\";\nimport { forwardRef } from \"react\";\nimport { useTheme } from \"../../theme/utils/useTheme\";\nimport { focusRingTheme } from \"../../util/createFocusRingStyles\";\nimport { getInputFieldHeightValue } from \"../../util/inputFieldBaseProps\";\nimport { Clickable } from \"../clickable\";\nimport { StyledButton, StyledLodestarSearchIcon, StyledTextInput, StyledUrsaSearchIcon } from \"./styled/StyledSearchInputComponents\";\nimport { formInputTheme } from \"./styled/formInputTheme\";\nconst searchIcon = themed({\n rest: {\n \"lodestar-light\": /*#__PURE__*/React.createElement(StyledLodestarSearchIcon, {\n size: \"small\",\n color: color(\"color--icons--neutral--stronger\")\n }),\n \"ursa-light\": /*#__PURE__*/React.createElement(StyledUrsaSearchIcon, {\n size: 24,\n color: color(\"color--text--neutral--weaker\")\n })\n },\n hover: {\n \"lodestar-light\": /*#__PURE__*/React.createElement(StyledLodestarSearchIcon, {\n size: \"small\",\n color: color(\"color--icons--neutral--strongest\")\n }),\n \"ursa-light\": /*#__PURE__*/React.createElement(StyledUrsaSearchIcon, {\n size: 24,\n color: color(\"color--text--neutral--weak\")\n })\n }\n});\nconst clearIcon = themed({\n rest: {\n \"lodestar-light\": /*#__PURE__*/React.createElement(DeleteIcon, {\n size: \"small\",\n color: color(\"color--icons--neutral--stronger\")\n }),\n \"ursa-light\": /*#__PURE__*/React.createElement(CloseIcon, {\n size: 20,\n color: color(\"color--text--neutral--weaker\")\n })\n },\n hover: {\n \"lodestar-light\": /*#__PURE__*/React.createElement(DeleteIcon, {\n size: \"small\",\n color: color(\"color--icons--neutral--strongest\")\n }),\n \"ursa-light\": /*#__PURE__*/React.createElement(CloseIcon, {\n size: 20,\n color: color(\"color--text--neutral--weak\")\n })\n }\n});\n\n// Reserving namespace for consistency.\n\nconst ClearSearchButton = _ref => {\n let {\n inputFieldHeight,\n isDisabled,\n isHovered,\n onClick,\n value\n } = _ref;\n const {\n key\n } = useTheme();\n const themeMode = key;\n const onClickedCallback = useCallback(e => {\n if (isDisabled) {\n return;\n }\n onClick(e);\n }, [isDisabled, onClick]);\n if (value === \"\") {\n return null;\n }\n const IconComponent = isHovered ? clearIcon.hover(themeMode) : clearIcon.rest(themeMode);\n return /*#__PURE__*/React.createElement(StyledButton, {\n inputFieldHeight: inputFieldHeight,\n isDisabled: isDisabled,\n \"aria-label\": \"clear\",\n type: \"button\",\n themeMode: themeMode,\n onClick: onClickedCallback\n }, IconComponent);\n};\nexport const SearchInput = /*#__PURE__*/forwardRef((props, parentRef) => {\n const {\n key\n } = useTheme();\n const themeMode = key;\n const {\n inputFieldHeight: inputFieldHeightProp,\n contentAfterButtonProps,\n contentBeforeButtonProps,\n isDisabled = false,\n onChange,\n value\n } = props;\n const inputFieldHeight = getInputFieldHeightValue(themeMode, inputFieldHeightProp);\n const contentAfterButtonClick = contentAfterButtonProps?.onClick;\n return /*#__PURE__*/React.createElement(StyledTextInput, _extends({\n type: \"search\",\n contentBefore: _ref2 => {\n let {\n isHovered\n } = _ref2;\n const icon = isHovered ? searchIcon.hover(themeMode) : searchIcon.rest(themeMode);\n if (contentBeforeButtonProps !== undefined) {\n return /*#__PURE__*/React.createElement(Clickable, _extends({}, contentBeforeButtonProps, {\n focusRingOptions: {\n colorOverride: focusRingTheme.outerColor(themeMode),\n radius: formInputTheme.searchInputButtonRadius(themeMode)\n }\n }), icon);\n } else {\n return icon;\n }\n },\n contentAfter: _ref3 => {\n let {\n isHovered\n } = _ref3;\n return /*#__PURE__*/React.createElement(ClearSearchButton, {\n inputFieldHeight: inputFieldHeight,\n value: value,\n isDisabled: isDisabled,\n isHovered: isHovered,\n onClick: e => {\n onChange(\"\", e);\n if (contentAfterButtonClick != null) {\n contentAfterButtonClick(e);\n }\n }\n });\n },\n ref: parentRef\n }, props));\n});\nSearchInput.displayName = \"SearchInput\";\n//# sourceMappingURL=SearchInput.js.map","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n"],"names":[],"sourceRoot":""}