UNPKG

w-aggrid-vue

Version:
8 lines 536 kB
/*!
 * w-aggrid-vue v2.0.54
 * (c) 2018-2021 yuda-lyu(semisphere)
 * Released under the MIT License.
 */
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("xlsx"),require("ag-grid-vue")):"function"==typeof define&&define.amd?define(["xlsx","ag-grid-vue"],e):(n="undefined"!=typeof globalThis?globalThis:n||self)["w-aggrid-vue"]=e(n.XLSX,n["ag-grid-vue"])}(this,(function(n,e){"use strict";function a(n){var e=Object.create(null);return n&&Object.keys(n).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(e,a,r.get?r:{enumerable:!0,get:function(){return n[a]}})}})),e.default=n,Object.freeze(e)}var r=a(n),o=a(e);function t(n,e){for(var a=-1,r=null==n?0:n.length,o=Array(r);++a<r;)o[a]=e(n[a],a,n);return o}function i(n,e){return n===e||n!=n&&e!=e}function l(n,e){for(var a=n.length;a--;)if(i(n[a][0],e))return a;return-1}var g=Array.prototype.splice;function c(n){var e=-1,a=null==n?0:n.length;for(this.clear();++e<a;){var r=n[e];this.set(r[0],r[1])}}c.prototype.clear=function(){this.__data__=[],this.size=0},c.prototype.delete=function(n){var e=this.__data__,a=l(e,n);return!(a<0)&&(a==e.length-1?e.pop():g.call(e,a,1),--this.size,!0)},c.prototype.get=function(n){var e=this.__data__,a=l(e,n);return a<0?void 0:e[a][1]},c.prototype.has=function(n){return l(this.__data__,n)>-1},c.prototype.set=function(n,e){var a=this.__data__,r=l(a,n);return r<0?(++this.size,a.push([n,e])):a[r][1]=e,this};var d="object"==typeof global&&global&&global.Object===Object&&global,p="object"==typeof self&&self&&self.Object===Object&&self,s=d||p||Function("return this")(),u=s.Symbol,f=Object.prototype,v=f.hasOwnProperty,h=f.toString,m=u?u.toStringTag:void 0;var w=Object.prototype.toString;var b="[object Null]",y="[object Undefined]",k=u?u.toStringTag:void 0;function x(n){return null==n?void 0===n?y:b:k&&k in Object(n)?function(n){var e=v.call(n,m),a=n[m];try{n[m]=void 0;var r=!0}catch(n){}var o=h.call(n);return r&&(e?n[m]=a:delete n[m]),o}(n):function(n){return w.call(n)}(n)}function z(n){var e=typeof n;return null!=n&&("object"==e||"function"==e)}var M="[object AsyncFunction]",C="[object Function]",D="[object GeneratorFunction]",j="[object Proxy]";function A(n){if(!z(n))return!1;var e=x(n);return e==C||e==D||e==M||e==j}var T,E=s["__core-js_shared__"],S=(T=/[^.]+$/.exec(E&&E.keys&&E.keys.IE_PROTO||""))?"Symbol(src)_1."+T:"";var O=Function.prototype.toString;function N(n){if(null!=n){try{return O.call(n)}catch(n){}try{return n+""}catch(n){}}return""}var L=/^\[object .+?Constructor\]$/,H=Function.prototype,I=Object.prototype,F=H.toString,R=I.hasOwnProperty,P=RegExp("^"+F.call(R).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function B(n){return!(!z(n)||(e=n,S&&S in e))&&(A(n)?P:L).test(N(n));var e}function U(n,e){var a=function(n,e){return null==n?void 0:n[e]}(n,e);return B(a)?a:void 0}var V=U(s,"Map"),W=U(Object,"create");var _=Object.prototype.hasOwnProperty;var G=Object.prototype.hasOwnProperty;function Q(n){var e=-1,a=null==n?0:n.length;for(this.clear();++e<a;){var r=n[e];this.set(r[0],r[1])}}function Y(n,e){var a,r,o=n.__data__;return("string"==(r=typeof(a=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==a:null===a)?o["string"==typeof e?"string":"hash"]:o.map}function K(n){var e=-1,a=null==n?0:n.length;for(this.clear();++e<a;){var r=n[e];this.set(r[0],r[1])}}Q.prototype.clear=function(){this.__data__=W?W(null):{},this.size=0},Q.prototype.delete=function(n){var e=this.has(n)&&delete this.__data__[n];return this.size-=e?1:0,e},Q.prototype.get=function(n){var e=this.__data__;if(W){var a=e[n];return"__lodash_hash_undefined__"===a?void 0:a}return _.call(e,n)?e[n]:void 0},Q.prototype.has=function(n){var e=this.__data__;return W?void 0!==e[n]:G.call(e,n)},Q.prototype.set=function(n,e){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=W&&void 0===e?"__lodash_hash_undefined__":e,this},K.prototype.clear=function(){this.size=0,this.__data__={hash:new Q,map:new(V||c),string:new Q}},K.prototype.delete=function(n){var e=Y(this,n).delete(n);return this.size-=e?1:0,e},K.prototype.get=function(n){return Y(this,n).get(n)},K.prototype.has=function(n){return Y(this,n).has(n)},K.prototype.set=function(n,e){var a=Y(this,n),r=a.size;return a.set(n,e),this.size+=a.size==r?0:1,this};function q(n){var e=this.__data__=new c(n);this.size=e.size}q.prototype.clear=function(){this.__data__=new c,this.size=0},q.prototype.delete=function(n){var e=this.__data__,a=e.delete(n);return this.size=e.size,a},q.prototype.get=function(n){return this.__data__.get(n)},q.prototype.has=function(n){return this.__data__.has(n)},q.prototype.set=function(n,e){var a=this.__data__;if(a instanceof c){var r=a.__data__;if(!V||r.length<199)return r.push([n,e]),this.size=++a.size,this;a=this.__data__=new K(r)}return a.set(n,e),this.size=a.size,this};function X(n){var e=-1,a=null==n?0:n.length;for(this.__data__=new K;++e<a;)this.add(n[e])}function J(n,e){for(var a=-1,r=null==n?0:n.length;++a<r;)if(e(n[a],a,n))return!0;return!1}function Z(n,e){return n.has(e)}X.prototype.add=X.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},X.prototype.has=function(n){return this.__data__.has(n)};var $=1,nn=2;function en(n,e,a,r,o,t){var i=a&$,l=n.length,g=e.length;if(l!=g&&!(i&&g>l))return!1;var c=t.get(n),d=t.get(e);if(c&&d)return c==e&&d==n;var p=-1,s=!0,u=a&nn?new X:void 0;for(t.set(n,e),t.set(e,n);++p<l;){var f=n[p],v=e[p];if(r)var h=i?r(v,f,p,e,n,t):r(f,v,p,n,e,t);if(void 0!==h){if(h)continue;s=!1;break}if(u){if(!J(e,(function(n,e){if(!Z(u,e)&&(f===n||o(f,n,a,r,t)))return u.push(e)}))){s=!1;break}}else if(f!==v&&!o(f,v,a,r,t)){s=!1;break}}return t.delete(n),t.delete(e),s}var an=s.Uint8Array;function rn(n){var e=-1,a=Array(n.size);return n.forEach((function(n,r){a[++e]=[r,n]})),a}function on(n){var e=-1,a=Array(n.size);return n.forEach((function(n){a[++e]=n})),a}var tn=1,ln=2,gn="[object Boolean]",cn="[object Date]",dn="[object Error]",pn="[object Map]",sn="[object Number]",un="[object RegExp]",fn="[object Set]",vn="[object String]",hn="[object Symbol]",mn="[object ArrayBuffer]",wn="[object DataView]",bn=u?u.prototype:void 0,yn=bn?bn.valueOf:void 0;function kn(n,e){for(var a=-1,r=e.length,o=n.length;++a<r;)n[o+a]=e[a];return n}var xn=Array.isArray;function zn(n,e,a){var r=e(n);return xn(n)?r:kn(r,a(n))}function Mn(n,e){for(var a=-1,r=null==n?0:n.length,o=0,t=[];++a<r;){var i=n[a];e(i,a,n)&&(t[o++]=i)}return t}function Cn(){return[]}var Dn=Object.prototype.propertyIsEnumerable,jn=Object.getOwnPropertySymbols,An=jn?function(n){return null==n?[]:(n=Object(n),Mn(jn(n),(function(e){return Dn.call(n,e)})))}:Cn;function Tn(n){return null!=n&&"object"==typeof n}function En(n){return Tn(n)&&"[object Arguments]"==x(n)}var Sn=Object.prototype,On=Sn.hasOwnProperty,Nn=Sn.propertyIsEnumerable,Ln=En(function(){return arguments}())?En:function(n){return Tn(n)&&On.call(n,"callee")&&!Nn.call(n,"callee")},Hn=Ln;var In="object"==typeof exports&&exports&&!exports.nodeType&&exports,Fn=In&&"object"==typeof module&&module&&!module.nodeType&&module,Rn=Fn&&Fn.exports===In?s.Buffer:void 0,Pn=(Rn?Rn.isBuffer:void 0)||function(){return!1},Bn=9007199254740991,Un=/^(?:0|[1-9]\d*)$/;function Vn(n,e){var a=typeof n;return!!(e=null==e?Bn:e)&&("number"==a||"symbol"!=a&&Un.test(n))&&n>-1&&n%1==0&&n<e}var Wn=9007199254740991;function _n(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=Wn}var Gn={};function Qn(n){return function(e){return n(e)}}Gn["[object Float32Array]"]=Gn["[object Float64Array]"]=Gn["[object Int8Array]"]=Gn["[object Int16Array]"]=Gn["[object Int32Array]"]=Gn["[object Uint8Array]"]=Gn["[object Uint8ClampedArray]"]=Gn["[object Uint16Array]"]=Gn["[object Uint32Array]"]=!0,Gn["[object Arguments]"]=Gn["[object Array]"]=Gn["[object ArrayBuffer]"]=Gn["[object Boolean]"]=Gn["[object DataView]"]=Gn["[object Date]"]=Gn["[object Error]"]=Gn["[object Function]"]=Gn["[object Map]"]=Gn["[object Number]"]=Gn["[object Object]"]=Gn["[object RegExp]"]=Gn["[object Set]"]=Gn["[object String]"]=Gn["[object WeakMap]"]=!1;var Yn="object"==typeof exports&&exports&&!exports.nodeType&&exports,Kn=Yn&&"object"==typeof module&&module&&!module.nodeType&&module,qn=Kn&&Kn.exports===Yn&&d.process,Xn=function(){try{var n=Kn&&Kn.require&&Kn.require("util").types;return n||qn&&qn.binding&&qn.binding("util")}catch(n){}}(),Jn=Xn&&Xn.isTypedArray,Zn=Jn?Qn(Jn):function(n){return Tn(n)&&_n(n.length)&&!!Gn[x(n)]},$n=Object.prototype.hasOwnProperty;function ne(n,e){var a=xn(n),r=!a&&Hn(n),o=!a&&!r&&Pn(n),t=!a&&!r&&!o&&Zn(n),i=a||r||o||t,l=i?function(n,e){for(var a=-1,r=Array(n);++a<n;)r[a]=e(a);return r}(n.length,String):[],g=l.length;for(var c in n)!e&&!$n.call(n,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||t&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Vn(c,g))||l.push(c);return l}var ee=Object.prototype;function ae(n){var e=n&&n.constructor;return n===("function"==typeof e&&e.prototype||ee)}function re(n,e){return function(a){return n(e(a))}}var oe=re(Object.keys,Object),te=Object.prototype.hasOwnProperty;function ie(n){if(!ae(n))return oe(n);var e=[];for(var a in Object(n))te.call(n,a)&&"constructor"!=a&&e.push(a);return e}function le(n){return null!=n&&_n(n.length)&&!A(n)}function ge(n){return le(n)?ne(n):ie(n)}function ce(n){return zn(n,ge,An)}var de=1,pe=Object.prototype.hasOwnProperty;var se=U(s,"DataView"),ue=U(s,"Promise"),fe=U(s,"Set"),ve=U(s,"WeakMap"),he="[object Map]",me="[object Promise]",we="[object Set]",be="[object WeakMap]",ye="[object DataView]",ke=N(se),xe=N(V),ze=N(ue),Me=N(fe),Ce=N(ve),De=x;(se&&De(new se(new ArrayBuffer(1)))!=ye||V&&De(new V)!=he||ue&&De(ue.resolve())!=me||fe&&De(new fe)!=we||ve&&De(new ve)!=be)&&(De=function(n){var e=x(n),a="[object Object]"==e?n.constructor:void 0,r=a?N(a):"";if(r)switch(r){case ke:return ye;case xe:return he;case ze:return me;case Me:return we;case Ce:return be}return e});var je=De,Ae=1,Te="[object Arguments]",Ee="[object Array]",Se="[object Object]",Oe=Object.prototype.hasOwnProperty;function Ne(n,e,a,r,o,t){var l=xn(n),g=xn(e),c=l?Ee:je(n),d=g?Ee:je(e),p=(c=c==Te?Se:c)==Se,s=(d=d==Te?Se:d)==Se,u=c==d;if(u&&Pn(n)){if(!Pn(e))return!1;l=!0,p=!1}if(u&&!p)return t||(t=new q),l||Zn(n)?en(n,e,a,r,o,t):function(n,e,a,r,o,t,l){switch(a){case wn:if(n.byteLength!=e.byteLength||n.byteOffset!=e.byteOffset)return!1;n=n.buffer,e=e.buffer;case mn:return!(n.byteLength!=e.byteLength||!t(new an(n),new an(e)));case gn:case cn:case sn:return i(+n,+e);case dn:return n.name==e.name&&n.message==e.message;case un:case vn:return n==e+"";case pn:var g=rn;case fn:var c=r&tn;if(g||(g=on),n.size!=e.size&&!c)return!1;var d=l.get(n);if(d)return d==e;r|=ln,l.set(n,e);var p=en(g(n),g(e),r,o,t,l);return l.delete(n),p;case hn:if(yn)return yn.call(n)==yn.call(e)}return!1}(n,e,c,a,r,o,t);if(!(a&Ae)){var f=p&&Oe.call(n,"__wrapped__"),v=s&&Oe.call(e,"__wrapped__");if(f||v){var h=f?n.value():n,m=v?e.value():e;return t||(t=new q),o(h,m,a,r,t)}}return!!u&&(t||(t=new q),function(n,e,a,r,o,t){var i=a&de,l=ce(n),g=l.length;if(g!=ce(e).length&&!i)return!1;for(var c=g;c--;){var d=l[c];if(!(i?d in e:pe.call(e,d)))return!1}var p=t.get(n),s=t.get(e);if(p&&s)return p==e&&s==n;var u=!0;t.set(n,e),t.set(e,n);for(var f=i;++c<g;){var v=n[d=l[c]],h=e[d];if(r)var m=i?r(h,v,d,e,n,t):r(v,h,d,n,e,t);if(!(void 0===m?v===h||o(v,h,a,r,t):m)){u=!1;break}f||(f="constructor"==d)}if(u&&!f){var w=n.constructor,b=e.constructor;w==b||!("constructor"in n)||!("constructor"in e)||"function"==typeof w&&w instanceof w&&"function"==typeof b&&b instanceof b||(u=!1)}return t.delete(n),t.delete(e),u}(n,e,a,r,o,t))}function Le(n,e,a,r,o){return n===e||(null==n||null==e||!Tn(n)&&!Tn(e)?n!=n&&e!=e:Ne(n,e,a,r,Le,o))}var He=1,Ie=2;function Fe(n){return n==n&&!z(n)}function Re(n,e){return function(a){return null!=a&&(a[n]===e&&(void 0!==e||n in Object(a)))}}function Pe(n){var e=function(n){for(var e=ge(n),a=e.length;a--;){var r=e[a],o=n[r];e[a]=[r,o,Fe(o)]}return e}(n);return 1==e.length&&e[0][2]?Re(e[0][0],e[0][1]):function(a){return a===n||function(n,e,a,r){var o=a.length,t=o,i=!r;if(null==n)return!t;for(n=Object(n);o--;){var l=a[o];if(i&&l[2]?l[1]!==n[l[0]]:!(l[0]in n))return!1}for(;++o<t;){var g=(l=a[o])[0],c=n[g],d=l[1];if(i&&l[2]){if(void 0===c&&!(g in n))return!1}else{var p=new q;if(r)var s=r(c,d,g,n,e,p);if(!(void 0===s?Le(d,c,He|Ie,r,p):s))return!1}}return!0}(a,n,e)}}var Be="[object Symbol]";function Ue(n){return"symbol"==typeof n||Tn(n)&&x(n)==Be}var Ve=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,We=/^\w*$/;function _e(n,e){if(xn(n))return!1;var a=typeof n;return!("number"!=a&&"symbol"!=a&&"boolean"!=a&&null!=n&&!Ue(n))||(We.test(n)||!Ve.test(n)||null!=e&&n in Object(e))}var Ge="Expected a function";function Qe(n,e){if("function"!=typeof n||null!=e&&"function"!=typeof e)throw new TypeError(Ge);var a=function(){var r=arguments,o=e?e.apply(this,r):r[0],t=a.cache;if(t.has(o))return t.get(o);var i=n.apply(this,r);return a.cache=t.set(o,i)||t,i};return a.cache=new(Qe.Cache||K),a}Qe.Cache=K;var Ye,Ke,qe,Xe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Je=/\\(\\)?/g,Ze=(Ye=function(n){var e=[];return 46===n.charCodeAt(0)&&e.push(""),n.replace(Xe,(function(n,a,r,o){e.push(r?o.replace(Je,"$1"):a||n)})),e},Ke=Qe(Ye,(function(n){return 500===qe.size&&qe.clear(),n})),qe=Ke.cache,Ke),$e=Ze,na=1/0,ea=u?u.prototype:void 0,aa=ea?ea.toString:void 0;function ra(n){if("string"==typeof n)return n;if(xn(n))return t(n,ra)+"";if(Ue(n))return aa?aa.call(n):"";var e=n+"";return"0"==e&&1/n==-na?"-0":e}function oa(n){return null==n?"":ra(n)}function ta(n,e){return xn(n)?n:_e(n,e)?[n]:$e(oa(n))}var ia=1/0;function la(n){if("string"==typeof n||Ue(n))return n;var e=n+"";return"0"==e&&1/n==-ia?"-0":e}function ga(n,e){for(var a=0,r=(e=ta(e,n)).length;null!=n&&a<r;)n=n[la(e[a++])];return a&&a==r?n:void 0}function ca(n,e,a){var r=null==n?void 0:ga(n,e);return void 0===r?a:r}function da(n,e){return null!=n&&e in Object(n)}function pa(n,e){return null!=n&&function(n,e,a){for(var r=-1,o=(e=ta(e,n)).length,t=!1;++r<o;){var i=la(e[r]);if(!(t=null!=n&&a(n,i)))break;n=n[i]}return t||++r!=o?t:!!(o=null==n?0:n.length)&&_n(o)&&Vn(i,o)&&(xn(n)||Hn(n))}(n,e,da)}var sa=1,ua=2;function fa(n){return n}function va(n){return function(e){return null==e?void 0:e[n]}}function ha(n){return _e(n)?va(la(n)):function(n){return function(e){return ga(e,n)}}(n)}function ma(n){return"function"==typeof n?n:null==n?fa:"object"==typeof n?xn(n)?(e=n[0],a=n[1],_e(e)&&Fe(a)?Re(la(e),a):function(n){var r=ca(n,e);return void 0===r&&r===a?pa(n,e):Le(a,r,sa|ua)}):Pe(n):ha(n);var e,a}var wa,ba=function(n,e,a){for(var r=-1,o=Object(n),t=a(n),i=t.length;i--;){var l=t[wa?i:++r];if(!1===e(o[l],l,o))break}return n};var ya=function(n,e){return function(a,r){if(null==a)return a;if(!le(a))return n(a,r);for(var o=a.length,t=e?o:-1,i=Object(a);(e?t--:++t<o)&&!1!==r(i[t],t,i););return a}}((function(n,e){return n&&ba(n,e,ge)})),ka=ya;function xa(n,e){var a=-1,r=le(n)?Array(n.length):[];return ka(n,(function(n,o,t){r[++a]=e(n,o,t)})),r}function za(n,e){return(xn(n)?t:xa)(n,ma(e))}function Ma(n,e){for(var a=-1,r=null==n?0:n.length;++a<r&&!1!==e(n[a],a,n););return n}function Ca(n,e){var a;return(xn(n)?Ma:ka)(n,"function"==typeof(a=e)?a:fa)}var Da="[object String]";var ja=va("length"),Aa=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Ta(n){return Aa.test(n)}var Ea="\\ud800-\\udfff",Sa="["+Ea+"]",Oa="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Na="\\ud83c[\\udffb-\\udfff]",La="[^"+Ea+"]",Ha="(?:\\ud83c[\\udde6-\\uddff]){2}",Ia="[\\ud800-\\udbff][\\udc00-\\udfff]",Fa="(?:"+Oa+"|"+Na+")"+"?",Ra="[\\ufe0e\\ufe0f]?",Pa=Ra+Fa+("(?:\\u200d(?:"+[La,Ha,Ia].join("|")+")"+Ra+Fa+")*"),Ba="(?:"+[La+Oa+"?",Oa,Ha,Ia,Sa].join("|")+")",Ua=RegExp(Na+"(?="+Na+")|"+Ba+Pa,"g");function Va(n){return Ta(n)?function(n){for(var e=Ua.lastIndex=0;Ua.test(n);)++e;return e}(n):ja(n)}var Wa="[object Map]",_a="[object Set]";function Ga(n){if(null==n)return 0;if(le(n))return"string"==typeof(e=n)||!xn(e)&&Tn(e)&&x(e)==Da?Va(n):n.length;var e,a=je(n);return a==Wa||a==_a?n.size:ie(n).length}function Qa(n,e){var a=[];return ka(n,(function(n,r,o){e(n,r,o)&&a.push(n)})),a}function Ya(n,e){return(xn(n)?Mn:Qa)(n,ma(e))}function Ka(n,e){return Le(n,e)}function qa(n,e,a,r){for(var o=n.length,t=a+(r?1:-1);r?t--:++t<o;)if(e(n[t],t,n))return t;return-1}var Xa=/\s/;var Ja=/^\s+/;function Za(n){return n?n.slice(0,function(n){for(var e=n.length;e--&&Xa.test(n.charAt(e)););return e}(n)+1).replace(Ja,""):n}var $a=NaN,nr=/^[-+]0x[0-9a-f]+$/i,er=/^0b[01]+$/i,ar=/^0o[0-7]+$/i,rr=parseInt;function or(n){if("number"==typeof n)return n;if(Ue(n))return $a;if(z(n)){var e="function"==typeof n.valueOf?n.valueOf():n;n=z(e)?e+"":e}if("string"!=typeof n)return 0===n?n:+n;n=Za(n);var a=er.test(n);return a||ar.test(n)?rr(n.slice(2),a?2:8):nr.test(n)?$a:+n}var tr=1/0,ir=17976931348623157e292;function lr(n){return n?(n=or(n))===tr||n===-tr?(n<0?-1:1)*ir:n==n?n:0:0===n?n:0}function gr(n){var e=lr(n),a=e%1;return e==e?a?e-a:e:0}var cr=Math.max;var dr,pr=(dr=function(n,e,a){var r=null==n?0:n.length;if(!r)return-1;var o=null==a?0:gr(a);return o<0&&(o=cr(r+o,0)),qa(n,ma(e),o)},function(n,e,a){var r=Object(n);if(!le(n)){var o=ma(e);n=ge(n),e=function(n){return o(r[n],n,r)}}var t=dr(n,e,a);return t>-1?r[o?n[t]:t]:void 0}),sr=function(){try{var n=U(Object,"defineProperty");return n({},"",{}),n}catch(n){}}(),ur=sr;function fr(n,e,a){"__proto__"==e&&ur?ur(n,e,{configurable:!0,enumerable:!0,value:a,writable:!0}):n[e]=a}function vr(n,e,a){(void 0!==a&&!i(n[e],a)||void 0===a&&!(e in n))&&fr(n,e,a)}var hr="object"==typeof exports&&exports&&!exports.nodeType&&exports,mr=hr&&"object"==typeof module&&module&&!module.nodeType&&module,wr=mr&&mr.exports===hr?s.Buffer:void 0,br=wr?wr.allocUnsafe:void 0;function yr(n,e){if(e)return n.slice();var a=n.length,r=br?br(a):new n.constructor(a);return n.copy(r),r}function kr(n){var e=new n.constructor(n.byteLength);return new an(e).set(new an(n)),e}function xr(n,e){var a=e?kr(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function zr(n,e){var a=-1,r=n.length;for(e||(e=Array(r));++a<r;)e[a]=n[a];return e}var Mr=Object.create,Cr=function(){function n(){}return function(e){if(!z(e))return{};if(Mr)return Mr(e);n.prototype=e;var a=new n;return n.prototype=void 0,a}}(),Dr=Cr,jr=re(Object.getPrototypeOf,Object);function Ar(n){return"function"!=typeof n.constructor||ae(n)?{}:Dr(jr(n))}function Tr(n){return Tn(n)&&le(n)}var Er="[object Object]",Sr=Function.prototype,Or=Object.prototype,Nr=Sr.toString,Lr=Or.hasOwnProperty,Hr=Nr.call(Object);function Ir(n){if(!Tn(n)||x(n)!=Er)return!1;var e=jr(n);if(null===e)return!0;var a=Lr.call(e,"constructor")&&e.constructor;return"function"==typeof a&&a instanceof a&&Nr.call(a)==Hr}function Fr(n,e){if(("constructor"!==e||"function"!=typeof n[e])&&"__proto__"!=e)return n[e]}var Rr=Object.prototype.hasOwnProperty;function Pr(n,e,a){var r=n[e];Rr.call(n,e)&&i(r,a)&&(void 0!==a||e in n)||fr(n,e,a)}function Br(n,e,a,r){var o=!a;a||(a={});for(var t=-1,i=e.length;++t<i;){var l=e[t],g=r?r(a[l],n[l],l,a,n):void 0;void 0===g&&(g=n[l]),o?fr(a,l,g):Pr(a,l,g)}return a}var Ur=Object.prototype.hasOwnProperty;function Vr(n){if(!z(n))return function(n){var e=[];if(null!=n)for(var a in Object(n))e.push(a);return e}(n);var e=ae(n),a=[];for(var r in n)("constructor"!=r||!e&&Ur.call(n,r))&&a.push(r);return a}function Wr(n){return le(n)?ne(n,!0):Vr(n)}function _r(n,e,a,r,o,t,i){var l=Fr(n,a),g=Fr(e,a),c=i.get(g);if(c)vr(n,a,c);else{var d,p=t?t(l,g,a+"",n,e,i):void 0,s=void 0===p;if(s){var u=xn(g),f=!u&&Pn(g),v=!u&&!f&&Zn(g);p=g,u||f||v?xn(l)?p=l:Tr(l)?p=zr(l):f?(s=!1,p=yr(g,!0)):v?(s=!1,p=xr(g,!0)):p=[]:Ir(g)||Hn(g)?(p=l,Hn(l)?p=Br(d=l,Wr(d)):z(l)&&!A(l)||(p=Ar(g))):s=!1}s&&(i.set(g,p),o(p,g,r,t,i),i.delete(g)),vr(n,a,p)}}function Gr(n,e,a,r,o){n!==e&&ba(e,(function(t,i){if(o||(o=new q),z(t))_r(n,e,i,a,Gr,r,o);else{var l=r?r(Fr(n,i),t,i+"",n,e,o):void 0;void 0===l&&(l=t),vr(n,i,l)}}),Wr)}var Qr=Math.max;var Yr=ur?function(n,e){return ur(n,"toString",{configurable:!0,enumerable:!1,value:(a=e,function(){return a}),writable:!0});var a}:fa,Kr=Yr,qr=Date.now;var Xr=function(n){var e=0,a=0;return function(){var r=qr(),o=16-(r-a);if(a=r,o>0){if(++e>=800)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}(Kr),Jr=Xr;function Zr(n,e){return Jr(function(n,e,a){return e=Qr(void 0===e?n.length-1:e,0),function(){for(var r=arguments,o=-1,t=Qr(r.length-e,0),i=Array(t);++o<t;)i[o]=r[e+o];o=-1;for(var l=Array(e+1);++o<e;)l[o]=r[o];return l[e]=a(i),function(n,e,a){switch(a.length){case 0:return n.call(e);case 1:return n.call(e,a[0]);case 2:return n.call(e,a[0],a[1]);case 3:return n.call(e,a[0],a[1],a[2])}return n.apply(e,a)}(n,this,l)}}(n,e,fa),n+"")}function $r(n,e,a){if(!z(a))return!1;var r=typeof e;return!!("number"==r?le(a)&&Vn(e,a.length):"string"==r&&e in a)&&i(a[e],n)}var no,eo=(no=function(n,e,a){Gr(n,e,a)},Zr((function(n,e){var a=-1,r=e.length,o=r>1?e[r-1]:void 0,t=r>2?e[2]:void 0;for(o=no.length>3&&"function"==typeof o?(r--,o):void 0,t&&$r(e[0],e[1],t)&&(o=r<3?void 0:o,r=1),n=Object(n);++a<r;){var i=e[a];i&&no(n,i,a,o)}return n})));function ao(n,e,a){return null==n?n:function(n,e,a,r){if(!z(n))return n;for(var o=-1,t=(e=ta(e,n)).length,i=t-1,l=n;null!=l&&++o<t;){var g=la(e[o]),c=a;if("__proto__"===g||"constructor"===g||"prototype"===g)return n;if(o!=i){var d=l[g];void 0===(c=r?r(d,g,l):void 0)&&(c=z(d)?d:Vn(e[o+1])?[]:{})}Pr(l,g,c),l=l[g]}return n}(n,e,a)}var ro=Array.prototype.join;function oo(n,e){return null==n?"":ro.call(n,e)}function to(n,e,a){var r=-1,o=n.length;e<0&&(e=-e>o?0:o+e),(a=a>o?o:a)<0&&(a+=o),o=e>a?0:a-e>>>0,e>>>=0;for(var t=Array(o);++r<o;)t[r]=n[r+e];return t}function io(n,e,a){var r=n.length;return a=void 0===a?r:a,!e&&a>=r?n:to(n,e,a)}var lo=Xn&&Xn.isRegExp,go=lo?Qn(lo):function(n){return Tn(n)&&"[object RegExp]"==x(n)};var co="\\ud800-\\udfff",po="["+co+"]",so="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",uo="\\ud83c[\\udffb-\\udfff]",fo="[^"+co+"]",vo="(?:\\ud83c[\\udde6-\\uddff]){2}",ho="[\\ud800-\\udbff][\\udc00-\\udfff]",mo="(?:"+so+"|"+uo+")"+"?",wo="[\\ufe0e\\ufe0f]?",bo=wo+mo+("(?:\\u200d(?:"+[fo,vo,ho].join("|")+")"+wo+mo+")*"),yo="(?:"+[fo+so+"?",so,vo,ho,po].join("|")+")",ko=RegExp(uo+"(?="+uo+")|"+yo+bo,"g");function xo(n){return Ta(n)?function(n){return n.match(ko)||[]}(n):function(n){return n.split("")}(n)}var zo=4294967295;function Mo(n){return null==n?[]:function(n,e){return t(e,(function(e){return n[e]}))}(n,ge(n))}var Co=Object.getOwnPropertySymbols?function(n){for(var e=[];n;)kn(e,An(n)),n=jr(n);return e}:Cn,Do=Co;function jo(n){return zn(n,Wr,Do)}var Ao=Object.prototype.hasOwnProperty;var To=/\w*$/;var Eo=u?u.prototype:void 0,So=Eo?Eo.valueOf:void 0;var Oo="[object Boolean]",No="[object Date]",Lo="[object Map]",Ho="[object Number]",Io="[object RegExp]",Fo="[object Set]",Ro="[object String]",Po="[object Symbol]",Bo="[object ArrayBuffer]",Uo="[object DataView]",Vo="[object Float32Array]",Wo="[object Float64Array]",_o="[object Int8Array]",Go="[object Int16Array]",Qo="[object Int32Array]",Yo="[object Uint8Array]",Ko="[object Uint8ClampedArray]",qo="[object Uint16Array]",Xo="[object Uint32Array]";function Jo(n,e,a){var r,o=n.constructor;switch(e){case Bo:return kr(n);case Oo:case No:return new o(+n);case Uo:return function(n,e){var a=e?kr(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}(n,a);case Vo:case Wo:case _o:case Go:case Qo:case Yo:case Ko:case qo:case Xo:return xr(n,a);case Lo:return new o;case Ho:case Ro:return new o(n);case Io:return function(n){var e=new n.constructor(n.source,To.exec(n));return e.lastIndex=n.lastIndex,e}(n);case Fo:return new o;case Po:return r=n,So?Object(So.call(r)):{}}}var Zo=Xn&&Xn.isMap,$o=Zo?Qn(Zo):function(n){return Tn(n)&&"[object Map]"==je(n)};var nt=Xn&&Xn.isSet,et=nt?Qn(nt):function(n){return Tn(n)&&"[object Set]"==je(n)},at=1,rt=2,ot=4,tt="[object Arguments]",it="[object Function]",lt="[object GeneratorFunction]",gt="[object Object]",ct={};function dt(n,e,a,r,o,t){var i,l=e&at,g=e&rt,c=e&ot;if(a&&(i=o?a(n,r,o,t):a(n)),void 0!==i)return i;if(!z(n))return n;var d=xn(n);if(d){if(i=function(n){var e=n.length,a=new n.constructor(e);return e&&"string"==typeof n[0]&&Ao.call(n,"index")&&(a.index=n.index,a.input=n.input),a}(n),!l)return zr(n,i)}else{var p=je(n),s=p==it||p==lt;if(Pn(n))return yr(n,l);if(p==gt||p==tt||s&&!o){if(i=g||s?{}:Ar(n),!l)return g?function(n,e){return Br(n,Do(n),e)}(n,function(n,e){return n&&Br(e,Wr(e),n)}(i,n)):function(n,e){return Br(n,An(n),e)}(n,function(n,e){return n&&Br(e,ge(e),n)}(i,n))}else{if(!ct[p])return o?n:{};i=Jo(n,p,l)}}t||(t=new q);var u=t.get(n);if(u)return u;t.set(n,i),et(n)?n.forEach((function(r){i.add(dt(r,e,a,r,n,t))})):$o(n)&&n.forEach((function(r,o){i.set(o,dt(r,e,a,o,n,t))}));var f=d?void 0:(c?g?jo:ce:g?Wr:ge)(n);return Ma(f||n,(function(r,o){f&&(r=n[o=r]),Pr(i,o,dt(r,e,a,o,n,t))})),i}ct[tt]=ct["[object Array]"]=ct["[object ArrayBuffer]"]=ct["[object DataView]"]=ct["[object Boolean]"]=ct["[object Date]"]=ct["[object Float32Array]"]=ct["[object Float64Array]"]=ct["[object Int8Array]"]=ct["[object Int16Array]"]=ct["[object Int32Array]"]=ct["[object Map]"]=ct["[object Number]"]=ct[gt]=ct["[object RegExp]"]=ct["[object Set]"]=ct["[object String]"]=ct["[object Symbol]"]=ct["[object Uint8Array]"]=ct["[object Uint8ClampedArray]"]=ct["[object Uint16Array]"]=ct["[object Uint32Array]"]=!0,ct["[object Error]"]=ct[it]=ct["[object WeakMap]"]=!1;var pt=1,st=4;function ut(n){return dt(n,pt|st)}var ft=u?u.isConcatSpreadable:void 0;function vt(n){return xn(n)||Hn(n)||!!(ft&&n&&n[ft])}function ht(n,e,a,r,o){var t=-1,i=n.length;for(a||(a=vt),o||(o=[]);++t<i;){var l=n[t];e>0&&a(l)?e>1?ht(l,e-1,a,r,o):kn(o,l):r||(o[o.length]=l)}return o}function mt(){var n=arguments.length;if(!n)return[];for(var e=Array(n-1),a=arguments[0],r=n;r--;)e[r-1]=arguments[r];return kn(xn(a)?zr(a):[a],ht(e,1))}function wt(n){return n!=n}function bt(n,e,a){return e==e?function(n,e,a){for(var r=a-1,o=n.length;++r<o;)if(n[r]===e)return r;return-1}(n,e,a):qa(n,wt,a)}function yt(n,e){return!!(null==n?0:n.length)&&bt(n,e,0)>-1}function kt(n,e,a){for(var r=-1,o=null==n?0:n.length;++r<o;)if(a(e,n[r]))return!0;return!1}var xt=Zr((function(n,e){return Tr(n)?function(n,e,a,r){var o=-1,i=yt,l=!0,g=n.length,c=[],d=e.length;if(!g)return c;a&&(e=t(e,Qn(a))),r?(i=kt,l=!1):e.length>=200&&(i=Z,l=!1,e=new X(e));n:for(;++o<g;){var p=n[o],s=null==a?p:a(p);if(p=r||0!==p?p:0,l&&s==s){for(var u=d;u--;)if(e[u]===s)continue n;c.push(p)}else i(e,s,r)||c.push(p)}return c}(n,ht(e,1,Tr,!0)):[]})),zt=xt;function Mt(n,e,a){if((n=oa(n))&&(a||void 0===e))return Za(n);if(!n||!(e=ra(e)))return n;var r=xo(n),o=xo(e),t=function(n,e){for(var a=-1,r=n.length;++a<r&&bt(e,n[a],0)>-1;);return a}(r,o),i=function(n,e){for(var a=n.length;a--&&bt(e,n[a],0)>-1;);return a}(r,o)+1;return io(r,t,i).join("")}function Ct(n){return"[object Object]"===Object.prototype.toString.call(n)}function Dt(n){return"[object String]"===Object.prototype.toString.call(n)}function jt(n){return!(!Dt(n)||""===n)}function At(n){return n!=n}function Tt(n){let e=!1;if(jt(n))e=!isNaN(Number(n));else if(function(n){return"[object Number]"===Object.prototype.toString.call(n)}(n)){if(At(n))return!1;e=!0}return e}function Et(n,e){return!!Ct(n)&&(!(!jt(e)&&!Tt(e))&&e in n)}function St(n){return"[object Array]"===Object.prototype.toString.call(n)}function Ot(n){return"[object Undefined]"===Object.prototype.toString.call(n)}function Nt(n){return!!Ot(n)||(!!function(n){return"[object Null]"===Object.prototype.toString.call(n)}(n)||(!!function(n){if(Ct(n)){for(let e in n)return!1;return!0}return!1}(n)||(!!function(n){return!(!Dt(n)||""!==n)}(n)||(!!function(n){return!!St(n)&&0===n.length}(n)||!!At(n)))))}function Lt(n,e){function a(n){return St(n)?n:[n]}if(Nt(n))return!1;if(0===(n=a(n)).length)return!1;if(Nt(n))return!1;if(0===(e=a(e)).length)return!1;for(let a=0;a<n.length;a++)for(let r=0;r<e.length;r++)if(Ka(n[a],e[r]))return!0;return!1}function Ht(n,e){if(!jt(n))return[];if(!jt(e))return[];let a=function(n,e){return jt(n)&&jt(e)?n.split(e):[]}(n,e);a=za(a,Mt);let r=[];return Ca(a,(function(n){jt(n)&&r.push(n)})),r}function It(){let n,e,a=new Promise((function(){n=arguments[0],e=arguments[1]}));return a.resolve=n,a.reject=e,a}function Ft(n){let e=Object.prototype.toString.call(n);return"[object Function]"===e||"[object AsyncFunction]"===e}function Rt(n,e){let a=It();if(!St(n)&&!Ct(n))return a.reject("rs is not an array or object"),a;let r=!1;if(Ct(n)){r=!0;let e=[];Ca(n,((n,a)=>{e.push({k:a,v:n})})),n=e}Ft(e)||(e=function(n){return n});let o=-1,t=[];return n.reduce((function(n,a){return n.then((function(n){t.push(n),o+=1;let i=o,l=a;return r&&(i=a.k,l=a.v),Ft(e)?e(l,i):l}))}),Promise.resolve()).then((function(n){var e,r,o,i;t.push(n),i=null==(e=t)?0:e.length,t=i?to(e,(r=o||void 0===r?1:gr(r))<0?0:r,i):[],a.resolve(t)})).catch((function(n){a.reject(n)})),a}function Pt(n){if(Ct(n)){for(let e in n)return!0;return!1}return!1}function Bt(n){return!!St(n)&&(0!==n.length&&(1!==n.length||!Nt(n[0])))}function Ut(n){let e,a=Object.prototype.toString.call(n);if(e="[object Promise]"===a,e)return!0;if("[object Function]"!==a)return!1;try{e="function"!=typeof n.subscribe&&"function"==typeof n.then}catch(n){}return e}var Vt="[object Boolean]";function Wt(n){return!0===(e=n)||!1===e||Tn(e)&&x(e)==Vt;var e}function _t(n){if(!Tt(n))return 0;return lr(n)}function Gt(n){return!!Tt(n)&&(n=_t(n),"number"==typeof(e=n)&&e==gr(e));var e}var Qt=s.isFinite,Yt=Math.min;var Kt=function(n){var e=Math[n];return function(n,a){if(n=or(n),(a=null==a?0:Yt(gr(a),292))&&Qt(n)){var r=(oa(n)+"e").split("e");return+((r=(oa(e(r[0]+"e"+(+r[1]+a)))+"e").split("e"))[0]+"e"+(+r[1]-a))}return e(n)}}("round"),qt=Kt;function Xt(n){if(!Tt(n))return 0;n=_t(n);let e=qt(n);return"0"===String(e)?0:e}function Jt(n){if(!Gt(n))return!1;return Xt(n)>=0}function Zt(n){if(!jt(n)&&!Tt(n)&&!Ue(n))return"";let e="";try{e=String(n)}catch(n){}try{e=n.toString()}catch(n){}return e}function $t(n,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!Bt(n))return[];if(!Bt(e))return[];let r=za(n,(n=>function(n,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!Bt(e))return{};let r={};return Ca(e,(function(e){r[e]=ca(n,e,a)})),r}(n,e,a)));return r}var ni=fe&&1/on(new fe([,-0]))[1]==1/0?function(n){return new fe(n)}:function(){},ei=ni,ai=200;function ri(n){return n&&n.length?function(n,e,a){var r=-1,o=yt,t=n.length,i=!0,l=[],g=l;if(a)i=!1,o=kt;else if(t>=ai){var c=e?null:ei(n);if(c)return on(c);i=!1,o=Z,g=new X}else g=e?[]:l;n:for(;++r<t;){var d=n[r],p=e?e(d):d;if(d=a||0!==d?d:0,i&&p==p){for(var s=g.length;s--;)if(g[s]===p)continue n;e&&g.push(p),l.push(d)}else o(g,p,a)||(g!==l&&g.push(p),l.push(d))}return l}(n):[]}function oi(n){if(!Bt(n))return[];let e=[];return Ca(n,(function(n){let a=ge(n);e=[...e,...a],e=ri(e)})),e}function ti(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!Bt(n))return[];if(Bt(e)||(e=oi(n)),0===Ga(e))return[];let r=!1;if(Ca(n,(function(n){Pt(n)||(r=!0)})),r)return[];let o=ca(a,"empty",""),t=[];return Ca(n,(function(n){let a=za(e,(function(e){return Et(n,e)?Wt(n[e])?n[e]?"true":"false":Dt(n[e])||Tt(n[e])?n[e]:function(n){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Ot(n))return"";let a="";try{a=e?JSON.stringify(n,null,2):JSON.stringify(n)}catch(n){a=""}return a}(n[e]):o}));t.push(a)})),t}function ii(n){if(!Gt(n))return!1;return Xt(n)>0}async function li(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null,r=It();if(!Ft(n))return r.reject("waitfunction需輸入函數f"),r;let o=async()=>{let e=n();return Ut(e)&&(e=await e),e};if(a=await o(),!0===a)return r.resolve(),r;let t=ca(e,"attemptNum",null);ii(t)||(t=200);let i=ca(e,"timeInterval",null);ii(i)||(i=1e3);let l=0,g=setInterval((async()=>{l+=1,a=await o(),!0===a&&(clearInterval(g),r.resolve()),l>t&&(clearInterval(g),r.reject(`exceeded attemptNum[${t}]`))}),i);return r}function gi(n,e){if(!jt(n))return"";if(!Jt(e))return"";if(0===(e=Xt(e)))return"";let a=n.length-e;return a<0&&(a=0),n.substring(a,a+e)}function ci(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;Tt(n)||(n=10);let e=It();return setTimeout((function(){e.resolve()}),n),e}let di={},pi={};function si(n){let{tagName:e,path:a,attributes:r={},func:o}=n,t=It();if("done"===di[a])return t.resolve("loaded"),t;if("loading"===di[a])return li((()=>"done"===di[a])).then((function(){t.resolve("loaded")})),t;di[a]="loading";let i=document.createElement(e);return Ca(r,((n,e)=>{i.setAttribute(e,n)})),r.rel&&"stylesheet"===r.rel?(i.setAttribute("href",a),setTimeout((()=>{t.resolve(i),di[a]="done"}),1)):(i.src=a,i.addEventListener("load",(()=>{let n;Ft(o)?n=li(o):(n=It(),n.resolve()),n.then((()=>ci(500))).then((function(){t.resolve(i),di[a]="done"}))})),i.addEventListener("error",(()=>{t.reject(i),di[a]="done"}))),document.getElementsByTagName("head")[0].appendChild(i),t}function ui(n){let e=It();St(n)||(n=[n]),Ca(n,((e,a)=>{Dt(e)&&(n[a]={path:e})}));let a=oo(za(n,"path"),"|");return"done"===pi[a]?(e.resolve("loaded"),e):"loading"===pi[a]?(li((()=>"done"===pi[a])).then((function(){e.resolve("loaded")})),e):(pi[a]="loading",Ca(n,((n,e)=>{n.type||(".js"===gi(n.path,3)?n.type="js":".css"===gi(n.path,4)?n.type="css":n.type="unknow")})),Rt(n,(n=>{let e=It();if("js"===n.type)e=si({tagName:"script",path:n.path,attributes:{type:"text/javascript"},func:n.func});else if("css"===n.type)e=si({tagName:"link",path:n.path,attributes:{rel:"stylesheet"}});else{let a="invalid pathItem.type: "+n.type;console.log(a),e.reject(a)}return e})).finally((()=>{pi[a]="done"})))}function fi(n){return Tn(e=n)&&1===e.nodeType&&!Ir(e);var e}function vi(){return"undefined"!=typeof window&&void 0!==window.document}function hi(n,e){vi()?jt(n)?null!==navigator.userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)?function(n,e){window.navigator.msSaveOrOpenBlob(e,n)}(n,e):function(n,e){let a=window.URL.createObjectURL(e),r=document.createElement("a");r.href=a,r.download=n,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(a)}(n,e):console.log("no filename"):console.log("no window")}function mi(n,e){for(var a=-1,r=null==n?0:n.length;++a<r;)if(!e(n[a],a,n))return!1;return!0}function wi(n,e){var a=!0;return ka(n,(function(n,r,o){return a=!!e(n,r,o)})),a}function bi(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!Bt(n))return[];Bt(e)||(e=oi(n)),Pt(a)||(a={},Ca(e,(n=>{a[n]=n})));let r=!1;return Ca(n,(function(n){Pt(n)||(r=!0)})),r?[]:mt([za(e,(function(n){return ca(a,n)}))],ti(n,e))}function yi(){let n="undefined"!=typeof self?self:vi()?window:"undefined"!=typeof global?global:null;if(Pt(ca(r,"utils")))return r;if(Pt(ca(r,"default.utils")))return ca(r,"default");if(Pt(ca(n,"XLSX.utils")))return ca(n,"XLSX");if(Pt(ca(n,"XLSX.default.utils")))return ca(n,"XLSX.default");if(Pt(ca(n,"xlsx.utils")))return ca(n,"xlsx");if(Pt(ca(n,"xlsx.default.utils")))return ca(n,"xlsx.default");throw console.log("XLSX",r,"g.XLSX",n.XLSX,"g.xlsx",n.xlsx),new Error("invalid XLSX, g.XLSX, g.xlsx")}function ki(n){if(!St(n)&&!fi(n))return{error:"data is not an array or element"};let e=null;try{let a=yi().utils;if(St(n)){let r=function(n,e,a){var r=xn(n)?mi:wi;return a&&$r(n,e,a)&&(e=void 0),r(n,ma(e))}(n,Pt);r&&(n=bi(n)),e=a.aoa_to_sheet(n)}else fi(n)&&(e=a.table_to_sheet(n,{raw:!0}))}catch(n){return{error:n}}return e}function xi(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data";if(!St(n)&&!fi(n))return{error:"data is not an array or element"};jt(e)||(e="data");let a=null,r=ki(n);return Et(r,"error")?r:(a=function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data";if(!Ct(n))return{error:"sheet is not an object"};jt(e)||(e="data");let a=new function n(){if(!(this instanceof n))return new n;this.SheetNames=[],this.Sheets={}};return a.SheetNames.push(e),a.Sheets[e]=n,a}(r,e),Et(a,"error"),a)}async function zi(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data",a=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;Bt(r)||(r=["https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]),await ui(r);let o=function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data",a=arguments.length>2?arguments[2]:void 0;if(!jt(n)){let e="no filename";return console.log(e,n),{error:e}}if(jt(e)||(e="data"),!St(a)&&!fi(a)){let n="data is not an array or element";return console.log(n,a),{error:n}}St(a)&&Pt(ca(a,0,null))&&(a=bi(a));let r=xi(a,e);if(ca(r,"error"))return console.log(r.error),r.error;let o=yi();if(vi()){let e=o.write(r,{bookType:"xlsx",bookSST:!1,type:"array"});hi(n,new Blob([e]))}else o.writeFile(r,n);return"ok"}(n,e,a);return""!==ca(o,"error","")?Promise.reject(o.error):o}let Mi="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),Ci=Mi.length;function Di(n){function e(n){n.parentNode.removeChild(n)}if(fi(n)){return void e(n)}if(!jt(n))return;let a=function(n){return document.querySelectorAll(n)}(n);Ca(a,(function(n){e(n)}))}function ji(n){return!Nt(n)}let Ai=[{name:"pic",group:"image",acp:"image/*",exec:"imageviwer"},{name:"xml",group:"data",acp:"text/xml",exec:"textviwer"},{name:"htm",group:"docums",acp:"text/html",exec:"browser"},{name:"html",group:"docums",acp:"text/html",exec:"browser"},{name:"json",group:"data",acp:"application/json",exec:"textviwer"},{name:"geojson",group:"data",acp:"application/geo+json",exec:"textviwer"},{name:"txt",group:"data",acp:"text/plain",exec:"textviwer"},{name:"csv",group:"data",acp:"text/csv",exec:"excel"},{name:"dat",group:"data",acp:"application/octet-stream",exec:"binaryviwer"},{name:"7z",group:"compress",acp:"application/x-7z-compressed",exec:"compressor"},{name:"bzip",group:"compress",acp:"application/x-bzip",exec:"7z"},{name:"bzip2",group:"compress",acp:"application/x-bzip2",exec:"compressor"},{name:"bz2",group:"compress",acp:"application/x-bzip2",exec:"compressor"},{name:"ace",group:"compress",acp:"application/x-ace-compressed",exec:"compressor"},{name:"Z",group:"compress",acp:"application/x-compress",exec:"compressor"},{name:"lzh",group:"compress",acp:"application/x-lzh-compressed",exec:"compressor"},{name:"lz",group:"compress",acp:"application/x-lzip",exec:"compressor"},{name:"rar",group:"compress",acp:"application/x-rar-compressed",exec:"compressor"},{name:"tar",group:"compress",acp:"application/x-tar",exec:"compressor"},{name:"ar",group:"compress",acp:"application/x-unix-archive",exec:"compressor"},{name:"zip",group:"compress",acp:"application/zip",exec:"compressor"},{name:"gz",group:"compress",acp:"application/gzip",exec:"compressor"},{name:"avro",group:"",acp:"application/avro",exec:""},{name:"dcm",group:"",acp:"application/dicom",exec:""},{name:"eps",group:"",acp:"application/eps",exec:""},{name:"epub",group:"",acp:"application/epub+zip",exec:""},{name:"class",group:"",acp:"application/java-vm",exec:""},{name:"mxf",group:"",acp:"application/mxf",exec:""},{name:"ogx",group:"",acp:"application/ogg",exec:""},{name:"pdf",group:"docums",acp:"application/pdf",exec:"acrobat"},{name:"pgp",group:"",acp:"application/pgp-encrypted",exec:""},{name:"ps",group:"",acp:"application/postscript",exec:""},{name:"ai",group:"",acp:"application/postscript",exec:""},{name:"rtf",group:"docums",acp:"application/rtf",exec:"word"},{name:"icc",group:"",acp:"application/vnd.iccprofile",exec:""},{name:"asf",group:"",acp:"application/vnd.ms-asf",exec:"",msg:"asf的acp可能為application/vnd.ms-asf或audio/x-ms-asf或video/x-ms-asf"},{name:"cab",group:"",acp:"application/vnd.ms-cab-compressed",exec:""},{name:"eot",group:"",acp:"application/vnd.ms-fontobject",exec:""},{name:"chm",group:"",acp:"application/vnd.ms-htmlhelp",exec:""},{name:"pst",group:"",acp:"application/vnd.ms-outlook",exec:""},{name:"odp",group:"docums",acp:"application/vnd.oasis.opendocument.presentation",exec:"powerpoint"},{name:"ods",group:"docums",acp:"application/vnd.oasis.opendocument.spreadsheet",exec:"excel"},{name:"odt",group:"docums",acp:"application/vnd.oasis.opendocument.text",exec:"word"},{name:"ppt",group:"docums",acp:"application/vnd.ms-powerpoint",exec:"powerpoint"},{name:"pptx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.presentationml.presentation",exec:"powerpoint"},{name:"xls",group:"docums",acp:"application/vnd.ms-excel",exec:"excel"},{name:"xlsx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",exec:"excel"},{name:"doc",group:"docums",acp:"application/msword",exec:"word"},{name:"docx",group:"docums",acp:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",exec:"word"},{name:"skp",group:"",acp:"application/vnd.sketchup.skp",exec:""},{name:"pcap",group:"",acp:"application/vnd.tcpdump.pcap",exec:""},{name:"wasm",group:"",acp:"application/wasm",exec:""},{name:"arrow",group:"",acp:"application/x-apache-arrow",exec:""},{name:"dmg",group:"",acp:"application/x-apple-diskimage",exec:""},{name:"arj",group:"",acp:"application/x-arj",exec:""},{name:"asar",group:"",acp:"application/x-asar",exec:""},{name:"blend",group:"",acp:"application/x-blender",exec:"blender"},{name:"cfb",group:"",acp:"application/x-cfb",exec:""},{name:"cpio",group:"",acp:"application/x-cpio",exec:""},{name:"deb",group:"",acp:"application/x-deb",exec:""},{name:"elf",group:"",acp:"application/x-elf",exec:""},{name:"shp",group:"",acp:"application/x-esri-shape",exec:""},{name:"crx",group:"",acp:"application/x-google-chrome-extension",exec:""},{name:"indd",group:"",acp:"application/x-indesign",exec:""},{name:"macho",group:"",acp:"application/x-mach-binary",exec:""},{name:"mie",group:"",acp:"application/x-mie",exec:""},{name:"mobi",group:"",acp:"application/x-mobipocket-ebook",exec:""},{name:"exe",group:"",acp:"application/x-msdownload",exec:""},{name:"nes",group:"",acp:"application/x-nintendo-nes-rom",exec:""},{name:"parquet",group:"",acp:"application/x-parquet",exec:""},{name:"rpm",group:"",acp:"application/x-rpm",exec:""},{name:"swf",group:"",acp:"application/x-shockwave-flash",exec:""},{name:"sqlite",group:"",acp:"application/x-sqlite3",exec:""},{name:"xpi",group:"",acp:"application/x-xpinstall",exec:""},{name:"xz",group:"",acp:"application/x-xz",exec:""},{name:"alias",group:"",acp:"application/x.apple.alias",exec:""},{name:"fbx",group:"",acp:"application/x.autodesk.fbx",exec:""},{name:"lnk",group:"",acp:"application/x.ms.shortcut",exec:""},{name:"zst",group:"",acp:"application/zstd",exec:""},{name:"aac",group:"audio",acp:"audio/aac",exec:"audioplayer"},{name:"aif",group:"audio",acp:"audio/aiff",exec:"audioplayer"},{name:"amr",group:"audio",acp:"audio/amr",exec:"audioplayer"},{name:"ape",group:"audio",acp:"audio/ape",exec:"audioplayer"},{name:"mid",group:"audio",acp:"audio/midi",exec:"audioplayer"},{name:"m4b",group:"audio",acp:"audio/mp4",exec:"audioplayer"},{name:"f4a",group:"audio",acp:"audio/mp4",exec:"audioplayer"},{name:"f4b",group:"audio",acp:"audio/mp4",exec:"audioplayer"},{name:"mp3",group:"audio",acp:"audio/mpeg",exec:"audioplayer"},{name:"mp2",group:"audio",acp:"audio/mpeg",exec:"audioplayer"},{name:"mp1",group:"audio",acp:"audio/mpeg",exec:"audioplayer"},{name:"oga",group:"audio",acp:"audio/ogg",exec:"audioplayer"},{name:"spx",group:"audio",acp:"audio/ogg",exec:"audioplayer"},{name:"ogg",group:"audio",acp:"audio/ogg",exec:"audioplayer"},{name:"opus",group:"audio",acp:"audio/opus",exec:"audioplayer"},{name:"qcp",group:"audio",acp:"audio/qcelp",exec:"audioplayer"},{name:"ac3",group:"audio",acp:"audio/vnd.dolby.dd-raw",exec:"audioplayer"},{name:"wav",group:"audio",acp:"audio/wav",exec:"audioplayer"},{name:"wv",group:"audio",acp:"audio/wavpack",exec:"audioplayer"},{name:"dsf",group:"audio",acp:"audio/x-dsf",exec:"audioplayer"},{name:"flac",group:"audio",acp:"audio/x-flac",exec:"audioplayer"},{name:"it",group:"audio",acp:"audio/x-it",exec:"audioplayer"},{name:"m4a",group:"audio",acp:"audio/x-m4a",exec:"audioplayer"},{name:"mpc",group:"audio",acp:"audio/x-musepack",exec:"audioplayer"},{name:"s3m",group:"audio",acp:"audio/x-s3m",exec:"audioplayer"},{name:"voc",group:"audio",acp:"audio/x-voc",exec:"audioplayer"},{name:"xm",group:"audio",acp:"audio/x-xm",exec:"audioplayer"},{name:"otf",group:"",acp:"font/otf",exec:""},{name:"ttf",group:"",acp:"font/ttf",exec:""},{name:"woff",group:"",acp:"font/woff",exec:""},{name:"woff2",group:"",acp:"font/woff2",exec:""},{name:"apng",group:"image",acp:"image/apng",exec:"imageviwer"},{name:"avif",group:"image",acp:"image/avif",exec:"imageviwer"},{name:"bmp",group:"image",acp:"image/bmp",exec:"imageviwer"},{name:"bpg",group:"image",acp:"image/bpg",exec:"imageviwer"},{name:"flif",group:"image",acp:"image/flif",exec:"imageviwer"},{name:"gif",group:"image",acp:"image/gif",exec:"imageviwer"},{name:"heic",group:"image",acp:"image/heif",exec:"imageviwer"},{name:"icns",group:"image",acp:"image/icns",exec:"imageviwer"},{name:"j2c",group:"image",acp:"image/j2c",exec:"imageviwer"},{name:"jls",group:"image",acp:"image/jls",exec:"imageviwer"},{name:"jp2",group:"image",acp:"image/jp2",exec:"imageviwer"},{name:"jpg",group:"image",acp:"image/jpeg",exec:"imageviwer"},{name:"jpm",group:"image",acp:"image/jpm",exec:"imageviwer"},{name:"jpx",group:"image",acp:"image/jpx",exec:"imageviwer"},{name:"jxl",group:"image",acp:"image/jxl",exec:"imageviwer"},{name:"ktx",group:"image",acp:"image/ktx",exec:"imageviwer"},{name:"mj2",group:"image",acp:"image/mj2",exec:"imageviwer"},{name:"png",group:"image",acp:"image/png",exec:"imageviwer"},{name:"tif",group:"image",acp:"image/tiff",exec:"imageviwer"},{name:"psd",group:"image",acp:"image/vnd.adobe.photoshop",exec:"imageviwer"},{name:"dwg",group:"image",acp:"image/vnd.dwg",exec:"imageviwer"},{name:"jxr",group:"image",acp:"image/vnd.ms-photo",exec:"imageviwer"},{name:"webp",group:"image",acp:"image/webp",exec:"imageviwer"},{name:"dng",group:"image",acp:"image/x-adobe-dng",exec:"imageviwer"},{name:"cr2",group:"image",acp:"image/x-canon-cr2",exec:"imageviwer"},{name:"cr3",group:"image",acp:"image/x-canon-cr3",exec:"imageviwer"},{name:"raf",group:"image",acp:"image/x-fujifilm-raf",exec:"imageviwer"},{name:"ico",group:"image",acp:"image/x-icon",exec:"imageviwer"},{name:"cur",group:"image",acp:"image/x-icon",exec:"imageviwer"},{name:"nef",group:"image",acp:"image/x-nikon-nef",exec:"imageviwer"},{name:"orf",group:"image",acp:"image/x-olympus-orf",exec:"imageviwer"},{name:"rw2",group:"image",acp:"image/x-panasonic-rw2",exec:"imageviwer"},{name:"arw",group:"image",acp:"image/x-sony-arw",exec:"imageviwer"},{name:"xcf",group:"image",acp:"image/x-xcf",exec:"imageviwer"},{name:"3mf",group:"",acp:"model/3mf",exec:""},{name:"glb",group:"",acp:"model/gltf-binary",exec:""},{name:"stl",group:"",acp:"model/stl",exec:""},{name:"ics",group:"",acp:"text/calendar",exec:""},{name:"vcf",group:"",acp:"text/vcard",exec:""},{name:"3gp",group:"video",acp:"video/3gpp",exec:"videoplayer"},{name:"3g2",group:"video",acp:"video/3gpp2",exec:"videoplayer"},{name:"m2p",group:"video",acp:"video/MP2P",exec:"videoplayer"},{name:"vob",group:"video",acp:"video/MP2P",exec:"videoplayer"},{name:"sub",group:"video",acp:"video/MP2P",exec:"videoplayer",msg:"與字幕檔衝突"},{name:"mts",group:"video",acp:"video/mp2t",exec:"videoplayer"},{name:"m4p",group:"video",acp:"video/mp4",exec:"videoplayer"},{name:"f4v",group:"video",acp:"video/mp4",exec:"videoplayer"},{name:"f4p",group:"video",acp:"video/mp4",exec:"videoplayer"},{name:"mp4",group:"video",acp:"video/mp4",exec:"videoplayer"},{name:"mpg",group:"video",acp:"video/mpeg",exec:"videoplayer",msg:"mpg可能為mpeg或video/MP1S或video/MP2S"},{name:"ogv",group:"video",acp:"video/ogg",exec:"videoplayer"},{name:"ogm",group:"video",acp:"video/ogg",exec:"videoplayer"},{name:"mov",group:"video",acp:"video/quicktime",exec:"videoplayer"},{name:"avi",group:"video",acp:"video/vnd.avi",exec:"videoplayer"},{name:"webm",group:"video",acp:"video/webm",exec:"videoplayer"},{name:"flv",group:"video",acp:"video/x-flv",exec:"videoplayer"},{name:"m4v",group:"video",acp:"video/x-m4v",exec:"videoplayer"},{name:"mkv",group:"video",acp:"video/x-matroska",exec:"videoplayer"}];function Ti(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(""!==n&&"name"!==n&&"group"!==n&&"acp"!==n&&"exec"!==n)return[];let e=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=null;return jt(n)?(e=pr(Ai,{name:n}),Pt(e)||(e=null)):e=Ai,e}();if(""===n)return e;let a={};return Ca(e,(function(e){let r=e[n];Et(a,r)||(a[r]=[]),a[r].push(e)})),a}function Ei(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*";if("*"===n)return n;if(!Dt(n)&&!Bt(n))return"*";"common"===n&&(n=["docums","compress","image","data"]);let e=Ti();function a(n){return ri(za(n,"acp"))}Dt(n)&&(n=[n]);let r="";if(Bt(n)){let o=za(n,(function(n){return function(n){return a(Ya(e,{group:n}))}(n)})),t=mt(o,za(n,(function(n){return a(Ya(e,{name:n}))})));t=Ya(t,ji),r=oo(t,",")}return r}function Si(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=ca(e,"multiple");Wt(a)||(a=!1);let r=ca(e,"entireHierarchy");Wt(r)||(r=!1),r&&!a&&(a=!0);let o=ca(e,"sizelimit");Tt(o)||(o=1e3),o=_t(o);let t=It(),i="drf"+function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,e=[];n=ii(n)?Xt(n):32;for(let a=0;a<n;a++)e[a]=Mi[0|Math.random()*Ci];return e.join("")}(),l="GrpDomReadFile";Di(`[name=${l}]`);let g=Ei(n),c=`<div name="${l}" style="position:relative; width:0px; height:0px; overflow:hidden;"><input id="${i}" type="file" accept="${g}" ${a?"multiple":""} ${r?"webkitdirectory":""} style="opacity:0; position:absolute; top:-10000px; left:-10000px;"></div>`;!function(n,e){if(!fi(n))return"invalid eleParent";if(Dt(e))n.insertAdjacentHTML("beforeend",e);else{if(!fi(e))return"invalid itemChild";n.appendChild(e)}}(document.querySelector("body"),c);let d=(p="#"+i,document.querySelector(p));var p;let s=!1;function u(n){s=!0;let e=function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;e=_t(e),e<=0&&(e=1e3);let a={},r=[];return Ca(ca(n,"files",[]),(function(n,o){n.size/1024/1024>e&&(a[o]=`檔案大小超過上限${e}mb`),r.push(n)})),{files:r,errs:a}}(this,o);t.resolve(e),d.removeEventListener("change",u),r||window.removeEventListener("focus",f),Di(`[name=${l}]`)}function f(n){setTimeout((()=>{s||u()}),300)}return d.addEventListener("change",u,!0),r||window.addEventListener("focus",f),function(n,e){let a=new MouseEvent(e,{view:window,bubbles:!0,cancelable:!0});n.dispatchEvent(a)}(d,"click"),t}function Oi(n){if(!vi())return Promise.reject("no window");try{return function(n){return n.arrayBuffer()}(n)}catch(e){return function(n){let e=It(),a=new FileReader;return a.onload=function(){let n=a.result;e.resolve(n)},a.onerror=function(n){e.reject(n)},a.readAsArrayBuffer(n),e}(n)}}function Ni(n){let e=za(n,(function(n){return function(n){let e=It();return Oi(n).then((n=>{let a=new Uint8Array(n);e.resolve(a)})).catch((n=>{e.reject(n)})),e}(n)}));return Promise.all(e)}function Li(n,e,a){if(!jt(n))return"";if(!jt(e))return"";if(!Dt(a))return"";return String(n).replaceAll(e,a)}function Hi(n){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!Bt(n)){return{error:"no data"}}let a=null;try{a=function(n){let e=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?"":"\ufeff";return Ca(n,(n=>{let a=[];Ca(n,(n=>{Dt(n)?(n=Li(n,"\r\n",""),n=Li(n,"\r",""),n=`"${n=Li(n,"\n","")}"`):n=Wt(n)?n?"true":"false":Zt(n),a.push(n)})),e+=oo(a,",")+"\r\n"})),e}(n,e)}catch(n){return{error:n}}return a}function Ii(n){return Wt(n)?n?"true":"false":Zt(n)}function Fi(n,e){let a=[];return n.SheetNames.forEach((function(r){let o=yi().utils.sheet_to_json(n.Sheets[r],{header:"A",defval:"",blankrows:!0});o=za(o,(n=>Mo(n))),e&&(o=za(o,(n=>za(n,(n=>Ii(n)))))),a.push({sheetname:r,data:o})})),a}function Ri(n,e){let a=ca(e,"fmt","ltdt");if(!Lt(["ltdt","csv","array"],a))return{error:"opt.fmt is not one of 'ltdt', 'csv', 'array'"};let r,o=ca(e,"valueToString",!0);if(!Wt(o))return{error:"opt.valueToString is not a boolean"};try{r=yi().read(n,{type:"buffer"})}catch(n){return console.log("error: ",n),{error:"can not read data from u8a"}}let t=null;try{"ltdt"===a?t=function(n,e){let a=[];return n.SheetNames.forEach((function(r){let o=yi().utils.sheet_to_json(n.Sheets[r]);e&&(o=za(o,(n=>(Ca(n,((e,a)=>{n[a]=Ii(e)})),n)))),a.push({sheetname:r,data:o})})),a}(r,o):"array"===a?t=Fi(r,o):"csv"===a&&(t=function(n,e){let a=Fi(n,e);return Ca(a,((n,e)=>{a[e].data=Hi(n.data,!1)})),a}(r,o))}catch(n){return console.log("error: ",n),{error:"can not convert data"}}return t}vi()&&function(){try{return new MouseEvent("MouseEventPolyfillTest"),!1}catch(n){}let n=function(n,e){e=e||{bubbles:!1,cancelable:!1};let a=document.createEvent("MouseEvent");return a.initMouseEvent(n,e.bubbles,e.cancelable,window,0,e.screenX||0,e.screenY||0,e.clientX||0,e.clientY||0,e.ctrlKey||!1,e.altKey||!1,e.shiftKey||!1,e.metaKey||!1,e.button||0,e.relatedTarget||null),a};n.prototype=Event.prototype,window.MouseEvent=n}();var Pi="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Bi={};var Ui,Vi={},Wi={get exports(){return Vi},set exports(n){Vi=n}};function _i(){return Ui||(Ui=1,function(n,e){var a;n.exports=(a=a||function(n,e){var a;if("undefined"!=typeof window&&window.crypto&&(a=window.crypto),"undefined"!=typeof self&&self.crypto&&(a=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(a=globalThis.crypto),!a&&"undefined"!=typeof window&&window.msCrypto&&(a=window.msCrypto),!a&&void 0!==Pi&&Pi.crypto&&(a=Pi.crypto),!a)try{a=require("crypto")}catch(n){}var r=function(){if(a){if("function"==typeof a.getRandomValues)try{return a.getRandomValues(new Uint32Array(1))[0]}catch(n){}if("function"==typeof a.randomBytes)try{return a.randomBytes(4).readInt32LE()}catch(n){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function n(){}return function(e){var a;return n.prototype=e,a=new n,n.prototype=null,a}}(),t={},i=t.lib={},l=i.Base={extend:function(n){var e=o(this);return n&&e.mixIn(n),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var e in n)n.hasOwnProperty(e)&&(this[e]=n[e]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}},g=i.WordArray=l.extend({init:function(n,a){n=this.words=n||[],this.sigBytes=a!=e?a:4*n.length},toString:function(n){return(n||d).stringify(this)},concat:function(n){var e=this.words,a=n.words,r=this.sigBytes,o=n.sigBytes;if(this.clamp(),r%4)for(var t=0;t<o;t++){var i=a[t>>>2]>>>24-t%4*8&255;e[r+t>>>2]|=i<<24-(r+t)%4*8}else for(var l=0;l<o;l+=4)e[r+l>>>2]=a[l>>>2];return this.sigBytes+=o,this},clamp:function(){var e=this.words,a=this.sigBytes;e[a>>>2]&=4294967295<<32-a%4*8,e.length=n.ceil(a/4)},clone:function(){var n=l.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var e=[],a=0;a<n;a+=4)e.push(r());return new g.init(e,n)}}),c=t.enc={},d=c.Hex={stringify:function(n){for(var e=n.words,a=n.sigBytes,r=[],o=0;o<a;o++){var t=e[o>>>2]>>>24-o%4*8&255;r.push((t>>>4).toString(16)),r.push((15&t).toString(16))}return r.join("")},parse:function(n){for(var e=n.length,a=[],r=0;r<e;r+=2)a[r>>>3]|=parseInt(n.substr(r,2),16)<<24-r%8*4;return new g.init(a,e/2)}},p=c.Latin1={stringify:function(n){for(var e=n.words,a=n.sigBytes,r=[],o=0;o<a;o++){var t=e[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(t))}return r.join("")},parse:function(n){for(var e=n.length,a=[],r=0;r<e;r++)a[r>>>2]|=(255&n.charCodeAt(r))<<24-r%4*8;return new g.init(a,e)}},s=c.Utf8={stringify:function(n){try{return decodeURIComponent(escape(p.stringify(n)))}catch(n){throw new Error("Malformed UTF-8 data")}},parse:function(n){return p.parse(unescape(encodeURIComponent(n)))}},u=i.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new g.init,this._nDataBytes=0},_append:function(n){"string"==typeof n&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(e){var a,r=this._data,o=r.words,t=r.sigBytes,i=this.blockSize,l=t/(4*i),c=(l=e?n.ceil(l):n.max((0|l)-this._minBufferSize,0))*i,d=n.min(4*c,t);if(c){for(var p=0;p<c;p+=i)this._doProcessBlock(o,p);a=o.splice(0,c),r.sigBytes-=d}return new g.init(a,d)},clone:function(){var n=l.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});i.Hasher=u.extend({cfg:l.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){u.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){return n&&this._append(n),this._doFinalize()},blockSize:16,_createHelper:function(n){return function(e,a){return new n.init(a).finalize(e)}},_createHmacHelper:function(n){return function(e,a){return new f.HMAC.init(n,a).finalize(e)}}});var f=t.algo={};return t}(Math),a)}(Wi)),Vi}!function(n,e){var a;n.exports=(a=_i(),function(n){var e=a,r=e.lib,o=r.WordArray,t=r.Hasher,i=e.algo,l=[];!function(){for(var e=0;e<64;e++)l[e]=4294967296*n.abs(n.sin(e+1))|0}();var g=i.MD5=t.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(n,e){for(var a=0;a<16;a++){var r=e+a,o=n[r];n[r]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var t=this._hash.words,i=n[e+0],g=n[e+1],u=n[e+2],f=n[e+3],v=n[e+4],h=n[e+5],m=n[e+6],w=n[e+7],b=n[e+8],y=n[e+9],k=n[e+10],x=n[e+11],z=n[e+12],M=n[e+13],C=n[e+14],D=n[e+15],j=t[0],A=t[1],T=t[2],E=t[3];j=c(j,A,T,E,i,7,l[0]),E=c(E,j,A,T,g,12,l[1]),T=c(T,E,j,A,u,17,l[2]),A=c(A,T,E,j,f,22,l[3]),j=c(j,A,T,E,v,7,l[4]),E=c(E,j,A,T,h,12,l[5]),T=c(T,E,j,A,m,17,l[6]),A=c(A,T,E,j,w,22,l[7]),j=c(j,A,T,E,b,7,l[8]),E=c(E,j,A,T,y,12,l[9]),T=c(T,E,j,A,k,17,l[10]),A=c(A,T,E,j,x,22,l[11]),j=c(j,A,T,E,z,7,l[12]),E=c(E,j,A,T,M,12,l[13]),T=c(T,E,j,A,C,17,l[14]),j=d(j,A=c(A,T,E,j,D,22,l[15]),T,E,g,5,l[16]),E=d(E,j,A,T,m,9,l[17]),T=d(T,E,j,A,x,14,l[18]),A=d(A,T,E,j,i,20,l[19]),j=d(j,A,T,E,h,5,l[20]),E=d(E,j,A,T,k,9,l[21]),T=d(T,E,j,A,D,14,l[22]),A=d(A,T,E,j,v,20,l[23]),j=d(j,A,T,E,y,5,l[24]),E=d(E,j,A,T,C,9,l[25]),T=d(T,E,j,A,f,14,l[26]),A=d(A,T,E,j,b,20,l[27]),j=d(j,A,T,E,M,5,l[28]),E=d(E,j,A,T,u,9,l[29]),T=d(T,E,j,A,w,14,l[30]),j=p(j,A=d(A,T,E,j,z,20,l[31]),T,E,h,4,l[32]),E=p(E,j,A,T,b,11,l[33]),T=p(T,E,j,A,x,16,l[34]),A=p(A,T,E,j,C,23,l[35]),j=p(j,A,T,E,g,4,l[36]),E=p(E,j,A,T,v,11,l[37]),T=p(T,E,j,A,w,16,l[38]),A=p(A,T,E,j,k,23,l[39]),j=p(j,A,T,E,M,4,l[40]),E=p(E,j,A,T,i,11,l[41]),T=p(T,E,j,A,f,16,l[42]),A=p(A,T,E,j,m,23,l[43]),j=p(j,A,T,E,y,4,l[44]),E=p(E,j,A,T,z,11,l[45]),T=p(T,E,j,A,D,16,l[46]),j=s(j,A=p(A,T,E,j,u,23,l[47]),T,E,i,6,l[48]),E=s(E,j,A,T,w,10,l[49]),T=s(T,E,j,A,C,15,l[50]),A=s(A,T,E,j,h,21,l[51]),j=s(j,A,T,E,z,6,l[52]),E=s(E,j,A,T,f,10,l[53]),T=s(T,E,j,A,k,15,l[54]),A=s(A,T,E,j,g,21,l[55]),j=s(j,A,T,E,b,6,l[56]),E=s(E,j,A,T,D,10,l[57]),T=s(T,E,j,A,m,15,l[58]),A=s(A,T,E,j,M,21,l[59]),j=s(j,A,T,E,v,6,l[60]),E=s(E,j,A,T,x,10,l[61]),T=s(T,E,j,A,u,15,l[62]),A=s(A,T,E,j,y,21,l[63]),t[0]=t[0]+j|0,t[1]=t[1]+A|0,t[2]=t[2]+T|0,t[3]=t[3]+E|0},_doFinalize:function(){var e=this._data,a=e.words,r=8*this._nDataBytes,o=8*e.sigBytes;a[o>>>5]|=128<<24-o%32;var t=n.floor(r/4294967296),i=r;a[15+(o+64>>>9<<4)]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),a[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(a.length+1),this._process();for(var l=this._hash,g=l.words,c=0;c<4;c++){var d=g[c];g[c]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8)}return l},clone:function(){var n=t.clone.call(this);return n._hash=this._hash.clone(),n}});function c(n,e,a,r,o,t,i){var l=n+(e&a|~e&r)+o+i;return(l<<t|l>>>32-t)+e}function d(n,e,a,r,o,t,i){var l=n+(e&r|a&~r)+o+i;return(l<<t|l>>>32-t)+e}function p(n,e,a,r,o,t,i){var l=n+(e^a^r)+o+i;return(l<<t|l>>>32-t)+e}function s(n,e,a,r,o,t,i){var l=n+(a^(e|~r))+o+i;return(l<<t|l>>>32-t)+e}e.MD5=t._createHelper(g),e.HmacMD5=t._createHmacHelper(g)}(Math),a.MD5)}({get exports(){return Bi},set exports(n){Bi=n}});var Gi=Bi,Qi={};!function(n,e){var a;n.exports=(a=_i(),function(){var n=a,e=n.lib.WordArray;function r(n,a,r){for(var o=[],t=0,i=0;i<a;i++)if(i%4){var l=r[n.charCodeAt(i-1)]<<i%4*2|r[n.charCodeAt(i)]>>>6-i%4*2;o[t>>>2]|=l<<24-t%4*8,t++}return e.create(o,t)}n.enc.Base64={stringify:function(n){var e=n.words,a=n.sigBytes,r=this._map;n.clamp();for(var o=[],t=0;t<a;t+=3)for(var i=(e[t>>>2]>>>24-t%4*8&255)<<16|(e[t+1>>>2]>>>24-(t+1)%4*8&255)<<8|e[t+2>>>2]>>>24-(t+2)%4*8&255,l=0;l<4&&t+.75*l<a;l++)o.push(r.charAt(i>>>6*(3-l)&63));var g=r.charAt(64);if(g)for(;o.length%4;)o.push(g);return o.join("")},parse:function(n){var e=n.length,a=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var t=0;t<a.length;t++)o[a.charCodeAt(t)]=t}var i=a.charAt(64);if(i){var l=n.indexOf(i);-1!==l&&(e=l)}return r(n,e,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),a.enc.Base64)}({get exports(){return Qi},set exports(n){Qi=n}});var Yi=Qi,Ki={};!function(n,e){n.exports=_i().enc.Hex}({get exports(){return Ki},set exports(n){Ki=n}});var qi=Ki;function Xi(n){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!jt(n))return"";if(!Wt(e))return"";let a=Gi(n),r="";return r=e?a.toString(Yi):a.toString(qi),r}function Ji(){return new function(n){let e=[],a=null,r=null;return ii(n)||(n=300),n=Xt(n),function(o){if(Ft(o)){r=Date.now();for(var t=arguments.length,i=new Array(t>1?t-1:0),l=1;l<t;l++)i[l-1]=arguments[l];e.push({func:o,input:i}),null===a&&(a=setInterval((()=>{if(Date.now()-r>n){let n=e.pop();e=[],n.func(...n.input)}0===e.length&&(clearInterval(a),a=null)}),10))}else console.log("func is not a function")}}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:300)}function Zi(n){return Zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Zi(n)}function $i(n){var e=function(n,e){if("object"!==Zi(n)||null===n)return n;var a=n[Symbol.toPrimitive];if(void 0!==a){var r=a.call(n,e||"default");if("object"!==Zi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(n)}(n,"string");return"symbol"===Zi(e)?e:String(e)}function nl(n,e,a){return(e=$i(e))in n?Object.defineProperty(n,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[e]=a,n}var el={};!function(n){var e=Object.prototype.hasOwnProperty,a="~";function r(){}function o(n,e,a){this.fn=n,this.context=e,this.once=a||!1}function t(n,e,r,t,i){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new o(r,t||n,i),g=a?a+e:e;return n._events[g]?n._events[g].fn?n._events[g]=[n._events[g],l]:n._events[g].push(l):(n._events[g]=l,n._eventsCount++),n}function i(n,e){0==--n._eventsCount?n._events=new r:delete n._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(a=!1)),l.prototype.eventNames=function(){var n,r,o=[];if(0===this._eventsCount)return o;for(r in n=this._events)e.call(n,r)&&o.push(a?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(n)):o},l.prototype.listeners=function(n){var e=a?a+n:n,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,t=r.length,i=new Array(t);o<t;o++)i[o]=r[o].fn;return i},l.prototype.listenerCount=function(n){var e=a?a+n:n,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(n,e,r,o,t,i){var l=a?a+n:n;if(!this._events[l])return!1;var g,c,d=this._events[l],p=arguments.length;if(d.fn){switch(d.once&&this.removeListener(n,d.fn,void 0,!0),p){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,e),!0;case 3:return d.fn.call(d.context,e,r),!0;case 4:return d.fn.call(d.context,e,r,o),!0;case 5:return d.fn.call(d.context,e,r,o,t),!0;case 6:return d.fn.call(d.context,e,r,o,t,i),!0}for(c=1,g=new Array(p-1);c<p;c++)g[c-1]=arguments[c];d.fn.apply(d.context,g)}else{var s,u=d.length;for(c=0;c<u;c++)switch(d[c].once&&this.removeListener(n,d[c].fn,void 0,!0),p){case 1:d[c].fn.call(d[c].context);break;case 2:d[c].fn.call(d[c].context,e);break;case 3:d[c].fn.call(d[c].context,e,r);break;case 4:d[c].fn.call(d[c].context,e,r,o);break;default:if(!g)for(s=1,g=new Array(p-1);s<p;s++)g[s-1]=arguments[s];d[c].fn.apply(d[c].context,g)}}return!0},l.prototype.on=function(n,e,a){return t(this,n,e,a,!1)},l.prototype.once=function(n,e,a){return t(this,n,e,a,!0)},l.prototype.removeListener=function(n,e,r,o){var t=a?a+n:n;if(!this._events[t])return this;if(!e)return i(this,t),this;var l=this._events[t];if(l.fn)l.fn!==e||o&&!l.once||r&&l.context!==r||i(this,t);else{for(var g=0,c=[],d=l.length;g<d;g++)(l[g].fn!==e||o&&!l[g].once||r&&l[g].context!==r)&&c.push(l[g]);c.length?this._events[t]=1===c.length?c[0]:c:i(this,t)}return this},l.prototype.removeAllListeners=function(n){var e;return n?(e=a?a+n:n,this._events[e]&&i(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=a,l.EventEmitter=l,n.exports=l}({get exports(){return el},set exports(n){el=n}});var al=el;function rl(n,e){var a=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.push.apply(a,r)}return a}function ol(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=ca(e,"timeInterval",null);ii(a)||(a=20);let r=ca(e,"tolerancePixel",null);ii(r)||(r=1);let o,t=new al,i={offsetWidth:0,offsetHeight:0,clientWidth:0,clientHeight:0,windowWidth:0,windowHeight:0},l=ut(i),g={width:"",height:""};if(!Ft(n))return console.log("invalid f",n),null;o=setInterval((()=>{let e=n();if(e){let n={offsetWidth:e.offsetWidth,offsetHeight:e.offsetHeight,clientWidth:e.clientWidth,clientHeight:e.clientHeight,windowWidth:window.innerWidth,windowHeight:window.innerHeight},a=l.offsetWidth-n.offsetWidth,o=l.offsetHeight-n.offsetHeight,c=Math.abs(a)>r,d=Math.abs(o)>r,p="";a>0?p="smaller":a<0&&(p="larger");let s="";if(o>0?s="smaller":o<0&&(s="larger"),g={width:p,height:s},c||d){let a=function(n){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?rl(Object(a),!0).forEach((function(e){nl(n,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(a)):rl(Object(a)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(a,e))}))}return n}({},l);setTimeout((()=>{n.offsetWidth>0&&n.offsetHeight>0&&(t.emit("resize",{sold:a,snew:n,smode:g,ele:e}),t.emit("resizeWithWindow",{sold:a,snew:n,smode:g,ele:e,from:"dom"}))}),1)}i=l,l=n}}),a);let c=n=>{t.emit("resizeWithWindow",{sold:i,snew:l,smode:g,from:"window"})};return window.addEventListener("resize",c),t.clear=()=>{clearInterval(o),window.removeEventListener("resize",c)},t}var tl="top",il="bottom",ll="right",gl="left",cl="auto",dl=[tl,il,ll,gl],pl="start",sl="end",ul="clippingParents",fl="viewport",vl="popper",hl="reference",ml=dl.reduce((function(n,e){return n.concat([e+"-"+pl,e+"-"+sl])}),[]),wl=[].concat(dl,[cl]).reduce((function(n,e){return n.concat([e,e+"-"+pl,e+"-"+sl])}),[]),bl=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function yl(n){return n?(n.nodeName||"").toLowerCase():null}function kl(n){if(null==n)return window;if("[object Window]"!==n.toString()){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function xl(n){return n instanceof kl(n).Element||n instanceof Element}function zl(n){return n instanceof kl(n).HTMLElement||n instanceof HTMLElement}function Ml(n){return"undefined"!=typeof ShadowRoot&&(n instanceof kl(n).ShadowRoot||n instanceof ShadowRoot)}var Cl={name:"applyStyles",enabled:!0,phase:"write",fn:function(n){var e=n.state;Object.keys(e.elements).forEach((function(n){var a=e.styles[n]||{},r=e.attributes[n]||{},o=e.elements[n];zl(o)&&yl(o)&&(Object.assign(o.style,a),Object.keys(r).forEach((function(n){var e=r[n];!1===e?o.removeAttribute(n):o.setAttribute(n,!0===e?"":e)})))}))},effect:function(n){var e=n.state,a={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,a.popper),e.styles=a,e.elements.arrow&&Object.assign(e.elements.arrow.style,a.arrow),function(){Object.keys(e.elements).forEach((function(n){var r=e.elements[n],o=e.attributes[n]||{},t=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:a[n]).reduce((function(n,e){return n[e]="",n}),{});zl(r)&&yl(r)&&(Object.assign(r.style,t),Object.keys(o).forEach((function(n){r.removeAttribute(n)})))}))}},requires:["computeStyles"]};function Dl(n){return n.split("-")[0]}var jl=Math.max,Al=Math.min,Tl=Math.round;function El(){var n=navigator.userAgentData;return null!=n&&n.brands&&Array.isArray(n.brands)?n.brands.map((function(n){return n.brand+"/"+n.version})).join(" "):navigator.userAgent}function Sl(){return!/^((?!chrome|android).)*safari/i.test(El())}function Ol(n,e,a){void 0===e&&(e=!1),void 0===a&&(a=!1);var r=n.getBoundingClientRect(),o=1,t=1;e&&zl(n)&&(o=n.offsetWidth>0&&Tl(r.width)/n.offsetWidth||1,t=n.offsetHeight>0&&Tl(r.height)/n.offsetHeight||1);var i=(xl(n)?kl(n):window).visualViewport,l=!Sl()&&a,g=(r.left+(l&&i?i.offsetLeft:0))/o,c=(r.top+(l&&i?i.offsetTop:0))/t,d=r.width/o,p=r.height/t;return{width:d,height:p,top:c,right:g+d,bottom:c+p,left:g,x:g,y:c}}function Nl(n){var e=Ol(n),a=n.offsetWidth,r=n.offsetHeight;return Math.abs(e.width-a)<=1&&(a=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:n.offsetLeft,y:n.offsetTop,width:a,height:r}}function Ll(n,e){var a=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(a&&Ml(a)){var r=e;do{if(r&&n.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Hl(n){return kl(n).getComputedStyle(n)}function Il(n){return["table","td","th"].indexOf(yl(n))>=0}function Fl(n){return((xl(n)?n.ownerDocument:n.document)||window.document).documentElement}function Rl(n){return"html"===yl(n)?n:n.assignedSlot||n.parentNode||(Ml(n)?n.host:null)||Fl(n)}function Pl(n){return zl(n)&&"fixed"!==Hl(n).position?n.offsetParent:null}function Bl(n){for(var e=kl(n),a=Pl(n);a&&Il(a)&&"static"===Hl(a).position;)a=Pl(a);return a&&("html"===yl(a)||"body"===yl(a)&&"static"===Hl(a).position)?e:a||function(n){var e=/firefox/i.test(El());if(/Trident/i.test(El())&&zl(n)&&"fixed"===Hl(n).position)return null;var a=Rl(n);for(Ml(a)&&(a=a.host);zl(a)&&["html","body"].indexOf(yl(a))<0;){var r=Hl(a);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||e&&"filter"===r.willChange||e&&r.filter&&"none"!==r.filter)return a;a=a.parentNode}return null}(n)||e}function Ul(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function Vl(n,e,a){return jl(n,Al(e,a))}function Wl(n){return Object.assign({},{top:0,right:0,bottom:0,left:0},n)}function _l(n,e){return e.reduce((function(e,a){return e[a]=n,e}),{})}var Gl={name:"arrow",enabled:!0,phase:"main",fn:function(n){var e,a=n.state,r=n.name,o=n.options,t=a.elements.arrow,i=a.modifiersData.popperOffsets,l=Dl(a.placement),g=Ul(l),c=[gl,ll].indexOf(l)>=0?"height":"width";if(t&&i){var d=function(n,e){return Wl("number"!=typeof(n="function"==typeof n?n(Object.assign({},e.rects,{placement:e.placement})):n)?n:_l(n,dl))}(o.padding,a),p=Nl(t),s="y"===g?tl:gl,u="y"===g?il:ll,f=a.rects.reference[c]+a.rects.reference[g]-i[g]-a.rects.popper[c],v=i[g]-a.rects.reference[g],h=Bl(t),m=h?"y"===g?h.clientHeight||0:h.clientWidth||0:0,w=f/2-v/2,b=d[s],y=m-p[c]-d[u],k=m/2-p[c]/2+w,x=Vl(b,k,y),z=g;a.modifiersData[r]=((e={})[z]=x,e.centerOffset=x-k,e)}},effect:function(n){var e=n.state,a=n.options.element,r=void 0===a?"[data-popper-arrow]":a;null!=r&&("string"!=typeof r||(r=e.elements.popper.querySelector(r)))&&Ll(e.elements.popper,r)&&(e.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ql(n){return n.split("-")[1]}var Yl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Kl(n){var e,a=n.popper,r=n.popperRect,o=n.placement,t=n.variation,i=n.offsets,l=n.position,g=n.gpuAcceleration,c=n.adaptive,d=n.roundOffsets,p=n.isFixed,s=i.x,u=void 0===s?0:s,f=i.y,v=void 0===f?0:f,h="function"==typeof d?d({x:u,y:v}):{x:u,y:v};u=h.x,v=h.y;var m=i.hasOwnProperty("x"),w=i.hasOwnProperty("y"),b=gl,y=tl,k=window;if(c){var x=Bl(a),z="clientHeight",M="clientWidth";if(x===kl(a)&&"static"!==Hl(x=Fl(a)).position&&"absolute"===l&&(z="scrollHeight",M="scrollWidth"),o===tl||(o===gl||o===ll)&&t===sl)y=il,v-=(p&&x===k&&k.visualViewport?k.visualViewport.height:x[z])-r.height,v*=g?1:-1;if(o===gl||(o===tl||o===il)&&t===sl)b=ll,u-=(p&&x===k&&k.visualViewport?k.visualViewport.width:x[M])-r.width,u*=g?1:-1}var C,D=Object.assign({position:l},c&&Yl),j=!0===d?function(n,e){var a=n.x,r=n.y,o=e.devicePixelRatio||1;return{x:Tl(a*o)/o||0,y:Tl(r*o)/o||0}}({x:u,y:v},kl(a)):{x:u,y:v};return u=j.x,v=j.y,g?Object.assign({},D,((C={})[y]=w?"0":"",C[b]=m?"0":"",C.transform=(k.devicePixelRatio||1)<=1?"translate("+u+"px, "+v+"px)":"translate3d("+u+"px, "+v+"px, 0)",C)):Object.assign({},D,((e={})[y]=w?v+"px":"",e[b]=m?u+"px":"",e.transform="",e))}var ql={passive:!0};var Xl={left:"right",right:"left",bottom:"top",top:"bottom"};function Jl(n){return n.replace(/left|right|bottom|top/g,(function(n){return Xl[n]}))}var Zl={start:"end",end:"start"};function $l(n){return n.replace(/start|end/g,(function(n){return Zl[n]}))}function ng(n){var e=kl(n);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function eg(n){return Ol(Fl(n)).left+ng(n).scrollLeft}function ag(n){var e=Hl(n),a=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(a+o+r)}function rg(n){return["html","body","#document"].indexOf(yl(n))>=0?n.ownerDocument.body:zl(n)&&ag(n)?n:rg(Rl(n))}function og(n,e){var a;void 0===e&&(e=[]);var r=rg(n),o=r===(null==(a=n.ownerDocument)?void 0:a.body),t=kl(r),i=o?[t].concat(t.visualViewport||[],ag(r)?r:[]):r,l=e.concat(i);return o?l:l.concat(og(Rl(i)))}function tg(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function ig(n,e,a){return e===fl?tg(function(n,e){var a=kl(n),r=Fl(n),o=a.visualViewport,t=r.clientWidth,i=r.clientHeight,l=0,g=0;if(o){t=o.width,i=o.height;var c=Sl();(c||!c&&"fixed"===e)&&(l=o.offsetLeft,g=o.offsetTop)}return{width:t,height:i,x:l+eg(n),y:g}}(n,a)):xl(e)?function(n,e){var a=Ol(n,!1,"fixed"===e);return a.top=a.top+n.clientTop,a.left=a.left+n.clientLeft,a.bottom=a.top+n.clientHeight,a.right=a.left+n.clientWidth,a.width=n.clientWidth,a.height=n.clientHeight,a.x=a.left,a.y=a.top,a}(e,a):tg(function(n){var e,a=Fl(n),r=ng(n),o=null==(e=n.ownerDocument)?void 0:e.body,t=jl(a.scrollWidth,a.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=jl(a.scrollHeight,a.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-r.scrollLeft+eg(n),g=-r.scrollTop;return"rtl"===Hl(o||a).direction&&(l+=jl(a.clientWidth,o?o.clientWidth:0)-t),{width:t,height:i,x:l,y:g}}(Fl(n)))}function lg(n,e,a,r){var o="clippingParents"===e?function(n){var e=og(Rl(n)),a=["absolute","fixed"].indexOf(Hl(n).position)>=0&&zl(n)?Bl(n):n;return xl(a)?e.filter((function(n){return xl(n)&&Ll(n,a)&&"body"!==yl(n)})):[]}(n):[].concat(e),t=[].concat(o,[a]),i=t[0],l=t.reduce((function(e,a){var o=ig(n,a,r);return e.top=jl(o.top,e.top),e.right=Al(o.right,e.right),e.bottom=Al(o.bottom,e.bottom),e.left=jl(o.left,e.left),e}),ig(n,i,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function gg(n){var e,a=n.reference,r=n.element,o=n.placement,t=o?Dl(o):null,i=o?Ql(o):null,l=a.x+a.width/2-r.width/2,g=a.y+a.height/2-r.height/2;switch(t){case tl:e={x:l,y:a.y-r.height};break;case il:e={x:l,y:a.y+a.height};break;case ll:e={x:a.x+a.width,y:g};break;case gl:e={x:a.x-r.width,y:g};break;default:e={x:a.x,y:a.y}}var c=t?Ul(t):null;if(null!=c){var d="y"===c?"height":"width";switch(i){case pl:e[c]=e[c]-(a[d]/2-r[d]/2);break;case sl:e[c]=e[c]+(a[d]/2-r[d]/2)}}return e}function cg(n,e){void 0===e&&(e={});var a=e,r=a.placement,o=void 0===r?n.placement:r,t=a.strategy,i=void 0===t?n.strategy:t,l=a.boundary,g=void 0===l?ul:l,c=a.rootBoundary,d=void 0===c?fl:c,p=a.elementContext,s=void 0===p?vl:p,u=a.altBoundary,f=void 0!==u&&u,v=a.padding,h=void 0===v?0:v,m=Wl("number"!=typeof h?h:_l(h,dl)),w=s===vl?hl:vl,b=n.rects.popper,y=n.elements[f?w:s],k=lg(xl(y)?y:y.contextElement||Fl(n.elements.popper),g,d,i),x=Ol(n.elements.reference),z=gg({reference:x,element:b,strategy:"absolute",placement:o}),M=tg(Object.assign({},b,z)),C=s===vl?M:x,D={top:k.top-C.top+m.top,bottom:C.bottom-k.bottom+m.bottom,left:k.left-C.left+m.left,right:C.right-k.right+m.right},j=n.modifiersData.offset;if(s===vl&&j){var A=j[o];Object.keys(D).forEach((function(n){var e=[ll,il].indexOf(n)>=0?1:-1,a=[tl,il].indexOf(n)>=0?"y":"x";D[n]+=A[a]*e}))}return D}function dg(n,e){void 0===e&&(e={});var a=e,r=a.placement,o=a.boundary,t=a.rootBoundary,i=a.padding,l=a.flipVariations,g=a.allowedAutoPlacements,c=void 0===g?wl:g,d=Ql(r),p=d?l?ml:ml.filter((function(n){return Ql(n)===d})):dl,s=p.filter((function(n){return c.indexOf(n)>=0}));0===s.length&&(s=p);var u=s.reduce((function(e,a){return e[a]=cg(n,{placement:a,boundary:o,rootBoundary:t,padding:i})[Dl(a)],e}),{});return Object.keys(u).sort((function(n,e){return u[n]-u[e]}))}var pg={name:"flip",enabled:!0,phase:"main",fn:function(n){var e=n.state,a=n.options,r=n.name;if(!e.modifiersData[r]._skip){for(var o=a.mainAxis,t=void 0===o||o,i=a.altAxis,l=void 0===i||i,g=a.fallbackPlacements,c=a.padding,d=a.boundary,p=a.rootBoundary,s=a.altBoundary,u=a.flipVariations,f=void 0===u||u,v=a.allowedAutoPlacements,h=e.options.placement,m=Dl(h),w=g||(m===h||!f?[Jl(h)]:function(n){if(Dl(n)===cl)return[];var e=Jl(n);return[$l(n),e,$l(e)]}(h)),b=[h].concat(w).reduce((function(n,a){return n.concat(Dl(a)===cl?dg(e,{placement:a,boundary:d,rootBoundary:p,padding:c,flipVariations:f,allowedAutoPlacements:v}):a)}),[]),y=e.rects.reference,k=e.rects.popper,x=new Map,z=!0,M=b[0],C=0;C<b.length;C++){var D=b[C],j=Dl(D),A=Ql(D)===pl,T=[tl,il].indexOf(j)>=0,E=T?"width":"height",S=cg(e,{placement:D,boundary:d,rootBoundary:p,altBoundary:s,padding:c}),O=T?A?ll:gl:A?il:tl;y[E]>k[E]&&(O=Jl(O));var N=Jl(O),L=[];if(t&&L.push(S[j]<=0),l&&L.push(S[O]<=0,S[N]<=0),L.every((function(n){return n}))){M=D,z=!1;break}x.set(D,L)}if(z)for(var H=function(n){var e=b.find((function(e){var a=x.get(e);if(a)return a.slice(0,n).every((function(n){return n}))}));if(e)return M=e,"break"},I=f?3:1;I>0;I--){if("break"===H(I))break}e.placement!==M&&(e.modifiersData[r]._skip=!0,e.placement=M,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function sg(n,e,a){return void 0===a&&(a={x:0,y:0}),{top:n.top-e.height-a.y,right:n.right-e.width+a.x,bottom:n.bottom-e.height+a.y,left:n.left-e.width-a.x}}function ug(n){return[tl,ll,il,gl].some((function(e){return n[e]>=0}))}var fg={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(n){var e=n.state,a=n.options,r=n.name,o=a.offset,t=void 0===o?[0,0]:o,i=wl.reduce((function(n,a){return n[a]=function(n,e,a){var r=Dl(n),o=[gl,tl].indexOf(r)>=0?-1:1,t="function"==typeof a?a(Object.assign({},e,{placement:n})):a,i=t[0],l=t[1];return i=i||0,l=(l||0)*o,[gl,ll].indexOf(r)>=0?{x:l,y:i}:{x:i,y:l}}(a,e.rects,t),n}),{}),l=i[e.placement],g=l.x,c=l.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=g,e.modifiersData.popperOffsets.y+=c),e.modifiersData[r]=i}};var vg={name:"preventOverflow",enabled:!0,phase:"main",fn:function(n){var e=n.state,a=n.options,r=n.name,o=a.mainAxis,t=void 0===o||o,i=a.altAxis,l=void 0!==i&&i,g=a.boundary,c=a.rootBoundary,d=a.altBoundary,p=a.padding,s=a.tether,u=void 0===s||s,f=a.tetherOffset,v=void 0===f?0:f,h=cg(e,{boundary:g,rootBoundary:c,padding:p,altBoundary:d}),m=Dl(e.placement),w=Ql(e.placement),b=!w,y=Ul(m),k="x"===y?"y":"x",x=e.modifiersData.popperOffsets,z=e.rects.reference,M=e.rects.popper,C="function"==typeof v?v(Object.assign({},e.rects,{placement:e.placement})):v,D="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),j=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,A={x:0,y:0};if(x){if(t){var T,E="y"===y?tl:gl,S="y"===y?il:ll,O="y"===y?"height":"width",N=x[y],L=N+h[E],H=N-h[S],I=u?-M[O]/2:0,F=w===pl?z[O]:M[O],R=w===pl?-M[O]:-z[O],P=e.elements.arrow,B=u&&P?Nl(P):{width:0,height:0},U=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},V=U[E],W=U[S],_=Vl(0,z[O],B[O]),G=b?z[O]/2-I-_-V-D.mainAxis:F-_-V-D.mainAxis,Q=b?-z[O]/2+I+_+W+D.mainAxis:R+_+W+D.mainAxis,Y=e.elements.arrow&&Bl(e.elements.arrow),K=Y?"y"===y?Y.clientTop||0:Y.clientLeft||0:0,q=null!=(T=null==j?void 0:j[y])?T:0,X=N+Q-q,J=Vl(u?Al(L,N+G-q-K):L,N,u?jl(H,X):H);x[y]=J,A[y]=J-N}if(l){var Z,$="x"===y?tl:gl,nn="x"===y?il:ll,en=x[k],an="y"===k?"height":"width",rn=en+h[$],on=en-h[nn],tn=-1!==[tl,gl].indexOf(m),ln=null!=(Z=null==j?void 0:j[k])?Z:0,gn=tn?rn:en-z[an]-M[an]-ln+D.altAxis,cn=tn?en+z[an]+M[an]-ln-D.altAxis:on,dn=u&&tn?function(n,e,a){var r=Vl(n,e,a);return r>a?a:r}(gn,en,cn):Vl(u?gn:rn,en,u?cn:on);x[k]=dn,A[k]=dn-en}e.modifiersData[r]=A}},requiresIfExists:["offset"]};function hg(n,e,a){void 0===a&&(a=!1);var r,o,t=zl(e),i=zl(e)&&function(n){var e=n.getBoundingClientRect(),a=Tl(e.width)/n.offsetWidth||1,r=Tl(e.height)/n.offsetHeight||1;return 1!==a||1!==r}(e),l=Fl(e),g=Ol(n,i,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(t||!t&&!a)&&(("body"!==yl(e)||ag(l))&&(c=(r=e)!==kl(r)&&zl(r)?{scrollLeft:(o=r).scrollLeft,scrollTop:o.scrollTop}:ng(r)),zl(e)?((d=Ol(e,!0)).x+=e.clientLeft,d.y+=e.clientTop):l&&(d.x=eg(l))),{x:g.left+c.scrollLeft-d.x,y:g.top+c.scrollTop-d.y,width:g.width,height:g.height}}function mg(n){var e=new Map,a=new Set,r=[];function o(n){a.add(n.name),[].concat(n.requires||[],n.requiresIfExists||[]).forEach((function(n){if(!a.has(n)){var r=e.get(n);r&&o(r)}})),r.push(n)}return n.forEach((function(n){e.set(n.name,n)})),n.forEach((function(n){a.has(n.name)||o(n)})),r}var wg={placement:"bottom",modifiers:[],strategy:"absolute"};function bg(){for(var n=arguments.length,e=new Array(n),a=0;a<n;a++)e[a]=arguments[a];return!e.some((function(n){return!(n&&"function"==typeof n.getBoundingClientRect)}))}function yg(n){void 0===n&&(n={});var e=n,a=e.defaultModifiers,r=void 0===a?[]:a,o=e.defaultOptions,t=void 0===o?wg:o;return function(n,e,a){void 0===a&&(a=t);var o,i,l={placement:"bottom",orderedModifiers:[],options:Object.assign({},wg,t),modifiersData:{},elements:{reference:n,popper:e},attributes:{},styles:{}},g=[],c=!1,d={state:l,setOptions:function(a){var o="function"==typeof a?a(l.options):a;p(),l.options=Object.assign({},t,l.options,o),l.scrollParents={reference:xl(n)?og(n):n.contextElement?og(n.contextElement):[],popper:og(e)};var i,c,s=function(n){var e=mg(n);return bl.reduce((function(n,a){return n.concat(e.filter((function(n){return n.phase===a})))}),[])}((i=[].concat(r,l.options.modifiers),c=i.reduce((function(n,e){var a=n[e.name];return n[e.name]=a?Object.assign({},a,e,{options:Object.assign({},a.options,e.options),data:Object.assign({},a.data,e.data)}):e,n}),{}),Object.keys(c).map((function(n){return c[n]}))));return l.orderedModifiers=s.filter((function(n){return n.enabled})),l.orderedModifiers.forEach((function(n){var e=n.name,a=n.options,r=void 0===a?{}:a,o=n.effect;if("function"==typeof o){var t=o({state:l,name:e,instance:d,options:r}),i=function(){};g.push(t||i)}})),d.update()},forceUpdate:function(){if(!c){var n=l.elements,e=n.reference,a=n.popper;if(bg(e,a)){l.rects={reference:hg(e,Bl(a),"fixed"===l.options.strategy),popper:Nl(a)},l.reset=!1,l.placement=l.options.placement,l.orderedModifiers.forEach((function(n){return l.modifiersData[n.name]=Object.assign({},n.data)}));for(var r=0;r<l.orderedModifiers.length;r++)if(!0!==l.reset){var o=l.orderedModifiers[r],t=o.fn,i=o.options,g=void 0===i?{}:i,p=o.name;"function"==typeof t&&(l=t({state:l,options:g,name:p,instance:d})||l)}else l.reset=!1,r=-1}}},update:(o=function(){return new Promise((function(n){d.forceUpdate(),n(l)}))},function(){return i||(i=new Promise((function(n){Promise.resolve().then((function(){i=void 0,n(o())}))}))),i}),destroy:function(){p(),c=!0}};if(!bg(n,e))return d;function p(){g.forEach((function(n){return n()})),g=[]}return d.setOptions(a).then((function(n){!c&&a.onFirstUpdate&&a.onFirstUpdate(n)})),d}}var kg=yg({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(n){var e=n.state,a=n.instance,r=n.options,o=r.scroll,t=void 0===o||o,i=r.resize,l=void 0===i||i,g=kl(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return t&&c.forEach((function(n){n.addEventListener("scroll",a.update,ql)})),l&&g.addEventListener("resize",a.update,ql),function(){t&&c.forEach((function(n){n.removeEventListener("scroll",a.update,ql)})),l&&g.removeEventListener("resize",a.update,ql)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(n){var e=n.state,a=n.name;e.modifiersData[a]=gg({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(n){var e=n.state,a=n.options,r=a.gpuAcceleration,o=void 0===r||r,t=a.adaptive,i=void 0===t||t,l=a.roundOffsets,g=void 0===l||l,c={placement:Dl(e.placement),variation:Ql(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Kl(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:i,roundOffsets:g})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Kl(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:g})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Cl,fg,pg,vg,Gl,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(n){var e=n.state,a=n.name,r=e.rects.reference,o=e.rects.popper,t=e.modifiersData.preventOverflow,i=cg(e,{elementContext:"reference"}),l=cg(e,{altBoundary:!0}),g=sg(i,r),c=sg(l,o,t),d=ug(g),p=ug(c);e.modifiersData[a]={referenceClippingOffsets:g,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:p},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":p})}}]}),xg="tippy-content",zg="tippy-backdrop",Mg="tippy-arrow",Cg="tippy-svg-arrow",Dg={passive:!0,capture:!0},jg=function(){return document.body};function Ag(n,e,a){if(Array.isArray(n)){var r=n[e];return null==r?Array.isArray(a)?a[e]:a:r}return n}function Tg(n,e){var a={}.toString.call(n);return 0===a.indexOf("[object")&&a.indexOf(e+"]")>-1}function Eg(n,e){return"function"==typeof n?n.apply(void 0,e):n}function Sg(n,e){return 0===e?n:function(r){clearTimeout(a),a=setTimeout((function(){n(r)}),e)};var a}function Og(n){return[].concat(n)}function Ng(n,e){-1===n.indexOf(e)&&n.push(e)}function Lg(n){return[].slice.call(n)}function Hg(n){return Object.keys(n).reduce((function(e,a){return void 0!==n[a]&&(e[a]=n[a]),e}),{})}function Ig(){return document.createElement("div")}function Fg(n){return["Element","Fragment"].some((function(e){return Tg(n,e)}))}function Rg(n){return Fg(n)?[n]:function(n){return Tg(n,"NodeList")}(n)?Lg(n):Array.isArray(n)?n:Lg(document.querySelectorAll(n))}function Pg(n,e){n.forEach((function(n){n&&(n.style.transitionDuration=e+"ms")}))}function Bg(n,e){n.forEach((function(n){n&&n.setAttribute("data-state",e)}))}function Ug(n,e,a){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){n[r](e,a)}))}function Vg(n,e){for(var a=e;a;){var r;if(n.contains(a))return!0;a=null==a.getRootNode||null==(r=a.getRootNode())?void 0:r.host}return!1}var Wg={isTouch:!1},_g=0;function Gg(){Wg.isTouch||(Wg.isTouch=!0,window.performance&&document.addEventListener("mousemove",Qg))}function Qg(){var n=performance.now();n-_g<20&&(Wg.isTouch=!1,document.removeEventListener("mousemove",Qg)),_g=n}function Yg(){var n,e=document.activeElement;if((n=e)&&n._tippy&&n._tippy.reference===n){var a=e._tippy;e.blur&&!a.state.isVisible&&e.blur()}}var Kg,qg=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto;function Xg(n){return[n+"() was called on a"+("destroy"===n?"n already-":" ")+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function Jg(n){return n.replace(/[ \t]{2,}/g," ").replace(/^[ \t]*/gm,"").trim()}function Zg(n){return Jg("\n  %ctippy.js\n\n  %c"+Jg(n)+"\n\n  %c👷‍ This is a development-only message. It will be removed in production.\n  ")}function $g(n){return[Zg(n),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}function nc(n,e){var a;n&&!Kg.has(e)&&(Kg.add(e),(a=console).warn.apply(a,$g(e)))}function ec(n,e){var a;n&&!Kg.has(e)&&(Kg.add(e),(a=console).error.apply(a,$g(e)))}Kg=new Set;var ac={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},rc=Object.assign({appendTo:jg,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},ac,{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),oc=Object.keys(rc);function tc(n){var e=(n.plugins||[]).reduce((function(e,a){var r,o=a.name,t=a.defaultValue;o&&(e[o]=void 0!==n[o]?n[o]:null!=(r=rc[o])?r:t);return e}),{});return Object.assign({},n,e)}function ic(n,e){var a=Object.assign({},e,{content:Eg(e.content,[n])},e.ignoreAttributes?{}:function(n,e){return(e?Object.keys(tc(Object.assign({},rc,{plugins:e}))):oc).reduce((function(e,a){var r=(n.getAttribute("data-tippy-"+a)||"").trim();if(!r)return e;if("content"===a)e[a]=r;else try{e[a]=JSON.parse(r)}catch(n){e[a]=r}return e}),{})}(n,e.plugins));return a.aria=Object.assign({},rc.aria,a.aria),a.aria={expanded:"auto"===a.aria.expanded?e.interactive:a.aria.expanded,content:"auto"===a.aria.content?e.interactive?null:"describedby":a.aria.content},a}function lc(n,e){void 0===n&&(n={}),void 0===e&&(e=[]),Object.keys(n).forEach((function(n){var a,r,o=function(n,e){var a=Object.assign({},n);return e.forEach((function(n){delete a[n]})),a}(rc,Object.keys(ac)),t=(a=o,r=n,!{}.hasOwnProperty.call(a,r));t&&(t=0===e.filter((function(e){return e.name===n})).length),nc(t,["`"+n+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.","\n\n","All props: https://atomiks.github.io/tippyjs/v6/all-props/\n","Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))}))}var gc=function(){return"innerHTML"};function cc(n,e){n[gc()]=e}function dc(n){var e=Ig();return!0===n?e.className=Mg:(e.className=Cg,Fg(n)?e.appendChild(n):cc(e,n)),e}function pc(n,e){Fg(e.content)?(cc(n,""),n.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?cc(n,e.content):n.textContent=e.content)}function sc(n){var e=n.firstElementChild,a=Lg(e.children);return{box:e,content:a.find((function(n){return n.classList.contains(xg)})),arrow:a.find((function(n){return n.classList.contains(Mg)||n.classList.contains(Cg)})),backdrop:a.find((function(n){return n.classList.contains(zg)}))}}function uc(n){var e=Ig(),a=Ig();a.className="tippy-box",a.setAttribute("data-state","hidden"),a.setAttribute("tabindex","-1");var r=Ig();function o(a,r){var o=sc(e),t=o.box,i=o.content,l=o.arrow;r.theme?t.setAttribute("data-theme",r.theme):t.removeAttribute("data-theme"),"string"==typeof r.animation?t.setAttribute("data-animation",r.animation):t.removeAttribute("data-animation"),r.inertia?t.setAttribute("data-inertia",""):t.removeAttribute("data-inertia"),t.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?t.setAttribute("role",r.role):t.removeAttribute("role"),a.content===r.content&&a.allowHTML===r.allowHTML||pc(i,n.props),r.arrow?l?a.arrow!==r.arrow&&(t.removeChild(l),t.appendChild(dc(r.arrow))):t.appendChild(dc(r.arrow)):l&&t.removeChild(l)}return r.className=xg,r.setAttribute("data-state","hidden"),pc(r,n.props),e.appendChild(a),a.appendChild(r),o(n.props,n.props),{popper:e,onUpdate:o}}uc.$$tippy=!0;var fc=1,vc=[],hc=[];function mc(n,e){var a,r,o,t,i,l,g,c,d=ic(n,Object.assign({},rc,tc(Hg(e)))),p=!1,s=!1,u=!1,f=!1,v=[],h=Sg(Y,d.interactiveDebounce),m=fc++,w=(c=d.plugins).filter((function(n,e){return c.indexOf(n)===e})),b={id:m,reference:n,popper:Ig(),popperInstance:null,props:d,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:w,clearDelayTimeouts:function(){clearTimeout(a),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(e){if(nc(b.state.isDestroyed,Xg("setProps")),b.state.isDestroyed)return;N("onBeforeUpdate",[b,e]),G();var a=b.props,r=ic(n,Object.assign({},a,Hg(e),{ignoreAttributes:!0}));b.props=r,_(),a.interactiveDebounce!==r.interactiveDebounce&&(I(),h=Sg(Y,r.interactiveDebounce));a.triggerTarget&&!r.triggerTarget?Og(a.triggerTarget).forEach((function(n){n.removeAttribute("aria-expanded")})):r.triggerTarget&&n.removeAttribute("aria-expanded");H(),O(),x&&x(a,r);b.popperInstance&&(J(),$().forEach((function(n){requestAnimationFrame(n._tippy.popperInstance.forceUpdate)})));N("onAfterUpdate",[b,e])},setContent:function(n){b.setProps({content:n})},show:function(){nc(b.state.isDestroyed,Xg("show"));var n=b.state.isVisible,e=b.state.isDestroyed,a=!b.state.isEnabled,r=Wg.isTouch&&!b.props.touch,o=Ag(b.props.duration,0,rc.duration);if(n||e||a||r)return;if(A().hasAttribute("disabled"))return;if(N("onShow",[b],!1),!1===b.props.onShow(b))return;b.state.isVisible=!0,j()&&(k.style.visibility="visible");O(),B(),b.state.isMounted||(k.style.transition="none");if(j()){var t=E();Pg([t.box,t.content],0)}l=function(){var n;if(b.state.isVisible&&!f){if(f=!0,k.offsetHeight,k.style.transition=b.props.moveTransition,j()&&b.props.animation){var e=E(),a=e.box,r=e.content;Pg([a,r],o),Bg([a,r],"visible")}L(),H(),Ng(hc,b),null==(n=b.popperInstance)||n.forceUpdate(),N("onMount",[b]),b.props.animation&&j()&&function(n,e){V(n,e)}(o,(function(){b.state.isShown=!0,N("onShown",[b])}))}},function(){var n,e=b.props.appendTo,a=A();n=b.props.interactive&&e===jg||"parent"===e?a.parentNode:Eg(e,[a]);n.contains(k)||n.appendChild(k);b.state.isMounted=!0,J(),nc(b.props.interactive&&e===rc.appendTo&&a.nextElementSibling!==k,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.","\n\n","Using a wrapper <div> or <span> tag around the reference element","solves this by creating a new parentNode context.","\n\n","Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.","\n\n","See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}()},hide:function(){nc(b.state.isDestroyed,Xg("hide"));var n=!b.state.isVisible,e=b.state.isDestroyed,a=!b.state.isEnabled,r=Ag(b.props.duration,1,rc.duration);if(n||e||a)return;if(N("onHide",[b],!1),!1===b.props.onHide(b))return;b.state.isVisible=!1,b.state.isShown=!1,f=!1,p=!1,j()&&(k.style.visibility="hidden");if(I(),U(),O(!0),j()){var o=E(),t=o.box,i=o.content;b.props.animation&&(Pg([t,i],r),Bg([t,i],"hidden"))}L(),H(),b.props.animation?j()&&function(n,e){V(n,(function(){!b.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&e()}))}(r,b.unmount):b.unmount()},hideWithInteractivity:function(n){nc(b.state.isDestroyed,Xg("hideWithInteractivity")),T().addEventListener("mousemove",h),Ng(vc,h),h(n)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){nc(b.state.isDestroyed,Xg("unmount")),b.state.isVisible&&b.hide();if(!b.state.isMounted)return;Z(),$().forEach((function(n){n._tippy.unmount()})),k.parentNode&&k.parentNode.removeChild(k);hc=hc.filter((function(n){return n!==b})),b.state.isMounted=!1,N("onHidden",[b])},destroy:function(){if(nc(b.state.isDestroyed,Xg("destroy")),b.state.isDestroyed)return;b.clearDelayTimeouts(),b.unmount(),G(),delete n._tippy,b.state.isDestroyed=!0,N("onDestroy",[b])}};if(!d.render)return ec(!0,"render() function has not been supplied."),b;var y=d.render(b),k=y.popper,x=y.onUpdate;k.setAttribute("data-tippy-root",""),k.id="tippy-"+b.id,b.popper=k,n._tippy=b,k._tippy=b;var z=w.map((function(n){return n.fn(b)})),M=n.hasAttribute("aria-expanded");return _(),H(),O(),N("onCreate",[b]),d.showOnCreate&&nn(),k.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),k.addEventListener("mouseleave",(function(){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&T().addEventListener("mousemove",h)})),b;function C(){var n=b.props.touch;return Array.isArray(n)?n:[n,0]}function D(){return"hold"===C()[0]}function j(){var n;return!(null==(n=b.props.render)||!n.$$tippy)}function A(){return g||n}function T(){var n,e,a=A().parentNode;return a?null!=(e=Og(a)[0])&&null!=(n=e.ownerDocument)&&n.body?e.ownerDocument:document:document}function E(){return sc(k)}function S(n){return b.state.isMounted&&!b.state.isVisible||Wg.isTouch||t&&"focus"===t.type?0:Ag(b.props.delay,n?0:1,rc.delay)}function O(n){void 0===n&&(n=!1),k.style.pointerEvents=b.props.interactive&&!n?"":"none",k.style.zIndex=""+b.props.zIndex}function N(n,e,a){var r;(void 0===a&&(a=!0),z.forEach((function(a){a[n]&&a[n].apply(a,e)})),a)&&(r=b.props)[n].apply(r,e)}function L(){var e=b.props.aria;if(e.content){var a="aria-"+e.content,r=k.id;Og(b.props.triggerTarget||n).forEach((function(n){var e=n.getAttribute(a);if(b.state.isVisible)n.setAttribute(a,e?e+" "+r:r);else{var o=e&&e.replace(r,"").trim();o?n.setAttribute(a,o):n.removeAttribute(a)}}))}}function H(){!M&&b.props.aria.expanded&&Og(b.props.triggerTarget||n).forEach((function(n){b.props.interactive?n.setAttribute("aria-expanded",b.state.isVisible&&n===A()?"true":"false"):n.removeAttribute("aria-expanded")}))}function I(){T().removeEventListener("mousemove",h),vc=vc.filter((function(n){return n!==h}))}function F(e){if(!Wg.isTouch||!u&&"mousedown"!==e.type){var a=e.composedPath&&e.composedPath()[0]||e.target;if(!b.props.interactive||!Vg(k,a)){if(Og(b.props.triggerTarget||n).some((function(n){return Vg(n,a)}))){if(Wg.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else N("onClickOutside",[b,e]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),s=!0,setTimeout((function(){s=!1})),b.state.isMounted||U())}}}function R(){u=!0}function P(){u=!1}function B(){var n=T();n.addEventListener("mousedown",F,!0),n.addEventListener("touchend",F,Dg),n.addEventListener("touchstart",P,Dg),n.addEventListener("touchmove",R,Dg)}function U(){var n=T();n.removeEventListener("mousedown",F,!0),n.removeEventListener("touchend",F,Dg),n.removeEventListener("touchstart",P,Dg),n.removeEventListener("touchmove",R,Dg)}function V(n,e){var a=E().box;function r(n){n.target===a&&(Ug(a,"remove",r),e())}if(0===n)return e();Ug(a,"remove",i),Ug(a,"add",r),i=r}function W(e,a,r){void 0===r&&(r=!1),Og(b.props.triggerTarget||n).forEach((function(n){n.addEventListener(e,a,r),v.push({node:n,eventType:e,handler:a,options:r})}))}function _(){var n;D()&&(W("touchstart",Q,{passive:!0}),W("touchend",K,{passive:!0})),(n=b.props.trigger,n.split(/\s+/).filter(Boolean)).forEach((function(n){if("manual"!==n)switch(W(n,Q),n){case"mouseenter":W("mouseleave",K);break;case"focus":W(qg?"focusout":"blur",q);break;case"focusin":W("focusout",q)}}))}function G(){v.forEach((function(n){var e=n.node,a=n.eventType,r=n.handler,o=n.options;e.removeEventListener(a,r,o)})),v=[]}function Q(n){var e,a=!1;if(b.state.isEnabled&&!X(n)&&!s){var r="focus"===(null==(e=t)?void 0:e.type);t=n,g=n.currentTarget,H(),!b.state.isVisible&&Tg(n,"MouseEvent")&&vc.forEach((function(e){return e(n)})),"click"===n.type&&(b.props.trigger.indexOf("mouseenter")<0||p)&&!1!==b.props.hideOnClick&&b.state.isVisible?a=!0:nn(n),"click"===n.type&&(p=!a),a&&!r&&en(n)}}function Y(n){var e=n.target,a=A().contains(e)||k.contains(e);if("mousemove"!==n.type||!a){var r=$().concat(k).map((function(n){var e,a=null==(e=n._tippy.popperInstance)?void 0:e.state;return a?{popperRect:n.getBoundingClientRect(),popperState:a,props:d}:null})).filter(Boolean);(function(n,e){var a=e.clientX,r=e.clientY;return n.every((function(n){var e=n.popperRect,o=n.popperState,t=n.props.interactiveBorder,i=o.placement.split("-")[0],l=o.modifiersData.offset;if(!l)return!0;var g="bottom"===i?l.top.y:0,c="top"===i?l.bottom.y:0,d="right"===i?l.left.x:0,p="left"===i?l.right.x:0,s=e.top-r+g>t,u=r-e.bottom-c>t,f=e.left-a+d>t,v=a-e.right-p>t;return s||u||f||v}))})(r,n)&&(I(),en(n))}}function K(n){X(n)||b.props.trigger.indexOf("click")>=0&&p||(b.props.interactive?b.hideWithInteractivity(n):en(n))}function q(n){b.props.trigger.indexOf("focusin")<0&&n.target!==A()||b.props.interactive&&n.relatedTarget&&k.contains(n.relatedTarget)||en(n)}function X(n){return!!Wg.isTouch&&D()!==n.type.indexOf("touch")>=0}function J(){Z();var e=b.props,a=e.popperOptions,r=e.placement,o=e.offset,t=e.getReferenceClientRect,i=e.moveTransition,g=j()?sc(k).arrow:null,c=t?{getBoundingClientRect:t,contextElement:t.contextElement||A()}:n,d={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(n){var e=n.state;if(j()){var a=E().box;["placement","reference-hidden","escaped"].forEach((function(n){"placement"===n?a.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+n]?a.setAttribute("data-"+n,""):a.removeAttribute("data-"+n)})),e.attributes.popper={}}}},p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!i}},d];j()&&g&&p.push({name:"arrow",options:{element:g,padding:3}}),p.push.apply(p,(null==a?void 0:a.modifiers)||[]),b.popperInstance=kg(c,k,Object.assign({},a,{placement:r,onFirstUpdate:l,modifiers:p}))}function Z(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function $(){return Lg(k.querySelectorAll("[data-tippy-root]"))}function nn(n){b.clearDelayTimeouts(),n&&N("onTrigger",[b,n]),B();var e=S(!0),r=C(),o=r[0],t=r[1];Wg.isTouch&&"hold"===o&&t&&(e=t),e?a=setTimeout((function(){b.show()}),e):b.show()}function en(n){if(b.clearDelayTimeouts(),N("onUntrigger",[b,n]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(n.type)>=0&&p)){var e=S(!1);e?r=setTimeout((function(){b.state.isVisible&&b.hide()}),e):o=requestAnimationFrame((function(){b.hide()}))}}else U()}}function wc(n,e){void 0===e&&(e={});var a=rc.plugins.concat(e.plugins||[]);!function(n){var e=!n,a="[object Object]"===Object.prototype.toString.call(n)&&!n.addEventListener;ec(e,["tippy() was passed","`"+String(n)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),ec(a,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}(n),lc(e,a),document.addEventListener("touchstart",Gg,Dg),window.addEventListener("blur",Yg);var r=Object.assign({},e,{plugins:a}),o=Rg(n),t=Fg(r.content),i=o.length>1;nc(t&&i,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.","\n\n","Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.","\n\n","1) content: element.innerHTML\n","2) content: () => element.cloneNode(true)"].join(" "));var l=o.reduce((function(n,e){var a=e&&mc(e,r);return a&&n.push(a),n}),[]);return Fg(n)?l[0]:l}function bc(n,e){void 0===e&&(e={});var a=e.insertAt;if(n&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===a&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}wc.defaultProps=rc,wc.setDefaultProps=function(n){lc(n,[]),Object.keys(n).forEach((function(e){rc[e]=n[e]}))},wc.currentInput=Wg,Object.assign({},Cl,{effect:function(n){var e=n.state,a={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(e.elements.popper.style,a.popper),e.styles=a,e.elements.arrow&&Object.assign(e.elements.arrow.style,a.arrow)}}),wc.setDefaultProps({render:uc});bc('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}');function yc(n,e){var a=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),a.push.apply(a,r)}return a}function kc(n){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?yc(Object(a),!0).forEach((function(e){nl(n,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(a)):yc(Object(a)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(a,e))}))}return n}bc(".tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px rgba(154,161,177,.15),0 4px 80px -8px rgba(36,40,47,.25),0 4px 4px -2px rgba(91,94,105,.15);background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}");bc('.ag-icon {\n  font-family: var(--ag-icon-font-family);\n  font-weight: var(--ag-icon-font-weight);\n  color: var(--ag-icon-font-color);\n  font-size: var(--ag-icon-size);\n  line-height: var(--ag-icon-size);\n  font-style: normal;\n  font-variant: normal;\n  text-transform: none;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  position: relative;\n}\n.ag-icon::before {\n  content: "";\n}\n.ag-icon::after {\n  background: transparent var(--ag-icon-image, none) center/contain no-repeat;\n  display: var(--ag-icon-image-display);\n  opacity: var(--ag-icon-image-opacity, 0.9);\n  position: absolute;\n  inset: 0;\n  content: "";\n}\n\n.ag-icon-aggregation {\n  font-family: var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color));\n}\n\n.ag-icon-aggregation::before {\n  content: var(--ag-icon-font-code-aggregation, "\\f101");\n  display: var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display));\n}\n\n.ag-icon-aggregation::after {\n  background-image: var(--ag-icon-image-aggregation, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-arrows {\n  font-family: var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-arrows, var(--ag-icon-font-color));\n}\n\n.ag-icon-arrows::before {\n  content: var(--ag-icon-font-code-arrows, "\\f102");\n  display: var(--ag-icon-font-display-arrows, var(--ag-icon-font-display));\n}\n\n.ag-icon-arrows::after {\n  background-image: var(--ag-icon-image-arrows, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-asc {\n  font-family: var(--ag-icon-font-family-asc, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-asc, var(--ag-icon-font-color));\n}\n\n.ag-icon-asc::before {\n  content: var(--ag-icon-font-code-asc, "\\f103");\n  display: var(--ag-icon-font-display-asc, var(--ag-icon-font-display));\n}\n\n.ag-icon-asc::after {\n  background-image: var(--ag-icon-image-asc, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-asc, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cancel {\n  font-family: var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-cancel, var(--ag-icon-font-color));\n}\n\n.ag-icon-cancel::before {\n  content: var(--ag-icon-font-code-cancel, "\\f104");\n  display: var(--ag-icon-font-display-cancel, var(--ag-icon-font-display));\n}\n\n.ag-icon-cancel::after {\n  background-image: var(--ag-icon-image-cancel, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-chart {\n  font-family: var(--ag-icon-font-family-chart, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-chart, var(--ag-icon-font-color));\n}\n\n.ag-icon-chart::before {\n  content: var(--ag-icon-font-code-chart, "\\f105");\n  display: var(--ag-icon-font-display-chart, var(--ag-icon-font-display));\n}\n\n.ag-icon-chart::after {\n  background-image: var(--ag-icon-image-chart, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-checked {\n  font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-checked::before {\n  content: var(--ag-icon-font-code-checkbox-checked, "\\f106");\n  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-checked::after {\n  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-indeterminate {\n  font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-indeterminate::before {\n  content: var(--ag-icon-font-code-checkbox-indeterminate, "\\f107");\n  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-indeterminate::after {\n  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-checkbox-unchecked {\n  font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));\n}\n\n.ag-icon-checkbox-unchecked::before {\n  content: var(--ag-icon-font-code-checkbox-unchecked, "\\f108");\n  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));\n}\n\n.ag-icon-checkbox-unchecked::after {\n  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-color-picker {\n  font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));\n}\n\n.ag-icon-color-picker::before {\n  content: var(--ag-icon-font-code-color-picker, "\\f109");\n  display: var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display));\n}\n\n.ag-icon-color-picker::after {\n  background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-columns {\n  font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));\n}\n\n.ag-icon-columns::before {\n  content: var(--ag-icon-font-code-columns, "\\f10a");\n  display: var(--ag-icon-font-display-columns, var(--ag-icon-font-display));\n}\n\n.ag-icon-columns::after {\n  background-image: var(--ag-icon-image-columns, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-columns, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-contracted {\n  font-family: var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-contracted, var(--ag-icon-font-color));\n}\n\n.ag-icon-contracted::before {\n  content: var(--ag-icon-font-code-contracted, "\\f10b");\n  display: var(--ag-icon-font-display-contracted, var(--ag-icon-font-display));\n}\n\n.ag-icon-contracted::after {\n  background-image: var(--ag-icon-image-contracted, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-copy {\n  font-family: var(--ag-icon-font-family-copy, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-copy, var(--ag-icon-font-color));\n}\n\n.ag-icon-copy::before {\n  content: var(--ag-icon-font-code-copy, "\\f10c");\n  display: var(--ag-icon-font-display-copy, var(--ag-icon-font-display));\n}\n\n.ag-icon-copy::after {\n  background-image: var(--ag-icon-image-copy, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-copy, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cross {\n  font-family: var(--ag-icon-font-family-cross, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-cross, var(--ag-icon-font-color));\n}\n\n.ag-icon-cross::before {\n  content: var(--ag-icon-font-code-cross, "\\f10d");\n  display: var(--ag-icon-font-display-cross, var(--ag-icon-font-display));\n}\n\n.ag-icon-cross::after {\n  background-image: var(--ag-icon-image-cross, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-cross, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-csv {\n  font-family: var(--ag-icon-font-family-csv, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-csv, var(--ag-icon-font-color));\n}\n\n.ag-icon-csv::before {\n  content: var(--ag-icon-font-code-csv, "\\f10e");\n  display: var(--ag-icon-font-display-csv, var(--ag-icon-font-display));\n}\n\n.ag-icon-csv::after {\n  background-image: var(--ag-icon-image-csv, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-csv, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-cut {\n  font-family: var(--ag-icon-font-family-cut, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-cut, var(--ag-icon-font-color));\n}\n\n.ag-icon-cut::before {\n  content: var(--ag-icon-font-code-cut, "\\f10f");\n  display: var(--ag-icon-font-display-cut, var(--ag-icon-font-display));\n}\n\n.ag-icon-cut::after {\n  background-image: var(--ag-icon-image-cut, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-cut, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-desc {\n  font-family: var(--ag-icon-font-family-desc, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-desc, var(--ag-icon-font-color));\n}\n\n.ag-icon-desc::before {\n  content: var(--ag-icon-font-code-desc, "\\f110");\n  display: var(--ag-icon-font-display-desc, var(--ag-icon-font-display));\n}\n\n.ag-icon-desc::after {\n  background-image: var(--ag-icon-image-desc, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-desc, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-excel {\n  font-family: var(--ag-icon-font-family-excel, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-excel, var(--ag-icon-font-color));\n}\n\n.ag-icon-excel::before {\n  content: var(--ag-icon-font-code-excel, "\\f111");\n  display: var(--ag-icon-font-display-excel, var(--ag-icon-font-display));\n}\n\n.ag-icon-excel::after {\n  background-image: var(--ag-icon-image-excel, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-excel, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-expanded {\n  font-family: var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-expanded, var(--ag-icon-font-color));\n}\n\n.ag-icon-expanded::before {\n  content: var(--ag-icon-font-code-expanded, "\\f112");\n  display: var(--ag-icon-font-display-expanded, var(--ag-icon-font-display));\n}\n\n.ag-icon-expanded::after {\n  background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-eye-slash {\n  font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));\n}\n\n.ag-icon-eye-slash::before {\n  content: var(--ag-icon-font-code-eye-slash, "\\f113");\n  display: var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display));\n}\n\n.ag-icon-eye-slash::after {\n  background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-eye {\n  font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));\n}\n\n.ag-icon-eye::before {\n  content: var(--ag-icon-font-code-eye, "\\f114");\n  display: var(--ag-icon-font-display-eye, var(--ag-icon-font-display));\n}\n\n.ag-icon-eye::after {\n  background-image: var(--ag-icon-image-eye, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-eye, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-filter {\n  font-family: var(--ag-icon-font-family-filter, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-filter, var(--ag-icon-font-color));\n}\n\n.ag-icon-filter::before {\n  content: var(--ag-icon-font-code-filter, "\\f115");\n  display: var(--ag-icon-font-display-filter, var(--ag-icon-font-display));\n}\n\n.ag-icon-filter::after {\n  background-image: var(--ag-icon-image-filter, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-filter, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-first {\n  font-family: var(--ag-icon-font-family-first, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-first, var(--ag-icon-font-color));\n}\n\n.ag-icon-first::before {\n  content: var(--ag-icon-font-code-first, "\\f116");\n  display: var(--ag-icon-font-display-first, var(--ag-icon-font-display));\n}\n\n.ag-icon-first::after {\n  background-image: var(--ag-icon-image-first, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-first, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-grip {\n  font-family: var(--ag-icon-font-family-grip, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-grip, var(--ag-icon-font-color));\n}\n\n.ag-icon-grip::before {\n  content: var(--ag-icon-font-code-grip, "\\f117");\n  display: var(--ag-icon-font-display-grip, var(--ag-icon-font-display));\n}\n\n.ag-icon-grip::after {\n  background-image: var(--ag-icon-image-grip, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-grip, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-group {\n  font-family: var(--ag-icon-font-family-group, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-group, var(--ag-icon-font-color));\n}\n\n.ag-icon-group::before {\n  content: var(--ag-icon-font-code-group, "\\f118");\n  display: var(--ag-icon-font-display-group, var(--ag-icon-font-display));\n}\n\n.ag-icon-group::after {\n  background-image: var(--ag-icon-image-group, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-group, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-last {\n  font-family: var(--ag-icon-font-family-last, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-last, var(--ag-icon-font-color));\n}\n\n.ag-icon-last::before {\n  content: var(--ag-icon-font-code-last, "\\f119");\n  display: var(--ag-icon-font-display-last, var(--ag-icon-font-display));\n}\n\n.ag-icon-last::after {\n  background-image: var(--ag-icon-image-last, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-last, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-left {\n  font-family: var(--ag-icon-font-family-left, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-left, var(--ag-icon-font-color));\n}\n\n.ag-icon-left::before {\n  content: var(--ag-icon-font-code-left, "\\f11a");\n  display: var(--ag-icon-font-display-left, var(--ag-icon-font-display));\n}\n\n.ag-icon-left::after {\n  background-image: var(--ag-icon-image-left, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-left, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-linked {\n  font-family: var(--ag-icon-font-family-linked, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-linked, var(--ag-icon-font-color));\n}\n\n.ag-icon-linked::before {\n  content: var(--ag-icon-font-code-linked, "\\f11b");\n  display: var(--ag-icon-font-display-linked, var(--ag-icon-font-display));\n}\n\n.ag-icon-linked::after {\n  background-image: var(--ag-icon-image-linked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-linked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-loading {\n  font-family: var(--ag-icon-font-family-loading, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-loading, var(--ag-icon-font-color));\n}\n\n.ag-icon-loading::before {\n  content: var(--ag-icon-font-code-loading, "\\f11c");\n  display: var(--ag-icon-font-display-loading, var(--ag-icon-font-display));\n}\n\n.ag-icon-loading::after {\n  background-image: var(--ag-icon-image-loading, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-loading, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-maximize {\n  font-family: var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-maximize, var(--ag-icon-font-color));\n}\n\n.ag-icon-maximize::before {\n  content: var(--ag-icon-font-code-maximize, "\\f11d");\n  display: var(--ag-icon-font-display-maximize, var(--ag-icon-font-display));\n}\n\n.ag-icon-maximize::after {\n  background-image: var(--ag-icon-image-maximize, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-menu {\n  font-family: var(--ag-icon-font-family-menu, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-menu, var(--ag-icon-font-color));\n}\n\n.ag-icon-menu::before {\n  content: var(--ag-icon-font-code-menu, "\\f11e");\n  display: var(--ag-icon-font-display-menu, var(--ag-icon-font-display));\n}\n\n.ag-icon-menu::after {\n  background-image: var(--ag-icon-image-menu, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-menu, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-minimize {\n  font-family: var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-minimize, var(--ag-icon-font-color));\n}\n\n.ag-icon-minimize::before {\n  content: var(--ag-icon-font-code-minimize, "\\f11f");\n  display: var(--ag-icon-font-display-minimize, var(--ag-icon-font-display));\n}\n\n.ag-icon-minimize::after {\n  background-image: var(--ag-icon-image-minimize, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-next {\n  font-family: var(--ag-icon-font-family-next, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-next, var(--ag-icon-font-color));\n}\n\n.ag-icon-next::before {\n  content: var(--ag-icon-font-code-next, "\\f120");\n  display: var(--ag-icon-font-display-next, var(--ag-icon-font-display));\n}\n\n.ag-icon-next::after {\n  background-image: var(--ag-icon-image-next, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-next, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-none {\n  font-family: var(--ag-icon-font-family-none, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-none, var(--ag-icon-font-color));\n}\n\n.ag-icon-none::before {\n  content: var(--ag-icon-font-code-none, "\\f121");\n  display: var(--ag-icon-font-display-none, var(--ag-icon-font-display));\n}\n\n.ag-icon-none::after {\n  background-image: var(--ag-icon-image-none, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-not-allowed {\n  font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));\n}\n\n.ag-icon-not-allowed::before {\n  content: var(--ag-icon-font-code-not-allowed, "\\f122");\n  display: var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display));\n}\n\n.ag-icon-not-allowed::after {\n  background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-paste {\n  font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));\n}\n\n.ag-icon-paste::before {\n  content: var(--ag-icon-font-code-paste, "\\f123");\n  display: var(--ag-icon-font-display-paste, var(--ag-icon-font-display));\n}\n\n.ag-icon-paste::after {\n  background-image: var(--ag-icon-image-paste, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-paste, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-pin {\n  font-family: var(--ag-icon-font-family-pin, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-pin, var(--ag-icon-font-color));\n}\n\n.ag-icon-pin::before {\n  content: var(--ag-icon-font-code-pin, "\\f124");\n  display: var(--ag-icon-font-display-pin, var(--ag-icon-font-display));\n}\n\n.ag-icon-pin::after {\n  background-image: var(--ag-icon-image-pin, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-pin, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-pivot {\n  font-family: var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-pivot, var(--ag-icon-font-color));\n}\n\n.ag-icon-pivot::before {\n  content: var(--ag-icon-font-code-pivot, "\\f125");\n  display: var(--ag-icon-font-display-pivot, var(--ag-icon-font-display));\n}\n\n.ag-icon-pivot::after {\n  background-image: var(--ag-icon-image-pivot, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-previous {\n  font-family: var(--ag-icon-font-family-previous, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-previous, var(--ag-icon-font-color));\n}\n\n.ag-icon-previous::before {\n  content: var(--ag-icon-font-code-previous, "\\f126");\n  display: var(--ag-icon-font-display-previous, var(--ag-icon-font-display));\n}\n\n.ag-icon-previous::after {\n  background-image: var(--ag-icon-image-previous, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-radio-button-off {\n  font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));\n}\n\n.ag-icon-radio-button-off::before {\n  content: var(--ag-icon-font-code-radio-button-off, "\\f127");\n  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));\n}\n\n.ag-icon-radio-button-off::after {\n  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-radio-button-on {\n  font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));\n}\n\n.ag-icon-radio-button-on::before {\n  content: var(--ag-icon-font-code-radio-button-on, "\\f128");\n  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));\n}\n\n.ag-icon-radio-button-on::after {\n  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-right {\n  font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));\n}\n\n.ag-icon-right::before {\n  content: var(--ag-icon-font-code-right, "\\f129");\n  display: var(--ag-icon-font-display-right, var(--ag-icon-font-display));\n}\n\n.ag-icon-right::after {\n  background-image: var(--ag-icon-image-right, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-right, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-save {\n  font-family: var(--ag-icon-font-family-save, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-save, var(--ag-icon-font-color));\n}\n\n.ag-icon-save::before {\n  content: var(--ag-icon-font-code-save, "\\f12a");\n  display: var(--ag-icon-font-display-save, var(--ag-icon-font-display));\n}\n\n.ag-icon-save::after {\n  background-image: var(--ag-icon-image-save, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-down {\n  font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-down::before {\n  content: var(--ag-icon-font-code-small-down, "\\f12b");\n  display: var(--ag-icon-font-display-small-down, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-down::after {\n  background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-left {\n  font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-left::before {\n  content: var(--ag-icon-font-code-small-left, "\\f12c");\n  display: var(--ag-icon-font-display-small-left, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-left::after {\n  background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-right {\n  font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-right::before {\n  content: var(--ag-icon-font-code-small-right, "\\f12d");\n  display: var(--ag-icon-font-display-small-right, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-right::after {\n  background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-small-up {\n  font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));\n}\n\n.ag-icon-small-up::before {\n  content: var(--ag-icon-font-code-small-up, "\\f12e");\n  display: var(--ag-icon-font-display-small-up, var(--ag-icon-font-display));\n}\n\n.ag-icon-small-up::after {\n  background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tick {\n  font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));\n}\n\n.ag-icon-tick::before {\n  content: var(--ag-icon-font-code-tick, "\\f12f");\n  display: var(--ag-icon-font-display-tick, var(--ag-icon-font-display));\n}\n\n.ag-icon-tick::after {\n  background-image: var(--ag-icon-image-tick, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-closed {\n  font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-closed::before {\n  content: var(--ag-icon-font-code-tree-closed, "\\f130");\n  display: var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-closed::after {\n  background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-indeterminate {\n  font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-indeterminate::before {\n  content: var(--ag-icon-font-code-tree-indeterminate, "\\f131");\n  display: var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-indeterminate::after {\n  background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-tree-open {\n  font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));\n}\n\n.ag-icon-tree-open::before {\n  content: var(--ag-icon-font-code-tree-open, "\\f132");\n  display: var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display));\n}\n\n.ag-icon-tree-open::after {\n  background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-unlinked {\n  font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));\n}\n\n.ag-icon-unlinked::before {\n  content: var(--ag-icon-font-code-unlinked, "\\f133");\n  display: var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display));\n}\n\n.ag-icon-unlinked::after {\n  background-image: var(--ag-icon-image-unlinked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-up {\n  font-family: var(--ag-icon-font-family-up, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-up, var(--ag-icon-font-color));\n}\n\n.ag-icon-up::before {\n  content: var(--ag-icon-font-code-up, "\\f134");\n  display: var(--ag-icon-font-display-up, var(--ag-icon-font-display));\n}\n\n.ag-icon-up::after {\n  background-image: var(--ag-icon-image-up, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-up, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-down {\n  font-family: var(--ag-icon-font-family-down, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-down, var(--ag-icon-font-color));\n}\n\n.ag-icon-down::before {\n  content: var(--ag-icon-font-code-down, "\\f135");\n  display: var(--ag-icon-font-display-down, var(--ag-icon-font-display));\n}\n\n.ag-icon-down::after {\n  background-image: var(--ag-icon-image-down, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-down, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-plus {\n  font-family: var(--ag-icon-font-family-plus, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-plus, var(--ag-icon-font-color));\n}\n\n.ag-icon-plus::before {\n  content: var(--ag-icon-font-code-plus, "\\f136");\n  display: var(--ag-icon-font-display-plus, var(--ag-icon-font-display));\n}\n\n.ag-icon-plus::after {\n  background-image: var(--ag-icon-image-plus, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-plus, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-minus {\n  font-family: var(--ag-icon-font-family-minus, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-minus, var(--ag-icon-font-color));\n}\n\n.ag-icon-minus::before {\n  content: var(--ag-icon-font-code-minus, "\\f137");\n  display: var(--ag-icon-font-display-minus, var(--ag-icon-font-display));\n}\n\n.ag-icon-minus::after {\n  background-image: var(--ag-icon-image-minus, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-menu-alt {\n  font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));\n}\n\n.ag-icon-menu-alt::before {\n  content: var(--ag-icon-font-code-menu-alt, "\\f138");\n  display: var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display));\n}\n\n.ag-icon-menu-alt::after {\n  background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-settings {\n  font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));\n  font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));\n  color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));\n}\n\n.ag-icon-settings::before {\n  content: var(--ag-icon-font-code-settings, "\\f139");\n  display: var(--ag-icon-font-display-settings, var(--ag-icon-font-display));\n}\n\n.ag-icon-settings::after {\n  background-image: var(--ag-icon-image-settings, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-icon-row-drag::before {\n  content: var(--ag-icon-font-code-grip);\n}\n\n.ag-left-arrow::before {\n  content: var(--ag-icon-font-code-left);\n}\n\n.ag-right-arrow::before {\n  content: var(--ag-icon-font-code-right);\n}\n\n[class*=ag-theme-] {\n  --ag-foreground-color: #000;\n  --ag-data-color: var(--ag-foreground-color);\n  --ag-secondary-foreground-color: var(--ag-foreground-color);\n  --ag-header-foreground-color: var(--ag-secondary-foreground-color);\n  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);\n  --ag-background-color: #fff;\n  --ag-header-background-color: transparent;\n  --ag-tooltip-background-color: transparent;\n  --ag-subheader-background-color: transparent;\n  --ag-subheader-toolbar-background-color: transparent;\n  --ag-control-panel-background-color: transparent;\n  --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);\n  --ag-selected-row-background-color: #BBB;\n  --ag-odd-row-background-color: var(--ag-background-color);\n  --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);\n  --ag-menu-background-color: var(--ag-background-color);\n  --ag-menu-border-color: var(--ag-border-color);\n  --ag-panel-background-color: var(--ag-background-color);\n  --ag-panel-border-color: var(--ag-border-color);\n  --ag-row-hover-color: transparent;\n  --ag-column-hover-color: transparent;\n  --ag-range-selection-border-color: var(--ag-foreground-color);\n  --ag-range-selection-border-style: solid;\n  --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);\n  --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);\n  --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);\n  --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);\n  --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);\n  --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);\n  --ag-selected-tab-underline-width: 0;\n  --ag-selected-tab-underline-transition-speed: 0s;\n  --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);\n  --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);\n  --ag-header-cell-hover-background-color: transparent;\n  --ag-header-cell-moving-background-color: var(--ag-background-color);\n  --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);\n  --ag-value-change-delta-up-color: #43a047;\n  --ag-value-change-delta-down-color: #e53935;\n  --ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, 0.2);\n  --ag-chip-background-color: transparent;\n  --ag-chip-border-color: var(--ag-chip-background-color);\n  --ag-borders: solid 1px;\n  --ag-border-color: rgba(0, 0, 0, 0.25);\n  --ag-borders-critical: var(--ag-borders);\n  --ag-borders-secondary: var(--ag-borders);\n  --ag-secondary-border-color: var(--ag-border-color);\n  --ag-row-border-style: solid;\n  --ag-row-border-color: var(--ag-secondary-border-color);\n  --ag-row-border-width: 1px;\n  --ag-cell-horizontal-border: solid transparent;\n  --ag-borders-input: var(--ag-borders-secondary);\n  --ag-input-border-color: var(--ag-secondary-border-color);\n  --ag-borders-input-invalid: solid 2px;\n  --ag-input-border-color-invalid: var(--ag-invalid-color);\n  --ag-borders-side-button: var(--ag-borders);\n  --ag-border-radius: 0px;\n  --ag-wrapper-border-radius: var(--ag-border-radius);\n  --ag-row-border-color: var(--ag-secondary-border-color);\n  --ag-header-column-separator-display: none;\n  --ag-header-column-separator-height: 100%;\n  --ag-header-column-separator-width: 1px;\n  --ag-header-column-separator-color: var(--ag-secondary-border-color);\n  --ag-header-column-resize-handle-display: none;\n  --ag-header-column-resize-handle-height: 50%;\n  --ag-header-column-resize-handle-width: 1px;\n  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);\n  --ag-invalid-color: red;\n  --ag-input-disabled-border-color: var(--ag-input-border-color);\n  --ag-input-disabled-background-color: transparent;\n  --ag-checkbox-background-color: transparent;\n  --ag-checkbox-border-radius: var(--ag-border-radius);\n  --ag-checkbox-checked-color: var(--ag-foreground-color);\n  --ag-checkbox-unchecked-color: var(--ag-foreground-color);\n  --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);\n  --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);\n  --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);\n  --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);\n  --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);\n  --ag-toggle-button-switch-background-color: var(--ag-background-color);\n  --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);\n  --ag-toggle-button-border-width: 1px;\n  --ag-toggle-button-height: var(--ag-icon-size);\n  --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);\n  --ag-input-focus-box-shadow: none;\n  --ag-input-focus-border-color: none;\n  --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);\n  --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);\n  --ag-grid-size: 4px;\n  --ag-icon-size: 12px;\n  --ag-icon-font-weight: normal;\n  --ag-icon-font-color: var(--ag-foreground-color);\n  --ag-icon-image-display: block;\n  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);\n  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);\n  --ag-widget-vertical-spacing: var(--ag-grid-size);\n  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n  --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);\n  --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);\n  --ag-header-height: var(--ag-row-height);\n  --ag-list-item-height: calc(var(--ag-grid-size) * 5);\n  --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n  --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n  --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));\n  --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));\n  --ag-filter-tool-panel-group-indent: 16px;\n  --ag-tab-min-width: 220px;\n  --ag-menu-min-width: 181px;\n  --ag-side-bar-panel-width: 200px;\n  --ag-font-family: "Helvetica Neue", sans-serif;\n  --ag-font-size: 14px;\n  --ag-card-radius: var(--ag-border-radius);\n  --ag-card-shadow: none;\n  --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);\n  --ag-advanced-filter-join-pill-color: #f08e8d;\n  --ag-advanced-filter-column-pill-color: #a6e194;\n  --ag-advanced-filter-option-pill-color: #f3c08b;\n  --ag-advanced-filter-value-pill-color: #85c0e4;\n}\n\n.ag-root-wrapper, .ag-sticky-top, .ag-sticky-bottom, .ag-dnd-ghost {\n  background-color: var(--ag-background-color);\n}\n\n[class*=ag-theme-] {\n  -webkit-font-smoothing: antialiased;\n  font-family: var(--ag-font-family);\n  font-size: var(--ag-font-size);\n  line-height: normal;\n  color: var(--ag-foreground-color);\n}\n\nag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {\n  display: block;\n}\n\n.ag-aria-description-container {\n  z-index: 9999;\n  border: 0px;\n  clip: rect(1px, 1px, 1px, 1px);\n  height: 1px;\n  width: 1px;\n  position: absolute;\n  overflow: hidden;\n  padding: 0px;\n  white-space: nowrap;\n}\n\n.ag-hidden {\n  display: none !important;\n}\n\n.ag-invisible {\n  visibility: hidden !important;\n}\n\n.ag-no-transition {\n  transition: none !important;\n}\n\n.ag-drag-handle {\n  cursor: grab;\n}\n\n.ag-column-drop-wrapper {\n  display: flex;\n}\n\n.ag-column-drop-horizontal-half-width {\n  display: inline-block;\n  width: 50% !important;\n}\n\n.ag-unselectable {\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-selectable {\n  -moz-user-select: text;\n  -webkit-user-select: text;\n  user-select: text;\n}\n\n.ag-tab {\n  position: relative;\n}\n\n.ag-tab-guard {\n  position: absolute;\n  width: 0;\n  height: 0;\n  display: block;\n}\n\n.ag-select-agg-func-popup {\n  position: absolute;\n}\n\n.ag-input-wrapper, .ag-picker-field-wrapper {\n  display: flex;\n  flex: 1 1 auto;\n  align-items: center;\n  line-height: normal;\n  position: relative;\n}\n\n.ag-shake-left-to-right {\n  animation-direction: alternate;\n  animation-duration: 0.2s;\n  animation-iteration-count: infinite;\n  animation-name: ag-shake-left-to-right;\n}\n\n@keyframes ag-shake-left-to-right {\n  from {\n    padding-left: 6px;\n    padding-right: 2px;\n  }\n  to {\n    padding-left: 2px;\n    padding-right: 6px;\n  }\n}\n.ag-root-wrapper {\n  cursor: default;\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  white-space: normal;\n}\n.ag-root-wrapper.ag-layout-normal {\n  height: 100%;\n}\n\n.ag-watermark {\n  position: absolute;\n  bottom: 20px;\n  right: 25px;\n  opacity: 0.7;\n  transition: opacity 1s ease-out 3s;\n  color: #9B9B9B;\n}\n.ag-watermark::before {\n  content: "";\n  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);\n  background-repeat: no-repeat;\n  background-size: 170px 40px;\n  display: block;\n  height: 40px;\n  width: 170px;\n}\n\n.ag-watermark-text {\n  opacity: 0.5;\n  font-weight: bold;\n  font-family: Impact, sans-serif;\n  font-size: 19px;\n  padding-left: 0.7rem;\n}\n\n.ag-root-wrapper-body {\n  display: flex;\n  flex-direction: row;\n}\n.ag-root-wrapper-body.ag-layout-normal {\n  flex: 1 1 auto;\n  height: 0;\n  min-height: 0;\n}\n\n.ag-root {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n}\n.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {\n  overflow: hidden;\n  flex: 1 1 auto;\n  width: 0;\n}\n.ag-root.ag-layout-normal {\n  height: 100%;\n}\n\n.ag-header-viewport,\n.ag-floating-top-viewport,\n.ag-body-viewport,\n.ag-center-cols-viewport,\n.ag-floating-bottom-viewport,\n.ag-body-horizontal-scroll-viewport,\n.ag-body-vertical-scroll-viewport,\n.ag-virtual-list-viewport,\n.ag-sticky-top-viewport,\n.ag-sticky-bottom-viewport {\n  position: relative;\n  height: 100%;\n  min-width: 0px;\n  overflow: hidden;\n  flex: 1 1 auto;\n}\n\n.ag-body-viewport, .ag-center-cols-viewport {\n  -ms-overflow-style: none !important;\n  scrollbar-width: none !important;\n}\n.ag-body-viewport::-webkit-scrollbar, .ag-center-cols-viewport::-webkit-scrollbar {\n  display: none !important;\n}\n\n.ag-body-viewport {\n  display: flex;\n}\n.ag-body-viewport.ag-layout-normal {\n  overflow-y: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.ag-center-cols-viewport {\n  min-height: 100%;\n  width: 100%;\n  overflow-x: auto;\n}\n\n.ag-body-horizontal-scroll-viewport {\n  overflow-x: scroll;\n}\n\n.ag-body-vertical-scroll-viewport {\n  overflow-y: scroll;\n}\n\n.ag-virtual-list-viewport {\n  overflow: auto;\n  width: 100%;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-body-container,\n.ag-pinned-right-cols-container,\n.ag-center-cols-container,\n.ag-pinned-left-cols-container,\n.ag-floating-bottom-container,\n.ag-body-horizontal-scroll-container,\n.ag-body-vertical-scroll-container,\n.ag-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-virtual-list-container,\n.ag-sticky-top-container,\n.ag-sticky-bottom-container {\n  position: relative;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-floating-bottom-container,\n.ag-sticky-top-container,\n.ag-sticky-bottom-container {\n  height: 100%;\n  white-space: nowrap;\n}\n\n.ag-center-cols-container {\n  display: block;\n}\n\n.ag-pinned-right-cols-container {\n  display: block;\n}\n\n.ag-body-horizontal-scroll-container {\n  height: 100%;\n}\n\n.ag-body-vertical-scroll-container {\n  width: 100%;\n}\n\n.ag-full-width-container,\n.ag-floating-top-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-sticky-top-full-width-container,\n.ag-sticky-bottom-full-width-container {\n  position: absolute;\n  top: 0px;\n  pointer-events: none;\n}\n.ag-ltr .ag-full-width-container,\n.ag-ltr .ag-floating-top-full-width-container,\n.ag-ltr .ag-floating-bottom-full-width-container,\n.ag-ltr .ag-sticky-top-full-width-container,\n.ag-ltr .ag-sticky-bottom-full-width-container {\n  left: 0;\n}\n.ag-rtl .ag-full-width-container,\n.ag-rtl .ag-floating-top-full-width-container,\n.ag-rtl .ag-floating-bottom-full-width-container,\n.ag-rtl .ag-sticky-top-full-width-container,\n.ag-rtl .ag-sticky-bottom-full-width-container {\n  right: 0;\n}\n\n.ag-full-width-container {\n  width: 100%;\n}\n\n.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {\n  display: inline-block;\n  overflow: hidden;\n  height: 100%;\n  width: 100%;\n}\n\n.ag-virtual-list-container {\n  overflow: hidden;\n}\n\n.ag-body {\n  position: relative;\n  display: flex;\n  flex: 1 1 auto;\n  flex-direction: row !important;\n  min-height: 0;\n}\n\n.ag-body-horizontal-scroll,\n.ag-body-vertical-scroll {\n  min-height: 0;\n  min-width: 0;\n  display: flex;\n  position: relative;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible,\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n  position: absolute;\n  bottom: 0;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {\n  opacity: 0;\n  transition: opacity 400ms;\n  visibility: hidden;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {\n  visibility: visible;\n  opacity: 1;\n}\n\n.ag-body-horizontal-scroll {\n  width: 100%;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible {\n  left: 0;\n  right: 0;\n}\n\n.ag-body-vertical-scroll {\n  height: 100%;\n}\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n  top: 0;\n  z-index: 10;\n}\n.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {\n  right: 0;\n}\n.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {\n  left: 0;\n}\n\n.ag-force-vertical-scroll {\n  overflow-y: scroll !important;\n}\n\n.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {\n  height: 100%;\n  min-width: 0;\n  overflow-x: scroll;\n}\n.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {\n  overflow-x: hidden;\n}\n\n.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n}\n\n.ag-header-cell-sortable .ag-header-cell-label {\n  cursor: pointer;\n}\n\n.ag-header {\n  display: flex;\n  width: 100%;\n  white-space: nowrap;\n}\n\n.ag-pinned-left-header {\n  height: 100%;\n}\n\n.ag-pinned-right-header {\n  height: 100%;\n}\n\n.ag-header-row {\n  position: absolute;\n}\n\n.ag-header-row:not(.ag-header-row-column-group) {\n  overflow: hidden;\n}\n\n.ag-header.ag-header-allow-overflow .ag-header-row {\n  overflow: visible;\n}\n\n.ag-header-cell {\n  display: inline-flex;\n  align-items: center;\n  position: absolute;\n  height: 100%;\n}\n\n.ag-header-cell.ag-header-active .ag-header-cell-menu-button, .ag-header-cell-filter-button {\n  opacity: 1;\n}\n\n.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {\n  transition: opacity 0.2s;\n  opacity: 0;\n}\n\n.ag-header-group-cell-label, .ag-header-cell-label {\n  display: flex;\n  flex: 1 1 auto;\n  align-self: stretch;\n  align-items: center;\n}\n\n.ag-header-cell-label {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.ag-header-group-cell-label.ag-sticky-label {\n  position: sticky;\n  flex: none;\n  max-width: 100%;\n}\n\n.ag-header-group-text {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.ag-header-cell-text {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {\n  height: 100%;\n  display: flex;\n  align-items: center;\n}\n\n.ag-header-cell-comp-wrapper {\n  width: 100%;\n}\n\n.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {\n  white-space: normal;\n}\n\n.ag-right-aligned-header .ag-header-cell-label {\n  flex-direction: row-reverse;\n}\n\n.ag-header-cell-resize {\n  position: absolute;\n  z-index: 2;\n  height: 100%;\n  width: 8px;\n  top: 0;\n  cursor: ew-resize;\n}\n.ag-ltr .ag-header-cell-resize {\n  right: -4px;\n}\n.ag-rtl .ag-header-cell-resize {\n  left: -4px;\n}\n\n.ag-pinned-left-header .ag-header-cell-resize {\n  right: -4px;\n}\n\n.ag-pinned-right-header .ag-header-cell-resize {\n  left: -4px;\n}\n\n.ag-header-select-all {\n  display: flex;\n}\n\n.ag-header-cell-menu-button,\n.ag-header-cell-filter-button,\n.ag-side-button-button,\n.ag-panel-title-bar-button,\n.ag-floating-filter-button-button {\n  cursor: pointer;\n}\n\n.ag-column-moving .ag-cell {\n  transition: left 0.2s;\n}\n.ag-column-moving .ag-header-cell {\n  transition: left 0.2s;\n}\n.ag-column-moving .ag-header-group-cell {\n  transition: left 0.2s, width 0.2s;\n}\n\n.ag-column-panel {\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  flex: 1 1 auto;\n}\n\n.ag-column-select {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  flex: 3 1 0px;\n}\n\n.ag-column-select-header {\n  position: relative;\n  display: flex;\n  flex: none;\n}\n\n.ag-column-select-header-icon {\n  position: relative;\n}\n\n.ag-column-select-header-filter-wrapper {\n  flex: 1 1 auto;\n}\n\n.ag-column-select-header-filter {\n  width: 100%;\n}\n\n.ag-column-select-list {\n  flex: 1 1 0px;\n  overflow: hidden;\n}\n\n.ag-column-drop {\n  position: relative;\n  display: inline-flex;\n  align-items: center;\n  overflow: auto;\n  width: 100%;\n}\n\n.ag-column-drop-list {\n  display: flex;\n  align-items: center;\n}\n\n.ag-column-drop-cell {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.ag-column-drop-cell-text {\n  overflow: hidden;\n  flex: 1 1 auto;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.ag-column-drop-vertical {\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  align-items: stretch;\n  flex: 1 1 0px;\n}\n\n.ag-column-drop-vertical-title-bar {\n  display: flex;\n  align-items: center;\n  flex: none;\n}\n\n.ag-column-drop-vertical-list {\n  position: relative;\n  align-items: stretch;\n  flex-grow: 1;\n  flex-direction: column;\n  overflow-x: auto;\n}\n.ag-column-drop-vertical-list > * {\n  flex: none;\n}\n\n.ag-column-drop-empty .ag-column-drop-vertical-list {\n  overflow: hidden;\n}\n\n.ag-column-drop-vertical-empty-message {\n  display: block;\n}\n\n.ag-column-drop.ag-column-drop-horizontal {\n  white-space: nowrap;\n  overflow: hidden;\n}\n\n.ag-column-drop-cell-button {\n  cursor: pointer;\n}\n\n.ag-filter-toolpanel {\n  flex: 1 1 0px;\n  min-width: 0;\n}\n\n.ag-filter-toolpanel-header {\n  position: relative;\n}\n\n.ag-filter-toolpanel-header, .ag-filter-toolpanel-search {\n  display: flex;\n  align-items: center;\n}\n.ag-filter-toolpanel-header > *, .ag-filter-toolpanel-search > * {\n  display: flex;\n  align-items: center;\n}\n\n.ag-filter-apply-panel {\n  display: flex;\n  justify-content: flex-end;\n  overflow: hidden;\n}\n\n.ag-row-animation .ag-row {\n  transition: transform 0.4s, top 0.4s;\n}\n\n.ag-row-animation .ag-row.ag-after-created {\n  transition: transform 0.4s, top 0.4s, height 0.4s;\n}\n\n.ag-row-no-animation .ag-row {\n  transition: none;\n}\n\n.ag-row {\n  white-space: nowrap;\n  width: 100%;\n}\n\n.ag-row-loading {\n  display: flex;\n  align-items: center;\n}\n\n.ag-row-position-absolute {\n  position: absolute;\n}\n\n.ag-row-position-relative {\n  position: relative;\n}\n\n.ag-full-width-row {\n  overflow: hidden;\n  pointer-events: all;\n}\n\n.ag-row-inline-editing {\n  z-index: 1;\n}\n\n.ag-row-dragging {\n  z-index: 2;\n}\n\n.ag-stub-cell {\n  display: flex;\n  align-items: center;\n}\n\n.ag-cell {\n  display: inline-block;\n  position: absolute;\n  white-space: nowrap;\n  height: 100%;\n}\n\n.ag-cell-value {\n  flex: 1 1 auto;\n}\n\n.ag-cell-value, .ag-group-value {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.ag-cell-wrap-text {\n  white-space: normal;\n}\n\n.ag-cell-wrapper {\n  display: flex;\n  align-items: center;\n}\n.ag-cell-wrapper.ag-row-group {\n  align-items: flex-start;\n}\n\n.ag-sparkline-wrapper {\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  left: 0;\n  top: 0;\n}\n\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n  height: 100%;\n  align-items: center;\n}\n\n.ag-cell-inline-editing {\n  z-index: 1;\n}\n.ag-cell-inline-editing .ag-cell-wrapper,\n.ag-cell-inline-editing .ag-cell-edit-wrapper,\n.ag-cell-inline-editing .ag-cell-editor,\n.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,\n.ag-cell-inline-editing .ag-cell-editor input {\n  height: 100%;\n  width: 100%;\n  line-height: normal;\n}\n\n.ag-cell .ag-icon {\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.ag-set-filter-item {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\n\n.ag-set-filter-item-checkbox {\n  display: flex;\n  width: 100%;\n  height: 100%;\n}\n\n.ag-set-filter-group-icons {\n  display: block;\n}\n.ag-set-filter-group-icons > * {\n  cursor: pointer;\n}\n\n.ag-filter-body-wrapper {\n  display: flex;\n  flex-direction: column;\n}\n\n.ag-filter-filter {\n  flex: 1 1 0px;\n}\n\n.ag-filter-condition {\n  display: flex;\n  justify-content: center;\n}\n\n.ag-floating-filter-body {\n  position: relative;\n  display: flex;\n  flex: 1 1 auto;\n  height: 100%;\n}\n\n.ag-floating-filter-full-body {\n  display: flex;\n  flex: 1 1 auto;\n  height: 100%;\n  width: 100%;\n  align-items: center;\n  overflow: hidden;\n}\n\n.ag-floating-filter-full-body > div {\n  flex: 1 1 auto;\n}\n\n.ag-floating-filter-input {\n  align-items: center;\n  display: flex;\n  width: 100%;\n}\n.ag-floating-filter-input > * {\n  flex: 1 1 auto;\n}\n\n.ag-floating-filter-button {\n  display: flex;\n  flex: none;\n}\n\n.ag-set-floating-filter-input input[disabled] {\n  pointer-events: none;\n}\n\n.ag-dnd-ghost {\n  position: absolute;\n  display: inline-flex;\n  align-items: center;\n  cursor: move;\n  white-space: nowrap;\n  z-index: 9999;\n}\n\n.ag-overlay {\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 2;\n}\n\n.ag-overlay-panel {\n  display: flex;\n  height: 100%;\n  width: 100%;\n}\n\n.ag-overlay-wrapper {\n  display: flex;\n  flex: none;\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n}\n\n.ag-overlay-loading-wrapper {\n  pointer-events: all;\n}\n\n.ag-popup-child {\n  z-index: 5;\n  top: 0;\n}\n\n.ag-popup-editor {\n  position: absolute;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-large-text-input {\n  display: block;\n}\n\n.ag-virtual-list-item {\n  position: absolute;\n  width: 100%;\n}\n\n.ag-floating-top {\n  overflow: hidden;\n  white-space: nowrap;\n  width: 100%;\n  position: relative;\n  display: flex;\n}\n\n.ag-pinned-left-floating-top {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n  min-width: 0px;\n}\n\n.ag-pinned-right-floating-top {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n  min-width: 0px;\n}\n\n.ag-floating-bottom {\n  overflow: hidden;\n  white-space: nowrap;\n  width: 100%;\n  position: relative;\n  display: flex;\n}\n\n.ag-pinned-left-floating-bottom {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n  min-width: 0px;\n}\n\n.ag-pinned-right-floating-bottom {\n  display: inline-block;\n  overflow: hidden;\n  position: relative;\n  min-width: 0px;\n}\n\n.ag-sticky-top,\n.ag-sticky-bottom {\n  position: absolute;\n  display: flex;\n  width: 100%;\n}\n\n.ag-pinned-left-sticky-top,\n.ag-pinned-right-sticky-top {\n  position: relative;\n  height: 100%;\n  overflow: hidden;\n}\n\n.ag-sticky-top-full-width-container,\n.ag-sticky-bottom-full-width-container {\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n}\n\n.ag-dialog, .ag-panel {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n  overflow: hidden;\n}\n\n.ag-panel-title-bar {\n  display: flex;\n  flex: none;\n  align-items: center;\n  cursor: default;\n}\n\n.ag-panel-title-bar-title {\n  flex: 1 1 auto;\n}\n\n.ag-panel-title-bar-buttons {\n  display: flex;\n}\n\n.ag-panel-title-bar-button {\n  cursor: pointer;\n}\n\n.ag-panel-content-wrapper {\n  display: flex;\n  flex: 1 1 auto;\n  position: relative;\n  overflow: hidden;\n}\n\n.ag-dialog {\n  position: absolute;\n}\n\n.ag-resizer {\n  position: absolute;\n  pointer-events: none;\n  z-index: 1;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n.ag-resizer.ag-resizer-topLeft {\n  top: 0;\n  left: 0;\n  height: 5px;\n  width: 5px;\n  cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-top {\n  top: 0;\n  left: 5px;\n  right: 5px;\n  height: 5px;\n  cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-topRight {\n  top: 0;\n  right: 0;\n  height: 5px;\n  width: 5px;\n  cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-right {\n  top: 5px;\n  right: 0;\n  bottom: 5px;\n  width: 5px;\n  cursor: ew-resize;\n}\n.ag-resizer.ag-resizer-bottomRight {\n  bottom: 0;\n  right: 0;\n  height: 5px;\n  width: 5px;\n  cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-bottom {\n  bottom: 0;\n  left: 5px;\n  right: 5px;\n  height: 5px;\n  cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-bottomLeft {\n  bottom: 0;\n  left: 0;\n  height: 5px;\n  width: 5px;\n  cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-left {\n  left: 0;\n  top: 5px;\n  bottom: 5px;\n  width: 5px;\n  cursor: ew-resize;\n}\n\n.ag-tooltip {\n  position: absolute;\n  z-index: 99999;\n}\n\n.ag-tooltip-custom {\n  position: absolute;\n  z-index: 99999;\n}\n\n.ag-tooltip:not(.ag-tooltip-interactive),\n.ag-tooltip-custom:not(.ag-tooltip-interactive) {\n  pointer-events: none;\n}\n\n.ag-value-slide-out {\n  margin-right: 5px;\n  opacity: 1;\n  transition: opacity 3s, margin-right 3s;\n  transition-timing-function: linear;\n}\n\n.ag-value-slide-out-end {\n  margin-right: 10px;\n  opacity: 0;\n}\n\n.ag-opacity-zero {\n  opacity: 0 !important;\n}\n\n.ag-menu {\n  max-height: 100%;\n  overflow-y: auto;\n  position: absolute;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-menu-column-select-wrapper {\n  height: 265px;\n  overflow: auto;\n}\n.ag-menu-column-select-wrapper .ag-column-select {\n  height: 100%;\n}\n\n.ag-dialog .ag-panel-content-wrapper .ag-column-select {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n          user-select: none;\n}\n\n.ag-menu-list {\n  display: table;\n  width: 100%;\n}\n\n.ag-menu-option, .ag-menu-separator {\n  display: table-row;\n}\n\n.ag-menu-option-part, .ag-menu-separator-part {\n  display: table-cell;\n  vertical-align: middle;\n}\n\n.ag-menu-option-text {\n  white-space: nowrap;\n}\n\n.ag-menu-option-custom {\n  display: contents;\n}\n\n.ag-compact-menu-option {\n  width: 100%;\n  display: flex;\n  flex-wrap: nowrap;\n}\n\n.ag-compact-menu-option-text {\n  white-space: nowrap;\n  flex: 1 1 auto;\n}\n\n.ag-rich-select {\n  cursor: default;\n  outline: none;\n  height: 100%;\n}\n\n.ag-rich-select-value {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\n.ag-rich-select-value .ag-picker-field-display {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {\n  opacity: 0.5;\n}\n\n.ag-rich-select-list {\n  position: relative;\n}\n.ag-rich-select-list .ag-loading-text {\n  min-height: 2rem;\n}\n\n.ag-rich-select-row {\n  display: flex;\n  flex: 1 1 auto;\n  align-items: center;\n  white-space: nowrap;\n  overflow: hidden;\n  height: 100%;\n}\n\n.ag-rich-select-field-input {\n  flex: 1 1 auto;\n}\n.ag-rich-select-field-input .ag-input-field-input {\n  padding: 0 !important;\n  border: none !important;\n  box-shadow: none !important;\n  text-overflow: ellipsis;\n}\n.ag-rich-select-field-input .ag-input-field-input::-moz-placeholder {\n  opacity: 0.8;\n}\n.ag-rich-select-field-input .ag-input-field-input::placeholder {\n  opacity: 0.8;\n}\n\n.ag-autocomplete {\n  align-items: center;\n  display: flex;\n}\n.ag-autocomplete > * {\n  flex: 1 1 auto;\n}\n\n.ag-autocomplete-list-popup {\n  position: absolute;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-autocomplete-list {\n  position: relative;\n}\n\n.ag-autocomplete-virtual-list-item {\n  display: flex;\n}\n\n.ag-autocomplete-row {\n  display: flex;\n  flex: 1 1 auto;\n  align-items: center;\n  overflow: hidden;\n}\n\n.ag-autocomplete-row-label {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.ag-paging-panel {\n  align-items: center;\n  display: flex;\n  justify-content: flex-end;\n}\n\n.ag-paging-page-summary-panel {\n  display: flex;\n  align-items: center;\n}\n\n.ag-paging-button {\n  position: relative;\n}\n\n.ag-disabled .ag-paging-page-summary-panel {\n  pointer-events: none;\n}\n\n.ag-tool-panel-wrapper {\n  display: flex;\n  overflow-y: auto;\n  overflow-x: hidden;\n  cursor: default;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-column-select-column,\n.ag-column-select-column-group,\n.ag-select-agg-func-item {\n  position: relative;\n  align-items: center;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  height: 100%;\n}\n.ag-column-select-column > *,\n.ag-column-select-column-group > *,\n.ag-select-agg-func-item > * {\n  flex: none;\n}\n\n.ag-select-agg-func-item,\n.ag-column-select-column-label {\n  flex: 1 1 auto;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.ag-column-select-checkbox {\n  display: flex;\n}\n\n.ag-tool-panel-horizontal-resize {\n  cursor: ew-resize;\n  height: 100%;\n  position: absolute;\n  top: 0;\n  width: 5px;\n  z-index: 1;\n}\n\n.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n  right: -3px;\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n  left: -3px;\n}\n\n.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n  left: -3px;\n}\n.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n  right: -3px;\n}\n\n.ag-details-row {\n  width: 100%;\n}\n\n.ag-details-row-fixed-height {\n  height: 100%;\n}\n\n.ag-details-grid {\n  width: 100%;\n}\n\n.ag-details-grid-fixed-height {\n  height: 100%;\n}\n\n.ag-header-group-cell {\n  display: flex;\n  align-items: center;\n  height: 100%;\n  position: absolute;\n}\n\n.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {\n  display: none;\n}\n\n.ag-cell-label-container {\n  display: flex;\n  justify-content: space-between;\n  flex-direction: row-reverse;\n  align-items: center;\n  height: 100%;\n  width: 100%;\n  padding: 5px 0px;\n}\n\n.ag-right-aligned-header .ag-cell-label-container {\n  flex-direction: row;\n}\n.ag-right-aligned-header .ag-header-cell-text {\n  text-align: end;\n}\n\n.ag-side-bar {\n  display: flex;\n  flex-direction: row-reverse;\n}\n\n.ag-side-bar-left {\n  order: -1;\n  flex-direction: row;\n}\n\n.ag-side-button-button {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  flex-wrap: nowrap;\n  white-space: nowrap;\n  outline: none;\n  cursor: pointer;\n}\n\n.ag-side-button-label {\n  writing-mode: vertical-lr;\n}\n\n.ag-status-bar {\n  display: flex;\n  justify-content: space-between;\n  overflow: hidden;\n}\n\n.ag-status-panel {\n  display: inline-flex;\n}\n\n.ag-status-name-value {\n  white-space: nowrap;\n}\n\n.ag-status-bar-left {\n  display: inline-flex;\n}\n\n.ag-status-bar-center {\n  display: inline-flex;\n}\n\n.ag-status-bar-right {\n  display: inline-flex;\n}\n\n.ag-icon {\n  display: block;\n  speak: none;\n}\n\n.ag-group {\n  position: relative;\n  width: 100%;\n}\n\n.ag-group-title-bar {\n  display: flex;\n  align-items: center;\n}\n\n.ag-group-title {\n  display: inline;\n  min-width: 0;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.ag-group-title-bar .ag-group-title {\n  cursor: default;\n}\n\n.ag-group-toolbar {\n  display: flex;\n  align-items: center;\n}\n\n.ag-group-container {\n  display: flex;\n}\n\n.ag-disabled .ag-group-container {\n  pointer-events: none;\n}\n\n.ag-group-container-horizontal {\n  flex-direction: row;\n  flex-wrap: wrap;\n}\n\n.ag-group-container-vertical {\n  flex-direction: column;\n}\n\n.ag-column-group-icons {\n  display: block;\n}\n.ag-column-group-icons > * {\n  cursor: pointer;\n}\n\n.ag-group-item-alignment-stretch .ag-group-item {\n  align-items: stretch;\n}\n\n.ag-group-item-alignment-start .ag-group-item {\n  align-items: flex-start;\n}\n\n.ag-group-item-alignment-end .ag-group-item {\n  align-items: flex-end;\n}\n\n.ag-toggle-button-icon {\n  transition: right 0.3s;\n  position: absolute;\n  top: -1px;\n}\n\n.ag-input-field, .ag-select {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n}\n\n.ag-input-field-input {\n  flex: 1 1 auto;\n}\n\n.ag-floating-filter-input .ag-input-field-input[type=date] {\n  width: 1px;\n}\n\n.ag-range-field {\n  display: flex;\n  align-items: center;\n}\n\n.ag-angle-select {\n  display: flex;\n  align-items: center;\n}\n\n.ag-angle-select-wrapper {\n  display: flex;\n}\n\n.ag-angle-select-parent-circle {\n  display: block;\n  position: relative;\n}\n\n.ag-angle-select-child-circle {\n  position: absolute;\n}\n\n.ag-slider-wrapper {\n  display: flex;\n}\n.ag-slider-wrapper .ag-input-field {\n  flex: 1 1 auto;\n}\n\n.ag-picker-field-display {\n  flex: 1 1 auto;\n}\n\n.ag-picker-field {\n  display: flex;\n  align-items: center;\n}\n\n.ag-picker-field-icon {\n  display: flex;\n  border: 0;\n  padding: 0;\n  margin: 0;\n  cursor: pointer;\n}\n\n.ag-picker-field-wrapper {\n  overflow: hidden;\n}\n\n.ag-label-align-right .ag-label {\n  order: 1;\n}\n.ag-label-align-right > * {\n  flex: none;\n}\n\n.ag-label-align-top {\n  flex-direction: column;\n  align-items: flex-start;\n}\n.ag-label-align-top > * {\n  align-self: stretch;\n}\n\n.ag-label-ellipsis {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  flex: 1;\n}\n\n.ag-color-panel {\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  text-align: center;\n}\n\n.ag-spectrum-color {\n  flex: 1 1 auto;\n  position: relative;\n  overflow: hidden;\n  cursor: default;\n}\n\n.ag-spectrum-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n\n.ag-spectrum-val {\n  cursor: pointer;\n}\n\n.ag-spectrum-dragger {\n  position: absolute;\n  pointer-events: none;\n  cursor: pointer;\n}\n\n.ag-spectrum-hue {\n  cursor: default;\n  background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.ag-spectrum-alpha {\n  cursor: default;\n}\n\n.ag-spectrum-hue-background {\n  width: 100%;\n  height: 100%;\n}\n\n.ag-spectrum-alpha-background {\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));\n  width: 100%;\n  height: 100%;\n}\n\n.ag-spectrum-tool {\n  cursor: pointer;\n}\n\n.ag-spectrum-slider {\n  position: absolute;\n  pointer-events: none;\n}\n\n.ag-recent-colors {\n  display: flex;\n}\n\n.ag-recent-color {\n  cursor: pointer;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n  padding-left: 20px;\n}\n.ag-rtl .ag-column-select-indent-1 {\n  padding-right: 20px;\n}\n\n.ag-ltr .ag-set-filter-indent-1 {\n  padding-left: 20px;\n}\n.ag-rtl .ag-set-filter-indent-1 {\n  padding-right: 20px;\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n  padding-left: 20px;\n}\n.ag-rtl .ag-row-group-indent-1 {\n  padding-right: 20px;\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n  padding-left: 40px;\n}\n.ag-rtl .ag-column-select-indent-2 {\n  padding-right: 40px;\n}\n\n.ag-ltr .ag-set-filter-indent-2 {\n  padding-left: 40px;\n}\n.ag-rtl .ag-set-filter-indent-2 {\n  padding-right: 40px;\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n  padding-left: 40px;\n}\n.ag-rtl .ag-row-group-indent-2 {\n  padding-right: 40px;\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n  padding-left: 60px;\n}\n.ag-rtl .ag-column-select-indent-3 {\n  padding-right: 60px;\n}\n\n.ag-ltr .ag-set-filter-indent-3 {\n  padding-left: 60px;\n}\n.ag-rtl .ag-set-filter-indent-3 {\n  padding-right: 60px;\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n  padding-left: 60px;\n}\n.ag-rtl .ag-row-group-indent-3 {\n  padding-right: 60px;\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n  padding-left: 80px;\n}\n.ag-rtl .ag-column-select-indent-4 {\n  padding-right: 80px;\n}\n\n.ag-ltr .ag-set-filter-indent-4 {\n  padding-left: 80px;\n}\n.ag-rtl .ag-set-filter-indent-4 {\n  padding-right: 80px;\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n  padding-left: 80px;\n}\n.ag-rtl .ag-row-group-indent-4 {\n  padding-right: 80px;\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n  padding-left: 100px;\n}\n.ag-rtl .ag-column-select-indent-5 {\n  padding-right: 100px;\n}\n\n.ag-ltr .ag-set-filter-indent-5 {\n  padding-left: 100px;\n}\n.ag-rtl .ag-set-filter-indent-5 {\n  padding-right: 100px;\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n  padding-left: 100px;\n}\n.ag-rtl .ag-row-group-indent-5 {\n  padding-right: 100px;\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n  padding-left: 120px;\n}\n.ag-rtl .ag-column-select-indent-6 {\n  padding-right: 120px;\n}\n\n.ag-ltr .ag-set-filter-indent-6 {\n  padding-left: 120px;\n}\n.ag-rtl .ag-set-filter-indent-6 {\n  padding-right: 120px;\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n  padding-left: 120px;\n}\n.ag-rtl .ag-row-group-indent-6 {\n  padding-right: 120px;\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n  padding-left: 140px;\n}\n.ag-rtl .ag-column-select-indent-7 {\n  padding-right: 140px;\n}\n\n.ag-ltr .ag-set-filter-indent-7 {\n  padding-left: 140px;\n}\n.ag-rtl .ag-set-filter-indent-7 {\n  padding-right: 140px;\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n  padding-left: 140px;\n}\n.ag-rtl .ag-row-group-indent-7 {\n  padding-right: 140px;\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n  padding-left: 160px;\n}\n.ag-rtl .ag-column-select-indent-8 {\n  padding-right: 160px;\n}\n\n.ag-ltr .ag-set-filter-indent-8 {\n  padding-left: 160px;\n}\n.ag-rtl .ag-set-filter-indent-8 {\n  padding-right: 160px;\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n  padding-left: 160px;\n}\n.ag-rtl .ag-row-group-indent-8 {\n  padding-right: 160px;\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n  padding-left: 180px;\n}\n.ag-rtl .ag-column-select-indent-9 {\n  padding-right: 180px;\n}\n\n.ag-ltr .ag-set-filter-indent-9 {\n  padding-left: 180px;\n}\n.ag-rtl .ag-set-filter-indent-9 {\n  padding-right: 180px;\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n  padding-left: 180px;\n}\n.ag-rtl .ag-row-group-indent-9 {\n  padding-right: 180px;\n}\n\n.ag-pill-select {\n  display: flex;\n  flex-direction: column;\n}\n.ag-pill-select .ag-column-drop {\n  flex: unset;\n}\n\n.ag-ltr {\n  direction: ltr;\n}\n.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-sticky-top, .ag-ltr .ag-sticky-bottom, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {\n  flex-direction: row;\n}\n\n.ag-rtl {\n  direction: rtl;\n}\n.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-sticky-top, .ag-rtl .ag-sticky-bottom, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {\n  flex-direction: row-reverse;\n}\n.ag-rtl .ag-icon-contracted,\n.ag-rtl .ag-icon-expanded,\n.ag-rtl .ag-icon-tree-closed {\n  display: block;\n  transform: rotate(180deg);\n}\n\n.ag-body .ag-body-viewport {\n  -webkit-overflow-scrolling: touch;\n}\n\n.ag-layout-print.ag-body {\n  display: block;\n  height: unset;\n}\n.ag-layout-print.ag-root-wrapper {\n  display: inline-block;\n}\n.ag-layout-print .ag-body-vertical-scroll {\n  display: none;\n}\n.ag-layout-print .ag-body-horizontal-scroll {\n  display: none;\n}\n.ag-layout-print.ag-force-vertical-scroll {\n  overflow-y: visible !important;\n}\n\n@media print {\n  .ag-root-wrapper.ag-layout-print {\n    display: table;\n  }\n  .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,\n  .ag-root-wrapper.ag-layout-print .ag-root,\n  .ag-root-wrapper.ag-layout-print .ag-body-viewport,\n  .ag-root-wrapper.ag-layout-print .ag-center-cols-container,\n  .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,\n  .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,\n  .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {\n    height: auto !important;\n    overflow: hidden !important;\n    display: block !important;\n  }\n  .ag-root-wrapper.ag-layout-print .ag-row, .ag-root-wrapper.ag-layout-print .ag-cell {\n    -moz-column-break-inside: avoid;\n         break-inside: avoid;\n  }\n}\n[class^=ag-], [class^=ag-]:focus, [class^=ag-]:after, [class^=ag-]:before {\n  box-sizing: border-box;\n  outline: none;\n}\n\n[class^=ag-]::-ms-clear {\n  display: none;\n}\n\n.ag-checkbox .ag-input-wrapper,\n.ag-radio-button .ag-input-wrapper {\n  overflow: visible;\n}\n\n.ag-range-field .ag-input-wrapper {\n  height: 100%;\n}\n\n.ag-toggle-button {\n  flex: none;\n  width: unset;\n  min-width: unset;\n}\n\n.ag-button {\n  border-radius: 0px;\n  color: var(--ag-foreground-color);\n}\n\n.ag-button:hover {\n  background-color: transparent;\n}\n\n.ag-ltr .ag-label-align-right .ag-label {\n  margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-label-align-right .ag-label {\n  margin-right: var(--ag-grid-size);\n}\n\ninput[class^=ag-] {\n  margin: 0;\n  background-color: var(--ag-background-color);\n}\n\ntextarea[class^=ag-],\nselect[class^=ag-] {\n  background-color: var(--ag-background-color);\n}\n\ninput[class^=ag-]:not([type]),\ninput[class^=ag-][type=text],\ninput[class^=ag-][type=number],\ninput[class^=ag-][type=tel],\ninput[class^=ag-][type=date],\ninput[class^=ag-][type=datetime-local],\ntextarea[class^=ag-] {\n  font-size: inherit;\n  line-height: inherit;\n  color: inherit;\n  font-family: inherit;\n  border: var(--ag-borders-input) var(--ag-input-border-color);\n}\ninput[class^=ag-]:not([type]):disabled,\ninput[class^=ag-][type=text]:disabled,\ninput[class^=ag-][type=number]:disabled,\ninput[class^=ag-][type=tel]:disabled,\ninput[class^=ag-][type=date]:disabled,\ninput[class^=ag-][type=datetime-local]:disabled,\ntextarea[class^=ag-]:disabled {\n  color: var(--ag-disabled-foreground-color);\n  background-color: var(--ag-input-disabled-background-color);\n  border-color: var(--ag-input-disabled-border-color);\n}\ninput[class^=ag-]:not([type]):focus,\ninput[class^=ag-][type=text]:focus,\ninput[class^=ag-][type=number]:focus,\ninput[class^=ag-][type=tel]:focus,\ninput[class^=ag-][type=date]:focus,\ninput[class^=ag-][type=datetime-local]:focus,\ntextarea[class^=ag-]:focus {\n  outline: none;\n  box-shadow: var(--ag-input-focus-box-shadow);\n  border-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-]:not([type]):invalid,\ninput[class^=ag-][type=text]:invalid,\ninput[class^=ag-][type=number]:invalid,\ninput[class^=ag-][type=tel]:invalid,\ninput[class^=ag-][type=date]:invalid,\ninput[class^=ag-][type=datetime-local]:invalid,\ntextarea[class^=ag-]:invalid {\n  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);\n}\n\ninput[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {\n  -moz-appearance: textfield;\n}\ninput[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {\n  -webkit-appearance: none;\n  margin: 0;\n}\n\ninput[class^=ag-][type=range] {\n  padding: 0;\n}\n\ninput[class^=ag-][type=button]:focus, button[class^=ag-]:focus {\n  box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-drag-handle {\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-list-item, .ag-virtual-list-item {\n  height: var(--ag-list-item-height);\n}\n\n.ag-virtual-list-item:focus-visible {\n  outline: none;\n}\n.ag-virtual-list-item:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-select-list {\n  background-color: var(--ag-background-color);\n  overflow-y: auto;\n  overflow-x: hidden;\n  border-radius: var(--ag-border-radius);\n  border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-list-item {\n  display: flex;\n  align-items: center;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.ag-list-item.ag-active-item {\n  background-color: var(--ag-row-hover-color);\n}\n\n.ag-select-list-item {\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  cursor: default;\n}\n.ag-ltr .ag-select-list-item {\n  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-select-list-item {\n  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-select-list-item span {\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  overflow: hidden;\n}\n\n.ag-row-drag,\n.ag-selection-checkbox,\n.ag-group-expanded,\n.ag-group-contracted {\n  color: var(--ag-secondary-foreground-color);\n}\n.ag-ltr .ag-row-drag,\n.ag-ltr .ag-selection-checkbox,\n.ag-ltr .ag-group-expanded,\n.ag-ltr .ag-group-contracted {\n  margin-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-row-drag,\n.ag-rtl .ag-selection-checkbox,\n.ag-rtl .ag-group-expanded,\n.ag-rtl .ag-group-contracted {\n  margin-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));\n  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n  height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n  display: flex;\n  align-items: center;\n  flex: none;\n}\n\n.ag-group-expanded,\n.ag-group-contracted {\n  cursor: pointer;\n}\n\n.ag-group-title-bar-icon {\n  cursor: pointer;\n  flex: none;\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-ltr .ag-group-child-count {\n  margin-left: 2px;\n}\n.ag-rtl .ag-group-child-count {\n  margin-right: 2px;\n}\n\n.ag-group-title-bar {\n  background-color: var(--ag-subheader-background-color);\n  padding: var(--ag-grid-size);\n}\n\n.ag-group-toolbar {\n  padding: var(--ag-grid-size);\n  background-color: var(--ag-subheader-toolbar-background-color);\n}\n\n.ag-disabled-group-title-bar, .ag-disabled-group-container {\n  opacity: 0.5;\n}\n\n.group-item {\n  margin: calc(var(--ag-grid-size) * 0.5) 0;\n}\n\n.ag-label {\n  white-space: nowrap;\n}\n.ag-ltr .ag-label {\n  margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-label {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-label-align-top .ag-label {\n  margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-angle-select[disabled] {\n  color: var(--ag-disabled-foreground-color);\n  pointer-events: none;\n}\n.ag-angle-select[disabled] .ag-angle-select-field {\n  opacity: 0.4;\n}\n\n.ag-ltr .ag-slider-field,\n.ag-ltr .ag-angle-select-field {\n  margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-slider-field,\n.ag-rtl .ag-angle-select-field {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-angle-select-parent-circle {\n  width: 24px;\n  height: 24px;\n  border-radius: 12px;\n  border: solid 1px;\n  border-color: var(--ag-border-color);\n  background-color: var(--ag-background-color);\n}\n\n.ag-angle-select-child-circle {\n  top: 4px;\n  left: 12px;\n  width: 6px;\n  height: 6px;\n  margin-left: -3px;\n  margin-top: -4px;\n  border-radius: 3px;\n  background-color: var(--ag-secondary-foreground-color);\n}\n\n.ag-picker-field-wrapper {\n  border: var(--ag-borders);\n  border-color: var(--ag-border-color);\n  border-radius: 5px;\n  background-color: var(--ag-background-color);\n}\n.ag-picker-field-wrapper:disabled {\n  color: var(--ag-disabled-foreground-color);\n  background-color: var(--ag-input-disabled-background-color);\n  border-color: var(--ag-input-disabled-border-color);\n}\n.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {\n  outline: none;\n  box-shadow: var(--ag-input-focus-box-shadow);\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-picker-field-button {\n  background-color: var(--ag-background-color);\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-dialog.ag-color-dialog {\n  border-radius: 5px;\n}\n\n.ag-color-picker .ag-picker-field-display {\n  height: var(--ag-icon-size);\n}\n\n.ag-color-picker .ag-picker-field-wrapper {\n  max-width: 45px;\n  min-width: 45px;\n}\n\n.ag-color-panel {\n  padding: var(--ag-grid-size);\n}\n\n.ag-spectrum-color {\n  background-color: rgb(255, 0, 0);\n  border-radius: 2px;\n}\n\n.ag-spectrum-tools {\n  padding: 10px;\n}\n\n.ag-spectrum-sat {\n  background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-val {\n  background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-dragger {\n  border-radius: 12px;\n  height: 12px;\n  width: 12px;\n  border: 1px solid white;\n  background: black;\n  box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);\n}\n\n.ag-spectrum-hue-background {\n  border-radius: 2px;\n}\n\n.ag-spectrum-alpha-background {\n  border-radius: 2px;\n}\n\n.ag-spectrum-tool {\n  margin-bottom: 10px;\n  height: 11px;\n  border-radius: 2px;\n}\n\n.ag-spectrum-slider {\n  margin-top: -12px;\n  width: 13px;\n  height: 13px;\n  border-radius: 13px;\n  background-color: rgb(248, 248, 248);\n  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n\n.ag-recent-color {\n  margin: 0 3px;\n}\n.ag-recent-color:first-child {\n  margin-left: 0;\n}\n.ag-recent-color:last-child {\n  margin-right: 0;\n}\n\n.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),\n.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),\n.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {\n  box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-dnd-ghost {\n  border: var(--ag-borders) var(--ag-border-color);\n  background: var(--ag-background-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: var(--ag-grid-size);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n  color: var(--ag-secondary-foreground-color);\n  height: var(--ag-header-height) !important;\n  line-height: var(--ag-header-height);\n  margin: 0;\n  padding: 0 calc(var(--ag-grid-size) * 2);\n  transform: translateY(calc(var(--ag-grid-size) * 2));\n}\n\n.ag-dnd-ghost-icon {\n  margin-right: var(--ag-grid-size);\n  color: var(--ag-foreground-color);\n}\n\n.ag-popup-child:not(.ag-tooltip-custom) {\n  box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-select .ag-picker-field-wrapper {\n  min-height: var(--ag-list-item-height);\n  cursor: default;\n}\n.ag-ltr .ag-select .ag-picker-field-wrapper {\n  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-select .ag-picker-field-wrapper {\n  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-ltr .ag-select .ag-picker-field-wrapper {\n  padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-select .ag-picker-field-wrapper {\n  padding-left: var(--ag-grid-size);\n}\n.ag-select.ag-disabled .ag-picker-field-wrapper:focus {\n  box-shadow: none;\n}\n.ag-select:not(.ag-cell-editor, .ag-label-align-top) {\n  min-height: var(--ag-list-item-height);\n}\n.ag-select .ag-picker-field-display {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.ag-select .ag-picker-field-icon {\n  display: flex;\n  align-items: center;\n}\n.ag-select.ag-disabled {\n  opacity: 0.5;\n}\n\n.ag-rich-select-value,\n.ag-rich-select-list {\n  background-color: var(--ag-background-color);\n}\n\n.ag-rich-select-list {\n  width: 100%;\n  height: auto;\n  border-radius: var(--ag-border-radius);\n  border: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rich-select-list .ag-loading-text {\n  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);\n}\n\n.ag-rich-select-value {\n  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.ag-ltr .ag-rich-select-value {\n  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-rich-select-value {\n  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-ltr .ag-rich-select-value {\n  padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-rich-select-value {\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-rich-select-field-input {\n  left: calc(var(--ag-cell-horizontal-padding));\n}\n.ag-rtl .ag-rich-select-field-input {\n  right: calc(var(--ag-cell-horizontal-padding));\n}\n\n.ag-popup-editor .ag-rich-select-value {\n  height: var(--ag-row-height);\n  min-width: 200px;\n}\n\n.ag-rich-select-virtual-list-item {\n  cursor: default;\n  height: var(--ag-list-item-height);\n}\n.ag-rich-select-virtual-list-item:focus-visible::after {\n  content: none;\n}\n.ag-rich-select-virtual-list-item:hover {\n  background-color: var(--ag-row-hover-color);\n}\n\n.ag-ltr .ag-rich-select-row {\n  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n.ag-rtl .ag-rich-select-row {\n  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);\n}\n\n.ag-rich-select-row-selected {\n  background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-rich-select-row-text-highlight {\n  font-weight: bold;\n}\n\n.ag-autocomplete {\n  width: 100%;\n}\n\n.ag-autocomplete-list {\n  width: 100%;\n  min-width: 200px;\n  height: calc(var(--ag-row-height) * 6.5);\n}\n\n.ag-autocomplete-virtual-list-item {\n  cursor: default;\n  height: var(--ag-list-item-height);\n}\n.ag-autocomplete-virtual-list-item:focus-visible::after {\n  content: none;\n}\n.ag-autocomplete-virtual-list-item:hover {\n  background-color: var(--ag-row-hover-color);\n}\n\n.ag-autocomplete-row-label {\n  margin: 0px var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-autocomplete-row-selected {\n  background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-dragging-range-handle .ag-dialog,\n.ag-dragging-fill-handle .ag-dialog {\n  opacity: 0.7;\n  pointer-events: none;\n}\n\n.ag-dialog {\n  border-radius: var(--ag-border-radius);\n  border: var(--ag-borders) var(--ag-border-color);\n  box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-panel {\n  background-color: var(--ag-panel-background-color);\n  border-color: var(--ag-panel-border-color);\n}\n\n.ag-panel-title-bar {\n  color: var(--ag-header-foreground-color);\n  height: var(--ag-header-height);\n  padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);\n  border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-ltr .ag-panel-title-bar-button {\n  margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-panel-title-bar-button {\n  margin-right: var(--ag-grid-size);\n}\n\n.ag-tooltip {\n  background-color: var(--ag-tooltip-background-color);\n  color: var(--ag-foreground-color);\n  padding: var(--ag-grid-size);\n  border: var(--ag-borders) var(--ag-border-color);\n  border-radius: var(--ag-card-radius);\n  white-space: normal;\n}\n\n.ag-tooltip.ag-tooltip-animate,\n.ag-tooltip-custom.ag-tooltip-animate {\n  transition: opacity 1s;\n}\n.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,\n.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {\n  opacity: 0;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n  padding-left: calc(1 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-1 {\n  padding-right: calc(1 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n  padding-left: calc(2 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-2 {\n  padding-right: calc(2 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n  padding-left: calc(3 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-3 {\n  padding-right: calc(3 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n  padding-left: calc(4 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-4 {\n  padding-right: calc(4 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n  padding-left: calc(5 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-5 {\n  padding-right: calc(5 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n  padding-left: calc(6 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-6 {\n  padding-right: calc(6 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n  padding-left: calc(7 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-7 {\n  padding-right: calc(7 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n  padding-left: calc(8 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-8 {\n  padding-right: calc(8 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n  padding-left: calc(9 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-9 {\n  padding-right: calc(9 * var(--ag-column-select-indent-size));\n}\n\n.ag-column-select-header-icon {\n  cursor: pointer;\n}\n\n.ag-column-select-header-icon:focus-visible {\n  outline: none;\n}\n.ag-column-select-header-icon:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: calc(100% - 0px);\n  height: calc(100% - 0px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-ltr .ag-column-group-icons:not(:last-child),\n.ag-ltr .ag-column-select-header-icon:not(:last-child),\n.ag-ltr .ag-column-select-header-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-ltr .ag-column-select-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-label:not(:last-child) {\n  margin-right: var(--ag-widget-horizontal-spacing);\n}\n.ag-rtl .ag-column-group-icons:not(:last-child),\n.ag-rtl .ag-column-select-header-icon:not(:last-child),\n.ag-rtl .ag-column-select-header-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-rtl .ag-column-select-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-label:not(:last-child) {\n  margin-left: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-column-select-virtual-list-item:focus-visible {\n  outline: none;\n}\n.ag-column-select-virtual-list-item:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 1px;\n  left: 1px;\n  display: block;\n  width: calc(100% - 2px);\n  height: calc(100% - 2px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-column-group:not(:last-child),\n.ag-column-select-column:not(:last-child) {\n  margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-column-select-column-readonly,\n.ag-column-select-column-group-readonly {\n  color: var(--ag-disabled-foreground-color);\n  pointer-events: none;\n}\n\n.ag-ltr .ag-column-select-add-group-indent {\n  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-column-select-add-group-indent {\n  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n\n.ag-column-select-virtual-list-viewport {\n  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;\n}\n\n.ag-column-select-virtual-list-item {\n  padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-checkbox-edit {\n  padding-left: var(--ag-cell-horizontal-padding);\n  padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-pill-select .ag-column-drop {\n  border-bottom: 0;\n  min-height: unset;\n}\n.ag-pill-select .ag-column-drop-list {\n  padding: 0;\n}\n.ag-pill-select .ag-select {\n  padding-top: var(--ag-grid-size);\n}\n.ag-pill-select .ag-picker-field-wrapper {\n  background-color: transparent;\n  border: 0;\n}\n.ag-pill-select .ag-picker-field-display {\n  cursor: pointer;\n}\n\n.ag-rtl {\n  text-align: right;\n}\n\n.ag-root-wrapper {\n  border-radius: var(--ag-wrapper-border-radius);\n  border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n  padding-left: calc(1 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-1 {\n  padding-right: calc(1 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n  padding-left: calc(2 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-2 {\n  padding-right: calc(2 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n  padding-left: calc(3 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-3 {\n  padding-right: calc(3 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n  padding-left: calc(4 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-4 {\n  padding-right: calc(4 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n  padding-left: calc(5 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-5 {\n  padding-right: calc(5 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n  padding-left: calc(6 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-6 {\n  padding-right: calc(6 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n  padding-left: calc(7 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-7 {\n  padding-right: calc(7 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n  padding-left: calc(8 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-8 {\n  padding-right: calc(8 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n  padding-left: calc(9 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-9 {\n  padding-right: calc(9 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);\n}\n\n.ag-ltr .ag-row-group-indent-10 {\n  padding-left: calc(10 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-10 {\n  padding-right: calc(10 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);\n}\n\n.ag-ltr .ag-row-group-indent-11 {\n  padding-left: calc(11 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-11 {\n  padding-right: calc(11 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);\n}\n\n.ag-ltr .ag-row-group-indent-12 {\n  padding-left: calc(12 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-12 {\n  padding-right: calc(12 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);\n}\n\n.ag-ltr .ag-row-group-indent-13 {\n  padding-left: calc(13 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-13 {\n  padding-right: calc(13 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);\n}\n\n.ag-ltr .ag-row-group-indent-14 {\n  padding-left: calc(14 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-14 {\n  padding-right: calc(14 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);\n}\n\n.ag-ltr .ag-row-group-indent-15 {\n  padding-left: calc(15 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-15 {\n  padding-right: calc(15 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);\n}\n\n.ag-ltr .ag-row-group-indent-16 {\n  padding-left: calc(16 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-16 {\n  padding-right: calc(16 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);\n}\n\n.ag-ltr .ag-row-group-indent-17 {\n  padding-left: calc(17 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-17 {\n  padding-right: calc(17 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);\n}\n\n.ag-ltr .ag-row-group-indent-18 {\n  padding-left: calc(18 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-18 {\n  padding-right: calc(18 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);\n}\n\n.ag-ltr .ag-row-group-indent-19 {\n  padding-left: calc(19 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-19 {\n  padding-right: calc(19 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);\n}\n\n.ag-ltr .ag-row-group-indent-20 {\n  padding-left: calc(20 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-20 {\n  padding-right: calc(20 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);\n}\n\n.ag-ltr .ag-row-group-indent-21 {\n  padding-left: calc(21 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-21 {\n  padding-right: calc(21 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);\n}\n\n.ag-ltr .ag-row-group-indent-22 {\n  padding-left: calc(22 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-22 {\n  padding-right: calc(22 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);\n}\n\n.ag-ltr .ag-row-group-indent-23 {\n  padding-left: calc(23 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-23 {\n  padding-right: calc(23 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);\n}\n\n.ag-ltr .ag-row-group-indent-24 {\n  padding-left: calc(24 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-24 {\n  padding-right: calc(24 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);\n}\n\n.ag-ltr .ag-row-group-indent-25 {\n  padding-left: calc(25 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-25 {\n  padding-right: calc(25 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);\n}\n\n.ag-ltr .ag-row-group-indent-26 {\n  padding-left: calc(26 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-26 {\n  padding-right: calc(26 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);\n}\n\n.ag-ltr .ag-row-group-indent-27 {\n  padding-left: calc(27 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-27 {\n  padding-right: calc(27 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);\n}\n\n.ag-ltr .ag-row-group-indent-28 {\n  padding-left: calc(28 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-28 {\n  padding-right: calc(28 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);\n}\n\n.ag-ltr .ag-row-group-indent-29 {\n  padding-left: calc(29 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-29 {\n  padding-right: calc(29 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);\n}\n\n.ag-ltr .ag-row-group-indent-30 {\n  padding-left: calc(30 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-30 {\n  padding-right: calc(30 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);\n}\n\n.ag-ltr .ag-row-group-indent-31 {\n  padding-left: calc(31 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-31 {\n  padding-right: calc(31 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);\n}\n\n.ag-ltr .ag-row-group-indent-32 {\n  padding-left: calc(32 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-32 {\n  padding-right: calc(32 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);\n}\n\n.ag-ltr .ag-row-group-indent-33 {\n  padding-left: calc(33 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-33 {\n  padding-right: calc(33 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);\n}\n\n.ag-ltr .ag-row-group-indent-34 {\n  padding-left: calc(34 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-34 {\n  padding-right: calc(34 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);\n}\n\n.ag-ltr .ag-row-group-indent-35 {\n  padding-left: calc(35 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-35 {\n  padding-right: calc(35 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);\n}\n\n.ag-ltr .ag-row-group-indent-36 {\n  padding-left: calc(36 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-36 {\n  padding-right: calc(36 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);\n}\n\n.ag-ltr .ag-row-group-indent-37 {\n  padding-left: calc(37 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-37 {\n  padding-right: calc(37 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);\n}\n\n.ag-ltr .ag-row-group-indent-38 {\n  padding-left: calc(38 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-38 {\n  padding-right: calc(38 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);\n}\n\n.ag-ltr .ag-row-group-indent-39 {\n  padding-left: calc(39 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-39 {\n  padding-right: calc(39 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);\n}\n\n.ag-ltr .ag-row-group-indent-40 {\n  padding-left: calc(40 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-40 {\n  padding-right: calc(40 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);\n}\n\n.ag-ltr .ag-row-group-indent-41 {\n  padding-left: calc(41 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-41 {\n  padding-right: calc(41 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);\n}\n\n.ag-ltr .ag-row-group-indent-42 {\n  padding-left: calc(42 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-42 {\n  padding-right: calc(42 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);\n}\n\n.ag-ltr .ag-row-group-indent-43 {\n  padding-left: calc(43 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-43 {\n  padding-right: calc(43 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);\n}\n\n.ag-ltr .ag-row-group-indent-44 {\n  padding-left: calc(44 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-44 {\n  padding-right: calc(44 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);\n}\n\n.ag-ltr .ag-row-group-indent-45 {\n  padding-left: calc(45 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-45 {\n  padding-right: calc(45 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);\n}\n\n.ag-ltr .ag-row-group-indent-46 {\n  padding-left: calc(46 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-46 {\n  padding-right: calc(46 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);\n}\n\n.ag-ltr .ag-row-group-indent-47 {\n  padding-left: calc(47 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-47 {\n  padding-right: calc(47 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);\n}\n\n.ag-ltr .ag-row-group-indent-48 {\n  padding-left: calc(48 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-48 {\n  padding-right: calc(48 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);\n}\n\n.ag-ltr .ag-row-group-indent-49 {\n  padding-left: calc(49 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-49 {\n  padding-right: calc(49 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);\n}\n\n.ag-ltr .ag-row-group-indent-50 {\n  padding-left: calc(50 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-50 {\n  padding-right: calc(50 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);\n}\n\n.ag-ltr .ag-row-group-indent-51 {\n  padding-left: calc(51 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-51 {\n  padding-right: calc(51 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);\n}\n\n.ag-ltr .ag-row-group-indent-52 {\n  padding-left: calc(52 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-52 {\n  padding-right: calc(52 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);\n}\n\n.ag-ltr .ag-row-group-indent-53 {\n  padding-left: calc(53 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-53 {\n  padding-right: calc(53 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);\n}\n\n.ag-ltr .ag-row-group-indent-54 {\n  padding-left: calc(54 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-54 {\n  padding-right: calc(54 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);\n}\n\n.ag-ltr .ag-row-group-indent-55 {\n  padding-left: calc(55 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-55 {\n  padding-right: calc(55 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);\n}\n\n.ag-ltr .ag-row-group-indent-56 {\n  padding-left: calc(56 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-56 {\n  padding-right: calc(56 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);\n}\n\n.ag-ltr .ag-row-group-indent-57 {\n  padding-left: calc(57 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-57 {\n  padding-right: calc(57 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);\n}\n\n.ag-ltr .ag-row-group-indent-58 {\n  padding-left: calc(58 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-58 {\n  padding-right: calc(58 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);\n}\n\n.ag-ltr .ag-row-group-indent-59 {\n  padding-left: calc(59 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-59 {\n  padding-right: calc(59 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);\n}\n\n.ag-ltr .ag-row-group-indent-60 {\n  padding-left: calc(60 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-60 {\n  padding-right: calc(60 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);\n}\n\n.ag-ltr .ag-row-group-indent-61 {\n  padding-left: calc(61 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-61 {\n  padding-right: calc(61 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);\n}\n\n.ag-ltr .ag-row-group-indent-62 {\n  padding-left: calc(62 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-62 {\n  padding-right: calc(62 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);\n}\n\n.ag-ltr .ag-row-group-indent-63 {\n  padding-left: calc(63 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-63 {\n  padding-right: calc(63 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);\n}\n\n.ag-ltr .ag-row-group-indent-64 {\n  padding-left: calc(64 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-64 {\n  padding-right: calc(64 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);\n}\n\n.ag-ltr .ag-row-group-indent-65 {\n  padding-left: calc(65 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-65 {\n  padding-right: calc(65 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);\n}\n\n.ag-ltr .ag-row-group-indent-66 {\n  padding-left: calc(66 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-66 {\n  padding-right: calc(66 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);\n}\n\n.ag-ltr .ag-row-group-indent-67 {\n  padding-left: calc(67 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-67 {\n  padding-right: calc(67 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);\n}\n\n.ag-ltr .ag-row-group-indent-68 {\n  padding-left: calc(68 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-68 {\n  padding-right: calc(68 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);\n}\n\n.ag-ltr .ag-row-group-indent-69 {\n  padding-left: calc(69 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-69 {\n  padding-right: calc(69 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);\n}\n\n.ag-ltr .ag-row-group-indent-70 {\n  padding-left: calc(70 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-70 {\n  padding-right: calc(70 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);\n}\n\n.ag-ltr .ag-row-group-indent-71 {\n  padding-left: calc(71 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-71 {\n  padding-right: calc(71 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);\n}\n\n.ag-ltr .ag-row-group-indent-72 {\n  padding-left: calc(72 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-72 {\n  padding-right: calc(72 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);\n}\n\n.ag-ltr .ag-row-group-indent-73 {\n  padding-left: calc(73 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-73 {\n  padding-right: calc(73 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);\n}\n\n.ag-ltr .ag-row-group-indent-74 {\n  padding-left: calc(74 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-74 {\n  padding-right: calc(74 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);\n}\n\n.ag-ltr .ag-row-group-indent-75 {\n  padding-left: calc(75 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-75 {\n  padding-right: calc(75 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);\n}\n\n.ag-ltr .ag-row-group-indent-76 {\n  padding-left: calc(76 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-76 {\n  padding-right: calc(76 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);\n}\n\n.ag-ltr .ag-row-group-indent-77 {\n  padding-left: calc(77 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-77 {\n  padding-right: calc(77 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);\n}\n\n.ag-ltr .ag-row-group-indent-78 {\n  padding-left: calc(78 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-78 {\n  padding-right: calc(78 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);\n}\n\n.ag-ltr .ag-row-group-indent-79 {\n  padding-left: calc(79 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-79 {\n  padding-right: calc(79 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);\n}\n\n.ag-ltr .ag-row-group-indent-80 {\n  padding-left: calc(80 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-80 {\n  padding-right: calc(80 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);\n}\n\n.ag-ltr .ag-row-group-indent-81 {\n  padding-left: calc(81 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-81 {\n  padding-right: calc(81 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);\n}\n\n.ag-ltr .ag-row-group-indent-82 {\n  padding-left: calc(82 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-82 {\n  padding-right: calc(82 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);\n}\n\n.ag-ltr .ag-row-group-indent-83 {\n  padding-left: calc(83 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-83 {\n  padding-right: calc(83 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);\n}\n\n.ag-ltr .ag-row-group-indent-84 {\n  padding-left: calc(84 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-84 {\n  padding-right: calc(84 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);\n}\n\n.ag-ltr .ag-row-group-indent-85 {\n  padding-left: calc(85 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-85 {\n  padding-right: calc(85 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);\n}\n\n.ag-ltr .ag-row-group-indent-86 {\n  padding-left: calc(86 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-86 {\n  padding-right: calc(86 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);\n}\n\n.ag-ltr .ag-row-group-indent-87 {\n  padding-left: calc(87 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-87 {\n  padding-right: calc(87 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);\n}\n\n.ag-ltr .ag-row-group-indent-88 {\n  padding-left: calc(88 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-88 {\n  padding-right: calc(88 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);\n}\n\n.ag-ltr .ag-row-group-indent-89 {\n  padding-left: calc(89 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-89 {\n  padding-right: calc(89 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);\n}\n\n.ag-ltr .ag-row-group-indent-90 {\n  padding-left: calc(90 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-90 {\n  padding-right: calc(90 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);\n}\n\n.ag-ltr .ag-row-group-indent-91 {\n  padding-left: calc(91 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-91 {\n  padding-right: calc(91 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);\n}\n\n.ag-ltr .ag-row-group-indent-92 {\n  padding-left: calc(92 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-92 {\n  padding-right: calc(92 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);\n}\n\n.ag-ltr .ag-row-group-indent-93 {\n  padding-left: calc(93 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-93 {\n  padding-right: calc(93 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);\n}\n\n.ag-ltr .ag-row-group-indent-94 {\n  padding-left: calc(94 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-94 {\n  padding-right: calc(94 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);\n}\n\n.ag-ltr .ag-row-group-indent-95 {\n  padding-left: calc(95 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-95 {\n  padding-right: calc(95 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);\n}\n\n.ag-ltr .ag-row-group-indent-96 {\n  padding-left: calc(96 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-96 {\n  padding-right: calc(96 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);\n}\n\n.ag-ltr .ag-row-group-indent-97 {\n  padding-left: calc(97 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-97 {\n  padding-right: calc(97 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);\n}\n\n.ag-ltr .ag-row-group-indent-98 {\n  padding-left: calc(98 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-98 {\n  padding-right: calc(98 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);\n}\n\n.ag-ltr .ag-row-group-indent-99 {\n  padding-left: calc(99 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-99 {\n  padding-right: calc(99 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row-group-leaf-indent {\n  margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-group-leaf-indent {\n  margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-value-change-delta {\n  padding-right: 2px;\n}\n\n.ag-value-change-delta-up {\n  color: var(--ag-value-change-delta-up-color);\n}\n\n.ag-value-change-delta-down {\n  color: var(--ag-value-change-delta-down-color);\n}\n\n.ag-value-change-value {\n  background-color: transparent;\n  border-radius: 1px;\n  padding-left: 1px;\n  padding-right: 1px;\n  transition: background-color 1s;\n}\n\n.ag-value-change-value-highlight {\n  background-color: var(--ag-value-change-value-highlight-background-color);\n  transition: background-color 0.1s;\n}\n\n.ag-cell-data-changed {\n  background-color: var(--ag-value-change-value-highlight-background-color) !important;\n}\n\n.ag-cell-data-changed-animation {\n  background-color: transparent;\n}\n\n.ag-cell-highlight {\n  background-color: var(--ag-range-selection-highlight-color) !important;\n}\n\n.ag-row {\n  height: var(--ag-row-height);\n  background-color: var(--ag-background-color);\n  color: var(--ag-data-color);\n  border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);\n}\n\n.ag-sticky-bottom .ag-row {\n  border-bottom: none;\n  border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);\n}\n\n.ag-row-highlight-above::after, .ag-row-highlight-below::after {\n  content: "";\n  position: absolute;\n  width: calc(100% - 1px);\n  height: 1px;\n  background-color: var(--ag-range-selection-border-color);\n  left: 1px;\n}\n\n.ag-row-highlight-above::after {\n  top: -1px;\n}\n\n.ag-row-highlight-above.ag-row-first::after {\n  top: 0;\n}\n\n.ag-row-highlight-below::after {\n  bottom: 0px;\n}\n\n.ag-row-odd {\n  background-color: var(--ag-odd-row-background-color);\n}\n\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {\n  border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {\n  border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-row-selected::before {\n  content: "";\n  background-color: var(--ag-selected-row-background-color);\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n\n.ag-row-hover:not(.ag-full-width-row)::before,\n.ag-row-hover.ag-full-width-row.ag-row-group::before {\n  content: "";\n  background-color: var(--ag-row-hover-color);\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  pointer-events: none;\n}\n\n.ag-row-hover.ag-full-width-row.ag-row-group > * {\n  position: relative;\n}\n\n.ag-row-hover.ag-row-selected::before {\n  background-color: var(--ag-row-hover-color);\n  background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));\n}\n\n.ag-column-hover {\n  background-color: var(--ag-column-hover-color);\n}\n\n.ag-ltr .ag-right-aligned-cell {\n  text-align: right;\n}\n.ag-rtl .ag-right-aligned-cell {\n  text-align: left;\n}\n\n.ag-ltr .ag-right-aligned-cell .ag-cell-value,\n.ag-ltr .ag-right-aligned-cell .ag-group-value {\n  margin-left: auto;\n}\n.ag-rtl .ag-right-aligned-cell .ag-cell-value,\n.ag-rtl .ag-right-aligned-cell .ag-group-value {\n  margin-right: auto;\n}\n\n.ag-cell, .ag-full-width-row .ag-cell-wrapper.ag-row-group {\n  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));\n  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n  border: 1px solid transparent;\n  line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);\n  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n  -webkit-font-smoothing: subpixel-antialiased;\n}\n\n.ag-row > .ag-cell-wrapper {\n  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);\n  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n}\n\n.ag-row-dragging {\n  cursor: move;\n  opacity: 0.5;\n}\n\n.ag-cell-inline-editing {\n  border: 1px solid var(--ag-border-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: 0;\n  background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-popup-editor .ag-large-text,\n.ag-autocomplete-list-popup {\n  border: var(--ag-borders) var(--ag-border-color);\n  background: var(--ag-background-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: var(--ag-grid-size);\n  background-color: var(--ag-control-panel-background-color);\n  padding: 0;\n}\n\n.ag-large-text-input {\n  height: auto;\n  padding: var(--ag-cell-horizontal-padding);\n}\n\n.ag-rtl .ag-large-text-input textarea {\n  resize: none;\n}\n\n.ag-details-row {\n  padding: calc(var(--ag-grid-size) * 5);\n  background-color: var(--ag-background-color);\n}\n\n.ag-layout-auto-height .ag-center-cols-viewport, .ag-layout-auto-height .ag-center-cols-container, .ag-layout-print .ag-center-cols-viewport, .ag-layout-print .ag-center-cols-container {\n  min-height: 50px;\n}\n\n.ag-overlay-loading-wrapper {\n  background-color: var(--ag-modal-overlay-background-color);\n}\n\n.ag-overlay-loading-center {\n  border: var(--ag-borders) var(--ag-border-color);\n  background: var(--ag-background-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: var(--ag-grid-size);\n}\n\n.ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n  padding-top: 30px;\n}\n\n.ag-skeleton-container {\n  width: 100%;\n  height: 100%;\n  align-content: center;\n}\n\n.ag-skeleton-effect {\n  background-color: var(--ag-row-loading-skeleton-effect-color);\n  width: 100%;\n  height: 1em;\n  border-radius: 0.25rem;\n  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;\n}\n\n@keyframes ag-skeleton-loading {\n  0% {\n    opacity: 1;\n  }\n  50% {\n    opacity: 0.4;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n.ag-loading {\n  display: flex;\n  height: 100%;\n  align-items: center;\n}\n.ag-ltr .ag-loading {\n  padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-loading {\n  padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-loading-icon {\n  padding-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-loading-icon {\n  padding-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-icon-loading {\n  animation-name: spin;\n  animation-duration: 1000ms;\n  animation-iteration-count: infinite;\n  animation-timing-function: linear;\n}\n\n@keyframes spin {\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n}\n.ag-floating-top {\n  border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-floating-bottom {\n  border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-cell {\n  border-right: var(--ag-cell-horizontal-border);\n}\n.ag-rtl .ag-cell {\n  border-left: var(--ag-cell-horizontal-border);\n}\n.ag-ltr .ag-cell {\n  border-right-width: 1px;\n}\n.ag-rtl .ag-cell {\n  border-left-width: 1px;\n}\n\n.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {\n  border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {\n  border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell-range-selected:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {\n  background-color: var(--ag-range-selection-background-color);\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {\n  background-color: var(--ag-range-selection-chart-background-color) !important;\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {\n  background-color: var(--ag-range-selection-chart-category-background-color) !important;\n}\n\n.ag-cell-range-selected-1:not(.ag-cell-focus),\n.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {\n  background-color: var(--ag-range-selection-background-color);\n}\n\n.ag-cell-range-selected-2:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {\n  background-color: var(--ag-range-selection-background-color-2);\n}\n\n.ag-cell-range-selected-3:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {\n  background-color: var(--ag-range-selection-background-color-3);\n}\n\n.ag-cell-range-selected-4:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {\n  background-color: var(--ag-range-selection-background-color-4);\n}\n\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {\n  border-top-color: var(--ag-range-selection-border-color);\n  border-top-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {\n  border-right-color: var(--ag-range-selection-border-color);\n  border-right-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {\n  border-bottom-color: var(--ag-range-selection-border-color);\n  border-bottom-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {\n  border-left-color: var(--ag-range-selection-border-color);\n  border-left-style: var(--ag-range-selection-border-style);\n}\n\n.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-ltr .ag-cell-range-single-cell,\n.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-rtl .ag-cell-range-single-cell,\n.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {\n  border: 1px solid;\n  border-color: var(--ag-range-selection-border-color);\n  border-style: var(--ag-range-selection-border-style);\n  outline: initial;\n}\n\n.ag-cell.ag-selection-fill-top,\n.ag-cell.ag-selection-fill-top.ag-cell-range-selected {\n  border-top: 1px dashed;\n  border-top-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-right,\n.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n  border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-right,\n.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n  border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-cell.ag-selection-fill-bottom,\n.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {\n  border-bottom: 1px dashed;\n  border-bottom-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-left,\n.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n  border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-left,\n.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n  border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-fill-handle, .ag-range-handle {\n  position: absolute;\n  width: 6px;\n  height: 6px;\n  bottom: -1px;\n  background-color: var(--ag-range-selection-border-color);\n}\n.ag-ltr .ag-fill-handle, .ag-ltr .ag-range-handle {\n  right: -1px;\n}\n.ag-rtl .ag-fill-handle, .ag-rtl .ag-range-handle {\n  left: -1px;\n}\n\n.ag-fill-handle {\n  cursor: cell;\n}\n\n.ag-range-handle {\n  cursor: nwse-resize;\n}\n\n.ag-cell-inline-editing {\n  border-color: var(--ag-input-focus-border-color) !important;\n}\n\n.ag-menu {\n  border: var(--ag-borders) var(--ag-border-color);\n  background: var(--ag-background-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: var(--ag-grid-size);\n  background-color: var(--ag-menu-background-color);\n  border-color: var(--ag-menu-border-color);\n  padding: 0;\n}\n\n.ag-menu-list {\n  cursor: default;\n  padding: var(--ag-grid-size) 0;\n}\n\n.ag-menu-separator {\n  height: calc(var(--ag-grid-size) * 2 + 1px);\n}\n\n.ag-menu-separator-part::after {\n  content: "";\n  display: block;\n  border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-menu-option-active, .ag-compact-menu-option-active {\n  background-color: var(--ag-row-hover-color);\n}\n\n.ag-menu-option-part, .ag-compact-menu-option-part {\n  line-height: var(--ag-icon-size);\n  padding: calc(var(--ag-grid-size) + 2px) 0;\n}\n\n.ag-menu-option-disabled, .ag-compact-menu-option-disabled {\n  opacity: 0.5;\n}\n\n.ag-menu-option-icon, .ag-compact-menu-option-icon {\n  width: var(--ag-icon-size);\n}\n.ag-ltr .ag-menu-option-icon, .ag-ltr .ag-compact-menu-option-icon {\n  padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-menu-option-icon, .ag-rtl .ag-compact-menu-option-icon {\n  padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-menu-option-text, .ag-compact-menu-option-text {\n  padding-left: calc(var(--ag-grid-size) * 2);\n  padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-menu-option-shortcut, .ag-ltr .ag-compact-menu-option-shortcut {\n  padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-menu-option-shortcut, .ag-rtl .ag-compact-menu-option-shortcut {\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-menu-option-popup-pointer, .ag-ltr .ag-compact-menu-option-popup-pointer {\n  padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-menu-option-popup-pointer, .ag-rtl .ag-compact-menu-option-popup-pointer {\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-tabs {\n  min-width: var(--ag-tab-min-width);\n}\n\n.ag-tabs-header {\n  display: flex;\n}\n\n.ag-tabs-header-wrapper {\n  display: flex;\n}\n.ag-tabs-header-wrapper .ag-tabs-header {\n  flex: 1;\n}\n\n.ag-tabs-close-button-wrapper {\n  border: 0;\n  border-right: var(--ag-borders) var(--ag-border-color);\n  padding: var(--ag-grid-size);\n}\n\n.ag-tabs-close-button {\n  border: 0;\n  background-color: unset;\n  cursor: pointer;\n  padding: 0;\n}\n\n.ag-tab {\n  border-bottom: var(--ag-selected-tab-underline-width) solid transparent;\n  transition: border-bottom var(--ag-selected-tab-underline-transition-speed);\n  display: flex;\n  flex: none;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n}\n\n.ag-tab:focus-visible {\n  outline: none;\n}\n.ag-tab:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-tab-selected {\n  border-bottom-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-menu-header {\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-filter-separator {\n  border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-filter-select .ag-picker-field-wrapper {\n  width: 0;\n}\n\n.ag-filter-condition-operator {\n  height: 17px;\n}\n\n.ag-ltr .ag-filter-condition-operator-or {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-condition-operator-or {\n  margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-set-filter-select-all {\n  padding-top: var(--ag-widget-container-vertical-padding);\n}\n\n.ag-set-filter-list, .ag-filter-no-matches {\n  height: calc(var(--ag-list-item-height) * 6);\n}\n\n.ag-set-filter-tree-list {\n  height: calc(var(--ag-list-item-height) * 10);\n}\n\n.ag-set-filter-filter {\n  margin-top: var(--ag-widget-container-vertical-padding);\n  margin-left: var(--ag-widget-container-horizontal-padding);\n  margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-to {\n  margin-top: var(--ag-widget-vertical-spacing);\n}\n\n.ag-mini-filter {\n  margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-set-filter-item {\n  padding: 0px var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-ltr .ag-set-filter-indent-1 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-1 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-2 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-2 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-3 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-3 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-4 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-4 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-5 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-5 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-6 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-6 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-7 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-7 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-8 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-8 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-9 {\n  padding-left: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-9 {\n  padding-right: calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-add-group-indent {\n  margin-left: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));\n}\n.ag-rtl .ag-set-filter-add-group-indent {\n  margin-right: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));\n}\n\n.ag-ltr .ag-set-filter-group-icons {\n  margin-right: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-set-filter-group-icons {\n  margin-left: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-menu .ag-set-filter-list {\n  min-width: 200px;\n}\n\n.ag-filter-virtual-list-item:focus-visible {\n  outline: none;\n}\n.ag-filter-virtual-list-item:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 1px;\n  left: 1px;\n  display: block;\n  width: calc(100% - 2px);\n  height: calc(100% - 2px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-filter-apply-panel {\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-filter-apply-panel-button {\n  line-height: 1.5;\n}\n.ag-ltr .ag-filter-apply-panel-button {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-apply-panel-button {\n  margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-simple-filter-body-wrapper {\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n  overflow-y: auto;\n  min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));\n}\n.ag-simple-filter-body-wrapper > * {\n  margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-simple-filter-body-wrapper .ag-resizer-wrapper {\n  margin: 0;\n}\n\n.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,\n.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {\n  min-width: calc(var(--ag-menu-min-width) - 2px);\n}\n\n.ag-filter-no-matches {\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-multi-filter-menu-item {\n  margin: var(--ag-grid-size) 0;\n}\n\n.ag-multi-filter-group-title-bar {\n  padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);\n  background-color: transparent;\n}\n\n.ag-group-filter-field-select-wrapper {\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-group-filter-field-select-wrapper > * {\n  margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-multi-filter-group-title-bar:focus-visible {\n  outline: none;\n}\n.ag-multi-filter-group-title-bar:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-side-bar {\n  position: relative;\n}\n\n.ag-tool-panel-wrapper {\n  width: var(--ag-side-bar-panel-width);\n  background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-side-buttons {\n  padding-top: calc(var(--ag-grid-size) * 4);\n  width: calc(var(--ag-icon-size) + 4px);\n  position: relative;\n  overflow: hidden;\n}\n\nbutton.ag-side-button-button {\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: inherit;\n  line-height: inherit;\n  background: transparent;\n  padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;\n  width: 100%;\n  margin: 0;\n  min-height: calc(var(--ag-grid-size) * 18);\n  background-position-y: center;\n  background-position-x: center;\n  background-repeat: no-repeat;\n  border: none;\n  border-top: var(--ag-borders-side-button) var(--ag-border-color);\n  border-bottom: var(--ag-borders-side-button) var(--ag-border-color);\n}\nbutton.ag-side-button-button:focus {\n  box-shadow: none;\n}\n\n.ag-side-button-button:focus-visible {\n  outline: none;\n}\n.ag-side-button-button:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-selected button.ag-side-button-button {\n  background-color: var(--ag-side-button-selected-background-color);\n}\n\n.ag-side-button-icon-wrapper {\n  margin-bottom: 3px;\n}\n\n.ag-ltr .ag-side-bar-left,\n.ag-rtl .ag-side-bar-right {\n  border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {\n  border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-side-button-button {\n  border-right: var(--ag-selected-tab-underline-width) solid transparent;\n  transition: border-right var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {\n  border-right-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-rtl .ag-side-bar-left,\n.ag-ltr .ag-side-bar-right {\n  border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {\n  border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-side-button-button {\n  border-left: var(--ag-selected-tab-underline-width) solid transparent;\n  transition: border-left var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {\n  border-left-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-filter-toolpanel-header {\n  height: calc(var(--ag-grid-size) * 6);\n}\n\n.ag-filter-toolpanel-header,\n.ag-filter-toolpanel-search {\n  padding: 0 var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-header:focus-visible {\n  outline: none;\n}\n.ag-filter-toolpanel-header:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-filter-toolpanel-group:not(.ag-has-filter) > .ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon {\n  display: none;\n}\n\n.ag-filter-toolpanel-group-level-0-header {\n  height: calc(var(--ag-grid-size) * 8);\n}\n\n.ag-filter-toolpanel-group-item {\n  margin-top: calc(var(--ag-grid-size) * 0.5);\n  margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-filter-toolpanel-search {\n  height: var(--ag-header-height);\n}\n\n.ag-filter-toolpanel-search-input {\n  flex-grow: 1;\n  height: calc(var(--ag-grid-size) * 4);\n}\n.ag-ltr .ag-filter-toolpanel-search-input {\n  margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-search-input {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-0 {\n  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-ltr .ag-filter-toolpanel-expand,\n.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {\n  margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-expand,\n.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {\n  background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-instance-filter {\n  border-bottom: var(--ag-borders) var(--ag-border-color);\n  border-top: var(--ag-borders) var(--ag-border-color);\n  margin-top: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,\n.ag-ltr .ag-filter-toolpanel-instance-header-icon {\n  margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,\n.ag-rtl .ag-filter-toolpanel-instance-header-icon {\n  margin-right: var(--ag-grid-size);\n}\n\n.ag-set-filter-group-icons {\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-pivot-mode-panel {\n  min-height: var(--ag-header-height);\n  height: var(--ag-header-height);\n  display: flex;\n}\n\n.ag-pivot-mode-select {\n  display: flex;\n  align-items: center;\n}\n.ag-ltr .ag-pivot-mode-select {\n  margin-left: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-pivot-mode-select {\n  margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-column-select-header:focus-visible {\n  outline: none;\n}\n.ag-column-select-header:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-header {\n  height: var(--ag-header-height);\n  align-items: center;\n  padding: 0 var(--ag-widget-container-horizontal-padding);\n  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-panel-column-select {\n  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-group-icons,\n.ag-column-select-header-icon {\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-select-list .ag-list-item-hovered::after {\n  content: "";\n  position: absolute;\n  left: 0;\n  right: 0;\n  height: 1px;\n  background-color: var(--ag-range-selection-border-color);\n}\n.ag-column-select-list .ag-item-highlight-top::after {\n  top: 0;\n}\n.ag-column-select-list .ag-item-highlight-bottom::after {\n  bottom: 0;\n}\n\n.ag-header, .ag-advanced-filter-header {\n  background-color: var(--ag-header-background-color);\n  border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-row {\n  color: var(--ag-header-foreground-color);\n  height: var(--ag-header-height);\n}\n\n.ag-pinned-right-header {\n  border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-pinned-left-header {\n  border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {\n  margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon, .ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {\n  margin-right: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {\n  margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon, .ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-header-cell,\n.ag-header-group-cell {\n  padding-left: var(--ag-cell-horizontal-padding);\n  padding-right: var(--ag-cell-horizontal-padding);\n}\n.ag-header-cell.ag-header-cell-moving,\n.ag-header-group-cell.ag-header-cell-moving {\n  background-color: var(--ag-header-cell-moving-background-color);\n}\n\n.ag-ltr .ag-header-group-cell-label.ag-sticky-label {\n  left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-group-cell-label.ag-sticky-label {\n  right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-header-cell:focus-visible {\n  outline: none;\n}\n.ag-header-cell:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-header-group-cell:focus-visible {\n  outline: none;\n}\n.ag-header-group-cell:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-header-cell:focus-visible {\n  outline: none;\n}\n.ag-advanced-filter-header-cell:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 4px;\n  left: 4px;\n  display: block;\n  width: calc(100% - 8px);\n  height: calc(100% - 8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-header-icon {\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-header-expand-icon {\n  cursor: pointer;\n}\n.ag-ltr .ag-header-expand-icon {\n  margin-left: 4px;\n}\n.ag-rtl .ag-header-expand-icon {\n  margin-right: 4px;\n}\n\n.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),\n.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {\n  border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-group-cell:first-of-type.ag-column-resizing,\n.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {\n  background-color: var(--ag-header-cell-hover-background-color);\n}\n\n.ag-header-cell::before,\n.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n  content: "";\n  position: absolute;\n  z-index: 1;\n  display: var(--ag-header-column-separator-display);\n  width: var(--ag-header-column-separator-width);\n  height: var(--ag-header-column-separator-height);\n  top: calc(50% - var(--ag-header-column-separator-height) * 0.5);\n  background-color: var(--ag-header-column-separator-color);\n}\n.ag-ltr .ag-header-cell::before,\n.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n  right: 0;\n}\n.ag-rtl .ag-header-cell::before,\n.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {\n  left: 0;\n}\n\n.ag-header-cell-resize {\n  display: flex;\n  align-items: center;\n}\n\n.ag-header-cell-resize::after {\n  content: "";\n  position: absolute;\n  z-index: 1;\n  display: var(--ag-header-column-resize-handle-display);\n  width: var(--ag-header-column-resize-handle-width);\n  height: var(--ag-header-column-resize-handle-height);\n  top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);\n  background-color: var(--ag-header-column-resize-handle-color);\n}\n.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {\n  height: calc(100% - var(--ag-grid-size) * 4);\n  top: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {\n  left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {\n  right: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-left-header .ag-header-cell-resize::after {\n  left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-right-header .ag-header-cell-resize::after {\n  left: 50%;\n}\n\n.ag-ltr .ag-header-select-all {\n  margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-select-all {\n  margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-floating-filter-button {\n  margin-left: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-floating-filter-button {\n  margin-right: var(--ag-cell-widget-spacing);\n}\n\n.ag-floating-filter-button-button {\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: inherit;\n  line-height: inherit;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n  background: transparent;\n  border: none;\n  height: var(--ag-icon-size);\n  padding: 0;\n  width: var(--ag-icon-size);\n}\n\n.ag-filter-loading {\n  background-color: var(--ag-control-panel-background-color);\n  height: 100%;\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  position: absolute;\n  width: 100%;\n  z-index: 1;\n}\n\n.ag-paging-panel {\n  border-top: 1px solid;\n  border-top-color: var(--ag-border-color);\n  color: var(--ag-secondary-foreground-color);\n  height: var(--ag-header-height);\n}\n.ag-paging-panel > * {\n  margin: 0 var(--ag-cell-horizontal-padding);\n}\n.ag-paging-panel > .ag-paging-page-size .ag-wrapper {\n  min-width: calc(var(--ag-grid-size) * 10);\n}\n\n.ag-paging-button {\n  cursor: pointer;\n}\n\n.ag-paging-button.ag-disabled {\n  cursor: default;\n  color: var(--ag-disabled-foreground-color);\n}\n\n.ag-paging-button:focus-visible {\n  outline: none;\n}\n.ag-paging-button:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: calc(100% - 0px);\n  height: calc(100% - 0px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-paging-button, .ag-paging-description {\n  margin: 0 var(--ag-grid-size);\n}\n\n.ag-status-bar {\n  border-top: var(--ag-borders) var(--ag-border-color);\n  color: var(--ag-disabled-foreground-color);\n  padding-right: calc(var(--ag-grid-size) * 4);\n  padding-left: calc(var(--ag-grid-size) * 4);\n  line-height: 1.5;\n}\n\n.ag-status-name-value-value {\n  color: var(--ag-foreground-color);\n}\n\n.ag-status-bar-center {\n  text-align: center;\n}\n\n.ag-status-name-value {\n  margin-left: var(--ag-grid-size);\n  margin-right: var(--ag-grid-size);\n  padding-top: calc(var(--ag-grid-size) * 2);\n  padding-bottom: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell {\n  background: var(--ag-chip-background-color);\n  border-radius: calc(var(--ag-grid-size) * 4);\n  height: calc(var(--ag-grid-size) * 4);\n  padding: 0 calc(var(--ag-grid-size) * 0.5);\n  border: 1px solid var(--ag-chip-border-color);\n}\n\n.ag-column-drop-cell:focus-visible {\n  outline: none;\n}\n.ag-column-drop-cell:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 2px;\n  left: 2px;\n  display: block;\n  width: calc(100% - 4px);\n  height: calc(100% - 4px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-drop-cell-text {\n  margin: 0 var(--ag-grid-size);\n}\n\n.ag-column-drop-cell-button {\n  min-width: calc(var(--ag-grid-size) * 4);\n  margin: 0 calc(var(--ag-grid-size) * 0.5);\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-cell-drag-handle {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell-ghost {\n  opacity: 0.5;\n}\n\n.ag-column-drop-horizontal {\n  background-color: var(--ag-header-background-color);\n  color: var(--ag-secondary-foreground-color);\n  height: var(--ag-header-height);\n  border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-column-drop-horizontal {\n  padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal {\n  padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {\n  border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {\n  border-left: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-column-drop-horizontal-cell-separator {\n  margin: 0 var(--ag-grid-size);\n  color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-horizontal-empty-message {\n  color: var(--ag-disabled-foreground-color);\n}\n\n.ag-ltr .ag-column-drop-horizontal-icon {\n  margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal-icon {\n  margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-column-drop-vertical-list {\n  padding-bottom: var(--ag-grid-size);\n  padding-right: var(--ag-grid-size);\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-cell {\n  margin-top: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical {\n  min-height: 50px;\n  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-column-drop-vertical.ag-last-column-drop {\n  border-bottom: none;\n}\n\n.ag-column-drop-vertical-icon {\n  margin-left: var(--ag-grid-size);\n  margin-right: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-empty-message {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  overflow: hidden;\n  color: var(--ag-disabled-foreground-color);\n  margin-top: var(--ag-grid-size);\n}\n\n.ag-select-agg-func-popup {\n  border: var(--ag-borders) var(--ag-border-color);\n  background: var(--ag-background-color);\n  border-radius: var(--ag-card-radius);\n  box-shadow: var(--ag-card-shadow);\n  padding: var(--ag-grid-size);\n  background: var(--ag-background-color);\n  height: calc(var(--ag-grid-size) * 5 * 3.5);\n  padding: 0;\n}\n\n.ag-select-agg-func-virtual-list-item {\n  cursor: default;\n}\n.ag-ltr .ag-select-agg-func-virtual-list-item {\n  padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-select-agg-func-virtual-list-item {\n  padding-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-select-agg-func-virtual-list-item:hover {\n  background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-select-agg-func-virtual-list-item:focus-visible {\n  outline: none;\n}\n.ag-select-agg-func-virtual-list-item:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: 1px;\n  left: 1px;\n  display: block;\n  width: calc(100% - 2px);\n  height: calc(100% - 2px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-sort-indicator-container {\n  display: flex;\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n  padding-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-sort-indicator-icon {\n  padding-right: var(--ag-grid-size);\n}\n\n.ag-chart {\n  position: relative;\n  display: flex;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n}\n\n.ag-chart-components-wrapper {\n  position: relative;\n  display: flex;\n  flex: 1 1 auto;\n  overflow: hidden;\n}\n\n.ag-chart-title-edit {\n  position: absolute;\n  display: none;\n  top: 0;\n  left: 0;\n  text-align: center;\n}\n\n.ag-chart-title-edit.currently-editing {\n  display: inline-block;\n}\n\n.ag-chart-canvas-wrapper {\n  position: relative;\n  flex: 1 1 auto;\n  overflow: hidden;\n}\n\n.ag-charts-canvas {\n  display: block;\n}\n\n.ag-chart-menu {\n  position: absolute;\n  top: 16px;\n  display: flex;\n  flex-direction: column;\n}\n.ag-ltr .ag-chart-menu {\n  right: 20px;\n}\n.ag-rtl .ag-chart-menu {\n  left: 20px;\n}\n\n.ag-chart-docked-container {\n  position: relative;\n  width: 0;\n  min-width: 0;\n  transition: min-width 0.4s;\n}\n\n.ag-chart-menu-hidden ~ .ag-chart-docked-container {\n  max-width: 0;\n  overflow: hidden;\n}\n\n.ag-chart-tabbed-menu {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n\n.ag-chart-tabbed-menu-header {\n  flex: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  cursor: default;\n}\n\n.ag-chart-tabbed-menu-body {\n  display: flex;\n  flex: 1 1 auto;\n  align-items: stretch;\n  overflow: hidden;\n}\n\n.ag-chart-tab {\n  width: 100%;\n  overflow: hidden;\n  overflow-y: auto;\n}\n\n.ag-chart-settings {\n  overflow-x: hidden;\n}\n\n.ag-chart-settings-wrapper {\n  position: relative;\n  flex-direction: column;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  overflow: hidden;\n}\n\n.ag-chart-settings-nav-bar {\n  display: flex;\n  align-items: center;\n  width: 100%;\n  height: 30px;\n  padding: 0 10px;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.ag-chart-settings-card-selector {\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n  flex: 1 1 auto;\n  height: 100%;\n  padding: 0 10px;\n}\n\n.ag-chart-settings-card-item {\n  cursor: pointer;\n  width: 10px;\n  height: 10px;\n  background-color: #000;\n  position: relative;\n}\n.ag-chart-settings-card-item.ag-not-selected {\n  opacity: 0.2;\n}\n.ag-chart-settings-card-item::before {\n  content: " ";\n  display: block;\n  position: absolute;\n  background-color: transparent;\n  left: 50%;\n  top: 50%;\n  margin-left: -10px;\n  margin-top: -10px;\n  width: 20px;\n  height: 20px;\n}\n\n.ag-chart-settings-prev,\n.ag-chart-settings-next {\n  position: relative;\n  flex: none;\n}\n\n.ag-chart-settings-prev-button,\n.ag-chart-settings-next-button {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  cursor: pointer;\n  opacity: 0;\n}\n\n.ag-chart-settings-mini-charts-container {\n  position: relative;\n  flex: 1 1 auto;\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.ag-chart-settings-mini-wrapper {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  min-height: 100%;\n  overflow: hidden;\n}\n.ag-chart-settings-mini-wrapper.ag-animating {\n  transition: left 0.3s;\n  transition-timing-function: ease-in-out;\n}\n\n.ag-chart-mini-thumbnail {\n  cursor: pointer;\n}\n\n.ag-chart-mini-thumbnail-canvas {\n  display: block;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-format-wrapper,\n.ag-chart-advanced-settings-wrapper {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  padding-bottom: 16px;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-advanced-settings-wrapper {\n  height: 100%;\n  overflow-y: auto;\n}\n\n.ag-chart-advanced-settings {\n  background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-chart-advanced-settings-wrapper, .ag-chart-advanced-settings {\n  width: 100%;\n}\n\n.ag-chart-advanced-settings-wrapper {\n  padding-bottom: 0;\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section,\n.ag-chart-advanced-settings-section {\n  display: flex;\n  margin: 0;\n}\n\n.ag-chart-advanced-settings-section {\n  border-bottom: 1px solid var(--ag-secondary-border-color);\n  padding-top: var(--ag-grid-size);\n  padding-bottom: var(--ag-grid-size);\n}\n\n.ag-chart-empty-text {\n  display: flex;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  justify-content: center;\n  background-color: var(--ag-background-color);\n}\n\n.ag-chart .ag-chart-menu {\n  display: none;\n}\n\n.ag-chart-menu-hidden:hover .ag-chart-menu {\n  display: block;\n}\n\n.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n  display: flex;\n  flex-direction: row;\n  top: 8px;\n  gap: 20px;\n  width: auto;\n}\n.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n  right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n  justify-content: right;\n}\n.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu, .ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {\n  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n  justify-content: left;\n}\n\n.ag-chart-menu-close {\n  display: none;\n}\n\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n  position: absolute;\n  top: 50%;\n  transition: transform 0.33s ease-in-out;\n  padding: 0;\n  display: block;\n  cursor: pointer;\n  border: none;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n  right: 0px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n  left: 0px;\n}\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon {\n  padding: 14px 5px 14px 2px;\n  width: auto;\n  height: auto;\n}\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n  content: "";\n  position: absolute;\n  top: -40px;\n  bottom: -40px;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n  right: 0px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n  left: 0px;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n  left: -10px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n  right: -10px;\n}\n.ag-chart-tool-panel-button-enable .ag-icon-menu {\n  display: none;\n}\n\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n  transform: translate(3px, -50%);\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n  transform: translate(0, -50%);\n}\n.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n  transform: translate(5px, -50%);\n}\n\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n  transform: translate(-3px, -50%);\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n  transform: translate(0, -50%);\n}\n.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n  transform: translate(-5px, -50%);\n}\n\n.ag-charts-font-size-color {\n  display: flex;\n  align-self: stretch;\n  justify-content: space-between;\n}\n\n.ag-charts-data-group-item {\n  position: relative;\n}\n\n.ag-charts-data-group-item:not(:last-child) {\n  margin-bottom: var(--ag-grid-size);\n}\n\n.ag-chart-menu {\n  border-radius: var(--ag-card-radius);\n  background: var(--ag-background-color);\n}\n\n.ag-chart-menu-icon {\n  opacity: 0.5;\n  margin: 2px 0;\n  cursor: pointer;\n  border-radius: var(--ag-card-radius);\n  color: var(--ag-secondary-foreground-color);\n}\n.ag-chart-menu-icon:hover {\n  opacity: 1;\n}\n\n.ag-chart-menu-toolbar-button {\n  border: 0;\n  background-color: unset;\n  padding: 0 2px;\n  border-radius: 1px;\n}\n\n.ag-chart-mini-thumbnail {\n  border: 1px solid var(--ag-secondary-border-color);\n  border-radius: 5px;\n}\n.ag-chart-mini-thumbnail.ag-selected {\n  border-color: var(--ag-minichart-selected-chart-color);\n}\n\n.ag-chart-settings-card-item {\n  background: var(--ag-foreground-color);\n  width: 8px;\n  height: 8px;\n  border-radius: 4px;\n}\n.ag-chart-settings-card-item.ag-selected {\n  background-color: var(--ag-minichart-selected-page-color);\n}\n\n.ag-chart-data-column-drag-handle {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-charts-settings-group-title-bar,\n.ag-charts-data-group-title-bar,\n.ag-charts-format-top-level-group-title-bar {\n  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n  position: relative;\n}\n\n.ag-charts-advanced-settings-top-level-group-title-bar {\n  position: relative;\n  background-color: unset;\n}\n\n.ag-charts-settings-group-title-bar:focus-visible {\n  outline: none;\n}\n.ag-charts-settings-group-title-bar:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-data-group-title-bar:focus-visible {\n  outline: none;\n}\n.ag-charts-data-group-title-bar:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-format-top-level-group-title-bar:focus-visible {\n  outline: none;\n}\n.ag-charts-format-top-level-group-title-bar:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible {\n  outline: none;\n}\n.ag-charts-advanced-settings-top-level-group-title-bar:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-charts-data-group-container {\n  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);\n}\n.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select) {\n  height: var(--ag-list-item-height);\n}\n.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field {\n  margin-top: var(--ag-grid-size);\n}\n.ag-charts-data-group-container .ag-list-item-hovered::after {\n  content: "";\n  position: absolute;\n  left: 0;\n  right: 0;\n  height: 1px;\n  background-color: var(--ag-range-selection-border-color);\n}\n.ag-charts-data-group-container .ag-item-highlight-top::after {\n  top: 0;\n}\n.ag-charts-data-group-container .ag-item-highlight-bottom::after {\n  bottom: 0;\n}\n\n.ag-charts-format-top-level-group-container,\n.ag-charts-advanced-settings-top-level-group-container {\n  margin-left: calc(var(--ag-grid-size) * 2);\n  padding: var(--ag-grid-size);\n}\n\n.ag-charts-format-top-level-group-item,\n.ag-charts-advanced-settings-top-level-group-item {\n  margin: var(--ag-grid-size) 0;\n}\n\n.ag-charts-format-sub-level-group-container {\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-charts-format-sub-level-group-container > * {\n  margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-charts-settings-group-container {\n  padding: var(--ag-grid-size);\n  row-gap: 8px;\n  display: grid;\n  grid-template-columns: 60px 1fr 60px 1fr 60px;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1) {\n  grid-column: 1;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2) {\n  grid-column: 3;\n}\n.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3) {\n  grid-column: 5;\n}\n\n.ag-chart-menu-panel {\n  background-color: var(--ag-control-panel-background-color);\n}\n.ag-ltr .ag-chart-menu-panel {\n  border-left: solid 1px var(--ag-border-color);\n}\n.ag-rtl .ag-chart-menu-panel {\n  border-right: solid 1px var(--ag-border-color);\n}\n\n.ag-date-time-list-page-title-bar {\n  display: flex;\n}\n\n.ag-date-time-list-page-title {\n  flex-grow: 1;\n  text-align: center;\n}\n\n.ag-date-time-list-page-column-labels-row,\n.ag-date-time-list-page-entries-row {\n  display: flex;\n}\n\n.ag-date-time-list-page-column-label,\n.ag-date-time-list-page-entry {\n  flex-basis: 0;\n  flex-grow: 1;\n}\n\n.ag-date-time-list-page-entry {\n  cursor: pointer;\n  text-align: center;\n}\n\n.ag-date-time-list-page-column-label {\n  text-align: center;\n}\n\n.ag-advanced-filter-header {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding-left: var(--ag-cell-horizontal-padding);\n  padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-advanced-filter {\n  display: flex;\n  align-items: center;\n  width: 100%;\n}\n\n.ag-advanced-filter-apply-button, .ag-advanced-filter-builder-button {\n  line-height: normal;\n  white-space: nowrap;\n}\n.ag-ltr .ag-advanced-filter-apply-button, .ag-ltr .ag-advanced-filter-builder-button {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-advanced-filter-apply-button, .ag-rtl .ag-advanced-filter-builder-button {\n  margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-advanced-filter-builder-button {\n  display: flex;\n  align-items: center;\n  border: 0;\n  background-color: unset;\n  color: var(--ag-foreground-color);\n  font-size: var(--ag-font-size);\n  font-weight: 600;\n}\n.ag-advanced-filter-builder-button:hover:not(:disabled) {\n  background-color: var(--ag-row-hover-color);\n}\n.ag-advanced-filter-builder-button:not(:disabled) {\n  cursor: pointer;\n}\n\n.ag-advanced-filter-builder-button-label {\n  margin-left: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder {\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  width: 100%;\n  background-color: var(--ag-control-panel-background-color);\n  display: flex;\n  flex-direction: column;\n}\n\n.ag-advanced-filter-builder-list {\n  flex: 1;\n  overflow: auto;\n}\n.ag-advanced-filter-builder-list .ag-list-item-hovered::after {\n  content: "";\n  position: absolute;\n  left: 0;\n  right: 0;\n  height: 1px;\n  background-color: var(--ag-range-selection-border-color);\n}\n.ag-advanced-filter-builder-list .ag-item-highlight-top::after {\n  top: 0;\n}\n.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {\n  bottom: 0;\n}\n\n.ag-advanced-filter-builder-button-panel {\n  display: flex;\n  justify-content: flex-end;\n  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,\n.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-advanced-filter-builder-item-wrapper {\n  display: flex;\n  flex: 1 1 auto;\n  align-items: center;\n  justify-content: space-between;\n  overflow: hidden;\n  padding-left: calc(var(--ag-icon-size) / 2);\n  padding-right: var(--ag-icon-size);\n}\n\n.ag-advanced-filter-builder-item-tree-lines > * {\n  width: var(--ag-advanced-filter-builder-indent-size);\n}\n\n.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {\n  width: var(--ag-icon-size);\n}\n.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {\n  top: 50%;\n  height: 50%;\n}\n\n.ag-advanced-filter-builder-item-tree-line-horizontal,\n.ag-advanced-filter-builder-item-tree-line-vertical,\n.ag-advanced-filter-builder-item-tree-line-vertical-top,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom {\n  position: relative;\n  height: 100%;\n  display: flex;\n  align-items: center;\n}\n.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,\n.ag-advanced-filter-builder-item-tree-line-vertical::before,\n.ag-advanced-filter-builder-item-tree-line-vertical::after,\n.ag-advanced-filter-builder-item-tree-line-vertical-top::before,\n.ag-advanced-filter-builder-item-tree-line-vertical-top::after,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {\n  content: "";\n  position: absolute;\n  height: 100%;\n}\n\n.ag-advanced-filter-builder-item-tree-line-horizontal::after {\n  height: 50%;\n  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));\n  top: 0;\n  left: calc(var(--ag-icon-size) / 2);\n  border-bottom: 1px solid;\n  border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical::before {\n  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);\n  top: 0;\n  left: calc(var(--ag-icon-size) / 2);\n  border-left: 1px solid;\n  border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical-top::before {\n  height: 50%;\n  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);\n  top: 0;\n  left: calc(var(--ag-icon-size) / 2);\n  border-left: 1px solid;\n  border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {\n  height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);\n  width: calc(var(--ag-icon-size) / 2);\n  top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);\n  left: calc(var(--ag-icon-size) / 2);\n  border-left: 1px solid;\n  border-color: var(--ag-border-color);\n}\n\n.ag-advanced-filter-builder-item-condition {\n  padding-top: var(--ag-grid-size);\n  padding-bottom: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-item,\n.ag-advanced-filter-builder-item-condition,\n.ag-advanced-filter-builder-pill-wrapper,\n.ag-advanced-filter-builder-pill,\n.ag-advanced-filter-builder-item-buttons,\n.ag-advanced-filter-builder-item-tree-lines {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\n\n.ag-advanced-filter-builder-pill-wrapper {\n  margin: 0px var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-pill {\n  position: relative;\n  border-radius: var(--ag-border-radius);\n  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n  min-height: calc(100% - var(--ag-grid-size) * 3);\n  min-width: calc(var(--ag-grid-size) * 2);\n}\n.ag-advanced-filter-builder-pill .ag-picker-field-display {\n  margin-right: var(--ag-grid-size);\n}\n.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {\n  font-family: monospace;\n  font-weight: 700;\n}\n.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {\n  color: var(--ag-disabled-foreground-color);\n}\n\n.ag-advanced-filter-builder-pill:focus-visible {\n  outline: none;\n}\n.ag-advanced-filter-builder-pill:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-builder-item-button:focus-visible {\n  outline: none;\n}\n.ag-advanced-filter-builder-item-button:focus-visible::after {\n  content: "";\n  position: absolute;\n  background-color: transparent;\n  pointer-events: none;\n  top: -4px;\n  left: -4px;\n  display: block;\n  width: calc(100% - -8px);\n  height: calc(100% - -8px);\n  border: 1px solid;\n  border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-advanced-filter-builder-pill-display {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  font-weight: 500;\n}\n\n.ag-advanced-filter-builder-join-pill {\n  color: var(--ag-foreground-color);\n  background-color: var(--ag-advanced-filter-join-pill-color);\n  cursor: pointer;\n}\n\n.ag-advanced-filter-builder-column-pill {\n  color: var(--ag-foreground-color);\n  background-color: var(--ag-advanced-filter-column-pill-color);\n  cursor: pointer;\n}\n\n.ag-advanced-filter-builder-option-pill {\n  color: var(--ag-foreground-color);\n  background-color: var(--ag-advanced-filter-option-pill-color);\n  cursor: pointer;\n}\n\n.ag-advanced-filter-builder-value-pill {\n  color: var(--ag-foreground-color);\n  background-color: var(--ag-advanced-filter-value-pill-color);\n  cursor: text;\n  max-width: 140px;\n}\n.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {\n  display: block;\n}\n\n.ag-advanced-filter-builder-item-buttons > * {\n  margin: 0 calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-advanced-filter-builder-item-button {\n  position: relative;\n  cursor: pointer;\n  color: var(--ag-secondary-foreground-color);\n  opacity: 50%;\n}\n\n.ag-advanced-filter-builder-item-button-disabled {\n  color: var(--ag-disabled-foreground-color);\n  cursor: default;\n}\n\n.ag-advanced-filter-builder-virtual-list-container {\n  top: var(--ag-grid-size);\n}\n\n.ag-advanced-filter-builder-virtual-list-item {\n  display: flex;\n  cursor: default;\n  height: var(--ag-list-item-height);\n}\n.ag-advanced-filter-builder-virtual-list-item:hover {\n  background-color: var(--ag-row-hover-color);\n}\n.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {\n  opacity: 100%;\n}\n\n.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,\n.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {\n  opacity: 100%;\n}\n\n.ag-advanced-filter-builder-invalid {\n  margin: 0 var(--ag-grid-size);\n  color: var(--ag-invalid-color);\n  cursor: default;\n}\n\n.ag-input-field-input {\n  width: 100%;\n  min-width: 0;\n}\n\n.ag-checkbox-input-wrapper {\n  font-family: var(--ag-icon-font-family);\n  font-weight: var(--ag-icon-font-weight);\n  color: var(--ag-icon-font-color);\n  font-size: var(--ag-icon-size);\n  line-height: var(--ag-icon-size);\n  font-style: normal;\n  font-variant: normal;\n  text-transform: none;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  background-color: var(--ag-checkbox-background-color);\n  border-radius: var(--ag-checkbox-border-radius);\n  display: inline-block;\n  vertical-align: middle;\n  flex: none;\n}\n.ag-checkbox-input-wrapper input, .ag-checkbox-input-wrapper input {\n  -webkit-appearance: none;\n  opacity: 0;\n  width: 100%;\n  height: 100%;\n}\n.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {\n  outline: none;\n  box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-checkbox-input-wrapper.ag-disabled {\n  opacity: 0.5;\n}\n.ag-checkbox-input-wrapper::after {\n  content: var(--ag-icon-font-code-checkbox-unchecked, "\\f108");\n  color: var(--ag-checkbox-unchecked-color);\n  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));\n  position: absolute;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-checked::after {\n  content: var(--ag-icon-font-code-checkbox-checked, "\\f106");\n  color: var(--ag-checkbox-checked-color);\n  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));\n  position: absolute;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-indeterminate::after {\n  content: var(--ag-icon-font-code-checkbox-indeterminate, "\\f107");\n  color: var(--ag-checkbox-indeterminate-color);\n  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));\n  position: absolute;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n.ag-checkbox-input-wrapper::before {\n  content: "";\n  background: transparent center/contain no-repeat;\n  position: absolute;\n  inset: 0;\n  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-checkbox-input-wrapper.ag-checked::before {\n  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-checkbox-input-wrapper.ag-indeterminate::before {\n  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));\n}\n\n.ag-toggle-button-input-wrapper {\n  box-sizing: border-box;\n  width: var(--ag-toggle-button-width);\n  min-width: var(--ag-toggle-button-width);\n  max-width: var(--ag-toggle-button-width);\n  height: var(--ag-toggle-button-height);\n  background-color: var(--ag-toggle-button-off-background-color);\n  border-radius: calc(var(--ag-toggle-button-height) * 0.5);\n  position: relative;\n  flex: none;\n  border: var(--ag-toggle-button-border-width) solid;\n  border-color: var(--ag-toggle-button-off-border-color);\n}\n.ag-toggle-button-input-wrapper input {\n  opacity: 0;\n  height: 100%;\n  width: 100%;\n}\n.ag-toggle-button-input-wrapper:focus-within {\n  outline: none;\n  box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-toggle-button-input-wrapper.ag-disabled {\n  opacity: 0.5;\n}\n.ag-toggle-button-input-wrapper.ag-checked {\n  background-color: var(--ag-toggle-button-on-background-color);\n  border-color: var(--ag-toggle-button-on-border-color);\n}\n.ag-toggle-button-input-wrapper::before {\n  content: " ";\n  position: absolute;\n  top: calc(0px - var(--ag-toggle-button-border-width));\n  left: calc(0px - var(--ag-toggle-button-border-width));\n  display: block;\n  box-sizing: border-box;\n  height: var(--ag-toggle-button-height);\n  width: var(--ag-toggle-button-height);\n  background-color: var(--ag-toggle-button-switch-background-color);\n  border-radius: 100%;\n  transition: left 100ms;\n  border: var(--ag-toggle-button-border-width) solid;\n  border-color: var(--ag-toggle-button-switch-border-color);\n}\n.ag-toggle-button-input-wrapper.ag-checked::before {\n  left: calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));\n  border-color: var(--ag-toggle-button-on-border-color);\n}\n\n.ag-radio-button-input-wrapper {\n  font-family: var(--ag-icon-font-family);\n  font-weight: var(--ag-icon-font-weight);\n  color: var(--ag-icon-font-color);\n  font-size: var(--ag-icon-size);\n  line-height: var(--ag-icon-size);\n  font-style: normal;\n  font-variant: normal;\n  text-transform: none;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  background-color: var(--ag-checkbox-background-color);\n  border-radius: var(--ag-checkbox-border-radius);\n  display: inline-block;\n  vertical-align: middle;\n  flex: none;\n  border-radius: var(--ag-icon-size);\n}\n.ag-radio-button-input-wrapper input, .ag-radio-button-input-wrapper input {\n  -webkit-appearance: none;\n  opacity: 0;\n  width: 100%;\n  height: 100%;\n}\n.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {\n  outline: none;\n  box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-radio-button-input-wrapper.ag-disabled {\n  opacity: 0.5;\n}\n.ag-radio-button-input-wrapper::after {\n  content: var(--ag-icon-font-code-radio-button-off, "\\f127");\n  color: var(--ag-checkbox-unchecked-color);\n  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));\n  position: absolute;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n.ag-radio-button-input-wrapper.ag-checked::after {\n  content: var(--ag-icon-font-code-radio-button-on, "\\f128");\n  color: var(--ag-checkbox-checked-color);\n  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));\n  position: absolute;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n.ag-radio-button-input-wrapper::before {\n  content: "";\n  background: transparent center/contain no-repeat;\n  position: absolute;\n  inset: 0;\n  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));\n}\n.ag-radio-button-input-wrapper.ag-checked::before {\n  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));\n  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));\n  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));\n}\n\ninput[class^=ag-][type=range] {\n  -webkit-appearance: none;\n  width: 100%;\n  height: 100%;\n  background: none;\n  overflow: visible;\n}\ninput[class^=ag-][type=range]::-webkit-slider-runnable-track {\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  height: 3px;\n  background-color: var(--ag-border-color);\n  border-radius: var(--ag-border-radius);\n  border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^=ag-][type=range]::-moz-range-track {\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  height: 3px;\n  background-color: var(--ag-border-color);\n  border-radius: var(--ag-border-radius);\n  border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^=ag-][type=range]::-ms-track {\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  height: 3px;\n  background-color: var(--ag-border-color);\n  border-radius: var(--ag-border-radius);\n  border-radius: var(--ag-checkbox-border-radius);\n  color: transparent;\n  width: calc(100% - 2px);\n}\ninput[class^=ag-][type=range]::-webkit-slider-thumb {\n  margin: 0;\n  padding: 0;\n  -webkit-appearance: none;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  background-color: var(--ag-background-color);\n  border: 1px solid;\n  border-color: var(--ag-checkbox-unchecked-color);\n  border-radius: var(--ag-icon-size);\n  transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));\n}\ninput[class^=ag-][type=range]::-ms-thumb {\n  margin: 0;\n  padding: 0;\n  -webkit-appearance: none;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  background-color: var(--ag-background-color);\n  border: 1px solid;\n  border-color: var(--ag-checkbox-unchecked-color);\n  border-radius: var(--ag-icon-size);\n}\ninput[class^=ag-][type=range]::-moz-ag-range-thumb {\n  margin: 0;\n  padding: 0;\n  -webkit-appearance: none;\n  width: var(--ag-icon-size);\n  height: var(--ag-icon-size);\n  background-color: var(--ag-background-color);\n  border: 1px solid;\n  border-color: var(--ag-checkbox-unchecked-color);\n  border-radius: var(--ag-icon-size);\n}\ninput[class^=ag-][type=range]:focus {\n  outline: none;\n}\ninput[class^=ag-][type=range]:focus::-webkit-slider-thumb {\n  box-shadow: var(--ag-input-focus-box-shadow);\n  border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:focus::-ms-thumb {\n  box-shadow: var(--ag-input-focus-box-shadow);\n  border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:focus::-moz-ag-range-thumb {\n  box-shadow: var(--ag-input-focus-box-shadow);\n  border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^=ag-][type=range]:active::-webkit-slider-runnable-track {\n  background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:active::-moz-ag-range-track {\n  background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:active::-ms-track {\n  background-color: var(--ag-input-focus-border-color);\n}\ninput[class^=ag-][type=range]:disabled {\n  opacity: 0.5;\n}\n');bc('@font-face {\n  font-family: "agGridBalham";\n  src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABYUAAsAAAAALgQAABXCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlWBmAAi34KtgCsbgE2AiQDgiwLgRgABCAFhEYHhQgbFShVBoWNAwDFdIdHRcnM5KKoz4JRSvb/dQI3RERcg94LUYNDlJRRFMzQjtavWYLQT3ERFiy0h+AmMcl3xzOrdBEOnrkyLmf//l46s40Rjx2SFE0Caj9+e+++iEZTS4aYhazJQmMIWTOJkBiSNv9p6u81uXStcTtz9aNQWCTCegJgeNrmv7sD5QiVg1YMBCdgEQYIh4Vg9KEuylihU6xYtNtcVeF+1IqVkb9CXZQrtz8H3y0/gdMEmCGnwuiZzJlL5Mx56v1pf9Nf8JlgE/fK64B8AP77qu3R9TZnWJIDRkb4Ze+zzlYKOJKfrKsR8H9rqT0suIAssWuFrjDkzMzs3GX/TjbAmwldUtrw3AYIimgBFdBurgSgKlsF7Mj2Vem+qlpZV4LlofSmgUjUeQAQ7gbkYx89r5NZUyFU/7Kkb0cwOCTCSaCmjituLjwUGo2RIMVpbsTFjAopWV+KrMgbH6NzVxPqwfUQBt6IAGR5cyiz86u78i4dv3VFFeRp2QDeSoZL588el3EZCy0JCspXlnJJnq0/bvkY8sKt8CppjIPxVnwcv6b40VZFZWtPBTWkd3YUQ2CcIOkURbSaUDKYVG6yGnK6xrTGwLF55RBKSMICXX3VacPCiMqBSXP68Xs9MCjvrWy91tK7pzvRCISDQ6qW3iw9Fak+gRE2zLy4/q4y37xuulCfUCGNbxRj61PXJuniW+ZAK06xe3Xg3sgxVDTJ8AXUet41jKNskhmb3qTSdPJBiT66G0SwuNkMvtpUlrhANzvRaQTOhjC+fmuojcdjipqOLL+dcmeXapTAgozS9tsvdZrYTNiyuu7d645hcv2uypVxzrwu5RYy3jorwnSGYFl1tXVTmSuevv7gk89++l8oZCgZcirSqo33DPKztfyy7pr2uUirYfuZUJr2Gg0szclUJ/OVRwXms2pkqJoqnaPwBePrhmYpBYrNGmJCimVAux401R0YxTXKdTyTqQ7kBV+QV9I5mXxqAQZCqqbOsHkoLVBdR8yQF3qIrDJ73MQ/mTTrTGkba09yk/VCO4lr6uUbOLCuVhnmG8id/tVnZWlBnxnwZmdqXD6ce30ayAkfsQwnb2RnOx57KNPZB5YXKZId5lxx3mckh2KyzxsJgO0JPXjO7INZVrD8CeUyZ8SOGkd2wPsGbVftbmfDtRlNzStowt8ejHeA0WILzRbehSxJSR6Fp1JB8iB5g4f1uw9fdIUEJLTo6SI2z8yd8kHbr5XId+ylTH+31XNhZUAqEIFWIAUkZcuzQgH1JaeVqtp0f5D/yFGmQB7+uebBr5VjY9r8ddGNX3DC+6QF9Z5x7oiDruCe0U8Ayz+Z4wkuGxsqJpoNiCknw3wLlgUKFaIpVrdlFVU1dQ1NLW0dXb3c9qGRsYkHcGZuYWmlZm1ja2ev6+Do5Oyiq+bqpubu4kHV9vTy9gEhzVPytK170gpZTpwB7tisLo/7/yP9c9mwny5TOYCSmbCNtoFpHNcNnDCJk0aBU2ZwWh9wxhLO6gHOGQfOGwAumgAuGQMum8UVQ8BVg8A187ihF7hpBLilH7htDncs4q5h4J4p3LeAB7HMrwIxNUVQBSRoQlEoCWWhIlSFmlAXGkJTaAltoSN0hZ7QFwbCUBgJY2EiTIWZMBcWwlJYCWuLbPBrk1lbYSfshYNwNG11kmXOwkW4CjfhbiI8LLLBr2dSvIS3We4j6bCJQyQKtYjgF5tuw2UXhCAF3eGHldGfZ7yUkQ2yH3r6EEBL6vkNeOA/2N27vo335BeCopd9dwodW+/6Zdh2/dhfniJvNPmCvTvsF4u3ABwiE/OFIb4oh0MnJbHZLklEDfEgIfQ5igeDzkSoiihRIINBQddfEuQi4XFQ1IvFYAq5LiQUxxdCCRcSiiqCbWJdXYUzR1Eeh06ho74oW+LJRykCMhl1dSELOMJRJbmhLuEjcfjCLKDEYaNRD/rkGi93dYn68nd1dmp+L7jS3e3dP3FvT0/kX9NWPvIiOoFi3f04/I/Cqx0+AxP2tEd0U1d2TqdCVBCR2d0/zjku2N4ZuCnwGvsYwBANOHTPq1Yek2KWL+dLZQMPAtka6BylaxhfS5x2so5rI2xOFqTRDpsFhnj795c5SBZEV5BCjSCNW0EqM2OIxiqKrWKCYgEMB8Pe8bEQC05iG6qrLUAcA7TEJUwTFqqWhRdphgEKFF3/zyVeXVKjL782R7+96rKPXHlD5tghGvKZP+SCi+RLGxSgsx/93eTvC/vp3PwIpzTsTpflgfJZ+wrVjmRgFhXicd7+R8zvcxmP+RnF5LArOHa7zTeBxCcFPpvgqzX/ModS0pzAcW77fal1OcpMbwtFgyKP9kVPfQLBf4qdNO5JYDw+o8TTaSTOZpPJo1A9dfEu1m6fB0pYRL3JLBKXgHIko+UqYzEtQpX8LSRaon4wc+REIoK1HFSTZ71nsxfUiznjZzKJQOcWTYo0UCIRT/MZTyST4JTHfDC0GFGAm4TD7nrUy7zeKPpIfL8QTeXOeObPFQqvSSGrqFclRjKXwTUp0RdpzUTcyivnb2t3L6oX7jiP1Uc2jMaS2dPu3ztJd3BhoznLHahp6Zlyyn2lwpkWgOInNJJz/bQ462XZE08jkYXq3xVYeCH0vcWxET5alvdTvxUH1jBd7186S3ZUpsDq6b6DQXpL73IbdOHHz7UG3qFzWdWS5u9avT4zcnSyNmc122Uqun8mDxTDwNrq4EWomiYSK+So59VJtHMsi9frrhLA1ySmSFJNuF4UGj5T6DqIsIxmWVCO+9O6A2ve+cMAkP9WQ9SbPWgGHkC46AfFkzlgLL9fDfZBSrIiueBXKQYLuOMpG7JzBDHlu/MT28LTgW18u/C0AzpnZNrFX7ZvkR3/vd8JHAfIQmiIHmJO6OAH/w67PbeNqsN+ktYHbnypOWpJEjxaA/33yvJ69Ym1941dNyX+0Oq5sGpU6H5yT+8+v1KK+bx3zM6UxHNW/3WjSrnk93uOVEPpYeVFq+akueoG+jldMjr06TUsOKvDDzxwgB/NQOBoo5QyzsgsY5RQLo9sFfIeo8cxItTncNbp/OSTDWpw5EJaMuaLCSgUyqJUqAsxJTHTJJpevpzdbp292LkqNPfcCj5svNrDjB0r556EeHr7PvL6Z7vfdV3q5mdltSLZkhX+02VxgMS7R8CmPH6PndrHp9CuPvmAiJZR0iKr5r51iAfH8g8xBk6Itfue9Hsh5otRy4vbbm7hRztzq8/55jua1a0B4omUn2jLr2iqhJ/R96fdcU85edH3zD/vy9WmGiq4J4IjvnOVrJH1aVeBwdsWrF6F2zmzGYbchVe8oza5D3km83NxPx98KeVqf1LqMWR6HYZc9AwRQzwLcE2X6GvmNOoDmL9AAM/qdEVXdNXAyiEcagv67Gj+viC5gzy545538oOcUAdwkgOcyTaXHdnmDH/7FD9A2KHpxG9uIUi5PJtCKMDdDtLQ5CLgkoV7TVjxGPM0ovmCMdVrLrDocFo32s8bhhU8tG7/PX3V2QcVvVU7tC7UL8X9aw/l7rbedKO60TI7rphoskN4xjY94HymfuVWD8IryQIbYiH+2hGFoFoqBM5mHyHt4ckHz+6duM8Vu3ANlz9+X0YnTaHXFf74JwzNasRT4ov6Vfus9FEfldMMeABKjjHUQgviYKZkHS9PkMkSXBEvCa6yhARZudIJYj4Dfqy0mgRG4b0ZS5HZmNpPRF2anxoTQcQ85Rx4dswoHPloNI4iLr+Tb7sGsvd/QjdUP30/6ZcZHqNGY3MtNVRTGD8QEzoQNyVz4L83rIdwfC241Wk2OzaQTXWYzQzGUQT6zqVL7z0G+d454m0c+MTbZuSqCKWSUOU6c/uVBKHMVTlNpsUGq0VukslMcssJ0AgmmUV+HCiSMRUcl60KEfRDh52Ha+Ahp0c9c/BxVvP25iFzlaVq8GP1aDXQLFBmh4ZmKwftZbNDlczh4TcnF4u8vhEtEX3jJcIf63Ev9++/d89v27a5ZSH3ZMxjvUUP1PGDgaanXGgyB8Pf7tu3o6AAhg36W7r6Wz/dOms4dap12CoQAxMQC4gnreB6v1FlvKHEVbhDiR0qEax/477I8Re5DAfIN40oLHK5RaFWyCwWeRBjl4tS5ecAa4Ce98g/0qc3MZhCZrbIFZuN26UJUvDGpzLPZqD9v5nF1WULE85D42aOU46bMS4C/VtNKy4+8vyrpq4F6qQExnj0Q2X7uulrRO1sj5nK0b0JHPEP1QiLFx2AoXsY9foqtTvvosr3RrFvXp5gntvuc24CPocrcrs7gtFa3RpmlT+hM3Mxt328txEHQAf7Ty7WRKrl7GXM1qX/4Y0x0AnH4rjcQz9hu6Jb5TdkDr4ccOppNalUMl/TwZ+71f3aZL7qfgiFuhezg7vulIT6wLBFLVtfj0kCZpnMbE2fWWZNVA+rEKnZRY3FTWyTSG4hE6AJqPB/HhsovLNLs+uOZqnt8rwOsdfDr97cybb/zmoJDNtQD7CU7twiNfPc2m/l1yXPaS1J5hrdmeL30eON4/c8Jn6guIfSmalpJTl1X23CWvlsfnjevNz68OVkiruvOwbW97QpuJNXGjS8nBI2C8YmwsfSFiz3z7sHiY7vfJnvdFgsyZLjzExWDjs+LFMbZh0NXnz00P8jbcNtDsOWLyl5RZA0P9OQrp/GKmJPFFm1jh1J+kKdrjBayo1NWRYyljxUBInMlaWb9HvgZD+/i7FcaXSRTluol3DiUpR9W0Pl8rrxC53t2BKqqDBZ/q4LfDr8M3HS5LQS/9niuQy7W74xQ6vMzcCX4MTXhTbELQVarS+1eSccintlChZUidOTLWP21k2L0k6ryqBp2io56kGgH+9qh5poIGGeWw7rdwmo2gepIehYw82y+jp6pWMVIMAuoM6sy4zVt66VmOwqnFlXv/oKq9eSFv1KUEM+jqluTKuvY4IP1XkJezkj+AjoI96MO5qMzcYbTeqCVLh5Moa/B8zGh0xhzXhzjUGLa2tw5HhT+o3hCn4FBMa46S8oPoKDgLXPWtpaKrpFSuT7Knwfamr6E/9zv3AQ8CWsoBVRhVnbNrfZ5jizsSa9vjibY2phIhckgBk/csWt4LeX/icahcv2vLDNuc9bdrd0TyFFnurjnDPnOXfxjbKzv9RRi9L5halHmDZbYKvmMxHpDFGRmgkfWJypb/tF1qRd++LS26fKATYZH8XLvG/dcqTyLZrEwVeO4qNKQ0zyZDZ2ssIh+uMxT+bgyS24rxc2mez2zMya5+5uxgKoHgvsRnuzHYfqRjt48Ar5vxdxySlf9xXc6y+4PDPLRJuxalF/v7PP2X8MN2MvKWNvskjyMP9XUHuwZhJkVWeGlRxBJ9OKZBOkGamRFs1VSR57EicOv2XcDeVAuZIkn5jSgpXhMXgGZFbEyyaspmRQCEmqND0rOE3eRkqTEUEyq9jiSrhm5q81yZOCttz+TN5ONqU3fRvrn+SiQYvrGzxmhdqESzb/hcrb7sVCrdX19Th1PS9GEJe/K4vU2h7FS5ks/PJlCLSyRNjFntY/cv9o7bmINYsX8sVXxPyF4hFV/OjBXO67XMxbUKeOCDWCK0K18D5895txYbzwiiABZDavX08R6tJX3doxOKdg2rpjety7VyRKufxnYuLMIjKJL9Fl/DRn8+be8cv095rQtRea3+7cObkCowoE1YVc10rmps2VG2m/d/NedXR02nL1n7SRz8nPKB1VoDx772S6b87yZeN1t20OgsghHCvKA2WJJrm9aoXj+ioIx/aXGu6GLjRClOjaNK/hJthBap6Pf9CkdPyKEw1GY1tjUwO0uSL4nHZd0/yvmsrN8+YDn/jBGZMC8qUrV0rzAyY5Ew16N5wvnRTgtDEtNtQWRxdotQXRxc8d+ZwCbbHuOcRk07l0f2F0jCt99rL1cSTixENLNRDJHJFKW1qGZ0JYy7iE+8QadC8ckVgkORIxEFt4UZLqabPteAjyjlNtIwHC4ma4uw/0PNAVu8gxXWFL682lpefPty1dFhsLHNgYOSqgVtpgpppJZu7YGRk5NKgkqz1criwihoaY7st/8c6CynhmWYbpHgXe6l+cv4hn0XbMZ9gq2Uk7bmFfkizNx2ljBp4v+tuq9HT1yH9uZ/Trcx8reWLevgJdFBj+bDYLpvOnCLVv7drpAkXmg55GzIJnpSOLnU6Rp9bWsjV0NWLO/7hwGB/mfrvIzd0XYjgG3lwWxiOasJqjFvQJExo0TIzgkhnFFSLxQHfg+cLD1sRyIvHyNfzaFcJUbjUdWSjAA02ZsllT62oWOGVcN16/PIjyiYcX8A2B1kwCZ1jB/LEY2tg3UcgZAKmWt0FkwT8h7EnZtqQTmU/02JgpBpEhBMYGl/E6pEhIMOKWBW9EyJPhaalR8E+qBsDYkZ+Qp5FtWnZRpyksJfUooqtV/0hnsHt0mWD4+SGHNYVWIJ6qnbxK0jL5fzwpzoeqODL8xKEOQhYhtbwEaaQ21d6ceE+8uVgeGd54qn4X7WSnliIlOWlXdxIPq3cFJ7rI8z/kkh72pfOmuuvfUjAyCAA0Af3rqwUYVy98xZ8C8O2YkAjoL1QcMtgKDf2/9Hy9Ju6N8KS1vNAk/IeA358yqLbC9/zfk+oXqHguAP7ZpnqAnxCDfFBdg0HxhgIgqroM7CR37RgywEACFzv3AFDXahycnAaWgVKAAEhCAQRlYAEeYwMuEAc7uI9AAbi/GlMIvKAbisD9dAwCDCJ9MwxaoAnDsfqpjX/HUGP7i6pzQDXWQ2/yjzQ1wtlL8Wx1ZT+JSdHIZ6d7li7Vq1mZlSpt9kPYLioEyaLKJzkrarP4djyW+KwLJ+0TVj+18e8Y6jNC+0Ub7RxQ19RHk7D2j9aQ4H0Tzl6KZ5/2n4x9T4hGXjvdRS1dTtqrUa3MeF2lVdmPWIlPCBTkyKK9/kkO86IOoce3I+2o9MsLFwsdt6xXNUrOEmBFgS70oA8DGMIIxjCBKXxhkr4c/utWnW6vPxiOxpPpbL5Yrtab7W5/OJ7Ol+vt/ni+3h9MKONC6oZp2Y7r8QVCkVgilcl9/fg1bAVWlVKF1ggPUFWuqYvJDRyyo9B3Naqt2kju6yS3XEknfzCcpmFPRto2jEYbq/gz+yo/cxJE89hcDdThXTy3nCZO2BSdke85ife+U0mp69Kl687W85Rcn25Jy6OOjhg7+KfYcpSngKnuqr5B2YQE5f6U1WS9SpvY3z45x56jbIhU2iA0nPLZDoOgb7gatXhr2uZBvZb4PMopZY7AwjRlsRxDkCvR/Rg4irpEcb/0i9hKg74dyU9nM+FcynJpOBr3talq6yW80CS1MRTJvVx5pOHMgJV5PRtTokpKGZ05c0IvhnPqW6BWRtnCmRBslMgsw88mAUIFCgQGDQgwXCGBgwA1fMEJbpB7aOEMEe5wgRIeTwAA);\n  font-weight: normal;\n  font-style: normal;\n}\n.ag-theme-balham, .ag-theme-balham-dark, .ag-theme-balham-auto-dark {\n  --ag-balham-active-color: #0091ea;\n  --ag-foreground-color: #000;\n  --ag-background-color: #fff;\n  --ag-header-background-color: #f5f7f7;\n  --ag-tooltip-background-color: #cbd0d3;\n  --ag-subheader-background-color: #e2e9eb;\n  --ag-control-panel-background-color: #f5f7f7;\n  --ag-border-color: #bdc3c7;\n  --ag-odd-row-background-color: #fcfdfe;\n  --ag-row-hover-color: #ecf0f1;\n  --ag-column-hover-color: #ecf0f1;\n  --ag-input-border-color: #95a5a6;\n  --ag-invalid-color: #e02525;\n  --ag-input-disabled-background-color: #ebebeb;\n  --ag-checkbox-unchecked-color: #7f8c8d;\n  --ag-input-focus-border-color: #719ECE;\n  --ag-advanced-filter-join-pill-color: #f08e8d;\n  --ag-advanced-filter-column-pill-color: #a6e194;\n  --ag-advanced-filter-option-pill-color: #f3c08b;\n  --ag-advanced-filter-value-pill-color: #85c0e4;\n  --ag-input-focus-box-shadow: 0 0 2px 1px var(--ag-input-focus-border-color);\n  --ag-range-selection-border-color: var(--ag-balham-active-color);\n  --ag-checkbox-checked-color: var(--ag-balham-active-color);\n  --ag-checkbox-background-color: var(--ag-background-color);\n  --ag-panel-background-color: var(--ag-header-background-color);\n  --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n  --ag-subheader-toolbar-background-color: rgba(226, 233, 235, 0.5);\n  --ag-row-border-color: rgba(189, 195, 199, 0.58);\n  --ag-chip-background-color: rgba(0, 0, 0, 0.1);\n  --ag-range-selection-background-color: rgba(0, 145, 234, 0.2);\n  --ag-range-selection-background-color-2: rgba(0, 145, 234, 0.36);\n  --ag-range-selection-background-color-3: rgba(0, 145, 234, 0.49);\n  --ag-range-selection-background-color-4: rgba(0, 145, 234, 0.59);\n  --ag-selected-row-background-color: rgba(0, 145, 234, 0.28);\n  --ag-header-column-separator-color: rgba(189, 195, 199, 0.5);\n  --ag-input-disabled-border-color: rgba(149, 165, 166, 0.3);\n  --ag-header-column-separator-display: block;\n  --ag-header-column-separator-height: 50%;\n  --ag-grid-size: 4px;\n  --ag-icon-size: 16px;\n  --ag-row-height: calc(var(--ag-grid-size) * 7);\n  --ag-header-height: calc(var(--ag-grid-size) * 8);\n  --ag-list-item-height: calc(var(--ag-grid-size) * 6);\n  --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n  --ag-input-height: calc(var(--ag-grid-size) * 4);\n  --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;\n  --ag-font-size: 12px;\n  --ag-icon-font-family: agGridBalham;\n  --ag-border-radius: 2px;\n  --ag-checkbox-border-radius: 3px;\n  --ag-card-shadow: none;\n}\n\n.ag-theme-balham-dark {\n  --ag-balham-active-color: #00B0FF;\n  --ag-foreground-color: #F5F5F5;\n  --ag-background-color: #2d3436;\n  --ag-header-background-color: #1c1c1c;\n  --ag-tooltip-background-color: #1c1f20;\n  --ag-subheader-background-color: #111;\n  --ag-control-panel-background-color: #202020;\n  --ag-border-color: #424242;\n  --ag-odd-row-background-color: #262c2e;\n  --ag-row-hover-color: #3d4749;\n  --ag-column-hover-color: #3d4749;\n  --ag-input-border-color: #f0f0f0;\n  --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n  --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n  --ag-checkbox-unchecked-color: #ecf0f1;\n  --ag-advanced-filter-join-pill-color: #7a3a37;\n  --ag-advanced-filter-column-pill-color: #355f2d;\n  --ag-advanced-filter-option-pill-color: #5a3168;\n  --ag-advanced-filter-value-pill-color: #374c86;\n  --ag-secondary-foreground-color: var(--ag-foreground-color);\n  --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n  --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n  --ag-row-border-color: #5c5c5c;\n  --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n  --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n  --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n  --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n  --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n  --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n  --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n  --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n  --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n  --ag-toggle-button-off-background-color: transparent;\n  --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n  --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n  --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n  --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n  --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n  color-scheme: dark;\n}\n\n@media (prefers-color-scheme: dark) {\n  .ag-theme-balham-auto-dark {\n    --ag-balham-active-color: #00B0FF;\n    --ag-foreground-color: #F5F5F5;\n    --ag-background-color: #2d3436;\n    --ag-header-background-color: #1c1c1c;\n    --ag-tooltip-background-color: #1c1f20;\n    --ag-subheader-background-color: #111;\n    --ag-control-panel-background-color: #202020;\n    --ag-border-color: #424242;\n    --ag-odd-row-background-color: #262c2e;\n    --ag-row-hover-color: #3d4749;\n    --ag-column-hover-color: #3d4749;\n    --ag-input-border-color: #f0f0f0;\n    --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);\n    --ag-modal-overlay-background-color: rgba(45, 52, 54, 0.66);\n    --ag-checkbox-unchecked-color: #ecf0f1;\n    --ag-advanced-filter-join-pill-color: #7a3a37;\n    --ag-advanced-filter-column-pill-color: #355f2d;\n    --ag-advanced-filter-option-pill-color: #5a3168;\n    --ag-advanced-filter-value-pill-color: #374c86;\n    --ag-secondary-foreground-color: var(--ag-foreground-color);\n    --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);\n    --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);\n    --ag-row-border-color: #5c5c5c;\n    --ag-chip-background-color: rgba(245, 245, 245, 0.08);\n    --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);\n    --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);\n    --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);\n    --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);\n    --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);\n    --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);\n    --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);\n    --ag-header-foreground-color: rgba(245, 245, 245, 0.64);\n    --ag-toggle-button-off-background-color: transparent;\n    --ag-toggle-button-off-border-color: var(--ag-foreground-color);\n    --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);\n    --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);\n    --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);\n    --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);\n    color-scheme: dark;\n  }\n}\n.ag-theme-balham .ag-filter-toolpanel-header,\n.ag-theme-balham .ag-filter-toolpanel-search,\n.ag-theme-balham .ag-status-bar,\n.ag-theme-balham .ag-header-row,\n.ag-theme-balham .ag-multi-filter-group-title-bar, .ag-theme-balham-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-dark .ag-status-bar,\n.ag-theme-balham-dark .ag-header-row,\n.ag-theme-balham-dark .ag-multi-filter-group-title-bar, .ag-theme-balham-auto-dark .ag-filter-toolpanel-header,\n.ag-theme-balham-auto-dark .ag-filter-toolpanel-search,\n.ag-theme-balham-auto-dark .ag-status-bar,\n.ag-theme-balham-auto-dark .ag-header-row,\n.ag-theme-balham-auto-dark .ag-multi-filter-group-title-bar {\n  font-weight: 600;\n  color: var(--ag-header-foreground-color);\n}\n.ag-theme-balham .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham .ag-ltr input[class^=ag-][type=text], .ag-theme-balham .ag-ltr input[class^=ag-][type=number], .ag-theme-balham .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham .ag-ltr input[class^=ag-][type=date], .ag-theme-balham .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-ltr textarea[class^=ag-], .ag-theme-balham-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-ltr textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-ltr textarea[class^=ag-] {\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham .ag-rtl input[class^=ag-][type=text], .ag-theme-balham .ag-rtl input[class^=ag-][type=number], .ag-theme-balham .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham .ag-rtl input[class^=ag-][type=date], .ag-theme-balham .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-rtl textarea[class^=ag-], .ag-theme-balham-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-dark .ag-rtl textarea[class^=ag-], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-balham-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham-auto-dark .ag-rtl textarea[class^=ag-] {\n  padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-vertical-empty-message, .ag-theme-balham .ag-status-bar, .ag-theme-balham-dark .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-status-bar, .ag-theme-balham-auto-dark .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-status-bar {\n  font-weight: 600;\n  color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham.ag-dnd-ghost, .ag-theme-balham-dark.ag-dnd-ghost, .ag-theme-balham-auto-dark.ag-dnd-ghost {\n  font-size: var(--ag-font-size);\n  font-weight: 600;\n}\n.ag-theme-balham .ag-tab, .ag-theme-balham-dark .ag-tab, .ag-theme-balham-auto-dark .ag-tab {\n  border: 1px solid transparent;\n  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);\n  margin: var(--ag-grid-size);\n  margin-bottom: -1px;\n}\n.ag-theme-balham .ag-tab-selected, .ag-theme-balham-dark .ag-tab-selected, .ag-theme-balham-auto-dark .ag-tab-selected {\n  background-color: var(--ag-background-color);\n  border-color: var(--ag-border-color);\n  border-bottom-color: transparent;\n}\n.ag-theme-balham .ag-tabs-header, .ag-theme-balham-dark .ag-tabs-header, .ag-theme-balham-auto-dark .ag-tabs-header {\n  border-bottom: 1px solid var(--ag-border-color);\n}\n.ag-theme-balham .ag-column-drop-cell, .ag-theme-balham-dark .ag-column-drop-cell, .ag-theme-balham-auto-dark .ag-column-drop-cell {\n  height: calc(var(--ag-grid-size) * 6);\n}\n.ag-theme-balham .ag-column-drop-vertical-title, .ag-theme-balham-dark .ag-column-drop-vertical-title, .ag-theme-balham-auto-dark .ag-column-drop-vertical-title {\n  color: var(--ag-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell, .ag-theme-balham-dark .ag-column-drop-vertical-cell, .ag-theme-balham-auto-dark .ag-column-drop-vertical-cell {\n  margin-left: calc(var(--ag-grid-size) * 2);\n  margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-cell-text, .ag-theme-balham-dark .ag-column-drop-vertical-cell-text, .ag-theme-balham-auto-dark .ag-column-drop-vertical-cell-text {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical-icon, .ag-theme-balham-dark .ag-column-drop-vertical-icon, .ag-theme-balham-auto-dark .ag-column-drop-vertical-icon {\n  color: var(--ag-secondary-foreground-color);\n}\n.ag-theme-balham .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-ltr .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-ltr .ag-column-drop-vertical-empty-message {\n  padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n  padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-dark .ag-rtl .ag-column-drop-vertical-empty-message, .ag-theme-balham-auto-dark .ag-rtl .ag-column-drop-vertical-empty-message {\n  padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n  padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-balham .ag-column-drop-horizontal, .ag-theme-balham-dark .ag-column-drop-horizontal, .ag-theme-balham-auto-dark .ag-column-drop-horizontal {\n  height: var(--ag-header-height);\n}\n.ag-theme-balham .ag-column-drop-empty, .ag-theme-balham-dark .ag-column-drop-empty, .ag-theme-balham-auto-dark .ag-column-drop-empty {\n  color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-balham .ag-column-drop-horizontal-cell-text, .ag-theme-balham-dark .ag-column-drop-horizontal-cell-text, .ag-theme-balham-auto-dark .ag-column-drop-horizontal-cell-text {\n  margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-drop-vertical, .ag-theme-balham-dark .ag-column-drop-vertical, .ag-theme-balham-auto-dark .ag-column-drop-vertical {\n  padding-top: calc(var(--ag-grid-size) * 2);\n}\n.ag-theme-balham .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-balham-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-dark .ag-column-select-column-readonly .ag-icon-grip, .ag-theme-balham-auto-dark .ag-column-select-column-readonly.ag-icon-grip,\n.ag-theme-balham-auto-dark .ag-column-select-column-readonly .ag-icon-grip {\n  opacity: 0.35;\n}\n.ag-theme-balham .ag-menu-header, .ag-theme-balham-dark .ag-menu-header, .ag-theme-balham-auto-dark .ag-menu-header {\n  background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-overlay-loading-center, .ag-theme-balham-dark .ag-overlay-loading-center, .ag-theme-balham-auto-dark .ag-overlay-loading-center {\n  background-color: var(--ag-background-color);\n  border: 1px solid var(--ag-border-color);\n  color: var(--ag-foreground-color);\n  padding: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-balham .ag-tooltip, .ag-theme-balham-dark .ag-tooltip, .ag-theme-balham-auto-dark .ag-tooltip {\n  border: none;\n}\n.ag-theme-balham .ag-panel-title-bar-button-icon, .ag-theme-balham-dark .ag-panel-title-bar-button-icon, .ag-theme-balham-auto-dark .ag-panel-title-bar-button-icon {\n  font-size: calc(var(--ag-icon-size) + var(--ag-grid-size));\n}\n.ag-theme-balham .ag-panel, .ag-theme-balham-dark .ag-panel, .ag-theme-balham-auto-dark .ag-panel {\n  background-color: var(--ag-header-background-color);\n}\n.ag-theme-balham .ag-chart-data-section,\n.ag-theme-balham .ag-chart-format-section,\n.ag-theme-balham .ag-chart-advanced-settings-section, .ag-theme-balham-dark .ag-chart-data-section,\n.ag-theme-balham-dark .ag-chart-format-section,\n.ag-theme-balham-dark .ag-chart-advanced-settings-section, .ag-theme-balham-auto-dark .ag-chart-data-section,\n.ag-theme-balham-auto-dark .ag-chart-format-section,\n.ag-theme-balham-auto-dark .ag-chart-advanced-settings-section {\n  padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-group-toolbar, .ag-theme-balham-dark .ag-group-toolbar, .ag-theme-balham-auto-dark .ag-group-toolbar {\n  background-color: var(--ag-subheader-toolbar-background-color);\n}\n.ag-theme-balham .ag-chart-tab, .ag-theme-balham-dark .ag-chart-tab, .ag-theme-balham-auto-dark .ag-chart-tab {\n  padding-top: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-balham .ag-charts-format-sub-level-group-item, .ag-theme-balham-dark .ag-charts-format-sub-level-group-item, .ag-theme-balham-auto-dark .ag-charts-format-sub-level-group-item {\n  margin-bottom: calc(var(--ag-grid-size) * 1.5);\n}\n.ag-theme-balham .ag-chart-menu-close, .ag-theme-balham-dark .ag-chart-menu-close, .ag-theme-balham-auto-dark .ag-chart-menu-close {\n  background: var(--ag-background-color);\n}\n.ag-theme-balham .ag-chart-menu-close:hover .ag-icon, .ag-theme-balham-dark .ag-chart-menu-close:hover .ag-icon, .ag-theme-balham-auto-dark .ag-chart-menu-close:hover .ag-icon {\n  border-color: var(--ag-border-color);\n}\n.ag-theme-balham .ag-chart-menu-close .ag-icon, .ag-theme-balham-dark .ag-chart-menu-close .ag-icon, .ag-theme-balham-auto-dark .ag-chart-menu-close .ag-icon {\n  background: var(--ag-header-background-color);\n  border: 1px solid var(--ag-secondary-border-color);\n  border-right: none;\n}\n.ag-theme-balham .ag-filter-active .ag-icon-filter, .ag-theme-balham-dark .ag-filter-active .ag-icon-filter, .ag-theme-balham-auto-dark .ag-filter-active .ag-icon-filter {\n  color: var(--ag-balham-active-color);\n}\n');let xc={en:{selectAll:"(Select All)",selectAllSearchResults:"(Select All Search Results)",searchOoo:"Search...",blanks:"(Blanks)",noMatches:"No matches",filterOoo:"Filter...",equals:"Equals",notEqual:"Not equal",blank:"Blank",notBlank:"Not blank",empty:"Choose One",lessThan:"Less than",greaterThan:"Greater than",lessThanOrEqual:"Less than or equal",greaterThanOrEqual:"Greater than or equal",inRange:"In range",inRangeStart:"from",inRangeEnd:"to",contains:"Contains",notContains:"Not contains",startsWith:"Starts with",endsWith:"Ends with",dateFormatOoo:"yyyy-mm-dd",andCondition:"AND",orCondition:"OR",applyFilter:"Apply",resetFilter:"Reset",clearFilter:"Clear",cancelFilter:"Cancel",textFilter:"Text Filter",numberFilter:"Number Filter",dateFilter:"Date Filter",setFilter:"Set Filter",groupFilterSelect:"Select field:",advancedFilterContains:"contains",advancedFilterNotContains:"does not contain",advancedFilterTextEquals:"equals",advancedFilterTextNotEqual:"does not equal",advancedFilterStartsWith:"starts with",advancedFilterEndsWith:"ends with",advancedFilterBlank:"is blank",advancedFilterNotBlank:"is not blank",advancedFilterEquals:"=",advancedFilterNotEqual:"!=",advancedFilterGreaterThan:">",advancedFilterGreaterThanOrEqual:">=",advancedFilterLessThan:"<",advancedFilterLessThanOrEqual:"<=",advancedFilterTrue:"is true",advancedFilterFalse:"is false",advancedFilterAnd:"AND",advancedFilterOr:"OR",advancedFilterApply:"Apply",advancedFilterValidationMissingColumn:"Column is missing",advancedFilterValidationMissingOption:"Option is missing",advancedFilterValidationMissingValue:"Value is missing",advancedFilterValidationInvalidColumn:"Column not found",advancedFilterValidationInvalidOption:"Option not found",advancedFilterValidationMissingQuote:"Value is missing an end quote",advancedFilterValidationNotANumber:"Value is not a number",advancedFilterValidationMissingCondition:"Condition is missing",advancedFilterValidationJoinOperatorMismatch:"Join operators within a condition must be the same",advancedFilterValidationInvalidJoinOperator:"Join operator not found",advancedFilterValidationMissingEndBracket:"Missing end bracket",advancedFilterValidationExtraEndBracket:"Too many end brackets",advancedFilterValidationMessage:"Expression has an error. ${variable1} - ${variable2}.",advancedFilterValidationMessageAtEnd:"Expression has an error. ${variable} at end of expression.",columns:"Columns",filters:"Filters",pivotMode:"Pivot Mode",groups:"Row Groups",rowGroupColumnsEmptyMessage:"Drag here to set row groups",values:"Values",valueColumnsEmptyMessage:"Drag here to aggregate",pivots:"Column Labels",pivotColumnsEmptyMessage:"Drag here to set column labels",group:"Group",rowDragRow:"row",rowDragRows:"rows",loadingOoo:"Loading...",loadingError:"ERR",noRowsToShow:"No Rows To Show",enabled:"Enabled",pinColumn:"Pin Column",pinLeft:"Pin Left",pinRight:"Pin Right",noPin:"No Pin",valueAggregation:"Value Aggregation",noAggregation:"None",autosizeThiscolumn:"Autosize This Column",autosizeAllColumns:"Autosize All Columns",groupBy:"Group by",ungroupBy:"Un-Group by",ungroupAll:"Un-Group All",addToValues:"Add ${variable} to values",removeFromValues:"Remove ${variable} from values",addToLabels:"Add ${variable} to labels",removeFromLabels:"Remove ${variable} from labels",resetColumns:"Reset Columns",expandAll:"Expand All Row Groups",collapseAll:"Close All Row Groups",copy:"Copy",ctrlC:"Ctrl+C",ctrlX:"Ctrl+X",copyWithHeaders:"Copy With Headers",copyWithGroupHeaders:"Copy with Group Headers",cut:"Cut",paste:"Paste",ctrlV:"Ctrl+V",export:"Export",csvExport:"CSV Export",excelExport:"Excel Export",sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",none:"None",count:"Count",avg:"Average",filteredRows:"Filtered",selectedRows:"Selected",totalRows:"Total Rows",totalAndFilteredRows:"Rows",more:"More",to:"to",of:"of",page:"Page",pageLastRowUnknown:"?",nextPage:"Next Page",lastPage:"Last Page",firstPage:"First Page",previousPage:"Previous Page",pivotColumnGroupTotals:"Total",pivotChartAndPivotMode:"Pivot Chart & Pivot Mode",pivotChart:"Pivot Chart",chartRange:"Chart Range",columnChart:"Column",groupedColumn:"Grouped",stackedColumn:"Stacked",normalizedColumn:"100% Stacked",barChart:"Bar",groupedBar:"Grouped",stackedBar:"Stacked",normalizedBar:"100% Stacked",pieChart:"Pie",pie:"Pie",doughnut:"Doughnut",line:"Line",xyChart:"X Y (Scatter)",scatter:"Scatter",bubble:"Bubble",areaChart:"Area",area:"Area",stackedArea:"Stacked",normalizedArea:"100% Stacked",histogramChart:"Histogram",histogramFrequency:"Frequency",combinationChart:"Combination",columnLineCombo:"Column & Line",AreaColumnCombo:"Area & Column",pivotChartTitle:"Pivot Chart",rangeChartTitle:"Range Chart",settings:"Settings",data:"Data",format:"Format",categories:"Categories",defaultCategory:"(None)",series:"Series",xyValues:"X Y Values",paired:"Paired Mode",axis:"Axis",navigator:"Navigator",color:"Color",thickness:"Thickness",xType:"X Type",automatic:"Automatic",category:"Category",number:"Number",time:"Time",autoRotate:"Auto Rotate",xRotation:"X Rotation",yRotation:"Y Rotation",ticks:"Ticks",width:"Width",height:"Height",length:"Length",padding:"Padding",spacing:"Spacing",chart:"Chart",title:"Title",titlePlaceholder:"Chart title - double click to edit",background:"Background",font:"Font",top:"Top",right:"Right",bottom:"Bottom",left:"Left",labels:"Labels",size:"Size",minSize:"Minimum Size",maxSize:"Maximum Size",legend:"Legend",position:"Position",markerSize:"Marker Size",markerStroke:"Marker Stroke",markerPadding:"Marker Padding",itemSpacing:"Item Spacing",itemPaddingX:"Item Padding X",itemPaddingY:"Item Padding Y",layoutHorizontalSpacing:"Horizontal Spacing",layoutVerticalSpacing:"Vertical Spacing",strokeWidth:"Stroke Width",lineDash:"Line Dash",offset:"Offset",offsets:"Offsets",tooltips:"Tooltips",callout:"Callout",markers:"Markers",shadow:"Shadow",blur:"Blur",xOffset:"X Offset",yOffset:"Y Offset",lineWidth:"Line Width",normal:"Normal",bold:"Bold",italic:"Italic",boldItalic:"Bold Italic",predefined:"Predefined",fillOpacity:"Fill Opacity",strokeOpacity:"Line Opacity",histogramBinCount:"Bin count",columnGroup:"Column",barGroup:"Bar",pieGroup:"Pie",lineGroup:"Line",scatterGroup:"X Y (Scatter)",areaGroup:"Area",histogramGroup:"Histogram",combinationGroup:"Combination",groupedColumnTooltip:"Grouped",stackedColumnTooltip:"Stacked",normalizedColumnTooltip:"100% Stacked",groupedBarTooltip:"Grouped",stackedBarTooltip:"Stacked",normalizedBarTooltip:"100% Stacked",pieTooltip:"Pie",doughnutTooltip:"Doughnut",lineTooltip:"Line",groupedAreaTooltip:"Area",stackedAreaTooltip:"Stacked",normalizedAreaTooltip:"100% Stacked",scatterTooltip:"Scatter",bubbleTooltip:"Bubble",histogramTooltip:"Histogram",columnLineComboTooltip:"Column & Line",areaColumnComboTooltip:"Area & Column",customComboTooltip:"Custom Combination",noDataToChart:"No data available to be charted.",pivotChartRequiresPivotMode:"Pivot Chart requires Pivot Mode enabled.",chartSettingsToolbarTooltip:"Menu",chartLinkToolbarTooltip:"Linked to Grid",chartUnlinkToolbarTooltip:"Unlinked from Grid",chartDownloadToolbarTooltip:"Download Chart",seriesChartType:"Series Chart Type",seriesType:"Series Type",secondaryAxis:"Secondary Axis",ariaAdvancedFilterInput:"Advanced Filter Input",ariaChecked:"checked",ariaColumn:"Column",ariaColumnGroup:"Column Group",ariaColumnList:"Column List",ariaColumnSelectAll:"Toggle Select All Columns",ariaDateFilterInput:"Date Filter Input",ariaDefaultListName:"List",ariaFilterColumnsInput:"Filter Columns Input",ariaFilterFromValue:"Filter from value",ariaFilterInput:"Filter Input",ariaFilterList:"Filter List",ariaFilterToValue:"Filter to value",ariaFilterValue:"Filter Value",ariaFilterMenuOpen:"Open Filter Menu",ariaFilteringOperator:"Filtering Operator",ariaHidden:"hidden",ariaIndeterminate:"indeterminate",ariaInputEditor:"Input Editor",ariaMenuColumn:"Press CTRL ENTER to open column menu.",ariaRowDeselect:"Press SPACE to deselect this row",ariaRowSelectAll:"Press Space to toggle all rows selection",ariaRowToggleSelection:"Press Space to toggle row selection",ariaRowSelect:"Press SPACE to select this row",ariaSearch:"Search",ariaSortableColumn:"Press ENTER to sort",ariaToggleVisibility:"Press SPACE to toggle visibility",ariaToggleCellValue:"Press SPACE to toggle cell value",ariaUnchecked:"unchecked",ariaVisible:"visible",ariaSearchFilterValues:"Search filter values",ariaRowGroupDropZonePanelLabel:"Row Groups",ariaValuesDropZonePanelLabel:"Values",ariaPivotDropZonePanelLabel:"Column Labels",ariaDropZoneColumnComponentDescription:"Press DELETE to remove",ariaDropZoneColumnValueItemDescription:"Press ENTER to change the aggregation type",ariaDropZoneColumnGroupItemDescription:"Press ENTER to sort",ariaDropZoneColumnComponentAggFuncSeparator:" of ",ariaDropZoneColumnComponentSortAscending:"ascending",ariaDropZoneColumnComponentSortDescending:"descending",ariaLabelColumnMenu:"Column Menu",ariaLabelCellEditor:"Cell Editor",ariaLabelDialog:"Dialog",ariaLabelSelectField:"Select Field",ariaLabelRichSelectField:"Rich Select Field",ariaLabelTooltip:"Tooltip",ariaLabelContextMenu:"Context Menu",ariaLabelSubMenu:"SubMenu",ariaLabelAggregationFunction:"Aggregation Function",ariaLabelAdvancedFilterAutocomplete:"Advanced Filter Autocomplete",thousandSeparator:",",decimalSeparator:".",true:"True",false:"False",invalidDate:"Invalid Date",invalidNumber:"Invalid Number",january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},"zh-tw":{selectAll:"(全選)",selectAllSearchResults:"(選擇所有搜尋結果)",searchOoo:"搜尋...",blanks:"(空白)",noMatches:"無符合項目",filterOoo:"篩選...",equals:"等於",notEqual:"不等於",blank:"空白",notBlank:"非空白",empty:"選擇一項",lessThan:"小於",greaterThan:"大於",lessThanOrEqual:"小於等於",greaterThanOrEqual:"大於等於",inRange:"在範圍內",inRangeStart:"從",inRangeEnd:"到",contains:"包含",notContains:"不包含",startsWith:"開始於",endsWith:"結束於",dateFormatOoo:"yyyy-mm-dd",andCondition:"且",orCondition:"或",applyFilter:"套用",resetFilter:"重設",clearFilter:"清除",cancelFilter:"取消",textFilter:"文字篩選",numberFilter:"數字篩選",dateFilter:"日期篩選",setFilter:"設定篩選",groupFilterSelect:"選擇欄位:",advancedFilterContains:"包含",advancedFilterNotContains:"不包含",advancedFilterTextEquals:"等於",advancedFilterTextNotEqual:"不等於",advancedFilterStartsWith:"開始於",advancedFilterEndsWith:"結束於",advancedFilterBlank:"空白",advancedFilterNotBlank:"非空白",advancedFilterEquals:"=",advancedFilterNotEqual:"!=",advancedFilterGreaterThan:">",advancedFilterGreaterThanOrEqual:">=",advancedFilterLessThan:"<",advancedFilterLessThanOrEqual:"<=",advancedFilterTrue:"為真",advancedFilterFalse:"為假",advancedFilterAnd:"且",advancedFilterOr:"或",advancedFilterApply:"套用",advancedFilterValidationMissingColumn:"缺少欄位",advancedFilterValidationMissingOption:"缺少選項",advancedFilterValidationMissingValue:"缺少值",advancedFilterValidationInvalidColumn:"找不到該欄位",advancedFilterValidationInvalidOption:"找不到該選項",advancedFilterValidationMissingQuote:"缺少結尾引號",advancedFilterValidationNotANumber:"值不是一個數字",advancedFilterValidationMissingCondition:"缺少條件",advancedFilterValidationJoinOperatorMismatch:"在一個條件中的連接運算子必須相同",advancedFilterValidationInvalidJoinOperator:"找不到連接運算子",advancedFilterValidationMissingEndBracket:"缺少結尾括號",advancedFilterValidationExtraEndBracket:"結尾括號過多",advancedFilterValidationMessage:"運算式有誤。${variable1} - ${variable2}。",advancedFilterValidationMessageAtEnd:"運算式有誤。運算式結尾的${variable}。",columns:"欄位",filters:"篩選器",pivotMode:"樞紐模式",groups:"列分組",rowGroupColumnsEmptyMessage:"拖曳至此以設定列分組",values:"值",valueColumnsEmptyMessage:"拖曳至此以聚合",pivots:"欄標籤",pivotColumnsEmptyMessage:"拖曳至此以設定欄標籤",group:"群組",rowDragRow:"列",rowDragRows:"列",loadingOoo:"載入中...",loadingError:"錯誤",noRowsToShow:"無資料可顯示",enabled:"啟用",pinColumn:"固定欄位",pinLeft:"固定於左",pinRight:"固定於右",noPin:"取消固定",valueAggregation:"值彙總",noAggregation:"無",autosizeThiscolumn:"自動調整此欄寬",autosizeAllColumns:"自動調整所有欄寬",groupBy:"分組依據",ungroupBy:"取消分組",ungroupAll:"取消全部分組",addToValues:"新增 ${variable} 至數值",removeFromValues:"從數值中移除 ${variable}",addToLabels:"新增 ${variable} 至標籤",removeFromLabels:"從標籤中移除 ${variable}",resetColumns:"重設欄位",expandAll:"展開所有資料群組",collapseAll:"關閉所有資料群組",copy:"複製",ctrlC:"Ctrl+C",ctrlX:"Ctrl+X",copyWithHeaders:"複製並包含標題",copyWithGroupHeaders:"複製並包含群組標題",cut:"剪下",paste:"貼上",ctrlV:"Ctrl+V",export:"匯出",csvExport:"CSV 匯出",excelExport:"Excel 匯出",sum:"總和",first:"第一",last:"最後",min:"最小",max:"最大",none:"無",count:"計數",avg:"平均",filteredRows:"篩選的資料",selectedRows:"選取的資料",totalRows:"總資料筆數",totalAndFilteredRows:"資料筆數",more:"更多",to:"到",of:"的",page:"頁",pageLastRowUnknown:"?",nextPage:"下一頁",lastPage:"最後一頁",firstPage:"第一頁",previousPage:"前一頁",pivotColumnGroupTotals:"總計",pivotChartAndPivotMode:"樞紐圖表與樞紐模式",pivotChart:"樞紐圖表",chartRange:"圖表範圍",columnChart:"柱狀圖",groupedColumn:"分組",stackedColumn:"堆疊",normalizedColumn:"100% 堆疊",barChart:"長條圖",groupedBar:"分組",stackedBar:"堆疊",normalizedBar:"100% 堆疊",pieChart:"圓餅圖",pie:"圓餅",doughnut:"環狀圓餅",line:"折線圖",xyChart:"X Y (散佈)",scatter:"散佈",bubble:"氣泡圖",areaChart:"區域圖",area:"區域",stackedArea:"堆疊",normalizedArea:"100% 堆疊",histogramChart:"直方圖",histogramFrequency:"頻率",combinationChart:"混合圖",columnLineCombo:"柱狀圖與折線圖",AreaColumnCombo:"區域圖與柱狀圖",thousandSeparator:",",decimalSeparator:".",true:"是",false:"否",invalidDate:"無效日期",invalidNumber:"無效數字",january:"一月",february:"二月",march:"三月",april:"四月",may:"五月",june:"六月",july:"七月",august:"八月",september:"九月",october:"十月",november:"十一月",december:"十二月"},"zh-cn":{selectAll:"(全选)",selectAllSearchResults:"(选择所有搜寻结果)",searchOoo:"搜寻...",blanks:"(空白)",noMatches:"无符合项目",filterOoo:"筛选...",equals:"等于",notEqual:"不等于",blank:"空白",notBlank:"非空白",empty:"选择一项",lessThan:"小于",greaterThan:"大于",lessThanOrEqual:"小于等于",greaterThanOrEqual:"大于等于",inRange:"在范围内",inRangeStart:"从",inRangeEnd:"到",contains:"包含",notContains:"不包含",startsWith:"开始于",endsWith:"结束于",dateFormatOoo:"yyyy-mm-dd",andCondition:"且",orCondition:"或",applyFilter:"套用",resetFilter:"重设",clearFilter:"清除",cancelFilter:"取消",textFilter:"文字筛选",numberFilter:"数字筛选",dateFilter:"日期筛选",setFilter:"设定筛选",groupFilterSelect:"选择字段:",advancedFilterContains:"包含",advancedFilterNotContains:"不包含",advancedFilterTextEquals:"等于",advancedFilterTextNotEqual:"不等于",advancedFilterStartsWith:"开始于",advancedFilterEndsWith:"结束于",advancedFilterBlank:"空白",advancedFilterNotBlank:"非空白",advancedFilterEquals:"=",advancedFilterNotEqual:"!=",advancedFilterGreaterThan:">",advancedFilterGreaterThanOrEqual:">=",advancedFilterLessThan:"<",advancedFilterLessThanOrEqual:"<=",advancedFilterTrue:"为真",advancedFilterFalse:"为假",advancedFilterAnd:"且",advancedFilterOr:"或",advancedFilterApply:"套用",advancedFilterValidationMissingColumn:"缺少字段",advancedFilterValidationMissingOption:"缺少选项",advancedFilterValidationMissingValue:"缺少值",advancedFilterValidationInvalidColumn:"找不到该字段",advancedFilterValidationInvalidOption:"找不到该选项",advancedFilterValidationMissingQuote:"缺少结尾引号",advancedFilterValidationNotANumber:"值不是一个数字",advancedFilterValidationMissingCondition:"缺少条件",advancedFilterValidationJoinOperatorMismatch:"在一个条件中的连接运算符必须相同",advancedFilterValidationInvalidJoinOperator:"找不到连接运算符",advancedFilterValidationMissingEndBracket:"缺少结尾括号",advancedFilterValidationExtraEndBracket:"结尾括号过多",advancedFilterValidationMessage:"表达式有误。${variable1} - ${variable2}。",advancedFilterValidationMessageAtEnd:"表达式有误。表达式结尾的${variable}。",columns:"字段",filters:"筛选器",pivotMode:"枢纽模式",groups:"列分组",rowGroupColumnsEmptyMessage:"拖曳至此以设定列分组",values:"值",valueColumnsEmptyMessage:"拖曳至此以聚合",pivots:"栏标签",pivotColumnsEmptyMessage:"拖曳至此以设定栏标签",group:"群组",rowDragRow:"列",rowDragRows:"列",loadingOoo:"载入中...",loadingError:"错误",noRowsToShow:"无数据可显示",enabled:"启用",pinColumn:"固定字段",pinLeft:"固定于左",pinRight:"固定于右",noPin:"取消固定",valueAggregation:"值汇总",noAggregation:"无",autosizeThiscolumn:"自动调整此栏宽",autosizeAllColumns:"自动调整所有栏宽",groupBy:"分组依据",ungroupBy:"取消分组",ungroupAll:"取消全部分组",addToValues:"新增 ${variable} 至数值",removeFromValues:"从数值中移除 ${variable}",addToLabels:"新增 ${variable} 至标签",removeFromLabels:"从标签中移除 ${variable}",resetColumns:"重设字段",expandAll:"展开所有数据群组",collapseAll:"关闭所有数据群组",copy:"复制",ctrlC:"Ctrl+C",ctrlX:"Ctrl+X",copyWithHeaders:"复制并包含标题",copyWithGroupHeaders:"复制并包含群组标题",cut:"剪下",paste:"贴上",ctrlV:"Ctrl+V",export:"汇出",csvExport:"CSV 汇出",excelExport:"Excel 汇出",sum:"总和",first:"第一",last:"最后",min:"最小",max:"最大",none:"无",count:"计数",avg:"平均",filteredRows:"筛选的资料",selectedRows:"选取的数据",totalRows:"总资料笔数",totalAndFilteredRows:"资料笔数",more:"更多",to:"到",of:"的",page:"页",pageLastRowUnknown:"?",nextPage:"下一页",lastPage:"最后一页",firstPage:"第一页",previousPage:"前一页",pivotColumnGroupTotals:"总计",pivotChartAndPivotMode:"枢纽图表与枢纽模式",pivotChart:"枢纽图表",chartRange:"图表范围",columnChart:"柱状图",groupedColumn:"分组",stackedColumn:"堆栈",normalizedColumn:"100% 堆栈",barChart:"直方图",groupedBar:"分组",stackedBar:"堆栈",normalizedBar:"100% 堆栈",pieChart:"圆饼图",pie:"圆饼",doughnut:"环状圆饼",line:"折线图",xyChart:"X Y (散布)",scatter:"散布",bubble:"气泡图",areaChart:"分区图",area:"区域",stackedArea:"堆栈",normalizedArea:"100% 堆栈",histogramChart:"直方图",histogramFrequency:"频率",combinationChart:"混合图",columnLineCombo:"柱状图与折线图",AreaColumnCombo:"分区图与柱状图",thousandSeparator:",",decimalSeparator:".",true:"是",false:"否",invalidDate:"无效日期",invalidNumber:"无效数字",january:"一月",february:"二月",march:"三月",april:"四月",may:"五月",june:"六月",july:"七月",august:"八月",september:"九月",october:"十月",november:"十一月",december:"十二月"}};let zc=ca(o,"AgGridVue"),Mc=ca(window,"agGridVue.AgGridVue"),Cc=zc||Mc,Dc={};function jc(n){n=Li(n=Mt(n),"\r\n","\n");let e=Ht(n=Li(n,"\r","\n"),"\n"),a=[];return Ca(e,(n=>{if(""!==Mt(n)){let t=(e=n,r="\t",o&&"number"!=typeof o&&$r(e,r,o)&&(r=o=void 0),(o=void 0===o?zo:o>>>0)?(e=oa(e))&&("string"==typeof r||null!=r&&!go(r))&&!(r=ra(r))&&Ta(e)?io(xo(e),0,o):e.split(r,o):[]);a.push(t)}var e,r,o})),a}window.ttWAgGridVue=function(n,e){if(!jt(e))return;!function(n,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=null,o=null;function t(){null!==r&&r.destroy(!0),n.setAttribute("tippystate",""),clearInterval(o)}let i={arrow:!0,theme:"dark",placement:"bottom",delay:150};a=Pt(a)?eo(i,a):i;let l=e;e||(l=n.innerHTML);let g=Tt(n.getAttribute("tippystate"));if(n.setAttribute("tippystate","5"),g)return;l=`<div style="text-align:left;">${l}</div>`;let c=wc;wc.default&&(c=wc.default),r=c(n,kc(kc({},a),{},{content:l,allowHTML:!0,onHidden(){t()},onDestroy(){r=null,t()}})),r.show(),o=setInterval((()=>{let e=n.getAttribute("tippystate");Tt(e)?(e=Xt(e),e-=1,n.setAttribute("tippystate",e),e<=0&&t()):t()}),1e3)}(n,Dc[e])};var Ac={components:{AgGridVue:Cc},props:{opt:{type:Object},height:{type:Number,default:300},filterall:{type:String,default:""}},data:function(){return{dbc:Ji(),de:null,evPaste:null,dataPasted:"",width:100,opacity:0,autoFitColumn:!1,language:"",rows:[],keys:[],columns:[],kpHead:{},defHeadMinWidth:null,defHeadMaxWidth:null,kpHeadWidth:{},kpHeadTooltip:{},defHeadAlignH:null,kpHeadAlignH:{},defHeadSort:null,kpHeadSort:{},defHeadSortMethod:null,kpHeadSortMethod:{},kpHeadFixLeft:{},defHeadFilter:null,kpHeadFilter:{},defHeadFilterType:null,kpHeadFilterType:{},defHeadDrag:null,kpHeadRender:{},kpHeadDrag:{},kpHeadCheckBox:{},kpHeadFocusHighlight:{},kpHeadHide:{},kpRowStyle:{},kpRowDrag:{},kpColStyle:{},kpColSpan:{},kpCellRender:{},kpCellTooltip:{},defCellAlignH:null,kpCellAlignH:{},defCellEditable:null,kpCellEditable:{},kpConvertKeysWhenUploadData:null,tableClickEnable:!1,rowsChange:function(){},rowChange:function(){},rowChecked:function(){},rowMouseEnter:function(){},rowMouseLeave:function(){},rowClick:function(){},rowDbClick:function(){},rowDragEnter:function(){},rowDragEnd:function(){},rowDragMove:function(){},rowDragLeave:function(){},rowDragChange:function(){},cellClick:function(){},cellDbClick:function(){},cellChange:function(){},cellMouseEnter:function(){},cellMouseLeave:function(){},filterChange:function(){},vRowMouseEnter:null,vRowMouseLeave:null,eRowMouseLeaves:[],vCellMouseEnter:null,vCellMouseLeave:null,eCellMouseLeaves:[],iRowDragEnter:null,genRowsPinnTop:null,genRowsPinnBottom:null,gridOptions:{animateRows:!0,suppressMenuHide:!0,suppressRowHoverHighlight:!1,columnHoverHighlight:!1,rowDragManaged:!0,suppressRowClickSelection:!0,singleClickEdit:!0,stopEditingWhenCellsLoseFocus:!0,getLocaleText:this.agGetLocaleText,getRowStyle:this.agGetRowStyle,pinnedTopRowData:[],pinnedBottomRowData:[]},ag:null,pathItems:["https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]}},mounted:function(){let n=this;n.de=ol((()=>ca(n,"$refs.shell",null))),n.de.on("resize",(e=>{n.autoFitColumn&&n.fitColumns()})),n.de.on("display",(e=>{n.autoFitColumn&&n.fitColumns()})),n.evPaste=e=>{let a=event.clipboardData||window.clipboardData;n.dataPasted=a.getData("Text")},window.addEventListener("paste",n.evPaste)},beforeDestroy:function(){this.de.clear(),window.removeEventListener("paste",this.evPaste)},computed:{changeParam:function(){let n=this,e=n.opt;return n.__temp__={opt:e},n.changeOpt(),""},changeFilterall:function(){let n=this,e=n.filterall;return n.__temp__={filterall:e},n.triggerFilterChange("filterall"),""},getRowsStyle:function(n){return this.tableClickEnable?{cursor:"pointer"}:{}},filterRows:function(){let n=this.rows,e=this.filterall;if(""===e)return n;let a=Ya(n,(function(n,a){return function(n,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"anyone";if(!jt(n))return!1;if("anyone"!==a&&"all"!==a)return!1;if(Dt(e)){if(!jt(e))return!1;e=[e]}if(!Bt(e))return!1;let r=!1;if(Ca(e,(function(n){jt(n)||(r=!0)})),r)return!1;let o=0;return Ca(e,(function(e){-1!==function(n,e){return n.indexOf(e)}(n,e)&&o++})),"anyone"===a?o>0:"all"===a&&o===e.length}(oo(Mo(n),""),e)}));return a}},methods:{getGridOptions:function(){return this.gridOptions},getApi:function(){return ca(this,"$refs.agv.api",null)},agGetLocaleText:function(n){let e=function(n,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return n=n.toLowerCase(),ca(xc,`${n}.${e}`,a)}(this.language,n.key,n.defaultValue);return e},agGetRowStyle:function(n){let e={};return Ca(this.kpRowStyle,(function(a,r){let o=a,t=ca(n.data,r);Ft(o)&&(e=eo(e,o(t)))})),e},triggerRowDragChange:function(n,e,a,r){let o=this;n!==e&&(o.iRowDragEnter=e,ao(o,"opt.rows",r),o.rowDragChange(n,e,a,r),o.rowsChange(r))},agRowDragEnter:function(n){let e=ca(n,"node.rowIndex","");this.iRowDragEnter=e;let a=ca(n,"node.data",null);this.rowDragEnter(e,-1,a)},agRowDragEnd:function(n){let e=this,a=ca(n,"node.rowIndex",""),r=ca(n,"node.data",null),o=e.getNowData();e.rowDragEnd(e.iRowDragEnter,a,r,o),e.triggerRowDragChange(e.iRowDragEnter,a,r,o)},agRowDragMove:function(n){let e=ca(n,"node.rowIndex",""),a=ca(n,"node.data",null);this.rowDragMove(this.iRowDragEnter,e,a)},agRowDragLeave:function(n){let e=this,a=ca(n,"node.rowIndex",""),r=ca(n,"node.data",null),o=e.getNowData();e.rowDragLeave(e.iRowDragEnter,a,r,o),e.triggerRowDragChange(e.iRowDragEnter,a,r,o)},agRowSelect:function(n){let e=za(n.api.getSelectedNodes(),(n=>({rowInd:Xt(n.id),rowIndShow:n.rowIndex,data:n.data})));this.rowChecked(ut(e))},agCellClick:function(n){this.cellClick(n.colDef.field,n.data),this.rowClick(n.colDef.field,n.data)},agCellDbClick:function(n){this.cellDbClick(n.colDef.field,n.data),this.rowDbClick(n.colDef.field,n.data)},agCellChange:function(n){let e=this;n.oldValue!==n.newValue&&(e.refresh(),e.cellChange(n.colDef.field,n.data,e.rows),e.rowChange(n.colDef.field,n.data,e.rows),e.rowsChange(e.rows),e.setRowsPinnBottom(e.rows))},agFilterChanged:function(n){this.triggerFilterChange("heads")},agReady:function(n){let e=this;e.ag=n,e.autoFitColumn&&e.fitColumns(!1),e.setRowsPinnTop(e.rows),e.setRowsPinnBottom(e.rows),e.opacity=1},leaveTable:function(){let n=this;n.emitCellMouseLeaves(),n.emitRowMouseLeaves(),n.vRowMouseEnter=null,n.vRowMouseLeave=null,n.vCellMouseEnter=null,n.vCellMouseLeave=null},emitCellMouseLeaves:function(){let n=this;Ca(n.eCellMouseLeaves,(e=>{n.cellMouseLeave(ut(e.field),ut(e.data))})),n.eCellMouseLeaves=[]},emitRowMouseLeaves:function(){let n=this;Ca(n.eRowMouseLeaves,(e=>{n.rowMouseLeave(ut(e.field),ut(e.data))})),n.eRowMouseLeaves=[]},agCellMouseEnter:function(n){let e=this,a={field:n.colDef.field,data:n.data},r={data:n.data};if(!Ka(e.vCellMouseEnter,a)){e.emitCellMouseLeaves();let r=ut(n.colDef.field),o=ut(n.data);e.vCellMouseEnter=a,e.cellMouseEnter(r,o),e.eCellMouseLeaves.push({field:r,data:o})}if(!Ka(e.vRowMouseEnter,r)){e.emitRowMouseLeaves();let a=ut(n.colDef.field),o=ut(n.data);e.vRowMouseEnter=r,e.rowMouseEnter(a,o),e.eRowMouseLeaves.push({field:a,data:o}),e.vRowMouseLeave={data:ut(n.data)}}},agCellMouseLeave:function(n){let e=this;if(n.event.target.contains(n.event.relatedTarget))return;let a=null;try{a=n.event.target.getAttribute("role")}catch(n){}if("gridcell"!==a)return;let r={field:ut(n.colDef.field),data:ut(n.data)},o={data:ut(n.data)};Ka(e.vCellMouseLeave,r)||(e.vCellMouseLeave=r,e.emitCellMouseLeaves()),Ka(e.vRowMouseLeave,o)||(e.vRowMouseLeave=o,e.emitRowMouseLeaves())},agCellKeyDown:function(n){let e=this;if(!n.event.ctrlKey||"KeyV"!==n.event.code)return;let a=n.rowIndex,r=n.column.colId;e.getApi().stopEditing(),e.pasteText(e.dataPasted,a,r)},pasteText:function(n,e=null,a=null){let r=this,o=[],t=[];if(r.getApi().forEachNodeAfterFilterAndSort((function(n,e){o.push(n.id),t.push(n.data)})),0===Ga(o))return;let i=r.getApi().getAllGridColumns();if(i=za(i,((n,e)=>n.getId())),0===Ga(i))return;let l=r.getApi().getColumnState(),g={},c={};if(Ca(l,(n=>{g[n.colId]=n.hide,c[n.colId]=null!==n.pinned})),g[a])return;let d=null;c[a]&&(d=a);let p=r.getApi().getColumnDefs(),s={};Ca(p,(n=>{s[n.field]=n.editable}));let u=jc(n);null===e&&(e=0),null===a&&(a=i[0]);let f=null,v=null;try{f=Ga(u)}catch(n){return}try{v=Ga(u[0])}catch(n){return}let h=-1,m=r.rows,w=[];for(let n=0;n<Ga(i);n++){let r=i[n];if(!g[r]){if(d){if(!c[r])continue;if(d===r)d=!0;else if(!0!==d)continue}else if(c[r])continue;if(r===a?h=0:h>=0&&(h+=1),h>=0&&h<v){let n=h,a=r;if(!s[a])continue;for(let r=0;r<f;r++){let t=r;if(e+r<Ga(o)){let i=o[e+r];m[i][a]=u[t][n],w.push(m[i])}}}}}r.getApi().applyTransaction({update:w}),ao(r,"opt.rows",m),r.rowsChange(m)},refresh:async function(){let n=this;await ci(1);try{n.getApi().redrawRows()}catch(n){}},keys2columns:function(n){let e=this,a=za(n,(function(a){let r={};r.field=a,r.headerName=e.kpHead[a],r.sortable=e.kpHeadSort[a];let o=e.kpHeadSortMethod[a];if(Ft(o)?r.comparator=o:"auto"===o&&(r.comparator=function(n,e,a,r,o){let t=Nt(n),i=Nt(e);if(t&&i)return 0;if(t)return-1;if(i)return 1;if(Tt(n)&&Tt(e))return _t(n)-_t(e);if(jt(n)&&jt(e)){let a=Ga(n),r=Ga(e);return a!==r?a-r:n.localeCompare(e)}return 0}),e.kpHeadFilter[a]){let n=e.kpHeadFilterType[a];r.filter="text"===n?"agTextColumnFilter":"time"===n?"agDateColumnFilter":"set"===n?"agSetColumnFilter":"agNumberColumnFilter"}else r.filter=!1;r.floatingFilter=e.kpHeadFilter[a],r.filterParams={},r.suppressFloatingFilterButton=!0,r.suppressMovable=!e.kpHeadDrag[a],r.resizable=!0,r.editable=e.kpCellEditable[a],e.kpHeadCheckBox[a]&&(r.headerCheckboxSelection=!0,r.headerCheckboxSelectionFilteredOnly=!0,r.checkboxSelection=!0),e.kpHeadFocusHighlight[a]||(r.cellClass="no-border");let t=e.kpHeadTooltip[a],i="";if(Ft(t)){let n=t(e.kpHead[a],a);n=Zt(n);let r=Xi(n);Dc[r]=n,i=`onmouseenter="ttWAgGridVue(this,'${r}')"`}let l={left:"flex-start",center:"center",right:"flex-end"}[e.kpHeadAlignH[a]],g=`\n                    <div class="ag-cell-label-container" role="presentation"" ${i}>\n                        <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button"></span>\n                        <div ref="eLabel" class="ag-header-cell-label" style="justify-content:${l};" role="presentation">\n                            <span ref="eText" class="ag-header-cell-text" role="columnheader"></span>\n                            <span ref="eSortOrder" class="ag-header-icon ag-sort-order ag-hidden" ></span>\n                            <span ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon ag-hidden" ></span>\n                            <span ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon ag-hidden" ></span>\n                            <span ref="eSortMixed" class="ag-header-icon ag-sort-mixed-icon ag-hidden"></span>\n                            <span ref="eSortNone" class="ag-header-icon ag-sort-none-icon ag-hidden" ></span>\n                            <span ref="eFilter" class="ag-header-icon ag-filter-icon"></span>\n                        </div>\n                    </div>\n                `;if(Pt(e.kpHeadRender)){let o=r.headerName;if(Et(e.kpHeadRender,a)){let t=e.kpHeadRender[a];Ft(t)&&(o=t(r.headerName,a,n))}g=`\n                        <div class="ag-cell-label-container" role="presentation"" ${i}>\n                            <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button"></span>\n                            <div ref="eLabel" class="ag-header-cell-label" style="justify-content:${l};" role="presentation">\n                                <span class="ag-header-cell-text" role="columnheader">${o}</span>\n                                <span ref="eSortOrder" class="ag-header-icon ag-sort-order" ></span>\n                                <span ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon" ></span>\n                                <span ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon" ></span>\n                                <span ref="eSortNone" class="ag-header-icon ag-sort-none-icon" ></span>\n                                <span ref="eFilter" class="ag-header-icon ag-filter-icon"></span>\n                            </div>\n                        </div>\n                    `}r.headerComponentParams={template:g};let c=e.kpColSpan[a];Ft(c)&&(r.colSpan=function(n){let e=ca(n,"data",{}),r=ca(e,a),o=c(r,a,e,n);return Tt(o)||(o=1),o=Xt(o),o<1&&(o=1),o});let d=e.kpCellTooltip[a],p=e.kpCellRender[a];r.cellRenderer=function(n){if(Ft(d)){let e=d(n.value,n.colDef.field,ut(n.data));e=Zt(e);let a=Xi(e);Dc[a]=e,n.eGridCell.setAttribute("onmouseenter",`ttWAgGridVue(this,'${a}')`)}let e=n.value;return Ft(p)&&(e=p(n.value,n.colDef.field,ut(n.data))),e};let s={"text-align":e.kpCellAlignH[a]},u=e.kpColStyle[a];if(Ft(u)&&(s=eo(s,u())),r.cellStyle=s,Wt(e.kpHeadFixLeft[a])&&(r.pinned=e.kpHeadFixLeft[a]?"left":""),Tt(e.kpHeadWidth[a])){let n=_t(e.kpHeadWidth[a]);r.width=n}Tt(e.defHeadMinWidth)&&(r.minWidth=e.defHeadMinWidth),Tt(e.defHeadMaxWidth)&&(r.maxWidth=e.defHeadMaxWidth);let f=!1;Wt(e.kpRowDrag[a])&&(f=e.kpRowDrag[a]),r.rowDrag=f;let v=!1;return Wt(e.kpHeadHide[a])&&(v=e.kpHeadHide[a]),r.hide=v,r}));return a},changeOpt:function(){let n=this;if(!Pt(n.opt))return;if(!Bt(ca(n,"opt.keys")))return void console.log("invalid opt.keys");if(!St(ca(n,"opt.rows")))return void console.log("invalid opt.rows");function e(n,e,a){let r={};return Ca(n,(function(n){let o=e(n);Ct(a)&&Et(a,n)&&(o=a[n]),r[n]=o})),r}let a=!1;Wt(n.opt.autoFitColumn)&&(a=n.opt.autoFitColumn),n.autoFitColumn=a,n.keys=n.opt.keys,n.kpHead=e(n.keys,(function(n){return n}),n.opt.kpHead),n.kpHeadTooltip={},Ct(n.opt.kpHeadTooltip)&&(n.kpHeadTooltip=n.opt.kpHeadTooltip),n.defHeadAlignH="center",Lt(n.opt.defHeadAlignH,["left","center","right"])&&(n.defHeadAlignH=n.opt.defHeadAlignH),n.kpHeadAlignH=e(n.keys,(function(e){return n.defHeadAlignH}),n.opt.kpHeadAlignH),n.defHeadSort=!0,Wt(n.opt.defHeadSort)&&(n.defHeadSort=n.opt.defHeadSort),n.kpHeadSort=e(n.keys,(function(e){return n.defHeadSort}),n.opt.kpHeadSort),n.defHeadSortMethod=null,(Ft(n.opt.defHeadSortMethod)||jt(n.opt.defHeadSortMethod))&&(n.defHeadSortMethod=n.opt.defHeadSortMethod),n.kpHeadSortMethod=e(n.keys,(function(e){return n.defHeadSortMethod}),n.opt.kpHeadSortMethod),n.kpHeadFixLeft={},Pt(n.opt.kpHeadFixLeft)&&(n.kpHeadFixLeft=n.opt.kpHeadFixLeft),n.defHeadFilter=!0,Wt(n.opt.defHeadFilter)&&(n.defHeadFilter=n.opt.defHeadFilter),n.kpHeadFilter=e(n.keys,(function(e){return n.defHeadFilter}),n.opt.kpHeadFilter),n.defHeadFilterType="num",Lt(n.opt.defHeadFilterType,["num","text","time","set"])&&(n.defHeadFilterType=n.opt.defHeadFilterType),n.kpHeadFilterType=e(n.keys,(function(e){return n.defHeadFilterType}),n.opt.kpHeadFilterType),n.kpHeadRender={},Pt(n.opt.kpHeadRender)&&(n.kpHeadRender=n.opt.kpHeadRender),n.defHeadDrag=!0,Wt(n.opt.defHeadDrag)&&(n.defHeadDrag=n.opt.defHeadDrag),n.kpHeadDrag=e(n.keys,(function(e){return n.defHeadDrag}),n.opt.kpHeadDrag),n.kpHeadCheckBox=e(n.keys,(function(n){return!1}),n.opt.kpHeadCheckBox),n.kpHeadFocusHighlight=e(n.keys,(function(n){return!0}),n.opt.kpHeadFocusHighlight),n.kpHeadHide={},Pt(n.opt.kpHeadHide)&&(n.kpHeadHide=n.opt.kpHeadHide),n.kpRowStyle={},Pt(n.opt.kpRowStyle)&&(n.kpRowStyle=n.opt.kpRowStyle),n.kpRowDrag={},Pt(n.opt.kpRowDrag)&&(n.kpRowDrag=n.opt.kpRowDrag),n.genRowsPinnTop=null,Ft(n.opt.genRowsPinnTop)&&(n.genRowsPinnTop=n.opt.genRowsPinnTop),n.genRowsPinnBottom=null,Ft(n.opt.genRowsPinnBottom)&&(n.genRowsPinnBottom=n.opt.genRowsPinnBottom),n.kpColStyle={},Pt(n.opt.kpColStyle)&&(n.kpColStyle=n.opt.kpColStyle),n.kpColSpan={},Pt(n.opt.kpColSpan)&&(n.kpColSpan=n.opt.kpColSpan),n.defHeadMinWidth=null,Tt(n.opt.defHeadMinWidth)&&(n.defHeadMinWidth=n.opt.defHeadMinWidth),n.defHeadMaxWidth=null,Tt(n.opt.defHeadMaxWidth)&&(n.defHeadMaxWidth=n.opt.defHeadMaxWidth),n.kpHeadWidth={},Pt(n.opt.kpHeadWidth)&&(n.kpHeadWidth=n.opt.kpHeadWidth),n.kpCellRender={},Pt(n.opt.kpCellRender)&&(n.kpCellRender=n.opt.kpCellRender),n.kpCellTooltip={},Pt(n.opt.kpCellTooltip)&&(n.kpCellTooltip=n.opt.kpCellTooltip),n.defCellAlignH="center",Lt(n.opt.defCellAlignH,["left","center","right"])&&(n.defCellAlignH=n.opt.defCellAlignH),n.kpCellAlignH=e(n.keys,(function(e){return n.defCellAlignH}),n.opt.kpCellAlignH),n.defCellEditable=!1,Wt(n.opt.defCellEditable)&&(n.defCellEditable=n.opt.defCellEditable),n.kpCellEditable=e(n.keys,(function(e){return n.defCellEditable}),n.opt.kpCellEditable),n.tableClickEnable=!1,n.rowsChange=function(){},Ft(n.opt.rowsChange)&&(n.rowsChange=n.opt.rowsChange),n.rowClick=function(){},Ft(n.opt.rowClick)&&(n.rowClick=n.opt.rowClick,n.tableClickEnable=!0),n.rowDbClick=function(){},Ft(n.opt.rowDbClick)&&(n.rowDbClick=n.opt.rowDbClick,n.tableClickEnable=!0),n.rowChange=function(){},Ft(n.opt.rowChange)&&(n.rowChange=n.opt.rowChange),n.rowChecked=function(){},Ft(n.opt.rowChecked)&&(n.rowChecked=n.opt.rowChecked),n.rowMouseEnter=function(){},Ft(n.opt.rowMouseEnter)&&(n.rowMouseEnter=n.opt.rowMouseEnter),n.rowMouseLeave=function(){},Ft(n.opt.rowMouseLeave)&&(n.rowMouseLeave=n.opt.rowMouseLeave),n.rowDragEnter=function(){},Ft(n.opt.rowDragEnter)&&(n.rowDragEnter=n.opt.rowDragEnter),n.rowDragEnd=function(){},Ft(n.opt.rowDragEnd)&&(n.rowDragEnd=n.opt.rowDragEnd),n.rowDragMove=function(){},Ft(n.opt.rowDragMove)&&(n.rowDragMove=n.opt.rowDragMove),n.rowDragLeave=function(){},Ft(n.opt.rowDragLeave)&&(n.rowDragLeave=n.opt.rowDragLeave),n.rowDragChange=function(){},Ft(n.opt.rowDragChange)&&(n.rowDragChange=n.opt.rowDragChange),n.cellClick=function(){},Ft(n.opt.cellClick)&&(n.cellClick=n.opt.cellClick,n.tableClickEnable=!0),n.cellDbClick=function(){},Ft(n.opt.cellDbClick)&&(n.cellDbClick=n.opt.cellDbClick,n.tableClickEnable=!0),n.cellChange=function(){},Ft(n.opt.cellChange)&&(n.cellChange=n.opt.cellChange),n.cellMouseEnter=function(){},Ft(n.opt.cellMouseEnter)&&(n.cellMouseEnter=n.opt.cellMouseEnter),n.cellMouseLeave=function(){},Ft(n.opt.cellMouseLeave)&&(n.cellMouseLeave=n.opt.cellMouseLeave),n.filterChange=function(){},Ft(n.opt.filterChange)&&(n.filterChange=n.opt.filterChange),n.kpConvertKeysWhenUploadData={},Pt(n.opt.kpConvertKeysWhenUploadData)&&(n.kpConvertKeysWhenUploadData=n.opt.kpConvertKeysWhenUploadData),n.language="en",jt(n.opt.language)&&(n.language=n.opt.language),n.columns=n.keys2columns(n.keys),n.rows=n.opt.rows},setRowsPinnTop:function(n){let e=this;if(Ft(e.genRowsPinnTop)){let a=e.genRowsPinnTop(n);e.getApi().setGridOption("pinnedTopRowData",a)}},setRowsPinnBottom:function(n){let e=this;if(Ft(e.genRowsPinnBottom)){let a=e.genRowsPinnBottom(n);e.getApi().setGridOption("pinnedBottomRowData",a)}},showKeys:function(n){let e=this,a=ut(e.keys),r=zt(a,n),o=e.getApi().getColumnState(),t=[];Ca(n,(function(n){let e=pr(o,{colId:n});e.hide=!1,t.push(e)})),Ca(r,(function(n){let e=pr(o,{colId:n});e.hide=!0,t.push(e)})),e.getApi().applyColumnState({state:t,applyOrder:!0})},getFilters:async function(){let n=this,e=ut(n.keys),a=[];return await Rt(e,(async e=>{let r=null;try{r=(await n.getApi().getColumnFilterInstance(e)).appliedModel}catch(n){console.log(n)}Pt(r)&&a.push(r)})),a},clearHeadFilterAll:async function(){this.getApi().setFilterModel(null),this.getApi().onFilterChanged()},clearHeadFilter:async function(n){await this.getApi().setColumnFilterModel(n,null),this.getApi().onFilterChanged()},setHeadFilter:async function(n,e,a="contains"){let r={type:a,filter:e};await this.getApi().setColumnFilterModel(n,r),this.getApi().onFilterChanged()},getDisplayDataKeys:function(){return za(Ya(this.getApi().getColumnState(),{hide:!1}),"colId")},getDisplayData:function(){let n=[];this.getApi().forEachNodeAfterFilterAndSort((e=>{n.push(ut(e.data))}));let e=this.getDisplayDataKeys();return $t(n,e)},getNowData:function(){let n=[];return this.getApi().forEachNode((e=>{n.push(ut(e.data))})),$t(n,this.keys)},fitColumns:function(n=!0){let e=this;async function a(){await async function(n){try{e.width=n;let a=e.getApi();Ft(ca(a,"sizeColumnsToFit"))&&a.sizeColumnsToFit()}catch(n){console.log("fitColumns error",n)}}(100)}n?e.dbc((()=>{a()})):a()},downloadDisplayData:function(n={}){let e=this,{funGetKeysHook:a,funGetLtdtHook:r,funGetMatHook:o,useHead:t,fileName:i,sheetName:l,pathItems:g}=n;Wt(t)||(t=!1),jt(i)||(i="data.xlsx"),Bt(g)||(g=e.pathItems);let c=e.getDisplayDataKeys(),d=ut(c);if(Ft(a)&&(d=a(d)),Bt(d)||(d=ut(c)),!Bt(d))return void console.log("invalid useKeys");let p=e.getDisplayData();Ft(r)&&(p=r(p));let s=ti(p,d),u=c;return t&&(u=za(c,(n=>e.kpHead[n]))),s=mt([u],s),Ft(o)&&(s=o(s)),zi(i,l,s,g).catch((n=>{console.log(n)})),s},downloadData:function(n={}){let e=this,{funGetKeysHook:a,funGetLtdtHook:r,funGetMatHook:o,useHead:t,fileName:i,sheetName:l,pathItems:g}=n;Wt(t)||(t=!1),jt(i)||(i="data.xlsx"),Bt(g)||(g=e.pathItems);let c=e.keys,d=ut(c);if(Ft(a)&&(d=a(d)),Bt(d)||(d=ut(c)),!Bt(d))return void console.log("invalid useKeys");let p=$t(e.rows,d);Ft(r)&&(p=r(p));let s=ti(p,d),u=d;return t&&(u=za(d,(n=>e.kpHead[n]))),s=mt([u],s),Ft(o)&&(s=o(s)),zi(i,l,s,g).catch((n=>{console.log(n)})),s},uploadData:async function(n={}){let e=this,{pathItems:a=null,beforeUpload:r=null,parseSheetInd:o=0,uploadMode:t="replace"}=n;Jt(o)||(o=0),o=Xt(o),Bt(a)||(a=e.pathItems);let i=await function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=ca(e,"multiple");Wt(a)||(a=!1);let r=ca(e,"entireHierarchy");Wt(r)||(r=!1);let o=ca(e,"sizelimit");Tt(o)||(o=1e3),o=_t(o);let t=It(),i=[];return Si(n,{multiple:a,entireHierarchy:r,sizelimit:o}).then((function(n){let e=It(),a=ca(n,"errs",{}),r=ca(n,"files",[]);return Pt(a)?e.reject(a):e.resolve(r),e})).then((function(n){return Ca(n,(function(n){i.push({name:n.name,size:n.size,type:n.type})})),Ni(n)})).then((function(n){Ca(n,(function(n,e){i[e].u8a=n})),t.resolve(i)})).catch((function(n){t.reject(n)})),t}(),l=i[0],g=await async function(n,e,a){Bt(a)||(a=["https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"]),await ui(a);let r=Ri(n,e);return""!==ca(r,"error","")?Promise.reject(r.error):r}(l.u8a,"ltdt",!1),c=null;try{c=g[o]}catch(n){return Promise.reject({msg:"invalid parseSheetInd",err:n})}let d=[];try{d=c.data}catch(n){return Promise.reject({msg:"can not get data from sheet",err:n})}if(Pt(e.kpConvertKeysWhenUploadData)&&(d=za(d,(n=>{let a={};return Ca(n,((n,r)=>{let o=r,t=n;Et(e.kpConvertKeysWhenUploadData,r)&&(o=e.kpConvertKeysWhenUploadData[r]),a[o]=t})),a}))),Ft(r)){let n=r(d);d=Ut(n)?await n:n}if(d=$t(d,e.keys),"replace"===t);else if("append"===t){let n=ca(e,"opt.rows",[]);n=ut(n),Ca(d,(e=>{n.push(e)})),d=n}return ao(e,"opt.rows",d),e.rowsChange(d),d},triggerFilterChange:async function(n){let e=this,a=e.filterall,r=await e.getFilters(),o=jt(a)||Ga(r)>0;e.filterChange({from:n,filterall:a,flts:r,isFilter:o})}}};function Tc(n,e,a,r,o,t,i,l,g,c){"boolean"!=typeof i&&(g=l,l=i,i=!1);const d="function"==typeof a?a.options:a;let p;if(n&&n.render&&(d.render=n.render,d.staticRenderFns=n.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),r&&(d._scopeId=r),t?(p=function(n){(n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(n=__VUE_SSR_CONTEXT__),e&&e.call(this,g(n)),n&&n._registeredComponents&&n._registeredComponents.add(t)},d._ssrRegister=p):e&&(p=i?function(n){e.call(this,c(n,this.$root.$options.shadowRoot))}:function(n){e.call(this,l(n))}),p)if(d.functional){const n=d.render;d.render=function(e,a){return p.call(a),n(e,a)}}else{const n=d.beforeCreate;d.beforeCreate=n?[].concat(n,p):[p]}return a}const Ec="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function Sc(n){return(n,e)=>function(n,e){const a=Ec?e.media||"default":n,r=Nc[a]||(Nc[a]={ids:new Set,styles:[]});if(!r.ids.has(n)){r.ids.add(n);let a=e.source;if(e.map&&(a+="\n/*# sourceURL="+e.map.sources[0]+" */",a+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+" */"),r.element||(r.element=document.createElement("style"),r.element.type="text/css",e.media&&r.element.setAttribute("media",e.media),void 0===Oc&&(Oc=document.head||document.getElementsByTagName("head")[0]),Oc.appendChild(r.element)),"styleSheet"in r.element)r.styles.push(a),r.element.styleSheet.cssText=r.styles.filter(Boolean).join("\n");else{const n=r.ids.size-1,e=document.createTextNode(a),o=r.element.childNodes;o[n]&&r.element.removeChild(o[n]),o.length?r.element.insertBefore(e,o[n]):r.element.appendChild(e)}}}(n,e)}let Oc;const Nc={};const Lc=Ac;var Hc=function(){var n=this,e=n.$createElement,a=n._self._c||e;return a("div",{ref:"shell",staticClass:"CompCssWAgGridVue",attrs:{changeParam:n.changeParam,changeFilterall:n.changeFilterall}},[a("div",{style:"width:"+n.width+"%; height:"+n.height+"px; transition:all 0.5s; opacity:"+n.opacity+";",on:{mouseleave:n.leaveTable}},[a("ag-grid-vue",{ref:"agv",staticClass:"ag-theme-balham",staticStyle:{width:"100%",height:"100%"},attrs:{columnDefs:n.columns,rowData:n.filterRows,rowStyle:n.getRowsStyle,rowSelection:"multiple",gridOptions:n.gridOptions,_enableRangeSelection:"true",_copyHeadersToClipboard:"true",_modules:"AllModules"},on:{selectionChanged:n.agRowSelect,cellClicked:n.agCellClick,cellDoubleClicked:n.agCellDbClick,cellValueChanged:n.agCellChange,cellMouseOver:n.agCellMouseEnter,cellMouseOut:n.agCellMouseLeave,cellKeyDown:n.agCellKeyDown,rowDragEnter:n.agRowDragEnter,rowDragEnd:n.agRowDragEnd,rowDragMove:n.agRowDragMove,rowDragLeave:n.agRowDragLeave,filterChanged:n.agFilterChanged,gridReady:n.agReady}})],1)])};Hc._withStripped=!0;return Tc({render:Hc,staticRenderFns:[]},(function(n){n&&n("data-v-3e5286f0_0",{source:"\n.CompCssWAgGridVue .ag-theme-balham, .ag-header {\r\n    font-family: inherit;\n}\n.CompCssWAgGridVue .ag-theme-balham .ag-header {\r\n    font-family: inherit;\n}\n.CompCssWAgGridVue .ag-header-cell .ag-input-field-input, .ag-filter .ag-input-field-input {\r\n    transition: all 0.5s;\r\n    padding: 3px 8px;\r\n    box-shadow: inherit !important;\r\n    background-color: #fff;\r\n    border: 1px solid #ccc;\r\n    border-radius: 5px;\n}\n.CompCssWAgGridVue .ag-input-field-input:focus {\r\n    border: 1px solid #777;\n}\n.CompCssWAgGridVue .no-border.ag-cell:focus{\r\n  border-color: transparent !important;\r\n  outline: none;\n}\r\n",map:{version:3,sources:["D:\\- 006 -        開源\\開源-JS-104-3-w-aggrid-vue\\w-aggrid-vue\\src\\components\\WAgGridVue.vue"],names:[],mappings:";AAsgFA;IACA,oBAAA;AACA;AACA;IACA,oBAAA;AACA;AACA;IACA,oBAAA;IACA,gBAAA;IACA,8BAAA;IACA,sBAAA;IACA,sBAAA;IACA,kBAAA;AACA;AACA;IACA,sBAAA;AACA;AACA;EACA,oCAAA;EACA,aAAA;AACA",file:"WAgGridVue.vue",sourcesContent:["<template>\r\n    <div\r\n        ref=\"shell\"\r\n        class=\"CompCssWAgGridVue\"\r\n        :changeParam=\"changeParam\"\r\n        :changeFilterall=\"changeFilterall\"\r\n    >\r\n\r\n        <div\r\n            :style=\"`width:${width}%; height:${height}px; transition:all 0.5s; opacity:${opacity};`\"\r\n            @mouseleave=\"leaveTable\"\r\n        >\r\n\r\n            <ag-grid-vue\r\n                ref=\"agv\"\r\n                style=\"width:100%; height:100%;\"\r\n                class=\"ag-theme-balham\"\r\n                :columnDefs=\"columns\"\r\n                :rowData=\"filterRows\"\r\n                :rowStyle=\"getRowsStyle\"\r\n                :rowSelection=\"'multiple'\"\r\n                :gridOptions=\"gridOptions\"\r\n                _enableRangeSelection=\"true\"\r\n                _copyHeadersToClipboard=\"true\"\r\n                _modules=\"AllModules\"\r\n                @selectionChanged=\"agRowSelect\"\r\n                @cellClicked=\"agCellClick\"\r\n                @cellDoubleClicked=\"agCellDbClick\"\r\n                @cellValueChanged=\"agCellChange\"\r\n                @cellMouseOver=\"agCellMouseEnter\"\r\n                @cellMouseOut=\"agCellMouseLeave\"\r\n                @cellKeyDown=\"agCellKeyDown\"\r\n                @rowDragEnter=\"agRowDragEnter\"\r\n                @rowDragEnd=\"agRowDragEnd\"\r\n                @rowDragMove=\"agRowDragMove\"\r\n                @rowDragLeave=\"agRowDragLeave\"\r\n                @filterChanged=\"agFilterChanged\"\r\n                @gridReady=\"agReady\"\r\n            ></ag-grid-vue>\r\n\r\n        </div>\r\n\r\n    </div>\r\n</template>\r\n\r\n<script>\r\nimport map from 'lodash-es/map.js'\r\nimport each from 'lodash-es/each.js'\r\nimport size from 'lodash-es/size.js'\r\nimport filter from 'lodash-es/filter.js'\r\nimport isEqual from 'lodash-es/isEqual.js'\r\nimport find from 'lodash-es/find.js'\r\nimport merge from 'lodash-es/merge.js'\r\nimport get from 'lodash-es/get.js'\r\nimport set from 'lodash-es/set.js'\r\nimport join from 'lodash-es/join.js'\r\nimport split from 'lodash-es/split.js'\r\nimport values from 'lodash-es/values.js'\r\nimport cloneDeep from 'lodash-es/cloneDeep.js'\r\nimport concat from 'lodash-es/concat.js'\r\nimport difference from 'lodash-es/difference.js'\r\nimport trim from 'lodash-es/trim.js'\r\nimport haskey from 'wsemi/src/haskey.mjs'\r\nimport arrHas from 'wsemi/src/arrHas.mjs'\r\nimport sep from 'wsemi/src/sep.mjs'\r\nimport pmSeries from 'wsemi/src/pmSeries.mjs'\r\nimport iser from 'wsemi/src/iser.mjs'\r\nimport isobj from 'wsemi/src/isobj.mjs'\r\nimport iseobj from 'wsemi/src/iseobj.mjs'\r\nimport isarr from 'wsemi/src/isarr.mjs'\r\nimport isearr from 'wsemi/src/isearr.mjs'\r\nimport isestr from 'wsemi/src/isestr.mjs'\r\nimport isnum from 'wsemi/src/isnum.mjs'\r\nimport isfun from 'wsemi/src/isfun.mjs'\r\nimport ispm from 'wsemi/src/ispm.mjs'\r\nimport isbol from 'wsemi/src/isbol.mjs'\r\nimport isp0int from 'wsemi/src/isp0int.mjs'\r\nimport cdbl from 'wsemi/src/cdbl.mjs'\r\nimport cstr from 'wsemi/src/cstr.mjs'\r\nimport cint from 'wsemi/src/cint.mjs'\r\nimport binstr from 'wsemi/src/binstr.mjs'\r\nimport ltdtmapping from 'wsemi/src/ltdtmapping.mjs'\r\nimport ltdtkeys2mat from 'wsemi/src/ltdtkeys2mat.mjs'\r\nimport downloadExcelFileFromDataDyn from 'wsemi/src/downloadExcelFileFromDataDyn.mjs'\r\nimport domShowInputAndGetFilesU8Arrs from 'wsemi/src/domShowInputAndGetFilesU8Arrs.mjs'\r\nimport getDataFromExcelFileU8ArrDyn from 'wsemi/src/getDataFromExcelFileU8ArrDyn.mjs'\r\nimport str2md5 from 'wsemi/src/str2md5.mjs'\r\nimport delay from 'wsemi/src/delay.mjs'\r\nimport replace from 'wsemi/src/replace.mjs'\r\nimport debounce from 'wsemi/src/debounce.mjs'\r\nimport domDetect from 'wsemi/src/domDetect.mjs'\r\nimport domTooltip from 'wsemi/src/domTooltip.mjs'\r\nimport * as agv from 'ag-grid-vue' //會再引用vue-class-component與vue-property-decorator, 因無法被rollup編譯, 故須由外部引入cdn\r\nimport 'ag-grid-community/styles/ag-grid.css'\r\nimport 'ag-grid-community/styles/ag-theme-balham.css'\r\n// import { AllModules } from '@ag-grid-enterprise/all-modules' //ag-gird-enterprise雖可使用modules擴充支援剪貼簿貼上Excel range數據, 不過由Excel複製的數據會有換行字元, 此導致ag-grid解析多一列的空數據而覆蓋到原數據, 無法用\r\nimport getLangText from './getLangText.mjs'\r\n\r\n\r\n//vcAgGridVue, vue-cli4引用可取到AgGridVue\r\nlet vcAgGridVue = get(agv, 'AgGridVue')\r\n// console.log('vcAgGridVue',vcAgGridVue)\r\n\r\n\r\n//wdAgGridVue, 因rollup無法編譯ag-grid-vue故動態加載時只能由外部引用cdn\r\nlet wdAgGridVue = get(window, 'agGridVue.AgGridVue')\r\n// console.log('wdAgGridVue',wdAgGridVue)\r\n\r\n\r\n//useAgGridVue\r\nlet useAgGridVue = vcAgGridVue || wdAgGridVue\r\n// console.log('useAgGridVue',useAgGridVue)\r\n\r\n\r\n//tooltip, 通過key查msg避免特殊html符號無法顯示\r\nlet dtmsg = {}\r\nwindow.ttWAgGridVue = function(ele, kmsg) {\r\n    if (!isestr(kmsg)) {\r\n        return\r\n    }\r\n    let msg = dtmsg[kmsg]\r\n    domTooltip(ele, msg)\r\n}\r\n\r\n\r\nfunction parseText(contentPaste) {\r\n    contentPaste = trim(contentPaste)\r\n    contentPaste = replace(contentPaste, '\\r\\n', '\\n')\r\n    contentPaste = replace(contentPaste, '\\r', '\\n')\r\n    let pRows = sep(contentPaste, '\\n')\r\n    let pData = []\r\n    each(pRows, (v) => {\r\n        if (trim(v) !== '') {\r\n            let s = split(v, '\\t')\r\n            pData.push(s)\r\n        }\r\n    })\r\n    return pData\r\n}\r\n\r\n\r\n/**\r\n * @vue-prop {Object} opt 輸入資料設定物件\r\n * @vue-prop {Array} opt.keys 輸入資料各欄位keys\r\n * @vue-prop {Array} opt.rows 輸入資料列,各列為物件,內含各欄位keys之值,例[{},{},...,{}]\r\n * @vue-prop {Object} [opt.kpHead={}] 輸入key對應head物件,預設各key值為本身key值\r\n * @vue-prop {Number} [opt.defHeadMinWidth=null] 輸入cell預設最小寬度數字,預設為null\r\n * @vue-prop {Number} [opt.defHeadMaxWidth=null] 輸入cell預設最小寬度數字,預設為null\r\n * @vue-prop {Object} [opt.kpHeadWidth={}] 輸入key對應cell之寬度物件,預設各key值為undefined\r\n * @vue-prop {Object} [opt.kpHeadTooltip={}] 輸入key對應需tooltip的html字串物件,於各head處滑鼠移入時觸發,預設各key值為undefined\r\n * @vue-prop {String} [opt.defHeadAlignH='center'] 輸入head預設之左右對齊字串,預設為'center'\r\n * @vue-prop {Object} [opt.kpHeadAlignH={}] 輸入key對應head之左右對齊字串物件,預設各key值為defHeadAlignH\r\n * @vue-prop {Boolean} [opt.defHeadSort=true] 輸入head預設之是否允許排序布林值,預設為true\r\n * @vue-prop {Object} [opt.kpHeadSort={}] 輸入key對應head之是否允許排序物件,預設各key值為defHeadSort\r\n * @vue-prop {Function|String} [opt.defHeadSortMethod=null] 輸入head預設之排序方式函數或字串,若需自行定義則給予函數,若需使用內建的自動轉型判斷方式則給予'auto'字串,預設為null\r\n * @vue-prop {Object} [opt.kpHeadSortMethod={}] 輸入key對應head之排序方式函數或字串,若需自行定義則給予函數,若需使用內建的自動轉型判斷方式則給予'auto'字串,預設各key值為defHeadSortMethod\r\n * @vue-prop {Object} [opt.kpHeadFixLeft={}] 輸入key對應head之是否固定於左側物件,預設各key值為false\r\n * @vue-prop {Boolean} [opt.defHeadFilter=true] 輸入head預設之是否允許過濾布林值,預設為true\r\n * @vue-prop {Object} [opt.kpHeadFilter={}] 輸入key對應head之是否允許過濾物件,預設各key值為defHeadFilter\r\n * @vue-prop {String} [opt.defHeadFilterType='num'] 輸入head預設過濾器字串,可選'num'、'text'、'time'、'set',預設為'num'\r\n * @vue-prop {Object} [opt.kpHeadFilterType={}] 輸入key對應head之過濾器物件,可使用'num'、'text'、'time'、'set',預設各key值為'num'\r\n * @vue-prop {Object} [opt.kpHeadRender={}] 輸入key對應head之渲染函數物件,預設各key值為undefined\r\n * @vue-prop {Boolean} [opt.defHeadDrag=true] 輸入head預設之是否允許拖曳布林值,預設為true\r\n * @vue-prop {Object} [opt.kpHeadDrag={}] 輸入key對應head之是否允許拖曳物件,預設各key值為defHeadDrag\r\n * @vue-prop {Object} [opt.kpHeadCheckBox={}] 輸入key對應head與key的各列是否使用核選方塊物件,預設各key值為false\r\n * @vue-prop {Object} [opt.kpHeadFocusHighlight={}] 輸入key對應key的各列於獲得焦點時是否高亮顯示物件,預設各key值為true\r\n * @vue-prop {Object} [opt.kpHeadHide={}] 輸入key對應head是否隱藏物件,預設各key值為false\r\n * @vue-prop {Object} [opt.kpRowStyle={}] 輸入key對應row style之物件,可設定各key欄之函數,函數給予cell值需回傳之row style,預設各key值為undefined\r\n * @vue-prop {Object} [opt.kpRowDrag={}] 輸入key對應col之是否能拖曳排序物件,預設各key值為false\r\n * @vue-prop {Function} [opt.genRowsPinnTop=null] 輸入產生置頂rows函數,輸入為表內全部數據,預設為null\r\n * @vue-prop {Function} [opt.genRowsPinnBottom=null] 輸入產生置底rows函數,輸入為表內全部數據,預設為null\r\n * @vue-prop {Object} [opt.kpColStyle={}] 輸入key對應col style之物件,可設定各key欄之col style,預設各key值為undefined\r\n * @vue-prop {Object} [opt.kpColSpan={}] 輸入key對應col span之物件,可設定各key欄之col span,預設各key值為undefined\r\n * @vue-prop {Object} [opt.kpCellRender={}] 輸入key對應cell之渲染函數物件,預設各key值為undefined\r\n * @vue-prop {Object} [opt.kpCellTooltip={}] 輸入key對應cell之tooltip的html字串物件,於各cell處滑鼠移入時觸發,預設各key值為undefined\r\n * @vue-prop {String} [opt.defCellAlignH='center'] 輸入cell預設之左右對齊字串,預設為'center'\r\n * @vue-prop {Object} [opt.kpCellAlignH={}] 輸入key對應cell之左右對齊字串物件,預設各key值為defCellAlignH\r\n * @vue-prop {Boolean} [opt.defCellEditable=false] 輸入cell預設之是否可編輯布林值,預設為false\r\n * @vue-prop {Object} [opt.kpCellEditable={}] 輸入key對應cell之是否可編輯物件,預設各key值為defCellEditable\r\n * @vue-prop {Object} [opt.kpConvertKeysWhenUploadData={}] 輸入上傳Excel檔案時,當key轉會成對應新key值物件,預設{}\r\n * @vue-prop {Function} [opt.rowsChange=()=>{}] 輸入rows change之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowClick=()=>{}] 輸入row click之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowDbClick=()=>{}] 輸入row double click之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowChange=()=>{}] 輸入row change之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowChecked=()=>{}] 輸入row checked之觸發事件,需使用kpHeadCheckBox開啟指定key的head與對應rows使用checkbox,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowMouseEnter=()=>{}] 輸入row mouseenter之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.rowMouseLeave=()=>{}] 輸入row mouseleave之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.cellClick=()=>{}] 輸入cell click之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.cellDbClick=()=>{}] 輸入cell double click之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.cellChange=()=>{}] 輸入cell change之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.cellMouseEnter=()=>{}] 輸入cell mouseenter之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.cellMouseLeave=()=>{}] 輸入cell mouseleave之觸發事件,預設為()=>{}\r\n * @vue-prop {Function} [opt.filterChange=()=>{}] 輸入filter change之觸發事件,預設為()=>{}\r\n * @vue-prop {Boolean} [opt.autoFitColumn=false] 輸入當表格尺寸變更時自動調整欄寬布林值,預設false\r\n * @vue-prop {String} [opt.language='en'] 輸入指定語系字串,可選'en'、'zh-tw'、'zh-cn',預設為'en'\r\n * @vue-prop {Number} [height=300] 表格高度,單位為px,預設300\r\n * @vue-prop {String} [filterall=''] 輸入對全表數據進行過濾之字串,預設為''\r\n */\r\nexport default {\r\n    components: {\r\n        AgGridVue: useAgGridVue,\r\n    },\r\n    props: {\r\n        opt: {\r\n            type: Object,\r\n        },\r\n        height: {\r\n            type: Number,\r\n            default: 300\r\n        },\r\n        filterall: {\r\n            type: String,\r\n            default: ''\r\n        },\r\n    },\r\n    data: function() {\r\n        let vo = this\r\n        return {\r\n            dbc: debounce(),\r\n            de: null,\r\n\r\n            evPaste: null,\r\n            dataPasted: '',\r\n\r\n            width: 100,\r\n            opacity: 0,\r\n\r\n            autoFitColumn: false,\r\n\r\n            language: '',\r\n\r\n            rows: [],\r\n            keys: [],\r\n            columns: [],\r\n\r\n            kpHead: {},\r\n            defHeadMinWidth: null,\r\n            defHeadMaxWidth: null,\r\n            kpHeadWidth: {},\r\n            kpHeadTooltip: {},\r\n            defHeadAlignH: null,\r\n            kpHeadAlignH: {},\r\n            defHeadSort: null,\r\n            kpHeadSort: {},\r\n            defHeadSortMethod: null,\r\n            kpHeadSortMethod: {},\r\n            kpHeadFixLeft: {},\r\n            defHeadFilter: null,\r\n            kpHeadFilter: {},\r\n            defHeadFilterType: null,\r\n            kpHeadFilterType: {},\r\n            defHeadDrag: null,\r\n            kpHeadRender: {},\r\n            kpHeadDrag: {},\r\n            kpHeadCheckBox: {},\r\n            kpHeadFocusHighlight: {},\r\n            kpHeadHide: {},\r\n            kpRowStyle: {},\r\n            kpRowDrag: {},\r\n            kpColStyle: {},\r\n            kpColSpan: {},\r\n            kpCellRender: {},\r\n            kpCellTooltip: {},\r\n            defCellAlignH: null,\r\n            kpCellAlignH: {},\r\n            defCellEditable: null,\r\n            kpCellEditable: {},\r\n            kpConvertKeysWhenUploadData: null,\r\n\r\n            tableClickEnable: false,\r\n            rowsChange: function() {},\r\n            rowChange: function() {},\r\n            rowChecked: function() {},\r\n            rowMouseEnter: function() {},\r\n            rowMouseLeave: function() {},\r\n            rowClick: function() {},\r\n            rowDbClick: function() {},\r\n            rowDragEnter: function() {},\r\n            rowDragEnd: function() {},\r\n            rowDragMove: function() {},\r\n            rowDragLeave: function() {},\r\n            rowDragChange: function() {},\r\n            cellClick: function() {},\r\n            cellDbClick: function() {},\r\n            cellChange: function() {},\r\n            cellMouseEnter: function() {},\r\n            cellMouseLeave: function() {},\r\n            filterChange: function() {},\r\n\r\n            //因ag-grid只提供mouseout沒有mouseleave, 導致會因為內元素而觸發mouseout, 得通過暫存機制產生mouseleave事件\r\n            vRowMouseEnter: null,\r\n            vRowMouseLeave: null,\r\n            eRowMouseLeaves: [],\r\n            vCellMouseEnter: null,\r\n            vCellMouseLeave: null,\r\n            eCellMouseLeaves: [],\r\n            iRowDragEnter: null,\r\n\r\n            genRowsPinnTop: null,\r\n            genRowsPinnBottom: null,\r\n\r\n            // AllModules,\r\n            gridOptions: {\r\n\r\n                animateRows: true,\r\n\r\n                suppressMenuHide: true, //預設為false, 代表標題右側的漢堡按鈕預先隱藏, 滑鼠移入時才顯示\r\n\r\n                // rowHoverHighlight: true,\r\n                suppressRowHoverHighlight: false, //ag-grid 25.3.0已由rowHoverHighlight改為suppressRowHoverHighlight\r\n\r\n                // suppressColumnHoverHighlight: false,\r\n                columnHoverHighlight: false, //ag-grid 26.2.0已由suppressColumnHoverHighlight改為columnHoverHighlight\r\n\r\n                // floatingFilter: true, //ag-grid 23.1.0已改為由column給予floatingFilter\r\n\r\n                rowDragManaged: true,\r\n\r\n                suppressRowClickSelection: true, //若開啟checkboxSelection\r\n\r\n                singleClickEdit: true, //單點即可變更\r\n\r\n                // stopEditingWhenGridLosesFocus: true,\r\n                stopEditingWhenCellsLoseFocus: true, //失去焦點則停止編輯, ag-grid 25.2.2改為stopEditingWhenCellsLoseFocus\r\n\r\n                // suppressCellFocus: true, //點擊因cell獲得焦點會出現邊框, 若關閉(suppressCellFocus=true)會導致全部cell都關閉, 另用賦予class處理\r\n\r\n                // localeText: null,\r\n                getLocaleText: vo.agGetLocaleText,\r\n\r\n                getRowStyle: vo.agGetRowStyle,\r\n\r\n                // debounceVerticalScrollbar: true,\r\n\r\n                pinnedTopRowData: [],\r\n                pinnedBottomRowData: [],\r\n\r\n            },\r\n\r\n            ag: null,\r\n\r\n            pathItems: [\r\n                'https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js',\r\n            ],\r\n\r\n        }\r\n    },\r\n    mounted: function() {\r\n\r\n        let vo = this\r\n\r\n        //監聽dom\r\n        vo.de = domDetect(() => {\r\n            return get(vo, '$refs.shell', null)\r\n        })\r\n        vo.de.on('resize', (s) => {\r\n            // console.log('resize', s)\r\n            if (vo.autoFitColumn) {\r\n                vo.fitColumns()\r\n            }\r\n        })\r\n        vo.de.on('display', (s) => {\r\n            // console.log('display', s)\r\n            if (vo.autoFitColumn) {\r\n                vo.fitColumns()\r\n            }\r\n        })\r\n\r\n        //paste\r\n        vo.evPaste = (e) => {\r\n            //console.log('paste', e)\r\n\r\n            //clipboardData\r\n            let clipboardData = event.clipboardData || window.clipboardData\r\n\r\n            //save dataPasted\r\n            vo.dataPasted = clipboardData.getData('Text')\r\n\r\n        }\r\n        window.addEventListener('paste', vo.evPaste)\r\n\r\n    },\r\n    beforeDestroy: function() {\r\n        //console.log('beforeMount')\r\n\r\n        let vo = this\r\n\r\n        //釋放監聽\r\n        vo.de.clear()\r\n\r\n        //removeEventListener\r\n        window.removeEventListener('paste', vo.evPaste)\r\n\r\n    },\r\n    computed: {\r\n\r\n        changeParam: function() {\r\n            //console.log('computed changeParam')\r\n\r\n            let vo = this\r\n\r\n            //trigger\r\n            let opt = vo.opt\r\n            vo.__temp__ = { opt }\r\n\r\n            //changeOpt\r\n            vo.changeOpt()\r\n\r\n            return ''\r\n        },\r\n\r\n        changeFilterall: function() {\r\n            // console.log('computed changeFilterall')\r\n\r\n            let vo = this\r\n\r\n            //trigger\r\n            let filterall = vo.filterall\r\n            vo.__temp__ = { filterall }\r\n\r\n            //triggerFilterChange\r\n            vo.triggerFilterChange('filterall')\r\n\r\n            return ''\r\n        },\r\n\r\n        getRowsStyle: function(params) {\r\n            //console.log('computed getRowsStyle', params)\r\n\r\n            let vo = this\r\n\r\n            if (vo.tableClickEnable) {\r\n                return {\r\n                    cursor: 'pointer'\r\n                }\r\n            }\r\n            return {}\r\n        },\r\n\r\n        filterRows: function() {\r\n            //console.log('computed filterRows')\r\n\r\n            let vo = this\r\n\r\n            //trigger\r\n            let rows = vo.rows\r\n            let filterall = vo.filterall\r\n\r\n            //check\r\n            if (filterall === '') {\r\n                return rows\r\n            }\r\n\r\n            //filter\r\n            let frs = filter(rows, function(v, k) {\r\n                let c = join(values(v), '')\r\n                return binstr(c, filterall)\r\n            })\r\n\r\n            return frs\r\n        },\r\n\r\n    },\r\n    methods: {\r\n\r\n        getGridOptions: function() {\r\n            //console.log('methods getGridOptions')\r\n\r\n            let vo = this\r\n\r\n            return vo.gridOptions\r\n        },\r\n\r\n        getApi: function() {\r\n            // console.log('getApi')\r\n\r\n            let vo = this\r\n\r\n            //api, ag-grid 31.1.0的gridOptions.api已改為須由組件ref取得\r\n            let api = get(vo, '$refs.agv.api', null)\r\n\r\n            return api\r\n        },\r\n\r\n        agGetLocaleText: function(params) {\r\n            // console.log('agGetLocaleText', params)\r\n\r\n            let vo = this\r\n\r\n            //getLangText\r\n            let t = getLangText(vo.language, params.key, params.defaultValue)\r\n\r\n            return t\r\n        },\r\n\r\n        agGetRowStyle: function(params) {\r\n            //console.log('agGetRowStyle', params) //由各row呼叫\r\n\r\n            let vo = this\r\n\r\n            //style\r\n            let style = {}\r\n            each(vo.kpRowStyle, function(v, k) {\r\n                let f = v\r\n                let d = get(params.data, k)\r\n                if (isfun(f)) {\r\n                    style = merge(style, f(d))\r\n                }\r\n            })\r\n\r\n            return style\r\n        },\r\n\r\n        triggerRowDragChange: function(indFrom, indTo, row, rows) {\r\n\r\n            let vo = this\r\n\r\n            //check\r\n            if (indFrom !== indTo) {\r\n                vo.iRowDragEnter = indTo\r\n\r\n                //需使用set強制更新外部opt物件的rows並再同步更新至內部rows, 否則外面數據會沒更動\r\n                set(vo, `opt.rows`, rows)\r\n\r\n                //rowDragChange\r\n                vo.rowDragChange(indFrom, indTo, row, rows)\r\n\r\n                //rowsChange, rows是內部已更新數據, 直接用於回傳函數\r\n                vo.rowsChange(rows)\r\n\r\n            }\r\n\r\n        },\r\n\r\n        agRowDragEnter: function(param) {\r\n            // console.log('methods agRowDragEnter', param)\r\n\r\n            let vo = this\r\n\r\n            //ind\r\n            let ind = get(param, 'node.rowIndex', '')\r\n            // console.log('agRowDragEnter ind', ind)\r\n\r\n            //iRowDragEnter\r\n            vo.iRowDragEnter = ind\r\n\r\n            //row\r\n            let row = get(param, 'node.data', null)\r\n\r\n            // //rows\r\n            // let rows = vo.getNowData()\r\n            // // console.log('agRowDragEnd rows', cloneDeep(rows))\r\n\r\n            //rowDragEnter\r\n            vo.rowDragEnter(ind, -1, row)\r\n\r\n        },\r\n\r\n        agRowDragEnd: function(param) {\r\n            // console.log('methods agRowDragEnd', param)\r\n\r\n            let vo = this\r\n\r\n            //ind\r\n            let ind = get(param, 'node.rowIndex', '')\r\n            // console.log('agRowDragEnd ind', ind)\r\n\r\n            //row\r\n            let row = get(param, 'node.data', null)\r\n\r\n            //rows\r\n            let rows = vo.getNowData()\r\n            // console.log('agRowDragEnd rows', cloneDeep(rows))\r\n\r\n            //rowDragEnd\r\n            vo.rowDragEnd(vo.iRowDragEnter, ind, row, rows)\r\n\r\n            //triggerRowDragChange\r\n            vo.triggerRowDragChange(vo.iRowDragEnter, ind, row, rows)\r\n\r\n        },\r\n\r\n        agRowDragMove: function(param) {\r\n            // console.log('methods agRowDragMove', param)\r\n\r\n            let vo = this\r\n\r\n            //ind\r\n            let ind = get(param, 'node.rowIndex', '')\r\n            // console.log('agRowDragMove ind', ind)\r\n\r\n            //row\r\n            let row = get(param, 'node.data', null)\r\n\r\n            // //rows\r\n            // let rows = vo.getNowData()\r\n            // // console.log('agRowDragMove rows', cloneDeep(rows))\r\n\r\n            //rowDragMove\r\n            vo.rowDragMove(vo.iRowDragEnter, ind, row)\r\n\r\n        },\r\n\r\n        agRowDragLeave: function(param) {\r\n            // console.log('methods agRowDragLeave', param)\r\n\r\n            //先move再leave至表格外, 拖曳排序依然有效, 但僅觸發DragLeave不觸發DragEnd, 得聯合處理\r\n\r\n            let vo = this\r\n\r\n            //ind\r\n            let ind = get(param, 'node.rowIndex', '')\r\n            // console.log('agRowDragLeave ind', ind)\r\n\r\n            //row\r\n            let row = get(param, 'node.data', null)\r\n\r\n            //rows\r\n            let rows = vo.getNowData()\r\n            // console.log('agRowDragLeave rows', cloneDeep(rows))\r\n\r\n            //rowDragLeave\r\n            vo.rowDragLeave(vo.iRowDragEnter, ind, row, rows)\r\n\r\n            //triggerRowDragChange\r\n            vo.triggerRowDragChange(vo.iRowDragEnter, ind, row, rows)\r\n\r\n        },\r\n\r\n        agRowSelect: function(params) {\r\n            // console.log('agRowSelect', params)\r\n\r\n            let vo = this\r\n\r\n            //rn\r\n            let rn = params.api.getSelectedNodes() //params.api已是vo.getApi()\r\n\r\n            //rs\r\n            let rs = map(rn, (r) => {\r\n                return {\r\n                    rowInd: cint(r.id),\r\n                    rowIndShow: r.rowIndex,\r\n                    data: r.data,\r\n                }\r\n            })\r\n\r\n            //rowChecked\r\n            vo.rowChecked(cloneDeep(rs))\r\n\r\n        },\r\n\r\n        agCellClick: function(param) {\r\n            //console.log('methods agCellClick', param)\r\n\r\n            let vo = this\r\n\r\n            //cellClick\r\n            vo.cellClick(param.colDef.field, param.data)\r\n\r\n            //rowClick\r\n            vo.rowClick(param.colDef.field, param.data)\r\n\r\n        },\r\n\r\n        agCellDbClick: function(param) {\r\n            //console.log('methods agCellDbClick', param)\r\n\r\n            let vo = this\r\n\r\n            //cellDbClick\r\n            vo.cellDbClick(param.colDef.field, param.data)\r\n\r\n            //rowDbClick\r\n            vo.rowDbClick(param.colDef.field, param.data)\r\n\r\n        },\r\n\r\n        agCellChange: function(param) {\r\n            // console.log('methods agCellChange', param)\r\n\r\n            let vo = this\r\n\r\n            //check值變化\r\n            if (param.oldValue !== param.newValue) {\r\n                //值變化因為記憶體同址vo.rows會出現變更, 故使用vo.rows\r\n\r\n                //refresh\r\n                vo.refresh()\r\n\r\n                //cellChange\r\n                vo.cellChange(param.colDef.field, param.data, vo.rows)\r\n\r\n                //rowChange\r\n                vo.rowChange(param.colDef.field, param.data, vo.rows)\r\n\r\n                //rowsChange, 因為記憶體同址vo.rows會出現變更, 故直接用於回傳函數\r\n                vo.rowsChange(vo.rows)\r\n\r\n                //setRowsPinnBottom\r\n                vo.setRowsPinnBottom(vo.rows)\r\n\r\n            }\r\n\r\n        },\r\n\r\n        agFilterChanged: function(params) {\r\n            // console.log('methods agFilterChanged', params)\r\n\r\n            let vo = this\r\n\r\n            //triggerFilterChange\r\n            vo.triggerFilterChange('heads')\r\n\r\n        },\r\n\r\n        agReady: function(params) {\r\n            //console.log('methods agReady', params)\r\n\r\n            let vo = this\r\n\r\n            //ag\r\n            vo.ag = params\r\n\r\n            if (vo.autoFitColumn) {\r\n\r\n                //fitColumns\r\n                vo.fitColumns(false)\r\n\r\n            }\r\n\r\n            //setRowsPinnTop\r\n            vo.setRowsPinnTop(vo.rows)\r\n\r\n            //setRowsPinnBottom\r\n            vo.setRowsPinnBottom(vo.rows)\r\n\r\n            //show\r\n            vo.opacity = 1\r\n\r\n        },\r\n\r\n        leaveTable: function() {\r\n            //console.log('methods leaveTable')\r\n\r\n            let vo = this\r\n\r\n            //emitCellMouseLeaves\r\n            vo.emitCellMouseLeaves()\r\n\r\n            //emitRowMouseLeaves\r\n            vo.emitRowMouseLeaves()\r\n\r\n            //clear\r\n            vo.vRowMouseEnter = null\r\n            vo.vRowMouseLeave = null\r\n            vo.vCellMouseEnter = null\r\n            vo.vCellMouseLeave = null\r\n\r\n        },\r\n\r\n        emitCellMouseLeaves: function() {\r\n            //console.log('methods emitCellMouseLeaves')\r\n\r\n            let vo = this\r\n\r\n            //cellMouseLeave\r\n            each(vo.eCellMouseLeaves, (v) => {\r\n                vo.cellMouseLeave(cloneDeep(v.field), cloneDeep(v.data))\r\n                //console.log('cellMouseLeave', cloneDeep(v.field), cloneDeep(v.data))\r\n            })\r\n\r\n            //clear\r\n            vo.eCellMouseLeaves = []\r\n\r\n        },\r\n\r\n        emitRowMouseLeaves: function() {\r\n            //console.log('methods emitRowMouseLeaves')\r\n\r\n            let vo = this\r\n\r\n            //rowMouseLeave\r\n            each(vo.eRowMouseLeaves, (v) => {\r\n                vo.rowMouseLeave(cloneDeep(v.field), cloneDeep(v.data))\r\n                //console.log('rowMouseLeave', cloneDeep(v.field), cloneDeep(v.data))\r\n            })\r\n\r\n            //clear\r\n            vo.eRowMouseLeaves = []\r\n\r\n        },\r\n\r\n        agCellMouseEnter: function(param) {\r\n            //console.log('methods agCellMouseEnter', param)\r\n\r\n            let vo = this\r\n\r\n            //tvCellMouseEnter, tvRowMouseEnter\r\n            let tvCellMouseEnter = {\r\n                field: param.colDef.field,\r\n                data: param.data,\r\n            }\r\n            let tvRowMouseEnter = {\r\n                data: param.data, //紀錄資料只會比對data, data不一樣才觸發\r\n            }\r\n\r\n            //cellMouseEnter\r\n            if (!isEqual(vo.vCellMouseEnter, tvCellMouseEnter)) {\r\n\r\n                //emitCellMouseLeaves, 要觸發enter前先觸發leave, 避免cell leave偵測失效或過慢導致連發\r\n                vo.emitCellMouseLeaves()\r\n\r\n                //field, data\r\n                let field = cloneDeep(param.colDef.field)\r\n                let data = cloneDeep(param.data)\r\n\r\n                //update vCellMouseEnter\r\n                vo.vCellMouseEnter = tvCellMouseEnter\r\n\r\n                //cellMouseEnter\r\n                vo.cellMouseEnter(field, data)\r\n\r\n                //push, 儲存需離開事件資訊\r\n                vo.eCellMouseLeaves.push({\r\n                    field,\r\n                    data,\r\n                })\r\n\r\n            }\r\n\r\n            //rowMouseEnter\r\n            if (!isEqual(vo.vRowMouseEnter, tvRowMouseEnter)) {\r\n\r\n                //emitRowMouseLeaves, 要觸發enter前先觸發leave, 避免row leave偵測失效或過慢導致連發\r\n                vo.emitRowMouseLeaves()\r\n\r\n                //field, data\r\n                let field = cloneDeep(param.colDef.field)\r\n                let data = cloneDeep(param.data)\r\n\r\n                //update vRowMouseEnter\r\n                vo.vRowMouseEnter = tvRowMouseEnter\r\n\r\n                //rowMouseEnter\r\n                vo.rowMouseEnter(field, data) //滑鼠最初移入的欄位依然作為資料emit出去\r\n\r\n                //push, 儲存需離開事件資訊\r\n                vo.eRowMouseLeaves.push({\r\n                    field,\r\n                    data,\r\n                })\r\n\r\n                //update vRowMouseLeave, 因一進列可能在同列儲存格間移動, 故需先儲存更新列數據, 若移動到相鄰儲存格時, 則可判斷因數據相同故不用觸發rowLeave\r\n                vo.vRowMouseLeave = {\r\n                    data: cloneDeep(param.data),\r\n                }\r\n\r\n            }\r\n\r\n        },\r\n\r\n        agCellMouseLeave: function(param) {\r\n            //console.log('methods agCellMouseLeave', param)\r\n\r\n            let vo = this\r\n\r\n            //check\r\n            if (param.event.target.contains(param.event.relatedTarget)) { //離開元素包含進入元素時則跳出, 因可能為父元素進入內元素而觸發\r\n                //console.log('進入元素包含離開元素時則跳出')\r\n                return\r\n            }\r\n\r\n            //role\r\n            let role = null\r\n            try {\r\n                role = param.event.target.getAttribute('role') //離開元素的role\r\n            }\r\n            catch (err) {\r\n                //console.log(err)\r\n            }\r\n\r\n            //check\r\n            if (role !== 'gridcell') { //離開元素的role不是gridcell則跳出, 因有可能是cell內元素觸發\r\n                //console.log('離開元素的role不是gridcell則跳出', param.event.target)\r\n                return\r\n            }\r\n\r\n            //tvCellMouseLeave\r\n            let tvCellMouseLeave = {\r\n                field: cloneDeep(param.colDef.field),\r\n                data: cloneDeep(param.data),\r\n            }\r\n\r\n            //tvRowMouseLeave\r\n            let tvRowMouseLeave = {\r\n                data: cloneDeep(param.data),\r\n            }\r\n\r\n            //emitCellMouseLeaves\r\n            if (!isEqual(vo.vCellMouseLeave, tvCellMouseLeave)) {\r\n                vo.vCellMouseLeave = tvCellMouseLeave\r\n                vo.emitCellMouseLeaves()\r\n            }\r\n\r\n            //emitRowMouseLeaves\r\n            if (!isEqual(vo.vRowMouseLeave, tvRowMouseLeave)) {\r\n                vo.vRowMouseLeave = tvRowMouseLeave\r\n                vo.emitRowMouseLeaves()\r\n            }\r\n\r\n        },\r\n\r\n        agCellKeyDown: function(param) {\r\n            //console.log('methods agCellKeyDown', param)\r\n\r\n            let vo = this\r\n\r\n            //check, 由剪貼簿貼上\r\n            if (!(param.event.ctrlKey && param.event.code === 'KeyV')) {\r\n                return\r\n            }\r\n            //console.log('param', param)\r\n\r\n            //showRowIndNow\r\n            let showRowIndNow = param.rowIndex\r\n            // console.log('showRowIndNow', showRowIndNow)\r\n\r\n            //showColKeyNow\r\n            let showColKeyNow = param.column.colId\r\n            // console.log('showColKeyNow', showColKeyNow)\r\n\r\n            //stopEditing, 停止cell的編輯狀態\r\n            vo.getApi().stopEditing()\r\n\r\n            //pasteText\r\n            vo.pasteText(vo.dataPasted, showRowIndNow, showColKeyNow)\r\n\r\n        },\r\n\r\n        pasteText: function(text, showRowIndNow = null, showColKeyNow = null) {\r\n            // console.log('methods pasteText', text, showRowIndNow, showColKeyNow)\r\n\r\n            let vo = this\r\n\r\n            //mShowRowInds\r\n            let mShowRowInds = []\r\n            let mData = []\r\n            vo.getApi().forEachNodeAfterFilterAndSort(function(node, k) {\r\n                //console.log('node', node)\r\n                mShowRowInds.push(node.id)\r\n                mData.push(node.data)\r\n            })\r\n            // console.log('mShowRowInds', mShowRowInds)\r\n            // console.log('mData', mData)\r\n\r\n            //check\r\n            if (size(mShowRowInds) === 0) {\r\n                //console.log('無有效之當前顯示數據')\r\n                return\r\n            }\r\n\r\n            //mShowColKeys\r\n            // let mShowColKeys = vo.gridOptions.columnApi.getAllGridColumns()\r\n            let mShowColKeys = vo.getApi().getAllGridColumns() //gridOptions.columnApi已歸入api, 並須通過ref取得\r\n            mShowColKeys = map(mShowColKeys, (v, k) => {\r\n                // console.log('v', v, v.getId)\r\n                return v.getId()\r\n            })\r\n            // console.log('mShowColKeys', mShowColKeys)\r\n\r\n            //check\r\n            if (size(mShowColKeys) === 0) {\r\n                //console.log('無有效之當前顯示數據')\r\n                return\r\n            }\r\n\r\n            //cs\r\n            // let cs = vo.gridOptions.columnApi.getColumnState()\r\n            let cs = vo.getApi().getColumnState() //gridOptions.columnApi已歸入api, 並須通過ref取得\r\n            // console.log('cs', cs)\r\n\r\n            //kpHide, kpPinned\r\n            let kpHide = {}\r\n            let kpPinned = {}\r\n            each(cs, (v) => {\r\n                kpHide[v.colId] = v.hide\r\n                kpPinned[v.colId] = v.pinned !== null\r\n            })\r\n            //console.log('kpHide', kpHide)\r\n            //console.log('kpPinned', kpPinned)\r\n\r\n            //check\r\n            if (kpHide[showColKeyNow]) {\r\n                //console.log('貼於禁止編輯的儲存格, 強制取消')\r\n                return\r\n            }\r\n\r\n            //pasteOnPinned\r\n            let pasteOnPinned = null\r\n            if (kpPinned[showColKeyNow]) {\r\n                pasteOnPinned = showColKeyNow\r\n            }\r\n            //console.log('pasteOnPinned', pasteOnPinned)\r\n\r\n            //kpEditable\r\n            // let cd = vo.gridOptions.columnDefs\r\n            let cd = vo.getApi().getColumnDefs() //gridOptions.columnDefs已歸入api, 並須通過ref取得\r\n            // console.log('cd', cd)\r\n            let kpEditable = {}\r\n            each(cd, (v) => {\r\n                kpEditable[v.field] = v.editable\r\n            })\r\n            //console.log('kpEditable', kpEditable)\r\n\r\n            //dataPaste\r\n            let dataPaste = parseText(text)\r\n            //console.log('dataPaste', dataPaste)\r\n\r\n            //default\r\n            if (showRowIndNow === null) {\r\n                showRowIndNow = 0\r\n            }\r\n            if (showColKeyNow === null) {\r\n                showColKeyNow = mShowColKeys[0]\r\n            }\r\n\r\n            //pasteRowMax, pasteColMax\r\n            let pasteRowMax = null\r\n            let pasteColMax = null\r\n            try {\r\n                pasteRowMax = size(dataPaste)\r\n            }\r\n            catch (err) {\r\n                //console.log('無法計算貼上數據列的總量', err)\r\n                return\r\n            }\r\n            try {\r\n                pasteColMax = size(dataPaste[0])\r\n            }\r\n            catch (err) {\r\n                //console.log('無法計算貼上數據行的總量', err)\r\n                return\r\n            }\r\n\r\n            //paste\r\n            let i = -1\r\n            // let rowsTemp = cloneDeep(vo.rows)\r\n            let rows = vo.rows //記憶體得用原始記憶體, 否則applyTransaction會無法找到原始數據物件進行更新\r\n            let updateRows = []\r\n            for (let ii = 0; ii < size(mShowColKeys); ii++) {\r\n                let v = mShowColKeys[ii]\r\n                //console.log('v', v)\r\n\r\n                //check\r\n                if (kpHide[v]) {\r\n                    continue //數據貼到隱藏欄位故跳過\r\n                }\r\n\r\n                //check\r\n                if (pasteOnPinned) { //貼於固定欄位時\r\n                    if (kpPinned[v]) {\r\n                        if (pasteOnPinned === v) { //v !== pasteOnPinned\r\n                            //console.log('已貼到固定欄位')\r\n                            pasteOnPinned = true //已貼到固定欄位, 強制修改為true\r\n                        }\r\n                        else if (pasteOnPinned === true) {\r\n                            //console.log('已貼過固定欄位, 允許貼至其他固定欄位')\r\n                        }\r\n                        else {\r\n                            //console.log('雖然是貼到固定欄位, 但尚未貼到原本固定欄位, 強制取消')\r\n                            continue\r\n                        }\r\n                    }\r\n                    else {\r\n                        //console.log('貼於固定欄位時, 數據只允許貼到該固定欄位上', pasteOnPinned, v)\r\n                        continue //貼於固定欄位時, 數據只允許貼到該固定欄位上\r\n                    }\r\n                }\r\n                else { //不是貼於固定欄位時\r\n                    if (kpPinned[v]) {\r\n                        //console.log('不是貼於固定欄位時, 數據貼到固定欄位則跳過', pasteOnPinned, v, kpPinned[v])\r\n                        continue //不是貼於固定欄位時, 數據貼到固定欄位則跳過\r\n                    }\r\n                }\r\n\r\n                //add i\r\n                if (v === showColKeyNow) {\r\n                    i = 0\r\n                }\r\n                else if (i >= 0) { //當出現>=0就代表已經找到showColKey\r\n                    i += 1\r\n                }\r\n\r\n                //modify data\r\n                if (i >= 0 && i < pasteColMax) {\r\n                    let pasteColInd = i\r\n                    let trueColKey = v\r\n                    // console.log('pasteColInd', pasteColInd, 'trueColKey', trueColKey)\r\n\r\n                    //check\r\n                    if (!kpEditable[trueColKey]) {\r\n                        continue //禁止編輯欄位故跳過, i的增加還是得照常處理, 也就是只有不能編輯欄位的數據不變更\r\n                    }\r\n\r\n                    for (let j = 0; j < pasteRowMax; j++) {\r\n                        let pasteRowInd = j\r\n                        if (showRowIndNow + j < size(mShowRowInds)) {\r\n                            let trueRowInd = mShowRowInds[showRowIndNow + j]\r\n                            // console.log('pasteRowInd', pasteRowInd, 'trueRowInd', trueRowInd)\r\n\r\n                            // //pasteValue\r\n                            // let pasteValue = dataPaste[pasteRowInd][pasteColInd]\r\n                            // console.log('pasteValue', pasteValue)\r\n\r\n                            // //trueValue\r\n                            // let trueValue = rowsTemp[trueRowInd][trueColKey]\r\n                            // console.log('trueValue', trueValue)\r\n\r\n                            //save\r\n                            rows[trueRowInd][trueColKey] = dataPaste[pasteRowInd][pasteColInd]\r\n\r\n                            //push, 只紀錄需變更的rows\r\n                            updateRows.push(rows[trueRowInd])\r\n\r\n                        }\r\n\r\n                    }\r\n                }\r\n\r\n            }\r\n\r\n            //applyTransaction, 只變更必要資料加速, 注意記憶體得用原始記憶體, 也就是updateRows得使用原始vo.rows來給予欲變更之rows, 否則applyTransaction會無法找到原始數據物件進行更新\r\n            vo.getApi().applyTransaction({ update: updateRows })\r\n            // console.log('applyTransaction', cloneDeep(updateRows))\r\n\r\n            //需使用set強制更新外部opt物件的rows並再同步更新至內部rows, 否則外面數據會沒更動\r\n            set(vo, `opt.rows`, rows)\r\n\r\n            //rowsChange, rows是內部已更新數據, 直接用於回傳函數\r\n            vo.rowsChange(rows)\r\n\r\n        },\r\n\r\n        refresh: async function() {\r\n            //console.log('methods refresh')\r\n\r\n            let vo = this\r\n\r\n            //delay\r\n            await delay(1)\r\n\r\n            //redrawRows, 因資料變更不會觸發getRowStyle, 給自行redrawRows\r\n            //可能因使用者切換組件被destroy, 故需try catch\r\n            try {\r\n                vo.getApi().redrawRows()\r\n            }\r\n            catch (err) {\r\n                //console.log(err)\r\n            }\r\n\r\n        },\r\n\r\n        keys2columns: function(keys) {\r\n            //console.log('methods keys2columns')\r\n\r\n            let vo = this\r\n\r\n            //cs\r\n            let cs = map(keys, function(key) {\r\n                let o = {}\r\n\r\n                //key\r\n                o.field = key\r\n\r\n                //text\r\n                o.headerName = vo.kpHead[key]\r\n\r\n                //sort\r\n                o.sortable = vo.kpHeadSort[key]\r\n\r\n                //comparator\r\n                let funHeadSortMethod = vo.kpHeadSortMethod[key]\r\n                if (isfun(funHeadSortMethod)) {\r\n                    o.comparator = funHeadSortMethod\r\n                }\r\n                else if (funHeadSortMethod === 'auto') {\r\n                    o.comparator = function(valueA, valueB, nodeA, nodeB, isInverted) {\r\n\r\n                        //若值無效\r\n                        let sA = iser(valueA)\r\n                        let sB = iser(valueB)\r\n                        if (sA && sB) {\r\n                            return 0\r\n                        }\r\n                        if (sA) {\r\n                            return -1\r\n                        }\r\n                        if (sB) {\r\n                            return 1\r\n                        }\r\n\r\n                        //若值為數字\r\n                        if (isnum(valueA) && isnum(valueB)) {\r\n                            return cdbl(valueA) - cdbl(valueB)\r\n                        }\r\n\r\n                        //若值為字串, 先比長度越小越前面, 長度相同則用localeCompare比較\r\n                        if (isestr(valueA) && isestr(valueB)) {\r\n                            let lenA = size(valueA)\r\n                            let lenB = size(valueB)\r\n                            if (lenA !== lenB) {\r\n                                return lenA - lenB\r\n                            }\r\n                            else {\r\n                                return valueA.localeCompare(valueB)\r\n                            }\r\n                        }\r\n\r\n                        return 0 //不比較\r\n                    }\r\n                }\r\n\r\n                //filter, 欄位標題右邊的選單按鈕, 可使用數字過濾器'agNumberColumnFilter'或文字過濾器'agTextColumnFilter'\r\n                if (vo.kpHeadFilter[key]) {\r\n                    let t = vo.kpHeadFilterType[key]\r\n                    if (t === 'text') {\r\n                        o.filter = 'agTextColumnFilter'\r\n                    }\r\n                    else if (t === 'time') {\r\n                        o.filter = 'agDateColumnFilter'\r\n                    }\r\n                    else if (t === 'set') {\r\n                        o.filter = 'agSetColumnFilter'\r\n                    }\r\n                    else { //其他皆為num\r\n                        o.filter = 'agNumberColumnFilter'\r\n                    }\r\n                }\r\n                else {\r\n                    o.filter = false\r\n                }\r\n\r\n                //floatingFilter, 欄位標題下方的文字過濾輸入區, 因ag-grid 23.1.0已改為由column給予floatingFilter, 若全部column都false, 則標題下方查詢區就會自動清除騰出空間\r\n                o.floatingFilter = vo.kpHeadFilter[key]\r\n\r\n                //suppressMenu\r\n                //o.suppressMenu = true //關閉欄位標題右邊的選單按鈕\r\n\r\n                //filterParams\r\n                o.filterParams = {\r\n                    // caseSensitive: true, //過濾區分大小寫, 會導致數字欄位無法被過濾\r\n                    // applyButton: true, //彈出選單下方可加入使用按鈕\r\n                    // clearButton: true, //彈出選單下方可加入取消按鈕\r\n                    // filterParams: {\r\n                    //     comparator: function(ft, cv) {\r\n                    //         console.log('comparator', ft, cv)\r\n                    //     }\r\n                    // }\r\n                }\r\n                //filter plus, 欄位標題下方加入文字過濾輸入框\r\n                // o.floatingFilterComponentParams = { suppressFilterButton: true }\r\n                o.suppressFloatingFilterButton = true //關閉文字過濾輸入框右邊按鈕, 需suppressFloatingFilterButton=true, 因ag-grid 31.1.0已廢棄floatingFilterComponentParams.suppressFilterButton, 須改用suppressFloatingFilterButton\r\n\r\n                //lockPosition, 若不拖曳而設定欄位lockPosition為true時, 該欄位會強制置左, 故不使用\r\n                //o.lockPosition = !vo.kpHeadDrag[key]\r\n\r\n                //suppressMovable, 指定欄位不能拖曳, 但會被其他欄位拖曳而改變位置\r\n                o.suppressMovable = !vo.kpHeadDrag[key]\r\n\r\n                //resizable\r\n                o.resizable = true\r\n\r\n                //editable\r\n                o.editable = vo.kpCellEditable[key]\r\n\r\n                //row selection\r\n                if (vo.kpHeadCheckBox[key]) {\r\n                    o.headerCheckboxSelection = true\r\n                    o.headerCheckboxSelectionFilteredOnly = true //若有使用過濾filter, 點header的全選全取消核選方塊時, 僅針對過濾的rows來操作\r\n                    o.checkboxSelection = true\r\n                }\r\n\r\n                //cell highlight when focused\r\n                if (!vo.kpHeadFocusHighlight[key]) {\r\n                    o.cellClass = 'no-border'\r\n                }\r\n\r\n                //flex\r\n                // o.flex = 1\r\n\r\n                //funHeadTooltip\r\n                let funHeadTooltip = vo.kpHeadTooltip[key]\r\n\r\n                //header onmouseenter\r\n                let headerMouseenter = ''\r\n                if (isfun(funHeadTooltip)) {\r\n\r\n                    //tooltip\r\n                    let t = funHeadTooltip(vo.kpHead[key], key)\r\n\r\n                    //cstr\r\n                    t = cstr(t)\r\n\r\n                    //kmsg\r\n                    let kmsg = str2md5(t)\r\n\r\n                    //add dtmsg\r\n                    dtmsg[kmsg] = t\r\n\r\n                    //onmouseenter\r\n                    headerMouseenter = `onmouseenter=\"ttWAgGridVue(this,'${kmsg}')\"`\r\n\r\n                }\r\n\r\n                //text-align\r\n                let cTextAlign = vo.kpHeadAlignH[key]\r\n\r\n                //justify-content\r\n                let kpTA2JC = {\r\n                    'left': 'flex-start',\r\n                    'center': 'center',\r\n                    'right': 'flex-end',\r\n                }\r\n                let cJustifyContent = kpTA2JC[cTextAlign]\r\n\r\n                //headTemplate, 基於ref=eText來尋覓與給予head字串, 但會限於純文字而不能給予html\r\n                let headTemplate = `\r\n                    <div class=\"ag-cell-label-container\" role=\"presentation\"\" ${headerMouseenter}>\r\n                        <span ref=\"eMenu\" class=\"ag-header-icon ag-header-cell-menu-button\"></span>\r\n                        <div ref=\"eLabel\" class=\"ag-header-cell-label\" style=\"justify-content:${cJustifyContent};\" role=\"presentation\">\r\n                            <span ref=\"eText\" class=\"ag-header-cell-text\" role=\"columnheader\"></span>\r\n                            <span ref=\"eSortOrder\" class=\"ag-header-icon ag-sort-order ag-hidden\" ></span>\r\n                            <span ref=\"eSortAsc\" class=\"ag-header-icon ag-sort-ascending-icon ag-hidden\" ></span>\r\n                            <span ref=\"eSortDesc\" class=\"ag-header-icon ag-sort-descending-icon ag-hidden\" ></span>\r\n                            <span ref=\"eSortMixed\" class=\"ag-header-icon ag-sort-mixed-icon ag-hidden\"></span>\r\n                            <span ref=\"eSortNone\" class=\"ag-header-icon ag-sort-none-icon ag-hidden\" ></span>\r\n                            <span ref=\"eFilter\" class=\"ag-header-icon ag-filter-icon\"></span>\r\n                        </div>\r\n                    </div>\r\n                `\r\n\r\n                //kpHeadRender\r\n                if (iseobj(vo.kpHeadRender)) {\r\n                    let head = o.headerName\r\n                    if (haskey(vo.kpHeadRender, key)) {\r\n                        let funRender = vo.kpHeadRender[key]\r\n                        if (isfun(funRender)) {\r\n                            head = funRender(o.headerName, key, keys)\r\n                        }\r\n                    }\r\n                    headTemplate = `\r\n                        <div class=\"ag-cell-label-container\" role=\"presentation\"\" ${headerMouseenter}>\r\n                            <span ref=\"eMenu\" class=\"ag-header-icon ag-header-cell-menu-button\"></span>\r\n                            <div ref=\"eLabel\" class=\"ag-header-cell-label\" style=\"justify-content:${cJustifyContent};\" role=\"presentation\">\r\n                                <span class=\"ag-header-cell-text\" role=\"columnheader\">${head}</span>\r\n                                <span ref=\"eSortOrder\" class=\"ag-header-icon ag-sort-order\" ></span>\r\n                                <span ref=\"eSortAsc\" class=\"ag-header-icon ag-sort-ascending-icon\" ></span>\r\n                                <span ref=\"eSortDesc\" class=\"ag-header-icon ag-sort-descending-icon\" ></span>\r\n                                <span ref=\"eSortNone\" class=\"ag-header-icon ag-sort-none-icon\" ></span>\r\n                                <span ref=\"eFilter\" class=\"ag-header-icon ag-filter-icon\"></span>\r\n                            </div>\r\n                        </div>\r\n                    `\r\n                }\r\n\r\n                //複寫header template\r\n                o.headerComponentParams = {\r\n                    template: headTemplate,\r\n                }\r\n\r\n                //funColSpan\r\n                let funColSpan = vo.kpColSpan[key]\r\n\r\n                //colSpan\r\n                if (isfun(funColSpan)) {\r\n                    o.colSpan = function(params) {\r\n                        // console.log('colSpan', params)\r\n\r\n                        //row\r\n                        let row = get(params, 'data', {})\r\n\r\n                        //value\r\n                        let value = get(row, key)\r\n\r\n                        //funColSpan\r\n                        let i = funColSpan(value, key, row, params)\r\n\r\n                        //check\r\n                        if (!isnum(i)) {\r\n                            i = 1\r\n                        }\r\n\r\n                        //cint\r\n                        i = cint(i)\r\n\r\n                        //check\r\n                        if (i < 1) {\r\n                            i = 1\r\n                        }\r\n\r\n                        return i\r\n                    }\r\n                }\r\n\r\n                //funCellTooltip\r\n                let funCellTooltip = vo.kpCellTooltip[key]\r\n\r\n                //funCellRender\r\n                let funCellRender = vo.kpCellRender[key]\r\n\r\n                //cellRenderer\r\n                o.cellRenderer = function(params) {\r\n                    //console.log('cellRenderer', params)\r\n\r\n                    //待加入於編輯cell後可顯示編輯後值的tooltip\r\n                    // console.log('trueRowId', params.node.id, 'trueColKey', params.column.colId)\r\n\r\n                    //funCellTooltip\r\n                    if (isfun(funCellTooltip)) {\r\n\r\n                        //tooltip\r\n                        let t = funCellTooltip(params.value, params.colDef.field, cloneDeep(params.data))\r\n\r\n                        //cstr\r\n                        t = cstr(t)\r\n\r\n                        //kmsg\r\n                        let kmsg = str2md5(t)\r\n\r\n                        //add dtmsg\r\n                        dtmsg[kmsg] = t\r\n\r\n                        //onmouseenter\r\n                        params.eGridCell.setAttribute('onmouseenter', `ttWAgGridVue(this,'${kmsg}')`)\r\n\r\n                    }\r\n\r\n                    //h\r\n                    let h = params.value\r\n\r\n                    //funCellRender\r\n                    if (isfun(funCellRender)) {\r\n                        h = funCellRender(params.value, params.colDef.field, cloneDeep(params.data))\r\n                    }\r\n\r\n                    return h\r\n                }\r\n\r\n                //cellStyle\r\n                let cellStyle = {\r\n                    'text-align': vo.kpCellAlignH[key] //add align\r\n                }\r\n                let funColStyle = vo.kpColStyle[key]\r\n                if (isfun(funColStyle)) {\r\n                    cellStyle = merge(cellStyle, funColStyle()) //add col style\r\n                }\r\n                o.cellStyle = cellStyle\r\n\r\n                //fix\r\n                if (isbol(vo.kpHeadFixLeft[key])) {\r\n\r\n                    //pinned\r\n                    o.pinned = vo.kpHeadFixLeft[key] ? 'left' : ''\r\n\r\n                    // //suppressSizeToFit, true代表禁止欄位被sizeColumnsToFit, 因有pinned也需能resize與自動調整寬度, 故取消此功能\r\n                    // if (vo.kpHeadFixLeft[key]) {\r\n                    //     o.suppressSizeToFit = true\r\n                    // }\r\n\r\n                }\r\n\r\n                //width, 內容物超過width不會自動撐開\r\n                if (isnum(vo.kpHeadWidth[key])) {\r\n                    let w = cdbl(vo.kpHeadWidth[key])\r\n                    o.width = w\r\n                }\r\n\r\n                //minWidth, ag-grid設定minWidth還是會自動被處理調整成寬度, 例如minWidth給150, 實際會依照內容長度轉成width如200, 而內容物超過轉換後的width不會自動撐開\r\n                if (isnum(vo.defHeadMinWidth)) {\r\n                    o.minWidth = vo.defHeadMinWidth\r\n                }\r\n\r\n                //maxWidth\r\n                if (isnum(vo.defHeadMaxWidth)) {\r\n                    o.maxWidth = vo.defHeadMaxWidth\r\n                }\r\n\r\n                //rowDrag\r\n                let rowDrag = false //default\r\n                if (isbol(vo.kpRowDrag[key])) {\r\n                    rowDrag = vo.kpRowDrag[key]\r\n                }\r\n                o.rowDrag = rowDrag\r\n\r\n                //hide\r\n                let hide = false //default\r\n                if (isbol(vo.kpHeadHide[key])) {\r\n                    hide = vo.kpHeadHide[key]\r\n                }\r\n                o.hide = hide\r\n\r\n                return o\r\n            })\r\n\r\n            return cs\r\n        },\r\n\r\n        changeOpt: function() {\r\n            //console.log('methods changeOpt')\r\n\r\n            let vo = this\r\n\r\n            //check\r\n            if (!iseobj(vo.opt)) {\r\n                return\r\n            }\r\n\r\n            //check keys\r\n            let tKeys = get(vo, 'opt.keys')\r\n            if (!isearr(tKeys)) {\r\n                console.log('invalid opt.keys')\r\n                return\r\n            }\r\n\r\n            //check rows\r\n            let tRows = get(vo, 'opt.rows')\r\n            if (!isarr(tRows)) {\r\n                console.log('invalid opt.rows')\r\n                return\r\n            }\r\n\r\n            //setobj\r\n            function setobj(keys, def, kpobj) {\r\n                let o = {}\r\n                each(keys, function(key) {\r\n                    let h = def(key)\r\n                    if (isobj(kpobj)) {\r\n                        if (haskey(kpobj, key)) {\r\n                            h = kpobj[key]\r\n                        }\r\n                    }\r\n                    o[key] = h\r\n                })\r\n                return o\r\n            }\r\n\r\n            //autoFitColumn, ag-grid僅有\r\n            let autoFitColumn = false\r\n            if (isbol(vo.opt.autoFitColumn)) {\r\n                autoFitColumn = vo.opt.autoFitColumn\r\n            }\r\n            vo.autoFitColumn = autoFitColumn\r\n\r\n            //keys\r\n            vo.keys = vo.opt.keys\r\n\r\n            //kpHead\r\n            vo.kpHead = setobj(vo.keys,\r\n                function(key) {\r\n                    return key //預設使用key做head\r\n                },\r\n                vo.opt.kpHead\r\n            )\r\n\r\n            //kpHeadTooltip\r\n            vo.kpHeadTooltip = {}\r\n            if (isobj(vo.opt.kpHeadTooltip)) {\r\n                vo.kpHeadTooltip = vo.opt.kpHeadTooltip\r\n            }\r\n\r\n            //defHeadAlignH\r\n            vo.defHeadAlignH = 'center'\r\n            if (arrHas(vo.opt.defHeadAlignH, ['left', 'center', 'right'])) {\r\n                vo.defHeadAlignH = vo.opt.defHeadAlignH\r\n            }\r\n\r\n            //kpHeadAlignH\r\n            vo.kpHeadAlignH = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadAlignH\r\n                },\r\n                vo.opt.kpHeadAlignH\r\n            )\r\n\r\n            //defHeadSort\r\n            vo.defHeadSort = true\r\n            if (isbol(vo.opt.defHeadSort)) {\r\n                vo.defHeadSort = vo.opt.defHeadSort\r\n            }\r\n\r\n            //kpHeadSort\r\n            vo.kpHeadSort = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadSort\r\n                },\r\n                vo.opt.kpHeadSort\r\n            )\r\n\r\n            //defHeadSortMethod\r\n            vo.defHeadSortMethod = null\r\n            if (isfun(vo.opt.defHeadSortMethod) || isestr(vo.opt.defHeadSortMethod)) {\r\n                vo.defHeadSortMethod = vo.opt.defHeadSortMethod\r\n            }\r\n\r\n            //kpHeadSortMethod\r\n            vo.kpHeadSortMethod = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadSortMethod\r\n                },\r\n                vo.opt.kpHeadSortMethod\r\n            )\r\n\r\n            //kpHeadFixLeft\r\n            vo.kpHeadFixLeft = {}\r\n            if (iseobj(vo.opt.kpHeadFixLeft)) {\r\n                vo.kpHeadFixLeft = vo.opt.kpHeadFixLeft\r\n            }\r\n\r\n            //defHeadFilter\r\n            vo.defHeadFilter = true\r\n            if (isbol(vo.opt.defHeadFilter)) {\r\n                vo.defHeadFilter = vo.opt.defHeadFilter\r\n            }\r\n\r\n            //kpHeadFilter\r\n            vo.kpHeadFilter = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadFilter\r\n                },\r\n                vo.opt.kpHeadFilter\r\n            )\r\n\r\n            //defHeadFilterType\r\n            vo.defHeadFilterType = 'num'\r\n            if (arrHas(vo.opt.defHeadFilterType, ['num', 'text', 'time', 'set'])) {\r\n                vo.defHeadFilterType = vo.opt.defHeadFilterType\r\n            }\r\n\r\n            //kpHeadFilterType\r\n            vo.kpHeadFilterType = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadFilterType\r\n                },\r\n                vo.opt.kpHeadFilterType\r\n            )\r\n\r\n            //kpHeadRender\r\n            vo.kpHeadRender = {}\r\n            if (iseobj(vo.opt.kpHeadRender)) {\r\n                vo.kpHeadRender = vo.opt.kpHeadRender\r\n            }\r\n\r\n            //defHeadDrag\r\n            vo.defHeadDrag = true\r\n            if (isbol(vo.opt.defHeadDrag)) {\r\n                vo.defHeadDrag = vo.opt.defHeadDrag\r\n            }\r\n\r\n            //kpHeadDrag\r\n            vo.kpHeadDrag = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defHeadDrag\r\n                },\r\n                vo.opt.kpHeadDrag\r\n            )\r\n\r\n            //kpHeadCheckBox\r\n            vo.kpHeadCheckBox = setobj(vo.keys,\r\n                function(key) {\r\n                    return false //每個col皆預設false\r\n                },\r\n                vo.opt.kpHeadCheckBox\r\n            )\r\n\r\n            //kpHeadFocusHighlight\r\n            vo.kpHeadFocusHighlight = setobj(vo.keys,\r\n                function(key) {\r\n                    return true //每個col皆預設true\r\n                },\r\n                vo.opt.kpHeadFocusHighlight\r\n            )\r\n\r\n            //kpHeadHide\r\n            vo.kpHeadHide = {}\r\n            if (iseobj(vo.opt.kpHeadHide)) {\r\n                vo.kpHeadHide = vo.opt.kpHeadHide\r\n            }\r\n\r\n            //kpRowStyle\r\n            vo.kpRowStyle = {}\r\n            if (iseobj(vo.opt.kpRowStyle)) {\r\n                vo.kpRowStyle = vo.opt.kpRowStyle\r\n            }\r\n\r\n            //kpRowDrag\r\n            vo.kpRowDrag = {}\r\n            if (iseobj(vo.opt.kpRowDrag)) {\r\n                vo.kpRowDrag = vo.opt.kpRowDrag\r\n            }\r\n\r\n            //genRowsPinnTop\r\n            vo.genRowsPinnTop = null\r\n            if (isfun(vo.opt.genRowsPinnTop)) {\r\n                vo.genRowsPinnTop = vo.opt.genRowsPinnTop\r\n            }\r\n\r\n            //genRowsPinnBottom\r\n            vo.genRowsPinnBottom = null\r\n            if (isfun(vo.opt.genRowsPinnBottom)) {\r\n                vo.genRowsPinnBottom = vo.opt.genRowsPinnBottom\r\n            }\r\n\r\n            //kpColStyle\r\n            vo.kpColStyle = {}\r\n            if (iseobj(vo.opt.kpColStyle)) {\r\n                vo.kpColStyle = vo.opt.kpColStyle\r\n            }\r\n\r\n            //kpColSpan\r\n            vo.kpColSpan = {}\r\n            if (iseobj(vo.opt.kpColSpan)) {\r\n                vo.kpColSpan = vo.opt.kpColSpan\r\n            }\r\n\r\n            //defHeadMinWidth\r\n            vo.defHeadMinWidth = null\r\n            if (isnum(vo.opt.defHeadMinWidth)) {\r\n                vo.defHeadMinWidth = vo.opt.defHeadMinWidth\r\n            }\r\n\r\n            //defHeadMaxWidth\r\n            vo.defHeadMaxWidth = null\r\n            if (isnum(vo.opt.defHeadMaxWidth)) {\r\n                vo.defHeadMaxWidth = vo.opt.defHeadMaxWidth\r\n            }\r\n\r\n            //kpHeadWidth\r\n            vo.kpHeadWidth = {}\r\n            if (iseobj(vo.opt.kpHeadWidth)) {\r\n                vo.kpHeadWidth = vo.opt.kpHeadWidth\r\n            }\r\n\r\n            //kpCellRender\r\n            vo.kpCellRender = {}\r\n            if (iseobj(vo.opt.kpCellRender)) {\r\n                vo.kpCellRender = vo.opt.kpCellRender\r\n            }\r\n\r\n            //kpCellTooltip\r\n            vo.kpCellTooltip = {}\r\n            if (iseobj(vo.opt.kpCellTooltip)) {\r\n                vo.kpCellTooltip = vo.opt.kpCellTooltip\r\n            }\r\n\r\n            //defCellAlignH\r\n            vo.defCellAlignH = 'center'\r\n            if (arrHas(vo.opt.defCellAlignH, ['left', 'center', 'right'])) {\r\n                vo.defCellAlignH = vo.opt.defCellAlignH\r\n            }\r\n\r\n            //kpCellAlignH\r\n            vo.kpCellAlignH = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defCellAlignH\r\n                },\r\n                vo.opt.kpCellAlignH\r\n            )\r\n\r\n            //defCellEditable\r\n            vo.defCellEditable = false\r\n            if (isbol(vo.opt.defCellEditable)) {\r\n                vo.defCellEditable = vo.opt.defCellEditable\r\n            }\r\n\r\n            //kpCellEditable\r\n            vo.kpCellEditable = setobj(vo.keys,\r\n                function(key) {\r\n                    return vo.defCellEditable\r\n                },\r\n                vo.opt.kpCellEditable\r\n            )\r\n\r\n            //tableClickEnable\r\n            vo.tableClickEnable = false\r\n\r\n            //rowsChange\r\n            vo.rowsChange = function() {}\r\n            if (isfun(vo.opt.rowsChange)) {\r\n                vo.rowsChange = vo.opt.rowsChange\r\n            }\r\n\r\n            //rowClick\r\n            vo.rowClick = function() {}\r\n            if (isfun(vo.opt.rowClick)) {\r\n                vo.rowClick = vo.opt.rowClick\r\n                vo.tableClickEnable = true\r\n            }\r\n\r\n            //rowDbClick\r\n            vo.rowDbClick = function() {}\r\n            if (isfun(vo.opt.rowDbClick)) {\r\n                vo.rowDbClick = vo.opt.rowDbClick\r\n                vo.tableClickEnable = true\r\n            }\r\n\r\n            //rowChange\r\n            vo.rowChange = function() {}\r\n            if (isfun(vo.opt.rowChange)) {\r\n                vo.rowChange = vo.opt.rowChange\r\n            }\r\n\r\n            //rowChecked\r\n            vo.rowChecked = function() {}\r\n            if (isfun(vo.opt.rowChecked)) {\r\n                vo.rowChecked = vo.opt.rowChecked\r\n            }\r\n\r\n            //rowMouseEnter\r\n            vo.rowMouseEnter = function() {}\r\n            if (isfun(vo.opt.rowMouseEnter)) {\r\n                vo.rowMouseEnter = vo.opt.rowMouseEnter\r\n            }\r\n\r\n            //rowMouseLeave\r\n            vo.rowMouseLeave = function() {}\r\n            if (isfun(vo.opt.rowMouseLeave)) {\r\n                vo.rowMouseLeave = vo.opt.rowMouseLeave\r\n            }\r\n\r\n            //rowDragEnter\r\n            vo.rowDragEnter = function() {}\r\n            if (isfun(vo.opt.rowDragEnter)) {\r\n                vo.rowDragEnter = vo.opt.rowDragEnter\r\n            }\r\n\r\n            //rowDragEnd\r\n            vo.rowDragEnd = function() {}\r\n            if (isfun(vo.opt.rowDragEnd)) {\r\n                vo.rowDragEnd = vo.opt.rowDragEnd\r\n            }\r\n\r\n            //rowDragMove\r\n            vo.rowDragMove = function() {}\r\n            if (isfun(vo.opt.rowDragMove)) {\r\n                vo.rowDragMove = vo.opt.rowDragMove\r\n            }\r\n\r\n            //rowDragLeave\r\n            vo.rowDragLeave = function() {}\r\n            if (isfun(vo.opt.rowDragLeave)) {\r\n                vo.rowDragLeave = vo.opt.rowDragLeave\r\n            }\r\n\r\n            //rowDragChange\r\n            vo.rowDragChange = function() {}\r\n            if (isfun(vo.opt.rowDragChange)) {\r\n                vo.rowDragChange = vo.opt.rowDragChange\r\n            }\r\n\r\n            //cellClick\r\n            vo.cellClick = function() {}\r\n            if (isfun(vo.opt.cellClick)) {\r\n                vo.cellClick = vo.opt.cellClick\r\n                vo.tableClickEnable = true\r\n            }\r\n\r\n            //cellDbClick\r\n            vo.cellDbClick = function() {}\r\n            if (isfun(vo.opt.cellDbClick)) {\r\n                vo.cellDbClick = vo.opt.cellDbClick\r\n                vo.tableClickEnable = true\r\n            }\r\n\r\n            //cellChange\r\n            vo.cellChange = function() {}\r\n            if (isfun(vo.opt.cellChange)) {\r\n                vo.cellChange = vo.opt.cellChange\r\n            }\r\n\r\n            //cellMouseEnter\r\n            vo.cellMouseEnter = function() {}\r\n            if (isfun(vo.opt.cellMouseEnter)) {\r\n                vo.cellMouseEnter = vo.opt.cellMouseEnter\r\n            }\r\n\r\n            //cellMouseLeave\r\n            vo.cellMouseLeave = function() {}\r\n            if (isfun(vo.opt.cellMouseLeave)) {\r\n                vo.cellMouseLeave = vo.opt.cellMouseLeave\r\n            }\r\n\r\n            //filterChange\r\n            vo.filterChange = function() {}\r\n            if (isfun(vo.opt.filterChange)) {\r\n                vo.filterChange = vo.opt.filterChange\r\n            }\r\n\r\n            //kpConvertKeysWhenUploadData\r\n            vo.kpConvertKeysWhenUploadData = {}\r\n            if (iseobj(vo.opt.kpConvertKeysWhenUploadData)) {\r\n                vo.kpConvertKeysWhenUploadData = vo.opt.kpConvertKeysWhenUploadData\r\n            }\r\n\r\n            //language\r\n            vo.language = 'en' //'en', 'zh-tw', 'zh-cn'\r\n            if (isestr(vo.opt.language)) {\r\n                vo.language = vo.opt.language\r\n            }\r\n\r\n            //columns, 需放在給予rows之前, 避免給予rows沒有column設定\r\n            vo.columns = vo.keys2columns(vo.keys)\r\n\r\n            //rows\r\n            vo.rows = vo.opt.rows\r\n\r\n        },\r\n\r\n        setRowsPinnTop: function(rows) {\r\n            // console.log('methods setRowsPinnTop', rows)\r\n\r\n            let vo = this\r\n\r\n            //check\r\n            if (isfun(vo.genRowsPinnTop)) {\r\n\r\n                //pinnedTopRowData\r\n                let pinnedTopRowData = vo.genRowsPinnTop(rows)\r\n                // console.log('pinnedTopRowData', pinnedTopRowData)\r\n\r\n                //update\r\n                // vo.getApi().setPinnedTopRowData(pinnedBottomRowData)\r\n                vo.getApi().setGridOption('pinnedTopRowData', pinnedTopRowData) //setPinnedTopRowData已統一改為setGridOption('pinnedTopRowData',newValue)\r\n\r\n            }\r\n\r\n        },\r\n\r\n        setRowsPinnBottom: function(rows) {\r\n            // console.log('methods setRowsPinnBottom', rows)\r\n\r\n            let vo = this\r\n\r\n            //check\r\n            if (isfun(vo.genRowsPinnBottom)) {\r\n\r\n                //pinnedBottomRowData\r\n                let pinnedBottomRowData = vo.genRowsPinnBottom(rows)\r\n                // console.log('pinnedBottomRowData', pinnedBottomRowData)\r\n\r\n                //update\r\n                // vo.getApi().setPinnedBottomRowData(pinnedBottomRowData)\r\n                vo.getApi().setGridOption('pinnedBottomRowData', pinnedBottomRowData) //setPinnedBottomRowData已統一改為setGridOption('pinnedBottomRowData',newValue)\r\n\r\n            }\r\n\r\n        },\r\n\r\n        showKeys: function(keys_new) {\r\n            // console.log('methods showKeys', keys_new)\r\n\r\n            let vo = this\r\n\r\n            //keys_old\r\n            let keys_old = cloneDeep(vo.keys)\r\n            // console.log('keys_old', keys_old)\r\n\r\n            //keys_nouse\r\n            let keys_nouse = difference(keys_old, keys_new)\r\n            // console.log('keys_nouse', keys_nouse)\r\n\r\n            //cs\r\n            // let cs = vo.gridOptions.columnApi.getColumnState()\r\n            let cs = vo.getApi().getColumnState() //gridOptions.columnApi已歸入api, 並須通過ref取得\r\n            // console.log('cs', cs)\r\n\r\n            //csn\r\n            let csn = []\r\n            each(keys_new, function(key) {\r\n                let c = find(cs, { 'colId': key })\r\n                c.hide = false\r\n                csn.push(c)\r\n            })\r\n            each(keys_nouse, function(key) {\r\n                let c = find(cs, { 'colId': key })\r\n                c.hide = true //未顯示column改為隱藏\r\n                csn.push(c)\r\n            })\r\n            // console.log('csn', csn)\r\n\r\n            //applyColumnState\r\n            // vo.gridOptions.columnApi.applyColumnState({\r\n            //     state: csn,\r\n            //     applyOrder: true, //要依照csn調整欄位順序\r\n            // })\r\n            vo.getApi().applyColumnState({ //gridOptions.columnApi已歸入api, 並須通過ref取得\r\n                state: csn,\r\n                applyOrder: true, //要依照csn調整欄位順序\r\n            })\r\n\r\n        },\r\n\r\n        getFilters: async function() {\r\n            // console.log('methods getFilters')\r\n\r\n            let vo = this\r\n\r\n            //keys\r\n            let keys = cloneDeep(vo.keys)\r\n            // console.log('keys_old', keys_old)\r\n\r\n            //flts\r\n            let flts = []\r\n            await pmSeries(keys, async (key) => {\r\n\r\n                //md\r\n                let md = null\r\n                try {\r\n\r\n                    //ft\r\n                    // let ft = vo.getApi().getFilterInstance(key)\r\n                    let ft = await vo.getApi().getColumnFilterInstance(key) //ag-grid 31.1.0準備廢棄getFilterInstance, 改用getColumnFilterInstance, 此回傳為promise\r\n                    // console.log(key, 'ft', ft)\r\n\r\n                    //md\r\n                    // md = ft.getModel()\r\n                    md = ft.appliedModel //已改用getColumnFilterInstance, 此時直接用appliedModel為model\r\n                    // console.log(key, 'md', md)\r\n\r\n                }\r\n                catch (err) {\r\n                    console.log(err)\r\n                }\r\n\r\n                //check\r\n                if (iseobj(md)) {\r\n\r\n                    //push\r\n                    flts.push(md)\r\n\r\n                }\r\n\r\n            })\r\n\r\n            return flts\r\n        },\r\n\r\n        clearHeadFilterAll: async function() {\r\n            //console.log('methods clearHeadFilterAll')\r\n\r\n            let vo = this\r\n\r\n            //reset all filters\r\n            vo.getApi().setFilterModel(null)\r\n\r\n            //fire onFilterChanged\r\n            vo.getApi().onFilterChanged()\r\n\r\n        },\r\n\r\n        clearHeadFilter: async function(key) {\r\n            //console.log('methods clearHeadFilter', key)\r\n\r\n            let vo = this\r\n\r\n            //setModel\r\n            // ft.setModel(null)\r\n            await vo.getApi().setColumnFilterModel(key, null) //setModel改為setColumnFilterModel\r\n\r\n            //fire onFilterChanged\r\n            vo.getApi().onFilterChanged()\r\n\r\n        },\r\n\r\n        setHeadFilter: async function(key, value, type = 'contains') {\r\n            //console.log('methods setHeadFilter', key, value, type)\r\n\r\n            let vo = this\r\n\r\n            // let tpsText = [\r\n            //     'empty',\r\n            //     'equals',\r\n            //     'notEqual',\r\n            //     'lessThan',\r\n            //     'lessThanOrEqual',\r\n            //     'greaterThan',\r\n            //     'greaterThanOrEqual',\r\n            //     'inRange',\r\n            //     'contains',\r\n            //     'notContains',\r\n            //     'startsWith',\r\n            //     'endsWith',\r\n            //     'blank',\r\n            //     'notBlank',\r\n            // ]\r\n\r\n            // let tpsNumber = [\r\n            //     'empty',\r\n            //     'equals',\r\n            //     'notEqual',\r\n            //     'lessThan',\r\n            //     'lessThanOrEqual',\r\n            //     'greaterThan',\r\n            //     'greaterThanOrEqual',\r\n            //     'inRange',\r\n            //     'contains',\r\n            //     'notContains',\r\n            //     'startsWith',\r\n            //     'endsWith',\r\n            //     'blank',\r\n            //     'notBlank',\r\n            // ]\r\n\r\n            //m\r\n            let m = {\r\n                type,\r\n                // filter: cstr(value), //ag-grid 23版有修改filter判斷式, 其內使用trim故限定value需為字串\r\n                filter: value, //ag-grid 31.1.0已修復\r\n            }\r\n\r\n            //setModel\r\n            // ft.setModel(m)\r\n            await vo.getApi().setColumnFilterModel(key, m) //setModel改為setColumnFilterModel\r\n\r\n            //fire onFilterChanged\r\n            vo.getApi().onFilterChanged()\r\n\r\n        },\r\n\r\n        getDisplayDataKeys: function() {\r\n            //console.log('methods getDisplayDataKeys')\r\n\r\n            let vo = this\r\n\r\n            //cs\r\n            // let cs = vo.gridOptions.columnApi.getColumnState()\r\n            let cs = vo.getApi().getColumnState() //gridOptions.columnApi已歸入api, 並須通過ref取得\r\n            // console.log('cs', cs)\r\n\r\n            //show keys\r\n            let keys = map(filter(cs, { 'hide': false }), 'colId')\r\n\r\n            return keys\r\n        },\r\n\r\n        getDisplayData: function() {\r\n            //console.log('methods getDisplayData')\r\n\r\n            let vo = this\r\n\r\n            //rs\r\n            let rs = []\r\n            vo.getApi().forEachNodeAfterFilterAndSort((node) => {\r\n                rs.push(cloneDeep(node.data))\r\n            })\r\n\r\n            //show keys\r\n            let keys = vo.getDisplayDataKeys()\r\n\r\n            //ltdtmapping\r\n            let data = ltdtmapping(rs, keys)\r\n\r\n            return data\r\n        },\r\n\r\n        getNowData: function() {\r\n            //console.log('methods getNowData')\r\n\r\n            let vo = this\r\n\r\n            //rs\r\n            let rs = []\r\n            vo.getApi().forEachNode((node) => {\r\n                rs.push(cloneDeep(node.data))\r\n            })\r\n\r\n            //ltdtmapping\r\n            let data = ltdtmapping(rs, vo.keys)\r\n\r\n            return data\r\n        },\r\n\r\n        fitColumns: function(bDebounce = true) {\r\n            // console.log('methods fitColumns', bDebounce)\r\n\r\n            let vo = this\r\n\r\n            //fit\r\n            async function fit(w) {\r\n                // console.log('call fit', w)\r\n                try {\r\n\r\n                    //width\r\n                    vo.width = w\r\n\r\n                    // //delay\r\n                    // await delay(30)\r\n\r\n                    //api\r\n                    let api = vo.getApi()\r\n\r\n                    //sizeColumnsToFit, 有可能於高頻初始化與解構時, 例如切換分頁, 導致可能取不到sizeColumnsToFit\r\n                    let funSizeColumnsToFit = get(api, 'sizeColumnsToFit')\r\n                    if (isfun(funSizeColumnsToFit)) {\r\n                        api.sizeColumnsToFit()\r\n                    }\r\n\r\n                }\r\n                catch (err) {\r\n                    console.log('fitColumns error', err)\r\n                }\r\n            }\r\n\r\n            //core\r\n            async function core() {\r\n                // console.log('call core')\r\n\r\n                //ag-grid 24.1.0已能正常fit至100%, 不會因微小差距而出現水平捲軸, 故關閉先縮小再還原機制, 但縮放第3次時有些欄位header會爆版, 故還是得使用先縮小再還原機制\r\n\r\n                // //先微縮小fit\r\n                // await fit(99.5)\r\n\r\n                // //delay\r\n                // await delay(30) //不能過短, 否則先縮小再還原機制會失效, header會爆版\r\n\r\n                //還原fit, ag-grid 27.3.0已能正常fit至100%\r\n                await fit(100)\r\n\r\n            }\r\n\r\n            //core\r\n            if (bDebounce) {\r\n                vo.dbc(() => {\r\n                    core()\r\n                })\r\n            }\r\n            else {\r\n                core()\r\n            }\r\n\r\n        },\r\n\r\n        downloadDisplayData: function(opt = {}) {\r\n            //console.log('methods downloadDisplayData', opt)\r\n\r\n            let vo = this\r\n\r\n            //spread\r\n            let {\r\n                funGetKeysHook,\r\n                funGetLtdtHook,\r\n                funGetMatHook,\r\n                useHead,\r\n                fileName,\r\n                sheetName,\r\n                pathItems\r\n            } = opt\r\n\r\n            //default useHead\r\n            if (!isbol(useHead)) {\r\n                useHead = false\r\n            }\r\n\r\n            //default fileName\r\n            if (!isestr(fileName)) {\r\n                fileName = 'data.xlsx'\r\n            }\r\n\r\n            //default pathItems\r\n            if (!isearr(pathItems)) {\r\n                pathItems = vo.pathItems\r\n            }\r\n\r\n            //show keys\r\n            let keys = vo.getDisplayDataKeys()\r\n\r\n            //useKeys\r\n            let useKeys = cloneDeep(keys)\r\n            if (isfun(funGetKeysHook)) {\r\n                useKeys = funGetKeysHook(useKeys)\r\n            }\r\n            if (!isearr(useKeys)) {\r\n                useKeys = cloneDeep(keys)\r\n            }\r\n\r\n            //check\r\n            if (!isearr(useKeys)) {\r\n                console.log('invalid useKeys')\r\n                return\r\n            }\r\n\r\n            //data, 僅組件顯示資料\r\n            let data = vo.getDisplayData()\r\n\r\n            //funGetLtdtHook\r\n            if (isfun(funGetLtdtHook)) {\r\n                data = funGetLtdtHook(data)\r\n            }\r\n\r\n            //ltdtkeys2mat\r\n            let mat = ltdtkeys2mat(data, useKeys) //依照funGetKeysHook回傳的keys再次提取數據\r\n\r\n            //heads\r\n            let heads = keys\r\n            if (useHead) {\r\n                heads = map(keys, (v) => {\r\n                    return vo.kpHead[v]\r\n                })\r\n            }\r\n\r\n            //concat\r\n            mat = concat([heads], mat)\r\n\r\n            //funGetMatHook\r\n            if (isfun(funGetMatHook)) {\r\n                mat = funGetMatHook(mat)\r\n            }\r\n\r\n            //downloadExcelFileFromDataDyn\r\n            downloadExcelFileFromDataDyn(fileName, sheetName, mat, pathItems)\r\n                .catch((err) => {\r\n                    console.log(err)\r\n                })\r\n\r\n            return mat\r\n        },\r\n\r\n        downloadData: function(opt = {}) {\r\n            //console.log('methods downloadData', opt)\r\n\r\n            let vo = this\r\n\r\n            //spread\r\n            let {\r\n                funGetKeysHook,\r\n                funGetLtdtHook,\r\n                funGetMatHook,\r\n                useHead,\r\n                fileName,\r\n                sheetName,\r\n                pathItems\r\n            } = opt\r\n\r\n            //default useHead\r\n            if (!isbol(useHead)) {\r\n                useHead = false\r\n            }\r\n\r\n            //default fileName\r\n            if (!isestr(fileName)) {\r\n                fileName = 'data.xlsx'\r\n            }\r\n\r\n            //default pathItems\r\n            if (!isearr(pathItems)) {\r\n                pathItems = vo.pathItems\r\n            }\r\n\r\n            //keys\r\n            let keys = vo.keys\r\n\r\n            //useKeys\r\n            let useKeys = cloneDeep(keys)\r\n            if (isfun(funGetKeysHook)) {\r\n                useKeys = funGetKeysHook(useKeys) //依照funGetKeysHook回傳的keys再次提取數據\r\n            }\r\n            if (!isearr(useKeys)) {\r\n                useKeys = cloneDeep(keys)\r\n            }\r\n\r\n            //check\r\n            if (!isearr(useKeys)) {\r\n                console.log('invalid useKeys')\r\n                return\r\n            }\r\n\r\n            //ltdtmapping\r\n            let data = ltdtmapping(vo.rows, useKeys)\r\n\r\n            //funGetLtdtHook\r\n            if (isfun(funGetLtdtHook)) {\r\n                data = funGetLtdtHook(data)\r\n            }\r\n\r\n            //ltdtkeys2mat\r\n            let mat = ltdtkeys2mat(data, useKeys)\r\n\r\n            //heads\r\n            let heads = useKeys\r\n            if (useHead) {\r\n                heads = map(useKeys, (v) => {\r\n                    return vo.kpHead[v]\r\n                })\r\n            }\r\n\r\n            //concat\r\n            mat = concat([heads], mat)\r\n\r\n            //funGetMatHook\r\n            if (isfun(funGetMatHook)) {\r\n                mat = funGetMatHook(mat)\r\n            }\r\n\r\n            //downloadExcelFileFromDataDyn\r\n            downloadExcelFileFromDataDyn(fileName, sheetName, mat, pathItems)\r\n                .catch((err) => {\r\n                    console.log(err)\r\n                })\r\n\r\n            return mat\r\n        },\r\n\r\n        uploadData: async function(opt = {}) {\r\n            //console.log('methods uploadData', opt)\r\n\r\n            let vo = this\r\n\r\n            //params\r\n            let { pathItems = null, beforeUpload = null, parseSheetInd = 0, uploadMode = 'replace' } = opt\r\n\r\n            //parseSheetInd\r\n            if (!isp0int(parseSheetInd)) {\r\n                parseSheetInd = 0\r\n            }\r\n            parseSheetInd = cint(parseSheetInd)\r\n            // console.log('parseSheetInd', parseSheetInd)\r\n\r\n            //pathItems\r\n            if (!isearr(pathItems)) {\r\n                pathItems = vo.pathItems\r\n            }\r\n\r\n            //domShowInputAndGetFilesU8Arrs\r\n            let d = await domShowInputAndGetFilesU8Arrs()\r\n            // console.log('d', d)\r\n\r\n            //取第一個檔案\r\n            let file = d[0]\r\n\r\n            //getDataFromExcelFileU8ArrDyn\r\n            let r = await getDataFromExcelFileU8ArrDyn(file.u8a, 'ltdt', false, pathItems)\r\n\r\n            //sh\r\n            let sh = null\r\n            try {\r\n                sh = r[parseSheetInd] //取第parseSheetInd個sheet\r\n            }\r\n            catch (err) {\r\n                return Promise.reject({\r\n                    msg: 'invalid parseSheetInd',\r\n                    err,\r\n                })\r\n            }\r\n            // console.log('data', sh.data)\r\n\r\n            //rows\r\n            let rows = []\r\n            try {\r\n                rows = sh.data\r\n            }\r\n            catch (err) {\r\n                return Promise.reject({\r\n                    msg: 'can not get data from sheet',\r\n                    err,\r\n                })\r\n            }\r\n\r\n            //kpConvertKeysWhenUploadData\r\n            if (iseobj(vo.kpConvertKeysWhenUploadData)) {\r\n                rows = map(rows, (row) => {\r\n                    let t = {}\r\n                    each(row, (v, k) => {\r\n                        let rk = k\r\n                        let rv = v\r\n                        if (haskey(vo.kpConvertKeysWhenUploadData, k)) {\r\n                            rk = vo.kpConvertKeysWhenUploadData[k]\r\n                        }\r\n                        t[rk] = rv\r\n                    })\r\n                    return t\r\n                })\r\n            }\r\n\r\n            //beforeUpload\r\n            if (isfun(beforeUpload)) {\r\n                let r = beforeUpload(rows)\r\n                if (ispm(r)) {\r\n                    rows = await r\r\n                }\r\n                else {\r\n                    rows = r\r\n                }\r\n            }\r\n\r\n            //ltdtmapping\r\n            rows = ltdtmapping(rows, vo.keys)\r\n\r\n            //uploadMode\r\n            if (uploadMode === 'replace') {\r\n                // rows=rows\r\n            }\r\n            else if (uploadMode === 'append') {\r\n\r\n                //rowsTemp\r\n                let rowsTemp = get(vo, 'opt.rows', [])\r\n                rowsTemp = cloneDeep(rowsTemp)\r\n\r\n                //push\r\n                each(rows, (v) => {\r\n                    rowsTemp.push(v)\r\n                })\r\n\r\n                //save\r\n                rows = rowsTemp\r\n\r\n                // //setTimeout, 變更數據後頁面會先渲染, delay後才能調捲軸, 否則太快執行會被頁面渲染蓋掉\r\n                // setTimeout(() => {\r\n\r\n                //     //getGridOptions\r\n                //     let o = vo.getGridOptions()\r\n\r\n                //     //ensureIndexVisible, scrollTo(index)\r\n                //     o.api.ensureIndexVisible(size(rowsTemp) - 1, 'bottom') //捲到最下\r\n\r\n                // }, 1)\r\n\r\n            }\r\n\r\n            //需使用set強制更新外部opt物件的rows並再同步更新至內部rows, 否則外面數據會沒更動\r\n            set(vo, `opt.rows`, rows)\r\n\r\n            //rowsChange, rows是內部已更新數據, 直接用於回傳函數\r\n            vo.rowsChange(rows)\r\n\r\n            return rows\r\n        },\r\n\r\n        triggerFilterChange: async function(from) {\r\n            //console.log('methods triggerFilterChange', from)\r\n\r\n            let vo = this\r\n\r\n            //filterall\r\n            let filterall = vo.filterall\r\n\r\n            //flts\r\n            let flts = await vo.getFilters()\r\n\r\n            //isFilter\r\n            let isFilter = isestr(filterall) || size(flts) > 0\r\n\r\n            //filterChange\r\n            vo.filterChange({\r\n                from,\r\n                filterall,\r\n                flts,\r\n                isFilter,\r\n                // ev,\r\n            })\r\n\r\n        },\r\n\r\n    },\r\n}\r\n<\/script>\r\n\r\n<style>\r\n.CompCssWAgGridVue .ag-theme-balham, .ag-header {\r\n    font-family: inherit;\r\n}\r\n.CompCssWAgGridVue .ag-theme-balham .ag-header {\r\n    font-family: inherit;\r\n}\r\n.CompCssWAgGridVue .ag-header-cell .ag-input-field-input, .ag-filter .ag-input-field-input {\r\n    transition: all 0.5s;\r\n    padding: 3px 8px;\r\n    box-shadow: inherit !important;\r\n    background-color: #fff;\r\n    border: 1px solid #ccc;\r\n    border-radius: 5px;\r\n}\r\n.CompCssWAgGridVue .ag-input-field-input:focus {\r\n    border: 1px solid #777;\r\n}\r\n.CompCssWAgGridVue .no-border.ag-cell:focus{\r\n  border-color: transparent !important;\r\n  outline: none;\r\n}\r\n</style>\r\n"]},media:void 0})}),Lc,undefined,false,undefined,!1,Sc,void 0,void 0)}));
//# sourceMappingURL=w-aggrid-vue.umd.js.map